MCCF Ambient Engine Overview
Watch the MCCF demo
A short video of the Multi-Channel Coherence Field working in an X3D scene. Watch it on YouTube.
The Ambient Engine turns the emotional state of a scene into music. As the characters' Emotion, Behavior, Predictive and Social values move, the engine changes the scale, the layers of sound and the tempo. It can sound through the browser or through a MIDI device, so a real synthesiser or a digital audio workstation can play it. The same page also holds a small composing workshop that builds a piece from a theme in a MIDI file. It runs as its own page and inside the Scene Composer, in the Ambient tab, and it needs the MCCF server.
The idea in one line: the music is not laid over the scene. It reads the same field the characters live in.
1. Three modes
The Engine selector chooses how sound is made. Generative builds music live from four layers, steered by the field. MIDI Theme Player plays a MIDI file and lets the field shape how it is played. Theme Workshop builds a new piece from a theme and exports it as a .mid file. You can move between them without leaving the page.
2. Four generative layers
In Generative mode a drone, a pad, a pulse and a texture play together, each with its own gain. The field decides how they move. Master volume, how often the music re-reads the field, how long a change takes to settle, and reverb depth are all adjustable. Generative mode sends notes and controllers only, on four channels, so each layer plays whatever patch the synthesiser has on that channel. This is a neo-Riemannian system.
3. Scale and zone themes
The base scale can be set by hand (major, minor, Dorian, Phrygian, pentatonic, whole tone or chromatic) or left on Auto. In Auto, the zone the characters are standing in decides the scale. Zone types are set in the Scene Composer, and the Ambient page lists each zone in the scene with the scale it gives. A garden and a courtroom can sound different without anyone writing two scores.
4. Web Audio or MIDI out
Output can be the browser's own sound, with nothing to install, or a MIDI device. With MIDI Out you pick the device, and the mapping of layers to channels and controllers can be exported to a file and imported again, so a musician sets up a particular synthesiser once. An All notes off button sends a panic to every channel if a note ever hangs.
5. MIDI Theme Player
Load any MIDI file and play it, with a clock, loop, and a tempo scale from a quarter speed to double. Reset channels to file restores the file's own settings. Two options help difficult synthesisers: one sends the file's patches, pan and effects at the start so the synth plays what the file intended, and one asks a mono patch to play several notes at once.
6. Theme Workshop: voices and transforms
The Workshop takes a theme (a track and a range of bars) and builds a piece from voices. A voice is a copy of the theme, or of another voice, that enters at a bar you choose and passes through a chain of transforms: transpose, invert, retrograde, retrograde-inversion, augment, diminish, sequence, fragment, rotate and octave shift. Give one voice a later entry and you have a canon. Ready-made chains cover canons at the third, fifth and octave. The theme itself is never changed.
7. Drums, harmony and parallel voices
A voice does not have to come from the theme. The Workshop can add jazz-style drums, a chordal harmony with a bass chosen to fit the melody (with a "why these chords?" panel that shows the reasoning bar by bar), and parallel voices that follow the melody at a fixed distance in scale steps. Harmony follows a rule set: chorale-strict (four-part writing in the manner of Bach), organum-parallel (medieval voices moving together) or free. The Workshop reports rule violations by bar.
8. Serial and twelve-tone composing
The Workshop can write a line from a tone row: a preset such as Schoenberg's Op. 25 or Berg's Violin Concerto, a row taken from your theme, a seeded random row (with options for all-interval rows and rows with no triads), or one you type. You choose the forms (prime, inversion, retrograde, retrograde-inversion), the rhythm, the register and the mood. A rule check then reads any voice and reports each twelve-note statement as a form of the row, or says where it breaks. A chromatic key scale gives you no tonal centre. Orderly, unsettling music has a place in a narrative. Creepy music for creepy scenes. :)
9. A grid and a score you can edit
The lower part of the page shows the music as notation on a grand staff, with a grid view and an animation view. Any voice can be frozen into plain notes and edited by hand with draw, select and chord tools, copy and paste, quantize, swing, humanize, and a velocity bar for each note. The chord tool takes symbols such as Am7 or F#m7b5, or roman numerals in the recipe's key. Undo and redo work as you would expect.
An animation and an X3D Scene view are included. The engine will automatically load file audio/midi files currently in the scene for editing if desired.
10. Emotional arc to MIDI
An authored emotional arc can be bound to MIDI controllers so the music follows the arc through the whole piece. Each lane connects one of the arc's curves to a controller (modulation, volume, pan, expression, brightness, reverb) with an output range, and the values either glide between waypoints or hold. The Dashboard shows the same binding.
11. Repeatable pieces: recipes and seeds
A Workshop piece is stored as a recipe: the settings, not the music. The same recipe, rule set and seed always give the same piece, so a piece can be saved, shared, reloaded and varied. The music itself is exported as a .mid file, or saved straight into the scene's media folder, ready for the Scene Composer to use as a MIDI asset.
12. Scene audio and Reaper
A panel lists the wav, mp3 and MIDI files a saved scene uses, with missing files flagged. A button opens a file in Reaper, or the scene's Reaper project if there is one, so an author can finish a piece in a real workstation. A Scene tab shows the scene in the X3D Loader beside the editor, so the music can be adjusted while the space is in view.

Comments
Post a Comment