Programmes like usine can be used to play live
but allso to "render" music.
Midifiles have more than the classical parameters (pitch, velocity) but allso information about the DURATION of a note;
When a midiplayer plays a midi file this has an advantage over live playing: the duration of a note (or musical event) is known IN ADVANCE!
This gives tremendous possibilities like choosing a sample, soundcolour, effect by knowning the length of a note.
Playin back midifiles could be spectacular if the parameters allso use the length of notes to change the music;;;
A new musical world comes to the mind!
This must not be to difficult to implement, has somebody allreade done this?
Eric Feremans
Composer
ex-prof at the Royal Conservatory of Brussels (elektronic music)
eric.feremans@pandora.be
midi player wit pitch, velocity and DURATION output +tempo input
-
23fx23
- Member
- Posts: 2548
nice idea.
im not a sequencer/pianorol expert, but i know on pianoroll in exemple there is an Array 'events' output, where it seems all infos of sequences can be decoded, each note is in fact a 5lengh array:
0: note start float beats
1: note end float beats
2: midi message type
3: note/data1
4: velocity/data2
...so it seems actually doable to "know lenght in advance" if substracting booth end and start positions, via using a counter that count notes(ie each time a note on mess is received), extract the corresponding 5lenght sub array of "envents" array (using extract sub array module where start is (count note * 5) and lengh is 5 ) , then subtract index2-index1 will output duration of the actual playing note in float beats.
but you'r right might be a nice build-in add indeed, this indeed can have for sure nice sound
control extends, like swiching a short snare sample if short, long if long or lot other possibilities, while keeping velocity/notes for other params as usual. 3contols over 2 is for sure a great extend.
im not a sequencer/pianorol expert, but i know on pianoroll in exemple there is an Array 'events' output, where it seems all infos of sequences can be decoded, each note is in fact a 5lengh array:
0: note start float beats
1: note end float beats
2: midi message type
3: note/data1
4: velocity/data2
...so it seems actually doable to "know lenght in advance" if substracting booth end and start positions, via using a counter that count notes(ie each time a note on mess is received), extract the corresponding 5lenght sub array of "envents" array (using extract sub array module where start is (count note * 5) and lengh is 5 ) , then subtract index2-index1 will output duration of the actual playing note in float beats.
but you'r right might be a nice build-in add indeed, this indeed can have for sure nice sound
control extends, like swiching a short snare sample if short, long if long or lot other possibilities, while keeping velocity/notes for other params as usual. 3contols over 2 is for sure a great extend.
-
23fx23
- Member
- Posts: 2548
mmm sorry i made a mistake that can simplify the process:
data 1 is in fact directly note length, not note end, (clever choice olivier),
so just using a getArrayElementValue of index1 will return note length.
i made a quick test using midifilter out of a pianoroll sequence, set to 'note on', linked his pass value to increment of a simple counter, so it counts note numbers each time a new note is played.
the counter will reset when sequence restart (link to 'starting' of pianoroll). /
then if using (out of counter*5)+1 as the position of "getArrayElementValue" picking the
"events array", it directly extract the actual playing note length, "in advance".
data 1 is in fact directly note length, not note end, (clever choice olivier),
so just using a getArrayElementValue of index1 will return note length.
i made a quick test using midifilter out of a pianoroll sequence, set to 'note on', linked his pass value to increment of a simple counter, so it counts note numbers each time a new note is played.
the counter will reset when sequence restart (link to 'starting' of pianoroll). /
then if using (out of counter*5)+1 as the position of "getArrayElementValue" picking the
"events array", it directly extract the actual playing note length, "in advance".
- senso
- Site Admin
- Posts: 4434
- Location: France
- Contact:
it's a good suggestion but it can easily be handled by the "events array"
It's a good candidate for an addon script?
It's a good candidate for an addon script?
Olivier Sens
www.brainmodular.com
www.brainmodular.com
