오디오 파일 읽기 및 쓰기
오디오 파일에 데이터를 쓰고 파일에 대한 정보를 가져온 다음 MATLAB® 작업 공간으로 데이터를 다시 읽어옵니다.
오디오 파일에 쓰기
파일 handel.mat
에서 샘플 데이터를 불러옵니다.
load handel.mat
이제 작업 공간에 오디오 데이터로 구성된 행렬 y
와 샘플 레이트 Fs
가 생겼습니다.
audiowrite
함수를 사용하여 현재 폴더에 있는 handel.wav
라는 WAVE 파일에 데이터를 씁니다.
audiowrite("handel.wav",y,Fs) clear y Fs
audiowrite
함수는 또한 다른 오디오 파일 형식에도 쓸 수 있습니다. 실행 가능한 형식의 전체 목록은 가져오기 및 내보내기에 지원되는 파일 형식 항목을 참조하십시오.
오디오 파일에 대한 정보 가져오기
audioinfo
함수를 사용하여 WAVE 파일 handel.wav
에 대한 정보를 가져옵니다.
info = audioinfo("handel.wav")
info = Filename: 'pwd\handel.wav' CompressionMethod: 'Uncompressed' NumChannels: 1 SampleRate: 8192 TotalSamples: 73113 Duration: 8.9249 Title: [] Comment: [] Artist: [] BitsPerSample: 16
audioinfo
는 1×1 구조체형 배열을 반환합니다. SampleRate
필드는 오디오 데이터의 샘플 레이트(단위: 헤르츠)를 나타냅니다. Duration
필드는 파일 재생 시간(단위: 초)을 나타냅니다.
오디오 파일 읽기
audioread
함수를 사용하여 파일 handel.wav
를 읽습니다. audioread
함수는 다른 파일 형식을 지원할 수 있습니다. 실행 가능한 형식의 전체 목록은 가져오기 및 내보내기에 지원되는 파일 형식 항목을 참조하십시오.
[y,Fs] = audioread("handel.wav");
오디오를 재생합니다.
sound(y,Fs)
파일을 대화형 방식으로 읽을 수도 있습니다. 데이터 가져오기를 선택하거나 현재 폴더 브라우저에서 파일 이름을 더블 클릭합니다.
오디오 데이터 플로팅하기
경과 시간을 나타내는 y
와 길이가 같은 벡터 t
를 만듭니다.
t = 0:seconds(1/Fs):seconds(info.Duration); t = t(1:end-1);
오디오 데이터를 시간 함수로 플로팅합니다.
plot(t,y) xlabel('Time') ylabel('Audio Signal')
참고 항목
audioinfo
| audioread
| audiowrite