Main Content

audiorecorder

오디오 녹음을 위한 객체

설명

audiorecorder 객체를 사용하여, MATLAB®에서 처리하기 위해 마이크와 같은 입력 장치에서 오디오 데이터를 녹음합니다. audiorecorder 객체는 녹음 중에 추가적인 유연성을 제공하는 속성을 포함합니다. 예를 들어, audiorecorder 객체 함수를 사용하여 재생을 일시 중지하거나, 재개하거나, 콜백을 정의할 수 있습니다.

생성

설명

recorder = audiorecorder는 다음 속성을 갖는 audiorecorder 객체를 생성하여 반환합니다.

  • SampleRate: 8000

  • BitsPerSample: 8

  • NumChannels: 1

recorder = audiorecorder(Fs,nBits,nChannels)는 샘플 레이트를 Fs로, 샘플당 비트 수를 nBits로, 채널 개수를 nChannels로 설정합니다.

recorder = audiorecorder(Fs,nBits,nChannels,ID)는 오디오 입력 장치를 ID에 지정된 장치로 설정합니다.

예제

입력 인수

모두 확장

샘플 레이트(단위: 헤르츠)로, 양의 스칼라로 지정됩니다.

샘플 레이트의 유효한 값은 오디오 하드웨어에 따라 다릅니다. 대부분의 설정에서 지원하는 일반적인 샘플 레이트는 8,000, 11,025, 22,050, 44,100, 48,000, 96,000, 192,000Hz입니다.

이 인수는 SampleRate 속성을 설정합니다.

데이터형: single | double

샘플당 비트 수로, 8, 16 또는 24로 지정됩니다. 신호가 부동소수점 값을 포함하는 경우에만 nBits를 지정하십시오.

nBits의 유효한 값은 시스템의 오디오 하드웨어에 따라 다릅니다.

이 인수는 BitsPerSample 속성을 설정합니다.

오디오 채널 개수로, 1(모노) 또는 2(스테레오)로 지정됩니다.

이 인수는 NumChannels 속성을 설정합니다.

오디오 장치 식별자로, 정수로 지정됩니다.

장치의 ID를 가져오려면 audiodevinfo 함수를 사용합니다.

이 인수는 DeviceID 속성을 설정합니다.

속성

모두 확장

읽기 전용 속성입니다.

샘플 레이트(단위: 헤르츠)로, 양의 스칼라로 반환됩니다.

SampleRate 속성을 설정하려면 audiorecorder 객체를 생성할 때 Fs 입력 인수를 사용하십시오.

읽기 전용 속성입니다.

샘플당 비트 수로, 8, 16 또는 24로 반환됩니다.

BitsPerSample 속성을 설정하려면 audiorecorder 객체를 생성할 때 nBits 입력 인수를 사용하십시오.

읽기 전용 속성입니다.

오디오 채널 개수로, 1(모노) 또는 2(스테레오)로 반환됩니다.

NumChannels 속성을 설정하려면 audiorecorder 객체를 생성할 때 nChannels 입력 인수를 사용하십시오.

읽기 전용 속성입니다.

오디오 장치 식별자로, 정수로 반환됩니다.

DeviceID 속성을 설정하려면 audiorecorder 객체를 생성할 때 ID 입력 인수를 사용하십시오.

읽기 전용 속성입니다.

오디오 입력 장치에서 현재 녹음 중인 샘플로, 양의 정수로 반환됩니다.

장치에서 녹음 중인 샘플이 없는 경우 record 또는 resume 메서드를 사용하여 녹음되는 다음 샘플이 CurrentSample이 됩니다.

읽기 전용 속성입니다.

샘플에 포함된 오디오 데이터의 총 길이로, 음이 아닌 정수로 반환됩니다.

읽기 전용 속성입니다.

오디오 레코더 상태로, 'off' 또는 'on'으로 반환됩니다.

녹음 시작 시 실행할 함수로, 함수의 이름을 포함하는 문자형 벡터나 함수 핸들로 지정됩니다.

콜백 함수에 대한 처음 2개 입력값은 audiorecorder 객체와 event 구조체여야 합니다. 자세한 내용은 타이머 콜백 함수를 참조하십시오.

녹음 종료 시 실행할 함수로, 함수의 이름을 포함하는 문자형 벡터나 함수 핸들로 지정됩니다.

콜백 함수에 대한 처음 2개 입력값은 audiorecorder 객체와 event 구조체여야 합니다. 자세한 내용은 타이머 콜백 함수를 참조하십시오.

녹음 중에 반복 실행할 함수로, 함수의 이름을 포함하는 문자형 벡터나 함수 핸들로 지정됩니다. 반복 구간을 지정하려면 TimerPeriod 속성을 사용하십시오.

콜백 함수에 대한 처음 2개 입력값은 audiorecorder 객체와 event 구조체여야 합니다. 자세한 내용은 타이머 콜백 함수를 참조하십시오.

타이머 시간으로, 양의 스칼라로 지정됩니다.

TimerPeriodTimerFcn 콜백 사이의 시간(단위: 초)입니다.

레이블이며, string형 스칼라 또는 문자형 벡터로 지정됩니다.

사용자 정의 데이터로, 임의의 데이터형 값으로 지정됩니다. 이 속성을 사용하여 객체와 함께 추가 데이터를 저장합니다.

읽기 전용 속성입니다.

객체 클래스 이름으로, 'audiorecorder'로 반환됩니다.

객체 함수

getaudiorecorder 객체의 속성값 쿼리
getaudiodata녹음된 오디오 신호를 숫자형 배열로 저장
getplayerCreate associated audioplayer object
isrecordingDetermine if recording is in progress
pauseaudioplayer 객체 재생 또는 audiorecorder 객체 기록 일시 중지
playaudiorecorder 객체에서 오디오 재생
recordaudiorecorder 객체에 오디오 녹음
recordblockingaudiorecorder 객체에 오디오를 녹음하고 녹음이 완료될 때까지 컨트롤 유지
resume Resume playback of audioplayer object or recording of audiorecorder object from paused state
setSet property values for audiorecorder object
stopaudioplayer 객체 재생 또는 audiorecorder 객체 기록 중지

예제

모두 축소

마이크에서 오디오 데이터를 녹음한 다음 녹음된 오디오를 재생합니다.

지정된 속성을 사용하여 audiorecorder 객체를 만듭니다. CD 품질의 오디오를 만들기 위해 샘플 레이트(Fs), 샘플당 비트 수(nBits), 채널 개수(nChannels) 및 입력 장치 식별자(ID) 같은 속성을 정의합니다.

Fs = 44100; 
nBits = 16; 
nChannels = 2; 
ID = -1;       % default audio input device 
recObj = audiorecorder(Fs,nBits,nChannels,ID);

마이크를 사용하여 5초 분량의 음성 샘플을 녹음합니다.

disp("Begin speaking.")
Begin speaking.
recDuration = 5; % record for 5 seconds
recordblocking(recObj,recDuration);
disp("End of recording.")
End of recording.

녹음을 재생합니다.

play(recObj);

제한 사항

  • MATLAB Online™ 또는 MATLAB Web App Server™에서 audiorecorder 함수를 사용할 때 다음 제한 사항이 적용됩니다.

    • audiorecorder 객체에서 audioplayer 객체를 만들 수 없습니다.

    • audiorecorder 함수는 nBits를 무시합니다. 대신 입력 오디오 장치의 디폴트 샘플당 비트 수를 사용하여 오디오 데이터를 기록합니다.

    • Fs 샘플 레이트의 유효한 값은 MATLAB 데스크탑에서와 동일하지 않을 수 있습니다.

  • audiorecorder 함수는 모든 Windows® 플랫폼과 대부분의 UNIX® 플랫폼에서 사운드 장치를 지원합니다.

  • MATLAB OnlineMATLAB Web App Serveraudiorecorder 함수는 Google Chrome®에서 지원됩니다.

  • 참고

    MATLAB Online 또는 MATLAB Web App Server를 사용하는 경우의 보안 고려 사항: audiorecorder 함수를 MATLAB Online 또는 MATLAB Web App Server에서 사용하는 경우, 특정 기능과 설정으로 개인 정보 보호를 제어할 수 있습니다.

    원치 않는 애플리케이션이 마이크를 사용하는 것을 방지하려면 오디오 장치에 대한 자동 액세스를 끄십시오. 이 설정은 언제든지 변경할 수 있습니다. 특정 웹사이트에 대한 사용 권한을 부여하면 나중에 웹사이트를 방문하는 경우 브라우저가 자동으로 마이크에 액세스할 수 있습니다. 처음에 액세스를 허용한 후에 Google Chrome의 브라우저 설정을 사용하여 특정 사이트에 대한 액세스를 철회할 수 있습니다.

    Google Chrome의 개인 브라우징 모드를 사용하여 MATLAB Online 웹사이트 또는 MATLAB Web App Server에 액세스할 수도 있습니다. 이렇게 하면 Chrome®이 마이크에 액세스를 시도할 때마다 사용자의 브라우저 설정과 관계없이 Chrome이 자동으로 마이크에 대한 권한을 요청합니다.

버전 내역

R2006a 이전에 개발됨