Programming the Soundblaster AWE-32 Frequently Asked Questions for SB AWE32 --------------------------------------------------------------------------- This is a frequently asked question document for the Creative SB AWE32 sound card. This document summarizes many frequently asked questions and answers about the SB AWE32. If you have a question, please check this file before calling Creative Technical Support as you may find the answer contained in this document. --------------------------------------------------------------------------- This FAQ is organized into the following sections: * [A] SB AWE32 in General * [B] Editing Tools * [C] Programming Information * [D] SoundFont(TM) Banks * [E] Introduction to the EMU8000 chip * [F] How do I ... * [G] References * [H] NRPN Table 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 1. What is the SB AWE32? How does it differ from the SB16? 2. How much memory is shipped with the SB AWE32 card? 3. Can I upgrade the memory on my SB AWE32 card? 4. What is the recommended SIMM memory access speed? 5. How do I upgrade the memory on the card? 6. What are the uses of the 512 KB DRAM on the SB AWE32? 7. Would adding DRAM to the SB AWE32 increase the performance of WAVE file editing or manipulation? 8. Is it possible to use AWE32 sounds (16 channels) together with FM sounds from the OPL-3 chip (16 channels) in Cakewalk? 9. How many MIDI channels can the SB AWE32 handle in Windows? 10. What MIDI sequencers will work with SB AWE32? Are special drivers required? 11. Are there any plans for OS/2 and Windows NT SB AWE32 drivers? 12. What I/O port addresses are used by the EMU8000? 13. Why doesn't the EMU8000 have a built in MIDI interpreter? 14. Does the SB AWE32 support MIDI Sample Dump to transfer samples to the EMU8000? 15. What is CC0 documented in Appendix G-4 and G-5 of the SB AWE32 Getting Started Manual? How are these variation tones accessed? 16. What "drum kits" are available in GS mode? 17. Does the SB AWE32 respond to MIDI Aftertouch? 18. My PC system does not have a working NMI. What can I do to use AWEUTIL? 19. Is there a WaveBlaster upgrade option on the SB AWE32? 20. What is the benefit of adding a WaveBlaster to the SB AWE32? 21. Is it possible to load AWEUTIL into high memory? 22. Does AWEUTIL have to stay memory resident? 23. What are the long term plans to solve the problem with DOS extender games? 24. Will software written for the SB16 work with the SB AWE32? 25. Does Creative have any plans for a SCSI version of the SB AWE32? 26. What CD-ROM drives does the SB AWE32 support? 27. What are the different reverb and chorus variations available on the SB AWE32? 28. What are the undocumented JP6, JP8 and JP9 jumpers on the card? 29. How does the AWE32 Value Edition differ from the Sound Blaster AWE32? SECTION B - EDITING TOOL 1. Is there a preset editor for the SB AWE32? 2. Is it possible to patch multiple sounds across different keys, such as a drum kit? 3. How are new instruments on the SB AWE32 created? 4. What functionality does Vienna SF Studio offer? 5. Where do I get my copy of Vienna? 6. Can Vienna load samples for other systems e.g. Akai S1000 or Yamaha TG55? SECTION C - PROGRAMMING INFORMATION 1. Is programming information available for the SB AWE32? 2. Is the effect engine on the SB AWE32 programmable? SECTION D - SOUNDFONT BANK 1. What are SoundFont Collections? 2. How do SoundFont Banks work? 3. Where can I purchase SoundFont Banks? 4. What can I do with SoundFont Banks? 5. 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 SECTION F - HOW DO I ... 1. How do I make use of RPN documented in the SB AWE32 MIDI Implementation chart? 2. How do I change an instrument's sound parameter in real time? 3. How do I select the SB AWE32's reverb and chorus variation type through MIDI? 4. How can I maximize my system's memory so that I still have plenty of room to run games after installing the SB AWE32? 5. How do I load a SoundFont Bank? 6. How do I setup my sequencer software to access the user bank that I have downloaded into the RAM? 7. How do I get the latest drivers for the SB AWE32? SECTION G - REFERENCES SECTION H - SB AWE32 NRPN IMPLEMENTATION --------------------------------------------------------------------------- Section A - SB AWE32 1. 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. 2. 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. 3. 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. 4. What is the recommended SIMM memory access speed? Hardware specifications call for SIMM modules with 80 nanosecond or better access times. 5. 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: o 2 MB (using 2 1 MB SIMMs) o 8 MB (using 2 4 MB SIMMs) o 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. 6. 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. 7. 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. 8. 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 1. Start the Control Panel, and enter the MIDI Mapper applet. 2. Select "SB16 ALL FM" as the output setup 3. Select "Edit" to go into MIDI Setup 4. Locate the "Port" column 5. 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. 6. Startup Cakewalk. Select "Settings" , then "MIDI Devices" 7. 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 1. Startup Cakewalk. 2. Select "Settings", then "MIDI Devices" 3. 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". 4. Select "OK" 5. Activate the "Track/Measure" Window. 6. Locate the "Port" column in the Track/Measure Windows 7. 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. 9. 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. 10. 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. 11. 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. 12. 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. 13. 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. 14. 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. 15. 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. 16. 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. 17. 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. 18. 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. 19. 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. 20. 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. 21. 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. 22. 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. 23. 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. 24. 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. 25. 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. 26. 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. 27. 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) 28. What are the undocumented JP6, JP8 and JP9 jumpers on the card? JP8 Is a digital (SPDIF) out from the EMU8000. Pin definition: o 0 - signal, o 1 - signal ground. JP9 provides another means to control the volume of the mixer on the SB AWE32. Pin definition : o 1 - increase volume o 2 - Analog Ground o 3 - decrease volume J6 is an audio feature connector. Pin definition : o 1 - AG (Analog Ground) o 2 - Line out (Right) o 3 - AG (Analog Ground) o 4 - AG (Analog Ground) o 5 - Line out (Left) o 6 - AG (Analog Ground) o 7 - -12V o 8 - Reserved o 9 - Mic In o 10 - +12V o 11 - AG (Analog Ground) o 12 - AG (Analog Ground) o 13 - AG (Analog Ground) o 14 - AG (Analog Ground) o 15 - PC Speaker In o 16 - Mono Speaker out 29. 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. --------------------------------------------------------------------------- Section B - Editing Tool 1. 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). 2. 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. 3. 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. 4. 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. 5. 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. 6. 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 1. 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. 2. 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. --------------------------------------------------------------------------- Section D - SoundFont Bank 1. 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. 2. 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. 3. 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. 4. What can I do with SoundFont Banks? You can: o 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. o Create your own SoundFont-compatible bank with SoundFont Objects from various SoundFont Banks you already have using Vienna SF Studio software. o 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. 5. 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. --------------------------------------------------------------------------- Section F - How Do I ... 1. 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. 1. Bring up the "Event List" window for the track you want to set pitch bend sensitivity. 2. 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 3. Insert another MIDI Controller event immediately, with controller number 100 and controller value of 0. 4. Insert another MIDI controller event immediately, with controller number 6, and set the controller value to the desired pitch bend sensitivity. 2. 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. 3. 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). 4. 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.) 5. 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: 1. Use the up or down arrow keys next to the user bank number to select the desired bank. A dialog box appears. 2. Select the directory that contains the *.SBK files. 3. Double-click the desired file to load it into the particular user bank. 6. 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: o 0 - bubble o 1 - dog o 2 - door o 3 - carstop o 4 - carpass o 5 - laughing o 6 - screaming o 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: 1. Activate the SB AWE32 Control Panel 2. 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.) 3. Activate sequencer software 4. 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.) 5. 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. 7. 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 --------------------------------------------------------------------------- Section G - References 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). --------------------------------------------------------------------------- Creative Labs Technical Support [BACK] Back Discuss this article in the forums
See Also: © 1999-2011 Gamedev.net. All rights reserved. Terms of Use Privacy Policy
|