Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 1012 Bytes

temploadAudio.md

File metadata and controls

30 lines (21 loc) · 1012 Bytes

export async function processAudio(file: File): Promise { const ffmpeg = new FFmpeg(); await ffmpeg.load();

// Load the input audio file into FFmpeg's virtual filesystem ffmpeg.writeFile("input", await fetchFile(inputFilePath));

// Run FFmpeg to convert the audio to 16kHz mono WAV await ffmpeg.exec(["-i", "input", "-ar", "16000", "-ac", "1", "output.wav"]);

// Retrieve the converted audio from FFmpeg's virtual filesystem const output = await ffmpeg.readFile("output.wav");

// Decode the WAV file in memory to a Float32Array const decoded = await wav.decode(Buffer.from(output));

return decoded.channelData[0]; // Return the first channel as Float32Array }

async function main() { const audioData = await processAudio( "~/desktop/Neil deGrasse Tyson Teaches Scientific Thinking and Communication Official Trailer MasterClass.mp3" ); console.log("Processed audio data:", audioData); // Pass audioData to whisper-turbo }

main().catch(console.error);