DL/Voice

[Voice] 딥러닝 음성 처리 파이썬 실습 - 16K / 8K 비교, 음성 데이터 연산

moonzoo 2024. 6. 12. 16:21

딥러닝 음성 학습 16K VS 8K

AICC를 위한 딥러닝 학습 오디오 데이터 샘플링 레이트로 16K / 8K 중 어떤 것을 사용하는 것이 좋을까요?

AICC 음성 모델(VOIP)

전화 통화의 주요 목표는 사람의 음성을 명확하게 전달하는 것입니다. 음성 주파수는 일반적으로 300Hz에서 3400Hz 사이에 위치하며, 이는 8kHz 샘플링 레이트로도 충분히 커버할 수 있습니다.

 

이유

  • Nyquist 이론: 샘플링 레이트가 신호의 최대 주파수보다 최소 두 배 높아야 합니다. 전화 음성 주파수 범위(최대 약 3.4kHz * 2 = 6.8kHz)를 재현하려면 8kHz 샘플링 레이트로도 충분합니다.
  • 대역폭 효율성: 낮은 샘플링 레이트는 데이터 양을 줄여 전송 대역폭을 효율적으로 사용합니다. 실시간 서빙이 중요한 AICC에서는 8K를 사용하는 것이 적합합니다.
  • 일반적인 사용 사례: 대부분의 전화 시스템(예: VoIP)과 음성 인식 시스템은 8kHz 샘플링 레이트를 사용합니다.

음성 분야 비교

  • 음성 인식: 음성 인식 모델은 8kHz 샘플링 레이트에서도 좋은 성능을 보입니다. 많은 상용 음성 인식 시스템이 이 샘플링 레이트를 사용하여 효과적으로 작동합니다.
  • 감정 분석: 감정 분석 모델은 음성의 미세한 뉘앙스를 캡처하기 위해 더 높은 샘플링 레이트가 필요할 수 있습니다. 감정의 세부적 차이를 반영하기 위해 16kHz 이상의 샘플링 레이트가 권장될 수 있습니다.
  • 데이터 크기와 처리 시간: 낮은 샘플링 레이트는 데이터 크기를 줄이고, 모델 훈련 및 추론 속도를 높이는 장점이 있습니다.

이를 종합해보면, 전화 통화 모델과 음성 인식과 같은 특정 딥러닝 작업에서는 8kHz 샘플링 레이트가 적합합니다. 하지만, 더 높은 품질의 오디오 정보를 필요로 하는 다른 딥러닝 작업에서는 더 높은 샘플링 레이트를 고려하는 것이 좋습니다.

 


음성 실습

전체 음성 파일 디지털 오디오 신호의 파형

422400 샘플 중 2.64초부터 5.46초 구간의 음성을 자르고 싶다면?

샘플링 레이트가 8000이므로

2.64 * 8000 = 21120 (2.64초 구간) 5.46 * 8000 = 43680 (5.46초 구간)

여기에 - 128과 + 128을 해준 이유는 페이드 인 아웃 효과를 넣어주기 위함입니다.

 

그리고 soundfile 라이브러리를 통해 8K 샘플링 레이트와 PCM_16로 자른 파일을 저장합니다.

잘린 디지털 오디오 신호의 파형