MCCF: Compose from Stylesheets. Apply MusicXML to MCCF Composer Stylesheet




12 November 2026. A plan for MCCF V6, written from the V5 Ambient Engine as it stands. Nothing described below as planned has been built yet.

Give a theme and a chord progression to a human arranger and ask for it "in the manner of Bach," and you get a piece in four independent voices, answering each other, ending each phrase on a cadence. Ask for Debussy and the same chords come back as drifting parallel ninths over a held bass. MCCF V6 sets out to do this with a stylesheet: a data file that describes a composer's habits, and an engine that applies it to your theme and progression and writes MIDI and a readable score.

The idea in one line: a composer's style is a set of parameters you can read, change and check, not a prompt you hope for the best with.

 


 

The planned style engine. Three inputs, five passes, four outputs.

1. Where V5 stands

The groundwork is already in V5. The Ambient Engine's Theme Workshop builds pieces from voices with entry bars and transforms. A rule checker flags parallel fifths and octaves. A harmony voice chooses chords and a bass for a melody. A Neo-Riemannian engine records a chord progression from the characters in a running scene, and the Workshop can turn that progression into chords, a bass and a generated theme, with a slider from consonant to twelve-tone. What V5 does not have is a way to say how those voices should be dressed.

2. The stylesheet

A stylesheet is an XML file, checked by a schema like the character cultivars, kept in a styles folder. It states a style as parameters and contains no notes.


BachDebussyBeethoven
HarmonyTriads and sevenths, suspensions, firm cadencesNinths, added tones, planing, whole-tone colourStrong dominant to tonic, diminished sevenths
Voice-leadingStrict: no parallel fifths or octavesFreeMostly strict, octave doublings
Texture2 to 4 independent lines, imitationMelody over arpeggio or pedalAlberti or octave bass, melody above
DynamicsTerracedSoft, swelling, pedalSforzandi, large crescendos
OrchestrationOrgan or harpsichord, stringsPiano, harp, flute, celestaStrings, winds, brass

The full stylesheet also sets melody treatment, ornaments and form. The aim is recognisable gestures, such as a correct chorale, planed ninths or an Alberti bass. It is not an attempt at an authentic forgery.

3. The engine

The engine runs in the Theme Workshop, next to the recipe and transforms, so it works offline and gives the same result for the same inputs and seed. It makes five passes:

  1. Harmony rewrites the progression to the style: ninths for Debussy, suspensions and cadences for Bach.
  2. Texture builds a voice for each role: Alberti bass, arpeggio, pedal, chorale block, walking bass.
  3. Theme places the theme and develops it: staggered imitative entries, an answer a fifth up, inversion, sequence.
  4. Ornament adds ornaments, accents, swells and pedal.
  5. Check runs the style's rule set and reports what the piece obeys or breaks. Nothing is silently corrected.

The result is ordinary Workshop voices you can edit on the grid, a MIDI file, a score, and the style report.

4. Why MusicXML

MIDI knows key numbers, not spelling: it cannot tell C-sharp from D-flat. MusicXML keeps the spelling, the separate voices, the ornaments as symbols, and chord symbols, and notation programs such as MuseScore open it. Phase one of the plan is a MusicXML export, for two reasons. A musician can read and edit the result. And problems that are hard to hear, such as parallel fifths or a missing cadence, are easy to see on a page. MusicXML is also a way in: public-domain scores can be measured to set a stylesheet's values from evidence, such as the texture patterns used and how cadences are built, instead of from memory. It is an output and a source for measurement only. The engine does not use it internally.

5. The emotional field steers the style

A style works like a cultivar for the music. A scene, zone or character can select one, and the live field moves its parameters within limits the stylesheet sets. The proposed mapping: emotion sets dynamics and density, behaviour sets rhythmic regularity, prediction sets how expected the cadences are, the social channel sets how many voices answer each other, coherence sets how strictly the rules apply, and uncertainty slides the melody toward the twelve-tone end. The same scene then plays the same emotional arc through Bach, Debussy or Beethoven. These mappings are proposals to be tuned by ear.

6. How we will know it works

Three ways, in order of strictness. By rule: the style report lists broken rules by voice and bar, and the Bach style must pass its own. By eye: the score is read in a notation program. By ear: Len and Kate listen to a set of examples at the end of each phase. Neither the engine nor its author can judge how a piece sounds, so listening is the final test. Every result is repeatable from its seed, so a listening note can name the exact piece.

7. The phases

  1. MusicXML export. Done when the file opens in MuseScore and matches the MIDI bar for bar.
  2. Style presets for Bach, Debussy and Beethoven, built only from parts V5 already has. Done when the three are audibly different on the same scene.
  3. Stylesheet and engine. Done when the Bach style passes its own rule check on three test themes, with the same seed giving byte-identical MIDI.
  4. Corpus tool that measures public-domain scores and proposes stylesheet values for a person to accept or edit.
  5. Field control, so a scene played under two styles shows the same arc through different sound.

No dates are set. The work starts after the V5 release.

8. Still open

Which composer first (Bach is proposed, because strict rules make it verifiable); whether styles attach to a scene, a zone or a character; whether users write their own styles in V6; which corpus sources and licences to accept; and what ensemble each style should write for. If you have views on any of these, the plan's open-decisions list is where they are being collected.



Watch the MCCF demo

A short video of the Multi-Channel Coherence Field working in an X3D scene. Watch it on YouTube.

Comments

Popular posts from this blog

MCCF Philosophy & Manifesto

Domain Awareness: Trust But Verify: Schemas, Metacognition, and the Limits of LLM Intelligence

AI Folk Art