162306a36Sopenharmony_ci============================================= 262306a36Sopenharmony_ciSound Blaster Audigy mixer / default DSP code 362306a36Sopenharmony_ci============================================= 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciThis is based on sb-live-mixer.rst. 662306a36Sopenharmony_ci 762306a36Sopenharmony_ciThe EMU10K2 chips have a DSP part which can be programmed to support 862306a36Sopenharmony_civarious ways of sample processing, which is described here. 962306a36Sopenharmony_ci(This article does not deal with the overall functionality of the 1062306a36Sopenharmony_ciEMU10K2 chips. See the manuals section for further details.) 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciThe ALSA driver programs this portion of chip by default code 1362306a36Sopenharmony_ci(can be altered later) which offers the following functionality: 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciDigital mixer controls 1762306a36Sopenharmony_ci====================== 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ciThese controls are built using the DSP instructions. They offer extended 2062306a36Sopenharmony_cifunctionality. Only the default built-in code in the ALSA driver is described 2162306a36Sopenharmony_cihere. Note that the controls work as attenuators: the maximum value is the 2262306a36Sopenharmony_cineutral position leaving the signal unchanged. Note that if the same destination 2362306a36Sopenharmony_ciis mentioned in multiple controls, the signal is accumulated and can be clipped 2462306a36Sopenharmony_ci(set to maximal or minimal value without checking for overflow). 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciExplanation of used abbreviations: 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ciDAC 3062306a36Sopenharmony_ci digital to analog converter 3162306a36Sopenharmony_ciADC 3262306a36Sopenharmony_ci analog to digital converter 3362306a36Sopenharmony_ciI2S 3462306a36Sopenharmony_ci one-way three wire serial bus for digital sound by Philips Semiconductors 3562306a36Sopenharmony_ci (this standard is used for connecting standalone D/A and A/D converters) 3662306a36Sopenharmony_ciLFE 3762306a36Sopenharmony_ci low frequency effects (used as subwoofer signal) 3862306a36Sopenharmony_ciAC97 3962306a36Sopenharmony_ci a chip containing an analog mixer, D/A and A/D converters 4062306a36Sopenharmony_ciIEC958 4162306a36Sopenharmony_ci S/PDIF 4262306a36Sopenharmony_ciFX-bus 4362306a36Sopenharmony_ci the EMU10K2 chip has an effect bus containing 64 accumulators. 4462306a36Sopenharmony_ci Each of the synthesizer voices can feed its output to these accumulators 4562306a36Sopenharmony_ci and the DSP microcontroller can operate with the resulting sum. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciname='PCM Front Playback Volume',index=0 4862306a36Sopenharmony_ci---------------------------------------- 4962306a36Sopenharmony_ciThis control is used to attenuate samples from left and right front PCM FX-bus 5062306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 8 and 9 for left and right front PCM 5162306a36Sopenharmony_cisamples for 5.1 playback. The result samples are forwarded to the front speakers. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciname='PCM Surround Playback Volume',index=0 5462306a36Sopenharmony_ci------------------------------------------- 5562306a36Sopenharmony_ciThis control is used to attenuate samples from left and right surround PCM FX-bus 5662306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM 5762306a36Sopenharmony_cisamples for 5.1 playback. The result samples are forwarded to the surround (rear) 5862306a36Sopenharmony_cispeakers. 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciname='PCM Side Playback Volume',index=0 6162306a36Sopenharmony_ci--------------------------------------- 6262306a36Sopenharmony_ciThis control is used to attenuate samples from left and right side PCM FX-bus 6362306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 14 and 15 for left and right side PCM 6462306a36Sopenharmony_cisamples for 7.1 playback. The result samples are forwarded to the side speakers. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciname='PCM Center Playback Volume',index=0 6762306a36Sopenharmony_ci----------------------------------------- 6862306a36Sopenharmony_ciThis control is used to attenuate samples from center PCM FX-bus accumulator. 6962306a36Sopenharmony_ciALSA uses accumulator 6 for center PCM samples for 5.1 playback. The result 7062306a36Sopenharmony_cisamples are forwarded to the center speaker. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciname='PCM LFE Playback Volume',index=0 7362306a36Sopenharmony_ci-------------------------------------- 7462306a36Sopenharmony_ciThis control is used to attenuate sample for LFE PCM FX-bus accumulator. 7562306a36Sopenharmony_ciALSA uses accumulator 7 for LFE PCM samples for 5.1 playback. The result 7662306a36Sopenharmony_cisamples are forwarded to the subwoofer. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ciname='PCM Playback Volume',index=0 7962306a36Sopenharmony_ci---------------------------------- 8062306a36Sopenharmony_ciThis control is used to attenuate samples from left and right PCM FX-bus 8162306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for 8262306a36Sopenharmony_cistereo playback. The result samples are forwarded to the front speakers. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ciname='PCM Capture Volume',index=0 8562306a36Sopenharmony_ci--------------------------------- 8662306a36Sopenharmony_ciThis control is used to attenuate samples from left and right PCM FX-bus 8762306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for 8862306a36Sopenharmony_cistereo playback. The result is forwarded to the standard capture PCM device. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciname='Music Playback Volume',index=0 9162306a36Sopenharmony_ci------------------------------------ 9262306a36Sopenharmony_ciThis control is used to attenuate samples from left and right MIDI FX-bus 9362306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. 9462306a36Sopenharmony_ciThe result samples are forwarded to the virtual stereo mixer. 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ciname='Music Capture Volume',index=0 9762306a36Sopenharmony_ci----------------------------------- 9862306a36Sopenharmony_ciThese controls are used to attenuate samples from left and right MIDI FX-bus 9962306a36Sopenharmony_ciaccumulator. ALSA uses accumulators 4 and 5 for left and right MIDI samples. 10062306a36Sopenharmony_ciThe result is forwarded to the standard capture PCM device. 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ciname='Mic Playback Volume',index=0 10362306a36Sopenharmony_ci---------------------------------- 10462306a36Sopenharmony_ciThis control is used to attenuate samples from left and right Mic input of 10562306a36Sopenharmony_cithe AC97 codec. The result samples are forwarded to the virtual stereo mixer. 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ciname='Mic Capture Volume',index=0 10862306a36Sopenharmony_ci--------------------------------- 10962306a36Sopenharmony_ciThis control is used to attenuate samples from left and right Mic input of 11062306a36Sopenharmony_cithe AC97 codec. The result is forwarded to the standard capture PCM device. 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ciThe original samples are also forwarded to the Mic capture PCM device (device 1; 11362306a36Sopenharmony_ci16bit/8KHz mono) without volume control. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ciname='Audigy CD Playback Volume',index=0 11662306a36Sopenharmony_ci---------------------------------------- 11762306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 TTL 11862306a36Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are 11962306a36Sopenharmony_ciforwarded to the virtual stereo mixer. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciname='Audigy CD Capture Volume',index=0 12262306a36Sopenharmony_ci--------------------------------------- 12362306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 TTL 12462306a36Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result is forwarded 12562306a36Sopenharmony_cito the standard capture PCM device. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciname='IEC958 Optical Playback Volume',index=0 12862306a36Sopenharmony_ci--------------------------------------------- 12962306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 optical 13062306a36Sopenharmony_cidigital input. The result samples are forwarded to the virtual stereo mixer. 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciname='IEC958 Optical Capture Volume',index=0 13362306a36Sopenharmony_ci-------------------------------------------- 13462306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 optical 13562306a36Sopenharmony_cidigital inputs. The result is forwarded to the standard capture PCM device. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciname='Line2 Playback Volume',index=0 13862306a36Sopenharmony_ci------------------------------------ 13962306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC 14062306a36Sopenharmony_ciinputs (on the AudigyDrive). The result samples are forwarded to the virtual 14162306a36Sopenharmony_cistereo mixer. 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ciname='Line2 Capture Volume',index=1 14462306a36Sopenharmony_ci----------------------------------- 14562306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC 14662306a36Sopenharmony_ciinputs (on the AudigyDrive). The result is forwarded to the standard capture 14762306a36Sopenharmony_ciPCM device. 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ciname='Analog Mix Playback Volume',index=0 15062306a36Sopenharmony_ci----------------------------------------- 15162306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC 15262306a36Sopenharmony_ciinputs from Philips ADC. The result samples are forwarded to the virtual 15362306a36Sopenharmony_cistereo mixer. This contains mix from analog sources like CD, Line In, Aux, .... 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ciname='Analog Mix Capture Volume',index=1 15662306a36Sopenharmony_ci---------------------------------------- 15762306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC 15862306a36Sopenharmony_ciinputs Philips ADC. The result is forwarded to the standard capture PCM device. 15962306a36Sopenharmony_ci 16062306a36Sopenharmony_ciname='Aux2 Playback Volume',index=0 16162306a36Sopenharmony_ci----------------------------------- 16262306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC 16362306a36Sopenharmony_ciinputs (on the AudigyDrive). The result samples are forwarded to the virtual 16462306a36Sopenharmony_cistereo mixer. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciname='Aux2 Capture Volume',index=1 16762306a36Sopenharmony_ci---------------------------------- 16862306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC 16962306a36Sopenharmony_ciinputs (on the AudigyDrive). The result is forwarded to the standard capture 17062306a36Sopenharmony_ciPCM device. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ciname='Front Playback Volume',index=0 17362306a36Sopenharmony_ci------------------------------------ 17462306a36Sopenharmony_ciThis control is used to attenuate samples from the virtual stereo mixer. 17562306a36Sopenharmony_ciThe result samples are forwarded to the front speakers. 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ciname='Surround Playback Volume',index=0 17862306a36Sopenharmony_ci--------------------------------------- 17962306a36Sopenharmony_ciThis control is used to attenuate samples from the virtual stereo mixer. 18062306a36Sopenharmony_ciThe result samples are forwarded to the surround (rear) speakers. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciname='Side Playback Volume',index=0 18362306a36Sopenharmony_ci----------------------------------- 18462306a36Sopenharmony_ciThis control is used to attenuate samples from the virtual stereo mixer. 18562306a36Sopenharmony_ciThe result samples are forwarded to the side speakers. 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ciname='Center Playback Volume',index=0 18862306a36Sopenharmony_ci------------------------------------- 18962306a36Sopenharmony_ciThis control is used to attenuate samples from the virtual stereo mixer. 19062306a36Sopenharmony_ciThe result samples are forwarded to the center speaker. 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ciname='LFE Playback Volume',index=0 19362306a36Sopenharmony_ci---------------------------------- 19462306a36Sopenharmony_ciThis control is used to attenuate samples from the virtual stereo mixer. 19562306a36Sopenharmony_ciThe result samples are forwarded to the subwoofer. 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ciname='Tone Control - Switch',index=0 19862306a36Sopenharmony_ci------------------------------------ 19962306a36Sopenharmony_ciThis control turns the tone control on or off. The samples forwarded to 20062306a36Sopenharmony_cithe speaker outputs are affected. 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ciname='Tone Control - Bass',index=0 20362306a36Sopenharmony_ci---------------------------------- 20462306a36Sopenharmony_ciThis control sets the bass intensity. There is no neutral value!! 20562306a36Sopenharmony_ciWhen the tone control code is activated, the samples are always modified. 20662306a36Sopenharmony_ciThe closest value to pure signal is 20. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ciname='Tone Control - Treble',index=0 20962306a36Sopenharmony_ci------------------------------------ 21062306a36Sopenharmony_ciThis control sets the treble intensity. There is no neutral value!! 21162306a36Sopenharmony_ciWhen the tone control code is activated, the samples are always modified. 21262306a36Sopenharmony_ciThe closest value to pure signal is 20. 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_ciname='Master Playback Volume',index=0 21562306a36Sopenharmony_ci------------------------------------- 21662306a36Sopenharmony_ciThis control is used to attenuate samples forwarded to the speaker outputs. 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ciname='IEC958 Optical Raw Playback Switch',index=0 21962306a36Sopenharmony_ci------------------------------------------------- 22062306a36Sopenharmony_ciIf this switch is on, then the samples for the IEC958 (S/PDIF) digital 22162306a36Sopenharmony_cioutput are taken only from the raw iec958 ALSA PCM device (which uses 22262306a36Sopenharmony_ciaccumulators 20 and 21 for left and right PCM by default). 22362306a36Sopenharmony_ci 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ciPCM stream related controls 22662306a36Sopenharmony_ci=========================== 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ciname='EMU10K1 PCM Volume',index 0-31 22962306a36Sopenharmony_ci------------------------------------ 23062306a36Sopenharmony_ciChannel volume attenuation in range 0-0x1fffd. The middle value (no 23162306a36Sopenharmony_ciattenuation) is default. The channel mapping for three values is 23262306a36Sopenharmony_cias follows: 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci* 0 - mono, default 0xffff (no attenuation) 23562306a36Sopenharmony_ci* 1 - left, default 0xffff (no attenuation) 23662306a36Sopenharmony_ci* 2 - right, default 0xffff (no attenuation) 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ciname='EMU10K1 PCM Send Routing',index 0-31 23962306a36Sopenharmony_ci------------------------------------------ 24062306a36Sopenharmony_ciThis control specifies the destination - FX-bus accumulators. There are 24 24162306a36Sopenharmony_civalues in this mapping: 24262306a36Sopenharmony_ci 24362306a36Sopenharmony_ci* 0 - mono, A destination (FX-bus 0-63), default 0 24462306a36Sopenharmony_ci* 1 - mono, B destination (FX-bus 0-63), default 1 24562306a36Sopenharmony_ci* 2 - mono, C destination (FX-bus 0-63), default 2 24662306a36Sopenharmony_ci* 3 - mono, D destination (FX-bus 0-63), default 3 24762306a36Sopenharmony_ci* 4 - mono, E destination (FX-bus 0-63), default 4 24862306a36Sopenharmony_ci* 5 - mono, F destination (FX-bus 0-63), default 5 24962306a36Sopenharmony_ci* 6 - mono, G destination (FX-bus 0-63), default 6 25062306a36Sopenharmony_ci* 7 - mono, H destination (FX-bus 0-63), default 7 25162306a36Sopenharmony_ci* 8 - left, A destination (FX-bus 0-63), default 0 25262306a36Sopenharmony_ci* 9 - left, B destination (FX-bus 0-63), default 1 25362306a36Sopenharmony_ci* 10 - left, C destination (FX-bus 0-63), default 2 25462306a36Sopenharmony_ci* 11 - left, D destination (FX-bus 0-63), default 3 25562306a36Sopenharmony_ci* 12 - left, E destination (FX-bus 0-63), default 4 25662306a36Sopenharmony_ci* 13 - left, F destination (FX-bus 0-63), default 5 25762306a36Sopenharmony_ci* 14 - left, G destination (FX-bus 0-63), default 6 25862306a36Sopenharmony_ci* 15 - left, H destination (FX-bus 0-63), default 7 25962306a36Sopenharmony_ci* 16 - right, A destination (FX-bus 0-63), default 0 26062306a36Sopenharmony_ci* 17 - right, B destination (FX-bus 0-63), default 1 26162306a36Sopenharmony_ci* 18 - right, C destination (FX-bus 0-63), default 2 26262306a36Sopenharmony_ci* 19 - right, D destination (FX-bus 0-63), default 3 26362306a36Sopenharmony_ci* 20 - right, E destination (FX-bus 0-63), default 4 26462306a36Sopenharmony_ci* 21 - right, F destination (FX-bus 0-63), default 5 26562306a36Sopenharmony_ci* 22 - right, G destination (FX-bus 0-63), default 6 26662306a36Sopenharmony_ci* 23 - right, H destination (FX-bus 0-63), default 7 26762306a36Sopenharmony_ci 26862306a36Sopenharmony_ciDon't forget that it's illegal to assign a channel to the same FX-bus accumulator 26962306a36Sopenharmony_cimore than once (it means 0=0 && 1=0 is an invalid combination). 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ciname='EMU10K1 PCM Send Volume',index 0-31 27262306a36Sopenharmony_ci----------------------------------------- 27362306a36Sopenharmony_ciIt specifies the attenuation (amount) for given destination in range 0-255. 27462306a36Sopenharmony_ciThe channel mapping is following: 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ci* 0 - mono, A destination attn, default 255 (no attenuation) 27762306a36Sopenharmony_ci* 1 - mono, B destination attn, default 255 (no attenuation) 27862306a36Sopenharmony_ci* 2 - mono, C destination attn, default 0 (mute) 27962306a36Sopenharmony_ci* 3 - mono, D destination attn, default 0 (mute) 28062306a36Sopenharmony_ci* 4 - mono, E destination attn, default 0 (mute) 28162306a36Sopenharmony_ci* 5 - mono, F destination attn, default 0 (mute) 28262306a36Sopenharmony_ci* 6 - mono, G destination attn, default 0 (mute) 28362306a36Sopenharmony_ci* 7 - mono, H destination attn, default 0 (mute) 28462306a36Sopenharmony_ci* 8 - left, A destination attn, default 255 (no attenuation) 28562306a36Sopenharmony_ci* 9 - left, B destination attn, default 0 (mute) 28662306a36Sopenharmony_ci* 10 - left, C destination attn, default 0 (mute) 28762306a36Sopenharmony_ci* 11 - left, D destination attn, default 0 (mute) 28862306a36Sopenharmony_ci* 12 - left, E destination attn, default 0 (mute) 28962306a36Sopenharmony_ci* 13 - left, F destination attn, default 0 (mute) 29062306a36Sopenharmony_ci* 14 - left, G destination attn, default 0 (mute) 29162306a36Sopenharmony_ci* 15 - left, H destination attn, default 0 (mute) 29262306a36Sopenharmony_ci* 16 - right, A destination attn, default 0 (mute) 29362306a36Sopenharmony_ci* 17 - right, B destination attn, default 255 (no attenuation) 29462306a36Sopenharmony_ci* 18 - right, C destination attn, default 0 (mute) 29562306a36Sopenharmony_ci* 19 - right, D destination attn, default 0 (mute) 29662306a36Sopenharmony_ci* 20 - right, E destination attn, default 0 (mute) 29762306a36Sopenharmony_ci* 21 - right, F destination attn, default 0 (mute) 29862306a36Sopenharmony_ci* 22 - right, G destination attn, default 0 (mute) 29962306a36Sopenharmony_ci* 23 - right, H destination attn, default 0 (mute) 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ciMANUALS/PATENTS 30462306a36Sopenharmony_ci=============== 30562306a36Sopenharmony_ci 30662306a36Sopenharmony_ciSee sb-live-mixer.rst. 307