2011-06-12 7 views
1

웨이브 파일을 MATLAB에 입력하여 필터를 사용하여 처리 할 수 ​​있도록 wave.wav라는 웨이브 파일을 입력하면이 파일이 바탕 화면에 있고".wav"파일을 MATLAB으로 읽는 방법?

[y, fs, nb] = wavread('wave.wav'); 

웨이브 파일을 읽을 수는 있지만 항상 cannot open file 오류를줍니다. 내가 생각할 수있는 유일한 것은 함수가 wave.wav의 경로를 알고 있다는 것입니다. 그리고 어떻게 읽은 후에도 MATLAB을 사용하여 파일을 재생할 수 있습니까, sound()?

답변

3

예, 두 번 모두 맞습니다. 파일의 전체 경로를 사용하고 sound 기능을 사용하여 다시 재생하십시오. 전체 예제는 this reference page을 참조하십시오. Mathworks의 문서는 매우 포괄적입니다.

+0

예 하지만 내가 소리를 낼 때 나오는 톤은 실제 톤과 같지 않습니다. 그냥 배경 음색이나 무언가를 포함 시켜서 어떻게 해결할 수 있을까요 ?? – Shadi

+0

@Shadi 무슨 일이 벌어지는 지 알아 보려면 플롯하세요. 순수 사운드의 오실로스코프 추적이있는 경우 Matlab 가져 오기와 비교하십시오. 원래의 음색은 어디에서 왔습니까? 원래 톤의 필터가 있습니까? 그렇다면 Matlab의 파형에 적용해야합니다. 또한 이전에 인용 한 그 페이지에서는 가져 오기 마법사를 사용하여 파일을 가져올 수 있다고 말합니다. 그 방법을 통해 그것을 시도하십시오. – jonsca

0

파일의 전체 경로를 사용하여이 작동 sound

+0

사운드 출력이 정확할 수 있도록 입력 웨이브의 fs를 어떻게 알 수 있습니까? – Shadi

+0

@Shadi 샘플링 속도에 대한 정보는 링크 된 페이지에도 있습니다. 주의 깊게 읽으십시오. – jonsca

1

대신 soundsc(y,fs)를 사용하여 사운드를 재생할 수 있습니다 : [Y FS +] = wavread ('파일 이름'); sound (y, Fs);

참고 : 파일 이름은 모든 오디오 파일 일 수 있습니다. .mp3에서 .wav 로의 변환기를 사용하십시오. coz 파일 이름은 wav 형식이어야합니다. (심지어 waveread가 자동으로 .wav 파일로 파일을 변환하지만, 제 경우에는 그렇지 않습니다!) :