Page 1 of 1

Posted: 22 Apr 2010, 14:03
by patrick
I have a problem with using the "midi create message" block. Whatever I send to its MSG input, it always claims receiving a SYSTEM_RESET msg... Typically I take a MIDI filter or a MIDI unpack module and hook up all its outputs the the inputs of the MIDI create message module. All the other signals propagate fine, except the MSG one. The cable in between indicate the correct msg values (alternating between 144 and 128, as the MIDI filter (or unpack) blocks are receiving note on/off from a piano roll block, but when I click the MIDI create message block, it remains stuck to SYSTEM_RESET messages, and doesn't output note on/off.

My goal is to modify the MIDI message, so this is why I split it up and rebuild it, but so far I haven't been able to rebuild the unaltered midi message properly, so I can't go further... Is there a bug with the MIDI create message module or am I doing something wrong?

I've uploaded an example where I tried to feed the MIDI create message module using both MIDI filter and MIDI unpack, with no luck... http://sensomusic.com/forums/uploaded/test_patch.pat

Posted: 22 Apr 2010, 14:51
by nay-seven
hello, and welcome
no, there's no problem with this module
this module is not here for this purpose..
the inlet msg wait a combo box , not a direct link from a midi in

what kind of transformation do you need..?
many ways in Usine ....

you can also check the midi pack from Bsork in the download section

Posted: 22 Apr 2010, 15:08
by bsork
This isn't really a bug: The meaning of "msg" in the CreateMidi module is different from that of the MidiFilter and the Unpack script. In CreateMidi it's a listbox with 18 items where NOTEON=0 and SYSTEM RESET=17. You can eg use the Data/MapperValue module to convert the 144 to 0 and 128 to 1.

Posted: 22 Apr 2010, 15:15
by bsork
...ah, Nay - you replied when I was testing the patch... :)

@Patrick: What is it you want to accomplish? What sort or transformations are you looking for? In the mentioned util pack you might find something that does what you want to do, and there's also Amiga909's MEP MIDI scripts in the add-ons, some of which are more "esoteric" than in the util pack.

Posted: 22 Apr 2010, 17:53
by patrick
Hi folks,

Thanks for the quick answers...

The kind of ideas I had in mind was the following:
1 - have a midi note pattern (like some arpeggio played by the piano roll) ranging from note A to note B
2 - alter it. It's mostly about rescaling it: i.e. being able to change A and B and have the whole pattern shifted + compressed/expanded accordingly (I mean, the note numbers, not the timing or the dynamics)
3 - finally, "quantize" the altered pattern using a predefined note list so all the played notes belong to this list

Maybe it's not crystal clear, so an example:
1 - start with a fixed pattern C3 G3 D4 A3 E4 (Midi notes 48 55 62 57 64), and define a range containing this pattern, like [C3:C5]
2 - then change the range, like turn C3 into C4. The pattern is scaled (here compressed) from C3:C5 (48:72) range to C4:C5 (60:72), and becomes something like C4 E4 G4 F4 G#4 (notes 60 64 67 65 68). Range is controlled by faders
3 - finally, "round" the notes in the altered pattern to the closest notes belonging to an allowed note list, for instance [...A3 C4 E4 G4 B4 C5...] so in this example F4 is mapped to E4 and G#4 to G4 => final output is C4 E4 G4 E4 G4

Just an example, but basically I was interested in being able to get midi notes, mess around with their note number and rebuild the midi message...

@Bsork: I had downloaded you midi pack before posting my first message, but I thought I'd eventually want to experiment with more complex equations that what the midi transformer allows (though one could argue that I can chain them to make more complex stuff), so I wanted to have access to the midi note number as data and rebuild the message later on

@Nay: je serais bien allé à ton workshop au jardin moderne le 22 mai, mais pas de bol ça tombe le jour de mon déménagement :-(

Posted: 22 Apr 2010, 18:33
by nay-seven
here an simple example how to play with note number
Image
about Rennes , yes , what a pity.., maybe an other session..( if you have friends..they're still some places ...)

Posted: 22 Apr 2010, 21:19
by gurulogic
Interesting idea!

nay-seven,
I just tried your example and it needs a pass if change after each A=B module in order to work correctly

Any idea how we could use midi notes to transpose the incoming midi? For example, if the incoming midi were a sequence in the piano roll and the midi from the piano roll would play in the same pitch as whichever key was pressed on a keyboard.

Posted: 22 Apr 2010, 22:20
by bsork
Maybe too simple for what you're after, but the MidiFilter module has option to select between a number of scales and change the root. Perhaps together with some transposing?