Pages: [1]   Go Down
Author Topic: midi message  (Read 355 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 43
Creating futuristic, interactive installations which merge design, art and technology.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: November 24, 2011, 02:44:58 pm by Robbieuitos » Logged

My best Arduino project: Bench. Interactive transformable furniture.

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Newbie
*
Karma: 0
Posts: 43
Creating futuristic, interactive installations which merge design, art and technology.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
         
         //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.
Logged

My best Arduino project: Bench. Interactive transformable furniture.

Manchester (England England)
Online Online
Brattain Member
*****
Karma: 603
Posts: 33396
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Pages: [1]   Go Up
Jump to: