Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ALSA: doc: ReSTize SB-Live-mixer document

Another simple conversion from a plain text file.
Put to cards subdirectory.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

+170 -152
+169 -152
Documentation/sound/alsa/SB-Live-mixer.txt Documentation/sound/cards/sb-live-mixer.rst
··· 1 - 2 - Sound Blaster Live mixer / default DSP code 3 - =========================================== 1 + =========================================== 2 + Sound Blaster Live mixer / default DSP code 3 + =========================================== 4 4 5 5 6 6 The EMU10K1 chips have a DSP part which can be programmed to support ··· 12 12 (can be altered later) which offers the following functionality: 13 13 14 14 15 - 1) IEC958 (S/PDIF) raw PCM 16 - -------------------------- 15 + IEC958 (S/PDIF) raw PCM 16 + ======================= 17 17 18 18 This PCM device (it's the 4th PCM device (index 3!) and first subdevice 19 19 (index 0) for a given card) allows to forward 48kHz, stereo, 16-bit ··· 27 27 Look to tram_poke routines in lowlevel/emu10k1/emufx.c for more details. 28 28 29 29 30 - 2) Digital mixer controls 31 - ------------------------- 30 + Digital mixer controls 31 + ====================== 32 32 33 33 These controls are built using the DSP instructions. They offer extended 34 34 functionality. Only the default build-in code in the ALSA driver is described ··· 40 40 41 41 Explanation of used abbreviations: 42 42 43 - DAC - digital to analog converter 44 - ADC - analog to digital converter 45 - I2S - one-way three wire serial bus for digital sound by Philips Semiconductors 46 - (this standard is used for connecting standalone DAC and ADC converters) 47 - LFE - low frequency effects (subwoofer signal) 48 - AC97 - a chip containing an analog mixer, DAC and ADC converters 49 - IEC958 - S/PDIF 50 - FX-bus - the EMU10K1 chip has an effect bus containing 16 accumulators. 51 - Each of the synthesizer voices can feed its output to these accumulators 52 - and the DSP microcontroller can operate with the resulting sum. 43 + DAC 44 + digital to analog converter 45 + ADC 46 + analog to digital converter 47 + I2S 48 + one-way three wire serial bus for digital sound by Philips Semiconductors 49 + (this standard is used for connecting standalone DAC and ADC converters) 50 + LFE 51 + low frequency effects (subwoofer signal) 52 + AC97 53 + a chip containing an analog mixer, DAC and ADC converters 54 + IEC958 55 + S/PDIF 56 + FX-bus 57 + the EMU10K1 chip has an effect bus containing 16 accumulators. 58 + Each of the synthesizer voices can feed its output to these accumulators 59 + and the DSP microcontroller can operate with the resulting sum. 53 60 54 61 55 - name='Wave Playback Volume',index=0 56 - 62 + ``name='Wave Playback Volume',index=0`` 63 + --------------------------------------- 57 64 This control is used to attenuate samples for left and right PCM FX-bus 58 65 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples. 59 66 The result samples are forwarded to the front DAC PCM slots of the AC97 codec. 60 67 61 - name='Wave Surround Playback Volume',index=0 62 - 68 + ``name='Wave Surround Playback Volume',index=0`` 69 + ------------------------------------------------ 63 70 This control is used to attenuate samples for left and right PCM FX-bus 64 71 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples. 65 72 The result samples are forwarded to the rear I2S DACs. These DACs operates 66 73 separately (they are not inside the AC97 codec). 67 74 68 - name='Wave Center Playback Volume',index=0 69 - 75 + ``name='Wave Center Playback Volume',index=0`` 76 + ---------------------------------------------- 70 77 This control is used to attenuate samples for left and right PCM FX-bus 71 78 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples. 72 79 The result is mixed to mono signal (single channel) and forwarded to 73 80 the ??rear?? right DAC PCM slot of the AC97 codec. 74 81 75 - name='Wave LFE Playback Volume',index=0 76 - 82 + ``name='Wave LFE Playback Volume',index=0`` 83 + ------------------------------------------- 77 84 This control is used to attenuate samples for left and right PCM FX-bus 78 85 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM. 79 86 The result is mixed to mono signal (single channel) and forwarded to 80 87 the ??rear?? left DAC PCM slot of the AC97 codec. 81 88 82 - name='Wave Capture Volume',index=0 83 - name='Wave Capture Switch',index=0 84 - 89 + ``name='Wave Capture Volume',index=0``, ``name='Wave Capture Switch',index=0`` 90 + ------------------------------------------------------------------------------ 85 91 These controls are used to attenuate samples for left and right PCM FX-bus 86 92 accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. 87 93 The result is forwarded to the ADC capture FIFO (thus to the standard capture 88 94 PCM device). 89 95 90 - name='Synth Playback Volume',index=0 91 - 96 + ``name='Synth Playback Volume',index=0`` 97 + ---------------------------------------- 92 98 This control is used to attenuate samples for left and right MIDI FX-bus 93 99 accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. 94 100 The result samples are forwarded to the front DAC PCM slots of the AC97 codec. 95 101 96 - name='Synth Capture Volume',index=0 97 - name='Synth Capture Switch',index=0 98 - 102 + ``name='Synth Capture Volume',index=0``, ``name='Synth Capture Switch',index=0`` 103 + -------------------------------------------------------------------------------- 99 104 These controls are used to attenuate samples for left and right MIDI FX-bus 100 105 accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. 101 106 The result is forwarded to the ADC capture FIFO (thus to the standard capture 102 107 PCM device). 103 108 104 - name='Surround Playback Volume',index=0 105 - 109 + ``name='Surround Playback Volume',index=0`` 110 + ------------------------------------------- 106 111 This control is used to attenuate samples for left and right rear PCM FX-bus 107 112 accumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples. 108 113 The result samples are forwarded to the rear I2S DACs. These DACs operate 109 114 separately (they are not inside the AC97 codec). 110 115 111 - name='Surround Capture Volume',index=0 112 - name='Surround Capture Switch',index=0 113 - 116 + ``name='Surround Capture Volume',index=0``, ``name='Surround Capture Switch',index=0`` 117 + -------------------------------------------------------------------------------------- 114 118 These controls are used to attenuate samples for left and right rear PCM FX-bus 115 119 accumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples. 116 120 The result is forwarded to the ADC capture FIFO (thus to the standard capture 117 121 PCM device). 118 122 119 - name='Center Playback Volume',index=0 120 - 123 + ``name='Center Playback Volume',index=0`` 124 + ----------------------------------------- 121 125 This control is used to attenuate sample for center PCM FX-bus accumulator. 122 126 ALSA uses accumulator 6 for center PCM sample. The result sample is forwarded 123 127 to the ??rear?? right DAC PCM slot of the AC97 codec. 124 128 125 - name='LFE Playback Volume',index=0 126 - 129 + ``name='LFE Playback Volume',index=0`` 130 + -------------------------------------- 127 131 This control is used to attenuate sample for center PCM FX-bus accumulator. 128 132 ALSA uses accumulator 6 for center PCM sample. The result sample is forwarded 129 133 to the ??rear?? left DAC PCM slot of the AC97 codec. 130 134 131 - name='AC97 Playback Volume',index=0 132 - 135 + ``name='AC97 Playback Volume',index=0`` 136 + --------------------------------------- 133 137 This control is used to attenuate samples for left and right front ADC PCM slots 134 138 of the AC97 codec. The result samples are forwarded to the front DAC PCM 135 139 slots of the AC97 codec. 136 - ******************************************************************************** 137 - *** Note: This control should be zero for the standard operations, otherwise *** 138 - *** a digital loopback is activated. *** 139 - ******************************************************************************** 140 140 141 - name='AC97 Capture Volume',index=0 141 + .. note:: 142 + This control should be zero for the standard operations, otherwise 143 + a digital loopback is activated. 142 144 145 + 146 + ``name='AC97 Capture Volume',index=0`` 147 + -------------------------------------- 143 148 This control is used to attenuate samples for left and right front ADC PCM slots 144 149 of the AC97 codec. The result is forwarded to the ADC capture FIFO (thus to 145 150 the standard capture PCM device). 146 - ******************************************************************************** 147 - *** Note: This control should be 100 (maximal value), otherwise no analog *** 148 - *** inputs of the AC97 codec can be captured (recorded). *** 149 - ******************************************************************************** 150 151 151 - name='IEC958 TTL Playback Volume',index=0 152 + .. note:: 153 + This control should be 100 (maximal value), otherwise no analog 154 + inputs of the AC97 codec can be captured (recorded). 152 155 156 + ``name='IEC958 TTL Playback Volume',index=0`` 157 + --------------------------------------------- 153 158 This control is used to attenuate samples from left and right IEC958 TTL 154 159 digital inputs (usually used by a CDROM drive). The result samples are 155 160 forwarded to the front DAC PCM slots of the AC97 codec. 156 161 157 - name='IEC958 TTL Capture Volume',index=0 158 - 162 + ``name='IEC958 TTL Capture Volume',index=0`` 163 + -------------------------------------------- 159 164 This control is used to attenuate samples from left and right IEC958 TTL 160 165 digital inputs (usually used by a CDROM drive). The result samples are 161 166 forwarded to the ADC capture FIFO (thus to the standard capture PCM device). 162 167 163 - name='Zoom Video Playback Volume',index=0 164 - 168 + ``name='Zoom Video Playback Volume',index=0`` 169 + --------------------------------------------- 165 170 This control is used to attenuate samples from left and right zoom video 166 171 digital inputs (usually used by a CDROM drive). The result samples are 167 172 forwarded to the front DAC PCM slots of the AC97 codec. 168 173 169 - name='Zoom Video Capture Volume',index=0 170 - 174 + ``name='Zoom Video Capture Volume',index=0`` 175 + -------------------------------------------- 171 176 This control is used to attenuate samples from left and right zoom video 172 177 digital inputs (usually used by a CDROM drive). The result samples are 173 178 forwarded to the ADC capture FIFO (thus to the standard capture PCM device). 174 179 175 - name='IEC958 LiveDrive Playback Volume',index=0 176 - 180 + ``name='IEC958 LiveDrive Playback Volume',index=0`` 181 + --------------------------------------------------- 177 182 This control is used to attenuate samples from left and right IEC958 optical 178 183 digital input. The result samples are forwarded to the front DAC PCM slots 179 184 of the AC97 codec. 180 185 181 - name='IEC958 LiveDrive Capture Volume',index=0 182 - 186 + ``name='IEC958 LiveDrive Capture Volume',index=0`` 187 + -------------------------------------------------- 183 188 This control is used to attenuate samples from left and right IEC958 optical 184 189 digital inputs. The result samples are forwarded to the ADC capture FIFO 185 190 (thus to the standard capture PCM device). 186 191 187 - name='IEC958 Coaxial Playback Volume',index=0 188 - 192 + ``name='IEC958 Coaxial Playback Volume',index=0`` 193 + ------------------------------------------------- 189 194 This control is used to attenuate samples from left and right IEC958 coaxial 190 195 digital inputs. The result samples are forwarded to the front DAC PCM slots 191 196 of the AC97 codec. 192 197 193 - name='IEC958 Coaxial Capture Volume',index=0 194 - 198 + ``name='IEC958 Coaxial Capture Volume',index=0`` 199 + ------------------------------------------------ 195 200 This control is used to attenuate samples from left and right IEC958 coaxial 196 201 digital inputs. The result samples are forwarded to the ADC capture FIFO 197 202 (thus to the standard capture PCM device). 198 203 199 - name='Line LiveDrive Playback Volume',index=0 200 - name='Line LiveDrive Playback Volume',index=1 201 - 204 + ``name='Line LiveDrive Playback Volume',index=0``, ``name='Line LiveDrive Playback Volume',index=1`` 205 + ---------------------------------------------------------------------------------------------------- 202 206 This control is used to attenuate samples from left and right I2S ADC 203 207 inputs (on the LiveDrive). The result samples are forwarded to the front 204 208 DAC PCM slots of the AC97 codec. 205 209 206 - name='Line LiveDrive Capture Volume',index=1 207 - name='Line LiveDrive Capture Volume',index=1 208 - 210 + ``name='Line LiveDrive Capture Volume',index=1``, ``name='Line LiveDrive Capture Volume',index=1`` 211 + -------------------------------------------------------------------------------------------------- 209 212 This control is used to attenuate samples from left and right I2S ADC 210 213 inputs (on the LiveDrive). The result samples are forwarded to the ADC 211 214 capture FIFO (thus to the standard capture PCM device). 212 215 213 - name='Tone Control - Switch',index=0 214 - 216 + ``name='Tone Control - Switch',index=0`` 217 + ---------------------------------------- 215 218 This control turns the tone control on or off. The samples for front, rear 216 219 and center / LFE outputs are affected. 217 220 218 - name='Tone Control - Bass',index=0 219 - 221 + ``name='Tone Control - Bass',index=0`` 222 + -------------------------------------- 220 223 This control sets the bass intensity. There is no neutral value!! 221 224 When the tone control code is activated, the samples are always modified. 222 225 The closest value to pure signal is 20. 223 226 224 - name='Tone Control - Treble',index=0 225 - 227 + ``name='Tone Control - Treble',index=0`` 228 + ---------------------------------------- 226 229 This control sets the treble intensity. There is no neutral value!! 227 230 When the tone control code is activated, the samples are always modified. 228 231 The closest value to pure signal is 20. 229 232 230 - name='IEC958 Optical Raw Playback Switch',index=0 231 - 233 + ``name='IEC958 Optical Raw Playback Switch',index=0`` 234 + ----------------------------------------------------- 232 235 If this switch is on, then the samples for the IEC958 (S/PDIF) digital 233 236 output are taken only from the raw FX8010 PCM, otherwise standard front 234 237 PCM samples are taken. 235 238 236 - name='Headphone Playback Volume',index=1 237 - 239 + ``name='Headphone Playback Volume',index=1`` 240 + -------------------------------------------- 238 241 This control attenuates the samples for the headphone output. 239 242 240 - name='Headphone Center Playback Switch',index=1 241 - 243 + ``name='Headphone Center Playback Switch',index=1`` 244 + --------------------------------------------------- 242 245 If this switch is on, then the sample for the center PCM is put to the 243 246 left headphone output (useful for SB Live cards without separate center/LFE 244 247 output). 245 248 246 - name='Headphone LFE Playback Switch',index=1 247 - 249 + ``name='Headphone LFE Playback Switch',index=1`` 250 + ------------------------------------------------ 248 251 If this switch is on, then the sample for the center PCM is put to the 249 252 right headphone output (useful for SB Live cards without separate center/LFE 250 253 output). 251 254 252 255 253 - 3) PCM stream related controls 254 - ------------------------------ 256 + PCM stream related controls 257 + =========================== 255 258 256 - name='EMU10K1 PCM Volume',index 0-31 257 - 259 + ``name='EMU10K1 PCM Volume',index 0-31`` 260 + ---------------------------------------- 258 261 Channel volume attenuation in range 0-0xffff. The maximum value (no 259 262 attenuation) is default. The channel mapping for three values is 260 263 as follows: 261 264 262 - 0 - mono, default 0xffff (no attenuation) 263 - 1 - left, default 0xffff (no attenuation) 264 - 2 - right, default 0xffff (no attenuation) 265 + * 0 - mono, default 0xffff (no attenuation) 266 + * 1 - left, default 0xffff (no attenuation) 267 + * 2 - right, default 0xffff (no attenuation) 265 268 266 - name='EMU10K1 PCM Send Routing',index 0-31 267 - 269 + ``name='EMU10K1 PCM Send Routing',index 0-31`` 270 + ---------------------------------------------- 268 271 This control specifies the destination - FX-bus accumulators. There are 269 272 twelve values with this mapping: 270 273 271 - 0 - mono, A destination (FX-bus 0-15), default 0 272 - 1 - mono, B destination (FX-bus 0-15), default 1 273 - 2 - mono, C destination (FX-bus 0-15), default 2 274 - 3 - mono, D destination (FX-bus 0-15), default 3 275 - 4 - left, A destination (FX-bus 0-15), default 0 276 - 5 - left, B destination (FX-bus 0-15), default 1 277 - 6 - left, C destination (FX-bus 0-15), default 2 278 - 7 - left, D destination (FX-bus 0-15), default 3 279 - 8 - right, A destination (FX-bus 0-15), default 0 280 - 9 - right, B destination (FX-bus 0-15), default 1 281 - 10 - right, C destination (FX-bus 0-15), default 2 282 - 11 - right, D destination (FX-bus 0-15), default 3 274 + * 0 - mono, A destination (FX-bus 0-15), default 0 275 + * 1 - mono, B destination (FX-bus 0-15), default 1 276 + * 2 - mono, C destination (FX-bus 0-15), default 2 277 + * 3 - mono, D destination (FX-bus 0-15), default 3 278 + * 4 - left, A destination (FX-bus 0-15), default 0 279 + * 5 - left, B destination (FX-bus 0-15), default 1 280 + * 6 - left, C destination (FX-bus 0-15), default 2 281 + * 7 - left, D destination (FX-bus 0-15), default 3 282 + * 8 - right, A destination (FX-bus 0-15), default 0 283 + * 9 - right, B destination (FX-bus 0-15), default 1 284 + * 10 - right, C destination (FX-bus 0-15), default 2 285 + * 11 - right, D destination (FX-bus 0-15), default 3 283 286 284 287 Don't forget that it's illegal to assign a channel to the same FX-bus accumulator 285 288 more than once (it means 0=0 && 1=0 is an invalid combination). 286 289 287 - name='EMU10K1 PCM Send Volume',index 0-31 288 - 290 + ``name='EMU10K1 PCM Send Volume',index 0-31`` 291 + --------------------------------------------- 289 292 It specifies the attenuation (amount) for given destination in range 0-255. 290 293 The channel mapping is following: 291 294 292 - 0 - mono, A destination attn, default 255 (no attenuation) 293 - 1 - mono, B destination attn, default 255 (no attenuation) 294 - 2 - mono, C destination attn, default 0 (mute) 295 - 3 - mono, D destination attn, default 0 (mute) 296 - 4 - left, A destination attn, default 255 (no attenuation) 297 - 5 - left, B destination attn, default 0 (mute) 298 - 6 - left, C destination attn, default 0 (mute) 299 - 7 - left, D destination attn, default 0 (mute) 300 - 8 - right, A destination attn, default 0 (mute) 301 - 9 - right, B destination attn, default 255 (no attenuation) 302 - 10 - right, C destination attn, default 0 (mute) 303 - 11 - right, D destination attn, default 0 (mute) 295 + * 0 - mono, A destination attn, default 255 (no attenuation) 296 + * 1 - mono, B destination attn, default 255 (no attenuation) 297 + * 2 - mono, C destination attn, default 0 (mute) 298 + * 3 - mono, D destination attn, default 0 (mute) 299 + * 4 - left, A destination attn, default 255 (no attenuation) 300 + * 5 - left, B destination attn, default 0 (mute) 301 + * 6 - left, C destination attn, default 0 (mute) 302 + * 7 - left, D destination attn, default 0 (mute) 303 + * 8 - right, A destination attn, default 0 (mute) 304 + * 9 - right, B destination attn, default 255 (no attenuation) 305 + * 10 - right, C destination attn, default 0 (mute) 306 + * 11 - right, D destination attn, default 0 (mute) 304 307 305 308 306 309 307 - 4) MANUALS/PATENTS: 308 - ------------------- 310 + MANUALS/PATENTS 311 + =============== 309 312 310 313 ftp://opensource.creative.com/pub/doc 311 314 ------------------------------------- 312 315 313 - Files: 314 - LM4545.pdf AC97 Codec 315 - 316 - m2049.pdf The EMU10K1 Digital Audio Processor 317 - 318 - hog63.ps FX8010 - A DSP Chip Architecture for Audio Effects 316 + LM4545.pdf 317 + AC97 Codec 318 + m2049.pdf 319 + The EMU10K1 Digital Audio Processor 320 + hog63.ps 321 + FX8010 - A DSP Chip Architecture for Audio Effects 319 322 320 323 321 324 WIPO Patents 322 325 ------------ 323 - Patent numbers: 324 - WO 9901813 (A1) Audio Effects Processor with multiple asynchronous (Jan. 14, 1999) 325 - streams 326 326 327 - WO 9901814 (A1) Processor with Instruction Set for Audio Effects (Jan. 14, 1999) 327 + WO 9901813 (A1) 328 + Audio Effects Processor with multiple asynchronous streams 329 + (Jan. 14, 1999) 328 330 329 - WO 9901953 (A1) Audio Effects Processor having Decoupled Instruction 330 - Execution and Audio Data Sequencing (Jan. 14, 1999) 331 + WO 9901814 (A1) 332 + Processor with Instruction Set for Audio Effects (Jan. 14, 1999) 333 + 334 + WO 9901953 (A1) 335 + Audio Effects Processor having Decoupled Instruction 336 + Execution and Audio Data Sequencing (Jan. 14, 1999) 331 337 332 338 333 339 US Patents (http://www.uspto.gov/) 334 340 ---------------------------------- 335 341 336 - US 5925841 Digital Sampling Instrument employing cache memory (Jul. 20, 1999) 342 + US 5925841 343 + Digital Sampling Instrument employing cache memory (Jul. 20, 1999) 337 344 338 - US 5928342 Audio Effects Processor integrated on a single chip (Jul. 27, 1999) 339 - with a multiport memory onto which multiple asynchronous 340 - digital sound samples can be concurrently loaded 345 + US 5928342 346 + Audio Effects Processor integrated on a single chip 347 + with a multiport memory onto which multiple asynchronous 348 + digital sound samples can be concurrently loaded 349 + (Jul. 27, 1999) 341 350 342 - US 5930158 Processor with Instruction Set for Audio Effects (Jul. 27, 1999) 351 + US 5930158 352 + Processor with Instruction Set for Audio Effects (Jul. 27, 1999) 343 353 344 - US 6032235 Memory initialization circuit (Tram) (Feb. 29, 2000) 354 + US 6032235 355 + Memory initialization circuit (Tram) (Feb. 29, 2000) 345 356 346 - US 6138207 Interpolation looping of audio samples in cache connected to (Oct. 24, 2000) 347 - system bus with prioritization and modification of bus transfers 348 - in accordance with loop ends and minimum block sizes 357 + US 6138207 358 + Interpolation looping of audio samples in cache connected to 359 + system bus with prioritization and modification of bus transfers 360 + in accordance with loop ends and minimum block sizes 361 + (Oct. 24, 2000) 349 362 350 - US 6151670 Method for conserving memory storage using a (Nov. 21, 2000) 351 - pool of short term memory registers 363 + US 6151670 364 + Method for conserving memory storage using a 365 + pool of short term memory registers 366 + (Nov. 21, 2000) 352 367 353 - US 6195715 Interrupt control for multiple programs communicating with (Feb. 27, 2001) 354 - a common interrupt by associating programs to GP registers, 355 - defining interrupt register, polling GP registers, and invoking 356 - callback routine associated with defined interrupt register 368 + US 6195715 369 + Interrupt control for multiple programs communicating with 370 + a common interrupt by associating programs to GP registers, 371 + defining interrupt register, polling GP registers, and invoking 372 + callback routine associated with defined interrupt register 373 + (Feb. 27, 2001)
+1
Documentation/sound/cards/index.rst
··· 6 6 7 7 joystick 8 8 cmipci 9 + sb-live-mixer