Pages: [1]   Go Down
Author Topic: Basic MIDI question  (Read 1089 times)
0 Members and 1 Guest are viewing this topic.
South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm learning about MIDI, and understand how to send notes from the UNO.  My question is...
If I plug in to a keyboard's MIDI IN, is it possible to tell the keyboard to play, say, the flute, or any particular instrument, rather than just the instrument the keyboard is currently set on?
...What I'm really wanting to know is:  Could I be playing on the keyboard, perhaps the piano, and have someone with the Arduino sending notes to played in a different instrument?
Thanks.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 37
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

It depends on your keyboard / synth... but pretty unlikely.

I have a nord Rack 2x  which will allow 4 midi inputs and each can play a different preset. Each of those 4 also has a separate audio output.  I'd never seen that before.

You can probably do a 'split keyboard' which means the lower half of the keys plays one instrument and the top half plays another.  That would allow two people to play at once, but your key range is limited.

Hope that helps
Logged

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks,
So, with just an inexpensive keyboard that has MIDI IN, is it possible to play notes with the UNO (sending MIDI data), and then send some kind of MIDI data to change the instrument?  I haven't seen anything that tells what bytes to send to tell it to play a particular instrument.  So that I could play, say the piano, then with a button press or something, switch to an organ?
Logged

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks,
So, with just an inexpensive keyboard that has MIDI IN, is it possible to play notes with the UNO  (sending MIDI data), and then send some kind of MIDI data to change the instrument?  I haven't seen anything that tells what bytes to send to tell it to play a particular instrument.  So that I could play, say the piano, then with a button press or something, switch to an organ?


???
 I may need to find a MIDI forum for this question...  Or learn from trial & error as soon as my Sparkfun order arrives!

Thanks,
Logged

Nowhere
Offline Offline
God Member
*****
Karma: 3
Posts: 852
|-\ |\|\
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have a really inexpensive Casio keyboard, one of the ones with like 100 different sounds, and you can select an instrument using Program change messages.

That would be the first thing I would try.
Logged

Soundcloud page: http://soundcloud.com/beefinator-2
Youtube channel: http://www.youtube.com/user/beefinator14
Old soundcloud page (ran out o

0
Offline Offline
Newbie
*
Karma: 0
Posts: 37
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This midi library: http://www.arduino.cc/playground/Main/MIDILibrary

Has a program change function: "sendProgramChange(byte ProgramNumber,byte Channel);"

Have a go with that.
Logged

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks!
Logged

Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Depending on the device you are going to use, yes, you can have 16 different instruments playing all at once, from different midi channels = sources.

Which device you will use to play the notes? Then I can say if its compatible or not. But most MIDI Devices will allow you to do multi-timbral, which is exactly what you want.

Wk
Logged


South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm making an Airharp,http://www.airharp.com/
Only mine will have a standard midi plug output.  I have a basic keyboard, a yamaha PSR160, but it does have midi in.  so I guess it will depend a lot on the keyboard.  That's good to know about sending differrent 'program change' messages, I can experiment with that, and maybe get the Airharp to play different instruments.  Also the different channels...  Maybe I will be able to set my Airharp to a different channel, and then be able to play simultaneously, 1 instrument on the keyboard, and another kind of instrument thru the Airharp.

Logged

Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You need to check the user-manual for the PSR160 midi specifications. I couldn't find on google, but I didn't look that much.

In any event, you could use SparkFun's Music Shield: http://www.sparkfun.com/products/10587

Quote
The shield is also capable of playing several tones simultaneously (maximum polyphony of up to 31 sounds!).



Its very easy, select MIDI Channel 1, send program change 100, select MIDI Channel 2, send program change 45. (just trowing random numbers here) And now you have 2 channels playing different instruments. Most MIDI devices will take 0 to 127 for the program change.

Wk
Logged


South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks,
I found the psr160 manual at Yamaha's site.  Looks like it supports 1-100, for the different voices.
I guess by 'select channel' you mean from the Arduino side, with something like:
sendProgramChange(byte ProgramNumber,byte Channel);"
sendProgramChange(1, 1);"
sendProgramChange(45, 2);"

...I can choose which channel to play on with the Airharp, but I wonder about someone else playing on the keyboard itself?  Is that like the default channel 1? Or is it maybe not a channel at all? 
I guess I should wait until I get my Ardno parts, i'm just anxious to learn more about how this all works...
Logged

Brazil
Offline Offline
God Member
*****
Karma: 3
Posts: 616
Wusik Dot Com
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, open the manual again, you will see on page 52, "How Can MIDI be used" and on the right, the list of channels and what they will do.

Quote
•  On the PSR-160, the following channels
(eight total) are enabled for MIDI reception:
1, 2, 3, 4, 5, 6, 7, 10.  The MIDI transmit
channels are fixed to the following data:
Ch. 1 : Keyboard, harmony
Ch. 2 : Bass
Ch. 3 : Chord
Ch. 4 - 7 : Other
Ch. 10 : Rhythm

So there you go, all you need to know.

Then on page 55 you get the list of presets you can select via MIDI, not from the panel itself.

Wk
Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 37
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

corrected, nice one!
Logged

South East USA
Offline Offline
God Member
*****
Karma: 5
Posts: 649
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks, ...I've been looking at that.  Ch. 3 - chords.   What does that mean.  Can you send a midi command to play a whole chord?  I've been looking around for a good tutorial on this.  Can anyone point me to a good source.  I'm new to midi.
Logged

Pages: [1]   Go Up
Jump to: