diff options
Diffstat (limited to 'Documentation/sound/alsa/Audigy-mixer.txt')
-rw-r--r-- | Documentation/sound/alsa/Audigy-mixer.txt | 345 |
1 files changed, 345 insertions, 0 deletions
diff --git a/Documentation/sound/alsa/Audigy-mixer.txt b/Documentation/sound/alsa/Audigy-mixer.txt new file mode 100644 index 000000000000..5132fd95e074 --- /dev/null +++ b/Documentation/sound/alsa/Audigy-mixer.txt | |||
@@ -0,0 +1,345 @@ | |||
1 | |||
2 | Sound Blaster Audigy mixer / default DSP code | ||
3 | =========================================== | ||
4 | |||
5 | This is based on SB-Live-mixer.txt. | ||
6 | |||
7 | The EMU10K2 chips have a DSP part which can be programmed to support | ||
8 | various ways of sample processing, which is described here. | ||
9 | (This acticle does not deal with the overall functionality of the | ||
10 | EMU10K2 chips. See the manuals section for further details.) | ||
11 | |||
12 | The ALSA driver programs this portion of chip by default code | ||
13 | (can be altered later) which offers the following functionality: | ||
14 | |||
15 | |||
16 | 1) Digital mixer controls | ||
17 | ------------------------- | ||
18 | |||
19 | These controls are built using the DSP instructions. They offer extended | ||
20 | functionality. Only the default build-in code in the ALSA driver is described | ||
21 | here. Note that the controls work as attenuators: the maximum value is the | ||
22 | neutral position leaving the signal unchanged. Note that if the same destination | ||
23 | is mentioned in multiple controls, the signal is accumulated and can be wrapped | ||
24 | (set to maximal or minimal value without checking of overflow). | ||
25 | |||
26 | |||
27 | Explanation of used abbreviations: | ||
28 | |||
29 | DAC - digital to analog converter | ||
30 | ADC - analog to digital converter | ||
31 | I2S - one-way three wire serial bus for digital sound by Philips Semiconductors | ||
32 | (this standard is used for connecting standalone DAC and ADC converters) | ||
33 | LFE - low frequency effects (subwoofer signal) | ||
34 | AC97 - a chip containing an analog mixer, DAC and ADC converters | ||
35 | IEC958 - S/PDIF | ||
36 | FX-bus - the EMU10K2 chip has an effect bus containing 64 accumulators. | ||
37 | Each of the synthesizer voices can feed its output to these accumulators | ||
38 | and the DSP microcontroller can operate with the resulting sum. | ||
39 | |||
40 | name='PCM Front Playback Volume',index=0 | ||
41 | |||
42 | This control is used to attenuate samples for left and right front PCM FX-bus | ||
43 | accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM | ||
44 | samples for 5.1 playback. The result samples are forwarded to the front DAC PCM | ||
45 | slots of the Philips DAC. | ||
46 | |||
47 | name='PCM Surround Playback Volume',index=0 | ||
48 | |||
49 | This control is used to attenuate samples for left and right surround PCM FX-bus | ||
50 | accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM | ||
51 | samples for 5.1 playback. The result samples are forwarded to the surround DAC PCM | ||
52 | slots of the Philips DAC. | ||
53 | |||
54 | name='PCM Center Playback Volume',index=0 | ||
55 | |||
56 | This control is used to attenuate samples for center PCM FX-bus accumulator. | ||
57 | ALSA uses accumulator 6 for center PCM sample for 5.1 playback. The result sample | ||
58 | is forwarded to the center DAC PCM slot of the Philips DAC. | ||
59 | |||
60 | name='PCM LFE Playback Volume',index=0 | ||
61 | |||
62 | This control is used to attenuate sample for LFE PCM FX-bus accumulator. | ||
63 | ALSA uses accumulator 7 for LFE PCM sample for 5.1 playback. The result sample | ||
64 | is forwarded to the LFE DAC PCM slot of the Philips DAC. | ||
65 | |||
66 | name='PCM Playback Volume',index=0 | ||
67 | |||
68 | This control is used to attenuate samples for left and right PCM FX-bus | ||
69 | accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for | ||
70 | stereo playback. The result samples are forwarded to the front DAC PCM slots | ||
71 | of the Philips DAC. | ||
72 | |||
73 | name='PCM Capture Volume',index=0 | ||
74 | |||
75 | This control is used to attenuate samples for left and right PCM FX-bus | ||
76 | accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. | ||
77 | The result is forwarded to the ADC capture FIFO (thus to the standard capture | ||
78 | PCM device). | ||
79 | |||
80 | name='Music Playback Volume',index=0 | ||
81 | |||
82 | This control is used to attenuate samples for left and right MIDI FX-bus | ||
83 | accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. | ||
84 | The result samples are forwarded to the front DAC PCM slots of the AC97 codec. | ||
85 | |||
86 | name='Music Capture Volume',index=0 | ||
87 | |||
88 | These controls are used to attenuate samples for left and right MIDI FX-bus | ||
89 | accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. | ||
90 | The result is forwarded to the ADC capture FIFO (thus to the standard capture | ||
91 | PCM device). | ||
92 | |||
93 | name='Mic Playback Volume',index=0 | ||
94 | |||
95 | This control is used to attenuate samples for left and right Mic input. | ||
96 | For Mic input is used AC97 codec. The result samples are forwarded to | ||
97 | the front DAC PCM slots of the Philips DAC. Samples are forwarded to Mic | ||
98 | capture FIFO (device 1 - 16bit/8KHz mono) too without volume control. | ||
99 | |||
100 | name='Mic Capture Volume',index=0 | ||
101 | |||
102 | This control is used to attenuate samples for left and right Mic input. | ||
103 | The result is forwarded to the ADC capture FIFO (thus to the standard capture | ||
104 | PCM device). | ||
105 | |||
106 | name='Audigy CD Playback Volume',index=0 | ||
107 | |||
108 | This control is used to attenuate samples from left and right IEC958 TTL | ||
109 | digital inputs (usually used by a CDROM drive). The result samples are | ||
110 | forwarded to the front DAC PCM slots of the Philips DAC. | ||
111 | |||
112 | name='Audigy CD Capture Volume',index=0 | ||
113 | |||
114 | This control is used to attenuate samples from left and right IEC958 TTL | ||
115 | digital inputs (usually used by a CDROM drive). The result samples are | ||
116 | forwarded to the ADC capture FIFO (thus to the standard capture PCM device). | ||
117 | |||
118 | name='IEC958 Optical Playback Volume',index=0 | ||
119 | |||
120 | This control is used to attenuate samples from left and right IEC958 optical | ||
121 | digital input. The result samples are forwarded to the front DAC PCM slots | ||
122 | of the Philips DAC. | ||
123 | |||
124 | name='IEC958 Optical Capture Volume',index=0 | ||
125 | |||
126 | This control is used to attenuate samples from left and right IEC958 optical | ||
127 | digital inputs. The result samples are forwarded to the ADC capture FIFO | ||
128 | (thus to the standard capture PCM device). | ||
129 | |||
130 | name='Line2 Playback Volume',index=0 | ||
131 | |||
132 | This control is used to attenuate samples from left and right I2S ADC | ||
133 | inputs (on the AudigyDrive). The result samples are forwarded to the front | ||
134 | DAC PCM slots of the Philips DAC. | ||
135 | |||
136 | name='Line2 Capture Volume',index=1 | ||
137 | |||
138 | This control is used to attenuate samples from left and right I2S ADC | ||
139 | inputs (on the AudigyDrive). The result samples are forwarded to the ADC | ||
140 | capture FIFO (thus to the standard capture PCM device). | ||
141 | |||
142 | name='Analog Mix Playback Volume',index=0 | ||
143 | |||
144 | This control is used to attenuate samples from left and right I2S ADC | ||
145 | inputs from Philips ADC. The result samples are forwarded to the front | ||
146 | DAC PCM slots of the Philips DAC. This contains mix from analog sources | ||
147 | like CD, Line In, Aux, .... | ||
148 | |||
149 | name='Analog Mix Capture Volume',index=1 | ||
150 | |||
151 | This control is used to attenuate samples from left and right I2S ADC | ||
152 | inputs Philips ADC. The result samples are forwarded to the ADC | ||
153 | capture FIFO (thus to the standard capture PCM device). | ||
154 | |||
155 | name='Aux2 Playback Volume',index=0 | ||
156 | |||
157 | This control is used to attenuate samples from left and right I2S ADC | ||
158 | inputs (on the AudigyDrive). The result samples are forwarded to the front | ||
159 | DAC PCM slots of the Philips DAC. | ||
160 | |||
161 | name='Aux2 Capture Volume',index=1 | ||
162 | |||
163 | This control is used to attenuate samples from left and right I2S ADC | ||
164 | inputs (on the AudigyDrive). The result samples are forwarded to the ADC | ||
165 | capture FIFO (thus to the standard capture PCM device). | ||
166 | |||
167 | name='Front Playback Volume',index=0 | ||
168 | |||
169 | All stereo signals are mixed together and mirrored to surround, center and LFE. | ||
170 | This control is used to attenuate samples for left and right front speakers of | ||
171 | this mix. | ||
172 | |||
173 | name='Surround Playback Volume',index=0 | ||
174 | |||
175 | All stereo signals are mixed together and mirrored to surround, center and LFE. | ||
176 | This control is used to attenuate samples for left and right surround speakers of | ||
177 | this mix. | ||
178 | |||
179 | name='Center Playback Volume',index=0 | ||
180 | |||
181 | All stereo signals are mixed together and mirrored to surround, center and LFE. | ||
182 | This control is used to attenuate sample for center speaker of this mix. | ||
183 | |||
184 | name='LFE Playback Volume',index=0 | ||
185 | |||
186 | All stereo signals are mixed together and mirrored to surround, center and LFE. | ||
187 | This control is used to attenuate sample for LFE speaker of this mix. | ||
188 | |||
189 | name='Tone Control - Switch',index=0 | ||
190 | |||
191 | This control turns the tone control on or off. The samples for front, rear | ||
192 | and center / LFE outputs are affected. | ||
193 | |||
194 | name='Tone Control - Bass',index=0 | ||
195 | |||
196 | This control sets the bass intensity. There is no neutral value!! | ||
197 | When the tone control code is activated, the samples are always modified. | ||
198 | The closest value to pure signal is 20. | ||
199 | |||
200 | name='Tone Control - Treble',index=0 | ||
201 | |||
202 | This control sets the treble intensity. There is no neutral value!! | ||
203 | When the tone control code is activated, the samples are always modified. | ||
204 | The closest value to pure signal is 20. | ||
205 | |||
206 | name='Master Playback Volume',index=0 | ||
207 | |||
208 | This control is used to attenuate samples for front, surround, center and | ||
209 | LFE outputs. | ||
210 | |||
211 | name='IEC958 Optical Raw Playback Switch',index=0 | ||
212 | |||
213 | If this switch is on, then the samples for the IEC958 (S/PDIF) digital | ||
214 | output are taken only from the raw FX8010 PCM, otherwise standard front | ||
215 | PCM samples are taken. | ||
216 | |||
217 | |||
218 | 2) PCM stream related controls | ||
219 | ------------------------------ | ||
220 | |||
221 | name='EMU10K1 PCM Volume',index 0-31 | ||
222 | |||
223 | Channel volume attenuation in range 0-0xffff. The maximum value (no | ||
224 | attenuation) is default. The channel mapping for three values is | ||
225 | as follows: | ||
226 | |||
227 | 0 - mono, default 0xffff (no attenuation) | ||
228 | 1 - left, default 0xffff (no attenuation) | ||
229 | 2 - right, default 0xffff (no attenuation) | ||
230 | |||
231 | name='EMU10K1 PCM Send Routing',index 0-31 | ||
232 | |||
233 | This control specifies the destination - FX-bus accumulators. There 24 | ||
234 | values with this mapping: | ||
235 | |||
236 | 0 - mono, A destination (FX-bus 0-63), default 0 | ||
237 | 1 - mono, B destination (FX-bus 0-63), default 1 | ||
238 | 2 - mono, C destination (FX-bus 0-63), default 2 | ||
239 | 3 - mono, D destination (FX-bus 0-63), default 3 | ||
240 | 4 - mono, E destination (FX-bus 0-63), default 0 | ||
241 | 5 - mono, F destination (FX-bus 0-63), default 0 | ||
242 | 6 - mono, G destination (FX-bus 0-63), default 0 | ||
243 | 7 - mono, H destination (FX-bus 0-63), default 0 | ||
244 | 8 - left, A destination (FX-bus 0-63), default 0 | ||
245 | 9 - left, B destination (FX-bus 0-63), default 1 | ||
246 | 10 - left, C destination (FX-bus 0-63), default 2 | ||
247 | 11 - left, D destination (FX-bus 0-63), default 3 | ||
248 | 12 - left, E destination (FX-bus 0-63), default 0 | ||
249 | 13 - left, F destination (FX-bus 0-63), default 0 | ||
250 | 14 - left, G destination (FX-bus 0-63), default 0 | ||
251 | 15 - left, H destination (FX-bus 0-63), default 0 | ||
252 | 16 - right, A destination (FX-bus 0-63), default 0 | ||
253 | 17 - right, B destination (FX-bus 0-63), default 1 | ||
254 | 18 - right, C destination (FX-bus 0-63), default 2 | ||
255 | 19 - right, D destination (FX-bus 0-63), default 3 | ||
256 | 20 - right, E destination (FX-bus 0-63), default 0 | ||
257 | 21 - right, F destination (FX-bus 0-63), default 0 | ||
258 | 22 - right, G destination (FX-bus 0-63), default 0 | ||
259 | 23 - right, H destination (FX-bus 0-63), default 0 | ||
260 | |||
261 | Don't forget that it's illegal to assign a channel to the same FX-bus accumulator | ||
262 | more than once (it means 0=0 && 1=0 is an invalid combination). | ||
263 | |||
264 | name='EMU10K1 PCM Send Volume',index 0-31 | ||
265 | |||
266 | It specifies the attenuation (amount) for given destination in range 0-255. | ||
267 | The channel mapping is following: | ||
268 | |||
269 | 0 - mono, A destination attn, default 255 (no attenuation) | ||
270 | 1 - mono, B destination attn, default 255 (no attenuation) | ||
271 | 2 - mono, C destination attn, default 0 (mute) | ||
272 | 3 - mono, D destination attn, default 0 (mute) | ||
273 | 4 - mono, E destination attn, default 0 (mute) | ||
274 | 5 - mono, F destination attn, default 0 (mute) | ||
275 | 6 - mono, G destination attn, default 0 (mute) | ||
276 | 7 - mono, H destination attn, default 0 (mute) | ||
277 | 8 - left, A destination attn, default 255 (no attenuation) | ||
278 | 9 - left, B destination attn, default 0 (mute) | ||
279 | 10 - left, C destination attn, default 0 (mute) | ||
280 | 11 - left, D destination attn, default 0 (mute) | ||
281 | 12 - left, E destination attn, default 0 (mute) | ||
282 | 13 - left, F destination attn, default 0 (mute) | ||
283 | 14 - left, G destination attn, default 0 (mute) | ||
284 | 15 - left, H destination attn, default 0 (mute) | ||
285 | 16 - right, A destination attn, default 0 (mute) | ||
286 | 17 - right, B destination attn, default 255 (no attenuation) | ||
287 | 18 - right, C destination attn, default 0 (mute) | ||
288 | 19 - right, D destination attn, default 0 (mute) | ||
289 | 20 - right, E destination attn, default 0 (mute) | ||
290 | 21 - right, F destination attn, default 0 (mute) | ||
291 | 22 - right, G destination attn, default 0 (mute) | ||
292 | 23 - right, H destination attn, default 0 (mute) | ||
293 | |||
294 | |||
295 | |||
296 | 4) MANUALS/PATENTS: | ||
297 | ------------------- | ||
298 | |||
299 | ftp://opensource.creative.com/pub/doc | ||
300 | ------------------------------------- | ||
301 | |||
302 | Files: | ||
303 | LM4545.pdf AC97 Codec | ||
304 | |||
305 | m2049.pdf The EMU10K1 Digital Audio Processor | ||
306 | |||
307 | hog63.ps FX8010 - A DSP Chip Architecture for Audio Effects | ||
308 | |||
309 | |||
310 | WIPO Patents | ||
311 | ------------ | ||
312 | Patent numbers: | ||
313 | WO 9901813 (A1) Audio Effects Processor with multiple asynchronous (Jan. 14, 1999) | ||
314 | streams | ||
315 | |||
316 | WO 9901814 (A1) Processor with Instruction Set for Audio Effects (Jan. 14, 1999) | ||
317 | |||
318 | WO 9901953 (A1) Audio Effects Processor having Decoupled Instruction | ||
319 | Execution and Audio Data Sequencing (Jan. 14, 1999) | ||
320 | |||
321 | |||
322 | US Patents (http://www.uspto.gov/) | ||
323 | ---------------------------------- | ||
324 | |||
325 | US 5925841 Digital Sampling Instrument employing cache memory (Jul. 20, 1999) | ||
326 | |||
327 | US 5928342 Audio Effects Processor integrated on a single chip (Jul. 27, 1999) | ||
328 | with a multiport memory onto which multiple asynchronous | ||
329 | digital sound samples can be concurrently loaded | ||
330 | |||
331 | US 5930158 Processor with Instruction Set for Audio Effects (Jul. 27, 1999) | ||
332 | |||
333 | US 6032235 Memory initialization circuit (Tram) (Feb. 29, 2000) | ||
334 | |||
335 | US 6138207 Interpolation looping of audio samples in cache connected to (Oct. 24, 2000) | ||
336 | system bus with prioritization and modification of bus transfers | ||
337 | in accordance with loop ends and minimum block sizes | ||
338 | |||
339 | US 6151670 Method for conserving memory storage using a (Nov. 21, 2000) | ||
340 | pool of short term memory registers | ||
341 | |||
342 | US 6195715 Interrupt control for multiple programs communicating with (Feb. 27, 2001) | ||
343 | a common interrupt by associating programs to GP registers, | ||
344 | defining interrupt register, polling GP registers, and invoking | ||
345 | callback routine associated with defined interrupt register | ||