15. Playing live
▶ Open in Aratu to hear and change the examples
While a piece plays, you change it; you do not rewrite it.
- Everything loops. Each line plays over and over, each over its own length.
- A change is one line.
hh = cc cc oc ccreplaces the hi-hat and nothing else; the other parts keep playing. - Changes land on the beat. An edit takes effect at the next bar line;
now:makes it take effect at the next beat instead:now: play fill oncebrings a fill in on the next beat, and the groove comes back at the bar line where it would have been. - Prepare ahead.
at bar 17: play fillschedules a change;at bar 17 beat 3:brings it in on the third beat (beat 2.5falls between 2 and 3), andfrom bar 17 to 24:makes it hold for those bars only: at bar 25 what held before comes back. A line can change at a bar too:at bar 9: melody = | … |plays the new melody from bar 9, from its start.play groove 3xis the same asx3. - Lengths.
overtakesbars,beats,eighthsandsixteenthsincresc,fade,rit,accel, tempo ramps and parameters:piano: cresc to ff over 6 beats. - Out and in.
guitar: outsilences a part from the next bar line andguitar: inbrings it back;all: outstops everything. They work withat barandeverytoo. - Nothing restarts. Parts keep their place in the bar when another part changes, and while the text has an error the last good version keeps playing.
The stage. To play in front of an audience, the Stage button in Play (or Ctrl+Shift+F) leaves only the code on the screen, full screen and in large type for a projector. The frame flashes on the first beat of each bar, the symbols light up as they sound and the first message shows at the foot. A rail at the top always shows the bar, the beats and the tempo, with a line that runs for the length of one bar. The buttons on the rail play and stop, bring back scenes, change the type size (A− and A+), show the rhythm map below and leave the stage; they fade when the mouse rests and stay on a touch screen. Esc leaves too. The 2 columns button splits the code in two columns, like a newspaper: the second starts where the first ends, and keeps doing so while you write. Each column scrolls on its own: scrolling one does not move the other, and each stays where you left it until the type size changes. Editing in either changes the same text. On a phone the stage has one column and its own type size. Fit the screen makes the letters smaller as the piece grows, so that all of it shows without scrolling, down to a size still easy to read; past that, the columns scroll. Off, the letters keep the size set with A− and A+, and you scroll.
Following the music and seeing the sound. The Follow button, in
Play and on stage, takes the screen to the code that is playing; it
waits while you type, click or scroll. The display shows the piece's
wave as it plays, and a click on it shows the frequencies. A line with
the name of a part or a line, a dot and wave (bass.wave) draws that
part's wave under it; with roll (drums.hh.roll), the notes of the
bar passing under a moving line, a row for each note or drum. A part's
wave is its real sound after its effects, read from Manguebyte's scope of
that part and held still on a rising zero crossing, about three cycles of
the lowest note across; a drum line, or a part the stand-in plays, is
drawn from the notes it plays. The drawings do not change the sound. The rhythm
map, under the editor, shows the piece in time: a column for each bar,
in the order it plays, with its section on top, and a row for each part;
an orange line runs across it and it scrolls along. A piece that starts
again (a form, a loop) shows one round.
The account. The Sign in button, at the top, opens a MusiMind
account, the same one MusiMind's own Aratu uses, or makes one (a name, an
e-mail, a password of 8 characters or more, the date of birth, a parent's
or guardian's name and e-mail under 18, and MusiMind's terms accepted).
Signed in, Keep it in my account saves the piece in the editor there;
from then on every change is saved about a second after the typing stops,
as a draft, and Save a version keeps a numbered version that
Versions can bring back (what the editor had is kept as a version
first). My pieces lists them, to open, rename or delete. A piece is at
most 64 KB, and its name and comments go through MusiMind's moderation.
Opening an example, a shared link or a piece from the book leaves the
account's piece as it was. The session is an access token of a few minutes
and a refresh token traded for a new pair when it runs out, kept in this
browser; Sign out ends it. The button is there only where MusiMind's
API answers beside the editor (under /api).
Playing in a DAW. The DAW button, in Play, connects to
Manguebyte's Aratu Bridge plugin on a DAW's track (port 47870 unless the
plugin is set to another, ws://127.0.0.1). The page then sends the plugin
what it would play itself, the parts, their effects and numbers, the
recorded voices' files and every note, and the plugin plays them with the
same engine, on the track; the browser makes no sound of its own. Times on
the page become beats on the DAW's timeline at the DAW's tempo, and every
bar line is put back on the DAW's beat, so the two clocks do not drift
apart. The DAW leads: its play starts the piece on its next bar line, a
jump of its cursor starts it again there, its stop stops it, and its tempo
is written in the piece's tempo: line. While the DAW loops, the piece
goes on in its own time and each lap is played. While the DAW is stopped,
the piece plays from the page and is heard in the DAW. The parts' scopes
(bass.wave) and levels do not come over the connection; the wave is drawn
from the notes. If the plugin goes away, the sound comes back to the
browser.
Sharing and recording. The Share button, in Play, copies a link
with the piece inside it: whoever opens the link hears and edits the same
piece, and Ctrl+Z brings back what was in their editor. The piece travels
in the part of the address after #, so it never passes through a server.
The Record button records everything that reaches the speakers, from
the moment it is pressed (and it starts playing, if the music is stopped)
until it is pressed again; then the file downloads, as WAV when the browser
can make one.
Stage gestures. One word changes the whole arrangement, at the next bar
line, at the next beat with now:, or at the bar named with at bar:
| Write | What it does |
|---|---|
breakdown |
the drums, the percussion and the bass go out |
build over 8 bars |
a snare roll in quarters, eighths, sixteenths and thirty-seconds, growing louder, while a highpass filter rises on every part and goes back at the end; with no length, 4 bars |
drop |
everything comes back, with a crash on the first beat |
solo bass, solo off |
only one part plays; solo off (or all: in) brings the rest back |
from bar 17 to 24: breakdown holds for those bars only.
Ready-made grooves. groove house writes the lines of a beat: house,
techno, trap, dnb, breakbeat, hiphop, funk, rock, reggaeton, funk carioca,
bossa, samba, baião, maracatu. The grooves are in 4/4. While they play,
the word lights up; a line written with the same name, in the same part,
takes the place of the groove's line.
Shortcuts. Ctrl+Enter plays or updates; Ctrl+. stops; Ctrl+/ comments
the selected lines out (they stop sounding); Alt+M writes or removes
part: out for the part of the cursor's line; Alt+S writes or removes
solo part.
Scenes. Eight places, in Play and on stage, keep the editor's piece and bring it back: click an empty scene to keep it, a kept one (or Ctrl+Shift+1 to 8) to bring it back, and Shift+click to keep over it. While the music plays, the scene comes in at the next bar line, and Ctrl+Z undoes it. The scenes are kept in this browser.