Skip to content

Audio

Mix, normalize, apply effects, and extract audio tracks.

Quick example

typescript
import { ffmpeg } from "ffmpeg-kit";

await ffmpeg.audio()
  .input("podcast.wav")
  .normalize({ targetLUFS: -16 })
  .fadeIn(1)
  .fadeOut(2)
  .output("normalized.wav")
  .execute();

API

.input(path)

Input file path. Required.

.normalize(options)

EBU R128 loudness normalization.

ParameterTypeDefaultDescription
targetLUFSnumber-16Target integrated loudness in LUFS
targetTPnumber-1.5Max true peak in dBTP
targetLRAnumber7Max loudness range in LU

.fadeIn(duration) / .fadeOut(duration)

Audio fade in/out.

ParameterTypeDescription
durationnumberFade duration in seconds

.extractAudio(options)

Extract audio from a video file to a standalone audio file.

ParameterTypeDefaultDescription
codecstring"aac"Output audio codec
bitratestring"192k"Audio bitrate

.resample(options)

ParameterTypeDescription
sampleRatenumberTarget sample rate in Hz (e.g., 44100, 48000)

.channels(n)

Set output channel count. 1 = mono, 2 = stereo, 6 = 5.1.

.trim(options)

ParameterTypeDescription
startnumberStart time in seconds
endnumberEnd time in seconds

.output(path)

Output file path. Required.

Examples

Normalize podcast audio

typescript
await ffmpeg.audio()
  .input("raw-podcast.wav")
  .normalize({ targetLUFS: -16 })
  .fadeIn(0.5)
  .fadeOut(1)
  .resample({ sampleRate: 44100 })
  .output("final-podcast.mp3")
  .execute();

Extract audio from video

typescript
await ffmpeg.audio()
  .input("video.mp4")
  .extractAudio({ codec: "aac", bitrate: "192k" })
  .output("audio.aac")
  .execute();

Convert to mono and resample

typescript
await ffmpeg.audio()
  .input("stereo.wav")
  .channels(1)
  .resample({ sampleRate: 16000 })
  .output("mono-16k.wav")
  .execute();

Result type

typescript
interface AudioResult {
  outputPath: string;
  duration: number;
  sampleRate: number;
  channels: number;
  size: number;
  probeResult: ProbeResult;
  // For normalize operations:
  inputLUFS?: number;
  outputLUFS?: number;
}

Released under the MIT License.