EM61.ist File Procedure Application Notes ELAN MICROELECTRONICS CORP. Doc. # AP-EM61-0014E-V2 Second Edition November 2002 Trademark Acknowledgments IBM is a registered trademark and PS/2 is a trademark of IBM. Microsoft, MS, MS-DOS, and Windows are registered trademarks of Microsoft Corporation. Easy Sound is a registered trademark of ELAN Microelectronics Corp. Document Number AP-EM61-0014E-V2 © 2001-2002 ELAN Microelectronics Corporation All Rights Reserved Printed in Taiwan, ROC, 11/2002 The contents of in this document is subject to change without notice. ELAN Microelectronics assumes no responsibility for errors that may appear in this manual. ELAN Microelectronics makes no commitment to update, or to keep current, the information contained in this manual. The software described in this manual is furnished under a license or nondisclosure agreement, and may be used or copied only in accordance with the terms of the agreement. ELAN Microelectronics products are not intended for use in life support appliances, devices, or systems. Use of ELAN Microelectronics products in such applications are not supported and is prohibited. NO PART OF THE EASY SOUND® AND OF THIS MANUAL MAY BE REPRODUCED OR TRANSMITTED IN ANY FORM OR BY ANY MEANS WITHOUT THE EXPRESS WRITTEN PERMISSION OF ELAN MICROELECTRONICS. ELAN MICROELECTRONICS CORPORATION ii Headquarters: Hong Kong Office: No. 12, Innovation Road 1, Science-based Industrial Park, Hsinchu, Taiwan, R.O.C. Rm. 1005B, 10/F Empire Centre 68 Mody Road, Tsimshatsui Kowloon , HONG KONG Tel: +886 3 5639977 Tel: +852 2838-8715 Fax: +886 3 5639966 http://www.emc.com.tw Fax: +852 2838-0497 EM61.ist File Application Notes 1.0 Introduction This Application Notes is applicable to EM61000 Series Integrated Development Environment (EM61IDE) Version 2.0. This tool supports all series of EM61000 chips (EM61001 ~ EM61500). 2.0 Overview An Instrument Map (*.ist) file is automatically generated when you create a new MIDI project with the EM61IDE program. The file, which bears the same filenames as that of your project; is located under the project folder. You can always modify these files to suite the requirements of your project. An example of a modified Instrument Map file (TUTOR.IST) is shown below. The file consisted of three major sections, namely: 1. [General] Section 2. [Instrument List] Section 3. [Template List] Section See following pages for the detailed descriptions of the contents of each section. [General] title=EM61000 Instrument File version=2.0 $WORKDIR=D:\Work61\C61_0001\0927\TWF [Instrument List] tone group=1 tone group 0=T010 T024 T033 T046 T072 T073 T074 T091 percussion percussion percussion percussion group=3 group 0=P035 group 1=P040 group 2=P050 [T010] name=Music Box scale=A2-F#4 G4-F#5 G5-B6 A2-F#4=T010_0 %NORMAL %100 G4-F#5=T010_1 %NORMAL %100 G5-B6=T010_2 %NORMAL %100 [T024] name=Acoustic Nylon Guitar scale=C2-F#3 G3-F#4 G4-F#5 G5-F#7 C2-F#3=T024_0 %NORMAL %100 G3-F#4=T024_1 %NORMAL %100 G4-F#5=T024_2 %NORMAL %100 G5-F#7=T024_3 %NORMAL %100 EM61.ist File Application Notes 1 [T033] name=Electric Bass Fingered scale=A2-F#4 G4-F#5 G5-B6 A2-F#4=T033_0 %NORMAL %100 G4-F#5=T033_1 %NORMAL %100 G5-B6=T033_2 %NORMAL %100 [T046] name=Harp scale=A2-F#4 G4-F#5 G5-B6 A2-F#4=T046_0 %NORMAL %100 DT046_0 %DETUNE %60 G4-F#5=T046_1 %NORMAL %100 DT046_1 %DETUNE %60 G5-B6=T046_2 %NORMAL %100 DT046_2 %DETUNE %60 [T072] name=Piccolo scale=A2-F#4 G4-F#5 G5-B6 A2-F#4=T072_0 %NORMAL %100 DT072_0 %DETUNE %85 G4-F#5=T072_1 %NORMAL %100 DT072_1 %DETUNE %85 G5-B6=T072_2 %NORMAL %100 DT072_2 %DETUNE %85 [T073] name=Flute scale=A2-F#4 G4-F#5 G5-B6 A2-F#4=T073_0 %NORMAL %100 G4-F#5=T073_1 %NORMAL %100 G5-B6=T073_2 %NORMAL %100 [T074] name=Recorder scale=A2-F#4 G4-F#5 G5-B6 A2-F#4=T074_0 %NORMAL %100 G4-F#5=T074_1 %NORMAL %100 G5-B6=T074_2 %NORMAL %100 [T091] name=Chord Voice scale=A2-B6 A2-B6=T091_0 %NORMAL %100 [P035] name=Acoustic Bass Drum template=P035f [P040] name=Electric Snare template=P040f [P050] name=High Tom template=P050f 2 EM61.ist File Application Notes [Template List] t010_0=% DEFAULT 010_0.twf %0 t010_1=% DEFAULT 010_1.twf %0 t010_2=% DEFAULT 010_2.twf %0 t024_0=% t024_1=% t024_2=% t024_3=% USER USER USER USER $WORKDIR\024_C3.twf $WORKDIR\024_C4.twf $WORKDIR\024_C5.twf $WORKDIR\024_C6.twf %0 %0 %0 %0 t033_0=% DEFAULT 033_0.twf %0 t033_1=% DEFAULT 033_1.twf %0 t033_2=% DEFAULT 033_2.twf %0 t046_0=% USER $WORKDIR\046_C4.twf %0 DT046_0=% USER $WORKDIR\046_C4_D10.twf %0 t046_1=% USER $WORKDIR\046_C5.twf %0 DT046_1=% USER $WORKDIR\046_C5_D10.twf %0 t046_2=% USER $WORKDIR\046_C6.twf %0 DT046_2=% USER $WORKDIR\046_C6_D10.twf %0 t072_0=% USER $WORKDIR\072_C4.twf %4 DT072_0=% USER $WORKDIR\072_C4_D15.twf %4 t072_1=% USER $WORKDIR\072_C5.twf %4 DT072_1=% USER $WORKDIR\072_C5_D13.twf %4 t072_2=% USER $WORKDIR\072_C6.twf %4 DT072_2=% USER $WORKDIR\072_C6_D10.twf %4 t073_0=% USER $WORKDIR\073_C4.twf %4 t073_1=% USER $WORKDIR\073_C5.twf %4 t073_2=% USER $WORKDIR\073_C6.twf %4 t074_0=% USER $WORKDIR\074_C4.twf %4 t074_1=% USER $WORKDIR\074_C5.twf %4 t074_2=% USER $WORKDIR\074_C6.twf %4 T091_0=% USER $WORKDIR\091_G4.twf %0 p035f=% DEFAULT p035.twf %0 p040f=% DEFAULT P040.twf %0 p050f=% DEFAULT p050.twf %0 EM61.ist File Application Notes 3 2.1 [General] Section This section of the Instrument Map file defines the title and version information of the file and provides the path to your twf file. Example: [General] title=EM61000 Instrument File version=2.0 $WORKDIR=D:\Work61\C61_0001\0927\TWF ; The first two lines show the title and version of the file. ; The “$WORKDIR” (upper case) line is where you define the directory path of your twf file. 2.2 [Instrument List] Section Instrument List is where you prescribe the instruments for your tone and percussion groups of sound. Architectures of its contents are explained below. 2.2.1 Tone/Percussion Instrument Group Field Contents Field Description Tone group Tone type instrument can be divided into several groups, or Tone group = n, where n is the tone group number. Tone group n = List the number used in the nth tone group. The values following the equal sign (=) states the instrument type (or MIDI patch number), prefixed with ‘T” (ex: T010, T024. etc.). The numbers are separated by a space. Each instrument number represents one type of tone instrument and must be unique from others. Percussion group Percussion type instrument can be divided into several groups, or Percussion group = n, where n is the percussion group number. Percussion group n = List the number used in the nth tone group. The values following the equal sign (=) states the instrument number (or MIDI patch number), prefixed with “P” (ex: P035, P040, etc.). The numbers are separated by a space. Each instrument number represents one type of percussion instrument and must be unique from others. Example: NOTE For formatting convenience, some portions of the example Instrument Map file shown below are displayed in two lines instead of the correct single line format as shown under Section 2.0 (Overview). When writing your file, follow the formatting under Section 2.0. [Instrument List] tone group=1 tone group 0=T010 T024 T033 T046 T072 T073 T074 T091 4 ; Assign a required tone group for your project and collect the needed tone type instruments for such group i.e., Group 0 = T010 (Music Box); T024 (Acoustic Nylon Guitar); etc., or as you have defined for the project). EM61.ist File Application Notes percussion percussion percussion percussion ; Define the required percussion type instruments (in 3 groups) and assign each with the needed instrument; i.e., Group 0 = 035 (Acoustic Bass Drum); Group 1 = 040 (Electric Snare); and Group 2 = 050 (High Tom), or as you have defined for the project). group=3 group 0=P035 group 1=P040 group 2=P050 NOTE 1. Tone group should only contain Tone type instruments and is prefixed with “T.” Likewise, Percussion group should only contain Percussion type instruments and is prefixed with “P.” 2. All instrument numbers enumerated in the tone or percussion group should have their respective instrument name and contents separately listed in the [Instrument List] section. Any omission will result to erroneous compilation of EM61IDE. 2.2.2 Tone Instrument Pitch Scale Field Contents Field Description [Tn] Field name with tone instrument number (prefixed with “T”) as defined by MIDI. Name The corresponding Instrument name for the above instrument number. Scale This field defines the full pitch range (gamut) in used and monitors the start and end points of each range (separated by a dash “-“). There can be more than one segment in a full pitch range. Each segment is separated from others by a space (ex: A2-F#4 G4-F#5 G5-B). Total number of segment in a pitch range cannot exceed 256. pitch_scale The individual segment of the above full pitch range (gamut). The information following the equal sign (=) states the corresponding properties of the particular segment (ex: A2-F#4=T010_0 %NORMAL %100). 2.2.2.1 Pitch Scale Format pitch_scale = var(0) type weight [var(1) type weight] Where: pitch_scale var(0), var(1)… is the name of the individual segment for the full pitch range (gamut) as defined in the “Scale” field. Example: A2-F#4; G4-F#5, G5-B are the instruments (template waveform) variables for each pitch scale (segment). These variables serves as indexes that link to the corresponding tone instruments properties defined in the Template List section. Example: T046_0 / DT046_0; T046_1 / DT046_1, T046_2 / DT046_2 NOTE For special effect and quality, no more than 2 template waveforms should be assigned for simultaneous playing per pitch scale (gamut). EM61.ist File Application Notes 5 type is either “%NORMAL” or “%DETUNE” (always in upper case). It specifies whether the waveform delta frequency compensation is required or not. type = %NORMAL: when the tone instrument is played, waveform delta frequency is NORMAL (Delta value = 0, as set during conversion of WAV file into TWF file in the Wav2Twf tool. See figure below). Hence, no frequency compensation is required. type = %DETUNE: frequency difference exists and frequency compensation is required when the tone instrument is played (Delta value ≠ 0, but is any number between –999 to 999 as defined in the Wav2Twf). weight specifies the percentage of volume (based on the original sound) required when specified tone instrument is played. Examples: %0 zero percentage or none of the original volume is required, i.e., no sound (mute). %60 requires 60% of the original volume when the specified tone instrument is played. %100 requires 100% of the original volume when the specified tone instrument is played. 6 EM61.ist File Application Notes Example: [T010] name=Music Box ; This particular instrument number ([T010]) is the Music Box tone type instrument per MIDI. scale=A2-F#4 G4-F#5 G5-B6 ; A2 ~ B6 is the defined full Scale range (gamut). It consisted of three pitch scales or segments, namely A2-F#4; G4-F#5; and G5-B6. NOTE Number of segments in a full Scale range cannot exceed 256. Each segment should compose of a start pitch and an end pitch separated by a dash (-) A space separates the segments from others. A2-F#4=T010_0 %NORMAL %100 G4-F#5=T010_1 %NORMAL %100 G5-B6=T010_2 %NORMAL %100 ; Each of the 3 pitch scale (or segment) is assigned with a single tone instrument variable (T010_0, T010_1, and T010_2) respectively. These variables are linked to tone instrument names stated in the [Template List] section where the complete properties of the instruments are defined. Hence, A2-F#4 becomes A2-F#4=T010_0 %NORMAL %100. Where: A2-F#4 is the defined pitch scale (segment). T010_0 is the tone instrument variable to be sourced from [Template List]. %NORMAL is the waveform delta frequency value (0 = Normal or no frequency compensation required) specified when converting WAV file into TWF file with Wav2Twf tool (see figure in Page 6). %100 is the required percentage (100%) of the original volume to be executed when the specified tone instrument is played. NOTE %NORMAL or %DETUNE must be in upper case. The percent sign (%) has no function except to denote enclosure (open and close parenthesis). [T046] name=Harp ; This particular instrument name ([T046]) is the Harp tone type instrument according to MIDI. scale=A2-F#4 G4-F#5 G5-B6 ; A2 ~ B6 is the defined full Scale range (gamut). It consisted of three pitch scales or segments, namely A2-F#4; G4-F#5; and G5-B6. EM61.ist File Application Notes 7 NOTE Number of segments in a full Scale range cannot exceed 256. Each segment should compose of a start pitch and an end pitch separated by a dash (-) A space separates the segments from others. A2-F#4=T046_0 %NORMAL %100 DT046_0 %DETUNE %60 G4-F#5=T046_1 %NORMAL %100 DT046_1 %DETUNE %60 G5-B6=T046_2 %NORMAL %100 DT046_2 %DETUNE %60 ; Each of the 3 pitch scale (or segment) is assigned with two tone instrument variables (T046_0 / DT046_0, T046_1 / DT046_1, and T046_2 / DT046_2) respectively. These variables link to tone instrument names stated in the [Template List] section where the complete properties of the instruments are defined. Hence, A2-F#4 becomes A2-F#4=T046_0 %NORMAL %100 DT046 0 %DETUNE %60 Where: A2-F#4 is the defined pitch scale (segment). T046_0 / DT046 are the tone instrument variables to be sourced from [Template List] section. %NORMAL is the waveform delta frequency value (0 = Normal or no frequency compensation required) specified when converting WAV file into TWF file with Wav2Twf tool (see figure in Page 6). %DETUNE is the waveform delta frequency which value is –999 to 999, but NOT 0 (frequency compensation required when the tone instrument is played). This value is specified when converting WAV file into TWF file with Wav2Twf tool (see figure in Page 6). %100 / %60 are the output volume setting in percentage i.e., 100% for output without Delta_F change and 60% for output with Delta_F change.; 1. 2. NOTE For special effect and quality, no more than two tone instrument variables (template waveforms) should be assigned for simultaneous playing per pitch scale (gamut). %NORMAL or %DETUNE must be in upper case. The percent sign (%) has no function except to denote enclosure (open and close parenthesis). [T091] name=Chord Voice scale=A2-B6 A2-B6=T091_0 %NORMAL %100 8 ; This shows an example of a scale with a single pitch segment. EM61.ist File Application Notes 2.2.3 Percussion Instrument Field Contents Field Description [Pn] Field name with the percussion instrument number (prefixed with “P”) as defined by MIDI name Instrument name template Template waveform variable name Example: [P035] name=Acoustic Bass Drum template=P035f ; The percussion instrument ([P035]) is an Acoustic Bass Drum according to MIDI Channel 10. The template=P35f is linked to percussion instrument name stated in the [Template List] section where the complete properties of the instruments are defined. 1. NOTE Percussion instrument does not have scale range. It links to its properties in the [Template List] section through the “template” line. 2. Only one “template” line is allowed per percussion instrument. 2.3 [Template List] Section The Template List section defines the path of your twf file and the corresponding number of your tone instrument in the envelope file (*.env). These information are linked by the instrument parameters listed in the Instrument List section. 2.3.1 Field Contents Field Description Var(n) Assign a template waveform to this variable name and specify its file path and envelope index. The format is – var(n) = location file_name envelope_index. EM61.ist File Application Notes 9 2.3.2 Template Waveform Variable format var = location file_name envelope_index Where: Var Location is the name defined by user for template waveform. Its length should not exceed over 32 characters and must be unique from others. indicates the template waveform location in the default directory or otherwise. location = %DEFAULT location = %USER File_name means template waveform is not in the default directory. You must specify the full directory path. specifies the filename for the template waveform. location = %DEFAULT location = %USER envelope_index means template waveform is in the default directory (\instlib). need to specify the filename only. must specify the absolute path name or use &WORKDIR. specify the type of envelope for template waveform. The format is - %n, where n is any of the 32 types (0~32) envelope index available. Note that this applies to tone instruments only Example: [Template List] t010_0=% DEFAULT 010_0.twf %0 ; The tone instrument (music box) is to be sourced from 010_0.twf, which is located in the DEFAULT folder \Inslib. ; “%0” is the Envelope index number as defined in the Envelop (*.env) file. t072_0=% USER $WORKDIR\072_C4.twf %4 ; The tone instrument (Picolo) is to be sourced from 072_c4.twf, which is located in the USER defined TWF folder. Its path D:\Work61\C61_0001 \0927\TWF is defined in the [General] section described in Section 2.1.1 above. ; “%4” is the Envelope index number as defined in the Envelop (*.env) file. 10 EM61.ist File Application Notes p035f=% DEFAULT p035.twf %0 p040f=% DEFAULT p040.twf %0 p050f=% DEFAULT p050.twf %0 ; The percussion instruments Acoustic Bass Drum (P035f), Electric Snare (P040f), and High Tom (P050f), are to be sourced from p035.twf, p040.twf, and p050.twf, respectively. These files are located in the DEFAULT folder \Inslib. ; “%0” has no function in the Template List as unlike tone, percussion type instruments does not need percussion index. However, the value is needed to fill-in the program allocated slot. Otherwise, error will occur. 1. NOTE DEFAULT, USER, & $WORKDIR must be in upper case. 2. Envelope file index numbers are available from 0 to 31 only. 3. The parameter of each section is detailed in the *.env file of your Project folder. 4. The percent sign (%) has no function except to denote enclosure (open and close parenthesis). EM61.ist File Application Notes 11