TuttiCodeGuia do TuttiCode

Melodies with do re mi

Write notes in solfège (do re mi fa sol la si) wherever a note name goes; Export to Strudel gives letters.

Esta página ainda não foi traduzida, por isso é exibida em inglês.

Solfège is a note name

Wherever a note name goes, you can write its solfège name instead: do re mi fa sol la si. TuttiCode uses fixed do: do is always C, re is D, sol is G, whatever the key. so and ti work too (the same as sol and si).

note("do re mi fa sol la si do4")
Abrir no /TuttiCode

Only the name differs: note("do re mi") plays exactly what note("c d e") plays.

Sharps, flats and octaves

Add sharps, flats and octaves as you would to a letter: do#4, mib (E flat), sib3 (B flat), fa#. A name without an octave is in octave 3, like c. Capitals work too: Do, SOL.

note("<do4 mib4 sol4 sib4> [fa#3 la3]").s("piano")
Abrir no /TuttiCode

Scales and chords

Scale roots take solfège: .scale("re:minor"). Stack names with commas to play a chord.

n("0 2 4 <7 6>").scale("<re:dorian sol:mixolydian>")
Abrir no /TuttiCode
note("<[do3,mi3,sol3] [la2,do3,mi3] [fa2,la2,do3] [sol2,si2,re3]>").s("piano")
Abrir no /TuttiCode

Chord symbols (chord("C^7"), .voicings()) keep their letters: there do already means D diminished (D and o).

A folk tune

Many songs are learned as do re mi. Here is the opening of the Chinese folk song Mo Li Hua ("Jasmine Flower"), which uses only five notes: do re mi sol la.

setcpm(20)
note("mi4 [mi4 sol4] [la4 do5] [do5 la4] sol4 [sol4 la4] sol4 ~").s("piano")
Abrir no /TuttiCode

Those five notes are the pentatonic scale. Write the tune as steps of the scale with n() and .scale("do4:pentatonic") (0 is do, 1 re, 2 mi, 3 sol, 4 la, 5 the next do), and a new root moves the whole tune:

setcpm(20)
n("2 [2 3] [4 5] [5 4] 3 [3 4] 3 ~").scale("<do4:pentatonic sol3:pentatonic>").s("piano")
Abrir no /TuttiCode

A first song: do re mi and drums

Give the melody a beat. The drums go in a group with one fader (group and .group, see Mixing: groups), so the whole kit sits under the tune:

setcpm(25)
group("drums").mix({vol: -6})

kick: s("bd*2 ~ bd").bank("tr808").group("drums")
hats: s("hh*8").bank("tr808").group("drums").mix({vol: -6})
tune: note("<[do4 mi4 sol4 mi4] [la4 sol4 mi4 re4]>").s("piano")
bass: note("<do2 la1>").s("sawtooth").lpf(500)
Abrir no /TuttiCode

Where a word is not a note

In s() and sound() words are sound names, so s("do") looks for a sound called "do". n() is also a sample or soundfont index, so n("do") is a word too: write note("do"). Solfège means a pitch only in note() / .note(), .scale() roots, .mode() and .anchor(), and .add() / .sub() / .transpose() on notes.

Exporting to Strudel

strudel.cc reads letter names only. "Export to Strudel" (the code page's Export & Share tab) rewrites solfège to letters for you ("do re mi" becomes "c d e"), so the program plays the same there.