{
  "runId": "daily-20261018-midi-to-mp3",
  "date": "2026-10-18",
  "input": {
    "midi": "guides/assets/real-vocal-20261010/vocadito_10-output.mid (live conversion of vocadito_10.wav on mp3tomidiflow.com, 2026-10-10)",
    "midi_bytes": 384, "format": "type 0, 1 track, 480 ticks per beat, tempo 120 BPM, program_change 0 on channel 0",
    "notes": 40, "first_onset_s": 0.534, "last_note_off_s": 8.875, "midi_length_s": 8.875,
    "program_variants": "vocal-program52.mid, vocal-program73.mid, vocal-program48.mid: same file with only the program_change value replaced (rewritten with mido 1.3, 382 bytes)"
  },
  "tools": {
    "synth": "FluidSynth 2.4.4 (Debian), fast render: fluidsynth -ni -q -g <gain> -r 44100 -F out.wav <soundfont> in.mid; reverb and chorus left at default (on)",
    "soundfonts": {"FluidR3_GM.sf2": {"bytes": 148398306, "package": "fluid-soundfont-gm 3.1"}, "TimGM6mb.sf2": {"bytes": 5969788, "package": "timgm6mb-soundfont 1.3"}},
    "encoder": "FFmpeg 7.1.5 with libmp3lame: ffmpeg -i out.wav -c:a libmp3lame -b:a 192k out.mp3",
    "measurement": "integrated loudness and sample peak: ffmpeg ebur128 filter (peak=sample); end of audible sound: silencedetect n=-60dB d=0.3; duration: ffprobe"
  },
  "gain_test": {
    "render": "FluidR3_GM, program 0, vocal MIDI",
    "gain_0.2_default": {"integrated_lufs": -39.9, "sample_peak_dbfs": -25.6},
    "gain_0.8": {"integrated_lufs": -27.9, "sample_peak_dbfs": -13.5},
    "expected_change_db": 12.04, "measured_change_lu": 12.0
  },
  "renders_gain_0.8": [
    {"file": "vocal-fluidr3-piano-192k.mp3", "soundfont": "FluidR3_GM", "program": 0, "preset_name": "Yamaha Grand Piano", "wav_duration_s": 11.379, "below_minus60dB_from_s": 9.524, "integrated_lufs": -27.9, "sample_peak_dbfs": -13.5, "mp3_bytes": 274642},
    {"file": "vocal-timgm6mb-piano-192k.mp3", "soundfont": "TimGM6mb", "program": 0, "preset_name": "Piano 1", "wav_duration_s": 11.919, "below_minus60dB_from_s": 9.201, "integrated_lufs": -33.0, "sample_peak_dbfs": -17.4, "mp3_bytes": 287808},
    {"file": "vocal-fluidr3-program52-192k.mp3", "soundfont": "FluidR3_GM", "program": 52, "preset_name": "Ahh Choir", "wav_duration_s": 12.829, "below_minus60dB_from_s": 9.772, "integrated_lufs": -28.9, "sample_peak_dbfs": -14.1, "mp3_bytes": 309750},
    {"file": "vocal-fluidr3-program73-192k.mp3", "soundfont": "FluidR3_GM", "program": 73, "preset_name": "Flute", "wav_duration_s": 11.130, "below_minus60dB_from_s": 9.370, "integrated_lufs": -31.9, "sample_peak_dbfs": -14.7, "mp3_bytes": 268999},
    {"file": "vocal-fluidr3-program48-192k.mp3", "soundfont": "FluidR3_GM", "program": 48, "preset_name": "Strings", "wav_duration_s": 13.063, "below_minus60dB_from_s": 9.782, "integrated_lufs": -29.5, "sample_peak_dbfs": -15.0, "mp3_bytes": 315393}
  ],
  "bitrate_test": {
    "source": "FluidR3_GM program 0 render at gain 0.8 (WAV 11.379 s; every MP3 reports 11.416 s because of encoder padding)",
    "cbr_128k_bytes": 183109, "cbr_192k_bytes": 274642, "cbr_320k_bytes": 457708,
    "vbr_q2_bytes": 177209, "vbr_q2_avg_bitrate_bps": 124188
  },
  "trim_test": {"filter": "areverse,silenceremove=start_periods=1:start_threshold=-60dB,areverse", "before_s": 11.379, "after_s": 9.200},
  "loudnorm_test": {"filter": "loudnorm=I=-23:TP=-1:LRA=11 (single pass)", "result_integrated_lufs": -23.3, "result_sample_peak_dbfs": -9.0}
}
