Comparison 02 of 10 · Sound
Composer, set beside AIVA, MuseScore Studio and Flat
A generator that writes, engraves and plays twenty-four bars in a period style from a seed you can share. One rival generates, two edit; each beats Composer on breadth.
- Under test
- labs.llc/composer/
- Measured
- 27 Sep 2026, 20:00–20:02 UTC, local copy of build 537
- Rivals
- AIVA · MuseScore Studio · Flat
- 0 labs.llc ahead
- 4 a rival ahead
- 4 level
- 2 unconfirmed
1What it is, and who it is for
Composer writes sheet music while you wait. Pick one of five period styles — after Bach, Mozart, Beethoven, Vivaldi or Chopin — and a key, and it produces twenty-four bars on a grand staff, plays them through instruments synthesised in the page, and exports the result as MusicXML, MIDI, PDF, PNG, SVG, WAV, MP3, OGG or a synced film. Every piece carries a serial; the serial reproduces the same bars anywhere.
It is for piano students and teachers who want fresh reading material in a given style, for anyone curious how a Mozart period or a Bach invention is put together, and for people who want a short score to open in notation software. It is labelled as pastiche: “After Chopin”, not Chopin.

2How it works
Everything happens in the browser; a search of composer/js/ for network calls found none. generate.js turns style, key and seed into the same twenty-four bars on any machine, drawing every random choice from one seeded generator and never from the clock or Math.random (lines 1–5). The five styles are registered at 1032–1038 and are formal plans rather than moods: the Mozart style, for instance, is a period of four bars asking and four answering over an Alberti bass (597–614, 1052). Bars are assembled from gestures of known length so notes cannot overflow a bar, and pitches are clamped to the keyboard (14–22).
VexFlow 4.2.5, bundled in the folder, engraves the score. voices.js defines eleven instruments as Web Audio signal chains — its header warns that a “violin” that is a relabelled sine wave “is a lie” — and media.js renders WAV, MP3 and OGG by running the same chain in an OfflineAudioContext, so the file sounds like the page. MP3 is encoded in the page by a bundled LAME build. export.js writes MusicXML 3.1 with only the accidentals the key needs, and a type-1 MIDI file with a General MIDI program per part. A share link carries the serial as ?s=CMP-…; composer/index.php rewrites only the preview tags for a valid serial.
3The test
Measured on 27 September 2026 (UTC) against the local copy of build 537. We had no browser in this run, so nothing was listened to.
| UTC | What | What came back |
|---|---|---|
| 20:00:05 | The page | HTTP 200, 81,766 bytes. |
| 20:01:54 | A share serial, ?s=CMP-6ZD-M68-6TP | HTTP 200, 82,014 bytes; preview title “After Chopin — No. 3 in A minor”, and a description saying the serial composes it again note for note on any machine. |
| 20:01:54 | Bundled libraries | vexflow.js 992,373 bytes (VexFlow 4.2.5, dated 2024-05-12); lame.min.js 156,043 bytes. |
| 20:00 | Its own script weight | 12 files, 441,935 bytes of the property's own JavaScript; app.js alone is 110,744. |
| — | Sound quality of playback and exports | Not measured. No audio was played or analysed for this review. |
4The checklist
Ten checks, chosen by what a musician weighing these four would ask. Composer shares the basics with its rivals, loses clearly on breadth, and has two rows no rival page let us confirm either way.
- Yes: does it
- Partly: partly — read the note
- No: does not
- Not checked: not checked: no claim either way
- Not applicable: does not apply
| Check | labs.llc · under testComposer | rivalAIVA | rivalMuseScore Studio | rivalFlat |
|---|---|---|---|---|
| Generates new music for youLevel | Yes | Yes | Not checked1 | Not checked2 |
| Styles to generate inRival ahead | 5 | 250+ | Not checked | Not checked |
| Engraved sheet music on screenLevel | Yes | Not checked | Yes | Yes |
| The same piece again from a short serialUnconfirmed | Yes | Not checked | Not checked | Not checked |
| Full score editing, any lengthRival ahead | No3 | Partly4 | Yes | Yes |
| Real-time collaborationRival ahead | No | Not checked | Not checked | Yes |
| Sampled instrumentsRival ahead | No5 | Not checked | Not checked | Yes6 |
| MusicXML exportLevel | Yes | Not checked7 | Yes | Not checked |
| MIDI exportLevel | Yes | Yes | Yes | Not checked |
| Audio rendered through the player's own instrumentsUnconfirmed | Yes8 | Not checked | Not checked | Not checked |
- 1The front page, as fetched, describes notation software; we did not look for a generation feature.
- 2No generation feature is mentioned on the page we fetched.
- 3A fixed twenty-four bars and no editor; MusicXML export is the route to editing elsewhere.
- 4Track editing after generation, per its front page; we did not confirm a full notation editor.
- 5Eleven instruments synthesised from oscillators, noise and filters (voices.js from line 742).
- 6“HQ studio instruments”, 180+ instruments in all.
- 7The front page lists MP3 and MIDI on all plans and more formats on Pro; MusicXML was not named.
- 8media.js runs the same chain in an OfflineAudioContext (lines 1–10).
Does better
AIVA
- More than 250 styles against Composer's five.
- Custom style models and uploaded audio or MIDI as influences.
- Editing of the generated tracks.
Does better
MuseScore Studio
- A full notation editor for any length and instrumentation.
- Input from a MIDI keyboard.
- Open source and free, “no limitations”, in 69 languages by its own count.
Does better
Flat
- Several people can edit one score at the same moment.
- 180+ instruments, with sampled studio sounds.
- Apps for iOS, Android, Mac and Windows that sync.
Goes further
Composer
- A serial reproduces the same bars on any machine — measured through the share link.
- Styles are written-out formal plans, not moods (generate.js:597–614, 1052).
- Exported audio passes through the same signal chain as playback (media.js:1–10).
- No account, and no plan tiers: AIVA's own plan table says the company owns Free-plan compositions; Composer has no plans at all.
- MusicXML 3.1 (export.js:136–186), a format MuseScore's own page lists for transfer between programs.
5Where Composer falls short
- Five styles and a fixed length of twenty-four bars (generate.js:1032–1038). AIVA advertises more than 250 styles.
- Synthesised voices, not samples. Flat advertises high-quality sampled studio instruments.
- No editor. There is no full or collaborative notation editor like Flat's or MuseScore's; to change a note you export MusicXML and edit elsewhere.
- Pastiche by design: the pieces imitate a style's formal habits and are labelled that way. If you want music by the composers themselves, this is not it.
6The verdict, by the checklist
Choose Composer for short, idiomatic, reproducible reading pieces with the score in front of you; choose AIVA for breadth of style, and MuseScore or Flat to write and edit your own.
Composer is the smallest tool in this matrix and knows it. Where it wins is care: a seed that reproduces the same notes everywhere, bars that cannot overflow, notes spelt for the key, and audio exports that sound like the page. Where it loses, it loses on scale — styles, length, instruments, editing — and the rivals are right to be preferred for those jobs.
Try Composer on labs.llc