Go Down

Topic: midi message (Read 413 times) previous topic - next topic

Robbieuitos

Nov 24, 2011, 09:09 am Last Edit: Nov 24, 2011, 08:44 pm by Robbieuitos Reason: 1
Hi All,

Last few weeks I've spent my time developing a custom arduino board which reads sensors en outputs midi. It's made for a student who is developing it's own instrument. It's gonna look very nice, cause, he's a design student!  

Sending the midi is working, the hardware and software are as good as done. Only one problem pops up.
The midi controller is used with abelton live. When playing a note, Abelton will automatically start playing(as if you clicked the main 'play' button). Other midi controllers over here don't trigger the software to start 'playing' the song. I've checked the format of the messages I send, and the messages send by an other midi controller. But they appear to be exacly the same.  

Also some notes are not 'map-able'. They always play the note send by the midicontroller, and not the note they were mapped to in Abelton.

Does anyone has any idea? I would be very thankfull!

Thanks in advance,
Rob.
My best Arduino project: Bench. Interactive transformable furniture.

Well, you have to be a little bit more detailed... how do you send data to the computer?

Robbieuitos

hi wedontplay,

thanks for your reply.

The hardware is exactly the same as the midi shield, that works.

The midi that I send comes down to this;

Code: [Select]
         
         //piezo2
         //Serial.print("c3 ");
         if(midiToSend[i] != -1){
           noteOn(0x91, 0x40, 0x45);
         } else {
           noteOn(0x81, 0x40, 127);
         }


/*Send out midi*/
void noteOn(int cmd, int pitch, int velocity) {
  Serial.write(cmd);
  Serial.write(pitch);
  Serial.write(velocity);
}



To my idea nothin else is sended as a note on, and than off. Abelton live starts it sequencer(as hitting the main 'play button') when midi is received from my board. Could it be a problem that i send my data on midi channel 1?

Thanks!
Rob.
My best Arduino project: Bench. Interactive transformable furniture.

Grumpy_Mike

Quote
Could it be a problem that i send my data on midi channel 1?

No that code sends data on channel 2.
There is a difference between the channel defined in code and that used by musicians. In code channels are from 0 to 15 and for a musician they are from 1 to 16.

Sorry for the delay, well what i can suggest you is to try isolating the problem.
Is it arduino side or computer side? if it is computer side is it a protocol problem, a live problem?

You can send the midi to a real midi instrument (an hardware one) and see what happen so that you can test arduino side.

I suppose you are sending midi over arduino integrated usb, try to use an adapter (they are really cheap), connect arduino to a midi to usb adapter wiring the midi socket to arduino this way:

http://arduino.cc/en/Tutorial/Midi

then read midi from the midi/usb interface.

Therefore there is a library that includes midi function you can find it here:

http://arduinomidilib.sourceforge.net/a00001.html#a3a80e9bd2cfdb619be91d80e8f3b7825

Good Catch!

Go Up