Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Those who are interested in MIDI

Status
Not open for further replies.

Jon Wilder

Active Member
Hello. I'm posting this thread in an attempt to get a feel for how many people we have here who are interested in MIDI stuff. If we have enough interest here on the forum, it would be great to have a subforum dedicated to all things MIDI. So if you're a MIDI enthusiast here on the forum, feel free to post up here!
 
Hi Jon - Great Idea!

MIDI is'nt hard to understand and with modern Microcontrollers easy to implement.
I would suggest you, to take Light Stuff ( like DMX 512 ) in too.
The Sub Forum can be called "Light & Sound" probably.
Therefor the Base is wider and the Subforum will be more frequented!
 
DMX 512 is cool and who don't like making light and sound work together.
 
Last edited:
I've always wanted to ask someone into music They use a interface close to I2C called I2S, is it the same protocol?
I've found some interesting articles in wikipedia.
I don't think its the same.
 
A lot of the MIDI issues are going tobe with the implementation, ie a lot of support questions on the optocouplers and interfacing etc, many of those questions might be better answered in the general electronics (or projects) sections?
 
DMX 512 is cool and how don't like making light and sound work together.

Would you kindly translate that into English language?

Sorry for the language barrier (I'm German).

Boncuk
 
I've always wanted to ask someone into music They use a interface close to I2C called I2S, is it the same protocol?

I do believe that I2S (Inter-IC Sound) is basically I2C for audio data.

However, MIDI is a switching and control protocol. The external interface is a 5mA current loop just like the old teletype systems. It uses a 5 pin DIN cable to interface external gear. Only the wires on pins 4 and 5 are used as the current loop while pin 2 is the cable shield, but pin 2 only goes to ground on the transmitting end.

On the hardware level it is 8N1 asynchronous serial (8 data bits, No parity bit, 1 stop bit), non-return to zero, and it communicates at a rate of 31.25Kbps. Every MIDI message consists of a status byte and one or more data bytes. Each byte is 10 bits wide (1 start, 8 data, 1 stop) and each byte is transmitted/received LSB first. The MSB of a MIDI byte is a "flag bit" that flags the byte as either a status byte or a data byte. If bit 7 is set, it's a status byte whereas if bit 7 is clear it's a data byte. Basically it can be said that bytes with a value of 0x00-0x7F are data bytes while bytes with a value of 0x80-0xFF are status bytes.

Status bytes tell the receiving device both the message type (i.e. Program Change, Control Change, Note On/Off, Bank Select, etc etc) as well as the MIDI channel it is sent on. The most significant nibble (i.e. the "high nibble" or the left most nibble) is the message type while the least significant nibble (i.e. the "low nibble" or the right most nibble) is the MIDI channel. This makes possible 16 message types and 16 MIDI channels. The status byte is always the first byte in the message to be transmitted.
 
Last edited:
DMX 512 is cool and who don't like making light and sound work together.


Just one wrong word I hate writing I'm bad to write backwards
 
Last edited:
DMX 512 is cool and who don't like making light and sound work together.


Just one wrong word I hate writing I'm bad to write backwards

DMX 512 is cool and I think it works the same as MIDI, but uses XLR cables instead of 5 Pin DIN cables. I'm not too familiar with the protocol yet. I'm thinking the hardware itself would be about the same except I'd think you'd need high current MOSFETs to drive the lights.
 
I have played with DMX some been wanting to make some dmx light modules. But i keep getting side tracked. Hope you get something going with the MIDI
 
I'm currently working on MIDI tutorials as we speak. I'm wanting to write tutorials that teach MIDI both software as well as hardware from the ground up. If we can get enough interest in it going around here they can hopefully be posted in a subsection here on the forum.

The hardware interface can be used for just about anything really. But the software MIDI protocol more refers to how the bytes are transmitted and flagged. As mentioned before, a MIDI message consists of 1 status byte followed by 1 or more data bytes depending on the MIDI message sent. This is something defined by the MMA as the "MIDI Specification".
 
From hardware part MiDi and DMX 512 are similar.

DMX uses a differece signal transmission like the RS485 Protocol.
So you can use RS485 driver like the SN75176.
DMX is in the opposite to MiDi not galvanic isolated.
It's better to do this, but it's not a must of specification.

Data Speed is 250kBit/s, 8 Data Bits and 2 Stop Bits!
The Frame Start is pointed by an Frame Error, followed by a Start Byte that includes most 0x00 ( = Dimmer ). Then follow 512 Bytes of DMX Channel Information.
Because there are 8 Bytes you can differ 256 different values.

The Channel finding, in receiver, can be done, by counting the Bytes after the Start Byte.
The data transfer is only unidirectional. There are no "Back" channels included.

Maximum 32 Units can be connected to 1 Master. A Unit can use 1 or more channels, up to 512 of course. Further bus drivers can be included to increase the range or to connect more unit's to the bus. The maximum Range is about 1km theoreticly. In practic use it should be under 500m.
The used cable is very importent. I'll use an CAT5 Network Patch Cable - Because it's the cheapest solution - You need much of them!

The Bus must be terminated with an 120R Resistor at the begin and the end of the bus. That can be done by a XLR Male Connector with integrated Resistor in Receiver and a fixed Resistor into the Master.

When you put 2 Line Drivers onto the Evaluation Bord you can use it for both - MiDi and DMX. The rest is software ;)
 
Status
Not open for further replies.

Latest threads

Back
Top