paulrosen / abcjs

javascript for rendering abc music notation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Q: notes higher than 'c' are not audible when using MIDI instrument 67. Why?

VKondakoff opened this issue · comments

Hello!

I'm trying to set my MIDI instrument to tenor sax using %%MIDI program 67. After inserting this line all the notes higher than 'c' are not audible. The same notes are playing well with default instrument (piano).

%%MIDI program 67
X: 1
K: C
| c d e f | g a b c' | d' c' b a | g f e d c |

Here is an interactive example.

Why this happens? This is normal range of tenor sax.

Thank you!

Ok, got it. Looks like MIDI instrument numbers should be specified like this: number-1. So %%MIDI program 67 was setting baritone sax instead of tenor.
Is this intentional? The examples in abc music notation standard 2.2 are using exact MIDI instrument number (for example: %%MIDI program 1 75 % recorder).

I was copying the numbers from the abcmidi program because I wanted to be compatible. I think that was a bug in the original implementation. I wasn't aware that the standard now supports the real midi numbers. But that would mean that all of the files out there will play wrong, so I don't know what to do. I'd rather use the real midi numbers.