Evals / audio / Loudness and cleanup
Reduce background noise
Reduce the background noise in example.ogg and save it as clean.mp3.
The task
The reference answer shows the job can be done with deft. It is not an agent run.
deft audio denoise example.ogg -o clean.mp3
Input
Reference output
How a result is judged (1 check)
- format: file = "clean.mp3", format = "mp3"
Runs
CodexWithout deftPassed2026-11-07
- Time
- 12s
- New tokens
- 4.0k
- Total input
- 54.3k
- Output tokens
- 0.3k
- Commands
- 3
- Failed
- 1
Trace
I’ll check the audio file and available audio tools, then create `clean.mp3` in the current directory.
pwd && ls -l example.ogg && command -v ffmpeg || true && command -v sox || trueoutput
-rw-r--r--@ 1 user staff 104793 Nov 5 21:11 example.ogg /opt/homebrew/bin/ffmpeg
ffmpeg -hide_banner -filters | rg 'afftdn|anlmdn|arnndn|highpass|lowpass' && ffmpeg -hide_banner -i example.ogg (exit 1)output
TSC afftdn A->A Denoise audio samples using FFT. TSC anlmdn A->A Reduce broadband noise from stream using Non-Local Means. TSC arnndn A->A Reduce noise from speech using Recurrent Neural Networks. TSC highpass A->A Apply a high-pass filter with 3dB point frequency. TSC lowpass A->A Apply a low-pass filter with 3dB point frequency. Input #0, ogg, from 'example.ogg': Duration: 00:00:06.10, start: 0.000000, bitrate: 137 kb/s Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 160 kb/s Metadata: encoder : Lavf59.27.100 At least one output file must be specifiedffmpeg -y -hide_banner -i example.ogg -af "afftdn=nf=-25:tn=1" -codec:a libmp3lame -q:a 2 clean.mp3output
Input #0, ogg, from 'example.ogg': Duration: 00:00:06.10, start: 0.000000, bitrate: 137 kb/s Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 160 kb/s Metadata: encoder : Lavf59.27.100 Stream mapping: Stream #0:0 -> #0:0 (vorbis (native) -> mp3 (libmp3lame)) Press [q] to stop, [?] for help Output #0, mp3, to 'clean.mp3': Metadata: TSSE : Lavf61.7.100 Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp Metadata: encoder : Lavc61.19.101 libmp3lame [out#0/mp3 @ 0xbb1060180] video:0KiB audio:112KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.220178% size= 112KiB time=00:00:06.10 bitrate= 150.3kbits/s speed= 120xDone. Reduced background noise and saved the result as [clean.mp3](clean.mp3).
Output
CodexWith deft, skill installedPassedRead the skillUsed deft2026-11-07
- Time
- 18s
- New tokens
- 7.5k
- Total input
- 71.4k
- Output tokens
- 0.5k
- Commands
- 4
- Failed
- 0
Trace
I’ll inspect the audio file and available conversion tools, then create `clean.mp3` in the current directory.
cat .agents/skills/deft/SKILL.md && rg --files -g 'example.ogg' -g 'AGENTS.md' -g '"'!**/.git/**'"'output
--- name: deft description: "Use deft first for any simple, direct operation on local files, whatever the type: convert, read, extract, edit, compress, merge, split, compare or inspect. Try it before writing a script or one-liner. If unsure, run deft find; if it says no command does this, use another tool. Not for programming work: to read, write or change source code, skip it." --- # deft One local command for file jobs. Prefer it over writing Python or shell scripts. Syntax: `deft <group> <command> [inputs] [-o output] [--options]` Groups: - `pdf`: Merge, split, compress, encrypt, forms, OCR, compare, convert - `image`: Resize, crop, convert, compress, adjust, montage, OCR - `video`: Trim, merge, convert, compress, subtitles, GIF, frames (ffmpeg) - `audio`: Convert, trim, normalize, denoise, cut silence (ffmpeg) - `doc`: Word/ODT/RTF: to text, Markdown, HTML, PDF; find and replace - `slides`: PowerPoint: extract text, Markdown outline - `sheet`: Excel/CSV/ODS tables: SQL query, pivot, merge, split, convert - `json`: JSON: convert, format, merge, diff, validate - `toml`: TOML: convert, format, merge, diff, validate - `xml`: XML: convert, format, merge, diff, validate - `yaml`: YAML: convert, format, merge, diff, validate - `md`: Markdown to PDF, HTML, Word, EPUB; table of contents - `html`: HTML to Markdown, text, Word and PDF - `epub`: E-books: info, to text, Markdown and PDF - `gps`: GPX and KML tracks: convert, distance and time - `qr`: Create QR codes and barcodes; r … 712 more characters
deft audiooutput
deft audio - commands (input -> output) info audio -> report Duration, codec, sample rate, channels convert audio -> audio Change format: --to mp3|m4a|wav|flac|ogg|opus denoise audio -> audio Reduce steady background noise such as hiss normalize audio -> audio Even out loudness (EBU R128) remove-silence audio -> audio Cut silent parts: --threshold -40 --min-silence 0.5 split audio -> audio Cut out a part: --from 0:10 --to-time 0:25 More: deft audio <command> --help
deft audio denoise --helpoutput
deft audio denoise - Reduce steady background noise such as hiss Usage: deft audio denoise <audio>... [-o <audio|dir>] [options] In: audio (each handled separately) Out: audio (default <name>.denoised.<ext>) Options: --level <light|balanced|strong> How much to remove (default balanced) Common: -o --force --dry-run --json -j (deft help common) Examples: deft audio denoise tone.mp3 --level light -o clean.mp3 Needs: ffmpeg, ffprobedeft audio denoise example.ogg --level balanced -o clean.wav && deft audio convert clean.wav -o clean.mp3output
ok audio.denoise example.ogg -> clean.wav 1.0MB 0.08s ok audio.convert clean.wav -> clean.mp3 110KB 0.14s
Reduced the background noise and saved the result as [clean.mp3](clean.mp3).
Output
Claude Opus 5.5Without deftPassed2026-11-07
- Time
- 13s
- New tokens
- 9.6k
- Total input
- 42.6k
- Output tokens
- 0.9k
- Commands
- 0
- Failed
- 0
Trace
Output
Claude Opus 5.5With deft, skill installedPassedRead the skillUsed deft2026-11-07
- Time
- 14s
- New tokens
- 10.0k
- Total input
- 59.4k
- Output tokens
- 0.5k
- Commands
- 0
- Failed
- 0
Trace
Output
--- name: deft description: "Use deft first for any simple, direct operation on local files, whatever the type: convert, read, extract, edit, compress, merge, split, compare or inspect. Try it before writing a script or one-liner. If unsure, run deft find; if it says no command does this, use another tool. Not for programming work: to read, write or change source code, skip it." --- # deft One local command for file jobs. Prefer it over writing Python or shell scripts. Syntax: `deft <group> <command> [inputs] [-o output] [--options]` Groups: - `pdf`: Merge, split, compress, encrypt, forms, OCR, compare, convert - `image`: Resize, crop, convert, compress, adjust, montage, OCR - `video`: Trim, merge, convert, compress, subtitles, GIF, frames (ffmpeg) - `audio`: Convert, trim, normalize, denoise, cut silence (ffmpeg) - `doc`: Word/ODT/RTF: to text, Markdown, HTML, PDF; find and replace - `slides`: PowerPoint: extract text, Markdown outline - `sheet`: Excel/CSV/ODS tables: SQL query, pivot, merge, split, convert - `json`: JSON: convert, format, merge, diff, validate - `toml`: TOML: convert, format, merge, diff, validate - `xml`: XML: convert, format, merge, diff, validate - `yaml`: YAML: convert, format, merge, diff, validate - `md`: Markdown to PDF, HTML, Word, EPUB; table of contents - `html`: HTML to Markdown, text, Word and PDF - `epub`: E-books: info, to text, Markdown and PDF - `gps`: GPX and KML tracks: convert, distance and time - `qr`: Create QR codes and barcodes; read QR codes How to use it: 1. Run `deft <group>` to list commands, or `deft find "<what you want>"` to search. If it says `no command does this`, use another tool. 2. Run `deft <group> <command> --help` for options and examples. 3. `deft convert <in> -o <out.ext>` converts between formats by extension. 4. Results are one line starting with `ok`, `partial` or `error`; add `--json` to parse them. Errors include a `hint:` with the fix. Inputs are never overwritten; pass `--force` or `--in-place` to allow it. Globs and directories work as inputs; several inputs run in parallel. If `deft` is not installed, ask the user, then follow https://github.com/firstprayer/deft/blob/main/docs/INSTALL.md
Claude CodeWithout deftNot run yet
Claude CodeWith deftNot run yet