Sound

Audio compressor for voice

Even out a voice, so quiet words and loud words sit at one level. The defaults suit speech.

Shown on A narration from LibriVox

Before · the same request without it
After · Even out a voice so quiet words and loud words sit at one level.
Transcript

High above the city, on a tall column, stood the statue of the Happy Prince. He was gilded all over with thin leaves of fine gold.

The entry

Add it to a clip's effects list. Entries run in the order you write them.

{
"type": "compressor",
"threshold": -28,
"ratio": 8,
"makeup": 11
}

Settings

NameAcceptsDefaultWhat it does
threshold-30 to 0 dB-22The level above which it starts to turn the sound down, in decibels.
ratio1 to 204How hard it turns down what is over the threshold. 2 to 4 is natural on speech, above 10 is a limiter.
makeup0 to 24 dB9Gain added back afterwards, in decibels, so the evened-out sound is as loud as before.

Run it

The whole request behind the render above. Paste it as it is, or swap the file for your own.

job.ts
import { createClient, outputUrl } from "@rendobar/sdk";
const rb = createClient({ apiKey: process.env.RENDOBAR_API_KEY });
const job = await rb.jobs.run({
type: "compose",
params: {
schemaVersion: 1,
output: {
format: "mp3"
},
timeline: {
tracks: [
{
clips: [
{
asset: {
type: "audio",
src: "https://cdn.rendobar.com/compose/showcase/media/narration.wav"
},
start: 0,
effects: [
{
type: "compressor",
threshold: -28,
ratio: 8,
makeup: 11
}
]
}
]
}
]
}
},
});
console.log(outputUrl(job));

Install with npm i @rendobar/sdk. jobs.run() submits and waits, so it returns the finished job in one call.

terminal
curl https://api.rendobar.com/jobs \
-H "Authorization: Bearer $RENDOBAR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"type":"compose","params":{"schemaVersion":1,"output":{"format":"mp3"},"timeline":{"tracks":[{"clips":[{"asset":{"type":"audio","src":"https://cdn.rendobar.com/compose/showcase/media/narration.wav"},"start":0,"effects":[{"type":"compressor","threshold":-28,"ratio":8,"makeup":11}]}]}]}}}'

Returns immediately with a job id. Poll GET /jobs/{id} or register a webhook rather than blocking on the request.

Questions

What does the compressor effect do in compose?

Even out a voice, so quiet words and loud words sit at one level. The defaults suit speech. Even out a voice so quiet words and loud words sit at one level.

How do I add compressor to a video with an API?

Send a compose job to the Rendobar API with this entry in the timeline: {"type":"compressor","threshold":-28,"ratio":8,"makeup":11}. Add it to a clip's effects list. Entries run in the order you write them. The request on this page is complete and renders as shown.

What are the default settings for compressor?

Every setting has a default, so the type on its own is enough: threshold -22, ratio 4, and makeup 9. Set only the ones you want to change.

Footage and sound