← Documents Documentation/sound/soc/pops-clicks.rst GitHub 원문 ↗

Linux 6.18.37 · Sound / ASoC

오디오 팝과 클릭

ASoC 오디오 경로에서 전원 상태 전환이 팝·클릭을 만드는 이유와 재생·캡처 경로별 안전한 시작·종료 순서를 설명합니다. DAC, mixer, PGA, ADC, digital mute의 순서를 보존하고, 최대 이득 부근의 지퍼 노이즈를 zero cross 설정으로 줄이는 원리를 정리합니다.

Source pathDocumentation/sound/soc/pops-clicks.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

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

1. 요약·해설

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

요약·해설

pops-clicks.rst:1-55

ASoC 오디오 경로에서 전원 상태 전환이 팝·클릭을 만드는 이유와 재생·캡처 경로별 안전한 시작·종료 순서를 설명합니다. DAC, mixer, PGA, ADC, digital mute의 순서를 보존하고, 최대 이득 부근의 지퍼 노이즈를 zero cross 설정으로 줄이는 원리를 정리합니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 =====================
2 Audio Pops and Clicks
3 =====================
4
5 Pops and clicks are unwanted audio artifacts caused by the powering up and down
6 of components within the audio subsystem. This is noticeable on PCs when an
7 audio module is either loaded or unloaded (at module load time the sound card is
8 powered up and causes a popping noise on the speakers).
9
10 Pops and clicks can be more frequent on portable systems with DAPM. This is
11 because the components within the subsystem are being dynamically powered
12 depending on the audio usage and this can subsequently cause a small pop or
13 click every time a component power state is changed.
14
15
16 Minimising Playback Pops and Clicks
17 ===================================
18
19 Playback pops in portable audio subsystems cannot be completely eliminated
20 currently, however future audio codec hardware will have better pop and click
21 suppression. Pops can be reduced within playback by powering the audio
22 components in a specific order. This order is different for startup and
23 shutdown and follows some basic rules:-
24 ::
25
26 Startup Order :- DAC --> Mixers --> Output PGA --> Digital Unmute
27
28 Shutdown Order :- Digital Mute --> Output PGA --> Mixers --> DAC
29
30 This assumes that the codec PCM output path from the DAC is via a mixer and then
31 a PGA (programmable gain amplifier) before being output to the speakers.
32
33
34 Minimising Capture Pops and Clicks
35 ==================================
36
37 Capture artifacts are somewhat easier to get rid as we can delay activating the
38 ADC until all the pops have occurred. This follows similar power rules to
39 playback in that components are powered in a sequence depending upon stream
40 startup or shutdown.
41 ::
42
43 Startup Order - Input PGA --> Mixers --> ADC
44
45 Shutdown Order - ADC --> Mixers --> Input PGA
46
47
48 Zipper Noise
49 ============
50 An unwanted zipper noise can occur within the audio playback or capture stream
51 when a volume control is changed near its maximum gain value. The zipper noise
52 is heard when the gain increase or decrease changes the mean audio signal
53 amplitude too quickly. It can be minimised by enabling the zero cross setting
54 for each volume control. The ZC forces the gain change to occur when the signal
55 crosses the zero amplitude line.
56

3. 한국어 전문 번역

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

팝과 클릭의 원인

1-14

팝과 클릭은 오디오 하위 시스템 안의 구성 요소에 전원을 켜고 끌 때 생기는 원치 않는 오디오 인공음이다. PC에서는 오디오 모듈을 적재하거나 제거할 때 이를 알아차릴 수 있다. 모듈 적재 시점에 사운드 카드 전원이 켜지면서 스피커에서 팝 소리가 나는 것이 한 예다.

DAPM을 사용하는 휴대용 시스템에서는 팝과 클릭이 더 자주 발생할 수 있다. 하위 시스템의 구성 요소가 오디오 사용 상태에 따라 동적으로 전원을 공급받기 때문에, 구성 요소의 전원 상태가 바뀔 때마다 작은 팝이나 클릭이 생길 수 있다.

팝·클릭 발생 조건
환경전원 변화들리는 현상
PC오디오 모듈 적재·제거와 사운드 카드 전원 전환스피커의 팝 소리
DAPM 휴대용 시스템오디오 사용에 따른 구성 요소별 동적 전원 전환상태가 바뀔 때 작은 팝 또는 클릭

일반 PC와 DAPM 휴대용 시스템에서 잡음이 드러나는 시점을 비교한다.

DAPM에서 잡음이 생기는 과정
오디오 사용 상태 변경DAPM 경로 재평가구성 요소 전원 상태 변경작은 팝·클릭

동적 절전을 위한 전원 변화가 순간적인 오디오 인공음으로 이어질 수 있다.

=====================
Audio Pops and Clicks
=====================

Pops and clicks are unwanted audio artifacts caused by the powering up and down
of components within the audio subsystem. This is noticeable on PCs when an
audio module is either loaded or unloaded (at module load time the sound card is
powered up and causes a popping noise on the speakers).

Pops and clicks can be more frequent on portable systems with DAPM. This is
because the components within the subsystem are being dynamically powered
depending on the audio usage and this can subsequently cause a small pop or
click every time a component power state is changed.

재생 팝과 클릭 최소화

15-32

현재 휴대용 오디오 하위 시스템의 재생 팝을 완전히 없앨 수는 없지만, 향후 오디오 코덱 하드웨어는 더 나은 팝·클릭 억제 기능을 갖추게 될 것이다. 재생 경로에서는 오디오 구성 요소에 특정 순서로 전원을 공급해 팝을 줄일 수 있다. 시작 순서와 종료 순서는 서로 다르며 기본 규칙을 따른다.

시작할 때는 `DAC`에 먼저 전원을 공급하고, 이어서 `Mixers`, `Output PGA`를 활성화한 뒤 마지막에 `Digital Unmute`를 수행한다.

종료할 때는 반대로 먼저 `Digital Mute`를 적용하고, 이어서 `Output PGA`, `Mixers`, `DAC` 순서로 전원을 끈다.

재생 시작 순서
DACMixersOutput PGADigital Unmute

신호 생성부에서 출력부로 경로를 준비한 뒤 마지막에 디지털 음소거를 해제한다.

재생 종료 순서
Digital MuteOutput PGAMixersDAC

출력 전에 음소거를 적용한 뒤 출력 경로에서 신호 생성부 방향으로 전원을 내린다.

이 순서는 코덱의 PCM 출력 경로가 DAC에서 믹서를 거쳐 PGA(programmable gain amplifier)로 이어진 다음 스피커로 출력된다고 가정한다.

가정한 PCM 출력 경로
DACMixerOutput PGASpeakers

원문의 전원 순서가 전제로 삼는 코덱 재생 경로다.


Minimising Playback Pops and Clicks
===================================

Playback pops in portable audio subsystems cannot be completely eliminated
currently, however future audio codec hardware will have better pop and click
suppression.  Pops can be reduced within playback by powering the audio
components in a specific order. This order is different for startup and
shutdown and follows some basic rules:-
::

   Startup Order :- DAC --> Mixers --> Output PGA --> Digital Unmute
  
   Shutdown Order :- Digital Mute --> Output PGA --> Mixers --> DAC

This assumes that the codec PCM output path from the DAC is via a mixer and then
a PGA (programmable gain amplifier) before being output to the speakers.

캡처 팝과 클릭 최소화

33-46

캡처 인공음은 모든 팝이 발생한 뒤까지 ADC 활성화를 늦출 수 있으므로 비교적 제거하기 쉽다. 재생과 마찬가지로 스트림 시작 또는 종료 여부에 따라 구성 요소에 순차적으로 전원을 공급한다.

캡처 시작 순서는 `Input PGA`, `Mixers`, `ADC`이다. 입력 이득과 혼합 경로를 먼저 안정화한 뒤 ADC를 마지막에 활성화한다.

캡처 종료 순서는 `ADC`, `Mixers`, `Input PGA`이다. 변환을 먼저 멈춘 다음 입력 경로의 나머지 구성 요소를 차례로 비활성화한다.

캡처 시작 순서
Input PGAMixersADC

입력 경로가 안정된 뒤 ADC가 동작하도록 순서를 배치한다.

캡처 종료 순서
ADCMixersInput PGA

ADC를 먼저 멈추고 입력 경로를 역순으로 내린다.


Minimising Capture Pops and Clicks
==================================

Capture artifacts are somewhat easier to get rid as we can delay activating the
ADC until all the pops have occurred. This follows similar power rules to
playback in that components are powered in a sequence depending upon stream
startup or shutdown.
::

   Startup Order - Input PGA --> Mixers --> ADC
  
   Shutdown Order - ADC --> Mixers --> Input PGA

지퍼 노이즈와 제로 크로스

47-55

음량 제어값을 최대 이득에 가까운 곳에서 변경하면 재생 또는 캡처 스트림에 원치 않는 지퍼 노이즈가 생길 수 있다. 이득의 증가나 감소가 평균 오디오 신호 진폭을 너무 빠르게 바꿀 때 지퍼 노이즈가 들린다.

각 음량 제어에서 zero cross 설정을 활성화하면 지퍼 노이즈를 최소화할 수 있다. ZC는 신호가 진폭 0의 선을 통과하는 시점에 이득 변경이 일어나도록 강제한다.

지퍼 노이즈 억제
상태이득 변경 시점결과
ZC 비활성신호 진폭과 무관하게 즉시 변경평균 진폭의 급격한 변화로 지퍼 노이즈 가능
ZC 활성신호가 진폭 0을 통과할 때 변경불연속을 줄여 지퍼 노이즈 최소화

빠른 이득 변화와 zero cross 적용의 차이를 정리한다.

Zero cross 이득 변경
음량 변경 요청Zero crossing 대기신호 진폭 0 통과새 이득 적용

신호의 영점 통과 시점을 기다렸다가 새 이득을 적용한다.


Zipper Noise
============
An unwanted zipper noise can occur within the audio playback or capture stream
when a volume control is changed near its maximum gain value. The zipper noise
is heard when the gain increase or decrease changes the mean audio signal
amplitude too quickly. It can be minimised by enabling the zero cross setting
for each volume control. The ZC forces the gain change to occur when the signal
crosses the zero amplitude line.