Main Content

オーディオ ファイルの読み取りと書き込み

オーディオ ファイルにデータを書き込み、ファイルに関する情報を取得してから、データを再び 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')

参考

| |

関連するトピック