Bella Ciao rendered directly by LLMs

Each model was given this exact prompt (with MODELNAME substituted):

Without using the Internet, working in /tmp/MODELNAME, generate an audio file of Bella Ciao, playable in an average web browser, and then drop the final result in ~/static/bella_ciao_MODELNAME.<ext>

How each model tackled the problem

All artifacts were inspected after the fact; the table below summarizes their approaches.

Model opus-4.7 opus-4.6 opus-4.5 sonnet-4.6 sonnet-4.5 haiku-4.5 deepseek-v4-pro glm-5.1 kimi-k2.6 gpt-5.5 gpt-5.4 gpt-5.3-codex gpt-5.2-codex
Lang PythonPythonPythonPythonPython?PythonPythonPythonPythonPython?Python
Deps numpystdlibnumpystdlibnumpy?stdlibnumpynumpystdlibstdlib?stdlib
Format MP3WAVMP3OGGMP3 (via ffmpeg)MP3MP3 (also WAV+OGG locally)WAVWAVWAVMP3WAVMP3
Size 80 KB3.6 MB95 KB99 KB256 KB87 KB436 KB12 MB2.2 MB5.4 MB249 KB2.6 MB300 KB
Chans monomonomonomonomonomonomonomonomonostereostereomonomono
Key A minorA minorA minorD minorA minor?A minorD minorA minorA minorA minor?A minor
BPM ~120132~171120150?120110~171 (comment says 86; buggy)124126?100
Tempo def hardcoded sec/noteBPM=132BEAT=60/BPMmagic beat=0.35hardcoded sec/notemagic DURATION_BEAT=0.4?TEMPO=120BPM=110magic 0.35 s/noteBPM=124BPM=126?bpm=100
Melody (note, dur_sec)(note, beats) w/ W/H/Q constants(note, beats)(note, dur_sec)(note, beats)?(freq_Hz, beats) inlined(note, beats), VERSE/CHORUS sections(note, beats)(note, beats)(note, beats)?(note, beats), melody*2
Synth sine + 2,3 harm.sine + harm. + vibratosine + 2,3 harm.sine + 4 harm.sine + 2 harm.?sine (lead) + triangle (bass)sine + 5 harm.sine + oct/5th/2oct harm.accordion additive + bellows tremolosine + 3 harm. (lead), 2 harm. (bass)?pure sine
Vibrato ?✓ (cumulative-phase FM)?
Bass ?✓ (triangle)✓ (downbeat)✓ (oom-pah)?
Chords ✓ (Am–Dm–E7–Am pad)?— (bass only)✓ (Dm/Gm/A, auto-inferred)✓ (Am/Dm/E7 stabs)✓ (Am/F/G/E triads)?
Drums ?✓ (deterministic pseudo-noise hits)?
FX ?✓ (comb-filter)✓ (two-tap echo)?
Structure verse + chorus once~3 verse+chorus reps~2 verse+chorus repsverse+chorus w/ repeatmulti verse+chorus?verse+chorusVERSE; VERSE2; CHORUS; CHORUS2long freeform A-min2 phrases w/ rests~2 verse passes?melody literally doubled
Other longest pure-Python pipelineHTML test page + READMEcleaned up workdirHTML player pageauto-derives chords from melodyHTML test pagepanning, fade in/out3 tracks summedcleaned up workdirsimplest possible

Two models (haiku-4.5 and gpt-5.3-codex) cleaned up their working directories so some details are unknown.