Are you using the hardware midi ports on the Circuit or all through USB? The USB midi specs are slightly different when it comes to sysex messages if I recall and maybe the Circuit is using that style while Pd doesn't so the interface just sees the messages as bytes instead of grouping it.
On Thu, Feb 22, 2018 at 2:05 PM, mario buoninfante mario.buoninfante@gmail.com wrote:
yap, I know that at the end of the day MIDI is dealing with 1 byte at time. I was wondering why there's a difference between 2 different piece of code that generates MIDI (Pd and Hardware synth).
for example I just monitored (via USB) my Novation Circuit (a groovebox) and Gmidimonitor receives messages 81 bytes long. with Pd as I said is always 1 byte.
now my question would be, how is this possible?
I'm sure Circuit sends sysex 81 bytes long, so I know that this is correct, but still I don't know why Pd doesn't allow something like that.
cheers,
Mario
On 02/22/2018 09:58 PM, Alex wrote:
MIDI is a serial protocol, individual bits running down a single line, we now also have USB midi which is a little bit different than that but usually that is abstracted for you. The software monitor you're using likely groups these for you but in reality you simply have a stream of individual bits on the hardware line.. PD's object let you do bytes at a time instead of individual bits :)
On Thu, Feb 22, 2018 at 1:47 PM, mario buoninfante mario.buoninfante@gmail.com wrote:
Hi Alex,
thanks for your reply. I think that also using your abstraction Pd will spit out 1 byte per time (I didn't check it, but I assume that cause it's not an external in C).
about MIDI if I'm not wrong, bytes are grouped in accord with the type of message, ie Note on/off and CC are 3 bytes messages, channel pressure and program change are 2 bytes, sysex have variable length and so on. and I presume they're sent out in group.
in fact when I monitor MIDI messages coming for certain applications (I'm on Linux and I'm using Gmidimonitor) the console tells me the sysex size in bytes. so, with Pd the size is always 1 byte, but with other programming languages and softwares is variable and goes in accord with the sysex I generated.
cheers,
Mario
On 02/22/2018 09:34 PM, Alex wrote:
I haven't tested in a while but I wrote an abstraction to take a list, wrap it in the sysex start and end and output it as individual bytes: https://github.com/x37v/pure_data
midi is a byte oriented protocol..
On Thu, Feb 22, 2018 at 1:24 PM, mario buoninfante mario.buoninfante@gmail.com wrote:
Hi,
do you guys know if there's a way to send a list of sysex messages (or 1 complete message, let's say 8 bytes long) rather then 1 byte per time?
if not, do you know if there's a particular reason why it's not possible?
cheers,
Mario
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list