Convert audio to Opus

“Walkie” (a voice messaging app like Voxer) needs audio messages to be tiny — users are on mobile data and messages should load instantly.

Opus is the best lossy codec for speech and general audio. It produces smaller files than MP3 or AAC at the same quality.

API

ittybit audio \
  -i https://walkie-app.com/messages/msg-1234.wav \
  --format opus \
  --quality medium \
  --cloud
const task = {
  input: "https://walkie-app.com/messages/msg-1234.wav",
  kind: "audio",
  options: {
    format: "opus",
    quality: "medium",
  },
};

const res = await fetch("https://api.ittybit.com/tasks", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ITTYBIT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify(task),
});
const data = await res.json();
import requests

task = {
    "input": "https://walkie-app.com/messages/msg-1234.wav",
    "kind": "audio",
    "options": {
        "format": "opus",
        "quality": "medium",
    },
}

res = requests.post(
    "https://api.ittybit.com/tasks",
    headers={"Authorization": f"Bearer {api_key}"},
    json=task,
)
data = res.json()
TASK='{
  "input": "https://walkie-app.com/messages/msg-1234.wav",
  "kind": "audio",
  "options": {
    "format": "opus",
    "quality": "medium"
  }
}'

curl -X POST https://api.ittybit.com/tasks \
  -H "Authorization: Bearer $ITTYBIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d "$TASK"

CLI

ittybit audio \
  -i msg-1234.wav \
  -o msg-1234.opus \
  --quality medium

Why Opus

FormatRelative size at similar qualityBest for
wav100%Uncompressed master
mp3~10%Legacy compatibility
aac~8%Apple ecosystem
opus~6%Modern apps, web, voice

Opus at medium quality is roughly 40% smaller than MP3 at the same perceptual quality. For voice messages, low is often sufficient.

Voice messages

For short voice messages, low quality Opus is barely distinguishable from high and uses minimal bandwidth:

ittybit audio \
  -i recording.wav \
  -o message.opus \
  --quality low

From video calls

Extract voice audio from a video recording:

ittybit audio \
  -i call.mp4 \
  -o call.opus \
  --quality medium