Starting on page 26 is a list of all MIDI messages recognised and what their function is.
Thanks. I saw this table, but my first attempt gives a terrible noise together rather with some kind of shatter echo than a bass note.
char bass33[]= { 0xC0,33,0};
char note_on[] = { 0x90,12,127,0 };
midiSerial.write(bass33),midiSerial.write(note_on);
EDIT: I found that the bass note was too low. The amp/spkr could not cope with the low frequency (12). I rose it in the range of 46 and it gives the sound of an acoustic bass. OTOH, the analogue output of the device is terribly noisy.
Further editing:
From the docs I read:
2-1 SPECIAL MIDI MESSAGES
(received on serial MIDI in serial mode or on 8-bit data port in parallel mode)
Special midi messages are sent using midi Nrpn messages. These NRPN messages are mainly using NRPN
high=037h. For example, master volume can be set using NRPN "3707h", which means:
- NRPN high = 037h: midi control 99 (63h) = 55 (37h) --> midi message = 0B0h 063h 037h
- NRPN low = 07h: midi control 98 (62h) = 07 (07h) --> midi message = 0B0h 062h 07h
- NRPN value=vv: midi control 6 (06h) =vv ---> midi message = 0B0h 006h vv
vv being master volume value in range 0 to 127 (0 to 7Fh)
How do I have to understand this? Why are the hex numbers have a leading 0? E.g. 037h in the NRPN declaration as well as in the midi message? Then again "(63h)" without the leading 0? Leading 0 I know from octal numbers in C.