Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

audiorecorder

オーディオ録音用のオブジェクト

説明

MATLAB® で処理するために、マイクなどの入力デバイスからオーディオ データを録音するには、audiorecorder オブジェクトを使用します。audiorecorder オブジェクトには、録音時の柔軟性をさらに向上できるプロパティがあります。たとえば、audiorecorder オブジェクトの関数を使用して、一時停止、再開、またはコールバックの定義ができます。

作成

説明

recorder = audiorecorder は、次のプロパティをもつ audiorecorder オブジェクトを作成して返します。

  • サンプリング周波数 Fs = 8000 ヘルツ

  • サンプルあたりのビット数 nBits = 8

  • チャネル数 nChannels = 1

recorder = audiorecorder(Fs,nBits,NumChannels) は、サンプル レート Fs (ヘルツ単位)、サンプルあたりのビット数 nBits、およびチャネル数 nChannels を設定します。

recorder = audiorecorder(Fs,nBits,NumChannels,ID) は、オーディオ入力デバイスを、ID で指定されたデバイスに設定します。

入力引数

すべて展開する

ヘルツ (Hz) 単位のサンプリング周波数。数値スカラーとして指定します。

サンプリング レートの有効な値は、MATLAB で使用できるサンプル レートと、システム上の特定のオーディオ ハードウェアの両方によって決まります。MATLAB には 1000 Hz <= Fs <= 384000 Hz の厳しい制限がありますが、ハードウェアに依存する追加の制限が適用されます。多くのサウンド カードでサポートされている一般的な値は、8000、11025、22050、44100、48000、および 96000 ヘルツです。

データ型: single | double

サンプルあたりのビット数。816 または 24 として指定します。

nBits は、信号 Y に浮動小数点値が含まれる場合にのみ指定します。nBits の有効な値は、オーディオ ハードウェアに依存します。たとえば、オーディオ ハードウェアに応じて、nBits816 または 24 のいずれかの値にできます。

チャネル数。1 (モノラル) または 2 (ステレオ) として指定します。

デバイス識別子。整数として指定します。

デバイスの ID を取得するには、関数 audiodevinfo を使用します。

プロパティ

すべて展開する

このプロパティは読み取り専用です。

サンプルあたりのビット数。正の整数として返されます。

このプロパティは読み取り専用です。

オーディオ入力デバイスで現在録音中のサンプル。正の整数として返されます。

デバイスが録音していない場合、CurrentSample は、record メソッドまたは resume メソッドを使用して録音される次のサンプルになります。

このプロパティは読み取り専用です。

オーディオ デバイス識別子。整数として返されます。

このプロパティは読み取り専用です。

オーディオ レコーダーのステータス。on または off として返されます。

ヘルツ (Hz) 単位のサンプリング周波数。数値スカラーとして返されます。

SampleRate を設定するには、audiorecorder オブジェクトの作成時に入力引数 Fs を使用します。

このプロパティは読み取り専用です。

オーディオ データの全長 (サンプル単位)。整数として返されます。

ラベル。文字ベクトルとして指定します。

このプロパティは読み取り専用です。

オブジェクト クラス名。'audiorecorder' として返されます。

ユーザー定義データ。任意のデータ型の値として指定します。このプロパティを使用して、オブジェクトの追加データを格納します。

録音開始時に実行する関数。関数の名前を含む文字ベクトルまたは string スカラー、あるいは関数ハンドルとして指定します。

コールバック関数への最初の 2 つの入力は、audiorecorder オブジェクトと event 構造体でなければなりません。詳細については、コールバック関数を参照してください。

録音終了時に実行する関数。関数の名前を含む文字ベクトルまたは string スカラー、あるいは関数ハンドルとして指定します。

コールバック関数への最初の 2 つの入力は、audiorecorder オブジェクトと event 構造体でなければなりません。詳細については、コールバック関数を参照してください。

録音中に繰り返し実行する関数。関数の名前を含む文字ベクトルまたは string スカラー、あるいは関数ハンドルとして指定します。繰り返し間隔を指定するには、TimerPeriod プロパティを使用します。

コールバック関数への最初の 2 つの入力は、audiorecorder オブジェクトと event 構造体でなければなりません。詳細については、コールバック関数を参照してください。

タイマー周期。数値スカラーとして指定します。

タイマー周期は、TimerFcn コールバック間の時間を秒単位で表したものです。

オブジェクト関数

getaudiorecorder オブジェクトのプロパティ値のクエリ
getaudiodata録音したオーディオ信号の数値配列への保存
getplayer関連付けられた audioplayer オブジェクトを作成
isrecording録音が進行中かどうか判断する
pause再生または録音の一時停止
playaudiorecorder オブジェクトからのオーディオの再生
recordaudiorecorder オブジェクトにオーディオを録音
recordblockingオーディオを audiorecorder オブジェクトに録音、録音が終了するまで制御を保持
resume 一時停止状態からの再生または録音の再開
setaudiorecorder オブジェクトに対してプロパティ値を設定します。
stop再生または録音の停止

すべて折りたたむ

マイクからオーディオ データを録音してから、録音されたオーディオを再生します。

既定のプロパティ値をもつ audiorecorder オブジェクトを作成します。

recObj = 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('Start speaking.')
Start speaking.
recordblocking(recObj,5);
disp('End of Recording.');
End of Recording.

録音を再生します。

play(recObj);

バージョン履歴

R2006a より前に導入