This information (partly) is also supplied with the MusE source. You should find it in ../muse/README.instruments

example idf file

================================================
     MusE loadable Midi Instrument Definitions
     (as of 10.09.2003) MusE 0.7.0
================================================
 - File Extension  ".idf"
 - searched in Subdirectory  "instruments"
   (/usr/share/muse/instruments on my system)
 All found instrument definitions are presented by MusE
 in Config->MidiPorts in Pulldown in column "Instrument".

  Example of Instrument Definition File:

<?xml version="1.0"?> <muse version="1.0">

 <MidiInstrument name="GM">
   <Init>
     ...MusE event list which initializes instrument
     </Init>
   <PatchGroup name="Piano">
      <Patch name="Grand Piano" prog="0"/>
      <Patch name="Bright Piano" prog="1"/>
      ...
     </PatchGroup>
   <PatchGroup name="Bass">
     <Patch name="Acoustic Bass" prog="32"/>
     <Patch name="Fingered Bass" prog="33"/>
     </PatchGroup>
   ...
   <Controller name="Brightness">
     <n>0x4a</n>
     <min>0</min>
     <max>127</max>
     <init>0</init>
     </Controller>
   ...
   </MidiInstrument>
 </muse>

notes

(1)  PatchGroups are not mandatory; its valid to write:
     <MidiInstrument name="GM">
       <Patch name="Grand Piano" prog="0"/>
       <Patch name="Bright Piano" prog="1"/>
       <Patch name="Acoustic Bass" prog="32"/>
       <Patch name="Fingered Bass" prog="33"/>
       ...
       </MidiInstrument>
(2)  An "Instrument Definition File" can define more than on
     Instrument, but it is recommended to use one file for
     one instrument
(3)  the "prog" parameter in a "Patch" is mandatory. Missing
     "hbank" or "lbank" are treated as "don't care".
     Missing "drum" is treated as drum="0".
     A XG-Patch looks like:
     <Patch name="Electro" drum="1" hbank="127" lbank="0" prog="24"/>
(5)  A patch can be associated with a "mode" with one of
           1  - GM
           2  - GS
           4  - XG
     Example:
     <Patch name="Electro" mode="4" drum="1" hbank="127" lbank="0" prog="24"/>
     Mode id's can be ore'd together for patches which are valid
     for more than one mode:
     <Patch name="Grand Piano" mode=7" hbank="0" lbank="0" prog="0"/>
(4)  example for MusE event (Sysex "XG-On"):
     <event tick="0" type="5" datalen="7">
       43 10 4c 00 00 7e 00
       </event>
(5)  <Init> ... </Init> part can be omitted


(6)  Controller have the following properties:
     name: arbitrary unique (short) string describing the controller
     n:    controller number, defines also the controller type:
           values from 0x0 - 0x7f are 7Bit controller
           values from 0x1000 - 0x1ffff are 14 bit controller with
              MSB/LSB value pairs
           values from 0x20000 - 0x2ffff are RPN's
           values from 0x30000 - 0x3ffff are NRPN's
     min:  minimum value for controller
     max:  maximum value for controller
     init: reset value for controller; when controller value is
           undefined after instrument reset, use the undefined
           value 0x10000
     the min/max/init values can be omitted

how it use / install the new idf file

After you have written all the stuff you want to use it?
Ok now copy the YourSynthFile.idf into /usr/share/muse/instruments and restart MusE if it is already running. Within MusE you should find your new instrument definition [idf] in the Settings - Midi Ports / Soft Synths.

Tips on creating such a idf file

I've just done a idf file for the Roland XV 3080 and it contains millions of patches. Most easy way is to search the internet for a pdf like this one: http://www.roland.co.uk/support/updates/XV-3080.pdf which you open with xpdf then.

You can use vertical selection to get all soundnames in a collum and paste them into a text-document with the middle click of your mouse. Next you can write yourself a little converter or be busy as a bee!

Powered by MediaWiki