When using this document, keep the following in mind:nti
alGeneral Notice

1. This document is confidential. By accepting this document you acknowledge that you are boundby the terms set forth in the non-disclosure and confidentiality agreement signed separately and /inthe possession of SEGA. If you have not signed such a non-disclosure agreement, please contact
SEGA immediately and return this document to SEGA.

de2. This document may include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new versions of thedocument. SEGA may make improvements and/or changes in the product(s) and/or theprogram(s) described in this document at any time.

nfi

3. No one is permitted to reproduce or duplicate, in any form, the whole or part of this document
without SEGA’S written permission. Request for copies of this document and for technicalinformation about SEGA products must be made to your authorized SEGA Technical Services
representative.

Co

4. No license is granted by implication or otherwise under any patents, copyrights, trademarks, orother intellectual property rights of SEGA Enterprises, Ltd., SEGA of America, Inc., or any thirdparty.
5. Software, circuitry, and other examples described herein are meant merely to indicate the characteristics and performance of SEGA’s products. SEGA assumes no responsibility for any intellectual
property claims or other problems that may result from applications based on the examples
describe herein.

GA

6. It is possible that this document may contain reference to, or information about, SEGA products(development hardware/software) or services that are not provided in countries other than Japan.
Such references/information must not be construed to mean that SEGA intends to provide such
SEGA products or services in countries other than Japan. Any reference of a SEGA licensed product/program in this document is not intended to state or simply that you can use only SEGA’slicensed products/programs. Any functionally equivalent hardware/software can be used instead.
7. SEGA will not be held responsible for any damage to the user that may result from accidents or any
other reasons during operation of the user’s equipment, or programs according to this document.

SENOTE: A reader's comment/correction form is provided with thisdocument. Please address comments to :(6/27/95- 002)

SEGA of America, Inc., Developer Technical Support (att. Evelyn Merritt)
150 Shoreline Drive, Redwood City, CA 94065
SEGA may use or distribute whatever information you supply in any way
it believes appropriate without incurring any obligation to you.

SEGA

Co

nfi

denti
al

TM

Tone Editor
User's Manual
Addendum:
File Formats
Doc. # ST-235-030795© 1995 SEGA. All Rights Reserved.

ntialREADER CORRECTION/COMMENT SHEETKeep us updated!
If you should come across any incorrect or outdated information while reading through the attacheddocument, or come up with any questions or comments, please let us know so that we can make therequired changes in subsequent revisions. Simply fill out all information below and return this form tothe Developer Technical Support Manager at the address below. Please make more copies of this form if
more space is needed. Thank you.
General Information:

PhonedeYour Name
Document number

ST-235-030795

Document name

Tone Editor User's Manual Addendum: File Formats

DateCorrections:
Correction

nfipg. #GA

CoChpt.

SEQuestions/comments:

Fax:

Where to send your corrections:(415) 802-1717
Attn: Evelyn Merritt,
Developer Technical Support

Mail:

SEGA OF AMERICA
Attn: Evelyn Merritt,
Developer Technical Support
150 Shoreline Dr.
Redwood City, CA 94065

nti
alTone Editor User's ManualAddendum:
File Formats

This supplement describes the SCSP file format on the Macintosh that contains
detailed information, and the SCSPBIN file format that only includes data transferred to the 68000's sound memory and the Macintosh file resource data.

GAConfiThe SCSP format is as follows.

deSCSP Format

SEFirst, SCSP is entered as an ID in 4 bytes of ASCII code, after which the total numberof bytes of the MixerChunk and VoiceChunk is contained as a 4 byte long word. Next,
VOCE is entered in 4 bytes of ASCII code as Type. The MixerChunk and VoiceChunkdata follow.

48

nfi

denti
al

MixerChunk

GAMixer

Co

This data is equivalent to the 16 channels of the mixer, and becomes the MixerChunkdata with the header data. MIXR takes up 4 bytes in ASCII code for the header ID,after which the number of mixer data bytes is entered in 4 bytes. It can have multiple mixers.

SEBits 0~4 are pan data and 5~7 are send/return data. This configuration is the sameas the SCSP register, and is equivalent to 100017H if slot 0.

Tone Editor User's Manual Addendum:
File Formats

49

GA

Co

nfi

denti
al

VoiceChunkSE

The VoiceChunk data is composed of the layer data that contains voice parameterdata as well as PCM data. The VoiceChunk data is completed with the addition ofthe header data.
VOCE takes up 4 bytes in ASCII code as the header ID. The total number of bytes forthe voice data, layer data and wave data (PCM data) are then entered in
4 bytes, after which the number of voices (number of voice patches) is entered.

50

nfi

dePlayMode, bend range

nti
alVoice• Play Mode:

Specifies the poly, mono, legato, portamento, legato &portamento play back mode.
Specifies the pitch bend range up to 14 steps (0~$D).
Specifies the time in 128 steps (0~$7F.)
Number of layers used in this voice.
Specifies the volume of the layer within the voice. It can be
specified as signed data.
Name of the layer that is being used.
The wave number used in this layer is entered here.
The wave size used in this layer is entered here.

GA• Bend Range:• Portamento time:• NumberOfLayers:• VolBias:

Co

This is voice data. The 16 bytes of ASCII code is used for the VoiceName data at thebeginning, and the data below follows.

SE• LayerName:• WaveNumber:• WaveSize:

Tone Editor User's Manual Addendum:
File Formats

51

nti
alWaveSamplingRate

The source AIFF file name incorporating this waveformSampling rate of this wavform.
The bit resolution of this waveform (8 bits or 16 bits).
PCM data.

de• WaveName:• SamplingRate:• Bit:• PCM data:

SEGA

ConfiVLChunk

52

SEGA

PLFO Chunk

Confi

denti
al

PEG ChunkTone Editor User's Manual Addendum:
File Formats

53

SCSPBIN Format

GA

Co

nfi

denti
al

The SCSPBIN format is as follows.

SE•Mixer top of fset:• VL top offset:• PEG top offset:• PLFO top offset:• Voice offset:• Mixer data:• VL data:• PEG data:• PLFO data:• Voice data:• Wave data:

54

The offset address of mixer data start location.
The offset address of velocity level conversion data start location.
The offset address of PEG data start location.
The offset address of PLFO data start location.
The offset address of each Voice data.
Mixer data
Velocity level conversion data
Pitch envelope data
Pitch LFO data
Voice data
Wave dataMixer Data 0nti
al

1 byte each, fora total of 18 bytes

VL Data 0nfi

de1 byte eachGACoPEG Data 0

1 byte each

SEPLFO Data 0

Tone Editor User's Manual Addendum:
File Formats

1 byte each55

nti
alVoice Data 0

Number of layers- 1CoBase notenfi

de*1: Layer DataGA

Wave Data 0

VL Conversion

SEApproximation value:

56

This is the approximation value table number used forvelocity data. It is determined by calculating the velocity
points 0~3 and the velocity levels 0~3.

nfi

denti
al

Calculation MethodCo

The relationship between the velocity point and velocity level data is as shown below. The curve of the levels is drawn as shown above for velocities 0~127. The D6D3 that is closest to one of the slope values out of these four curves is determinedfrom the table on the following page and entered in the Approximation Value Table.
The slope value is determined as follows.
Approximation value 0:

Velocity level 0———————————————————————
Velocity point 0

GA

Approximation value 1:
Velocity level 1 - Velocity level 0———————————————————————
Velocity point 1 - Velocity point 0

SE

Approximation value 2:

Velocity level 2 - Velocity level 1———————————————————————
Velocity point 2 - Velocity point 1

Approximation value 3:
127 - Velocity level 2———————————————————————
127 - Velocity point 2

Tone Editor User's Manual Addendum:
File Formats

57

nti
alApproximation aVlue Table

nfi

deThe bit relationship of the Approximation Value Table is as follows.

SEGACo

The following two tables are referred to when determining the D6-D3 value of theApproximation Value Table.

The approximation values include ±∞, 1, 0 and the values indicated in the abovetable. Determine a value that is closest to the actual slope in absolute differenceterms. The resulting D0-2 and D6-3 values are set as the approximation value.

58

DLY:nfi

OFFSET LEVELATTACK LEVELDECAY LEVELSUSTAIN LEVELRELEASE LEVELDELAY TIMEATTACK TIME
DELAY TIMESUSTAIN TIMERELEASE TIME

Co

OL:
AL:
DL:
SL:
RL:
DT:
AT:
DT:
ST:
RT:

denti
al

PEG RelatedGA

This is the table number of the time table for the PEG delay time. The time tablecontains the number of counts per time unit. The number of counts is first determined from the delay time input in the Tone Editor. That value is then comparedwith the count values contained in the Time Table. A difference of the two values aretaken. The number of counts in the Time Table that produces the smallest differencein absolute terms is determined and its Time Table number is set here.
Number of counts = delay time (msec. unit time)OL:

This is the offset level from the key on note when the key is activated. (OFFSETLEVEL)

AR:

SE

This is the level change range per unit time.
=ATTACKLEVEL/AT

AT:

This is the time table number that is used for the attack level time. The time tablecontains the number of counts per time unit. The number of counts is determined
first from the ATTACK TIME input in the Tone Editor. Then the closest number ofcounts is obtained from a time table by the absolute difference of the two countvalues.
The resulting value is set here.
Number of counts=ATTACK TIME/2 (msec)

Tone Editor User's Manual Addendum:
File Formats

59

DR:

ntial

This is the level change range per time unit.
=DECAYLEVEL/DT
DT:

This is the time table number that is used for the decay level time. The time tablecontains the number of counts per time unit. The number of counts is determined
first from the DECAY time input in the Tone Editor. Then the closest number ofcounts is obtained from a time table by the absolute difference of the two countvalues. The resulting value is set here.
Number of counts=DECAY TIME(msec)
SR:
This is the level change range per time unit.
=SUSTAIN LEVEL/ST

deST:

nfi

This is the time table number that is used for the sustain level time. The time tablecontains the number of counts per time unit. The number of counts is determined
first from the SUSTAIN time input in the Tone Editor. Then the closest number ofcounts is obtained from a time table by the absolute difference of the two countvalues. The resulting value is set here.
Number of counts=SUSTAIN TIME(msec)
RR:

This is the level change range per time unit.
=RELEASE LEVEL/RT
RT:

CoThis is the time table number that is used for the release level time. The time tablecontains the number of counts per time unit. The number of counts is determined
first from the RELEASE time input in the Tone Editor. Then the closest number ofcounts is obtained from a time table by the absolute difference of the two countvalues. The resulting value is set here.
Number of counts=RELEASE TIME(msec)
Delay:FRQ:

GA

This is the time table number that is used for the PLFO delay time. The time tablecontains the number of counts per time unit. The number of counts is determined
first from the PLFO DELAY time input in the Tone Editor. Then the closest numberof counts is obtained from a time table by the absolute difference of the two countvalues. The resulting value is set here.
Count value=PLFO DELAY TIME(msec unit time)
This is increment/decrement range per unit time of a PLFO triangle wave.
=DEPTH LEVEL/FRQ TIME (msec unit time)
FDR: This is the change range of the fade-in amplitude per unit time.
=DEPTH LEVEL/FADE TIME*2 (msec unit time)

SE

FDT:

This is the time table number that is used for the fade-in time. The time table contains the number of counts per time unit. The number of counts is determined firstfrom the PLFO FADE time input in the Tone Editor. Then the closest number ofcounts is obtained from a time table by the absolute difference of the two countvalues. The resulting value is set here.
Count value = PLFO FADE TIME (msec unit time)60