3 ms·
You seem to have found a significant weak spot: apart from the dubious approach of rejecting MIDI, ignoring OSC and reinventing the wheel, the assumption of oct
by HelloNurse 5y ago
You seem to have found a significant weak spot: apart from the dubious approach of rejecting MIDI, ignoring OSC and reinventing the wheel, the assumption of octaves is very gratuitous and a net complication.
MIDI supports 127 different notes and it is the synthesizer's job to decide their pitch; likewise, a piano roll has a predefined set of notes, each with its own pitch.
It's therefore very unfortunate that they decide to be much less flexible than MIDI and represent notes as
> The octave of the note, stored as an i8. For example, in 12-TET, a value of 0 means the octave with root note C4, 1 is the octave with root note C5, -1 is the octave with root note C3, etc.
> The index of the note in the scale stored as a u16. For example, in 12-TET, a value of 0 means C, a value of 1 means C#, a value of 2 means D, etc.
clearly closing the door to flat identifier spaces like the MIDI note number and to more general representations of tuning with non-octave repeating intervals or with the pitch of every note.
- BillyDM 5y agoAlso interesting. Of course I'm open to feedback. I feel that's one of the big purposes of a design document is to discuss the design decisions. My idea was if the tuning called for it, it would just ignore the "octave" part and use the u16 to have 64K available pitches that can be used. The actual tuning map is sent to the plugins in a separate message.