← Documents Documentation/sound/cards/audigy-mixer.rst GitHub 원문 ↗

Linux 6.18.37 · Sound

Sound Blaster Audigy mixer와 기본 DSP code

Sound Blaster Audigy의 EMU10K2 DSP가 PCM·MIDI·Mic·IEC958·I2S input을 FX-bus와 virtual stereo mixer에 연결하고, speaker·capture·S/PDIF output으로 보내는 기본 routing을 설명합니다. 각 ALSA mixer control의 accumulator, destination, attenuation 기본값과 PCM stream별 A~H send mapping을 원문 좌표에 맞춰 정리합니다.

Source pathDocumentation/sound/cards/audigy-mixer.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

audigy-mixer.rst:1-306

Sound Blaster Audigy의 EMU10K2 DSP가 PCM·MIDI·Mic·IEC958·I2S input을 FX-bus와 virtual stereo mixer에 연결하고, speaker·capture·S/PDIF output으로 보내는 기본 routing을 설명합니다. 각 ALSA mixer control의 accumulator, destination, attenuation 기본값과 PCM stream별 A~H send mapping을 원문 좌표에 맞춰 정리합니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 =============================================
2 Sound Blaster Audigy mixer / default DSP code
3 =============================================
4
5 This is based on sb-live-mixer.rst.
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 article 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 Digital mixer controls
17 ======================
18
19 These controls are built using the DSP instructions. They offer extended
20 functionality. Only the default built-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 clipped
24 (set to maximal or minimal value without checking for overflow).
25
26
27 Explanation of used abbreviations:
28
29 DAC
30 digital to analog converter
31 ADC
32 analog to digital converter
33 I2S
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)
36 LFE
37 low frequency effects (used as subwoofer signal)
38 AC97
39 a chip containing an analog mixer, D/A and A/D converters
40 IEC958
41 S/PDIF
42 FX-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
47 name='PCM Front Playback Volume',index=0
48 ----------------------------------------
49 This control is used to attenuate samples from left and right front PCM FX-bus
50 accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM
51 samples for 5.1 playback. The result samples are forwarded to the front speakers.
52
53 name='PCM Surround Playback Volume',index=0
54 -------------------------------------------
55 This control is used to attenuate samples from left and right surround PCM FX-bus
56 accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM
57 samples for 5.1 playback. The result samples are forwarded to the surround (rear)
58 speakers.
59
60 name='PCM Side Playback Volume',index=0
61 ---------------------------------------
62 This control is used to attenuate samples from left and right side PCM FX-bus
63 accumulators. ALSA uses accumulators 14 and 15 for left and right side PCM
64 samples for 7.1 playback. The result samples are forwarded to the side speakers.
65
66 name='PCM Center Playback Volume',index=0
67 -----------------------------------------
68 This control is used to attenuate samples from center PCM FX-bus accumulator.
69 ALSA uses accumulator 6 for center PCM samples for 5.1 playback. The result
70 samples are forwarded to the center speaker.
71
72 name='PCM LFE Playback Volume',index=0
73 --------------------------------------
74 This control is used to attenuate sample for LFE PCM FX-bus accumulator.
75 ALSA uses accumulator 7 for LFE PCM samples for 5.1 playback. The result
76 samples are forwarded to the subwoofer.
77
78 name='PCM Playback Volume',index=0
79 ----------------------------------
80 This control is used to attenuate samples from left and right PCM FX-bus
81 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for
82 stereo playback. The result samples are forwarded to the front speakers.
83
84 name='PCM Capture Volume',index=0
85 ---------------------------------
86 This control is used to attenuate samples from left and right PCM FX-bus
87 accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for
88 stereo playback. The result is forwarded to the standard capture PCM device.
89
90 name='Music Playback Volume',index=0
91 ------------------------------------
92 This control is used to attenuate samples from left and right MIDI FX-bus
93 accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
94 The result samples are forwarded to the virtual stereo mixer.
95
96 name='Music Capture Volume',index=0
97 -----------------------------------
98 These controls are used to attenuate samples from left and right MIDI FX-bus
99 accumulator. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
100 The result is forwarded to the standard capture PCM device.
101
102 name='Mic Playback Volume',index=0
103 ----------------------------------
104 This control is used to attenuate samples from left and right Mic input of
105 the AC97 codec. The result samples are forwarded to the virtual stereo mixer.
106
107 name='Mic Capture Volume',index=0
108 ---------------------------------
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 standard capture PCM device.
111
112 The original samples are also forwarded to the Mic capture PCM device (device 1;
113 16bit/8KHz mono) without volume control.
114
115 name='Audigy CD Playback Volume',index=0
116 ----------------------------------------
117 This control is used to attenuate samples from left and right IEC958 TTL
118 digital inputs (usually used by a CDROM drive). The result samples are
119 forwarded to the virtual stereo mixer.
120
121 name='Audigy CD Capture Volume',index=0
122 ---------------------------------------
123 This control is used to attenuate samples from left and right IEC958 TTL
124 digital inputs (usually used by a CDROM drive). The result is forwarded
125 to the standard capture PCM device.
126
127 name='IEC958 Optical Playback Volume',index=0
128 ---------------------------------------------
129 This control is used to attenuate samples from left and right IEC958 optical
130 digital input. The result samples are forwarded to the virtual stereo mixer.
131
132 name='IEC958 Optical Capture Volume',index=0
133 --------------------------------------------
134 This control is used to attenuate samples from left and right IEC958 optical
135 digital inputs. The result is forwarded to the standard capture PCM device.
136
137 name='Line2 Playback Volume',index=0
138 ------------------------------------
139 This control is used to attenuate samples from left and right I2S ADC
140 inputs (on the AudigyDrive). The result samples are forwarded to the virtual
141 stereo mixer.
142
143 name='Line2 Capture Volume',index=1
144 -----------------------------------
145 This control is used to attenuate samples from left and right I2S ADC
146 inputs (on the AudigyDrive). The result is forwarded to the standard capture
147 PCM device.
148
149 name='Analog Mix Playback Volume',index=0
150 -----------------------------------------
151 This control is used to attenuate samples from left and right I2S ADC
152 inputs from Philips ADC. The result samples are forwarded to the virtual
153 stereo mixer. This contains mix from analog sources like CD, Line In, Aux, ....
154
155 name='Analog Mix Capture Volume',index=1
156 ----------------------------------------
157 This control is used to attenuate samples from left and right I2S ADC
158 inputs Philips ADC. The result is forwarded to the standard capture PCM device.
159
160 name='Aux2 Playback Volume',index=0
161 -----------------------------------
162 This control is used to attenuate samples from left and right I2S ADC
163 inputs (on the AudigyDrive). The result samples are forwarded to the virtual
164 stereo mixer.
165
166 name='Aux2 Capture Volume',index=1
167 ----------------------------------
168 This control is used to attenuate samples from left and right I2S ADC
169 inputs (on the AudigyDrive). The result is forwarded to the standard capture
170 PCM device.
171
172 name='Front Playback Volume',index=0
173 ------------------------------------
174 This control is used to attenuate samples from the virtual stereo mixer.
175 The result samples are forwarded to the front speakers.
176
177 name='Surround Playback Volume',index=0
178 ---------------------------------------
179 This control is used to attenuate samples from the virtual stereo mixer.
180 The result samples are forwarded to the surround (rear) speakers.
181
182 name='Side Playback Volume',index=0
183 -----------------------------------
184 This control is used to attenuate samples from the virtual stereo mixer.
185 The result samples are forwarded to the side speakers.
186
187 name='Center Playback Volume',index=0
188 -------------------------------------
189 This control is used to attenuate samples from the virtual stereo mixer.
190 The result samples are forwarded to the center speaker.
191
192 name='LFE Playback Volume',index=0
193 ----------------------------------
194 This control is used to attenuate samples from the virtual stereo mixer.
195 The result samples are forwarded to the subwoofer.
196
197 name='Tone Control - Switch',index=0
198 ------------------------------------
199 This control turns the tone control on or off. The samples forwarded to
200 the speaker outputs are affected.
201
202 name='Tone Control - Bass',index=0
203 ----------------------------------
204 This control sets the bass intensity. There is no neutral value!!
205 When the tone control code is activated, the samples are always modified.
206 The closest value to pure signal is 20.
207
208 name='Tone Control - Treble',index=0
209 ------------------------------------
210 This control sets the treble intensity. There is no neutral value!!
211 When the tone control code is activated, the samples are always modified.
212 The closest value to pure signal is 20.
213
214 name='Master Playback Volume',index=0
215 -------------------------------------
216 This control is used to attenuate samples forwarded to the speaker outputs.
217
218 name='IEC958 Optical Raw Playback Switch',index=0
219 -------------------------------------------------
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 PCM device (which uses
222 accumulators 20 and 21 for left and right PCM by default).
223
224
225 PCM stream related controls
226 ===========================
227
228 name='EMU10K1 PCM Volume',index 0-31
229 ------------------------------------
230 Channel volume attenuation in range 0-0x1fffd. The middle value (no
231 attenuation) is default. The channel mapping for three values is
232 as follows:
233
234 * 0 - mono, default 0xffff (no attenuation)
235 * 1 - left, default 0xffff (no attenuation)
236 * 2 - right, default 0xffff (no attenuation)
237
238 name='EMU10K1 PCM Send Routing',index 0-31
239 ------------------------------------------
240 This control specifies the destination - FX-bus accumulators. There are 24
241 values 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
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 invalid combination).
270
271 name='EMU10K1 PCM Send Volume',index 0-31
272 -----------------------------------------
273 It specifies the attenuation (amount) for given destination in range 0-255.
274 The 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
303 MANUALS/PATENTS
304 ===============
305
306 See sb-live-mixer.rst.
307

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

EMU10K2 DSP와 mixer의 기본 원리

1-46

이 문서는 `sb-live-mixer.rst`를 바탕으로 Sound Blaster Audigy의 mixer와 기본 DSP code를 설명한다. EMU10K2 chip에는 여러 sample 처리 방식을 program할 수 있는 DSP가 있다. Chip 전체 기능은 다루지 않으며 자세한 내용은 manuals 절을 참조한다.

ALSA driver는 나중에 바꿀 수 있는 기본 code로 DSP 부분을 program한다. Digital mixer control은 DSP instruction으로 만들어져 확장 기능을 제공한다. 여기서는 ALSA driver에 내장된 기본 code만 설명한다.

Control은 attenuator로 동작한다. 최대값이 signal을 바꾸지 않는 neutral position이다. 같은 destination이 여러 control에 나타나면 signal이 누적되고 overflow 검사 없이 최대값 또는 최소값으로 clipping될 수 있다.

DAC는 digital-to-analog converter, ADC는 analog-to-digital converter이다. I2S는 Philips Semiconductors의 digital sound용 단방향 3-wire serial bus이며 독립 D/A·A/D converter 연결에 사용된다. LFE는 subwoofer signal로 쓰는 low-frequency effects이고, AC97은 analog mixer와 D/A·A/D converter를 포함한 chip이며, IEC958은 S/PDIF를 뜻한다.

EMU10K2의 FX-bus에는 accumulator 64개가 있다. 각 synthesizer voice가 output을 accumulator에 보내고 DSP microcontroller는 그 합계를 처리한다.

Audigy 약어
약어의미
DAC / ADCDigital↔analog converter
I2SDigital sound용 단방향 3-wire serial bus
LFESubwoofer용 low-frequency effects
AC97Analog mixer와 D/A·A/D converter chip
IEC958S/PDIF
FX-bus64 accumulator를 가진 EMU10K2 effect bus

DSP signal path에서 반복되는 약어와 hardware 역할이다.

기본 DSP 처리
PCM·MIDI·digital·analog sourceFX-bus 또는 ADC inputDSP attenuatorVirtual stereo mixer 또는 capture PCMSpeaker·subwoofer·S/PDIF output

Voice와 입력이 DSP를 거쳐 mixer 또는 output으로 전달되는 공통 구조이다.

=============================================
Sound Blaster Audigy mixer / default DSP code
=============================================

This is based on sb-live-mixer.rst.

The EMU10K2 chips have a DSP part which can be programmed to support 
various ways of sample processing, which is described here.
(This article does not deal with the overall functionality of the 
EMU10K2 chips. See the manuals section for further details.)

The ALSA driver programs this portion of chip by default code
(can be altered later) which offers the following functionality:


Digital mixer controls
======================

These controls are built using the DSP instructions. They offer extended
functionality. Only the default built-in code in the ALSA driver is described
here. Note that the controls work as attenuators: the maximum value is the 
neutral position leaving the signal unchanged. Note that if the same destination
is mentioned in multiple controls, the signal is accumulated and can be clipped
(set to maximal or minimal value without checking for overflow).


Explanation of used abbreviations:

DAC
        digital to analog converter
ADC
        analog to digital converter
I2S
        one-way three wire serial bus for digital sound by Philips Semiconductors
        (this standard is used for connecting standalone D/A and A/D converters)
LFE
        low frequency effects (used as subwoofer signal)
AC97
        a chip containing an analog mixer, D/A and A/D converters
IEC958
        S/PDIF
FX-bus
        the EMU10K2 chip has an effect bus containing 64 accumulators.
        Each of the synthesizer voices can feed its output to these accumulators
        and the DSP microcontroller can operate with the resulting sum.

PCM과 MIDI FX-bus control

47-100

`PCM Front Playback Volume`은 5.1 front PCM용 FX-bus accumulator 8과 9의 left/right sample을 감쇠해 front speaker로 보낸다. `PCM Surround Playback Volume`은 accumulator 2와 3을 surround(rear) speaker로, `PCM Side Playback Volume`은 7.1 side PCM용 accumulator 14와 15를 side speaker로 보낸다.

`PCM Center Playback Volume`은 5.1 center PCM accumulator 6을 center speaker로, `PCM LFE Playback Volume`은 LFE accumulator 7을 subwoofer로 보낸다. `PCM Playback Volume`은 stereo PCM accumulator 0과 1을 front speaker로 전달한다.

`PCM Capture Volume`도 stereo PCM accumulator 0과 1을 감쇠하지만 결과를 standard capture PCM device로 보낸다. `Music Playback Volume`은 MIDI accumulator 4와 5를 virtual stereo mixer로, `Music Capture Volume`은 같은 accumulator를 standard capture PCM device로 보낸다.

PCM·MIDI FX-bus routing
ControlAccumulatorDestination
PCM Front Playback8/9 left/rightFront speakers
PCM Surround Playback2/3 left/rightSurround speakers
PCM Side Playback14/15 left/rightSide speakers
PCM Center Playback6Center speaker
PCM LFE Playback7Subwoofer
PCM Playback0/1 left/rightFront speakers
PCM Capture0/1 left/rightStandard capture PCM
Music Playback4/5 left/rightVirtual stereo mixer
Music Capture4/5 left/rightStandard capture PCM

각 control이 사용하는 accumulator와 destination이다.

name='PCM Front Playback Volume',index=0
----------------------------------------
This control is used to attenuate samples from left and right front PCM FX-bus
accumulators. ALSA uses accumulators 8 and 9 for left and right front PCM 
samples for 5.1 playback. The result samples are forwarded to the front speakers.

name='PCM Surround Playback Volume',index=0
-------------------------------------------
This control is used to attenuate samples from left and right surround PCM FX-bus
accumulators. ALSA uses accumulators 2 and 3 for left and right surround PCM 
samples for 5.1 playback. The result samples are forwarded to the surround (rear)
speakers.

name='PCM Side Playback Volume',index=0
---------------------------------------
This control is used to attenuate samples from left and right side PCM FX-bus
accumulators. ALSA uses accumulators 14 and 15 for left and right side PCM
samples for 7.1 playback. The result samples are forwarded to the side speakers.

name='PCM Center Playback Volume',index=0
-----------------------------------------
This control is used to attenuate samples from center PCM FX-bus accumulator.
ALSA uses accumulator 6 for center PCM samples for 5.1 playback. The result
samples are forwarded to the center speaker.

name='PCM LFE Playback Volume',index=0
--------------------------------------
This control is used to attenuate sample for LFE PCM FX-bus accumulator. 
ALSA uses accumulator 7 for LFE PCM samples for 5.1 playback. The result
samples are forwarded to the subwoofer.

name='PCM Playback Volume',index=0
----------------------------------
This control is used to attenuate samples from left and right PCM FX-bus
accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for
stereo playback. The result samples are forwarded to the front speakers.

name='PCM Capture Volume',index=0
---------------------------------
This control is used to attenuate samples from left and right PCM FX-bus
accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples for
stereo playback. The result is forwarded to the standard capture PCM device.

name='Music Playback Volume',index=0
------------------------------------
This control is used to attenuate samples from left and right MIDI FX-bus
accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
The result samples are forwarded to the virtual stereo mixer.

name='Music Capture Volume',index=0
-----------------------------------
These controls are used to attenuate samples from left and right MIDI FX-bus
accumulator. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
The result is forwarded to the standard capture PCM device.

Analog·digital input의 playback과 capture

101-170

`Mic Playback Volume`은 AC97 codec의 left/right Mic input을 감쇠해 virtual stereo mixer로 보내고, `Mic Capture Volume`은 standard capture PCM device로 보낸다. 원본 sample은 volume control을 거치지 않고 device 1인 Mic capture PCM device에도 전달되며 형식은 16-bit, 8KHz mono이다.

`Audigy CD Playback/Capture Volume`은 보통 CD-ROM drive가 사용하는 left/right IEC958 TTL digital input을 각각 virtual stereo mixer와 standard capture PCM device로 보낸다. `IEC958 Optical Playback/Capture Volume`도 optical IEC958 input을 같은 두 destination으로 나눈다.

`Line2 Playback Volume`과 index 1의 `Line2 Capture Volume`은 AudigyDrive의 left/right I2S ADC input을 각각 virtual stereo mixer와 standard capture PCM으로 보낸다. `Aux2 Playback/Capture Volume`도 AudigyDrive의 I2S ADC input에 같은 routing을 적용한다.

`Analog Mix Playback Volume`과 index 1의 `Analog Mix Capture Volume`은 Philips ADC의 left/right I2S input을 처리한다. 이 signal에는 CD, Line In, Aux 같은 analog source의 mix가 들어 있으며 결과는 각각 virtual stereo mixer와 standard capture PCM으로 전달된다.

Audigy input control
SourcePlayback destinationCapture destination비고
AC97 MicVirtual stereo mixerStandard capture PCM원본은 device 1, 16-bit/8KHz mono에도 전달
IEC958 TTL CDVirtual stereo mixerStandard capture PCM보통 CD-ROM drive
IEC958 OpticalVirtual stereo mixerStandard capture PCMOptical digital input
AudigyDrive Line2Virtual stereo mixerStandard capture PCMI2S ADC
Philips ADC Analog MixVirtual stereo mixerStandard capture PCMCD·Line In·Aux mix
AudigyDrive Aux2Virtual stereo mixerStandard capture PCMI2S ADC

동일한 source의 playback·capture control이 향하는 destination을 비교한다.


name='Mic Playback Volume',index=0
----------------------------------
This control is used to attenuate samples from left and right Mic input of
the AC97 codec. The result samples are forwarded to the virtual stereo mixer.

name='Mic Capture Volume',index=0
---------------------------------
This control is used to attenuate samples from left and right Mic input of
the AC97 codec. The result is forwarded to the standard capture PCM device.

The original samples are also forwarded to the Mic capture PCM device (device 1;
16bit/8KHz mono) without volume control.

name='Audigy CD Playback Volume',index=0
----------------------------------------
This control is used to attenuate samples from left and right IEC958 TTL
digital inputs (usually used by a CDROM drive). The result samples are
forwarded to the virtual stereo mixer.

name='Audigy CD Capture Volume',index=0
---------------------------------------
This control is used to attenuate samples from left and right IEC958 TTL
digital inputs (usually used by a CDROM drive). The result is forwarded
to the standard capture PCM device.

name='IEC958 Optical Playback Volume',index=0
---------------------------------------------
This control is used to attenuate samples from left and right IEC958 optical
digital input. The result samples are forwarded to the virtual stereo mixer.

name='IEC958 Optical Capture Volume',index=0
--------------------------------------------
This control is used to attenuate samples from left and right IEC958 optical
digital inputs. The result is forwarded to the standard capture PCM device.

name='Line2 Playback Volume',index=0
------------------------------------
This control is used to attenuate samples from left and right I2S ADC
inputs (on the AudigyDrive). The result samples are forwarded to the virtual
stereo mixer.

name='Line2 Capture Volume',index=1
-----------------------------------
This control is used to attenuate samples from left and right I2S ADC
inputs (on the AudigyDrive). The result is forwarded to the standard capture
PCM device.

name='Analog Mix Playback Volume',index=0
-----------------------------------------
This control is used to attenuate samples from left and right I2S ADC
inputs from Philips ADC. The result samples are forwarded to the virtual
stereo mixer. This contains mix from analog sources like CD, Line In, Aux, ....

name='Analog Mix Capture Volume',index=1
----------------------------------------
This control is used to attenuate samples from left and right I2S ADC
inputs Philips ADC. The result is forwarded to the standard capture PCM device.

name='Aux2 Playback Volume',index=0
-----------------------------------
This control is used to attenuate samples from left and right I2S ADC
inputs (on the AudigyDrive). The result samples are forwarded to the virtual
stereo mixer.

name='Aux2 Capture Volume',index=1
----------------------------------
This control is used to attenuate samples from left and right I2S ADC
inputs (on the AudigyDrive). The result is forwarded to the standard capture
PCM device.

Speaker output, tone과 raw IEC958

171-224

`Front`, `Surround`, `Side`, `Center`, `LFE Playback Volume`은 virtual stereo mixer의 sample을 감쇠해 각각 front, surround(rear), side, center speaker와 subwoofer로 보낸다.

`Tone Control - Switch`는 speaker output에 적용되는 tone control을 켜거나 끈다. `Tone Control - Bass`와 `Treble`은 각 강도를 설정하지만 neutral 값이 없다. Tone code가 활성화되면 sample은 항상 변경되며 원 signal에 가장 가까운 값은 둘 다 `20`이다.

`Master Playback Volume`은 모든 speaker output으로 가는 sample을 감쇠한다. `IEC958 Optical Raw Playback Switch`가 켜지면 S/PDIF digital output은 raw IEC958 ALSA PCM device에서만 sample을 받는다. 이 device는 기본적으로 left/right PCM에 accumulator 20과 21을 사용한다.

Speaker·tone control
Control영향 대상특이 사항
Front/Surround/Side/Center/LFE각 speaker outputVirtual stereo mixer source
Tone Control - SwitchSpeaker outputsTone code on/off
Bass / TrebleTone intensityNeutral 없음, 20이 원 signal에 가장 가까움
Master Playback모든 speaker output최종 감쇠
IEC958 Optical Raw SwitchS/PDIF outputRaw PCM accumulator 20/21만 사용

Virtual mixer 이후의 output 감쇠와 tone 처리이다.

Playback output 경로
Virtual stereo mixer개별 speaker volumeTone controlMaster volumeAnalog speaker outputs
Raw IEC958 PCM accumulator 20/21IEC958 Optical Raw switchS/PDIF digital output

Virtual mixer와 raw IEC958 경로를 구분한다.


name='Front Playback Volume',index=0
------------------------------------
This control is used to attenuate samples from the virtual stereo mixer.
The result samples are forwarded to the front speakers.

name='Surround Playback Volume',index=0
---------------------------------------
This control is used to attenuate samples from the virtual stereo mixer.
The result samples are forwarded to the surround (rear) speakers.

name='Side Playback Volume',index=0
-----------------------------------
This control is used to attenuate samples from the virtual stereo mixer.
The result samples are forwarded to the side speakers.

name='Center Playback Volume',index=0
-------------------------------------
This control is used to attenuate samples from the virtual stereo mixer.
The result samples are forwarded to the center speaker.

name='LFE Playback Volume',index=0
----------------------------------
This control is used to attenuate samples from the virtual stereo mixer.
The result samples are forwarded to the subwoofer.

name='Tone Control - Switch',index=0
------------------------------------
This control turns the tone control on or off. The samples forwarded to
the speaker outputs are affected.

name='Tone Control - Bass',index=0
----------------------------------
This control sets the bass intensity. There is no neutral value!!
When the tone control code is activated, the samples are always modified.
The closest value to pure signal is 20.

name='Tone Control - Treble',index=0
------------------------------------
This control sets the treble intensity. There is no neutral value!!
When the tone control code is activated, the samples are always modified.
The closest value to pure signal is 20.

name='Master Playback Volume',index=0
-------------------------------------
This control is used to attenuate samples forwarded to the speaker outputs.

name='IEC958 Optical Raw Playback Switch',index=0
-------------------------------------------------
If this switch is on, then the samples for the IEC958 (S/PDIF) digital
output are taken only from the raw iec958 ALSA PCM device (which uses
accumulators 20 and 21 for left and right PCM by default).

PCM stream별 volume·send routing

225-300

Index `0`~`31`의 `EMU10K1 PCM Volume`은 channel volume을 `0`~`0x1fffd` 범위에서 감쇠한다. 중간값이 감쇠 없는 기본값이다. Mapping 값 `0`은 mono, `1`은 left, `2`는 right이며 세 값 모두 기본 `0xffff`이다.

`EMU10K1 PCM Send Routing`은 destination인 FX-bus accumulator를 지정한다. Mapping 24개는 mono, left, right 각각에 대해 A~H destination을 제공하며 각 destination은 FX-bus `0`~`63` 중 하나이다. A~H의 기본값은 channel마다 `0`~`7`이다. 같은 channel을 같은 FX-bus accumulator에 두 번 지정하는 것은 불법이므로 `0=0`과 `1=0` 같은 조합은 유효하지 않다.

`EMU10K1 PCM Send Volume`은 각 destination의 감쇠량을 `0`~`255` 범위에서 지정한다. `255`는 감쇠 없음, `0`은 mute이다. Mono는 A와 B가 255이고 C~H는 0, left는 A만 255, right는 B만 255이며 나머지는 모두 0이다.

EMU10K1 PCM Volume mapping
MappingChannel기본값
0Mono0xffff, no attenuation
1Left0xffff, no attenuation
2Right0xffff, no attenuation

Stream channel별 volume 값과 기본 neutral 값을 정리한다.

EMU10K1 PCM Send Routing
ChannelMapping 범위Destination기본 FX-bus
Mono0-7A-H0-7
Left8-15A-H0-7
Right16-23A-H0-7

Mono·left·right의 A~H가 24개 mapping 값에 대응한다.

EMU10K1 PCM Send Volume
ChannelABC-H
Mono255, no attenuation255, no attenuation0, mute
Left255, no attenuation0, mute0, mute
Right0, mute255, no attenuation0, mute

Destination별 기본 attenuation을 channel별로 묶었다.

PCM stream related controls
===========================

name='EMU10K1 PCM Volume',index 0-31
------------------------------------
Channel volume attenuation in range 0-0x1fffd. The middle value (no
attenuation) is default. The channel mapping for three values is
as follows:

* 0 - mono, default 0xffff (no attenuation)
* 1 - left, default 0xffff (no attenuation)
* 2 - right, default 0xffff (no attenuation)

name='EMU10K1 PCM Send Routing',index 0-31
------------------------------------------
This control specifies the destination - FX-bus accumulators. There are 24
values in this mapping:

*  0 -  mono, A destination (FX-bus 0-63), default 0
*  1 -  mono, B destination (FX-bus 0-63), default 1
*  2 -  mono, C destination (FX-bus 0-63), default 2
*  3 -  mono, D destination (FX-bus 0-63), default 3
*  4 -  mono, E destination (FX-bus 0-63), default 4
*  5 -  mono, F destination (FX-bus 0-63), default 5
*  6 -  mono, G destination (FX-bus 0-63), default 6
*  7 -  mono, H destination (FX-bus 0-63), default 7
*  8 -  left, A destination (FX-bus 0-63), default 0
*  9 -  left, B destination (FX-bus 0-63), default 1
* 10 -  left, C destination (FX-bus 0-63), default 2
* 11 -  left, D destination (FX-bus 0-63), default 3
* 12 -  left, E destination (FX-bus 0-63), default 4
* 13 -  left, F destination (FX-bus 0-63), default 5
* 14 -  left, G destination (FX-bus 0-63), default 6
* 15 -  left, H destination (FX-bus 0-63), default 7
* 16 - right, A destination (FX-bus 0-63), default 0
* 17 - right, B destination (FX-bus 0-63), default 1
* 18 - right, C destination (FX-bus 0-63), default 2
* 19 - right, D destination (FX-bus 0-63), default 3
* 20 - right, E destination (FX-bus 0-63), default 4
* 21 - right, F destination (FX-bus 0-63), default 5
* 22 - right, G destination (FX-bus 0-63), default 6
* 23 - right, H destination (FX-bus 0-63), default 7

Don't forget that it's illegal to assign a channel to the same FX-bus accumulator 
more than once (it means 0=0 && 1=0 is an invalid combination).
 
name='EMU10K1 PCM Send Volume',index 0-31
-----------------------------------------
It specifies the attenuation (amount) for given destination in range 0-255.
The channel mapping is following:

*  0 -  mono, A destination attn, default 255 (no attenuation)
*  1 -  mono, B destination attn, default 255 (no attenuation)
*  2 -  mono, C destination attn, default 0 (mute)
*  3 -  mono, D destination attn, default 0 (mute)
*  4 -  mono, E destination attn, default 0 (mute)
*  5 -  mono, F destination attn, default 0 (mute)
*  6 -  mono, G destination attn, default 0 (mute)
*  7 -  mono, H destination attn, default 0 (mute)
*  8 -  left, A destination attn, default 255 (no attenuation)
*  9 -  left, B destination attn, default 0 (mute)
* 10 -  left, C destination attn, default 0 (mute)
* 11 -  left, D destination attn, default 0 (mute)
* 12 -  left, E destination attn, default 0 (mute)
* 13 -  left, F destination attn, default 0 (mute)
* 14 -  left, G destination attn, default 0 (mute)
* 15 -  left, H destination attn, default 0 (mute)
* 16 - right, A destination attn, default 0 (mute)
* 17 - right, B destination attn, default 255 (no attenuation)
* 18 - right, C destination attn, default 0 (mute)
* 19 - right, D destination attn, default 0 (mute)
* 20 - right, E destination attn, default 0 (mute)
* 21 - right, F destination attn, default 0 (mute)
* 22 - right, G destination attn, default 0 (mute)
* 23 - right, H destination attn, default 0 (mute)

관련 manual

301-306

Audigy mixer 설명의 기반 문서와 추가 참고 자료는 `sb-live-mixer.rst`이다.

관련 문서
문서관계
sb-live-mixer.rstAudigy mixer 문서의 기반 및 추가 manual

Audigy의 mixer와 DSP routing을 함께 볼 문서이다.



MANUALS/PATENTS
===============

See sb-live-mixer.rst.