220 likes | 4.3k Views
선형대수 Term Project . MATLAB 을 이용한 음성 데이터 다루기. 컴퓨터 공학부 200611495 유상원 200811429 문재원 200114 김용호. 개요. Matlab 에서 음성 데이터를 가지고 노래에서 MR 제거 , Vocal 제거 , 음성 변조 ( 남자목소리 <-> 여자목소리 ) 등의 조작을 하는 방법에 대해 알아본다 . 음원. MR. 보컬. 변조. wav Data. [data, fs , bits]= wavread ();
E N D
선형대수 Term Project MATLAB을 이용한 음성 데이터 다루기 컴퓨터 공학부 200611495 유상원 200811429 문재원 200114 김용호
개요 Matlab에서 음성 데이터를 가지고 노래에서 MR제거 , Vocal 제거, 음성 변조(남자목소리 <-> 여자목소리) 등의 조작을 하는 방법에 대해 알아본다. 음원 MR 보컬 변조
wav Data [data, fs, bits]=wavread(); - Data : 소리 벡터 - Fs : 주파수 - Bits : 단위 sample당 비트의 개수
MR 추출 스테레오 사운드는 왼쪽의 데이터와 오른쪽의 데이터가 각각 1,2열에 있다 Vocal 부분은 같은 위상으로 저장, MR부분은 다른 위상으로 저장 되어 있다. 29행 :1열과 2열의 데이터의 부호가 같다 (위상이 같다 -> Vocal) 32행 : 2열과 2열의 데이터의 부호가 반대이다 (위상이 반대이다 -> MR)
MR 추출 mr = data(:,1)-data(:,2); mrs = [mr mr.*(-1)]; wavwrite(mrs,fs,bit,'mr.wav');
Vocal 강조 1열과 2열을 빼서 같은 위상을 상쇄 시켰다면 반대로 더하면 다른 위상을 상쇄 시킬 수 있지 않을까? mr = data(:,1) - data(:,2); ? vocal = data(:,1) + data(:,2); But….. 보컬의 목소리가 강조 되는 듯 보이나, 기타 잡음, 악기소리도 같이 강조 되어 소리가 커진것 같은 효과만 보임
Adaptive Filter 잡음 제거, 소음제거에 쓰여왔음. 입력 신호와 얻고자 하는 기대신호의 차이(노이즈)를 걸러낸다.
STFT 피크부분만 카운팅 한 모습 시간에 따른 주파수를 알 수 있으므로 음정 박자 등이 보인다. 시간이 길어지면 주파수 정보가 흐려짐
STFT 주파수와 옥타브 표를 이용해 악보와 비교 가능 659.25Hz 523.25Hz 587.32Hz
Phase vocoder Pitch shift Phase Vocoder가 나오기 전의 음성 변조 (1.5배속, 0,5배속 같은 것) 음원 고무줄 같은 음성 데이터 시간을 줄이니 높아진 소리 시간을 늘이니 낮아진 소리
Phase vocoder Phase Vocoder STFT로 얻은 주파수와 시간에 대한 정보를 블록으로 나눈다 +