BEATs

FSA·2024년 12월 22일
0

목소리 녹음의 원리

정리

  1. 사람의 목소리는 성대의 진동으로 공기 중 음파를 발생시킵니다.
  2. 마이크는 이 음파를 받아 진동판을 진동시키고, 이를 전기 신호(오디오 신호)로 변환합니다.
  3. 오디오 신호는 소리의 크기와 높낮이를 시간에 따라 연속적으로 표현한 아날로그 신호입니다.
  4. 비디오 카메라의 마이크는 이러한 오디오 신호를 비디오 신호와 함께 디지털 데이터로 저장합니다.

목소리의 원리

  • 큰 목소리와 작은 목소리 (진폭, Amplitude):

    • 큰 목소리는 성대가 크게 진동하여 공기를 더 강하게 밀어내고 당깁니다.
      • 이때 공기 압력의 변화가 크며, 진폭(Amplitude)이 큽니다. 결과적으로 더 큰 에너지를 가진 음파가 생성되어 멀리 전달됩니다.
    • 작은 목소리는 성대가 작게 진동하여 공기를 약하게 밀어내고 당깁니다.
      • 이때 공기 압력의 변화가 작으며, 진폭(Amplitude)이 작습니다. 결과적으로 에너지가 적은 음파가 생성되어 멀리 전달되지 않습니다.
    • 비유: 큰 목소리는 큰 북을 세게 치는 것과 같으며, 작은 목소리는 같은 북을 살살 치는 것과 같습니다.
  • 높은 목소리와 낮은 목소리 (주파수, Frequency):

    • 높은 목소리는 성대가 빠르게 진동하여 공기를 더 자주 밀어내고 당깁니다. 공기 압력의 변화가 빠르게 일어나며, 주파수(Frequency)가 높습니다. 결과적으로 날카롭고 얇은 소리로 들립니다.
    • 낮은 목소리는 성대가 느리게 진동하여 공기를 덜 자주 밀어내고 당깁니다. 공기 압력의 변화가 느리게 일어나며, 주파수(Frequency)가 낮습니다. 결과적으로 굵고 웅장한 소리로 들립니다.
  • 정리:

    • 소리의 크기(Loudness)는 진폭(Amplitude)과 관련이 있습니다. 진폭이 클수록 큰 소리, 작을수록 작은 소리
    • 소리의 높낮이(Pitch)는 주파수(Frequency)와 관련이 있습니다. 주파수가 높을수록 높은 소리, 낮을수록 낮은 소리

소리가 비디오에 녹음되는 원리

  • 소리의 발생과 진동:

    • 소리는 진동(vibration)에서 발생하며, 사람의 목소리는 성대의 진동으로 생성됩니다.
    • 이 진동은 공기 입자를 진동시키고, 음파(sound wave) 형태로 주변으로 퍼져 나갑니다.
  • 마이크의 역할:

    • 마이크(Microphone)는 음파를 전기 신호(오디오 신호)로 변환하는 장치입니다.
    • 마이크 내부에는 진동판(diaphragm)이라는 얇은 막이 있습니다. 음파가 마이크에 도달하면 공기 압력 변화에 따라 진동판이 진동하며, 이 진동이 전기 신호로 변환됩니다.
    • 이 전기 신호가 바로 오디오 신호(Audio Signal)로, 소리의 진동을 전기적으로 표현한 것입니다.
  • 오디오 신호의 특성:

    • 오디오 신호는 시간에 따라 연속적으로 변하는 아날로그(analog) 신호입니다.
    • 진폭의 변화는 소리의 크기를, 진폭 변화 속도는 소리의 높낮이를 나타냅니다.
      • 진폭이 크면 큰 소리를, 작으면 작은 소리를 나타냅니다.
      • 진폭 변화가 빠르면 고주파(높은 소리)를, 느리면 저주파(낮은 소리)를 나타냅니다.
  • 비디오 녹화와 오디오 녹음:

    • 비디오 카메라에는 마이크가 내장되어 있어, 영상 촬영과 동시에 소리를 녹음합니다.
    • 카메라의 마이크는 음파를 오디오 신호로 변환하고, 이 신호는 비디오 신호와 함께 디지털 데이터로 저장됩니다.

오디오 신호와 연속적인 신호의 연관성

  • 오디오 신호는 시간에 따라 변화하는 연속적인 신호입니다. 소리의 진동이 끊김 없이 연속적으로 변화하기 때문에 이를 전기 신호로 변환한 오디오 신호도 연속적입니다.
  • 컴퓨터는 연속적인 신호를 처리하기 위해 샘플링(sampling)과 양자화(quantization)를 통해 이산적인(discrete) 디지털 데이터로 변환합니다.

아날로그 -> 디지털 신호

5. 오디오 디지털화 과정 요약

  1. 연속 신호(아날로그 오디오 신호)가 마이크를 통해 전기 신호로 변환됩니다.
  2. 이 전기 신호는 일정한 샘플링 레이트(예: 44.1kHz)로 샘플링되어 시간에 따라 이산화됩니다.
  3. 샘플링된 값은 양자화를 통해 디지털 값으로 변환됩니다.
  4. 디지털화된 신호는 짧은 시간 단위의 프레임(Frame)으로 나눠집니다.
  5. 프레임에 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)가 필요한 이유

  • 주파수 누출(Spectral Leakage):

    • 오디오 신호를 짧은 시간 구간(프레임)으로 나눌 때, 단순히 직사각형 형태로 잘라내면 원래 신호에 없던 불필요한 주파수가 생길 수 있습니다.
    • 이는 소리가 왜곡되거나 분석 결과가 부정확해지는 문제를 일으킵니다.
  • 경계 부분의 불연속성:

    • 프레임의 시작과 끝은 신호가 갑작스럽게 끊기는 경향이 있습니다.
    • 이런 불연속성은 분석 과정에서 높은 주파수 성분(잡음 같은 요소)을 만들어내며, 정확한 주파수 분석을 방해합니다.
  • 윈도우 함수의 역할:

    • 윈도우 함수는 신호의 양 끝부분을 부드럽게 줄여주는 역할을 합니다.
    • 이렇게 하면 경계 부분에서의 급격한 변화를 줄일 수 있어, 주파수 분석 결과를 더 정확하게 만듭니다.

3. 해밍 윈도우 (Hamming Window)

  • 윈도우 함수의 종류:

    • 해밍 윈도우는 여러 윈도우 함수 중 하나입니다. 다른 예로는 직사각형(Windowing 없음), 한 윈도우(Hann Window), 블랙맨 윈도우(Blackman Window) 등이 있습니다.
  • 해밍 윈도우의 모양:

    • 해밍 윈도우는 가운데 부분은 높고(소리가 거의 원래대로 유지), 양 끝으로 갈수록 점점 작아져서 0에 가까워지는 곡선 모양을 가집니다.
    • 이 곡선 덕분에 신호의 끝부분이 자연스럽게 줄어들어 경계에서의 불연속성을 완화합니다.
  • 장점:

    • 해밍 윈도우는 신호를 부드럽게 처리하면서도 원래의 소리 특성을 잘 유지합니다.
    • 주파수 왜곡(누출)을 줄이는 효과가 좋아서 음성 분석이나 음악 처리 같은 오디오 작업에 널리 사용됩니다.

정리

  1. 왜 윈도우 함수가 필요한가?

    • 신호를 짧은 구간으로 나눌 때 생기는 불필요한 왜곡(주파수 누출)과 경계의 급격한 변화를 줄이기 위해 필요합니다.
  2. 해밍 윈도우란?

    • 신호의 양 끝을 부드럽게 줄여주는 곡선 모양의 처리 방법입니다. 소리 분석을 더 정확하게 해줍니다.
  3. 왜 해밍 윈도우를 쓰는가?

    • 해밍 윈도우는 경계 문제를 완화하면서도 원래 신호의 특성을 잘 유지하기 때문에, 오디오 분석에서 자주 사용됩니다.

4. 25ms 해밍 윈도우 적용 과정:

  • 프레임 길이 (25ms):
    • InternVideo2의 오디오 인코더는 오디오 신호를 25ms 길이의 프레임으로 나눕니다. 예를 들어,
    • 샘플링 레이트가 44.1kHz라면, 25ms는 0.025 * 44100 = 1102.5 샘플에 해당합니다. (일반적으로는 2의 거듭제곱으로 샘플 수를 맞춤)
  • 해밍 윈도우 적용:
    • 각 프레임에 해밍 윈도우 함수를 곱합니다.
    • 즉, 프레임의 각 샘플 값에 해당하는 해밍 윈도우 값을 곱하여, 프레임의 시작과 끝 부분을 부드럽게 감쇠시킵니다.
  • 결과:
    • 해밍 윈도우가 적용된 프레임은 중앙 부분의 신호는 거의 그대로 유지되고, 양 끝 부분의 신호는 0에 가깝게 줄어들게 됩니다.
    • 이를 통해 주파수 분석 시 발생할 수 있는 왜곡을 줄이고, 더 정확한 분석 결과를 얻을 수 있습니다.

64차원의 로그 Mel 필터뱅크 스펙트로그램을 생성합니다

비유로 이해하기

  • 스펙트로그램은 음악의 악보와 비슷합니다.

    • X축은 시간, Y축은 주파수이며, 각 시간-주파수에서 소리의 세기(에너지)를 색깔로 표현합니다.
  • Mel 필터뱅크는 주파수를 사람이 듣기 좋은 방식으로 나눈 것과 같습니다.

    • 낮은 음은 세밀하게 구분하고, 높은 음은 대략적으로 구분합니다.
  • 로그 변환은 음량 차이를 자연스럽게 조정하여, 너무 작은 소리나 큰 소리 모두 적절히 분석될 수 있게 하는 과정입니다.


정리

"64차원의 로그 Mel 필터뱅크 스펙트로그램"은 다음을 의미합니다:

  1. 오디오 신호를 25ms 단위로 나눕니다.
  2. 각 프레임 구간에서 64개의 Mel 필터를 사용해, 주파수 대역별 에너지를 계산합니다.
  3. 이 에너지 값을 로그 변환해 스펙트로그램을 만듭니다.
  4. 결과적으로, 시간에 따라 변하는 64개의 주파수 에너지를 포함한 시각적 데이터를 생성합니다.

이 데이터는 오디오를 분석하거나 기계 학습 모델에 입력으로 사용하기에 적합한 형태입니다.


1. 스펙트로그램(Spectrogram)이란?

  • 스펙트로그램시간에 따라 신호의 주파수 에너지를 시각적으로 표현한 것입니다.
    • 오디오 신호를 분석할 때, 단순한 파형(시간-진폭 그래프)만으로는 소리의 주파수 성분을 명확히 이해하기 어렵습니다.
    • 이를 해결하기 위해, 시간 영역(Time Domain) 신호주파수 영역(Frequency Domain)으로 변환합니다.
    • 변환된 결과를 시간 축과 주파수 축으로 나타낸 것이 스펙트로그램입니다.

스펙트로그램의 구성:

  • X축: 시간(Time)
  • Y축: 주파수(Frequency)
  • 값(컬러): 특정 시간-주파수 조합에서의 에너지 크기

어떻게 계산하나요?

  1. 프레임으로 나누기:
    • 신호를 짧은 구간(예: 25ms)으로 나눕니다.
  2. Fourier 변환(FFT):
    • 각 프레임의 신호를 주파수 성분으로 변환합니다.
  3. 에너지 계산:
    • 변환된 주파수 성분의 크기를 계산하여 해당 프레임의 에너지로 표현합니다.
  4. 시간 축 연결:
    • 프레임별로 계산한 결과를 시간 순서대로 이어붙이면 스펙트로그램이 완성됩니다.

2. Mel 필터뱅크(Mel Filterbank)란?

  • 필터뱅크(Filterbank):

    • 주파수 대역을 여러 구간(필터)으로 나눠 각 대역의 에너지를 계산하는 방법입니다.
    • 예: 저주파수부터 고주파수까지를 여러 개의 작은 대역으로 나눠 각각의 대역에서 에너지를 측정.
  • Mel 스케일(Mel Scale):

    • 사람의 청각은 주파수에 대해 선형적으로 반응하지 않고, 저주파수에 더 민감하며 고주파수에는 둔감합니다.
    • 이를 반영하여, Mel 스케일은 사람이 느끼는 주파수의 민감도를 기준으로 주파수 대역을 나눕니다.
    • 낮은 주파수는 촘촘하게, 높은 주파수는 더 넓은 간격으로 대역을 나눕니다.
  • Mel 필터뱅크:

    • Mel 스케일을 기반으로 설계된 필터 뱅크로, 대개 삼각형 모양의 필터로 이루어져 있습니다.
    • 예: 64개의 필터를 사용하면, 신호의 주파수 영역에서 64개의 에너지 값이 생성됩니다.
    • 이 값들은 각 주파수 대역에서의 에너지 분포를 나타냅니다.

3. 로그(Log) 변환

  • 에너지를 로그로 변환하는 이유:
    • 원래의 에너지 값은 숫자가 매우 클 수 있습니다(비례하지 않음).
    • 로그 변환을 하면 값의 스케일을 줄이고, 에너지 차이가 너무 커지는 문제를 완화합니다.
    • 또한, 인간의 청각은 에너지 차이를 로그 스케일로 느끼기 때문에, 로그 변환된 값은 실제 감각에 더 가까운 분석을 제공합니다.

4. "64차원의 로그 Mel 필터뱅크 스펙트로그램"이란?

  1. "64차원":

    • Mel 필터뱅크에 64개의 필터를 사용한 결과입니다.
    • 즉, 오디오 신호는 64개의 주파수 대역으로 나뉘며, 각 대역의 에너지를 계산합니다.
    • 따라서 각 프레임은 64개의 값으로 표현됩니다.
  2. "로그 Mel":

    • Mel 필터뱅크를 사용해 얻어진 에너지 값에 로그 변환을 적용하여, 더 직관적이고 유용한 데이터로 만듭니다.
  3. "스펙트로그램":

    • 오디오 클립의 모든 프레임(예: 10초 동안 25ms씩 나눈 프레임)의 로그 Mel 값을 시간 순서대로 배열한 것입니다.
    • 결과적으로, 64개의 주파수 대역 에너지 값이 시간에 따라 변하는 모습을 보여주는 시각적 표현이 됩니다.

profile
모든 의사 결정 과정을 지나칠 정도로 모두 기록하고, 나중에 스스로 피드백 하는 것

0개의 댓글

관련 채용 정보