요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
=============================================
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.
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.
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.
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 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)
MANUALS/PATENTS
===============
See sb-live-mixer.rst.
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는 그 합계를 처리한다.
DSP signal path에서 반복되는 약어와 hardware 역할이다.
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로 보낸다.
각 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으로 전달된다.
동일한 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을 사용한다.
Virtual mixer 이후의 output 감쇠와 tone 처리이다.
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-300Index `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이다.
Stream channel별 volume 값과 기본 neutral 값을 정리한다.
Mono·left·right의 A~H가 24개 mapping 값에 대응한다.
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-306Audigy mixer 설명의 기반 문서와 추가 참고 자료는 `sb-live-mixer.rst`이다.
Audigy의 mixer와 DSP routing을 함께 볼 문서이다.
MANUALS/PATENTS
===============
See sb-live-mixer.rst.
요약·해설
audigy-mixer.rst:1-306Sound 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을 원문 좌표에 맞춰 정리합니다.