Resample audio to 16kHz
For using Whisper, Whisper.cpp, @remotion/install-whisper-cpp and Whisper.wasm, you need to provide a 16-bit, 16KHz, WAVE audio file.
This page describes approaches for converting your audio in the browser and on the server.
In the browser​
You can use convertMedia() to convert any of the supported video and audio formats and resample it to 16kHz.
💼 Important @remotion/webcodecs License Disclaimer
This package is licensed under the Remotion License.
We consider a team of 4 or more people a "company".
We consider a team of 4 or more people a "company".
For "companies": A Remotion Company license needs to be obtained to use this package.
In a future version of
In a future version of
@remotion/webcodecs, this package will also require the purchase of a newly created "WebCodecs Conversion Seat". Get in touch with us if you are planning to use this package.For individuals and teams up to 3: You can use this package for free.
This is a short, non-binding explanation of our license. See the License itself for more details.
import {convertMedia , canReencodeAudioTrack } from '@remotion/webcodecs';
const output = await convertMedia ({
src : 'https://example.com/input.mp4',
container : 'wav',
onAudioTrack : async ({track }) => {
if (
await canReencodeAudioTrack ({
audioCodec : 'wav',
track ,
// Ignore this, bitrate is not used for WAV files
bitrate : 128000,
sampleRate : 16000,
})
) {
return {
type : 'reencode',
audioCodec : 'wav',
bitrate : 128000,
sampleRate : 16000,
};
}
// If this conversion is not supported, return an error
return {
type : 'fail',
};
},
});
const blob = await output .save (); // returns a `Blob`On the server​
You can use ffmpeg to convert your audio to a 16-bit, 16KHz, WAVE file.
ffmpeg -i /path/to/audio.mp4 -ar 16000 /path/to/audio.wav -yIf you don't want to install FFmpeg, you can also use the smaller FFmpeg binary provided by Remotion.
npx remotion ffmpeg -i input.mp4 -ar 16000 output.wav -y