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