Welcome to %s forums

BrainModular Users Forum

Login Register

midi player wit pitch, velocity and DURATION output +tempo input

Tell us what you'd like Usine to do
Post Reply
meesteric
New member
Posts: 8
Contact:

Unread post by meesteric » 19 May 2010, 16:52

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

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 19 May 2010, 19:36

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.

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 20 May 2010, 16:24

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".

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 20 May 2010, 16:41

it's a good suggestion but it can easily be handled by the "events array"
It's a good candidate for an addon script?

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 20 May 2010, 19:24

hey meesteric,

I ve uploaded an addon script that outputs actual playing note in float beats, or ms, linked to tempo input, didn't tried that much
with polyphonic but seems to performs well with monophonic sequences..

/addons/miditools

Post Reply

Who is online

Users browsing this forum: No registered users and 63 guests