# MOVIE REF1 · v4 sound-alike: similarity report (MUSIC, 28 Oct)

Files (local only, never synced): `/Volumes/Workspace/Scratch/movie/ref1hd/our_score_v4a_piano.wav|.mp3`, `our_score_v4b_voice.wav|.mp3`. Compare image: `/Volumes/Workspace/Scratch/movie/ref1hd/score_compare_v4.png`. Generator: `/Volumes/Workspace/Scratch/movie/score_tools/v2/render_v4.py`; this report: `similarity.py`.

**Honest note:** no tool can certify "copyright-free". These numbers measure distance from the reference cue; they are not a legal clearance.

## What v4 keeps and what it replaces

- **Kept (the unprotected layer, identical to v2 / v3a):** 108 BPM grid, 15.0 s, the structure (entry, half-time pulse, climb, 8th build, the hit on 8.92, the decay, the bass out at 11.72, the hold). Also every drum onset in the low and high bands, the bass motion C → Bb → (faint Ab/C), the i – bVII – bVI progression (Cm → Bb → Ab/C, a stock Aeolian move, so it stays), the dynamics, the loudness and the mix.
- **Replaced (the protectable layer):** the lead melody, composed new. The original hook circles G5 → F5 → E5 → Eb5 and glides back to G5 (peak G5, landing Eb5). The v4 hook rises C5 → Eb5 → F5 → **Ab5** and falls through G5 to **D5** (or C5). The climb holds F5 at the hand (original: D5). The gliss into the hit ends on Bb5 (original: G5), and the lament falls Bb5 → A5 → F5 → C5 → D5 → Bb4. The hold sighs Eb5 → C5 → Bb4 → C5 … G4 (original: C5 ↔ D5 ↔ Eb5 neighbour tones).
- **Leak guards:**
  - transcribed pad notes at or above C5 are dropped (47 notes; some were held melody notes), replaced by plain chord-tone pads;
  - mid-band "drum" onsets within 40 ms of an original melody onset are dropped (27);
  - the band-envelope match is smoothed over about 1 s, so no note rhythm of the original carries over.
- **Rules check (score data):** the longest shared interval run with the transcription is 3 intervals (rule: < 4). No interval 4-gram or 5-gram is shared, so no phrase is a transposition of an original phrase.

## Melody metrics (lower = further from the reference tune)

Reference = the lead transcribed from the reference audio (the same tracker and note segmentation are used for every track). "score" = from the score data; "audio" = re-tracked from the rendered file.

| metric | v1 (our original) | v2 (cover) | v4a piano | v4b voice |
|---|---|---|---|---|
| interval 3-gram overlap % (score) | 9.5 | 100.0 | 4.5 | 4.5 |
| interval 4-gram overlap % (score) | 0.0 | 100.0 | 0.0 | 0.0 |
| interval 5-gram overlap % (score) | 0.0 | 100.0 | 0.0 | 0.0 |
| longest shared interval run (score) | 3 | 61 | 3 | 3 |
| pitch-class histogram cosine (score) | 0.885 | 1.0 | 0.87 | 0.87 |
| interval 3-gram overlap % (audio) | 11.5 | 62.5 | 2.1 | 5.7 |
| interval 4-gram overlap % (audio) | 0.0 | 43.6 | 0.0 | 0.0 |
| interval 5-gram overlap % (audio) | 0.0 | 31.5 | 0.0 | 0.0 |
| longest shared interval run (audio) | 3 | 9 | 3 | 3 |
| pitch-class histogram cosine (audio) | 0.869 | 0.982 | 0.855 | 0.893 |
| contour correlation, mean of phrases | 0.2 | 0.5 | 0.11 | 0.11 |
| same pitch (±0.5 st) % of frames | 3.5 | 86.3 | 7.1 | 7.5 |

Contour correlation per phrase (Pearson r of the 10 ms pitch tracks):

| phrase | v1 | v2 | v4a | v4b |
|---|---|---|---|---|
| hook 1 (1.05-2.25) | 0.59 | 0.99 | -0.54 | -0.61 |
| hook 2 (2.25-3.33) | 0.47 | 1.0 | -0.79 | -0.84 |
| hook 3 (3.33-4.42) | 0.43 | 0.13 | -0.08 | -0.13 |
| hook 4 (4.42-5.45) | -0.11 | -0.23 | 0.64 | 0.64 |
| climb (5.45-8.00) | 0.13 | 1.0 | 0.39 | 0.46 |
| build (8.00-9.00) | -0.2 | 0.07 | 0.22 | 0.81 |
| lament (9.00-10.35) | 0.43 | 0.62 | 0.81 | 0.13 |
| hold (11.90-15.00) | -0.13 | 0.4 | 0.27 | 0.42 |

## Production metrics (higher = closer to the reference / to v2)

| metric | reference | v1 | v2 | v3a | v4a | v4b |
|---|---|---|---|---|---|---|
| tempo / beat grid | 108 BPM, grid from 0.37 | 108 (own score) | 108, same grid | same | same | same |
| drum onsets | - | own pattern | the transcribed list | the transcribed list, lighter | as v3a minus 27 mid-band | as v2 minus 27 mid-band |
| energy arc r vs reference (0.5 s smoothing) | 1.0 | 0.878 | 0.982 | 0.927 | 0.927 | 0.943 |
| energy envelope r vs reference (50 ms; includes the melody notes) | 1.0 | 0.737 | 0.897 | 0.83 | 0.825 | 0.774 |
| energy envelope r vs v2 (50 ms) | - | 0.685 | 1.0 | 0.798 | 0.783 | 0.778 |
| long-term spectrum r vs reference | 1.0 | 0.752 | 0.731 | 0.775 | 0.776 | 0.735 |
| long-term spectrum r vs v2 | - | 0.968 | 1.0 | 0.948 | 0.948 | 0.976 |
| biggest onset in 8.6-9.2 s (s) | 9.06 | 8.92 | 8.92 | 8.92 | 8.92 | 8.92 |
| bass-out drop at 11.72 (dB, sub < 120 Hz) | 7.7 | 23.7 | 11.4 | 10.1 | 10.8 | 10.4 |
| loudness (LUFS, internal) | - | -15.1 | -14.5 | -15.2 | -15.1 | -14.6 |

Notes on the production metrics:
- Tempo and groove are shared by construction: the same 108 BPM grid, and the drum hits are the transcribed onset list. I tried automatic tempo and onset-match estimators, but they could not tell the tracks apart on this very dense drum texture: even random times "match". So they are left out rather than quoted as noise.
- The 50 ms energy correlation also follows the melody notes, so a new tune lowers it a little by design. The 0.5 s arc is the scene-level dynamics.
- The long-term spectrum vs the reference is similar for all our synth tracks (it measures our instrument palette against real recordings). Against v2, v4b is the closest track (0.97) and v4a matches v3a.
- "Biggest onset 8.6-9.2 s": the reference peaks at 9.06 because its crash swells after the 8.92 attack; ours put the attack exactly on the 8.92 cut.

## Reading

- On every melody metric v4 sits with v1 (our own tune), far from v2 (the cover). On tempo, energy curve, spectrum, drum hits, the 8.92 hit and the 11.72 bass-out, v4 sits with v2 / v3a.
- The pitch-class histogram stays fairly high for every track, v1 included: all of them are in the same key (C minor / Bb), which is shared by design and is not protected.
- What stays the same on purpose: the key and mode, the stock progression, the groove, the hit timing and the production. These are style, which the brief allows to share.

