Author |
Topic: How to view 100% raw midi char ? (Read 1111 times) |
|
Skinah
New Member
MIDI-OX Rules!
Posts: 2
|
|
How to view 100% raw midi char ?
« on: Dec 20th, 2005, 10:51pm » |
Quote Modify
|
Thanks for the midiox app, I've used it for years and recommend it to a lot of people but I now need something very different out of the app... I should stress I am trying to view something which is not midi notes but random midi characters from a device I have invented. Its midi but its not in 2 or 3 byte midi format and its not sysex, its just raw midi characters... The problem is that when a midi char is sent, midiox does not display this raw data but converts it into a NOTE. How can I view the raw midi in HEX or any format would be fine even ASCII ? thanks for any help.
|
|
IP Logged |
|
|
|
Peter L Jones
Expert
Hit it
Gender:
Posts: 978
|
|
Re: How to view 100% raw midi char ?
« Reply #1 on: Dec 21st, 2005, 2:14pm » |
Quote Modify
|
Windows MIDI drivers don't let you do this. Unless you're sending valid MIDI messages, the driver won't recognise the data and pass it to the application that has the input port open. It sounds like you probably want to try a serial interface (RS-232) rather than MIDI?
|
|
IP Logged |
"...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world." -- Tony Williams
|
|
|
Skinah
New Member
MIDI-OX Rules!
Posts: 2
|
|
Re: How to view 100% raw midi char ?
« Reply #2 on: Dec 21st, 2005, 6:46pm » |
Quote Modify
|
Thanks for the reply Peter. I was hoping this would not be the case. I'm working on some midi hardware which i want to flash update by end users via midi. It has to be midi as its the only interface every user will have. Is there any way around this ? Sysex strings have their limitations (cant use 0x90 or any char with bit 7 set) or to encode my data into normal midi notes which once again dont allow for data above 127. Can you think of any way to send a full 256 Byte/CHAR via a midi interface ? Does midi allow for any full 8 bit transmision characters in its specs ? Does windows allow you to break this in sending data ? I am not limited in the recieving device, I can break the midi standard as much as I wish so if windows allows a sysex to be sent with any data byte my device will pick it up. BTW I use "midiOutLongMsg" in visual C not directX to send midi so I'm programming at a lower level if that helps. Thanks for any help you can give.
|
|
IP Logged |
|
|
|
Peter L Jones
Expert
Hit it
Gender:
Posts: 978
|
|
Re: How to view 100% raw midi char ?
« Reply #3 on: Dec 22nd, 2005, 2:09pm » |
Quote Modify
|
Many devices are updatable over MIDI using SysEx - it just means more programming on the device. Either you treat the SysEx data as a pure bit stream, packing seven bits per MIDI data byte. Or you split each eight bit byte into two bytes, four bits into each, and send those. In each case, the device takes care of reassembling the data before before storing it. At the computer, the user just has to be able to send the SysEx data reliably - they don't care about the content, of course. MIDI OX is ideal for this .
|
|
IP Logged |
"...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world." -- Tony Williams
|
|
|
Jamie OConnell
Administrator
Gender:
Posts: 2027
|
|
Re: How to view 100% raw midi char ?
« Reply #4 on: Dec 22nd, 2005, 3:43pm » |
Quote Modify
|
Peter is correct in this. If you have a MIDI Manufacturer's ID, you can send any data you wish through SysEx, as long as it does not exceed 7 bits in value. It is very common for manufacturers to send ASCII text characters split into two bytes of 4 bits, which are reassembled on the receiving end. MIDI Manufacturer ID's can be obtained from the MIDI Manufacturer's Association (MMA), although they are rather expensive.
|
|
IP Logged |
--Jamie Music is its own reward.
|
|
|
Peter L Jones
Expert
Hit it
Gender:
Posts: 978
|
|
Re: How to view 100% raw midi char ?
« Reply #5 on: Dec 23rd, 2005, 12:52pm » |
Quote Modify
|
A good place explaining SysEx is Hinton Instruments: http://www.hinton-instruments.co.uk/midi/midicode.html#msex As you can see, you're allowed to use "7D" for non-commercial use. It's a very good idea then to put some "unique" key in the immediately following bytes and to checksum the data you're sending so you can be more certain that it's for/from the device.
|
« Last Edit: Dec 23rd, 2005, 12:54pm by Peter L Jones » |
IP Logged |
"...Playing fast around the drums is one thing. But to play with people for others, to listen to, that's something else. That's a whole other world." -- Tony Williams
|
|
|
|