Getting started
Tutti is a tracker for orchestral sketches. Time runs down the screen in rows; each instrument has its own cells for notes, velocity, articulation, dynamics and effects. Notes go out as MIDI to a DAW or sample library, or play through a built-in sketch synth.
- Open Files in the menu bar, pick a built-in song and press Space to loop the phrase. Esc stops.
- Click a note cell and type notes on the piano-style keys (Z is C, S is C♯, X is D…). - and = change the octave, with ⇧ the step; the status line shows both.
- Press New in Files for an empty song. It autosaves in this browser and the address bar remembers which song and phrase you had open.
- The bar under the header is the map: Song › Section › Phrase › Pattern, with the level you are at lit. Click Song for the overview of the whole piece; Enter goes in a level, the ` key comes back out.
- The header keeps only the transport. Everything else is a panel: Files (open, save, export), Instruments (the players of the song: their sounds, mix and tuning), Connect (MIDI, controller) and ⚙ (follow, preview sound, pad, mixer, columns). The settings of the song, a section or the open phrase open from the ▾ beside their name in the map. One opens at a time under the header; Esc or its ✕ closes it.
The app runs in Chromium browsers (Chrome, Edge, Arc) for MIDI; the grid, pad and controller work in any modern browser, including Safari on iPhone and iPad.
How a song is built
A song is arranged from sections, a section is made of phrases, a phrase is a few bars for every instrument, and the ideas inside it are patterns placed on instruments. You can read a song top to bottom in those words, and the app shows it that way.
| word | what it is | musicians call it |
|---|---|---|
| arrangement | the sections in playing order, each with a repeat: A×2 B A | form: AABA, verse and chorus, sonata |
| section | a named span made of phrases in order; it can carry its own key | intro, verse, chorus, bridge, outro; A and B sections, the head; exposition, development, coda |
| phrase | a few bars for every instrument: what the grid shows, and the only thing that owns meter, tempo lane and groove | a phrase; four or eight bars; a line of the verse |
| pattern | one voice's reusable line, written once | motif, riff, lick, figure, ostinato, hook, fill |
| placement | one use of a pattern on a instrument of a phrase, with its transformations: transpose, shift in the key, octave, dynamics, repeat | a statement of the motif; the riff again a fourth up, softer |
| instrument | an instrument, the same across the whole song | instrument, player, staff |
The Song view (click Song in the map) is that picture: every section in playing order with its colour, its phrases underneath, and for each phrase a thumbnail of what every instrument plays, with a chip for each placed pattern. The arrangement strip at the top left shows the form at a glance. Below it the song's patterns are listed with their use counts. While the song plays, the playing phrase lights up with a moving line and the instrument headers show the note each instrument is sounding.
From there you drill in. Arrow keys move the cell cursor; Enter, a double click or a second tap opens that phrase on that instrument; a pattern chip opens that pattern. In the grid Enter on a pattern's tag opens the pattern alone. The ` key (left of 1) goes back out one level each time, and every crumb of the map is a button. A beginner never needs any of this: a new song is one section A holding one phrase A1, and you type notes.
Reuse happens at three levels and nowhere else: a pattern is placed many times, a phrase can sit in more than one section, and a section can play more than once in the arrangement. Everything a instrument plays in a phrase is visible in that phrase. If you know the M8: a song row is a phrase, a chain is a instrument's placements read down one phrase, a chain step is a placement, and an M8 phrase is a pattern. The full vocabulary, the file format and worked songs are in the domain model.
The grid
The grid shows one phrase: 64 rows by default, one sixteenth note per row, so four rows make a beat and sixteen a bar. Beats are shaded, bars are ruled, and rows, row size and meter are set per phrase: press ▾ beside the phrase's name in the map. Changing the row size rescales the grid, not the music.
| cell | shows | entry |
|---|---|---|
| note | note name where a note starts, a line while it sustains | piano keys |
| vel | velocity, two hex digits | hex digits |
| art | articulation of the notes on that row | digits 1–9 |
| dyn | dynamics lane (CC1), hex, with a bar | hex digits, L ramp, S hold |
| fx | one command per row | a letter, then hex |
| bpm (gutter) | tempo lane, decimal | digits, L ramp, S hold |
The header names every cell, and the columns group in the ⚙ View panel shows or hides the vel, art, dyn and fx cells for all instruments while keeping their data. A instrument can have up to four note columns for divisi. Notes in one column never overlap: a new note cuts the one sounding, and a note cannot grow past the next. Click a instrument name to mute it; ⇧-click or long-press to solo. While playing, the note each instrument is sounding shows beside its name. The status line under the grid always describes the cell under the cursor.
Keyboard
Moving
| ↑ ↓ | row |
| ← → | cell, wrapping across instruments |
| Tab ⇧Tab | instrument |
| PgUp PgDn or ⌘⇧↑ ⌘⇧↓ | bar |
| Home End or ⌘↑ ⌘↓ | first / last row |
| Enter | go in a level: open the phrase under the Song view cursor, or the pattern under the grid cursor |
| ` | go out a level: pattern → phrase → song |
Transport
| Space | loop the phrase, or stop; in the Song view, play the song from the cursor row |
| ⇧Space | loop from the cursor row; in the Song view, loop the cursor row's section |
| Return | play the song from where the open phrase first sounds (unless the cursor is on a pattern tag) |
| ⇧Return | arm real-time record (loops the phrase) |
| Esc | stop (or deselect) |
Entering
| Z–/ | notes from C of the octave (piano layout) |
| Q–P | notes an octave up |
| - = | octave down / up |
| ⇧- ⇧= | step down / up |
| [ ] | note shorter / longer |
| ⇧[ ⇧] | fewer / more note columns |
| 1–9 | articulation (art cell) |
| 0–F | velocity, dynamics, fx value |
| L S | ramp / hold a lane point |
| Delete | clear the cell |
| ⌘Z ⌘⇧Z | undo / redo, including instrument, mixer, key, section and arrangement changes |
| ? ⌘? | quick keys panel / this guide in a new window |
Selection and batch edits
| ⇧↑ ⇧↓ ⇧← ⇧→ | extend the selection from the cursor; or drag with the mouse, ⇧-click to extend |
| ⌘A | select the instrument; again, the whole phrase |
| ⌘C ⌘X ⌘V | copy, cut, paste at the cursor |
| ⌘D | duplicate right below the selection |
| Delete | clear the selection |
| - = · ⇧- ⇧= | transpose a semitone · an octave |
| , . | move by a scale degree in the key in force |
| [ ] | shorten / lengthen every selected note |
A toolbar appears with the selection and adds velocity up and down, an articulation list, Interpolate (ramp velocity, dynamics or tempo from the first row to the last), Fill (repeat the first row every step rows), Rnd vel, Rnd pitch (in key, within the selection's range) and Humanize (small random DEL on rows with notes). Paste lines cells up by kind: notes land on note columns, a dynamics run on a dynamics column.
Patterns
A pattern is one voice's line that you write once and use in many places: what musicians call a motif, a riff, a lick or a hook. Select rows on one instrument and press Make pattern on the selection toolbar: the notes move into a pattern named after the instrument and the rows show a tag, ▸Fiddle 1. The Song view lists every pattern with its use count, where you can rename, open or remove it; Compose renames the one that is open.
A placement is the tag: the pattern playing at that row of that instrument. Its notes show dimmed and cannot be typed over. With the cursor on it, the keys that move notes transform the placement instead, and the tag, the status line and the map all read the result, for example ▸Riff ↑3 +5 8va+1 v−16 ×2.
| - = | transpose a semitone |
| , . | shift a scale degree in the key in force, so the line stays in the key: a sequence |
| ⇧- ⇧= | an octave down or up |
| < > | dynamics: softer or louder (the hairpins), as a velocity offset |
| [ ] | repeat it back to back: a one-bar beat under a four-bar phrase is one placement ×4 |
| Enter | open the pattern alone in the grid; ` or Esc returns |
| Delete | remove the placement; the pattern stays in the song |
| ⌘C ⌘V ⌘D | copy, paste, duplicate it like any selection; transposing or degree-shifting a selection moves its placements too |
Inside an open pattern everything works as usual, including undo and Space to loop it, and every placement plays the change. Detach turns a placement back into loose notes, with its transformations baked in, when one copy should differ. Removing a pattern detaches every placement first. A pattern belongs to a kind of voice, not a instrument: any instrument can place it, and columns the instrument lacks are dropped with a warning.
Open Crossroads reel to see banjo rolls and the fiddle tunes as patterns, and Night drive for one bass riff placed on every bar and shifted by scale degrees so it stays in A minor under A, F, C and G.
Key and scale
Keys nest: a phrase's key over its section's over the song's. Set one from the ▾ beside the song, the section or the phrase in the map, or a section's in the Song view; a section's key is where a modulation lives, as when the bridge goes to the relative major. A key does not move notes you have typed. It decides what is in scale, where the degree keys move things, and where a placement's shift lands, so the same phrase reused in a section with another key sounds its shifted patterns in that key. Entry stays chromatic, but the pad dims out-of-scale keys, , . and −deg / +deg move a selection by scale degrees, Rnd pitch draws from the key, and the controller's single-step nudge follows the scale. Scales: major, natural, harmonic and melodic minor, dorian, phrygian, lydian, mixolydian, pentatonics, whole tone, chromatic.
FX column
Each instrument's fx cell takes one command per row. Press the command's first letter, then two hex digits for its value.
| command | value | effect |
|---|---|---|
CHA chance | 00–FF | probability the row's notes play; FF always, 80 about half |
RET retrigger | count | play each note that many times, evenly across its length |
DEL delay | xx/256 row | push the row's notes behind the beat |
ARP arpeggio | two nibbles | cycle root, +first, +second semitones each row |
TSP transpose | signed byte | shift the instrument from this row until the next TSP (F9 is −7) |
EXP expression | shape, depth | 1 swell, 2 sfz, 3 fade in, 4 fade out; then depth 0–F |
Groove
A groove stretches and shrinks rows in a cycle without moving notes. Choose a preset in the phrase's settings (▾ beside its name in the map: swing 8ths light, medium, hard; swing 16ths) or type a custom list of multipliers such as 1.33 0.67. Playback, export and the playing-row highlight all follow it.
Sections, arrangement, live
The Song view is where a song is arranged. Each section has a bar with its name, how many times it plays here (×), its key, ⟳ loop, + phrase…, ↑ ↓ to move it in the arrangement and remove. Each phrase row has its name, its own × repeat and, on the row under the cursor, open, ↑ ↓ and ×. Every change is one undo step.
- + phrase… adds a new empty phrase shaped like the one under the cursor, a copy of it to vary, or a phrase that already exists elsewhere, reused by reference. + in the phrase's settings adds an empty one after the open phrase.
- + section… adds a new section with one phrase, or plays an existing section again: that is how
A B Ais built from two sections. A section that plays more than once shows its phrases each time, and says that edits show in both. - remove takes that occurrence out of the arrangement. A section with no occurrence left waits at the bottom, not in the arrangement, until you add it back or delete it with the phrases only it uses. Taking a phrase out of a section deletes the phrase when that was its last use. The arrangement keeps at least one section and a section at least one phrase.
Play acts on what is on screen. In the grid, Play phrase (Space) loops the open phrase. In the Song view the same button reads Play from here: it plays the arrangement on from the cursor row, through the phrase's repeats, the section's repeats and into the next section, and stops at the end. The playing section and phrase show which time through they are on (2/3). Looping is always asked for: Loop section (⇧Space in the Song view, or ⟳ loop on a section's bar) goes round one section until you stop it. Play song plays the arrangement from where the open phrase first sounds, or from the top in the Song view. With follow on the grid, the Song view's cursor and the map instrument the playing phrase. The exported .mid carries a marker at every section so a DAW shows the form.
The loop is what is written. Play phrase loops to the end of the last bar in which any instrument sounds a note, not to the end of the phrase, so a bar of sketch comes round every bar and the loop grows as you write: rows past the loop's end are dimmed and the row it turns on shows ↻. Edits made while the phrase loops are heard when it next comes round. Untick loop what is written in ⚙ View to loop the whole phrase. Play from here and Loop section always play phrases whole.
While a phrase loops, choosing another phrase in the selector queues it; it takes over when the loop ends and the status shows next. Solo a instrument with ⇧-click or a long press on its name: with any solo on, only soloed instruments sound.
Mixer and instruments
The mixer sidebar (tick mixer in ⚙ View, or its ✕ to hide) shows each instrument with M, S, volume and pan. Tap a name to jump to that instrument. While playing, each strip shows the note its instrument is sounding, shaded by velocity: the same readout sits in the grid header and the Song view's instrument headers. Volume and pan go out as CC7 and CC10 and are applied by the preview. The Instruments panel (also behind the mixer's Instruments…) is where the players are set up; see Instruments and sounds. An instrument's channel is shown in the grid header.
Touch and the pad
On a phone a tab bar at the bottom switches between Song (the workspace: the map, then the Song view or the grid with the pad) and the Files, Instruments and Connect panels, each filling the screen. The map's crumbs switch levels; in the Song view one tap moves the cursor and a second tap opens that phrase on that instrument. ⚙ opens the View sheet; ticking mixer there overlays the mixer on the grid. The grid starts with note columns only so every instrument fits across.
Tap a cell to place the cursor, drag to scroll, long-press to clear a cell. The pad under the grid appears on touch screens (or tick entry pad in ⚙ View). Its key row follows the cell: a piano for notes, hex for velocity and dynamics, digits for tempo, commands for fx, articulation names for the art cell, and on a placement its transformations (open, ±1, deg↓ deg↑, 8va, soft, loud, rep, detach). The other rows move the cursor, switch instrument, toggle sel (drag selects instead of scrolling), clear, undo, change octave and step, note length, and play.
Pocket view
Tick pocket view in ⚙ View (or add ?pocket to the address) and the whole app becomes one phone screen in the image of the M8: a line naming the five levels, SO SE PH PA IN, with the one you are on lit and the playhead in the song's words; the level itself; a readout of what every instrument is sounding; and a pad with the game controller's buttons. Everything works the controller's way: the d-pad moves, A enters or opens, A held with a direction edits the value under the cursor, B clears, Back held modifies (alone it undoes), Start plays and stops, out and in (the shoulder buttons) change level, and the five letters on the line are tabs. A line under the level says what the buttons do there. On a keyboard the arrows, X (A), Z (B), Shift (Back), Enter (Start) and A S (out, in) do the same, and a paired controller keeps working (Back+L/R there).
- Song: the arrangement top to bottom, a bar per section with its repeat, a row per phrase, a cell per instrument reading the placed pattern (
Ri),≡≡for notes or··. A opens a phrase on that instrument, A on a bar opens the section, A on the last row adds a section; A + up/down changes a repeat; B takes the phrase or occurrence out; Start plays from here through every repeat, Back+Start from the top; Back+▲▼ jumps between sections. - Section: its phrases with repeats; A opens or adds, A + up/down changes a repeat, B takes one out, Back+◀▶ changes section, Start loops the section.
- Phrase and Pattern: rows down, instruments across (three at a time), one note per instrument. Left and right step between instruments; the rest is the grid's controller scheme, so A on
▸Riffopens the pattern and A + up/down on it transposes. in on a cell with no pattern makes one there, as an M8 chain slot makes a phrase: the notes that follow on that instrument become a pattern placed at the cursor, or an empty bar to write into, and it opens. - Instruments, one tap away on the line: one instrument as a list of values. A + direction changes the value (by ten with left and right for volume, pan, tune and cents); A on sound or + instrument picks from the sounds on offer; A on mute or solo toggles it, on the name renames; Back+A duplicates; B on the name removes; Back+◀▶ moves between instruments.
- ≡ (or Esc): full view, new song, save, load, and the song list.
It is the same song, cursor and undo history as the full view, so you can switch back and forth; only the note column shows in the pocket, and your column choices return when you leave.
Game controller
Pair a Bluetooth or USB controller and press any button so the browser lists it. The scheme follows LSDJ. Works on iPhone and iPad.
| d-pad / left stick | move the cursor (hold to repeat) |
| LB / RB | previous / next instrument |
| LT / RT | a bar up / down |
| A + up / down | nudge the value under the cursor (a scale degree with a key set) |
| A + left / right | nudge by an octave, 16 or 10 bpm; next fx command |
| A tap | enter the last pitch on an empty cell and advance; audition an existing note |
| B | clear the cell or selection; held with the d-pad, extend the selection |
| X / Y | audition / cycle articulation |
| Start | play or stop the phrase; in the Song view, play from the cursor row |
| Back | undo; held: + Start plays the song, + B copies, + X cuts, + A pastes, + Y duplicates, + LB goes out a level, + RB goes in |
| in the Song view | the d-pad moves the cell cursor, A opens the phrase on that instrument |
MIDI out, MIDI in, export
Out to a DAW or sampler
Open Connect, press Enable MIDI and choose an output. On macOS open Audio MIDI Setup → IAC Driver and tick Device is online; on Windows install loopMIDI and add a port. In Bitwig add Settings → Controllers → Generic → MIDI Keyboard with the IAC bus as input, set each instrument track's note input to that controller on the channel shown in Tutti's header, and arm it.
Each instrument sends on its own channel. Articulation keyswitches default to C1–G1 in list order (Kontakt shows these as C0–G0); the dynamics lane drives CC1 and the expression lane CC11; the mixer sends CC7 and CC10. Edit the sound table in src/core/sounds.js to match your library.
In from a keyboard
Choose an input after enabling MIDI. Played notes go into the cursor cell with their velocity and advance by step; chords spread across note columns. The sustain pedal skips a step, the mod wheel writes dynamics. WebMIDI is not available on iOS.
Real-time record
Press ● Rec or ⇧Return to arm; the phrase loops if it is not playing. Played notes land on the row the loop is passing, in the first free note column of the cursor's instrument (columns grow up to four for chords), and releasing the key sets the length. Stop disarms, and the whole pass is one undo step.
Export
Export .mid writes a type 1 Standard MIDI File at 960 PPQ: a conductor track with tempo, meter and a marker at every section, then one instrument per instrument with a program change, notes, controllers and keyswitches. Or drop the file on a DAW arranger.
Songs, autosave, files
Install it. Tutti is an installable web app: use your browser's install or Add to Home Screen option and it opens full screen with its own icon. Once opened it works offline, and the instruments you have played stay available without a network.
Every song you create, load or edit is saved in this browser a moment after each change, and the address bar names the open song and phrase (#song=…&phrase=…), so a refresh or a bookmark brings you back. Delete removes your song, or resets a built-in example to its original.
Save downloads the song as JSON; Load adds a saved file to the list. The format (version 4: instruments, patterns, phrases with material per instrument, sections, and an arrangement of sections) is described by a JSON Schema and the domain model; files from Tutti 3 and earlier are not read. Built-in examples are written in code with a compact line() notation in src/core/examples.js; copy one to sketch a piece in text.
The preview plays the samples sound by default: a bundled orchestra derived from VSCO 2 Community Edition (public domain), with sustain, staccato, pizzicato, tremolo, muted and roll articulations and two dynamic layers blended by the dynamics lane. Samples load per instrument the first time a song needs them, with progress in the status line; instruments without samples (the synths) and notes played before loading finishes use the sketch synth, which you can also choose outright in ⚙ View's listen group, next to the preview switch. Neither replaces a real library over MIDI; they are for judging orchestration while you write.
Sound banks. Open Sounds at the foot of the Instruments panel: its banks bar loads other ensembles: Jazz combo (piano, vibraphone, tenor sax, upright bass, drum kit), Folk group (fiddle, folk harp, recorder, harmonica, frame drum, hand percussion) and Electronica (FM piano, clavisynth, drum machine, lead, pad, pluck), all from public-domain samples, or any bank.json by URL. The Symphony orchestra is the bank loaded by default and otherwise like any other: click its chip to unload it (instruments a song uses stay), or to hide it while a song uses it. The orchestra has a harp, a tuba and a sampled choir voice (Sonatina Symphonic Orchestra); folk adds banjo (a plucked-string model), an Irish flute (a baroque alto recorder standing in for a wooden flute), harmonica and a washboard kit; jazz adds a sampled classical guitar (FreePats) and alto and bass saxes derived from the tenor samples. The electronica drum machine covers the whole General MIDI percussion map (with C4 as middle C the kick sits at C2, the snare at D2, the hats at F♯2 and A♯2, and so on up to the woodblocks at F4); the status line names the piece under the cursor. Loaded banks' instruments appear grouped in the Instruments panel's instrument list, so you can add a single instrument to an orchestral song. A song remembers the banks it uses and loads them when opened. Drum kits play on mapped notes only; the status line names the piece under the cursor.
Instruments and sounds
An instrument is a player in your song; a sound is what it is made from, and comes from a bank. The Instruments panel has a row per instrument: its name, its sound, whether that sound is sampled (SMP) or synthesised (SYN), ▶ to hear it, volume, pan, mute and solo. ⋯ opens the rest: tune in semitones, cents, level trim in dB and release scale, with ↺ to return them to the sound's own; MIDI channel and note columns; the articulations the sound has (click one to hear it, outlined ones are real recordings, the others fall back); and, when the row has no room for them, ↑ ↓ and remove. A row whose tuning, trim or release differs from its sound says so beside ⋯, as +12 −8c.
All of this belongs to the instrument and is saved in the song, so several instruments can share one sound. ⧉ makes another player from the same sound with the same settings and no notes: two fiddles a few cents apart and panned left and right, a second harp an octave down, a quieter copy of the pad. The samples load once. Tuning, trim and release shape the preview only; exported MIDI keeps the written pitch. The Crossroads reel shows it: Fiddle and Fiddle II are one sound, and the second plays the first's patterns an octave down.
A new song has no instruments: it opens here with the sounds showing, and the empty grid offers + instrument until you have chosen one. On a wide screen each row also ends with ↑ ↓ and × to reorder and remove; on a phone those are behind ⋯.
+ instrument adds a player from the chosen sound. Sounds underneath lists every sound of the loaded banks with its source, its articulations and ▶ to audition, + to add an instrument from it (with a count of those already using it), and two scopes: the live output and the waveform of the sample that last played.
Writing a first phrase
Plan one chord per bar, for example A minor, F, C, G. Put the roots on Basses and Cellos with step 16. Give Violins II and Violas one chord tone each per bar, moving each voice to the nearest tone. Fill the middle with an open fifth on the two Horns columns. Add a pulse: pizzicato basses on beats 1 and 3, or staccato bassoon on step 2 alternating root and fifth, timpani on tonic and dominant with a roll into the repeat. Write the melody last on Violins I or Flute, chord tones on the beats, and shape the phrase with a dynamics ramp from 30 to 60 across the four bars. Then grow it: in the Song view add a copy of the phrase with + phrase… and change only its last two chords, so section A is an eight-bar period; add a section B for contrast and play A again after it. When a figure repeats, such as the bass pulse, select it and Make pattern, then place it with a shift under each chord instead of retyping it.
Tutorials
Four pieces built from an empty song, step by step: a symphonic period, a twelve-bar blues, a reel and an electronica track. Each one starts with the theory you already know and shows where it lands in Tutti. Every tutorial has a finished cousin among the built-in songs (Files → the examples), so you can open one and compare.
Theory in Tutti's words
Tutti has no chord symbols yet (they are next on the roadmap); harmony is what the voices spell. Everything else you know has one home:
| you think | in Tutti |
|---|---|
| key, mode | the key of the song, or of a section (that is a modulation), or of a phrase, set from the ▾ beside each in the map. Typing stays chromatic: a key never moves a note you typed. It decides what the pad dims, where , . move a selection by scale degree, what Rnd pitch draws from, and where a placement's shift lands. |
| a chord progression, one chord per bar | a bar is 16 rows at sixteenths. The bass column spells the roots; the middle voices spell the chord tones across instruments and across an instrument's note columns (divisi, ⇧] adds one). There is no chord object: the chord is what the bar's voices say. |
| voice leading | each voice is a column; move each to the nearest chord tone. A note in a column lasts until the next note in that column, so a common tone is one long note (] lengthens). |
| a motif and its development | a pattern (Make pattern on a selection) and its placements. Transpose is chromatic; shift is a sequence in the key; octave, dynamics and repeat are the rest. Detach a placement to vary one copy by hand. |
| form: AABA, verse and chorus, exposition and recapitulation | the arrangement of sections, each with a repeat, in the Song view. A section is made of phrases with their own repeats; a phrase can sit in two sections and a section can play twice. |
| meter, note values, swing | rows: at the default row size a row is a sixteenth, so step 4 writes quarter notes and step 2 eighths (⇧- ⇧=). Meter and row size are the phrase's. Swing is the phrase's groove: rows stay straight on screen and playback swings. |
| dynamics and hairpins, accents | the dyn lane (CC1) with ramps for hairpins (a value, then L; or Interpolate on a selection); vel per note for accents; EXP in the fx cell for a swell inside one note; a placement's dynamics for a softer statement. |
| articulation, bowing, mutes | the art cell: the digits the status line lists for that instrument (1 sus, 2 leg, 3 stc, 4 piz…). A row's articulation holds until the next. |
| tempo, ritardando | bpm in the header and the tempo lane in the gutter: a value, then L to ramp to the next. |
| orchestration, ranges, doubling | instruments made from sounds; the status line shows the range under the cursor. Doubling at the octave is copy, paste, ⇧=. Two players of one sound are two instruments (⧉) a few cents and a pan apart. |
Hex is the one thing to get used to: velocity and dynamics are two hex digits, 00–7F. 40 is 64, about mezzo-forte; 60 is 96, forte; 28 is 40, piano. The status line always shows the decimal value under the cursor.
A symphonic period in D minor
Compare: Brass chorale, Adagio for strings. The plan is a four-bar phrase over Dm · B♭ · Gm · A (i, VI, iv, V), grown into an eight-bar period, a contrasting section in the relative major and a return.
Set up
- Files → New. The Instruments panel opens with the Symphony orchestra's sounds. Pick each sound in the + instrument selector and add it, in this order so the grid reads like a score from the bottom: Basses, Cellos, Violas, Violins II, Violins I, Horns, Flute, Timpani.
- Set bpm 72 in the header. Press the ▾ beside Song in the map and set the key: root D, scale natural minor. Now the pad dims notes outside D minor and the degree keys know the scale.
- The phrase is already 64 rows of 4/4 at sixteenths: four bars, one chord each. Press Esc to close the panel.
Bass and harmony
- Roots, one per bar. Click Basses' note cell on row 0. Raise the step to 16 with ⇧= (the status line shows it) and set octave 2 with - =. The piano layout is Z C, S C♯, X D, D E♭, C E, V F, G F♯, B G, H A♭, N A, J B♭, M B, with Q–P the same an octave up. Type X: D2 lands on row 0, lasts 16 rows and the cursor jumps to row 16. Press - for octave 1 and type J, B, N: B♭1, G1, A1 on rows 16, 32 and 48. Press Space: the four roots loop, and you have a harmonic rhythm to build on.
- Cellos an octave up. Select the Basses column (⌘A), ⌘C, Tab to Cellos, Home, ⌘V, then with the pasted notes still selected ⇧= raises them an octave. The loop picks it up next time round.
- Inner voices by nearest tone. Step 16 still. Violas: A3 · B♭3 · B♭3 · A3 (the fifth of Dm, the root of B♭, the third of Gm, the root of A: each a step or a common tone away). Violins II: F4 · F4 · G4 · E4. Horns get an open fifth in two columns: ⇧] on Horns adds a second note column; column 1 D3 · B♭2 · G3 · A3, column 2 A3 · F3 · D4 · E4. Nobody has the third of A yet: C♯ is the melody's job, so the cadence has somewhere to go.
- A pulse. Timpani, step 8: D3 · A2 on beats 1 and 3 of bar 1 (rows 0 and 8), then D3 · D3 (the common tone under B♭), G2 · D3, A2 · A2. On row 56 type A2, lengthen it to 8 rows with ], move to its art cell and press 2: a roll (the status line lists Timpani's articulations as 1 sus 2 rll 3 stc) into the repeat.
Melody, doubling, shape
- Violins I last, step 4, chord tones on the beats and passing notes between. Bar 1 (Dm): D5 E5 F5 A5. Bar 2 (B♭): B♭4 D5 F5 D5. Bar 3 (Gm): G4 B♭4 D5 G5. Bar 4 (A): E5 C♯5 then A4 on row 56 lengthened to 8. Move to row 0's art cell and press 2 for legato; a row's articulation holds until the next. Play: the E5 to C♯5 to A4 is the cadence, and the C♯ is the leading tone the inner voices left out.
- Flute doubles the violins an octave up: ⌘A on Violins I, ⌘C, Flute, Home, ⌘V, ⇧=. If a note leaves the flute's range the status line says so under the cursor.
- A hairpin across the phrase. On Violins I's dyn cell, row 0, type 3 0 then L (ramp); row 63, type 6 0. Or select rows 0–63 of the dyn cell and press Interpolate. Do the same for the strings, and give the Horns a hold at
40(a value then S). Basses and Cellos: put the cursor on row 32's art cell and press 4: pizzicato for the second half, sustain again on row 48 with 1.
Form
- An eight-bar period. Click Song in the map. On the phrase row press + phrase… and choose a copy: A2. Open it and change only the last two bars, so the antecedent ends on the dominant (A) and the consequent on the tonic: bar 3 B♭ (roots B♭1, inner voices as before), bar 4 D minor with the melody landing on D5. Section A now reads
A1 A2. - A contrasting section. + section…, new: section B with phrase B1. On B's bar set its key to F major, the relative major: same notes, new tonic, and the degree keys now count from F. Lighten the texture: pizzicato in the low strings (art 4), the melody on Flute alone, Horns out. Over F · B♭ · C · F write it the same way, bass first.
- Return. + section…, and choose section A from the list of existing sections: the arrangement reads
A B A. Set A's repeat to ×2 with its × field if you want the period heard twice before B. Put the cursor on the first row and press Space: Play from here goes through every repeat and stops at the end, and the section bars count 1/2, 2/2. - The pulse as a pattern. Back in A1, select Timpani rows 0–15 and press Make pattern: the bar becomes
▸Timpani. Copy the tag (⌘C with the cursor on it) and paste it on rows 16, 32 and 48 of each phrase; on each tag, , and . shift it by scale degrees: , twice for B♭ (D down to B♭ in D minor), . three times for G, four for A. The rhythm is written once and follows the harmony; edit the pattern (Enter on a tag) and every bar changes. - Ritardando into the end. In the last phrase, the gutter's bpm cell on row 48: type 72 then L; row 63: 52. Then Files → Export .mid to take it into a DAW with a marker at each section, or enable MIDI in Connect and play it straight into your library.
A twelve-bar blues in F
Compare: Blue in F. The twelve bars are F7 · B♭7 · F7 · F7 | B♭7 · B♭7 · F7 · F7 | C7 · B♭7 · F7 · C7: three four-bar phrases in one section, the head, played twice, then solos.
Set up
- Files → New. In Instruments open Sounds at the foot of the panel and click Jazz combo in its banks bar; the sounds appear in the list. Add Upright bass, Drum kit, Piano, Guitar, Tenor sax.
- bpm 132. Song key: F, mixolydian: the flat seventh is in the scale, so the pad and the degree keys agree with a dominant-seventh blues. The blue notes (A♭, B) are outside it and you simply type them; a key never refuses a note.
- Swing lives in the groove. Press ▾ beside the phrase name: groove, swing 8ths medium. Rows stay straight eighths on screen; playback swings them. The three phrases each need it, so set it on this one before copying.
Rhythm section, one bar at a time
- Walking bass, step 4, quarter notes. Bar 1 over F7: F2 A2 C3 D3, root, third, fifth and the sixth as an approach to the B♭ below; bar 2 over B♭7: B♭2 D3 F3 A♭3, where the ♭7 walks down to the A of the next F7; bars 3–4 F7 again: F2 A2 C3 D3, F2 A2 C3 E♭3. Chord tones on 1 and 3, an approach note into every new root. Space after the first bar and keep writing over the loop.
- Drums in columns. The kit is a map: kick C2, snare D2, closed hat F♯2, pedal hat G♯2, ride D♯3 (the status line names the piece under the cursor). Give the kit three columns (⇧] twice). Column 1, step 2: D♯3 on every eighth, the ride; select bar 1's ride and press Fill to repeat the first row every step. Column 2, step 8, starting row 4: G♯2, the pedal hat on 2 and 4. Column 3, step 8, from row 0: C2 at velocity
38, the feathered kick on 1 and 3. Velocities are hex in the vel cell, so the ride at54, the hat at46. - Piano comping in the Charleston rhythm: hits on the "and of 2" (row 6) and beat 4 (row 12). Four columns for a rootless voicing; over F7: A3 E♭4 F4 A4 (third, seventh, root, third: the bass has the root, the third and seventh say the chord). Type each note on row 6 with step 2 and shorten to 2 rows with [, then on row 12 lengthen to 3. B♭7: A♭3 D4 F4 B♭4; C7: B♭3 E4 G4 C5. Notice the voice leading: E♭→D, A→A♭, one note moves.
- Guitar four-to-the-bar, three-note shells, step 4, each note 2 rows: F7 A2 E♭3 A3; B♭7 A♭2 D3 F3; C7 B♭2 E3 G3. Dyn hold at
46: it sits under the piano. - Twelve bars. With bar 1's rhythm section done, select all four bars' worth and copy the bar down (⌘D duplicates a selection right below), then fix the chords of bars 2 and 4 by the tables above. Press + in the phrase settings twice for phrases A2 and A3 (empty, shaped like A1, in the same section); copy A1 into each with ⌘A twice, ⌘C, ⌘V, and rewrite their bars: A2 is B♭7 B♭7 F7 F7, A3 is C7 B♭7 F7 C7. A pattern would do it faster: select the bass's F7 bar, Make pattern, and place it with . shifts of +3 (B♭) and +4 (C) in F mixolydian; the walk keeps its shape and its scale.
The head and the form
- The head on tenor sax, step 2. A call in A1: C4 · E♭4 F4 F♯4 G4 (held 4) · · F4 E♭4 C4 (held 4), the F♯ being the blue ♯4 passing to the fifth; leave bars 3–4 to breathe, or answer in bar 3. A reply in A2 a fourth up over B♭7: B♭4 · A♭4 F4 D4 F4… and a turnaround in A3 that lands on C. Velocity the accents:
60on the long notes,50on the passing ones. Dyn ramp5Ato6Eacross A3. - Lay back. On the snare's or a sax note's fx cell type D then
20:DEL 20pushes that row an eighth of a row behind the beat. Humanize on a selection of hats does this at random. A fill: on rows 62–63 of A3, snare D2 in the kick column withRET 04thenRET 08in the fx cell. - Head twice, then solos. In the Song view rename the section Head and set its × to 2. + section… new: Solo. Add its phrases with + phrase… → copy of A1, A2, A3 (a copy, not a reuse, because the sax line changes); clear the sax in each. Sketch a chorus on the Vibraphone: select 8 bars of its note column, Rnd pitch draws in-key pitches within the selection's range, and Rnd vel loosens it; then keep the good bars and rewrite the rest. Arrangement: Head, Solo ×2, Head. Loop the Solo section (⟳ loop on its bar) while you play along over MIDI in, or arm ● Rec and let the phrase take what you play.
A reel in D
Compare: Crossroads reel, Reel. A reel is a tune in continuous eighths over two-chord-a-bar simplicity, A part and B part each played twice: AABB. The chords here are D · G · D · A in the A part and D · G · A · D in the B.
Set up
- Files → New. In Sounds load Folk group. Add Fiddle, Irish flute, Banjo, Folk harp, Harmonica, Frame drum, Hand percussion. Then, on the Fiddle's row, press ⧉: Fiddle II, the same sound as a second player. In ⋯ set the first's pan to 40 and cents −6, the second's pan 88, cents +7, trim −2.
- bpm 112, key D major. The phrase's 64 rows are four bars; a reel part is eight, so each part will be a phrase with a repeat, or two phrases: your choice. This tutorial uses one four-bar phrase per part and lets the repeats do the rest.
The tune and its players
- The tune on Fiddle, step 2, arpeggiating each bar's chord with passing notes: bar 1 (D) D5 F♯5 A5 F♯5 D5 F♯5 A5 B5; bar 2 (G) A5 F♯5 D5 F♯5 E5 D5 C♯5 E5; bar 3 D5 F♯5 A5 F♯5 D5 F♯5 A5 B5; bar 4 (A) A5 F♯5 E5 C♯5 D5 (held 4) · D5 (2). Art cell on row 0: 2, stc, for the bowed attack of a dance tune. Vel
64. - Make it a pattern. ⌘A on the Fiddle, Make pattern, and in the Song view's pattern list rename it Reel A. Now Fiddle II: put the cursor on the tag, ⌘C, move to Fiddle II row 0, ⌘V: the same pattern placed on the second player. On its tag press ⇧- for an octave down and < a few times for softer. Two fiddles, one tune, written once; edit the pattern and both follow. The Irish flute doubles at pitch the same way, sus articulation, softer.
- Banjo rolls, one per chord. Bar 1, step 2, a forward roll on D: D4 F♯4 A4 D5 F♯4 A4 D5 F♯5. Select the bar, Make pattern, rename it Roll. Paste the tag on rows 16, 32 and 48, then shift: . three times on bar 2's tag (up to G, the fourth degree of D major), none on bar 3, . four times on bar 4's (A). The shift is diatonic, so a roll shifted to the sixth degree would come out B minor by itself: that is what shift is for, and why it beats transposing by semitones here.
- Harp step 4, a broken chord per bar: D3 A3 D4 F♯4, then the same on G (G3 D4 G4 B4) and A (A3 E4 A4 C♯5), or a pattern with the same shifts. Harmonica holds a drone: two columns, D5 and A4, one note per bar lengthened to 16 rows (], or step 16); on the A bar swap to A4 and E5. Dyn hold
3C. - Bodhrán on the Frame drum, step 2 across the bar: C2 (large hit) G2 G2 G2 C2 G2 G2 D2, that is the low hit on 1 and 3, small hits on the eighths between and a muted low on the "and of 4"; velocities
64 3C 32 46 60 3C 32 50. Hand percussion: a shaker (C3) on every eighth at38, and a tambourine (F♯2) on row 12. The status line names each piece as you move over the kit.
Form and feel
- The B part. Song view, + phrase…, copy: B1. Clear the Fiddle's tag and write the B tune an octave up over D · G · A · D: D6 C♯6 B5 A5 B5 A5 F♯5 A5 | G5 F♯5 E5 F♯5 G5 A5 B5 C♯6 | D6 C♯6 B5 A5 B5 A5 F♯5 A5 | G5 E5 C♯5 E5 D5 (4) · D5 (2). Make it a pattern too, Reel B, and give it to Fiddle II and the flute as before. Fix the roll shifts for the new chord order.
- AABB. Move B1 into its own section: + section… new (B), then on the A section remove B1 and on B add it with + phrase… → existing. Set each section's × to 2. The arrangement reads
A×2 B×2; Space on the top row plays the whole thing and stops, or ⟳ loop keeps one part going while you tune a line. - Lift. A reel is straight, but a light lilt is a groove: try swing 8ths light on both phrases and decide by ear. Accent the tune's downbeats with vel
6Aon rows 0, 8 and so on, and give the frame drum a crescendo into the B part with a dyn ramp over its last bar.
An electronica track in A minor
Compare: Night drive. Four on the floor over Am · F · C · G (i, VI, III, VII), built from one bar of drums and one bass riff that a pattern carries through the changes; a Verse and a Drop.
Set up
- Files → New. Load Electronica in Sounds; the orchestra's synths stay on offer too. Add Drum machine, Synth bass, Pad, Synth arp, Pluck, FM piano, Clavisynth, Lead.
- bpm 124, key A natural minor. The phrase's four bars are the four chords.
One bar of drums, one bar of bass
- The beat on the Drum machine, four columns (⇧] three times). Column 1, step 4: C2, the kick, on rows 0 4 8 12 at
6E. Column 2, step 8 from row 4: D♯2, the clap, on 2 and 4. Column 3, step 4 from row 2: F♯2, the closed hat on the offbeats at46. Column 4, step 2 from row 1: F♯2 on every odd row at28, the ghost hats; then on each of those rows' fx cell type C70:CHA 70plays the row about 45% of the time, so the hats shimmer instead of tick. Press Space: one bar loops. - Four bars from one. Select the drum machine's rows 0–15 and Make pattern: Beat. On its tag press ] three times:
▸Beat ×4, one placement covering the phrase. A change to the pattern changes every bar; the loop grows to four bars on its own. - The riff. Synth bass, step 2, octave 1: A1 A2 A1 A2 A1 A2 A1 A2 across bar 1, the low notes at
64and the high at54, art 2 stc so they pump. Select the bar, Make pattern, rename it Riff. Paste its tag on rows 16, 32 and 48, and shift each by scale degrees to follow the chords: bar 2 , twice (A down to F in A minor), bar 3 . twice (up to C), bar 4 , once (G). The tags read▸Riff −2,+2,−1; the riff is written once and stays in A minor under every chord. Transpose (- =) would move it by semitones instead, when you want it chromatic.
Harmony, colour, movement
- The pad holds each triad for its bar in three columns, step 16: A3 C4 E4 · F3 A3 C4 · C4 E4 G4 · G3 B3 D4. Chord tones one step apart between bars: that is voice leading, and the pad sounds smooth because of it. On row 0 of each bar's fx cell type E
1C:EXPshape 1 (a swell) at depth C inside every held note. Dyn ramp3Cto60across the phrase so the whole bed rises into the repeat. - An arpeggio without writing it. Synth arp, step 16, one note per bar: A4 F4 C5 G4, the chord roots up an octave. On each bar's fx cell type A
37:ARP 37cycles the note, +3 and +7 semitones every row: root, minor third, fifth. For the major chords (F, C, G) use47: the nibbles are the intervals, so a major triad is 4 and 7. - Pluck on the offbeats (rows 2 6 10 14, step 4), the fifth of each chord: E4 · C4 · G4 · D4, stc,
46. FM piano stabs on beat 1 of each bar, the triad in three columns, 6 rows long, then again on row 8 for 4. - A fill into the repeat. Rows 62 and 63 in the kick column: D2, the snare, at
5Aand6E, withRET 04andRET 08in the fx cell: four then eight hits inside one row. The pattern's last row keeps its ghost hat but loses theCHA, so the fill always lands.
Verse, Drop, form
- The Drop. Song view, + section… new: Drop, then on its phrase row choose a copy of the Verse phrase. In the Drop: open hats (A♯2) on rows 6 and 14 in the clap column at
50, a crash (C♯3) on row 0, Clavisynth stabs (the triad, 1 row long, stc) on the "and of 2" and beat 4 instead of the FM piano, and the Lead: step 2, A minor pentatonic (A C D E G), E5 · G5 A5 (held 4) · · G5 E5 D5 (4) · · C5 D5 E5 (6), then an answer that climbs to B5 and lands on A5. Sketch it with Rnd pitch over a selection if you like, then keep what works. - Arrangement. Set the Drop's phrase × to 2, and add the Verse again after it with + section… → existing:
Verse Drop Verse, with the Drop phrase playing twice. Cursor on the first row, Space: Play from here runs through it and stops. ⟳ loop on the Drop while you work on the lead. - Mix. Tick mixer in ⚙ View. Pad down to 70, panned a little left; press ⧉ on the pad's Instruments row for a second pad, cents +8, panned right, and place the same held notes an octave down on it for width. Kick and bass stay centred and loudest. Solo the drums (⇧-click the name) to check the fill, and mute the lead in the Verse by simply leaving it out there: what an instrument plays in a phrase is all in that phrase.