ferraus analyze similarity

Spectral, cepstral, and loudness similarity between two files

Synopsis

ferraus analyze similarity <inputs...> [options] [-o <output>]

What it does

For agents checking whether a processed take drifted from the original: cosine similarity of the log third-octave spectra, MFCC distance, and loudness difference combined into a 0..1 score.

Examples

Score near 1 means the character is unchanged

ferraus analyze similarity original.wav processed.wav --json

Check that mastering kept the character of the mix

ferraus analyze similarity mix.wav master.wav --json

Compare two takes of the same part

ferraus analyze similarity take1.wav take2.wav

Global options

Every command also accepts the global options (-o, --json, --dry-run, --overwrite, --progress, ...). See Global options.

Exit codes

CodeMeaning
0Success
1Processing failed
2Usage or parameter error
3Input missing or unreadable
4Unsupported format or codec
8Cancelled
70Internal error (bug)

Common mistakes

  • Forgetting that outputs are never overwritten: pass --overwrite or a new -o path when re-running.

For models

  • MCP tool: ferraus_analyze_similarity
  • Schema: ferraus schema analyze similarity
  • Pipeline: { op: analyze similarity, args: { ... } } (flag names with _ instead of -)
  • fx stage: no
{"command": "analyze similarity", "defaults": {}}