オーディオ ファイルの読み取りと書き込み
オーディオ ファイルにデータを書き込み、ファイルに関する情報を取得してから、データを再び 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
フィールドは、オーディオ データのサンプル レートを Hz 単位で示します。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