Main Content

audiowrite

オーディオ ファイルの書き込み

説明

audiowrite(filename,y,Fs) はオーディオ データ y の行列を、サンプル レート Fsfilename というファイルに書き込みます。filename 入力では、出力ファイルの形式も指定します。出力データ型は、出力ファイルの形式とオーディオ データ y のデータ型によって決まります。

audiowrite(filename,y,Fs,Name,Value) は、1 つ以上の Name,Value のペアの引数によって指定された追加オプションを使用します。

すべて折りたたむ

例のファイル 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(filename);

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

sound(y,Fs);

例のファイル handel.mat から FLAC ファイルを作成し、サンプルごとの出力ビット数とコメントを指定します。

load handel.mat

filename = 'handel.flac';
audiowrite(filename,y,Fs,'BitsPerSample',24,...
'Comment','This is my new audio file.');
clear y Fs

関数 audioinfo を使用して、新しい FLAC ファイルの情報を表示します。

info = audioinfo(filename) ;

info 構造体には、次の情報フィールドが含まれます。FilenameCompressionMethodNumChannelsSampleRateTotalSamplesDurationTitleCommentArtist および BitsPerSample

入力引数

すべて折りたたむ

書き込むファイルの名前またはその絶対パス。ファイル拡張子を含む文字ベクトルまたは string スカラーとして指定します。

書き込み先の場所によって、filename は次のいずれかの形式にできます。

場所

形式

現在のフォルダー

現在のフォルダーに書き込むには、ファイルの名前を filename に指定します。

例: 'sample_audio.wav'

その他のフォルダー

現在のフォルダーとは異なるフォルダーに書き込むには、絶対パス名または相対パス名を filename に指定します。

例: 'C:\myFolder\sample_audio.mp3'

例: 'myFolder\sample_audio.wav'

リモートの場所

リモートの場所に書き込むには、filename に次の形式の Uniform Resource Locator (URL) として指定されたファイルの絶対パスを含めなければなりません。

scheme_name://path_to_file/my_file.ext

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

リモートの場所

scheme_name

Amazon S3™

s3

Windows Azure® Blob Storage

wasb, wasbs

HDFS™

hdfs

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

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

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

サポートされているプラットフォーム

ファイル形式

略語

ファイル拡張子

すべてのプラットフォーム

Free Lossless Audio Codec

FLAC

.flac

MPEG-1 オーディオ レイヤー III
MPEG-2 オーディオ レイヤー III
MPEG-2.5 オーディオ レイヤー III

MP3

.mp3

OGG Vorbis

OGG

.ogg

OGG Opus

OPUS

.opus

Microsoft WAVE サウンド

WAV

.wav

Windows® および Mac

MPEG-4 Part 3 AAC

MP4

.m4a
.mp4

例: 'myFile.m4a'

例: '../myFile.m4a'

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

Windows 上で MP4 ファイルを書き込むと、audiowrite は出力信号の前と後にサイレンス サンプルを追加してパディングします。また、Windows AAC エンコーダーでは、オーディオに非常にくっきりしたフェード インおよびフェード アウトが配置されます。これにより、ディスク書き込み後のオーディオのサンプル数が増大します。

Linux® プラットフォームでは、以下の要件が適用されます。

  • audiowrite で MP3 ファイルを書き込むには、libsndfile 1.1.0 以降がインストールされている必要があります。LAME MP3 エンコーダーおよび mpg123 MP3 デコーダーもインストールされている必要があります。

  • audiowrite で OPUS ファイルを書き込むには、libsndfile 1.0.29 以降がインストールされている必要があります。OPUS コーデックもインストールされている必要があります。

データ型: char | string

書き込み対象のオーディオ データ。mn 列の実数行列として指定します。ここで、m は書き込み対象のオーディオ サンプル数、n は書き込み対象のオーディオ チャネル数です。

mn のいずれかが 1 の場合、audiowrite は、この次元がオーディオ チャネル数を、他方の次元がオーディオ サンプル数を指定するものとします。

チャネルの最大数はファイル形式によって異なります。

ファイル形式

チャネルの最大数

WAV

1024

OGG、OPUS

255

FLAC

8

MP3、MP4

2

y のデータの有効範囲は y のデータ型によって決まります。

y のデータ型

y の有効な範囲

uint8

0 ≤ y ≤ 255

int16

-32768 ≤ y ≤ +32767

int32

-2^31 ≤ y ≤ 2^31–1

single, double

-1.0 ≤ y ≤ +1.0

有効範囲外のデータは取り込まれません。

ysingle または double の場合、y のオーディオ データは −1.0 ~ 1.0 の範囲 (両端を含む) 内の値に正規化されなければなりません。

データ型: single | double | int16 | int32 | uint8

オーディオ データ y のサンプル レート (Hz)。0 より大きい正の整数スカラーとして指定します。

  • MP3 ファイルに書き込む場合、audiowrite はサンプル レートとして 48,000 Hz、44,100 Hz、32,000 Hz、24,000 Hz、22,050 Hz、16,000 Hz、12,000 Hz、11,025 Hz、および 8,000 Hz のみをサポートしています。

  • OPUS ファイルに書き込む場合、audiowrite はサンプル レートとして 48,000 Hz、24,000 Hz、16,000 Hz、12,000 Hz、および 8,000 Hz のみをサポートしています。

  • Windows プラットフォームで MP4 ファイルに書き込む場合、audiowrite はサンプル レートとして 48,000 Hz および 44,100 Hz のみをサポートしています。

例: 44100

データ型: double

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: 'Title','Symphony No. 9','Artist','My Orchestra' は、タイトルが「Symphony No. 9」でアーティスト情報が「My Orchestra」のオーディオ ファイルを書き込むように、audiowrite に指示します。

サンプルごとの出力ビット数。コンマ区切りの 'BitsPerSample' と整数のペアとして指定します。

FLAC および WAV ファイルでのみ使用可能です。FLAC ファイルの場合は、サンプルあたり 8、16 または 24 ビットのみがサポートされます。

例: 'BitsPerSample',32

圧縮オーディオ ファイルで使用される 1 秒あたりのキロビット数 (kbit/s)。コンマ区切りの 'BitRate' と整数のペアとして指定します。Windows 7 以降で有効な値は、192、160、128、および 96 のみです。

一般に、BitRate の値が大きいほど、圧縮品質も高くなります。

MP4 ファイルでのみ使用可能です。

例: 'BitRate',96

MP3、Vorbis、または Opus 圧縮の品質設定。コンマ区切りの 'Quality' と [0, 100] の範囲内の数値のペアとして指定します。ここで、0 では低品質で高圧縮、100 では高品質で低圧縮となります。

MP3、OGG、および OPUS ファイルでのみ使用可能です。

例: 'Quality',25

タイトル情報。'Title' と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。

データ型: char | string

アーティスト情報。'Artist' と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。

データ型: char | string

追加情報。'Comment' と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。

データ型: char | string

メモ

Mac プラットフォームでは、audiowrite'Title''Artist''Comment' の各フィールドを MP4 ファイルに書き込みません。

アルゴリズム

出力のデータ型はファイル形式 y のデータ型および指定した出力 BitsPerSample によって決まります。

ファイル形式

y のデータ型

サンプルごとの出力ビット数

出力データ型

WAV

uint8, int16, int32, single, double

8

uint8

16

int16

24

int32

uint8, int16, int32

32

int32

single, double

32

single

single, double

64

double

FLAC

uint8, int16, int32, single, double

8

int8

16

int16

24

int32

MP3、MP4、OGG、OPUS

uint8, int16, int32, single, double

N/A

single

拡張機能

バージョン履歴

R2012b で導入

すべて展開する