데이터 전처리: 오디오 증강 – 타임 스트레칭
ㅁ 오디오 증강
ㅇ 정의:
오디오 데이터의 길이를 늘리거나 줄이면서도 음의 높이(pitch)는 변경하지 않는 기술로, 학습 데이터의 다양성을 확보하기 위해 사용됨.
ㅇ 특징:
– 재생 속도를 조절하되, 주파수 스펙트럼의 중심은 유지
– 음성 인식, 음악 장르 분류 등에서 데이터 편향을 줄이는 데 유용
– STFT(Short-Time Fourier Transform) 기반 알고리즘이 주로 사용됨
ㅇ 적합한 경우:
– 발화 속도 변화에 강인한 음성 인식 모델 학습
– 다양한 템포의 음악 데이터 확보
– 발화자별 속도 차이를 보정하거나 확장할 때
ㅇ 시험 함정:
– 타임 스트레칭은 pitch shift와 혼동하기 쉬움 (pitch shift는 음 높이가 변함)
– 단순 속도 변경은 타임 스트레칭과 다름 (속도 변경은 pitch도 변함)
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “타임 스트레칭은 오디오 길이를 변경하되 음 높이는 유지한다.”
– X: “타임 스트레칭은 오디오의 길이와 함께 음 높이도 변경한다.”
================================
1. 타임 스트레칭
ㅇ 정의:
오디오 신호의 길이를 늘리거나 줄이는 과정에서 원래의 pitch를 유지하는 오디오 데이터 증강 기법.
ㅇ 특징:
– 시간 축만 변형
– 음성의 발화 속도나 음악의 템포를 변화시킬 수 있음
– 음질 손실을 최소화하기 위해 위상 보정 알고리즘 사용
ㅇ 적합한 경우:
– 다양한 발화 속도에 대응하는 음성 인식 모델 학습
– 음악 추천 시스템에서 다양한 템포의 곡 학습
– 발화자 적응 모델 학습 시 속도 다양성 확보
ㅇ 시험 함정:
– pitch shift와의 차이점 혼동
– 단순 재생 속도 변경과의 차이점 간과
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “타임 스트레칭은 음 높이를 유지한 채 오디오 길이를 변경한다.”
– X: “타임 스트레칭은 오디오의 길이와 음 높이를 동시에 변경한다.”
ㅁ 추가 학습 내용
타임 스트레칭 구현 시 주로 사용되는 알고리즘으로 PSOLA(Phase Vocoder, SOLA)가 있다.
이 알고리즘의 원리를 이해하는 것이 중요하다.
타임 스트레칭의 한계
– 지나친 속도 변화 시 음질 왜곡(artifacts) 발생
– 실시간 처리 시 연산량이 많아 성능 부담이 큼
응용 분야
– 데이터 증강 기법의 하나로 활용
– 음성 합성(TTS)에도 사용됨
자주 출제되는 비교 문제
– Pitch shift와의 차이 구분
– 단순 resampling과의 차이 구분