Documentation · 44 articles
Learn the language, then the instrument around it.
Guides, concepts, and reference for the Mora language and Mora Studio. Start with a first pattern, or go straight to the part of the system you need. Every page is searchable with Ctrl K.
Reading paths
-
Discovering Mora
-
Making music or visuals
Then First patterns, Mini notation, Multimodal channel forms.
-
Evaluating the design
Then System architecture, Source map.
Start here
What Mora is, what to install, and a first pattern.
- Introduction Guide What Mora and Mora Studio are, who they are for, and how to read this documentation.
- Installation and setup Guide What to install for each goal, how to set up Mora and Mora Studio, and how to configure sound.
- First patterns Tutorial Query a first pattern without audio, then play, change, and stop a channel in Mora Studio.
- Framework examples Guide A section-by-section walk through examples/mora-framework-intro.mora, a file of small framework demonstrations.
- When something is silent or blank Guide An ordered checklist for silent patterns and blank visuals.
Concepts
Time, retained objects, Common Lisp and CLOS, and the shape of the system.
- Patterns and time Concept How a Mora pattern answers questions about spans of cycle time, and how that model relates to tempo, events, and playback.
- What remains after evaluation Concept Mora keeps selected evaluated constructs as inspectable objects, so performers and tools can examine them and change how they answer later queries.
- Common Lisp and CLOS Concept Why Mora is built from generic functions, classes, and macros in a running Lisp image, and what "metaobject" means at each level of the system.
- Sound, image, and shared time Concept How audio patterns and visual operators share one temporal algebra, and why event-linked visuals, measured audio, and post-processing remain separate layers.
- System architecture Concept How Mora's systems are layered, from the temporal core and runtime to optional sound, visual, analysis, and Studio clients.
Language
Notation, composition, transformation, harmony, meter, and extension.
- Channels, tempo, and transport Reference Assigning and replacing the live channels d1! through d8!, stopping a part or the session, scheduled replacement, and setting tempo in BPM or cycles per second.
- Pattern literals Reference The s, n, notes, p and e literal macros, bare symbols as sample names, sub for subdivision, and the ($ expression) escape to ordinary Lisp.
- Mini notation Reference Compact temporal notation inside strings, embedded in Common Lisp.
- Pipelines and composition Reference Threading a pattern through steps with >>, combining patterns with stack, cat, time-cat, arrange, align and merge-left, and routing source channels to output orbits.
- Transformations and groove Reference Transformation families, groove, passing transformations as functions, reproducible chance, choice, substitution, binding, and bit patterns.
- Signals and patterned arithmetic Reference Continuous signals, segment sampling, and named patterned arithmetic that works alongside Common Lisp's ordinary arithmetic.
- Pitch, harmony, and tuning Reference Absolute pitches, scale degrees, chords, voicings, arpeggiation, tunings beyond twelve equal divisions, and explicit MIDI pitch policies.
- Authored meter and pacing Reference Authored positions versus emitted attacks, meter declarations, pace, exact metric clocks, and step-level phrase operations.
- Arrangement and transitions Reference Section durations with arrange, score-passage loops with loop-passage, pattern crossfades, mixer level and xfade, and structural rhythm morphs.
- Extending Mora Guide Define pattern classes with defpattern and transformations with deftransform, and specialize protocol methods that change how existing objects answer future queries.
- Scenes and reusable material Reference Organize a set with ordinary Common Lisp definitions, and construct, preview, compare, and activate named multi-channel scenes.
Mora Studio
The native editor: structural editing, documentation, inline views, and controls.
- Studio overview Guide Mora Studio is a native Common Lisp livecoding environment that shares one Lisp image with the running language.
- Discovering forms Guide Completion, ghost hints, signature snippets, the keyword popup, contextual documentation, and search in Mora Studio.
- Inline controls Guide Knobs and sliders are retained named values that you can perform live, write into the source, set from code, or map to MIDI.
- Inline views Guide Piano roll, punch card, and other event views read the score; scope, frequency scope, and spectrum read measured audio.
- Samples inspector Guide The persistent Samples tab in Studio's inspector pane, for browsing original recordings and tags, previewing at native tempo and key, inserting context-correct stem forms, and requesting PHALAR fits against the playing mix.
- Keybindings and presentation Reference Mora Studio keybindings, focus-specific overrides, fullscreen and zen presentation, and window layouts.
- Remote development and performance Guide The SLYNK and local MCP development interfaces, Studio's runtime requirements, and rehearsing before a show.
Visuals
Shader composition, multimodal channel forms, and ordered image processing.
- Multimodal channel forms Guide One channel form can carry audio, visual material, and ordered image processing, with each facet owned and replaced separately.
- Shader composition Guide Visual operators are CLOS objects and patterns that compose in pipelines and emit GLSL with cached programs.
- Ordered post-processing Reference Image effects applied after visual composition in written order, with distinct rules for replacing, preserving, restoring, or bypassing post treatment.
Sound and samples
SuperDirt output, the SuperDirtMora companion, stems, matching, and MIDI.
- From pattern to audio Guide How channel patterns become timestamped OSC for SuperDirt, and how tempo, sound names, orbits, and mixer levels fit together.
- SuperDirtMora companion Guide The SuperCollider companion package behind Mora's prepared audio, including typed instruments, ordered insert effects, continuous modulation, ducking, and submixes.
- Samples and slicing Reference Sample-playback forms for reversing, slicing, resampling, looping, and stretching recordings, and Studio's Sample Explorer and Samples tab for finding them.
- Stems and sample libraries Guide Import a user-owned library, select an eligible pool with loops, compose from it with part and stem by type, variant, family, slice, and tag, and layer stems as replaceable lanes with stem-stack.
- Tempo and key matching Guide Adapt selected loops to the session's global tempo and key with :match, and the optional live-stretch engine that performs the time and pitch processing.
- MIDI and other outputs Reference MIDI pitch policies, pitch-bend and MPE configuration, MIDI input, and Mora's optional OSC, serial, MQTT, Csound, and speech adapters.
- SuperDirtMora class reference Reference Methods, arguments, and ownership contracts of SuperDirtMora, the SuperCollider package that groups Mora's SuperDirt extensions.
Listening and ML
Measured audio, learned search, PHALAR pairing, and optional generation.
- Machine listening Guide How rendered audio returns to analysis as measured PCM, spectra, and features, and how that differs from feedback that follows the score.
- Learned search Guide Optional MuQ and MuQ-MuLan embeddings for audio similarity and natural-language sample retrieval in Sample Explorer.
- PHALAR stem pairing Guide Find stems against the audible mix in Zen mode, or rank candidates against an anchor recording, then accept a fixed ordinary stem or part.
- Generation and neural instruments Guide Optional prompt-to-sample generation, a local performer assistant, and neural synthesis, each with its own runtime, model, and license requirements.
Project
Licensing and where things live in the source.