Okay, I'm now the new kid on the block and quickly getting frustrated, I guess!! Now, I realize that I've happened to buy an Uno version 1.0!! Since the Arduino Midilibrary that Franky wrote requires version 13 or better (not sure if that was supposed to be version 3), I guess that's why I'm not able to use the header: #include <MIDI.h> . I always get compile errors saying that it can't find some file (WConstants.h???).
Can someone give me a very simple way to change the voice or sound library in the following sketch? I have been searching for something that I can understand as an example to modify and just see what happens but I can't seem to adapt anything to move out of the Grand Piano voice in the following example. Please, help... even if just a little!
/*
MIDI note player
This sketch shows how to use the serial transmit pin (pin 1) to send MIDI note data.
If this circuit is connected to a MIDI synth, it will play
the notes F#-0 (0x1E) to F#-5 (0x5A) in sequence.
The circuit:
- digital in 1 connected to MIDI jack pin 5
- MIDI jack pin 2 connected to ground
- MIDI jack pin 4 connected to +5V through 220-ohm resistor
Attach a MIDI cable to the jack, then to a MIDI synth, and play music.
created 13 Jun 2006
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/MIDI
*/
void setup() {
// Set MIDI baud rate:
Serial.begin(31250);
}
void loop() {
// play notes from F#-0 (0x1E) to F#-5 (0x5A):
for (int note = 0x1E; note < 0x5A; note ++) {
//Note on channel 1 (0x90), some note value (note), middle velocity (0x45):
noteOn(0x90, note, 0x45);
delay(100);
//Note on channel 1 (0x90), some note value (note), silent velocity (0x00):
noteOn(0x90, note, 0x00);
delay(100);
}
}
// plays a MIDI note. Doesn't check to see that
// cmd is greater than 127, or that data values are less than 127:
void noteOn(int cmd, int pitch, int velocity) {
Serial.write(cmd);
Serial.write(pitch);
Serial.write(velocity);
}