| This FAQ is organized into the following sections:
Before you continue ...
This document assumes you have a basic understanding of how MIDI
works, the different MIDI messages, and how your MIDI sequencer
works. If you are not familiar with these topics, please consider
consulting a friend who has experience with MIDI, or consulting
books on MIDI. A list of recommended reading on MIDI can be found
in section G of this document.
Contents
SECTION A - SB AWE32 IN GENERAL
- What is the SB AWE32? How does it differ from the SB16?
- How much memory is shipped with the SB AWE32 card?
- Can I upgrade the memory on my SB AWE32 card?
- What is the recommended SIMM memory access speed?
- How do I upgrade the memory on the card?
- What are the uses of the 512 KB DRAM on the SB AWE32?
- Would adding DRAM to the SB AWE32 increase the performance of
WAVE file editing or manipulation?
- Is it possible to use AWE32 sounds (16 channels) together with
FM sounds from the OPL-3 chip (16 channels) in Cakewalk?
- How many MIDI channels can the SB AWE32 handle in Windows?
- What MIDI sequencers will work with SB AWE32? Are special
drivers required?
- Are there any plans for OS/2 and Windows NT SB AWE32 drivers?
- What I/O port addresses are used by the EMU8000?
- Why doesn't the EMU8000 have a built in MIDI interpreter?
- Does the SB AWE32 support MIDI Sample Dump to transfer
samples to the EMU8000?
- What is CC0 documented in Appendix G-4 and G-5 of the SB
AWE32 Getting Started Manual? How are these variation tones
accessed?
- What "drum kits" are available in GS mode?
- Does the SB AWE32 respond to MIDI Aftertouch?
- My PC system does not have a working NMI. What can I do to
use AWEUTIL?
- Is there a WaveBlaster upgrade option on the SB AWE32?
- What is the benefit of adding a WaveBlaster to the SB
AWE32?
- Is it possible to load AWEUTIL into high memory?
- Does AWEUTIL have to stay memory resident?
- What are the long term plans to solve the problem with DOS
extender games?
- Will software written for the SB16 work with the SB AWE32?
- Does Creative have any plans for a SCSI version of the SB
AWE32?
- What CD-ROM drives does the SB AWE32 support?
- What are the different reverb and chorus variations available
on the SB AWE32?
- What are the undocumented JP6, JP8 and JP9 jumpers on
the card?
- How does the AWE32 Value Edition differ from the Sound
Blaster AWE32?
- Is there a preset editor for the SB AWE32?
- Is it possible to patch multiple sounds across different keys,
such as a drum kit?
- How are new instruments on the SB AWE32 created?
- What functionality does Vienna SF Studio offer?
- Where do I get my copy of Vienna?
- Can Vienna load samples for other systems e.g. Akai S1000 or
Yamaha TG55?
SECTION C - PROGRAMMING INFORMATION
- Is programming information available for the SB AWE32?
- Is the effect engine on the SB AWE32 programmable?
- What are SoundFont Collections?
- How do SoundFont Banks work?
- Where can I purchase SoundFont Banks?
- What can I do with SoundFont Banks?
- Will having 28 MB on the SB AWE32 improve the sound quality
over a standard 512 KB SB AWE32?
SECTION E - INTRODUCTION TO THE EMU8000 CHIP
- How do I make use of RPN documented in the SB AWE32 MIDI Implementation chart?
- How do I change an instrument's sound parameter in real time?
- How do I select the SB AWE32's reverb and chorus variation type through MIDI?
- How can I maximize my system's memory so that I still have plenty of room to run games after installing the SB AWE32?
- How do I load a SoundFont Bank?
- How do I setup my sequencer software to access the user bank that I have downloaded into the RAM?
- How do I get the latest drivers for the SB AWE32?
SECTION H - SB AWE32 NRPN IMPLEMENTATION
- What is the SB AWE32? How does it differ from the SB16?
The SB AWE32 is a standard SB16 MultiCD with the EMU 8000
Advanced WavEffect music synthesizer chip. The card includes
all the standard SB16 features. Additionally, the SB AWE32
includes the Advanced Signal Processor and multiple
interfaces supporting Creative, Mitsumi and Sony CD-ROM
drives.
The EMU8000 is a sub-system offering high quality music
synthesis using advanced wave effects technology. It comes
with an onboard dedicated effect engine. The effect engine
provides high quality effects like reverb and chorus to MIDI
playback. The EMU8000 supports up to 32 voices, and the
effect amount for each voice can be controlled via MIDI.
The EMU8000 comes integrated with 1MB of General MIDI
samples and 512kB of DRAM for additional sample downloading.
It can address up to 28 MB of external DRAM memory. The SB
AWE32 supports General MIDI, Roland GS and Sound Canvas MT-
32 emulation.
Note: MT-32 Emulation on the SB AWE32 is similar to that of
the Sound Canvas; e.g., MT-32 sysex is not supported.
- How much memory is shipped with the SB AWE32 card?
The card ships with 1 MB of General MIDI ROM samples and 512
KB of DRAM for user sample downloading.
- Can I upgrade the memory on my SB AWE32 card?
The Sound Blaster AWE32 has a pair of SIMM sockets for
upgrading the DRAM to as much as 28 megabytes. The SB AWE32
Value Edition card does not allow the memory to be upgraded.
- What is the recommended SIMM memory access speed?
Hardware specifications call for SIMM modules with 80
nanosecond or better access times.
- How do I upgrade the memory on the card?
To upgrade the memory, you can purchase standard SIMM
modules and insert them into the SIMM sockets provided on
the SB AWE32. (If you are not familiar with inserting SIMM
modules, check with a technician where you purchased the
SIMM modules. They should be able to help). You will also
need to reconfigure the memory selector jumper on the SB
AWE32 card.
The SIMM sockets on the SB AWE32 were designed to
accommodate industry standard 30-pin SIMM modules. You will
need to insert two SIMMs of the same memory size into both
of the sockets. The available memory options are:
- 2 MB (using 2 1 MB SIMMs)
- 8 MB (using 2 4 MB SIMMs)
- 32 MB (using 2 16 MB SIMMs)
Note that you cannot mix different size (that is, 2 MB and 8
MB) SIMM modules together on a single SB AWE32 card.
There are also 72 pins SIMM modules on the market. Such
SIMMs can be found on motherboards that use 8 or 16 megabit
SIMMs or as cache RAM. They are incompatible with the SIMM
sockets on the SB AWE32 card.
The EMU8000 treats the first 4 MB of its DRAM address space
as ROM memory. As a result, when you insert two 16 MB SIMMs
onto the SB AWE32, only 28 MB will be addressable.
Note: SB AWE32 Value Edition does not allow memory upgrade.
- What are the uses of the 512 KB DRAM on the SB AWE32?
The on-board 512 KB of memory is used to hold user samples.
In GS synthesizer mode, this 512 KB is used to hold the
sound effects of GS. In GM synthesizer mode, the 512 KB DRAM
is free, so it can hold SoundFont banks containing samples.
MT-32 Synthesizer mode uses a small portion of the 512 KB of
memory, therefore you can still load your own SoundFont bank
samples into the rest of the free RAM space.
- Would adding DRAM to the SB AWE32 increase the performance
of WAVE file editing or manipulation?
Addition of SIMM DRAM to the SB AWE32 will allow you to
accommodate more SoundFont bank data. This, however, will
not increase the performance of WAVE file editing or
manipulation as the latter does not make use of the SIMM
DRAM on the SB AWE32.
- Is it possible to use AWE32 sounds (16 channels) together
with FM sounds from the OPL-3 chip (16 channels) in Cakewalk?
You can use both the AWE32 sounds AND the OPL-3 FM sounds
together in Cakewalk. As both the AWE32 and OPL-3 appear
under Microsoft Windows as two separate MIDI devices, you
can play both devices simultaneously. There are two methods
that you can use. You can either changed the MIDI Mapper
settings OR change it within Cakewalk. The following is a
step-by-step guide:
Method 1
- Start the Control Panel, and enter the MIDI Mapper applet.
- Select "SB16 ALL FM" as the output setup
- Select "Edit" to go into MIDI Setup
- Locate the "Port" column
- If you want a channel to be playing back using the AWE32,
then select "Sound Blaster AWE32 MIDI Synthsizer". On the other
hand, if you want the channel to be playing back using the OPL3,
then select "Voyetra Super Sapi FM Driver" . Repeat steps 4 and 5
on other channels to assign the output port as desired.
- Startup Cakewalk. Select "Settings" , then "MIDI Devices"
- Select "Microsoft MIDI Mapper" as MIDI devices.
Now you will have the sound playing back according to what
you have set in the MIDI Mapper.
Method 2
- Startup Cakewalk.
- Select "Settings", then "MIDI Devices"
- You will see a dialog box with MIDI IN devices on the left,
and MIDI OUT devices on the right. Click on both "Sound Blaster
AWE32 MIDI Synth" and "Voyetra Super Sapi FM Driver".
- Select "OK"
- Activate the "Track/Measure" Window.
- Locate the "Port" column in the Track/Measure Windows
- If you want a track to be playing back using AWE32, double
click on the tracks "Port" section, and select "1:Sound Blaster
AWE32 MIDI Synth." On the other hand if you want the track to be
playing back using the OPL-3 then select "2:Voyetra Super Sapi FM
Driver."
You can repeat steps 6 and 7 on other Cakewalk tracks
to assign the output port as desired.
Note: These methods could also be used if you have a WaveBlaster
attached to your SB AWE32. The WaveBlaster will
appear as "SB16 MIDI Out" in the "Port" column.
- How many MIDI channels can the SB AWE32 handle in Windows?
Under Windows, the SB AWE32 has two MIDI synthesizer
devices, EMU8000 and OPL3. Each MIDI device is capable
of supporting 16 MIDI channels, with 15 being melodic, and
one channel (MIDI channel 10) being percussive. Using the
two devices at once allows 32 MIDI channels to be available
in Windows.
- What MIDI sequencers will work with SB AWE32? Are special
drivers required?
The SB AWE32 package ships with a Windows SB AWE32 MIDI
driver. Therefore, the SB AWE32 can be used with any Windows
based MIDI sequencer software. For DOS, the sequencer
software needs to have native SB AWE32 support.
- Are there any plans for OS/2 and Windows NT SB AWE32
drivers?
The SB AWE32 OS/2 driver is currently available with OS/2
Warp 3.0. The Windows NT driver is available as ntawe32.exe on
Creative's BBS, CompuServe Forum, and Internet FTP site.
See the item "How do I get the latest
drivers for the SB AWE32?" in Section F for further information.
- What I/O port addresses are used by the EMU8000?
The addresses used by the EMU8000 are relative to the base
I/O address of the SB16. EMU8000 Addresses are at 6xxH, AxxH
and ExxH. It occupies the first four addresses at each
location. For example, if the SB16 base I/O address is 220H,
the EMU8000 addresses are 620H-623H, A20H-A23H and E20H-
E23H.
- Why doesn't the EMU8000 have a built in MIDI interpreter?
One of the design goal of the SB AWE32 is to offer high
quality music at an affordable price. The EMU8000 is just
like any other synthesizer chip such as OPL2, OPL3 or OPL4.
It does not have the capability to interpret MIDI commands.
For it to understand MIDI commands, a MIDI interpreter is
required, and this will involve adding an additional
processor to process the MIDI commands and other components
adding to the cost of the product. After our analysis of
price and performance, we decided that our current
implementation offers the best in terms of price as well as
performance.
To support existing games that use MPU-401, we provide a
feature known as MIDI feedback using NMI (non-maskable-
interrupt) which installs a small TSR program, AWEUTIL.
AWEUTIL works by trapping data going out to the MPU-401 port
and program the EMU8000 using the data. AWEUTIL provides
compatibility with many games that support the MPU-401
interface, but will not always work with protected mode
games due to the complicated ways in which DOS extenders
handle NMI. Note that you can still continue to play your
favorite DOS protected mode game with the on-board OPL3 FM
chip.
We are working closely with the game developer community to
port their MIDI driver to support the SB AWE32. We have a
porting laboratory at Creative Labs, Inc., where we invite
developers to port their drivers to natively support the SB
AWE32. We believe that in the near future the SB AWE32 will
be widely supported. Currently, we already have support from
several major audio driver developers for the SB AWE32
platform.
- Does the SB AWE32 support MIDI Sample Dump to transfer
samples to the EMU8000?
No. The sample transfer between PC and SB AWE32 is
through the PC bus, and does not dump via the SB AWE32 MIDI
port.
- What is CC0 documented in Appendix G-4 and G-5 of the SB
AWE32 Getting Started Manual? How are these variation tones
accessed?
CC0 is short form for Continuous Controller 0 (zero),
which is MIDI Bank Change.
The SB AWE32 offers Sound Canvas compatibility by including
the user bank instruments found on the Sound Canvas. User
bank instruments are simply instruments of a similar class
or variation. For example, General MIDI instrument number 25
is the Steel Acoustic Guitar, and its variation is the
Ukulele.
A user bank tone is just like any other General MIDI
instrument. Take for example the Ukulele variation tone.
Lets assume you are currently doing MIDI editing under
Cakewalk Apprentice, and you sequenced a track that uses
Steel Acoustic Guitar. You play the track back, and feel
that the Steel Acoustic Guitar does not quite cut it, so you
decide to give Ukulele a try. What you would need to do is
to insert a MIDI bank change of value 8 (the user bank for
Ukulele) in that track, follow immediately by a program
change of 25 (Steel Acoustic Guitar) to select the user bank
tone.
What you have just accomplished is to set the MIDI channel
in which the Steel Acoustic Guitar instrument is playing to
the user bank instrument Ukulele.
- What "drum kits" are available in GS mode?
A drum kit is a collection of percussive instruments (snare
drum, bass drum, hi-hats) laid across the entire MIDI
keyboard. Under General MIDI, MIDI channel 10 is reserved
for percussion instruments. General MIDI defines only one
drum kit, which is the Standard Kit. Under the GM synth
mode of the SB AWE32, channel 10 automatically uses the
Standard Kit. MIDI music would be very boring if everybody
used the same drum kit in every MIDI song. Imagine all MIDI
songs using the same snare drum and the same bass drum, and
you will have an idea of how similar every MIDI song will
sound.
Under the GS synth mode of the SB AWE32 there are 11
(including the Standard Drum Kit) different drum kits you
can use on MIDI Channel 10. These drum kits are:
Name Program Description
Number
Standard/Jazz 0/32 Standard General MIDI drum kit.
Jazz is similar to the Standard
drum kit.
Room 8 Similar to that of the Standard
kit except that it has more room
ambiance.
Power 16 A gain similar to that of the
Standard kit, but with more
power kick and snare drums.
Electronic 24 Electronic drum kit. Most of the
percussion instruments in this
drum kit are reminiscence of old
analogue and digital rhythm
machines (such as the Roland TR-
707 and TR-909 rhythm machine)
TR-808 25 Electronic drum kit,
reminiscence of the Roland TR-
808 rhythm machine.
Brush 40 Similar to the Standard kit
except that brushes have been
added. This kit is mostly used
for Jazz MIDI pieces.
Orchestra 48 An immense collection of concert
drums and timpani.
SFX 56 A collection of Sound Effects.
CM-64/32L 127 Same as the Roland MT-32 drum
kit. This drum kit contains
standard percussion at the lower
range of the keyboard, and sound
effects at the higher range of
the keyboard.
Drum kits are very easy to access under MIDI. Each drum kit
is essentially an instrument and you select a drum kit by
selecting an instrument, just as if you would select a
melodic instrument. For example, if you want to select the
TR-808, all you have to do is to perform a program change to
25 on MIDI channel 10. After the program change, all
percussion sounds will be played back through the TR-808
drum kit.
- Does the SB AWE32 respond to MIDI Aftertouch?
The SB AWE32 Windows MIDI driver prior to version 1.03 does
not support MIDI Channel Aftertouch. The current SB AWE32
driver supports MIDI Channel Aftertouch AND MIDI Controller
11 (expression).
See the item "How do I get the latest drivers for the SB
AWE32?" in section F for further information.
- My PC system does not have a working NMI. What can I do to
use AWEUTIL?
One of the most common causes of a system not having a
working NMI is that the system's memory parity checking has
been turned off. You can check your system's memory parity
checking status by activating your system's BIOS setup.
Consult your system's user manual on how to activate
BIOS/CMOS setup and memory parity checking.
If your system does not have a working NMI or you have a DOS
protected mode game, then you can only play games using FM
music.
Note that this NMI problem only applies to DOS games or
applications, not to Windows games or applications. Under
Windows, all applications play music and sound effects
through the standard SB AWE32 Windows drivers.
As more developers include native SB AWE32 support, this NMI
problem will gradually disappear.
Some of the protected mode games already have SB AWE32
support via special drivers. You can obtain more information
on these drivers in the Sound Blaster forum on CompuServe,
or on Creative's BBS. See the item "How do I get the latest
drivers for the SB AWE32?" in Section F for further information.
- Is there a WaveBlaster upgrade option on the SB AWE32?
Yes, the SB AWE32 features a WaveBlaster connector. The
AWE32 Value Edition, however, does not have a WaveBlaster
connector.
- What is the benefit of adding a WaveBlaster to the SB
AWE32?
The WaveBlaster connector was included on the SB AWE32 to
provide users an alternative wave-sample synthesis method
other than the EMU8000 on the SB AWE32. By incorporating a
WaveBlaster onto the SB AWE32, the total polyphony of this
combination will be increased to 64, the total number of
channels expanded to 32, and you will have access to a
secondary palette of sampled sounds.
- Is it possible to load AWEUTIL into high memory?
AWEUTIL automatically searches for high memory and will
attempt to load itself high if enough high memory is
available.
- Does AWEUTIL have to stay memory resident?
AWEUTIL serves two purposes; to initialize and control the
reverb and chorus effects of the FM hardware on the SB AWE32
card, and to provide NMI MIDI Feedback.
AWEUTIL /S
will initialize and set the reverb and chorus effect of the
FM hardware, and then terminate. It will not stay resident
in memory.
If you want to activate NMI MIDI Feedback, then run
AWEUTIL /EM:XX (XX = GM, GS, MT32)
before starting your game.
When you finish the game, remember to run
AWEUTIL /U
to unload AWEUTIL from memory.
- What are the long term plans to solve the problem with DOS
extender games?
We are currently getting developers to natively support the
SB AWE32. So far we have had good support from John Miles
Inc. with their SB AWE32 Miles (real and protected mode)
drivers, from Accolade, from HMI and from John Ratcliff with
his MIDPAK drivers. As more and more developers support the
SB AWE32, the DOS extended game's problem will gradually
disappear.
- Will software written for the SB16 work with the SB AWE32?
Definitely. The SB AWE32 uses the same base system as the
SB16, so it is fully compatible.
- Does Creative have any plans for a SCSI version of the SB
AWE32?
We will deliver a SCSI version of the SB AWE32 when there is
sufficient demand.
- What CD-ROM drives does the SB AWE32 support?
The SB AWE32 supports Creative, Sony and Mitsumi CD-ROM
drives, but not IDE or SCSI CD-ROM drives.
- What are the different reverb and chorus variations
available on the SB AWE32?
Reverb and chorus effects add warmth and movement to MIDI
playback. There are eight reverb types and eight chorus
types available on the SB AWE32.
- Room 1 - 3
- This group of reverb variation simulates the natural
ambiance of a room. Room 1 simulates a small room, Room 2
simulates a slightly bigger room, and Room 3 simulates a
big room.
- Hall 1 - 2
- This group of reverb variation simulates the natural
ambiance of a concert hall. It has greater depth than the
room variations. Again, Hall 1 simulates a small hall,
and Hall 2 simulates a larger hall.
- Plate
- Back in the old days, reverb effects were sometimes
produced using a metal plate, and this type of reverb
produces a metallic echo. The SB AWE32's Plate variation
simulates this form of reverb.
- Delay
- This reverb produces a delay, that is, echo effect.
- Panning Delay
- This reverb variation produces a delay effect that is
continuously panned left and right.
- Chorus 1 - 4
- Chorus produces a "beating" effect. The chorus effects
are more prominent going from chorus 1 to chorus 4.
- Feedback Chorus
- This chorus variation simulates a soft "swishing" effect.
- Flanger
- This chorus variation produces a more prominent feedback
chorus effect.
- Short Delay
- This chorus variation simulates a delay repeated in a
short time.
- Short Delay (feed back)
- This chorus variation simulates a short delay repeated
(feedback) many times.
These effect variations can be selected by the following
sysex messages:
Reverb sysex macro
F0 41 10 42 12 40 01 30 XX 00 F7
where XX denotes the reverb variation to be selected. The
valid values for XX are
00 - Room 1
01 - Room 2
02 - Room 3
03 - Hall 1
04 - Hall 2
05 - Plate
06 - Delay
07 - Panning Delay
Chorus sysex macro
F0 41 10 42 12 40 01 38 XX 00 F7
again, XX denotes the chorus variation to be selected. The
valid values for XX are
00 - Chorus 1
01 - Chorus 2
02 - Chorus 3
03 - Chorus 4
04 - Feedback chorus
05 - Flanger
06 - Short Delay
07 - Short delay (FB)
- What are the undocumented JP6, JP8 and JP9 jumpers on
the card?
JP8 Is a digital (SPDIF) out from the EMU8000.
Pin definition:
- 0 - signal,
- 1 - signal ground.
JP9 provides another means to control the volume of the
mixer on the SB AWE32.
Pin definition :
- 1 - increase volume
- 2 - Analog Ground
- 3 - decrease volume
J6 is an audio feature connector.
Pin definition :
- 1 - AG (Analog Ground)
- 2 - Line out (Right)
- 3 - AG (Analog Ground)
- 4 - AG (Analog Ground)
- 5 - Line out (Left)
- 6 - AG (Analog Ground)
- 7 - -12V
- 8 - Reserved
- 9 - Mic In
- 10 - +12V
- 11 - AG (Analog Ground)
- 12 - AG (Analog Ground)
- 13 - AG (Analog Ground)
- 14 - AG (Analog Ground)
- 15 - PC Speaker In
- 16 - Mono Speaker out
- How does the AWE32 Value Edition differ from the Sound
Blaster AWE32?
The Sound Blaster AWE32 Value Edition is a low-cost
alternative for users who want the Advanced WavEffects
realistic instrument and sound effects capabilities of the
AWE32, but do not need all of the features of the AWE32
standard edition. The AWE32 Value Edition has most of the
features of the Sound Blaster AWE32 card, but does not have
a Wave Blaster connector, an Advanced Signal Processor, or
memory upgrade capability. Also, the AWE32 Value Edition
does not contain Cakewalk Apprentice, TextAssist and Vienna
SF Studio software. TextAssist software is available with
the CSP upgrade, and Cakewalk Apprentice is available with
the Creative MIDI Kit.
- Is there a preset editor for the SB AWE32?
Vienna SF Studio is a SoundFont bank editing software
package that allows you to create, edit and download sounds
onto the Sound Blaster AWE32. You can create WAVE files to
import into Vienna to create your own instruments. Vienna
also allows you to program your own presets (tweaking the
envelopes' generators, the LFOs and such).
- Is it possible to patch multiple sounds across different
keys, such as a drum kit?
Yes, Vienna was designed for making drum kits as well.
- How are new instruments on the SB AWE32 created?
As mentioned above, you can create your own samples (using
Wave Studio or Soundo'Le, for example) to import into
Vienna. As an example, let's say you have a Steinway piano
you would like to sample it and use the Steinway sound on
your SB AWE32. What you need to do is sample your Steinway
in 16 bit mono WAVE files. Then you can use Vienna to edit
its preset and save it as a SoundFont-compatible bank file and load it
as a user bank into your SB AWE32 to play just like any
normal MIDI instrument.
- What functionality does Vienna SF Studio offer?
Here is what you can do with Vienna:
- - Multi-sample arrangement
- Multi-sampling is the technique of sampling a musical
instrument at different musical intervals, arranging
the samples across a MIDI keyboard and assigning key
ranges (for example, from key C3 to C4) to these
samples. Vienna allows you to visually assign samples
to key ranges.
- - Preset editing
- Once you arrange your samples across the keyboard, you
can then start to program the instruments' envelopes
and LFOs to your liking. Refer to Section E,
Introduction to EMU8000, for
information on envelopes and LFOs.
- - Loop point selection
- Vienna allows you to visually select the loop points of
a sample.
- - Drum kit arrangement
- Vienna is not limited to just creating musical
instruments; you can also layout and save a drum kit
using any samples you desire.
- Where do I get my copy of Vienna?
Vienna is now packaged with the SB AWE32 standard edition.
SB AWE32 Value owners who wish to purchased the software may
contact Creative Labs directly.
- Can Vienna load samples for other systems e.g. Akai S1000 or
Yamaha TG55?
Vienna can load any instrument bank that is compliant with
Creative's SBK format. Vienna will not load instrument
banks in other formats.
Section C - Programming Information
- Is programming information available for the SB AWE32?
The SB AWE32 Developer's Information Pack is available on
the Creative Labs BBS, on CompuServe, and at the Creative
Labs FTP site. The filename is ADIP.EXE/ADIP.ZIP. It
contains both Windows and DOS programming information. It is
made for developers who intend to program the EMU8000
subsystem on the SB AWE32. Programming of other features,
such as digitized sound I/O etc, is exactly same as the
Sound Blaster 16. You could refer to the "Developer Kit for
Sound Blaster Series, 2nd Edition" for programming in DOS
and/or Windows Multimedia API for programming in Windows.
For DOS environments, we have created library functions
based on MIDI messages such as NoteOn, NoteOff,
ProgramChange, etc. Special care has been taken to ensure
that the library can be used for building TSR drivers or
embedded MIDI drivers in an application.
For Windows environments, we provide the API for sample
downloading and effect control.
- Is the effect engine on the SB AWE32 programmable?
The effect engine on the SB AWE32 is dedicated to produce
reverb, chorus and QSound effect, and is not intended to be
programmable. You can, however, select different reverb or
chorus variations using sysex. Refer to the item "What
are the different reverb and chorus variations available on
the SB AWE32?" in Section A for more information.
- What are SoundFont Collections?
E-mu SoundFont Collections are CD-ROMs that contain
SoundFont Banks of varying sizes (0.5 MB to 8 MB). E-mu's
SoundFont Banks include both instruments and sound effects.
Many of E-mu's traditional instrument sounds will be
included (for example Proteus 1-3) as well as some new
sounds.
- How do SoundFont Banks work?
SoundFont Banks can be loaded into RAM on the SB AWE32. They
can then be used in conjunction with a MIDI sequencer to
create soundtracks or other kinds of audio creations.
- Where can I purchase SoundFont Banks?
SB AWE32 customers will be pleased to know that the first E-mu
SoundFont Banks are now available for purchase directly
from E-mu Systems.
For the latest information on available SoundFont banks,
call (408) 438-1921 x148 from 8am to 5pm Pacific Time, and
ask for the Sounds Department.
Fax orders should be sent to (408) 438-7854 Attention:
SoundFont Order.
Internet inquiries should be sent to SoundFont@emu.com.
All orders should include the customer's Name, Address,
Phone Number and Credit Card Information (including
expiration date) and the part numbers of the SoundFont Banks
being ordered.
- What can I do with SoundFont Banks?
You can:
- Load SoundFont banks of your choice into the RAM of your
SB AWE32 and use this set of sounds as you compose with a
MIDI sequencer.
- Create your own SoundFont-compatible bank with SoundFont Objects
from various SoundFont Banks you already have using
Vienna SF Studio software.
- Edit individual SoundFont parameters with Vienna to
create your own version of the sounds and then assemble
your own SoundFont Objects into a SoundFont Bank.
Creating your own SoundFont-compatible Objects and Banks gives you
the freedom to create your own unique instruments and
sound effects to differentiate your soundtracks.
- Will having 28 MB on the SB AWE32 improve the sound quality
over a standard 512 KB SB AWE32?
Absolutely! The more RAM memory on your SB AWE32 the larger
and fuller the sound samples you can include in your
SoundFont Banks.
Section E - Introduction to the EMU8000 Chip
The EMU8000 has its roots in E-mu's Proteus sample playback
modules and their renowned Emulator sampler. The EMU8000 has
32 individual oscillators, each playing back at 44.1 kHz. By
incorporating sophisticated sample interpolation algorithms
and digital filtering, the EMU8000 is capable of producing
high fidelity sample playback.
The EMU8000 has an extensive modulation capability using two
sine-wave LFOs (Low Frequency Oscillator) and two multi-
stage envelope generators.
What exactly does modulation mean? Modulation means to
dynamically change a parameter of an audio signal, whether
it be the volume (amplitude modulation, or tremolo), pitch
(frequency modulation, or vibrato) or filter cutoff
frequency (filter modulation, or wah-wah). To modulate
something we would require a modulation source, and a
modulation destination. In the EMU8000, the modulation
sources are the LFOs and the envelope generators, and the
modulation destinations can be the pitch, the volume or the
filter cutoff frequency.
The EMU8000's LFOs and envelope generators provide a complex
modulation environment. Each sound producing element of the
EMU8000 consists of a resonant low-pass filter, two LFOs, in
which one modulates the pitch (LFO2), and the other
modulates pitch, filter cutoff and volume (LFO1)
simultaneously. There are two envelope generators; envelope
1 contours both pitch and filter cutoff simultaneously, and
envelope 2 contours volume. The output stage consists of an
effects engine that mixes the dry signals with the
Reverb/chorus level signals to produce the final mix.
What are the EMU8000 sound elements?
Each of the sound elements in an EMU8000 consists of the
following:
- Oscillator
- An oscillator is the source of an audio signal.
- Low Pass Filter
- The low pass filter is responsible for modifying the
timbres of an instrument. The low pass filter's filter
cutoff values can be varied from 100 Hz to 8000 Hz. By
changing the values of the filter cutoff, a myriad of
analogue sounding filter sweeps can be achieved. An
example of a GM instrument that makes use of filter sweep
is instrument number 87, Lead 7 (fifths).
- Amplifier
- The amplifier determines the loudness of an audio signal.
- LFO1
- An LFO, or Low Frequency Oscillator, is normally used to
periodically modulate, that is, change a sound parameter,
whether it be volume (amplitude modulation), pitch
(frequency modulation) or filter cutoff (filter
modulation). It operates at sub-audio frequency from
0.042 Hz to 10.71 Hz. The LFO1 in the EMU8000 modulates
the pitch, volume and filter cutoff simultaneously.
- LFO2
- The LFO2 is similar to the LFO1, except that it modulates
the pitch of the audio signal only.
- Resonance
- A filter alone would be like an equalizer, making a
bright audio signal duller, but the addition of resonance
greatly increases the creative potential of a filter.
Increasing the resonance of a filter makes it emphasize
signals at the cutoff frequency, giving the audio signal
a subtle wah-wah, that is, imagine a siren sound going
from bright to dull to bright again periodically.
- LFO1 to Volume (Tremolo)
- The LFO1's output is routed to the amplifier, with the
depth of oscillation determined by LFO1 to Volume. LFO1
to Volume produces tremolo, which is a periodic
fluctuation of volume. Lets say you are listening to a
piece of music on your home stereo system. When you
rapidly increase and decrease the playback volume, you
are creating tremolo effect, and the speed in which you
increases and decreases the volume is the tremolo rate
(which corresponds to the speed at which the LFO is
oscillating). An example of a GM instrument that makes
use of LFO1 to Volume is instrument number 45, Tremolo
Strings.
- LFO1 to Filter Cutoff (Wah-Wah)
- The LFO1's output is routed to the filter, with the depth
of oscillation determined by LFO1 to Filter. LFO1 to
Filter produces a periodic fluctuation in the filter
cutoff frequency, producing an effect very similar to
that of a wah-wah guitar (see resonance for a description
of wah-wah) An example of a GM instrument that makes
use of LFO1 to Filter Cutoff is instrument number 19,
Rock Organ.
- LFO1 to Pitch (Vibrato)
- The LFO1's output is routed to the oscillator, with the
depth of oscillation determined by LFO1 to Pitch. LFO1 to
Pitch produces a periodic fluctuation in the pitch of the
oscillator, producing a vibrato effect. An example of a
GM instrument that makes use of LFO1 to Pitch is
instrument number 57, Trumpet.
- LFO2 to Pitch (Vibrato)
- The LFO1 in the EMU8000 can simultaneously modulate
pitch, volume and filter. LFO2, on the other hand,
modulates only the pitch, with the depth of modulation
determined by LFO2 to Pitch. LFO2 to Pitch produces a
periodic fluctuation in the pitch of the oscillator,
producing a vibrato effect. When this is coupled with
LFO1 to Pitch, a complex vibrato effect can be achieved.
- Volume Envelope
- The character of a musical instrument is largely
determined by its volume envelope, the way in which the
level of the sound changes with time. For example,
percussive sounds usually start suddenly and then die
away, whereas a bowed sound might take quite some time to
start and then sustain at a more or less fixed level.
A six-stage envelope makes up the volume envelope of the
EMU8000. The six stages are delay, attack, hold, decay,
sustain and release. The stages can be described as
follows:
- Delay
- The time between when a key is played and when
the attack phase begins
- Attack
- The time it takes to go from zero to the peak
(full) level.
- Hold
- The time the envelope will stay at the peak
level before starting the decay phase.
- Decay
- The time it takes the envelope to go from the
peak level to the sustain level.
- Sustain
- The level at which the envelope remains as long
as a key is held down.
- Release
- The time it takes the envelope to fall to the
zero level after the key is released.
Using these six parameters can yield very realistic
reproduction of the volume envelope characteristics of
many musical instruments.
- Pitch and Filter Envelope
- The pitch and filter envelope is similar to the volume
envelope in that it has the same envelope stages. The
difference between them is that whereas the volume
envelope contours the volume of the instrument over time,
the pitch and filter envelope contours the pitch and
filter values of the instrument over time. The pitch
envelope is particularly useful in putting the finishing
touches in simulating a natural instrument. For example,
some wind instruments tend to go slightly sharp when they
are first blown, and this characteristic can be simulated
by setting up a pitch envelope with a fairly fast attack
and decay. The filter envelope, on the other hand, is
useful in creating synthetic sci-fi sound textures. An
example of a GM instrument that makes use of the filter
envelope is instrument number 86, Pad 8 (Sweep).
- Pitch/Filter Envelope Modulation
- These two parameters determine the modulation depth of
the pitch and filter envelope. In the wind instrument
example above, a small amount of pitch envelope
modulation is desirable to simulate its natural pitch
characteristics.
This rich modulation capability of the EMU8000 is fully
exploited by the SB AWE32 MIDI drivers. The driver also
provides you with a means to change these parameters over
MIDI in real time. Refer to the item "How do I change an
instrument's sound parameter in real time" in Section F
for more information.
- How do I make use of RPN documented in the SB AWE32 MIDI
Implementation chart?
RPN is a short form for "Registered Parameter Number."
Registered Parameter Numbers are used to represent sound or
performance parameters. MIDI 1.0 specified three RPNs: RPN 0
for Pitch Bend Sensitivity, RPN 1 for Coarse Tune and RPN 2
for Fine Tune. The SB AWE32 implements only RPN 0, Pitch
Bend Sensitivity.
Before going into how to set pitch bend sensitivity, let's
go into how pitch bending is used in MIDI. Pitch Bending is
normally used to pitch shift (that is, make the pitch go
higher or lower) a sustained note to achieve a "pitch
gliding" effect. The default pitch bend sensitivity of the
SB AWE32 is +/- 2 semitones, that is, you can go high or low
of the current note by 2 semitones when using the pitch bend
wheel. If you desire a more dramatic pitch bending effect,
then you would need to change the pitch bend sensitivity to
a higher value.
Following are step-by-step instructions to set a pitch bend
sensitivity value other than the default 2 semitones.
Cakewalk Apprentice will be used as an example.
- Bring up the "Event List" window for the track you want
to set pitch bend sensitivity.
- Go to the top of the event list (page up) and insert a
MIDI controller event, with controller number 101 and a
controller value of 0
- Insert another MIDI Controller event immediately, with
controller number 100 and controller value of 0.
- Insert another MIDI controller event immediately, with
controller number 6, and set the controller value to
the desired pitch bend sensitivity.
- How do I change an instrument's sound parameter in real
time?
You can change an instrument's SoundFont parameters (for
example, LFO depth and speed, envelope contour) through MIDI
in real time via NRPN, or Non Registered Parameter Number
control.
NRPN is identical to that of RPN, except that Registered
Parameter Numbers are agreed upon by the MMA (MIDI
Manufacturers Association) and JMSC (Japan MIDI Standards
Committee), and Non Registered Parameter Number may be
assigned as needed by individual manufacturers.
As NRPN and Data Entry messages are MIDI controller
messages, any MIDI sequencer software that supports editing
of controller messages (such as Cakewalk, MasterTracks Pro)
is capable of sending them.
For SB AWE32 NRPN to be functional, NRPN MSB has to be 127,
and NRPN LSB set to the desired parameter to be controlled
(see Section H for a list of available NRPN LSB).
To control the AWE32's NRPNs, enter the following series of
controller events:
Controller Parameter Description
------------------------------------------------------------
99 127 This is the NRPN MSB. It is always 127.
98 NRPN LSB # The number of the effect as
listed in Section H.
6 Data Entry MSB # (See equations below.)
38 Data Entry LSB # (See equations below.)
Data Entry MSB # = (Actual Value + 8192) / 128
Data Entry LSB # = (Actual Value + 8192) % 128
Where "Actual Value" represents the desired increment in a
specified range (see Section H). For
example, here is a listing from Section H:
NRPN LSB 26 (Reverb Effects Send)
Realtime : No
Range : [0, 255]
In the example above, reverb may be controlled from levels 0
to 255. Select the desired reverb level, and use that
number as the Actual Value in the equations above. These
equations determine the parameters for controllers 6 and 38,
respectively. For example, if you wanted to have a reverb
value of 140, you would put 140 into the equations above,
and come up with the value of 65 for Controller 6, and 12
for Controller 38.
If you need to determine the Actual Value of an NRPN already
present in a MIDI file, use the formula below:
Actual value = (MSB * 128 + LSB) - 8192
A "Reset All Controllers" message (MIDI controller 121)
restores the instrument's original SoundFont parameters.
Refer to Section H for a table of NRPN
implementation.
- How do I select the SB AWE32's reverb and chorus variation
type through MIDI?
You can select the reverb and chorus variation via sysex.
The SB AWE32 Windows (not DOS) driver recognizes two strings
of sysex; one for selecting reverb variation, and the other
for selecting chorus variation.
Reverb sysex string:
F0 41 10 42 12 40 01 30 XX 00 F7
Where XX indicates the reverb variations (from 0 to 7).
Chorus sysex string:
F0 41 10 42 12 40 01 38 XX 00 F7
Where XX indicates the chorus variation (from 0 to 7).
- How can I maximize my system's memory so that I still have
plenty of room to run games after installing the SB AWE32?
There are two drivers (CTMMSYS.SYS and CTSB16.SYS) you can
remove from CONFIG.SYS. These two drivers provide digital
playback and recording interface under DOS. They are not
used by the EMU8000 subsystem.
By removing these two drivers, you will not be able to run
PLAY.EXE, RECORD.EXE and SB16SET.EXE under DOS, but you will
gain approximately 30K of memory. (SB16SET.EXE can be made
to function without the above mentioned drivers if you
download the file AWEUP.EXE.)
- How do I load a SoundFont Bank?
Loading SoundFont Banks is easy. Just use the SB AWE32
Windows Control Panel Applet, AWECP.EXE, as follows:
- Use the up or down arrow keys next to the user bank
number to select the desired bank. A dialog box
appears.
- Select the directory that contains the *.SBK files.
- Double-click the desired file to load it into the
particular user bank.
- How do I setup my sequencer software to access the user bank
that I have downloaded into the RAM?
In order for a sequencer software to access the user bank,
you will need to issue MIDI Continuous Controller 0 (which
is a MIDI Bank Select) at the channel that you need to
access the instrument. After that, follow by a MIDI Program
Change to select the patch/intrument within the user bank.
Using the SAMPLE.SBK (located at \SB16\SFBANK subdirectory)
that is bundled with the SB AWE32 as an example, we will
illustrate how this can be done. The patches contains in
SAMPLE.SBK are:
- 0 - bubble
- 1 - dog
- 2 - door
- 3 - carstop
- 4 - carpass
- 5 - laughing
- 6 - screaming
- 7 - punch
Supposing that you would like to use the "door" sound in
Channel 5 of a piece of music. Here is the step-by-step
guide that what you should do:
- Activate the SB AWE32 Control Panel
- Download the SAMPLE.SBK as user bank 1 (Note: you can
download to any user bank that is empty ranging from 1 to 127.
Bank 0 is ALWAYS reserved for Syhthesizer Bank.)
- Activate sequencer software
- Insert MIDI CC0 1 at Channel 5 (CC0 1 means do a Bank
Select to Bank 1. We do it at Channel 5 since we wish to apply it
to this channel.)
- Insert MIDI Program Change 2. (Since "door" patch number is
2. Please take note of the numbering convention used in your MIDI
sequencer. It can be either from 0-127 OR 1-128. If you are using
numbering convention from 1-128 , then you should do a MIDI
Program Change 3 instead of 2.)
If you do any Note On in Channel 5 now, you will be able to
hear the "door" sound.
- How do I get the latest drivers for the SB AWE32?
The latest SB AWE32 drivers, utilities and game
compatibility list can be found at the following sites:
Inside U.S.A., Canada and South America
Creative Labs, Inc. BBS : (405)742-6660
Inside Europe
CL-UK BBS : (44)743-360287
CL-Germany BBS : (49)2131-919820
Inside Asia Pacific
Creative Technology Ltd BBS : (65)776-2423
CompuServe
type GO BLASTER to enter the Creative Labs Forum
Internet FTP site
ftp.creaf.com
The definitive guide to MIDI would be "MIDI 1.0 Detailed
Specification", published and distributed exclusively by :
The International MIDI Association
5316 W.57th St.
Los Angeles, CA 90056
Other MIDI related publications are :
Music Through MIDI
Using MIDI to create your own electronic music system
by Michael Boom
published by Microsoft Press
Catalog number : ISBN 1-55615-0260-1
The MIDI Manual
by David Miles Huber
published by SAM
Catalog number : ISBN 0-672-22755-6
Section H - SB AWE32 NRPN Implementation
NRPN LSB 0 (Delay before LFO1 starts)
Realtime : No
Range : [0, 5900]
Unit : 4 milliseconds
Delay from 0 to 22 seconds.
NRPN LSB 1 (LFO1 Frequency)
Realtime : Yes
Range : [0, 127]
Unit : 0.084Hz
LFO1 frequency from 0Hz to 10.72 Hz.
NRPN LSB 2 (Delay before LFO2 starts)
Realtime : No
Range : [0, 5900]
Unit : 4 milliseconds
Delay from 0 to 22 seconds.
NRPN LSB 3 (LFO2 Frequency)
Realtime : Yes
Range : [0, 127]
Unit : 0.084Hz
LFO2 frequency from 0Hz to 10.72 Hz.
NRPN LSB 4 (Envelope 1 delay time)
Realtime : No
Range : [0, 5900]
Unit : 4 milliseconds
Envelope 1 Delay from 0 to 22 seconds.
NRPN LSB 5 (Envelope 1 attack time)
Realtime : No
Range : [0, 5940]
Unit : Milliseconds
Envelope 1 attack time from 0 to 5.9 seconds.
NRPN LSB 6 (Envelope 1 hold time)
Realtime : No
Range : [0, 8191]
Unit : Milliseconds
Envelope 1 hold time from 0 to 8 seconds.
NRPN LSB 7 (Envelope 1 decay time)
Realtime : No
Range : [0, 5940]
Unit : 4 Milliseconds
Envelope 1 decay time from 0.023 to 23.7 seconds.
NRPN LSB 8 (Envelope 1 sustain level)
Realtime : No
Range : [0, 127]
Unit : 0.75dB
Envelope 1 sustain level from full level down to off (0.75
dB step).
NRPN LSB 9 (Envelope 1 release time)
Realtime : No
Range : [0, 5940]
Unit : 4 milliseconds
Envelope 1 release time from 0.023 to 23.7 seconds.
NRPN LSB 10 (Envelope 2 delay time)
Realtime : No
Range : [0, 5900]
Unit : 4 milliseconds
Envelope 2 Delay from 0 to 22 seconds.
NRPN LSB 11 (Envelope 2 attack time)
Realtime : No
Range : [0, 5940]
Unit : Milliseconds
Envelope 2 attack time from 0 to 5.9 seconds.
NRPN LSB 12 (Envelope 2 hold time)
Realtime : No
Range : [0, 8191]
Unit : Millisecond
Envelope 2 hold time from 0 to 8 seconds.
NRPN LSB 13 (Envelope 2 decay time)
Realtime : No
Range : [0, 5940]
Unit : 4 milliseconds
Envelope 2 decay time from 0.023 to 23.7 seconds.
NRPN LSB 14 (Envelope 2 sustain level)
Realtime : No
Range : [0, 127]
Unit : 0.75dB
Envelope 2 sustain level from full level down to off.
NRPN LSB 15 (Envelope 2 release time)
Realtime : No
Range : [0, 5940]
Unit : 4 milliseconds
Envelope 2 release time from 0.023 to 23.7 seconds.
NRPN LSB 16 (Initial Pitch)
Realtime : Yes
Range : [-8192, 8191]
Unit : cents
Pitch tuning between -8192 and 8191 cents.
NRPN LSB 17 (LFO1 to Pitch)
Realtime : Yes
Range : [-127, 127]
Unit : 9.375 cents
If data value is greater than 0, this will cause a positive
(from 0 to maximum) 1 octave shift at LFO peak. On the other
hand, if data value is smaller than 0, this will cause a
negative (from 0 to minimum) 1 octave shift at LFO peak.
NRPN LSB 18 (LFO2 to Pitch)
Realtime : Yes
Description :
Range : [-127, 127]
Unit : 9.375 cents
If data value is greater than 0, this will cause a positive
(from 0 to maximum) 1 octave shift at LFO peak. On the other
hand, if data value is smaller than 0, this will cause a
negative (from 0 to minimum) 1 octave shift at LFO peak.
NRPN LSB 19 (Envelope 1 to Pitch)
Realtime : No
Range : [-127, 127]
Unit : 9.375 cents
If data value is greater than 0, this will cause a positive
(from 0 to maximum) 1 octave shift at envelope peak. On the
other hand, if data value is smaller than 0, this will cause
a negative (from 0 to minimum) 1 octave shift at envelope
peak.
NRPN LSB 20 (LFO1 to Volume)
Realtime : Yes
Range : [0, 127]
Unit : 0.1875 dB
Data values smaller than 64 causes a positive phase (from 0
to maximum) volume modulation via LFO1 with magnitude of 12
dB at LFO peak. On the other hand, data values greater than
or equal to 64 causes a negative phase (from 0 to minimum)
volume modulation via LFO1 with magnitude of 12 dB at LFO
peak.
NRPN LSB 21 (Initial Filter Cutoff)
Realtime : Yes
Range : [0, 127]
Unit : 62Hz
Filter cutoff from 100Hz to 8000Hz
NRPN LSB 22 (Initial Filter Resonance Coefficient)
Realtime : No
Range : [0, 127]
The EMU8000 has a built in resonance coefficient table
comprising 16 entries. Values 0-7 will select the first (0)
entry, values 8-15 selects the second (1) entry and so on.
Coeff Low Fc(Hz)Low Q(dB)High Fc(kHz)High Q(dB)DC Attenuation(dB)
0 92 5 Flat Flat -0.0
1 93 6 8.5 0.5 -0.5
2 94 8 8.3 1 -1.2
3 95 10 8.2 2 -1.8
4 96 11 8.1 3 -2.5
5 97 13 8.0 4 -3.3
6 98 14 7.9 5 -4.1
7 99 16 7.8 6 -5.5
8 100 17 7.7 7 -6.0
9 100 19 7.5 9 -6.6
10 100 20 7.4 10 -7.2
11 100 22 7.3 11 -7.9
12 100 23 7.2 13 -8.5
13 100 25 7.1 15 -9.3
14 100 26 7.1 16 -10.1
15 100 28 7.0 18 -11.0
NRPN LSB 23 (LFO1 to Filter Cutoff)
Realtime : Yes
Description :
Range : [-64, 63]
Unit : 56.25 cents
Data values smaller than 64 causes a positive phase (from 0
to maximum) filter modulation via LFO1 with magnitude of 3
octaves at LFO peak. On the other hand, data values greater
than or equal to 64 causes a negative phase (from 0 to
minimum) filter modulation via LFO1 with magnitude of 3
octaves at LFO peak.
NRPN LSB 24 (Envelope 1 to Filter Cutoff)
Realtime : No
Description :
Range : [-127, 127]
Unit : 56.25 cents
Data values greater than 0 cause a positive phase (from 0 to
maximum) filter modulation via Envelope 1 with magnitude of
6 octaves at envelope peak. On the other hand, values
smaller than 0 cause a negative phase (from 0 to minimum)
filter modulation via Envelope 1 with magnitude of 6 octaves
at envelope peak.
NRPN LSB 25 (Chorus Effects Send)
Realtime : No
Range : [0, 255]
Chorus send, with 0 being the driest (no chorus effects
processing), and 255 being the wettest (full chorus effect
processing).
NRPN LSB 26 (Reverb Effects Send)
Realtime : No
Range : [0, 255]
Reverb send, with 0 being the driest (no reverb effects
processing), and 255 being the wettest (full reverb effect
processing).
|