Main Content

audioread

オーディオ ファイルの読み取り

説明

[y,Fs] = audioread(filename)filename というファイルからデータを読み取り、サンプル データ y と、そのデータのサンプル レート Fs を返します。

[y,Fs] = audioread(filename,samples) はファイルから選択された範囲のオーディオ サンプルを読み取ります。ここで、samples[start,finish] の形式のベクトルです。

[y,Fs] = audioread(___,dataType) は、'native' または 'double'dataType に対応するデータ範囲のサンプル データを返すもので、前述の構文の任意の入力引数を含めることができます。

すべて折りたたむ

例のファイル handel.mat から WAVE ファイルを作成し、この WAVE ファイルを再び MATLAB® 内に読み取ります。

現在のフォルダーに WAVE (.wav) ファイルを作成します。

load handel.mat

filename = 'handel.wav';
audiowrite(filename,y,Fs);
clear y Fs

audioread を使用してデータを再び MATLAB 内に読み取ります。

[y,Fs] = audioread('handel.wav');

オーディオを再生します。

sound(y,Fs);

例のファイル handel.mat から FLAC ファイルを作成し、最初の 2 秒のみを読み取ります。

現在のフォルダーに FLAC (.flac) ファイルを作成します。

load handel.mat

filename = 'handel.flac';
audiowrite(filename,y,Fs);

最初の 2 秒のみを読み取ります。

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);

サンプルを再生します。

sound(y,Fs);

.flac ファイルを作成し、ファイルの最初の 2 秒を読み取ってから、オーディオをネイティブの整数形式で返します。

現在のフォルダーに FLAC (.flac) ファイルを作成します。

load handel.mat
filename = 'handel.flac';
audiowrite(filename,y,Fs);

最初の 2 秒のみを読み取り、データを指定して、サンプル データ y のデータ型を表示します。y のデータ型は double です。

samples = [1,2*Fs];
clear y Fs
[y,Fs] = audioread(filename,samples);
whos y
  Name          Size             Bytes  Class     Attributes

  y         16384x1             131072  double              

ネイティブ ファイル形式のオーディオ データを要求し、サンプル データ y のデータ型を表示します。y の新しいデータ型を確認します。

[y,Fs] = audioread(filename,'native');
whos y
  Name          Size             Bytes  Class    Attributes

  y         73113x1             146226  int16              

入力引数

すべて折りたたむ

読み取るファイルの名前。ファイル拡張子を含む文字ベクトルまたは string スカラーとして指定します。

ファイルの場所によって、filename は次のいずれかの形式をとります。

現在のフォルダー

ファイル名を filename で指定します。

例: 'sample_audio.wav'

その他のフォルダー

ファイルが現在のフォルダーまたは MATLAB® パス上のフォルダーにない場合は、filename に絶対パス名または相対パス名を指定します。

例: 'C:\myFolder\myFile.sample_audio.wav'

例: 'myFolder\sample_audio.mp3'

インターネット URL

ファイルをインターネットの Uniform Resource Locator (URL) として指定する場合、filename には 'http://' または 'https://' のプロトコル タイプが含まれていなければなりません。

例: 'http://hostname/path_to_file/sample_audio.mp3'

リモートの場所

リモートの場所に保存されたファイルの場合、filename は次の形式で指定されたファイルの絶対パスを含まなければなりません。

scheme_name://path_to_file/my_file.ext

リモートの場所に基づいて、scheme_name には次の表の値のいずれかを指定できます。

リモートの場所scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs
HDFS™hdfs

詳細については、リモート データの操作を参照してください。

例: 's3://bucketname/path_to_file/sample_audio.mp3'

例: 'myFile.mp3'

例: '../myFile.mp3'

例: 'C:\temp\myFile.mp3'

audioread は次のファイル形式をサポートします。

サポートされているプラットフォームファイル形式
すべてのプラットフォームAIFC (.aifc)
AIFF (.aiff.aif)
AU (.au)
FLAC (.flac)
OGG (.ogg)
OPUS (.opus)
WAVE (.wav)
Windows® 7 以降、Macintosh、および Linux®MP3 (.mp3)
MPEG-4 AAC (.m4a.mp4)

Windows 7 より前の Windows プラットフォームでは、audioread は MP3 でエンコードされたデータを含む WAVE ファイルを読み取りません。

Windows 7 以降のプラットフォームでは、audioread は Windows Media® Foundation によってサポートされるすべてのファイルも読み取ることができます。

Linux プラットフォームでは、audioread は GStreamer によってサポートされるすべてのファイルも読み取ることができます。

audioread は、Windows 7 以降、Macintosh、および Linux 上の MPEG-4 (.mp4.m4v) ビデオ ファイルから、また Windows 7 以降および Linux プラットフォーム上の Windows Media ビデオ (.wmv) および AVI (.avi) ファイルからオーディオを抽出できます。

データ型: char | string

[start,finish] の形式の 2 要素ベクトルとして指定する読み取り対象のオーディオ サンプル。この startfinish は最初と最後に読み取られるサンプルで、共に正のスカラー整数です。

  • startfinish 以下でなければなりません。

  • startfinish はファイル内のオーディオ サンプル数未満でなければなりません。

  • ファイル内の最後のサンプルを指定するには inf を使用できます。

メモ

audioread が、Windows 7 または Windows 10 プラットフォームでいくつかの MP3 ファイルの一部を読み取る場合に、サンプルの読み取り範囲が少し移動することがあります。これは基盤となる Windows Media Foundation フレームワークの制限によるものです。

audioread が、Linux プラットフォームの MP3 および M4A ファイルの一部を読み取る場合に、サンプルを読み取る範囲が少し移動することがあります。これは基盤となる GStreamer フレームワークの制限によるものです。

例: [1,100]

データ型: double

オーディオ データ y のデータ形式。以下のいずれかとして指定します。

'double'倍精度の正規化されたサンプル
'native'ファイルにあるネイティブ形式のサンプル

整数形式でデータを格納しない MP3 や MPEG-4 AAC などの圧縮オーディオ形式の場合、'native' の既定の設定は 'single' になります。

データ型: char | string

出力引数

すべて折りたたむ

mn 列の行列として返される、ファイル内のオーディオ データ。ここで、m は読み取られたオーディオ サンプル数、n はファイル内のオーディオ チャネル数です。

  • dataType を指定しない場合、あるいは dataType'double' の場合、ydouble 型になり、行列要素は −1.0 から 1.0 までの正規化された値になります。

  • dataType'native' の場合、y は入力ファイルのファイル形式および BitsPerSample 値に応じて MATLAB の複数のデータ型のいずれかになります。このファイルの BitsPerSample 値を判別するには、audioinfo を呼び出します。

    ファイル形式BitsPerSample y のデータ型y のデータ範囲
    WAVE (.wav)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    32int32-2^31 ≤ y ≤ 2^31–1
    32single-1.0 ≤ y ≤ +1.0
    64double-1.0 ≤ y ≤ +1.0
    WAVE (.wav) (u 則)8int16-32124 ≤ y ≤ +32124
    WAVE (.wav) (A 則)8int16-32256 ≤ y ≤ +32256
    FLAC (.flac)8uint80 ≤ y ≤ 255
    16int16-32768 ≤ y ≤ +32767
    24int32-2^31 ≤ y ≤ 2^31–1
    MP3 (.mp3)、MPEG-4 AAC (.m4a.mp4)、OGG (.ogg)、OPUS (.opus) および圧縮された特定の WAVE ファイルN/Asingle-1.0 ≤ y ≤ +1.0

メモ

ysingle または double で、BitsPerSample が 32 または 64 の場合、y の値は −1.0 ~ +1.0 の範囲外になることがあります。

正のスカラーとして返される、オーディオ データ y のサンプル レート (Hz)

制限

  • Windows 7 以降および Linux プラットフォーム上の MP3、MPEG-4 AAC、および AVI オーディオ ファイルでは、audioread の読み取るサンプル数は想定より少なくなる可能性があります。Windows 7 プラットフォームの場合、これは基盤となる Media Foundation フレームワークの制限によるものです。Linux プラットフォームの場合、これは基盤となる GStreamer フレームワークの制限によるものです。サンプル数分の正確な読み取りが必要な場合は、WAV または FLAC ファイルを使用してください。

  • Linux プラットフォームでは、audioread はステレオ データとして 1 つのチャネル データを含む MPEG-4 AAC ファイルを読み取ります。

拡張機能

バージョン履歴

R2012b で導入

すべて展開する