オーディオ ファイルの読み取りと書き込み
オーディオ ファイルにデータを書き込み、ファイルに関する情報を取得してから、データを再び 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: 16audioinfo は、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