1 ============================================= 1 ============================================= 2 Sound Blaster Audigy mixer / default DSP code 2 Sound Blaster Audigy mixer / default DSP code 3 ============================================= 3 ============================================= 4 4 5 This is based on sb-live-mixer.rst. 5 This is based on sb-live-mixer.rst. 6 6 7 The EMU10K2 chips have a DSP part which can be 7 The EMU10K2 chips have a DSP part which can be programmed to support 8 various ways of sample processing, which is de 8 various ways of sample processing, which is described here. 9 (This article does not deal with the overall f 9 (This article does not deal with the overall functionality of the 10 EMU10K2 chips. See the manuals section for fur 10 EMU10K2 chips. See the manuals section for further details.) 11 11 12 The ALSA driver programs this portion of chip 12 The ALSA driver programs this portion of chip by default code 13 (can be altered later) which offers the follow 13 (can be altered later) which offers the following functionality: 14 14 15 15 16 Digital mixer controls 16 Digital mixer controls 17 ====================== 17 ====================== 18 18 19 These controls are built using the DSP instruc 19 These controls are built using the DSP instructions. They offer extended 20 functionality. Only the default built-in code 20 functionality. Only the default built-in code in the ALSA driver is described 21 here. Note that the controls work as attenuato 21 here. Note that the controls work as attenuators: the maximum value is the 22 neutral position leaving the signal unchanged. 22 neutral position leaving the signal unchanged. Note that if the same destination 23 is mentioned in multiple controls, the signal 23 is mentioned in multiple controls, the signal is accumulated and can be clipped 24 (set to maximal or minimal value without check 24 (set to maximal or minimal value without checking for overflow). 25 25 26 26 27 Explanation of used abbreviations: 27 Explanation of used abbreviations: 28 28 29 DAC 29 DAC 30 digital to analog converter 30 digital to analog converter 31 ADC 31 ADC 32 analog to digital converter 32 analog to digital converter 33 I2S 33 I2S 34 one-way three wire serial bus for digi 34 one-way three wire serial bus for digital sound by Philips Semiconductors 35 (this standard is used for connecting 35 (this standard is used for connecting standalone D/A and A/D converters) 36 LFE 36 LFE 37 low frequency effects (used as subwoof 37 low frequency effects (used as subwoofer signal) 38 AC97 38 AC97 39 a chip containing an analog mixer, D/A 39 a chip containing an analog mixer, D/A and A/D converters 40 IEC958 40 IEC958 41 S/PDIF 41 S/PDIF 42 FX-bus 42 FX-bus 43 the EMU10K2 chip has an effect bus con 43 the EMU10K2 chip has an effect bus containing 64 accumulators. 44 Each of the synthesizer voices can fee 44 Each of the synthesizer voices can feed its output to these accumulators 45 and the DSP microcontroller can operat 45 and the DSP microcontroller can operate with the resulting sum. 46 46 47 name='PCM Front Playback Volume',index=0 47 name='PCM Front Playback Volume',index=0 48 ---------------------------------------- 48 ---------------------------------------- 49 This control is used to attenuate samples from 49 This control is used to attenuate samples from left and right front PCM FX-bus 50 accumulators. ALSA uses accumulators 8 and 9 f 50 accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM 51 samples for 5.1 playback. The result samples a 51 samples for 5.1 playback. The result samples are forwarded to the front speakers. 52 52 53 name='PCM Surround Playback Volume',index=0 53 name='PCM Surround Playback Volume',index=0 54 ------------------------------------------- 54 ------------------------------------------- 55 This control is used to attenuate samples from 55 This control is used to attenuate samples from left and right surround PCM FX-bus 56 accumulators. ALSA uses accumulators 2 and 3 f 56 accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM 57 samples for 5.1 playback. The result samples a 57 samples for 5.1 playback. The result samples are forwarded to the surround (rear) 58 speakers. 58 speakers. 59 59 60 name='PCM Side Playback Volume',index=0 60 name='PCM Side Playback Volume',index=0 61 --------------------------------------- 61 --------------------------------------- 62 This control is used to attenuate samples from 62 This control is used to attenuate samples from left and right side PCM FX-bus 63 accumulators. ALSA uses accumulators 14 and 15 63 accumulators. ALSA uses accumulators 14 and 15 for left and right side PCM 64 samples for 7.1 playback. The result samples a 64 samples for 7.1 playback. The result samples are forwarded to the side speakers. 65 65 66 name='PCM Center Playback Volume',index=0 66 name='PCM Center Playback Volume',index=0 67 ----------------------------------------- 67 ----------------------------------------- 68 This control is used to attenuate samples from 68 This control is used to attenuate samples from center PCM FX-bus accumulator. 69 ALSA uses accumulator 6 for center PCM samples 69 ALSA uses accumulator 6 for center PCM samples for 5.1 playback. The result 70 samples are forwarded to the center speaker. 70 samples are forwarded to the center speaker. 71 71 72 name='PCM LFE Playback Volume',index=0 72 name='PCM LFE Playback Volume',index=0 73 -------------------------------------- 73 -------------------------------------- 74 This control is used to attenuate sample for L 74 This control is used to attenuate sample for LFE PCM FX-bus accumulator. 75 ALSA uses accumulator 7 for LFE PCM samples fo 75 ALSA uses accumulator 7 for LFE PCM samples for 5.1 playback. The result 76 samples are forwarded to the subwoofer. 76 samples are forwarded to the subwoofer. 77 77 78 name='PCM Playback Volume',index=0 78 name='PCM Playback Volume',index=0 79 ---------------------------------- 79 ---------------------------------- 80 This control is used to attenuate samples from 80 This control is used to attenuate samples from left and right PCM FX-bus 81 accumulators. ALSA uses accumulators 0 and 1 f 81 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for 82 stereo playback. The result samples are forwar 82 stereo playback. The result samples are forwarded to the front speakers. 83 83 84 name='PCM Capture Volume',index=0 84 name='PCM Capture Volume',index=0 85 --------------------------------- 85 --------------------------------- 86 This control is used to attenuate samples from 86 This control is used to attenuate samples from left and right PCM FX-bus 87 accumulators. ALSA uses accumulators 0 and 1 f 87 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for 88 stereo playback. The result is forwarded to th 88 stereo playback. The result is forwarded to the standard capture PCM device. 89 89 90 name='Music Playback Volume',index=0 90 name='Music Playback Volume',index=0 91 ------------------------------------ 91 ------------------------------------ 92 This control is used to attenuate samples from 92 This control is used to attenuate samples from left and right MIDI FX-bus 93 accumulators. ALSA uses accumulators 4 and 5 f 93 accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. 94 The result samples are forwarded to the virtua 94 The result samples are forwarded to the virtual stereo mixer. 95 95 96 name='Music Capture Volume',index=0 96 name='Music Capture Volume',index=0 97 ----------------------------------- 97 ----------------------------------- 98 These controls are used to attenuate samples f 98 These controls are used to attenuate samples from left and right MIDI FX-bus 99 accumulator. ALSA uses accumulators 4 and 5 fo 99 accumulator. ALSA uses accumulators 4 and 5 for left and right MIDI samples. 100 The result is forwarded to the standard captur 100 The result is forwarded to the standard capture PCM device. 101 101 102 name='Mic Playback Volume',index=0 102 name='Mic Playback Volume',index=0 103 ---------------------------------- 103 ---------------------------------- 104 This control is used to attenuate samples from 104 This control is used to attenuate samples from left and right Mic input of 105 the AC97 codec. The result samples are forward 105 the AC97 codec. The result samples are forwarded to the virtual stereo mixer. 106 106 107 name='Mic Capture Volume',index=0 107 name='Mic Capture Volume',index=0 108 --------------------------------- 108 --------------------------------- 109 This control is used to attenuate samples from 109 This control is used to attenuate samples from left and right Mic input of 110 the AC97 codec. The result is forwarded to the 110 the AC97 codec. The result is forwarded to the standard capture PCM device. 111 111 112 The original samples are also forwarded to the 112 The original samples are also forwarded to the Mic capture PCM device (device 1; 113 16bit/8KHz mono) without volume control. 113 16bit/8KHz mono) without volume control. 114 114 115 name='Audigy CD Playback Volume',index=0 115 name='Audigy CD Playback Volume',index=0 116 ---------------------------------------- 116 ---------------------------------------- 117 This control is used to attenuate samples from 117 This control is used to attenuate samples from left and right IEC958 TTL 118 digital inputs (usually used by a CDROM drive) 118 digital inputs (usually used by a CDROM drive). The result samples are 119 forwarded to the virtual stereo mixer. 119 forwarded to the virtual stereo mixer. 120 120 121 name='Audigy CD Capture Volume',index=0 121 name='Audigy CD Capture Volume',index=0 122 --------------------------------------- 122 --------------------------------------- 123 This control is used to attenuate samples from 123 This control is used to attenuate samples from left and right IEC958 TTL 124 digital inputs (usually used by a CDROM drive) 124 digital inputs (usually used by a CDROM drive). The result is forwarded 125 to the standard capture PCM device. 125 to the standard capture PCM device. 126 126 127 name='IEC958 Optical Playback Volume',index=0 127 name='IEC958 Optical Playback Volume',index=0 128 --------------------------------------------- 128 --------------------------------------------- 129 This control is used to attenuate samples from 129 This control is used to attenuate samples from left and right IEC958 optical 130 digital input. The result samples are forwarde 130 digital input. The result samples are forwarded to the virtual stereo mixer. 131 131 132 name='IEC958 Optical Capture Volume',index=0 132 name='IEC958 Optical Capture Volume',index=0 133 -------------------------------------------- 133 -------------------------------------------- 134 This control is used to attenuate samples from 134 This control is used to attenuate samples from left and right IEC958 optical 135 digital inputs. The result is forwarded to the 135 digital inputs. The result is forwarded to the standard capture PCM device. 136 136 137 name='Line2 Playback Volume',index=0 137 name='Line2 Playback Volume',index=0 138 ------------------------------------ 138 ------------------------------------ 139 This control is used to attenuate samples from 139 This control is used to attenuate samples from left and right I2S ADC 140 inputs (on the AudigyDrive). The result sample 140 inputs (on the AudigyDrive). The result samples are forwarded to the virtual 141 stereo mixer. 141 stereo mixer. 142 142 143 name='Line2 Capture Volume',index=1 143 name='Line2 Capture Volume',index=1 144 ----------------------------------- 144 ----------------------------------- 145 This control is used to attenuate samples from 145 This control is used to attenuate samples from left and right I2S ADC 146 inputs (on the AudigyDrive). The result is for 146 inputs (on the AudigyDrive). The result is forwarded to the standard capture 147 PCM device. 147 PCM device. 148 148 149 name='Analog Mix Playback Volume',index=0 149 name='Analog Mix Playback Volume',index=0 150 ----------------------------------------- 150 ----------------------------------------- 151 This control is used to attenuate samples from 151 This control is used to attenuate samples from left and right I2S ADC 152 inputs from Philips ADC. The result samples ar 152 inputs from Philips ADC. The result samples are forwarded to the virtual 153 stereo mixer. This contains mix from analog so 153 stereo mixer. This contains mix from analog sources like CD, Line In, Aux, .... 154 154 155 name='Analog Mix Capture Volume',index=1 155 name='Analog Mix Capture Volume',index=1 156 ---------------------------------------- 156 ---------------------------------------- 157 This control is used to attenuate samples from 157 This control is used to attenuate samples from left and right I2S ADC 158 inputs Philips ADC. The result is forwarded to 158 inputs Philips ADC. The result is forwarded to the standard capture PCM device. 159 159 160 name='Aux2 Playback Volume',index=0 160 name='Aux2 Playback Volume',index=0 161 ----------------------------------- 161 ----------------------------------- 162 This control is used to attenuate samples from 162 This control is used to attenuate samples from left and right I2S ADC 163 inputs (on the AudigyDrive). The result sample 163 inputs (on the AudigyDrive). The result samples are forwarded to the virtual 164 stereo mixer. 164 stereo mixer. 165 165 166 name='Aux2 Capture Volume',index=1 166 name='Aux2 Capture Volume',index=1 167 ---------------------------------- 167 ---------------------------------- 168 This control is used to attenuate samples from 168 This control is used to attenuate samples from left and right I2S ADC 169 inputs (on the AudigyDrive). The result is for 169 inputs (on the AudigyDrive). The result is forwarded to the standard capture 170 PCM device. 170 PCM device. 171 171 172 name='Front Playback Volume',index=0 172 name='Front Playback Volume',index=0 173 ------------------------------------ 173 ------------------------------------ 174 This control is used to attenuate samples from 174 This control is used to attenuate samples from the virtual stereo mixer. 175 The result samples are forwarded to the front 175 The result samples are forwarded to the front speakers. 176 176 177 name='Surround Playback Volume',index=0 177 name='Surround Playback Volume',index=0 178 --------------------------------------- 178 --------------------------------------- 179 This control is used to attenuate samples from 179 This control is used to attenuate samples from the virtual stereo mixer. 180 The result samples are forwarded to the surrou 180 The result samples are forwarded to the surround (rear) speakers. 181 181 182 name='Side Playback Volume',index=0 182 name='Side Playback Volume',index=0 183 ----------------------------------- 183 ----------------------------------- 184 This control is used to attenuate samples from 184 This control is used to attenuate samples from the virtual stereo mixer. 185 The result samples are forwarded to the side s 185 The result samples are forwarded to the side speakers. 186 186 187 name='Center Playback Volume',index=0 187 name='Center Playback Volume',index=0 188 ------------------------------------- 188 ------------------------------------- 189 This control is used to attenuate samples from 189 This control is used to attenuate samples from the virtual stereo mixer. 190 The result samples are forwarded to the center 190 The result samples are forwarded to the center speaker. 191 191 192 name='LFE Playback Volume',index=0 192 name='LFE Playback Volume',index=0 193 ---------------------------------- 193 ---------------------------------- 194 This control is used to attenuate samples from 194 This control is used to attenuate samples from the virtual stereo mixer. 195 The result samples are forwarded to the subwoo 195 The result samples are forwarded to the subwoofer. 196 196 197 name='Tone Control - Switch',index=0 197 name='Tone Control - Switch',index=0 198 ------------------------------------ 198 ------------------------------------ 199 This control turns the tone control on or off. 199 This control turns the tone control on or off. The samples forwarded to 200 the speaker outputs are affected. 200 the speaker outputs are affected. 201 201 202 name='Tone Control - Bass',index=0 202 name='Tone Control - Bass',index=0 203 ---------------------------------- 203 ---------------------------------- 204 This control sets the bass intensity. There is 204 This control sets the bass intensity. There is no neutral value!! 205 When the tone control code is activated, the s 205 When the tone control code is activated, the samples are always modified. 206 The closest value to pure signal is 20. 206 The closest value to pure signal is 20. 207 207 208 name='Tone Control - Treble',index=0 208 name='Tone Control - Treble',index=0 209 ------------------------------------ 209 ------------------------------------ 210 This control sets the treble intensity. There 210 This control sets the treble intensity. There is no neutral value!! 211 When the tone control code is activated, the s 211 When the tone control code is activated, the samples are always modified. 212 The closest value to pure signal is 20. 212 The closest value to pure signal is 20. 213 213 214 name='Master Playback Volume',index=0 214 name='Master Playback Volume',index=0 215 ------------------------------------- 215 ------------------------------------- 216 This control is used to attenuate samples forw 216 This control is used to attenuate samples forwarded to the speaker outputs. 217 217 218 name='IEC958 Optical Raw Playback Switch',inde 218 name='IEC958 Optical Raw Playback Switch',index=0 219 ---------------------------------------------- 219 ------------------------------------------------- 220 If this switch is on, then the samples for the 220 If this switch is on, then the samples for the IEC958 (S/PDIF) digital 221 output are taken only from the raw iec958 ALSA 221 output are taken only from the raw iec958 ALSA PCM device (which uses 222 accumulators 20 and 21 for left and right PCM 222 accumulators 20 and 21 for left and right PCM by default). 223 223 224 224 225 PCM stream related controls 225 PCM stream related controls 226 =========================== 226 =========================== 227 227 228 name='EMU10K1 PCM Volume',index 0-31 228 name='EMU10K1 PCM Volume',index 0-31 229 ------------------------------------ 229 ------------------------------------ 230 Channel volume attenuation in range 0-0x1fffd. 230 Channel volume attenuation in range 0-0x1fffd. The middle value (no 231 attenuation) is default. The channel mapping f 231 attenuation) is default. The channel mapping for three values is 232 as follows: 232 as follows: 233 233 234 * 0 - mono, default 0xffff (no attenuation) 234 * 0 - mono, default 0xffff (no attenuation) 235 * 1 - left, default 0xffff (no attenuation) 235 * 1 - left, default 0xffff (no attenuation) 236 * 2 - right, default 0xffff (no attenuation) 236 * 2 - right, default 0xffff (no attenuation) 237 237 238 name='EMU10K1 PCM Send Routing',index 0-31 238 name='EMU10K1 PCM Send Routing',index 0-31 239 ------------------------------------------ 239 ------------------------------------------ 240 This control specifies the destination - FX-bu 240 This control specifies the destination - FX-bus accumulators. There are 24 241 values in this mapping: 241 values in this mapping: 242 242 243 * 0 - mono, A destination (FX-bus 0-63), def 243 * 0 - mono, A destination (FX-bus 0-63), default 0 244 * 1 - mono, B destination (FX-bus 0-63), def 244 * 1 - mono, B destination (FX-bus 0-63), default 1 245 * 2 - mono, C destination (FX-bus 0-63), def 245 * 2 - mono, C destination (FX-bus 0-63), default 2 246 * 3 - mono, D destination (FX-bus 0-63), def 246 * 3 - mono, D destination (FX-bus 0-63), default 3 247 * 4 - mono, E destination (FX-bus 0-63), def 247 * 4 - mono, E destination (FX-bus 0-63), default 4 248 * 5 - mono, F destination (FX-bus 0-63), def 248 * 5 - mono, F destination (FX-bus 0-63), default 5 249 * 6 - mono, G destination (FX-bus 0-63), def 249 * 6 - mono, G destination (FX-bus 0-63), default 6 250 * 7 - mono, H destination (FX-bus 0-63), def 250 * 7 - mono, H destination (FX-bus 0-63), default 7 251 * 8 - left, A destination (FX-bus 0-63), def 251 * 8 - left, A destination (FX-bus 0-63), default 0 252 * 9 - left, B destination (FX-bus 0-63), def 252 * 9 - left, B destination (FX-bus 0-63), default 1 253 * 10 - left, C destination (FX-bus 0-63), def 253 * 10 - left, C destination (FX-bus 0-63), default 2 254 * 11 - left, D destination (FX-bus 0-63), def 254 * 11 - left, D destination (FX-bus 0-63), default 3 255 * 12 - left, E destination (FX-bus 0-63), def 255 * 12 - left, E destination (FX-bus 0-63), default 4 256 * 13 - left, F destination (FX-bus 0-63), def 256 * 13 - left, F destination (FX-bus 0-63), default 5 257 * 14 - left, G destination (FX-bus 0-63), def 257 * 14 - left, G destination (FX-bus 0-63), default 6 258 * 15 - left, H destination (FX-bus 0-63), def 258 * 15 - left, H destination (FX-bus 0-63), default 7 259 * 16 - right, A destination (FX-bus 0-63), def 259 * 16 - right, A destination (FX-bus 0-63), default 0 260 * 17 - right, B destination (FX-bus 0-63), def 260 * 17 - right, B destination (FX-bus 0-63), default 1 261 * 18 - right, C destination (FX-bus 0-63), def 261 * 18 - right, C destination (FX-bus 0-63), default 2 262 * 19 - right, D destination (FX-bus 0-63), def 262 * 19 - right, D destination (FX-bus 0-63), default 3 263 * 20 - right, E destination (FX-bus 0-63), def 263 * 20 - right, E destination (FX-bus 0-63), default 4 264 * 21 - right, F destination (FX-bus 0-63), def 264 * 21 - right, F destination (FX-bus 0-63), default 5 265 * 22 - right, G destination (FX-bus 0-63), def 265 * 22 - right, G destination (FX-bus 0-63), default 6 266 * 23 - right, H destination (FX-bus 0-63), def 266 * 23 - right, H destination (FX-bus 0-63), default 7 267 267 268 Don't forget that it's illegal to assign a cha 268 Don't forget that it's illegal to assign a channel to the same FX-bus accumulator 269 more than once (it means 0=0 && 1=0 is an inva 269 more than once (it means 0=0 && 1=0 is an invalid combination). 270 270 271 name='EMU10K1 PCM Send Volume',index 0-31 271 name='EMU10K1 PCM Send Volume',index 0-31 272 ----------------------------------------- 272 ----------------------------------------- 273 It specifies the attenuation (amount) for give 273 It specifies the attenuation (amount) for given destination in range 0-255. 274 The channel mapping is following: 274 The channel mapping is following: 275 275 276 * 0 - mono, A destination attn, default 255 276 * 0 - mono, A destination attn, default 255 (no attenuation) 277 * 1 - mono, B destination attn, default 255 277 * 1 - mono, B destination attn, default 255 (no attenuation) 278 * 2 - mono, C destination attn, default 0 (m 278 * 2 - mono, C destination attn, default 0 (mute) 279 * 3 - mono, D destination attn, default 0 (m 279 * 3 - mono, D destination attn, default 0 (mute) 280 * 4 - mono, E destination attn, default 0 (m 280 * 4 - mono, E destination attn, default 0 (mute) 281 * 5 - mono, F destination attn, default 0 (m 281 * 5 - mono, F destination attn, default 0 (mute) 282 * 6 - mono, G destination attn, default 0 (m 282 * 6 - mono, G destination attn, default 0 (mute) 283 * 7 - mono, H destination attn, default 0 (m 283 * 7 - mono, H destination attn, default 0 (mute) 284 * 8 - left, A destination attn, default 255 284 * 8 - left, A destination attn, default 255 (no attenuation) 285 * 9 - left, B destination attn, default 0 (m 285 * 9 - left, B destination attn, default 0 (mute) 286 * 10 - left, C destination attn, default 0 (m 286 * 10 - left, C destination attn, default 0 (mute) 287 * 11 - left, D destination attn, default 0 (m 287 * 11 - left, D destination attn, default 0 (mute) 288 * 12 - left, E destination attn, default 0 (m 288 * 12 - left, E destination attn, default 0 (mute) 289 * 13 - left, F destination attn, default 0 (m 289 * 13 - left, F destination attn, default 0 (mute) 290 * 14 - left, G destination attn, default 0 (m 290 * 14 - left, G destination attn, default 0 (mute) 291 * 15 - left, H destination attn, default 0 (m 291 * 15 - left, H destination attn, default 0 (mute) 292 * 16 - right, A destination attn, default 0 (m 292 * 16 - right, A destination attn, default 0 (mute) 293 * 17 - right, B destination attn, default 255 293 * 17 - right, B destination attn, default 255 (no attenuation) 294 * 18 - right, C destination attn, default 0 (m 294 * 18 - right, C destination attn, default 0 (mute) 295 * 19 - right, D destination attn, default 0 (m 295 * 19 - right, D destination attn, default 0 (mute) 296 * 20 - right, E destination attn, default 0 (m 296 * 20 - right, E destination attn, default 0 (mute) 297 * 21 - right, F destination attn, default 0 (m 297 * 21 - right, F destination attn, default 0 (mute) 298 * 22 - right, G destination attn, default 0 (m 298 * 22 - right, G destination attn, default 0 (mute) 299 * 23 - right, H destination attn, default 0 (m 299 * 23 - right, H destination attn, default 0 (mute) 300 300 301 301 302 302 303 MANUALS/PATENTS 303 MANUALS/PATENTS 304 =============== 304 =============== 305 305 306 See sb-live-mixer.rst. 306 See sb-live-mixer.rst.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.