요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
==================================================
E-MU Digital Audio System mixer / default DSP code
==================================================
This document covers the E-MU 0404/1010/1212/1616/1820 PCI/PCI-e/CardBus
cards.
These cards use regular EMU10K2 (SoundBlaster Audigy) chips, but with an
alternative front-end geared towards semi-professional studio recording.
This document is based on audigy-mixer.rst.
Hardware compatibility
======================
The EMU10K2 chips have a very short capture FIFO, which makes recording
unreliable if the card's PCI bus requests are not handled with the
appropriate priority.
This is the case on more modern motherboards, where the PCI bus is only a
secondary peripheral, rather than the actual arbiter of device access.
In particular, I got recording glitches during simultaneous playback on an
Intel DP55 board (memory controller in the CPU), but had success with an
Intel DP45 board (memory controller in the north bridge).
The PCI Express variants of these cards (which have a PCI bridge on board,
but are otherwise identical) may be less problematic.
Driver capabilities
===================
This driver supports only 16-bit 44.1/48 kHz operation. The multi-channel
device (see emu10k1-jack.rst) additionally supports 24-bit capture.
A patchset to enhance the driver is available from `a GitHub repository
<https://github.com/ossilator/linux/tree/ossis-emu10k1>`_.
Its multi-channel device supports 24-bit for both playback and capture,
and also supports full 88.2/96/176.4/192 kHz operation.
It is not going to be upstreamed due to a fundamental disagreement about
what constitutes a good user experience.
Digital mixer controls
======================
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
LFE
low frequency effects (used as subwoofer signal)
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='Clock Source',index=0
---------------------------
This control allows switching the word clock between internally generated
44.1 or 48 kHz, or a number of external sources.
Note: the sources for the 1616 CardBus card are unclear. Please report your
findings.
name='Clock Fallback',index=0
-----------------------------
This control determines the internal clock which the card switches to when
the selected external clock source is/becomes invalid.
name='DAC1 0202 14dB PAD',index=0, etc.
---------------------------------------
Output attenuation controls. Not available on 0404 cards.
name='ADC1 14dB PAD 0202',index=0, etc.
---------------------------------------
Input attenuation controls. Not available on 0404 cards.
name='Optical Output Mode',index=0
----------------------------------
Switches the TOSLINK output port between S/PDIF and ADAT.
Not available on 0404 cards (fixed to S/PDIF).
name='Optical Input Mode',index=0
---------------------------------
Switches the TOSLINK input port between S/PDIF and ADAT.
Not available on 0404 cards (fixed to S/PDIF).
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 DSP 0 & 1
playback channels.
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 DSP 2 & 3
playback channels.
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 DSP 6 & 7
playback channels.
name='PCM Center Playback Volume',index=0
-----------------------------------------
This control is used to attenuate samples from the center PCM FX-bus accumulator.
ALSA uses accumulator 6 for center PCM samples for 5.1 playback. The result samples
are forwarded to the DSP 4 playback channel.
name='PCM LFE Playback Volume',index=0
--------------------------------------
This control is used to attenuate samples from the LFE PCM FX-bus accumulator.
ALSA uses accumulator 7 for LFE PCM samples for 5.1 playback. The result samples
are forwarded to the DSP 5 playback channel.
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 virtual stereo mixer.
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.
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='Front Playback Volume',index=0
------------------------------------
This control is used to attenuate samples from the virtual stereo mixer.
The result samples are forwarded to the DSP 0 & 1 playback channels.
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 DSP 2 & 3 playback channels.
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 DSP 6 & 7 playback channels.
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 DSP 4 playback channel.
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 DSP 5 playback channel.
name='Tone Control - Switch',index=0
------------------------------------
This control turns the tone control on or off. The samples forwarded to
the DSP playback channels 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 for all DSP playback channels.
name='EMU Capture Volume',index=0
----------------------------------
This control is used to attenuate samples from the DSP 0 & 1 capture channels.
The result is forwarded to the standard capture PCM device.
name='DAC Left',index=0, etc.
-----------------------------
Select the source for the given physical audio output. These may be physical
inputs, playback channels (DSP xx, specified as a decimal number), or silence.
name='DSP x',index=0
--------------------
Select the source for the given capture channel (specified as a hexadecimal
digit). Same options as for the physical audio outputs.
PCM stream related controls
===========================
These controls are described in audigy-mixer.rst.
MANUALS/PATENTS
===============
See sb-live-mixer.rst.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
대상 카드, 하드웨어 호환성과 드라이버 기능
1-42이 문서는 E-MU 0404/1010/1212/1616/1820 PCI, PCI Express, CardBus 카드를 다룬다. 이 카드들은 일반 EMU10K2(SoundBlaster Audigy) 칩을 사용하지만 준전문 스튜디오 녹음에 맞춘 별도 프런트엔드를 갖는다. 내용은 `audigy-mixer.rst`를 바탕으로 한다.
EMU10K2의 캡처 FIFO는 매우 짧아서 카드의 PCI 버스 요청이 적절한 우선순위로 처리되지 않으면 녹음이 불안정하다. PCI가 장치 접근의 실제 중재자가 아니라 보조 주변 버스에 불과한 최신 메인보드에서 이 문제가 생긴다. 작성자는 메모리 컨트롤러가 CPU 안에 있는 Intel DP55 보드에서 동시 재생 중 녹음 글리치를 겪었지만, 메모리 컨트롤러가 노스브리지에 있는 Intel DP45에서는 성공했다.
온보드 PCI 브리지를 사용하지만 그 밖에는 같은 PCI Express 변형 카드는 이 문제가 덜할 수 있다.
기본 드라이버는 16비트 44.1/48kHz 동작만 지원한다. `emu10k1-jack.rst`에서 설명하는 다중 채널 장치는 24비트 캡처도 지원한다. `https://github.com/ossilator/linux/tree/ossis-emu10k1`에는 드라이버 확장 패치 세트가 있으며, 그 다중 채널 장치는 재생과 캡처 모두 24비트이고 88.2/96/176.4/192kHz 전체 동작도 지원한다. 그러나 좋은 사용자 경험의 정의에 관한 근본적인 견해 차이로 업스트림될 예정은 없다.
기본 드라이버와 별도 패치 세트의 표본 형식 지원을 비교한다.
짧은 FIFO 때문에 PCI 요청 우선순위가 녹음 품질을 좌우한다.
==================================================
E-MU Digital Audio System mixer / default DSP code
==================================================
This document covers the E-MU 0404/1010/1212/1616/1820 PCI/PCI-e/CardBus
cards.
These cards use regular EMU10K2 (SoundBlaster Audigy) chips, but with an
alternative front-end geared towards semi-professional studio recording.
This document is based on audigy-mixer.rst.
Hardware compatibility
======================
The EMU10K2 chips have a very short capture FIFO, which makes recording
unreliable if the card's PCI bus requests are not handled with the
appropriate priority.
This is the case on more modern motherboards, where the PCI bus is only a
secondary peripheral, rather than the actual arbiter of device access.
In particular, I got recording glitches during simultaneous playback on an
Intel DP55 board (memory controller in the CPU), but had success with an
Intel DP45 board (memory controller in the north bridge).
The PCI Express variants of these cards (which have a PCI bridge on board,
but are otherwise identical) may be less problematic.
Driver capabilities
===================
This driver supports only 16-bit 44.1/48 kHz operation. The multi-channel
device (see emu10k1-jack.rst) additionally supports 24-bit capture.
A patchset to enhance the driver is available from `a GitHub repository
<https://github.com/ossilator/linux/tree/ossis-emu10k1>`_.
Its multi-channel device supports 24-bit for both playback and capture,
and also supports full 88.2/96/176.4/192 kHz operation.
It is not going to be upstreamed due to a fundamental disagreement about
what constitutes a good user experience.
디지털 믹서 기본 규칙, 클록과 광입출력
43-97디지털 믹서 제어는 감쇠기로 동작한다. 최댓값이 신호를 바꾸지 않는 중립 위치다. 같은 목적지가 여러 제어에 등장하면 신호가 누적되고 오버플로 검사 없이 최대 또는 최소값으로 잘려 클리핑될 수 있다.
DAC는 디지털-아날로그 변환기, ADC는 아날로그-디지털 변환기, LFE는 서브우퍼 신호로 쓰는 저주파 효과, IEC958은 S/PDIF를 뜻한다. EMU10K2의 FX-bus에는 accumulator 64개가 있고, 각 신시사이저 음성이 여기에 출력을 공급하면 DSP 마이크로컨트롤러가 합산 결과를 처리한다.
`Clock Source`는 워드 클록을 내부 생성 44.1kHz 또는 48kHz와 여러 외부 소스 사이에서 전환한다. 1616 CardBus 카드의 소스는 명확하지 않으므로 문서는 사용 결과를 보고해 달라고 요청한다. `Clock Fallback`은 선택한 외부 클록이 유효하지 않게 될 때 카드가 전환할 내부 클록을 결정한다.
`DAC1 0202 14dB PAD` 계열은 출력 감쇠 제어이고 `ADC1 14dB PAD 0202` 계열은 입력 감쇠 제어다. 둘 다 0404 카드에서는 사용할 수 없다.
`Optical Output Mode`는 TOSLINK 출력 포트를 S/PDIF와 ADAT 사이에서 전환하고, `Optical Input Mode`는 TOSLINK 입력을 같은 두 모드 사이에서 전환한다. 0404 카드는 두 제어를 제공하지 않고 S/PDIF로 고정된다.
클록, 14dB PAD와 TOSLINK 모드 제어의 역할이다.
Digital mixer controls
======================
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
LFE
low frequency effects (used as subwoofer signal)
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='Clock Source',index=0
---------------------------
This control allows switching the word clock between internally generated
44.1 or 48 kHz, or a number of external sources.
Note: the sources for the 1616 CardBus card are unclear. Please report your
findings.
name='Clock Fallback',index=0
-----------------------------
This control determines the internal clock which the card switches to when
the selected external clock source is/becomes invalid.
name='DAC1 0202 14dB PAD',index=0, etc.
---------------------------------------
Output attenuation controls. Not available on 0404 cards.
name='ADC1 14dB PAD 0202',index=0, etc.
---------------------------------------
Input attenuation controls. Not available on 0404 cards.
name='Optical Output Mode',index=0
----------------------------------
Switches the TOSLINK output port between S/PDIF and ADAT.
Not available on 0404 cards (fixed to S/PDIF).
name='Optical Input Mode',index=0
---------------------------------
Switches the TOSLINK input port between S/PDIF and ADAT.
Not available on 0404 cards (fixed to S/PDIF).
PCM 및 MIDI FX-bus 라우팅
98-153`PCM Front Playback Volume`은 5.1 전면 좌우 PCM용 FX-bus accumulator 8과 9를 감쇠해 DSP 재생 채널 0과 1로 보낸다. `PCM Surround Playback Volume`은 accumulator 2와 3을 DSP 채널 2와 3으로 보낸다. `PCM Side Playback Volume`은 7.1 측면 좌우용 accumulator 14와 15를 DSP 채널 6과 7로 보낸다.
`PCM Center Playback Volume`은 5.1 중앙 PCM accumulator 6을 DSP 채널 4로, `PCM LFE Playback Volume`은 LFE accumulator 7을 DSP 채널 5로 보낸다.
`PCM Playback Volume`은 스테레오 좌우 PCM accumulator 0과 1을 감쇠해 가상 스테레오 믹서로 보낸다. `PCM Capture Volume`은 같은 accumulator 0과 1을 표준 캡처 PCM 장치로 보낸다.
`Music Playback Volume`은 좌우 MIDI accumulator 4와 5를 가상 스테레오 믹서로 보내고, `Music Capture Volume`은 같은 accumulator를 표준 캡처 PCM 장치로 보낸다.
각 믹서 제어가 사용하는 accumulator와 목적지다.
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 DSP 0 & 1
playback channels.
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 DSP 2 & 3
playback channels.
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 DSP 6 & 7
playback channels.
name='PCM Center Playback Volume',index=0
-----------------------------------------
This control is used to attenuate samples from the center PCM FX-bus accumulator.
ALSA uses accumulator 6 for center PCM samples for 5.1 playback. The result samples
are forwarded to the DSP 4 playback channel.
name='PCM LFE Playback Volume',index=0
--------------------------------------
This control is used to attenuate samples from the LFE PCM FX-bus accumulator.
ALSA uses accumulator 7 for LFE PCM samples for 5.1 playback. The result samples
are forwarded to the DSP 5 playback channel.
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 virtual stereo mixer.
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.
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.
DSP 출력, 톤, 캡처와 소스 선택
154-216`Front Playback Volume`은 가상 스테레오 믹서 표본을 DSP 재생 채널 0과 1로 보낸다. `Surround Playback Volume`은 DSP 2와 3, `Side Playback Volume`은 DSP 6과 7, `Center Playback Volume`은 DSP 4, `LFE Playback Volume`은 DSP 5로 보낸다.
스피커 위치별 최종 DSP 채널 매핑이다.
`Tone Control - Switch`는 DSP 재생 채널로 가는 표본에 적용되는 톤 제어를 켜거나 끈다. `Tone Control - Bass`와 `Tone Control - Treble`은 각각 저음과 고음 강도를 정한다. 중립값은 없으며 톤 코드가 활성화되면 표본은 항상 변형된다. 원 신호에 가장 가까운 값은 둘 다 20이다.
`Master Playback Volume`은 모든 DSP 재생 채널의 표본을 감쇠한다. `EMU Capture Volume`은 DSP 캡처 채널 0과 1의 표본을 감쇠해 표준 캡처 PCM 장치로 보낸다.
`DAC Left` 등의 제어는 해당 물리 오디오 출력의 소스를 고른다. 가능한 소스는 물리 입력, 10진수로 지정한 재생 채널 `DSP xx`, 또는 무음이다. `DSP x` 제어는 16진수 자리로 지정한 캡처 채널의 소스를 고르며 물리 출력과 같은 선택지를 사용한다.
가상 믹서와 물리 소스가 DSP 채널 및 실제 출력으로 연결된다.
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 DSP 0 & 1 playback channels.
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 DSP 2 & 3 playback channels.
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 DSP 6 & 7 playback channels.
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 DSP 4 playback channel.
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 DSP 5 playback channel.
name='Tone Control - Switch',index=0
------------------------------------
This control turns the tone control on or off. The samples forwarded to
the DSP playback channels 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 for all DSP playback channels.
name='EMU Capture Volume',index=0
----------------------------------
This control is used to attenuate samples from the DSP 0 & 1 capture channels.
The result is forwarded to the standard capture PCM device.
name='DAC Left',index=0, etc.
-----------------------------
Select the source for the given physical audio output. These may be physical
inputs, playback channels (DSP xx, specified as a decimal number), or silence.
name='DSP x',index=0
--------------------
Select the source for the given capture channel (specified as a hexadecimal
digit). Same options as for the physical audio outputs.
PCM 스트림 제어와 관련 문서
217-226PCM 스트림 관련 제어는 `audigy-mixer.rst`에 설명되어 있다. 추가 매뉴얼과 특허 관련 참고 자료는 `sb-live-mixer.rst`를 본다.
현재 문서가 위임하는 세부 설명의 위치다.
PCM stream related controls
===========================
These controls are described in audigy-mixer.rst.
MANUALS/PATENTS
===============
See sb-live-mixer.rst.
요약·해설
emu-mixer.rst:1-226E-MU 0404/1010/1212/1616/1820의 EMU10K2 DSP 믹서에서 클록·광입출력·FX-bus accumulator·DSP 채널·물리 출력 소스를 연결하는 제어를 설명합니다.