Manguebyte

The Manguebyte ecosystem

Aratu

A live-coding language that reads like music: measures, beats and note values first, in Portuguese, Spanish and English, in the browser. In development, and playing on Manguebyte.

Try it in the browser

In development. The language reads, checks and schedules every example in its book, and the editor runs in the browser with nothing to install. Running inside a DAW is planned.

Aratu, an orange mangrove crab wearing headphones, coding music on a laptop

Time the way a musician counts it

Aratu is a live-coding language and environment for people who know music. Measures, time signatures, note values and tempo come first, so that what you type is laid out in time the way a musician already thinks about it.

Note names work in solfège (dó4 ré4 mi4) as well as in letters, and the keywords themselves can be written in Portuguese, Spanish or English. When a bar does not add up, Aratu says so in a musician’s words, in any of the three. It runs in the browser today; running inside a DAW, in step with the host’s transport, is planned.

Three places in the editor

Learn
A course of 24 lessons, from the first sound to a whole piece, made for the classroom: rhythm and meters, Brazilian percussion, melody and harmony, dynamics and form, tempo and feel, playing live, sound and mixing. It ends with a maracatu project. Every example plays on the page, and every exercise is checked by what it plays, with what differs told bar by bar.
Manual
The whole language in 21 chapters, in the same order as the course, with every example playable.
Play
A free editor with an editable rhythm map, a knob beside every number that sets the tempo or the sound, and a Sounds panel. A change made while it plays comes in at the next bar line, or at the next beat. A stage mode shows only the code, full screen, for playing in front of an audience.

Built on Manguebyte

The editor plays through manguebyte-web, Manguebyte’s engine for the browser: every voice in its Sounds panel, from sampled instruments to modelled strings, FM, an organ, an acid bass and a synth, each part’s effects, and the master bus with its true-peak limiter. The Brazilian percussion lines, the guitar’s golpe and the clap still play on a small Web Audio stand-in until Manguebyte has samples for them. The engine itself is still in progress: tested natively and in Node.js, not yet under load in a browser.

Why “Aratu”?

The aratu is a crab of the mangrove, the mangue of Recife that gave manguebeat, and Manguebyte, their names.

A taste

From Aratu’s README. A space separates beats, symbols written together share their beat (cc is two eighths), _ holds and - rests; chords are written as a lead sheet, and strums with d and u.

Aratu
meter: 4/4
tempo: 96
key: A minor

drums {
  hh = cc cc co cc
  bd = b - b -
  sd = - s - s
}

bass = | a2 _ e2 _ | f2 _ c3 _ |

guitar {
  chords = | Am | F | C G | G |
  strum  = D du -u du
}
From aratu/README.md at commit 40e6286, as it is in the file.

What its tests check

Aratu has its own repository and CI, at commit 40e6286. These tests run there on every commit:

Read more

The Manguebyte ecosystem

Two more projects from Recife grow from the same mangue, built to run on Manguebyte.

  • This framework

    Manguebyte

    The open-source audio framework for Rust, under MIT or Apache-2.0. Aratu already plays on its browser engine; Parabolic is to be built on it.

  • In development

    Aratu

    A live-coding language that reads like music: measures, beats and note values first, in Portuguese, Spanish and English. Its editor runs in the browser and plays on Manguebyte.

  • Planned

    Parabolic

    A tool for musicians to record their own instruments and turn them into plugins and samplers without writing code.