ETC EM61-0014E-V2

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