N64® Function Reference

al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive
Demos and Sample Code
Miscellaneous Tools
Emulator 2.0 INDY Device
Microcode

Nintendo® Confidential

Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.

   



N64 Audio Terminology

ABI
Audio Binary Interface. The portion of the N64 software libraries used to control the audio microcode for music and sound effects.
ABI command
A command interpreted and executed by the microcode (audio microcode) for waveform synthesis. Created by the waveform synthesis driver.
ADPCM
The abbreviation of "Adaptive Differential Pulse Code Modulation." This compression method for sampling data predicts the next sampling value from the past sampling value and encodes the difference between its predicted value and the actual one. It can compress the data amount to about 25 percent.
ADSR
The abbreviation for the "Attack, Decay, Sustain, Release" envelope, which is the time and volume contour for a sound. Volumes are specified in the range 0 to 127 and times are specified in microseconds.
  • A - attack time is the time it takes for the sound to reach its initial attack volume level.
  • D - decay time is the time it takes for a sound to decay to its decay volume.
  • S - sustain time and volume specify the length of time and volume for a lasting (sustained) sound.
  • R - release time is the time it takes for a sound to decay to its release volume after a MIDI Note-off is received.
AIFC and AIFF
An audio file format for sound data. AIFC adds information about the correlation to compression CODEC to the basic AIFF form.
Bank files
The N64 Audio Library for IRIX synthesizes audio from MIDI events by using the control information (such as key map, envelope, or gain) contained in the .ctl and the wavetable data (ADPCM compressed) contained in the .tbl data files and the symbol information contained in the .sym file. These three files are known collectively as bank files. They are created by the ic tool.

For the N64 Sound Tools for the PC, the bank file is referred to as a WBK file (wavetable bank file). It is created by the sample bank editor.
Bank object
The bank object (or bank) contains an array of instruments, a sample rate specification, and an optional default percussion instrument.
Big room
The sound effect where the sound you hear sounds as if it were produced in a big room.
Cent
An interval of 1/100 of a semitone. One octave is 1200 cents.
Check
The resolution specified to the header of MIDI sequence, and the unit time related to the MIDI clock.
Chorus
To mix a single sound with delayed and modulated sound to give the sound depth by creating an effect similar to a chorus.
Code book
ADPCM is the code book. It is a table of estimated coefficients used for optimizing the sound quality when providing the estimated-coefficient ADPCM compression.
Compact MIDI
The N64 original MIDI format that is a compression of the standard MIDI format. It is played by a compact sequence player on the SGI audio driver.
DC normalization
The abbreviation of "Discrete Cosine normalize." By doing the orthogonal transform (discrete cosine transformation) of input signals, this process splits the signal into the direct current and alternating current components and takes out the direct current component. You can do the discrete cosine transformation and reverse-transformation in real-time by using DSP.
De-tune
To slightly shift the sound frequency.
Delay line
A technique used to create a sound effect. It provides frequency modulation or amplitude modulation in order to implement the echo or flange sound effect.
Delta time
The time between events.
DMA call back
As occasion demands, it transfers the waveform data from ROM to RAM by using DMA. By using this method, you avoid keeping unnecessary data in RAM, so the amount of RAM required for audio is decreased.
Dry
A sound effect that ranges from 0 (a completely dry sound) to 127 (a completely wet sound). A dry sound has little reverb.
Echo
A phenomenon where the sound from a voice source reflects from wall or other object.
Envelope
The information that defines an audio change. The N64 audio library uses the ADSR envelope.
Event
A change relating to sound. Events include note-on, note-off, control change, and so on.
Flange
A sound effect where a copy of the original sound is slightly delayed and then added to the original sound to exagerate the frequency component.
FX type
The type of sound effect. Examples include the small room, the big room, echo, flange, chorus, and custom.
Gain value
The transition ratio of the output signal to the input signal in "dB."
General MIDI
A standard format for connecting electronic musical instruments. It is supported by the N64 software libraries.
Instrument
In the N64 audio library, this refers to the complete package of audio attributes including the sound, envelope, key map or pan, and so on.
Instrument compiler (ic)
A tool to create bank files that include the waveform data file (.tbl), the control file (.ctl), and the bank file symbol information file (.syn) from compressed AIFC sound data. This tool is used with the SGI audio tools. For the N64 Sound Tools for the PC, this is performed by the sample bank editor.
Instrument patch
The digital recording of a sound effect or instrument that is used by the N64 synthesizer to reproduce the sound during MIDI playback.
Key base
The MIDI note number definition for sound played at the standard pitch. It doesn't have sound from all the keys. Rather it provides the pitch shift from the difference between the specified keys and the key base. Then it uses this calculated information to create the sound of the specified keys.
Key number
The note number.
Meta-event
MIDI doesn't include this event, but you can define it. It has tempo or end-of-track information.
Middle C
The center C4 (MIDI note number 60).
MIDI
The acronym for Musical Instrument Digital Interface. An electronic format for storing and communicating instrument and note data. This feature is implemented in the N64 RCP audio hardware. It is the data transfer standard for exchanging sound information such as volume and length among a synthesizer, sequencer, computer, and so on.

Music composition involves the creation of MIDI sequences and then importing them into the game. MIDI sequences can be created using any of a variety of sequencer applications (Performer, Vision, Cubase, MasterTracks, to name a few). After the sequences are saved as MIDI files, they should be converted before being included in the game. If you are planning to use the compact MIDI sequence player, the sequences should be run through midicmp. If you are using the regular sequence player, the sequences are run through midicvt. After the sequences are converted, they can be assembled into sequence banks with the sbk tool. This is optional, MIDI sequences can be used without being part of a sequence bank. To actually include the sequences in the game, a segment containing the sequence data should added to the spec file.

For details on the MIDI implementation in the N64 Sound Tools for the PC, please refer to the N64 Sound Tools Sound Development Manual.
MIDI clock time
A timing used to control the MIDI equipment.
MIDI daemon
A tool used by the N64 in a real-time MIDI performance on the SGI INDY.
Mixing
To mix several independent notes.
Modulation depth
The degree of the modulation rate pitch change.
Modulation rate
The delay time from the input sound.
Nest
To fit small data blocks into a large data block.
Note number
The number that indicates the scale. A setting of 60 is the center value.
Note-on and note-off
A MIDI command used when sound occurs (note-on) or stops (note-off). Note-on and note-off must always exist as a pair. Instead of note-off, "note-on with a velocity is 0" is also used.
Pan
The orientation information of the sound. It indicates where the sound is coming from (right to left).
Physical voice
The voice that actually provides the wave form synthesis. It corresponds to the sound process module that consists of the ADPCM decompressor, the pitch shifter, and the gain unit.
Pitch
The sound interval by frequency.
Pitch bend
To make the pitch continually go up and down to produce an effect similar to the choking of a guitar.
Playback rate
The number of samples processed by the AI (Audio Interface) per second.
Polyphonic key pressure
Information that provides an individual sound effect for a specific note when several notes are played at the same time.
Predictive coefficient
With ADPCM compression, you estimate the current sampling value from the past sampling value and encode the difference between its estimated value and the actual value. This predictive coefficient is then used to search for the estimated value.
Program number
The number in the MIDI sequence that identifies each instrument.
Resample
To resample by shifting the pitch. It is used to convert the ADPCM output data to an arbitrary pitch. It is also called the pitch shift process.
Sampling
To extract the signal size from the continuous analog signals at each suitable time interval.
Sampling rate
The number of samples per second. The higher the sampling rate, the higher the sound quality. As the sampling rate goes up, so do the memory requirements.
sbc
A tool used to create a sequence bank file from some sequence files for the SGI audio tools.
Semitone
A half tone.
Sequence player
The sequence player has two types, the MIDI sequence file player of Type 0 and the compact MIDI sequence player. These players have the same functions except for the compression format and the loop process. While the MIDI sequence player of Type 0 can provide the loop process from outside, the compact MIDI sequence player must have the loop point embedded in the sequence. This applies to the SGI audio driver.
Sequence position marker
It marks on a position of Type 0 sequence data and is used for setting the playing time or loop point.
Sequencer
The device or software that continually controls the sound data.
Sound player
A player that plays a single sound effect or streamed audio. It can play a sound that uses the ADPCM compression format or the 16-bit uncompressed format.
Stealing voice
The process where a low-priority virtual voice, already allocated by a physical voice, is taken over by a high-priority or same-priority virtual voice.
Streaming
To make a constant amount of sound data flow all the time in the real-time process.
Subtype byte
The byte that stores the information that defines the MIDI event type.
Tremolo
A process that applies low frequency modulation to the sound quantity to make it alternate between large and small.
Type 0-Type 1 MIDI
Forms of the MIDI sequence data. A general MIDI sequencer uses a Type 1 MIDI file. As the N64 audio library can only use sequence data of the Type 0 MIDI file, you need to convert to the Type 0 MIDI file by using midicvt.
Velocity
The rate to strike the keyboard. Usually, this information indicates the sound level.
Vibrato
It makes the sound frequency (pitch) go up and down by the low frequency modulation.
Virtual voice
Expressed by the ALVoice structure for ease of use by the player. To play a sound, a player's virtual voice must be allocated to the sound. Virtual voices are allocated to the physical voice that has the highest priority.
Wavetable
It is raw sound data with ADPCM compression that is part of a bank file.

The audio library can use either compressed or uncompressed wavetables for sound reproduction. In either case, the wavetables are first created using the digital recording/editing system of the sound designer�s choice. The wavetables are then stored as AIFF files. If the samples are to be compressed, the first step is to produce a compression table using tabledesign. After the compression table has been built, the wavetable is compressed using vadpcm_enc. This will generate a type of AIFC file that is unique to Nintendo. (Note that AIFC files created with other software tools are not compatible with the compression scheme used by the Nintendo.)

After the wavetables have been converted to AIFC files, (or left as AIFF files if no data compression is desired) they need to be assembled into banks so that the Audio Library can reference them correctly. To accomplish this, the sound designer must first create an .inst file, which is a text file that specifies the parameters for sound playback and the wavetable files. The .inst file is then used by the instrument compiler (ic) to create the bank files. The bank files can then be included in the game by placing them in segments in the applications spec file. The creation of .inst files and the use of the ic is covered in detail in Chapter 28, "Audio Tools," in the N64 Programming Manual.

This information applies only to the SGI audio tools.
Wavetable synthesis
A type of music synthesis that uses recorded samples of actual instruments and dynamically modifies the pitch and other attributes for enhanced realism. This feature is implemented in the N64 RCP graphics hardware.
Wet
A sound effect that ranges from 0 (a completely dry sound) to 127 (a completely wet sound). A wet sound has large amounts of reverb.


Nintendo® Confidential

Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last Updated March 1998