TESTED IN CD QUALITY FULL DUPLEX: --------------------------------- Ensoniq SoundScape. Gravis UltraSound MAX PnP. Cirrus Chipsets. Creative SoundBlaster AWE 64 (Ensoniq boards only). TESTED 8 BIT FULL DUPLEX SoundBlaster 16. I do not support SoundBlaster 16 in full duplex 16 bit mode, use either 8 bit or half duplex. Other Creative cards may work in full duplex 16 bit, they have not been tested (at least not by me). Creative cards from the Ensoniq buyout should work. CHEATSHEET 2.20: ---------- 1 Start SLab, preferably with the startSLab(.bash) script 2 Fill in the audio device request from the devices button. You should now be able to create new songs, and CDs, and they will all inherit the device configuration you have now configured. CHEATSHEET pre 2.20: ---------- 1 Start SLab, preferably with the startSLab.bash script. 2 Open startCD->startSong into any of the apps (Tape/Studio/WaveSLab). 3 Go to the "File->StudioDevices" menu. 4 Configure all the devices you want into the 8 possible entries. 5 Save this "baseline", or snapshot, with "File->BaseLine->SaveMix" 6 Completely quit SLab, all the way back to your shell prompt. 7 Restart SLab, and open startSong. You should now be able to create new songs, and CDs, and they will all inherit the device configuration you have now configured. There are some holes in this methodology. For example if you attempt to create a new song as soon as you start SLab, ie, without opening an existing song, then the device config for the new song will be incorrect. To prevent this you could try to put the device config into $SLAB_HOME/libtcl/StartSLab.tcl as well. The new configuration methods, described in the 2.20 cheatsheet were developed to clean up the mess the existed pre 2.20..... Audio Device Options -------------------- Device configuration is the most difficult part of SLab, since there are so many different possible choices. Once you have defined the devices then all new songs will inherit the selections, but the initial definition is an awkward operation. SLab has been tested in a number of different card configurations. These are given below, with descriptions of the results, possible problems, etc. I would catagorise cards into 3 main types: 1. Half Duplex Can either record, or play, but not both at the same time. This is obviously a restricted configuration for a recording studio! Examples are SoundBlaster16 cards with OSS/Free. 2. Full Duplex Can record and play simultaneously CD quality on a single /dev/audio. Examples are GUS MAX, Ensoniq SoundScape, PAS/MAD cards, and most of the SoundBlaster AWE serious since Creative bought Ensoniq's soundcard division. 3. Neo Full Duplex. Can record and play simultaneously, but may require 2 /dev/audio files, or require one channel be just 8 bits. Examples are Creative Labs SoundBlaster 16 cards with OSS/Linux drivers ($20 from 4Front). Note that SLab supports up to 8 /dev/audio devices. If you have 2 physical audio cards that are just half duplex you can still build a reasonable studio. SLab has been tested with a Full Duplex GUS card and a half duplex SB card simultaneously. In this configuration it works as either 4 inputs/2 outputs, or as 2 inputs/4 outputs. 1. Half Duplex cards: If you only have one then you can record a stereo drum track, but when you come to record bass tracks on top of that, you cannot hear the drums at the same time. Bummer. SLab will automatically shift between input only and output only depending on whether you are recording or playing respectively. 2. Full Duplex Card: Tested with GUS MAX cards, SoundBlaster AWE series (Ensoniq designs), and some Cirrus Logic Crystal chipsets. 3. Neo Full Duplex: The big one here is the SoundBlaster16 after you have purchased OSS/Linux. The SoundBlaster16 does not support full duplex CD quality sound. When in full duplex mode one channel (either the input or the output) must be in 8 bit resolution. Here is how it works: OSS support 2 devices /dev/dsp0 and /dev/dsp1, both of which link to the soundblaster. You must configure both of these into the File->StudioFiles requestor, and the first device is the main output (writeOnly), the second device is input only (readOnly). You can configure one of these to be an 8 bit device, and advice is that when recording configure the output device to be 8 bits. When producing a final mix (ie, when you have recorded all your tracks) then configure the output back to 16 bits, and the input to 8 bits. Then mix down all you want, to CD quality.. The disk resident data is then full CD quality, but when recording this is converged to 8 bits of output. The result is that the audible sound quality is lower when recording, but that the disk resident data is still in CD quality. Alternatively you can configure both devices into SLab, but rather than set the bit resolution, just select the SB_Duplex button. In this case SLab will attempt to automate the bit resolution: During play mode the output will be 16 bits and input 8 bits, and during record mode the converse is configured. Both the input and output devices should be configured as SB_Duplex when this method is used. For the 16 to 8 bit convergence there are issues of signal to noise ratio which is quite dramatic. The basic operation is to shift/truncate the signal, which is simple and efficient, but noisy. To compensate for the quantisation errors that are introduced SLab has 8 bit output noise reduction algorithms which will reasonably compensate for the noise. These are selectable from the 'Audio->Output Noise Reduction' menu, with two available options, each of which are independantly applicable. One half applies digital noise reduction within the audio daemon, the other half applies analogue noise reduction by rather trivial manipulation of the SoundBlaster treble gain to reduce the high "hiss" content of the 8 bit drivers. NOTES: If you are using 2 devices, either for quadraphonic IO or a duplex SoundBlaster then SLab uses 2 audio IO daemons. The current synchronisation algorithm is rather weak, and the resulting signals may be audibly displaced in time. Typically both audio IO daemons will start output within a couple of milliseconds, far below the limits for discrete audible events. It is possible that the start times are extended, though, depending on system load. Release 3.10 addresses these issues, but as of 1/8/99 was still under test. The audio tap definition between the audio IO daemon and the disk IO daemon is specified at 16 bit resolution only, and is not expected to change. The 8 bit input convergence algorithm will actually convert the 8 bit data from the audio device, and transform it to 16 bits of sample data (trivial shifting). Consequently, even if you have configured the input device to be 8 bits, the disk resident data will still consume 2 bytes per sample. To overcome this limitation you are advised to employ 16 bit IO devices, but use the disk compression facilities to have 1 byte per sample of disk resident data.