audiowrite
オーディオ ファイルの書き込み
説明
例
オーディオ ファイルを書き込む
例のファイル 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
構造体には、次の情報フィールドが含まれます。Filename
、CompressionMethod
、NumChannels
、SampleRate
、TotalSamples
、Duration
、Title
、Comment
、Artist
および BitsPerSample
。
入力引数
filename
— 書き込むファイルの名前
文字ベクトル | string スカラー
書き込むファイルの名前またはその絶対パス。ファイル拡張子を含む文字ベクトルまたは string スカラーとして指定します。
書き込み先の場所によって、filename
は次のいずれかの形式にできます。
場所 | 形式 | ||||||||
---|---|---|---|---|---|---|---|---|---|
現在のフォルダー | 現在のフォルダーに書き込むには、ファイルの名前を 例: | ||||||||
その他のフォルダー | 現在のフォルダーとは異なるフォルダーに書き込むには、絶対パス名または相対パス名を 例: 例: | ||||||||
リモートの場所 | リモートの場所に書き込むには、
リモートの場所に基づいて、
詳細については、リモート データの操作を参照してください。 例: |
audiowrite
は次のファイル形式をサポートします。
サポートされているプラットフォーム | ファイル形式 | 略語 | ファイル拡張子 |
---|---|---|---|
すべてのプラットフォーム | Free Lossless Audio Codec | FLAC |
|
MPEG-1 オーディオ レイヤー III | MP3 |
| |
OGG Vorbis | OGG |
| |
OGG Opus | OPUS |
| |
Microsoft WAVE サウンド | WAV |
| |
Windows® および Mac | MPEG-4 Part 3 AAC | 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
y
— 書き込み対象のオーディオ データ
実数行列
書き込み対象のオーディオ データ。m
行 n
列の実数行列として指定します。ここで、m
は書き込み対象のオーディオ サンプル数、n
は書き込み対象のオーディオ チャネル数です。
m
と n
のいずれかが 1 の場合、audiowrite
は、この次元がオーディオ チャネル数を、他方の次元がオーディオ サンプル数を指定するものとします。
チャネルの最大数はファイル形式によって異なります。
ファイル形式 | チャネルの最大数 |
---|---|
WAV | 1024 |
OGG、OPUS | 255 |
FLAC | 8 |
MP3、MP4 | 2 |
y
のデータの有効範囲は y
のデータ型によって決まります。
y のデータ型 | y の有効な範囲 |
---|---|
| 0 ≤ |
| -32768 ≤ |
| -2^31 ≤ |
| -1.0 ≤ |
有効範囲外のデータは取り込まれません。
y
が single
または double
の場合、y
のオーディオ データは −1.0 ~ 1.0 の範囲 (両端を含む) 内の値に正規化されなければなりません。
データ型: single
| double
| int16
| int32
| uint8
Fs
— サンプル レート
正の整数スカラー
オーディオ データ 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
— サンプルごとの出力ビット数
16 (既定値) | 8 | 24 | 32 | 64
サンプルごとの出力ビット数。コンマ区切りの 'BitsPerSample'
と整数のペアとして指定します。
FLAC および WAV ファイルでのみ使用可能です。FLAC ファイルの場合は、サンプルあたり 8、16 または 24 ビットのみがサポートされます。
例: 'BitsPerSample',32
BitRate
— 1 秒あたりのキロビット (kbit/s)
128 (既定値) | 64 | 96 | 160 | 192 | 256 | 320
圧縮オーディオ ファイルで使用される 1 秒あたりのキロビット数 (kbit/s)。コンマ区切りの 'BitRate'
と整数のペアとして指定します。Windows 7 以降で有効な値は、192、160、128、および 96 のみです。
一般に、BitRate
の値が大きいほど、圧縮品質も高くなります。
MP4 ファイルでのみ使用可能です。
例: 'BitRate',96
Quality
— 圧縮の品質設定
75 (既定値) | 範囲 [0, 100] 内の値
MP3、Vorbis、または Opus 圧縮の品質設定。コンマ区切りの 'Quality'
と [0, 100] の範囲内の数値のペアとして指定します。ここで、0 では低品質で高圧縮、100 では高品質で低圧縮となります。
MP3、OGG、および OPUS ファイルでのみ使用可能です。
例: 'Quality',25
Title
— タイトル情報
[]
(既定値) | 文字ベクトル | string スカラー
タイトル情報。'Title'
と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
データ型: char
| string
Artist
— アーティスト情報
[]
(既定値) | 文字ベクトル | string スカラー
アーティスト情報。'Artist'
と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
データ型: char
| string
Comment
— 追加情報
[]
(既定値) | 文字ベクトル | string スカラー
追加情報。'Comment'
と、文字ベクトルまたは string スカラーで構成されるコンマ区切りのペアとして指定します。
データ型: char
| string
メモ
Mac プラットフォームでは、audiowrite
は 'Title'
、'Artist'
、'Comment'
の各フィールドを MP4 ファイルに書き込みません。
アルゴリズム
出力のデータ型はファイル形式 y
のデータ型および指定した出力 BitsPerSample
によって決まります。
ファイル形式 |
| サンプルごとの出力ビット数 | 出力データ型 |
---|---|---|---|
WAV |
| 8 |
|
16 |
| ||
24 |
| ||
| 32 |
| |
| 32 |
| |
| 64 |
| |
FLAC |
| 8 |
|
16 |
| ||
24 |
| ||
MP3、MP4、OGG、OPUS |
| N/A |
|
拡張機能
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2012b で導入R2023a: MP3 (.mp3
) オーディオ ファイルの書き込み
MP3 オーディオ ファイルを書き込むことができます。
R2022a: Opus (.opus
) オーディオ ファイルの書き込み
Ogg Opus オーディオ ファイルに書き込むことができます。
R2021b: スレッドベースの環境のサポート
MATLAB® backgroundPool
を使用して、バックグラウンドで audiowrite
を実行できます。
R2020b: リモートの場所へのオーディオ ファイルの書き込み
Amazon S3、Windows Azure Blob Storage、HDFS などのリモートの場所にオーディオ ファイルを書き込むことができます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)