From 63496d05a2f78b061f6d848fd00ece223acd7514 Mon Sep 17 00:00:00 2001 From: kcfancher Date: Sat, 28 Mar 2026 14:06:40 -0400 Subject: Fix transcription sample-rate handling (#740) Fix for #703. Adds an optional sampleRate parameter to the decodeAudioToFloat32() function. The caption transcriber passes in a value of 16000 to prepare audio in the format Whisper expects. --- apps/web/src/lib/media/audio.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'apps/web/src/lib/media') diff --git a/apps/web/src/lib/media/audio.ts b/apps/web/src/lib/media/audio.ts index 6f789301..e96f158b 100644 --- a/apps/web/src/lib/media/audio.ts +++ b/apps/web/src/lib/media/audio.ts @@ -34,10 +34,12 @@ export interface DecodedAudio { export async function decodeAudioToFloat32({ audioBlob, + sampleRate, }: { audioBlob: Blob; + sampleRate?: number; }): Promise { - const audioContext = createAudioContext(); + const audioContext = createAudioContext({ sampleRate }); const arrayBuffer = await audioBlob.arrayBuffer(); const audioBuffer = await audioContext.decodeAudioData(arrayBuffer); -- cgit v1.3.1