entone

Domain specific language for defining serial compositions. Development: gitlab entone-rust. Compositions created with entone: youtube. Other projects: entelijan.net

Plans for the future can be found here: design.txt

Syntax

A composition is called a session. A session consists of three parts. The prime tone row, tone rows and tracks. The prime tone row defines the pitches to be used in the piece, the tone rows define how those pitches are played and the tracks define how the tone rows are played.

The syntax is still work in progress. Examples can be found in entone examples

Simple session containing two prime notes, one tone row and one track

M 50 - 10 15 --------------------- R1 P 0 - ,,,,, | ,,,,, --------------------- T1 - R1

The prime tone row is defined by the midi notes 60 and 65. Base 50 + 10 and base 50 + 15. The tone rows section contains one tone row R1. R1 has direction Prime (P) and transposition of 0 (no transposition). After - follow the parameter definitions of the notes separated by |. ,,,,, means 6 parameters all with their default values. The tracks section contains one track T1 calling R1

Explain parameters octave transposition and gain

M 50 - 10 15 11 14 --------------------- R1 P 0 - 1,,,,, | -1,,,,, | ,0.1,,,, | ,0.5,,,, --------------------- T1 - R1

The first parameter is a transpose for an octave. Default is 0. The second Parameter is a gain. Default 1.0 .

Explain parameter duration

M 50 - 10 15 11 14 --------------------- R1 P 0 - ,,*2,,, | ,,*2.5,,, | ,,/2,,, | ,,/2.5,,, --------------------- T1 - R1

The 3rd parameter controls duration. The value is a multiplicator to the default duration of 500ms (120 BPM).

Explain parameter articulation

M 50 - 10 15 11 14 --------------------- R1 P 0 - ,,,0.3,, | ,,,1.5,, | ,,,2,, | ,,,0.5,, --------------------- T1 - R1

The 4th parameter controls articulation relative to duration. Default 0.7

Explain parameter envelope and timbre

M 50 - 10 15 11 14 --------------------- R1 P 0 - ,,,,2, | ,,,,8, | ,,,,,0 | ,,,,,2 --------------------- T1 - R1

The 5th parameter controls envelope. Default is 5. Envelope is defined by the used instrument. The 6th parameter controls timbre. Default 0. Timbre is defined by the used instrument.

Multiple tone rows

M 50 - 10 15 11 14 --------------------- R1 P 0 - ,,/2,,, | ,,/2,,, | ,,/2,,, | ,,/2,,, R2 R 5 - 1,,*2,,, | 1,,,,, | ,,*2,,, | ,,,,, --------------------- T1 - R1 R2 R1

A session can have multiple tone rows. Tracks contain sequences of tone rows.

Multiple tracks and tone row direction

M 50 - 10 15 11 14 --------------------- R1 P 0 - ,,/2,,, | ,,/2,,, | ,,/2,,, | ,,/2,,, R2 I 5 - 1,,*2,,, | 1,,,,, | ,,*2,,, | ,,,,, R3 R 0 - ,,/2,,, | ,,/2,,, | ,,/2,,, | ,,/2,,, R4 RI 5 - 1,,*2,,, | 1,,,,, | ,,*2,,, | ,,,,, --------------------- T1 - R1 R2 R1 T2 - R2 R1 R1

A session can have multiple tracks. Tracks are played in parallel. Tone rows have one of four directions (P : Prime, I : Inverse, R : Retro, RI : Retro Inverse)