데이터 전처리: 오디오 증강 – 피치 쉬프트
ㅁ 오디오 증강
ㅇ 정의:
원본 오디오 데이터의 특성을 유지하면서 주파수 성분을 변형하여 데이터 다양성을 확보하는 기법.
ㅇ 특징:
– 음성 인식, 음악 장르 분류 등 오디오 기반 모델 학습 시 데이터 부족 문제를 완화.
– 시간 길이는 유지하되 주파수를 변환하여 음의 높낮이를 변화.
– 배경 잡음 추가, 시간 스트레칭 등 다른 증강 기법과 조합 가능.
ㅇ 적합한 경우:
– 음성 인식 모델에서 화자의 음색/성별/연령 다양성을 확보해야 하는 경우.
– 음악 데이터에서 다양한 키(key) 변형을 통해 일반화 성능을 높이고자 할 때.
ㅇ 시험 함정:
– 피치 쉬프트는 속도 변화 없이 음의 높낮이만 변경한다는 점을 간과.
– 타임 스트레칭과 혼동하여 시간 길이 변화가 있다고 잘못 이해하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 피치 쉬프트는 오디오의 재생 속도는 유지한 채 주파수를 변환하여 음의 높낮이를 변경한다.
X: 피치 쉬프트는 오디오의 재생 속도와 주파수를 동시에 변경한다.
================================
1. 피치 쉬프트
ㅇ 정의:
오디오 신호의 재생 속도를 유지하면서 주파수를 변경하여 음의 높낮이를 조정하는 데이터 증강 기법.
ㅇ 특징:
– 단위: 반음(semitone) 단위로 조정 가능.
– 화자의 성별, 나이 변화 효과를 줄 수 있음.
– 음성 인식, 음악 분석, 감정 분석 등 다양한 오디오 처리 분야에서 활용.
ㅇ 적합한 경우:
– 데이터셋 내 화자의 다양성을 확보해야 하는 경우.
– 음악 데이터에서 키 변환을 통한 모델의 일반화 성능 향상이 필요한 경우.
ㅇ 시험 함정:
– 피치 쉬프트는 음의 높낮이만 변하고 시간 길이는 변하지 않음.
– 타임 스트레칭과 혼동 금지.
ㅇ 시험 대비 “패턴 보기” 예시:
O: 피치 쉬프트는 반음 단위로 음의 높낮이를 조정할 수 있다.
X: 피치 쉬프트는 음의 높낮이와 재생 속도를 동시에 변경한다.
ㅁ 추가 학습 내용
피치 쉬프트와 타임 스트레칭의 구분
– 타임 스트레칭(Time Stretching): 주파수를 유지하면서 재생 속도(시간 길이)를 변경하는 기술. 즉, 음의 높이는 변하지 않고 재생 시간이 길어지거나 짧아짐.
– 피치 쉬프트(Pitch Shift): 재생 속도(시간 길이)는 유지하면서 주파수를 변경하는 기술. 즉, 재생 시간은 동일하지만 음의 높이가 변함.
시험 핵심 키워드
– 타임 스트레칭: “주파수 유지”, “재생 속도 변경”, “시간 길이 변화”
– 피치 쉬프트: “속도 변화 없이”, “시간 길이 유지”, “주파수 변경”
피치 쉬프트 구현 방식
– FFT 기반
– Phase Vocoder
– WSOLA (Waveform Similarity Overlap-Add)
피치 조정 단위
– 반음(semitone) 단위로 조정 가능
응용 사례
– 화자 변환(목소리 톤 변경)
– 음악 키 변환(곡의 조성 변경)