목소리 녹음의 원리
정리
- 사람의 목소리는 성대의 진동으로 공기 중 음파를 발생시킵니다.
- 마이크는 이 음파를 받아 진동판을 진동시키고, 이를 전기 신호(오디오 신호)로 변환합니다.
- 오디오 신호는 소리의 크기와 높낮이를 시간에 따라 연속적으로 표현한 아날로그 신호입니다.
- 비디오 카메라의 마이크는 이러한 오디오 신호를 비디오 신호와 함께 디지털 데이터로 저장합니다.
목소리의 원리
-
큰 목소리와 작은 목소리 (진폭, Amplitude):
- 큰 목소리는 성대가 크게 진동하여 공기를 더 강하게 밀어내고 당깁니다.
- 이때 공기 압력의 변화가 크며, 진폭(Amplitude)이 큽니다. 결과적으로 더 큰 에너지를 가진 음파가 생성되어 멀리 전달됩니다.
- 작은 목소리는 성대가 작게 진동하여 공기를 약하게 밀어내고 당깁니다.
- 이때 공기 압력의 변화가 작으며, 진폭(Amplitude)이 작습니다. 결과적으로 에너지가 적은 음파가 생성되어 멀리 전달되지 않습니다.
- 비유: 큰 목소리는 큰 북을 세게 치는 것과 같으며, 작은 목소리는 같은 북을 살살 치는 것과 같습니다.
-
높은 목소리와 낮은 목소리 (주파수, Frequency):
- 높은 목소리는 성대가 빠르게 진동하여 공기를 더 자주 밀어내고 당깁니다. 공기 압력의 변화가 빠르게 일어나며, 주파수(Frequency)가 높습니다. 결과적으로 날카롭고 얇은 소리로 들립니다.
- 낮은 목소리는 성대가 느리게 진동하여 공기를 덜 자주 밀어내고 당깁니다. 공기 압력의 변화가 느리게 일어나며, 주파수(Frequency)가 낮습니다. 결과적으로 굵고 웅장한 소리로 들립니다.
-
정리:
- 소리의 크기(Loudness)는 진폭(Amplitude)과 관련이 있습니다. 진폭이 클수록 큰 소리, 작을수록 작은 소리
- 소리의 높낮이(Pitch)는 주파수(Frequency)와 관련이 있습니다. 주파수가 높을수록 높은 소리, 낮을수록 낮은 소리
소리가 비디오에 녹음되는 원리
-
소리의 발생과 진동:
- 소리는 진동(vibration)에서 발생하며, 사람의 목소리는 성대의 진동으로 생성됩니다.
- 이 진동은 공기 입자를 진동시키고, 음파(sound wave) 형태로 주변으로 퍼져 나갑니다.
-
마이크의 역할:
- 마이크(Microphone)는 음파를 전기 신호(오디오 신호)로 변환하는 장치입니다.
- 마이크 내부에는 진동판(diaphragm)이라는 얇은 막이 있습니다. 음파가 마이크에 도달하면 공기 압력 변화에 따라 진동판이 진동하며, 이 진동이 전기 신호로 변환됩니다.
- 이 전기 신호가 바로 오디오 신호(Audio Signal)로, 소리의 진동을 전기적으로 표현한 것입니다.
-
오디오 신호의 특성:
- 오디오 신호는 시간에 따라 연속적으로 변하는 아날로그(analog) 신호입니다.
- 진폭의 변화는 소리의 크기를, 진폭 변화 속도는 소리의 높낮이를 나타냅니다.
- 진폭이 크면 큰 소리를, 작으면 작은 소리를 나타냅니다.
- 진폭 변화가 빠르면 고주파(높은 소리)를, 느리면 저주파(낮은 소리)를 나타냅니다.
-
비디오 녹화와 오디오 녹음:
- 비디오 카메라에는 마이크가 내장되어 있어, 영상 촬영과 동시에 소리를 녹음합니다.
- 카메라의 마이크는 음파를 오디오 신호로 변환하고, 이 신호는 비디오 신호와 함께 디지털 데이터로 저장됩니다.
오디오 신호와 연속적인 신호의 연관성
- 오디오 신호는 시간에 따라 변화하는 연속적인 신호입니다. 소리의 진동이 끊김 없이 연속적으로 변화하기 때문에 이를 전기 신호로 변환한 오디오 신호도 연속적입니다.
- 컴퓨터는 연속적인 신호를 처리하기 위해 샘플링(sampling)과 양자화(quantization)를 통해 이산적인(discrete) 디지털 데이터로 변환합니다.
아날로그 -> 디지털 신호
5. 오디오 디지털화 과정 요약
- 연속 신호(아날로그 오디오 신호)가 마이크를 통해 전기 신호로 변환됩니다.
- 이 전기 신호는 일정한 샘플링 레이트(예: 44.1kHz)로 샘플링되어 시간에 따라 이산화됩니다.
- 샘플링된 값은 양자화를 통해 디지털 값으로 변환됩니다.
- 디지털화된 신호는 짧은 시간 단위의 프레임(Frame)으로 나눠집니다.
- 프레임에 Windowing 함수를 적용하여 분석이나 처리를 위한 준비를 마칩니다.
비유로 이해하기
- 샘플링은 긴 연속적인 선을 일정한 간격으로 점을 찍어 표현하는 것과 같습니다.
- 양자화는 각 점의 위치를 특정 격자(grid) 위의 점으로 고정하는 과정입니다.
- 프레임은 긴 신호를 일정한 길이의 짧은 조각으로 나누는 것과 같으며, Windowing은 각 조각의 경계를 부드럽게 처리하여 연결성을 유지하는 방식입니다.
6. 결론
- 연속적인 아날로그 신호가 디지털 신호로 변환되는 과정은 샘플링 → 양자화 → 프레임 나누기 → 윈도우 적용의 순서로 이루어집니다.
- 이 과정에서 샘플링 레이트와 비트 해상도는 디지털 신호의 품질에 영향을 미치며, 프레임과 윈도우는 신호를 분석하거나 처리하는 데 유용한 단위를 제공합니다.
- 결과적으로, 이러한 과정을 통해 컴퓨터는 연속적인 소리 데이터를 효율적으로 디지털화하고 저장 및 처리할 수 있습니다.
1. 오디오 신호의 연속성과 디지털화의 필요성
- 오디오 신호는 자연계의 소리 진동을 시간에 따라 나타내는 연속적인(Continuous) 아날로그 신호입니다.
- 연속적인 신호는 실제로 무한한 시간 축을 가지며, 무한히 작은 순간까지 데이터를 포함합니다.
- 컴퓨터는 이러한 연속적인 신호를 직접 처리할 수 없습니다. 따라서 이를 샘플링(sampling)과 양자화(quantization)를 통해 이산적인 디지털 신호로 변환해야 합니다.
2. 샘플링 (Sampling):
- 샘플링은 연속적인 아날로그 신호를 일정한 시간 간격마다 측정하여 데이터를 추출하는 과정입니다.
- 샘플링 레이트(Sampling Rate):
- 1초 동안 샘플링을 몇 번 수행하는지를 나타내는 값입니다. 단위는 Hz.
- 예: 44,100Hz(44.1kHz)는 1초 동안 44,100번 샘플링을 한다는 뜻으로, CD 품질의 오디오에 사용됩니다.
- 샘플링 레이트가 높을수록 신호를 더 정확히 재현할 수 있습니다.
- 나이퀴스트 샘플링 정리에 따르면, 신호의 최대 주파수는 샘플링 레이트의 절반 이하이어야 손실 없이 재현할 수 있습니다.
3. 양자화 (Quantization):
- 양자화는 샘플링된 신호의 값을 연속적인 아날로그 값에서 이산적인 디지털 값으로 변환하는 과정입니다.
- 각 샘플 값은 고정된 비트 수를 사용하여 디지털화됩니다. 예: 16비트 양자화는 각 샘플 값을 2¹⁶(65,536) 단계로 표현합니다.
- 양자화의 효과:
- 비트 수가 많을수록(높은 해상도) 소리의 미세한 변화를 더 잘 표현할 수 있습니다.
- 비트 수가 적으면 양자화 오류(Quantization Error)로 인해 소리가 부자연스러워질 수 있습니다.
4. 프레임 (Frame)과 Windowing:
-
프레임(Frame):
- 오디오 신호는 처리와 분석을 위해 짧은 시간 단위로 나눕니다. 이 단위가 바로 프레임입니다.
- 일반적으로 한 프레임은 10ms~50ms 정도의 길이를 가지며, 각 프레임 안에서 신호를 분석하거나 처리합니다.
- 프레임 단위로 나누는 이유는, 오디오 신호의 특성이 시간에 따라 변하기 때문에 한 번에 전체 신호를 처리하기보다는 짧은 구간씩 나눠 처리하는 것이 효율적입니다.
-
Windowing:
- 프레임 단위로 나뉜 신호는 윈도우(Window) 함수를 적용하여 분석합니다.
- 윈도우 함수는 프레임의 경계에서 발생할 수 있는 불연속적인 신호를 부드럽게 처리하기 위해 사용됩니다.
- 대표적인 윈도우 함수:
- Hamming Window: 스펙트럼 분석에 많이 사용되며, 경계 문제를 줄이는 데 적합.
- Hann Window: Hamming과 유사하지만 스무딩 효과가 더 강함.
- Rectangular Window: 윈도우 없이 데이터를 그대로 사용하는 경우.
논문 이해
- 사용된 오디오 인코더는 BEATs [Chen et al., 2023a]로 초기화된 12-레이어 트랜스포머
이는 25ms 해밍 윈도우를 사용하여 10초 길이의 클립(제로 패딩 처리)을 입력받아
1. 오디오 신호와 윈도잉(Windowing):
- 프레임 (Frame):
- 오디오 신호 전체를 한 번에 분석하는 것은 어렵기 때문에, 일반적으로 짧은 시간 단위로 나누어 처리합니다.
- 이 짧은 시간 단위를 프레임(frame) 이라고 합니다.
- 예를 들어, 25ms는 0.025초에 해당하는 짧은 시간입니다.
- 윈도잉 (Windowing):
- 오디오 신호를 프레임 단위로 자를 때, 단순히 특정 시간 구간을 잘라내는 것이 아니라,
- 윈도우 함수(Window Function) 를 곱하여 프레임의 시작과 끝을 부드럽게 처리하는 과정을 말합니다.
2. 윈도우 함수 (Window Function)가 필요한 이유
3. 해밍 윈도우 (Hamming Window)
-
윈도우 함수의 종류:
- 해밍 윈도우는 여러 윈도우 함수 중 하나입니다. 다른 예로는 직사각형(Windowing 없음), 한 윈도우(Hann Window), 블랙맨 윈도우(Blackman Window) 등이 있습니다.
-
해밍 윈도우의 모양:
- 해밍 윈도우는 가운데 부분은 높고(소리가 거의 원래대로 유지), 양 끝으로 갈수록 점점 작아져서 0에 가까워지는 곡선 모양을 가집니다.
- 이 곡선 덕분에 신호의 끝부분이 자연스럽게 줄어들어 경계에서의 불연속성을 완화합니다.
-
장점:
- 해밍 윈도우는 신호를 부드럽게 처리하면서도 원래의 소리 특성을 잘 유지합니다.
- 주파수 왜곡(누출)을 줄이는 효과가 좋아서 음성 분석이나 음악 처리 같은 오디오 작업에 널리 사용됩니다.
정리
-
왜 윈도우 함수가 필요한가?
- 신호를 짧은 구간으로 나눌 때 생기는 불필요한 왜곡(주파수 누출)과 경계의 급격한 변화를 줄이기 위해 필요합니다.
-
해밍 윈도우란?
- 신호의 양 끝을 부드럽게 줄여주는 곡선 모양의 처리 방법입니다. 소리 분석을 더 정확하게 해줍니다.
-
왜 해밍 윈도우를 쓰는가?
- 해밍 윈도우는 경계 문제를 완화하면서도 원래 신호의 특성을 잘 유지하기 때문에, 오디오 분석에서 자주 사용됩니다.
4. 25ms 해밍 윈도우 적용 과정:
- 프레임 길이 (25ms):
- InternVideo2의 오디오 인코더는 오디오 신호를 25ms 길이의 프레임으로 나눕니다. 예를 들어,
- 샘플링 레이트가 44.1kHz라면, 25ms는 0.025 * 44100 = 1102.5 샘플에 해당합니다. (일반적으로는 2의 거듭제곱으로 샘플 수를 맞춤)
- 해밍 윈도우 적용:
- 각 프레임에 해밍 윈도우 함수를 곱합니다.
- 즉, 프레임의 각 샘플 값에 해당하는 해밍 윈도우 값을 곱하여, 프레임의 시작과 끝 부분을 부드럽게 감쇠시킵니다.
- 결과:
- 해밍 윈도우가 적용된 프레임은 중앙 부분의 신호는 거의 그대로 유지되고, 양 끝 부분의 신호는 0에 가깝게 줄어들게 됩니다.
- 이를 통해 주파수 분석 시 발생할 수 있는 왜곡을 줄이고, 더 정확한 분석 결과를 얻을 수 있습니다.
64차원의 로그 Mel 필터뱅크 스펙트로그램을 생성합니다
비유로 이해하기
-
스펙트로그램은 음악의 악보와 비슷합니다.
- X축은 시간, Y축은 주파수이며, 각 시간-주파수에서 소리의 세기(에너지)를 색깔로 표현합니다.
-
Mel 필터뱅크는 주파수를 사람이 듣기 좋은 방식으로 나눈 것과 같습니다.
- 낮은 음은 세밀하게 구분하고, 높은 음은 대략적으로 구분합니다.
-
로그 변환은 음량 차이를 자연스럽게 조정하여, 너무 작은 소리나 큰 소리 모두 적절히 분석될 수 있게 하는 과정입니다.
정리
"64차원의 로그 Mel 필터뱅크 스펙트로그램"은 다음을 의미합니다:
- 오디오 신호를 25ms 단위로 나눕니다.
- 각 프레임 구간에서 64개의 Mel 필터를 사용해, 주파수 대역별 에너지를 계산합니다.
- 이 에너지 값을 로그 변환해 스펙트로그램을 만듭니다.
- 결과적으로, 시간에 따라 변하는 64개의 주파수 에너지를 포함한 시각적 데이터를 생성합니다.
이 데이터는 오디오를 분석하거나 기계 학습 모델에 입력으로 사용하기에 적합한 형태입니다.
1. 스펙트로그램(Spectrogram)이란?
- 스펙트로그램은 시간에 따라 신호의 주파수 에너지를 시각적으로 표현한 것입니다.
- 오디오 신호를 분석할 때, 단순한 파형(시간-진폭 그래프)만으로는 소리의 주파수 성분을 명확히 이해하기 어렵습니다.
- 이를 해결하기 위해, 시간 영역(Time Domain) 신호를 주파수 영역(Frequency Domain)으로 변환합니다.
- 변환된 결과를 시간 축과 주파수 축으로 나타낸 것이 스펙트로그램입니다.
스펙트로그램의 구성:
- X축: 시간(Time)
- Y축: 주파수(Frequency)
- 값(컬러): 특정 시간-주파수 조합에서의 에너지 크기
어떻게 계산하나요?
- 프레임으로 나누기:
- 신호를 짧은 구간(예: 25ms)으로 나눕니다.
- Fourier 변환(FFT):
- 각 프레임의 신호를 주파수 성분으로 변환합니다.
- 에너지 계산:
- 변환된 주파수 성분의 크기를 계산하여 해당 프레임의 에너지로 표현합니다.
- 시간 축 연결:
- 프레임별로 계산한 결과를 시간 순서대로 이어붙이면 스펙트로그램이 완성됩니다.
2. Mel 필터뱅크(Mel Filterbank)란?
-
필터뱅크(Filterbank):
- 주파수 대역을 여러 구간(필터)으로 나눠 각 대역의 에너지를 계산하는 방법입니다.
- 예: 저주파수부터 고주파수까지를 여러 개의 작은 대역으로 나눠 각각의 대역에서 에너지를 측정.
-
Mel 스케일(Mel Scale):
- 사람의 청각은 주파수에 대해 선형적으로 반응하지 않고, 저주파수에 더 민감하며 고주파수에는 둔감합니다.
- 이를 반영하여, Mel 스케일은 사람이 느끼는 주파수의 민감도를 기준으로 주파수 대역을 나눕니다.
- 낮은 주파수는 촘촘하게, 높은 주파수는 더 넓은 간격으로 대역을 나눕니다.
-
Mel 필터뱅크:
- Mel 스케일을 기반으로 설계된 필터 뱅크로, 대개 삼각형 모양의 필터로 이루어져 있습니다.
- 예: 64개의 필터를 사용하면, 신호의 주파수 영역에서 64개의 에너지 값이 생성됩니다.
- 이 값들은 각 주파수 대역에서의 에너지 분포를 나타냅니다.
3. 로그(Log) 변환
- 에너지를 로그로 변환하는 이유:
- 원래의 에너지 값은 숫자가 매우 클 수 있습니다(비례하지 않음).
- 로그 변환을 하면 값의 스케일을 줄이고, 에너지 차이가 너무 커지는 문제를 완화합니다.
- 또한, 인간의 청각은 에너지 차이를 로그 스케일로 느끼기 때문에, 로그 변환된 값은 실제 감각에 더 가까운 분석을 제공합니다.
4. "64차원의 로그 Mel 필터뱅크 스펙트로그램"이란?
-
"64차원":
- Mel 필터뱅크에 64개의 필터를 사용한 결과입니다.
- 즉, 오디오 신호는 64개의 주파수 대역으로 나뉘며, 각 대역의 에너지를 계산합니다.
- 따라서 각 프레임은 64개의 값으로 표현됩니다.
-
"로그 Mel":
- Mel 필터뱅크를 사용해 얻어진 에너지 값에 로그 변환을 적용하여, 더 직관적이고 유용한 데이터로 만듭니다.
-
"스펙트로그램":
- 오디오 클립의 모든 프레임(예: 10초 동안 25ms씩 나눈 프레임)의 로그 Mel 값을 시간 순서대로 배열한 것입니다.
- 결과적으로, 64개의 주파수 대역 에너지 값이 시간에 따라 변하는 모습을 보여주는 시각적 표현이 됩니다.