주요 콘텐츠

오디오 입력 및 오디오 출력

이 예제에서는 파일에서 오디오를 읽어오고 스피커에 오디오를 쓰는 방법을 보여줍니다.

전체 오디오 파일을 작업 공간으로 읽어온 다음 전체 오디오 신호를 스피커에 쓰려면 audioread 함수와 soundsc 함수를 사용합니다. audioread를 파일 이름과 함께 호출하여 전체 오디오 파일과 오디오의 샘플 레이트를 읽어옵니다. soundsc를 오디오 데이터 및 샘플 레이트와 함께 호출하여 오디오를 디폴트 스피커로 재생합니다.

[audioData,fs] = audioread("SpeechDFT-16-8-mono-5secs.wav");
soundsc(audioData,fs)

audiostreamer 객체는 오디오 재생 및 녹음을 위한 보다 유연한 I/O 인터페이스를 제공합니다. audiostreamerplay를 호출하는 방식으로 동일한 전체 오디오 신호를 재생할 수 있습니다.

as = audiostreamer("player",fs);
play(as,audioData)

audiostreamer 객체는 오디오의 프레임별 재생도 지원하며, 이 재생 방식은 스트리밍 워크플로에 유용합니다.

파일에서 오디오를 프레임별로 읽어오기 위한 dsp.AudioFileReader 객체를 만듭니다. 오디오 파일 리더는 오디오 파일의 샘플 레이트를 SampleRate 속성에 저장합니다.

fileReader = dsp.AudioFileReader("Filename","SpeechDFT-16-8-mono-5secs.wav");

이미 생성한 audiostreamer 객체를 그대로 사용하고, SampleRate 속성이 파일 리더의 샘플 레이트와 동일하다고 명시적으로 설정합니다.

as.SampleRate = fileReader.SampleRate;

루프에서, 파일에서 읽어와서 장치에 씁니다. 루프가 실행되는 동안 오디오는 디폴트 오디오 장치로 재생됩니다.

while ~isDone(fileReader)
    
    % Read one frame of audio data from the file.
    audioData = fileReader();
    
    % Write one frame of audio data to your speakers.
    play(as,audioData);
    
end

작업이 끝나면 파일과 오디오 장치를 해제하는 것이 좋습니다.

release(fileReader)
release(as)

다른 오디오 I/O 구성(예: 마이크에서 읽어오기 또는 스피커에 쓰기)을 구현하는 방법을 알아보려면 Real-Time Audio in MATLAB 항목을 참조하십시오.

참고 항목

| | | |

도움말 항목