News:

PSR Tutorial Forum is Now Back to Life!

Main Menu

Voices MSB and LSB

Started by AndyT, May 21, 2021, 07:59:59 AM

Previous topic - Next topic

AndyT

Hi

Using mixmaster to update a style. I have been looking at this all morning :) and need some help please.

To set Strings | RealSpiccato

      The Tyros 5 manual says Program 49 MSB 104 LSB 6
      BUT Recording on the Tyros shows Program 48 MSB 104 LSB 6 

I am trying to set it in a style, and have managed but only after a few hours.
Can anyone help with this discrepancy.

- Andy


DerekA

It's because the programs are numbered 1 -128, but a data byte actually holds a number from 0-127 (it's an 8-bit binary). So, when converting the program number to a data byte, subtract one.
Genos

AndyT

Thanks Derek!

Do you happen to know if this is documented anywhere please?

I understand hex/binary etc, but if they need you to decrement 1 then why not just print the correct number after all they do that with MSB and LSB? Any thoughts? I really feel like I am missing something fundamental .... 

Thanks

- Andy

Fred Smith

Quote from: AndyT on May 21, 2021, 08:32:49 AM
Thanks Derek!

Do you happen to know if this is documented anywhere please?

I understand hex/binary etc, but if they need you to decrement 1 then why not just print the correct number after all they do that with MSB and LSB? Any thoughts? I really feel like I am missing something fundamental .... 

Just Google it. You'll find lots of discussion why some companies use Base 0, and some Base 1.

Hopefully MIDI 2.0 will enforce a standard here.

Cheers,
Frdd
Fred Smith,
Saskatoon, SK
Sun Lakes, AZ
Genos, Bose L1 compacts, Finale 2015
Check out my Registration Lessons

overover

Hi Andy,

in general, the Yamaha Program numbers are "1-based" (1 - 128), while Bank Select MSB and LSB numbers are always "0-based" (0 - 127).

When you search the Tyros5 Data List for the terms "Program Change" "Program Number" and "PC#", you will find many references to the numbering "1 - 128".

Note:
- The Program numbers ("Voice Number" > "Prg" column) in the section "Voice List" (of the Data List) are "1-based", but unfortunately there is no indication of it there (except that the number "0" does not appear anywhere ;) ). The same numbering is used directly on the Tyros5 (e.g. if you have set that the Voice numbers (#MSB-LSB-PRG) are shown in the Voice Selection display, or also in the Step Editor displays.

- In the section "Drum/key Assignment List" (of the Data List) there are two separate rows for the Program Change numbers:

Bank Select MSB (0 - 127)
Bank Select LSB (0 - 127)
Program Change (0 - 127)
Program Change (1 - 128)



By the way:
In the Tyros5 Reference Manual (page 128) you can find the following information to set the parameter "VOICE NUMBER" (SHOW/HIDE) at "FUNCTION > UTILITY > CONFIG 2":

VOICE NUMBER
Determines whether or not the Voice bank and number are shown in the Voice Selection dis-
play. This is useful when you want to check which bank select MSB/LSB values and program
change number you need to specify when selecting the Voice from an external MIDI device.

NOTE:
The numbers displayed here start from "1." Accordingly the actual MIDI program change numbers are one lower, since
that number system starts from "0."



Best regards,
Chris
● Everyone kept saying "That won't work!" - Then someone came along who didn't know that, and - just did it.
● Never put the Manual too far away: There's more in it than you think! ;-)

AndyT

Hi Chris and everyone.

Thank you all very much for explaining this to me. I kind of wish that Yamaha had done a better job in their manuals  :-\ I don't consider scratching around for hours to be what one of the demonstrators told me was "fun" and "All part of the experience". It could have been so much clearer.

I sincerely appreciate everyone's help that made the task a lot easier. I have made a lot of notes.

Best regards to all.

- Andy

C-clef

It confuses so many people.
I think it was done that way because we start counting from 1 not zero, way before such things as sequencers were thought of.

Actually, this strangeness goes back to the original "General MIDI System Level 1" document published in 1991 by the MMA (the MIDI Manufacturers Association).
There it lists the default voices for the 128 sounds starting with 1 = Acoustic Grand Piano.
(The numbering system dates back even further to the original standards document of about 1983 or thereabouts.)
1983. The PC had just been introduced based on the 8086 (or was it the 8088? I forget.)

It's not until the GM2 standard was published, many years later in 2007, that we get:

"Program Change Message
Default Value:  1  (00H)"
Which means "if you want voice 1 enter 0".

Followed by an explanation of the Bank Select messages, etc.
These specifications can be downloaded from the MMA (www.mma.org) if you feel so inclined, but they're very techie oriented.

So, not Yamaha's fault (although they are a major presence in the MMA).

Changed in MIDI 2?
No, I don't think so.
The documents I've seen seem to perpetuate the general way of working.
They still have a committee trying to define the MIDI 2 file structure, so don't hold your breath.
(And if you think MIDI 1 is complicated, "you ain't seen nothin' yet!")
Some of the MIDI 2 documents are available to download at the MMA web site.

Colin.

overover

Thank you for the detailed technical information, Colin! :)
● Everyone kept saying "That won't work!" - Then someone came along who didn't know that, and - just did it.
● Never put the Manual too far away: There's more in it than you think! ;-)

AndyT

Hi,

QuoteBy the way:
In the Tyros5 Reference Manual (page 128) you can find the following information to set the parameter "VOICE NUMBER" (SHOW/HIDE) at "FUNCTION > UTILITY > CONFIG 2":

Thanks very much for this!!

For a newbie in this area it would have been much easier for this to be properly documented in the manual or Yamaha to put the correct numbers for their instrument.

Thank you to everyone again for all the information.

- Andy