Menu

#78 Tidy up Yamaha MM6/MM8 RGD file

None
closed
nobody
None
1
2024-12-04
2024-10-01
No

I recently bought a second hand Yamaha MM6 synthesizer, and when I try to use it as the MIDI synthesizer of Rosegarden, I found a few problems about the shipped RGD file -- even a few GM voices are missing, so do some Yamaha custom ones.

I tried to fix it.

In addition, because they're trying to use a GM-variant-based bank/program allocation system (with program value corresponding to GM and custom bank numbers), I set it to show variants based on LSB, and renamed the current "Ethnic X" banks to meaningless names (because they're just used for different variants of ethnic instruments).

1 Attachments

Discussion

  • Ted Felix

    Ted Felix - 2024-10-01

    Thanks for this. I have an MM6, but I don't think I ever tested this rgd file.

    While reviewing, I noticed some of the programs in General MIDI got deleted. This might be a bug in the new (or old) bank editor. I'm going to try and make some of these changes myself and see if I can reproduce the disappearing programs. Did you use the latest rg from git to make these changes or an older version?

             <bank name="General MIDI" percussion="false" msb="0" lsb="0">
                 <program id="0" name="Acoustic Grand Piano" />
    
    -            <program id="1" name="Bright Acoustic Piano" />
                 <program id="2" name="Electric Grand Piano" />
                 <program id="3" name="Honky-tonk Piano" />
                 <program id="4" name="Electric Piano 1" />
    @@ -26,25 +25,26 @@
                 <program id="13" name="Xylophone" />
                 <program id="14" name="Tubular Bells" />
                 <program id="15" name="Dulcimer" />
    +            <program id="16" name="Drawbar Organ" />
                 <program id="17" name="Percussive Organ" />
    -            <program id="18" name="Rock Organ" />
    +            <program id="19" name="Church Organ" />
                 <program id="20" name="Reed Organ" />
                 <program id="21" name="Accordion" />
                 <program id="22" name="Harmonica" />
                 <program id="23" name="Tango Accordion" />
                 <program id="24" name="Acoustic Guitar (nylon)" />
                 <program id="25" name="Acoustic Guitar (steel)" />
    -            <program id="26" name="Electric Guitar (jazz)" />
                 <program id="27" name="Electric Guitar (clean)" />
    +            <program id="28" name="Electric Guitar (muted)" />
                 <program id="29" name="Overdriven Guitar" />
                 <program id="30" name="Distortion Guitar" />
                 <program id="31" name="Guitar harmonics" />
                 <program id="32" name="Acoustic Bass" />
                 <program id="33" name="Fingered Bass" />
                 <program id="34" name="Picked Bass" />
    +            <program id="35" name="Fretless Bass" />
                 <program id="36" name="Slap Bass 1" />
                 <program id="37" name="Slap Bass 2" />
    -            <program id="38" name="Synth Bass 1" />
                 <program id="39" name="Synth Bass 2" />
                 <program id="40" name="Violin" />
                 <program id="41" name="Viola" />
    @@ -86,10 +86,13 @@
                 <program id="78" name="Whistle" />
                 <program id="79" name="Ocarina" />
                 <program id="80" name="Lead 1 (square)" />
    -            <program id="83" name="Lead 4 (chiff)" />
    +            <program id="81" name="Lead 2 (sawtooth)" />
    +            <program id="82" name="Lead 3 (Calliope)" />
                 <program id="84" name="Lead 5 (charang)" />
    +            <program id="85" name="Lead 6 (voice)" />
                 <program id="86" name="Lead 7 (fifths)" />
                 <program id="87" name="Lead 8 (bass + lead)" />
    +            <program id="88" name="Lead 9 (new age)" />
                 <program id="89" name="Pad 2 (warm)" />
                 <program id="90" name="Pad 3 (polysynth)" />
                 <program id="91" name="Pad 4 (choir)" />
    
     
  • Ted Felix

    Ted Felix - 2024-10-01

    I just tried making the General MIDI fixes with the latest git and I had no disappearing names. I suspect the older version of the bank editor has some very serious bugs that cause data loss.

    I'm going to take your rgd file and repair the new missing General MIDI patch names. Then I'll push to git and you can review your changes and see if anything else is missing.

    In order to pick up the new version, you will need to delete or rename the previous version in ~/.local:

    ~/.local/share/rosegarden/library/Yamaha-MM6-MM8.rgd
    

    Should be done shortly.

     
  • Ted Felix

    Ted Felix - 2024-10-01

    Pushed as [86cfd1]. Please test latest git.

     

    Related

    Commit: [86cfd1]

  • Ted Felix

    Ted Felix - 2024-10-01
    • status: open --> feedback
    • Group: -->
     
  • Icenowy Zheng

    Icenowy Zheng - 2024-10-01

    I used 24.06 version to modify the banks.

    Imported the git master version, need rechecking.

     
  • Icenowy Zheng

    Icenowy Zheng - 2024-10-12

    I'm sorry to report some GM instruments missing in the current master version.

    Here I attached another rechecked version (also fixed some oversights in custom banks).

     
  • Ted Felix

    Ted Felix - 2024-10-21

    Did you delete or rename your version in:

    ~/.local/share/rosegarden/library
    

    If not, that might be why you are still seeing the older version with missing GM patches. I just diffed your version and there are no missing GM patches in the git version.

    Your updates look good. I will push shortly.

     

    Last edit: Ted Felix 2024-10-21
  • Ted Felix

    Ted Felix - 2024-10-21

    Just pushed the latest as [7a2d4d]. Please test latest git.

    The procedure for making sure you get the latest .rgd file is as follows:

    • Delete or rename ~/.local/share/rosegarden/library/Yamaha-MM6-MM8.rgd
    • Build the latest version of rosegarden from git.
    • Run the latest version of rosegarden.
    • Go to the device manager, create a device and import banks using Yamaha-MM6-MM8.rgd.

    This procedure should replace the Yamaha-MM6-MM8.rgd in ~/.local/share/rosegarden/library with the newest version from git and you should see all the latest when you import banks.

     

    Related

    Commit: [7a2d4d]

  • Icenowy Zheng

    Icenowy Zheng - 2024-10-22

    The new RGD file shipped LGTM. thanks.

    BTW is it considered to use some ASCII-based format for shipped RGD?

     
  • Ted Felix

    Ted Felix - 2024-10-22

    We've always just gzipped everything. Now that space is cheap, this is probably unnecessary.

    I suspect that the code as currently written (using zlib's gzopen()) already reads uncompressed .rgd files and we could switch to uncompressed at any time.

     
  • Ted Felix

    Ted Felix - 2024-10-22

    Note: the ".rgd" file format is actually gzipped xml. You can look at it with zless. Not sure if that was already clear.

     
  • Icenowy Zheng

    Icenowy Zheng - 2024-10-22

    Oh RGD is just xml.gz ...

    Never known it ...

     

    Last edit: Icenowy Zheng 2024-10-22
  • Ted Felix

    Ted Felix - 2024-12-04
    • status: feedback --> closed
     

Log in to post a comment.

MongoDB Logo MongoDB