"Audio" (ネットエンコーダ)
NetEncoder["Audio"]
音声ファイルまたはオブジェクトを音声サンプルのテンソルに変換するエンコーダを表す.
NetEncoder[{"Audio","param"->val,…}]
前処理のための特定のパラメータを持つエンコーダを表す.
詳細
- "Audio"エンコーダは,信号の波形を返す.もとの信号にあるすべての情報は波形の中にある.
- NetEncoder[…][input]はエンコーダを入力に適用し,出力を作る.
- NetEncoder[…][{input1,input2,…}]はエンコーダを入力のリストに適用し,出力のリストを作る.
- エンコーダへの入力にはAudioオブジェクトまたはFile[…]式が使える.
- エンコーダの出力はサイズが n×1の行列で,n は前処理が適用された後の音声サンプルの数を表す.
- ネットワークの構築時に"port"->NetEncoder[…]と指定すると,エンコーダをネットワークの入力ポートに付加することができる.
- 以下のパラメータが使用可能である.
-
"Augmentation" None 増加を適用 "Normalization" None 正規化を行うかどうか "SampleRate" 16000 ターゲットのサンプルレート "TargetLength" All ターゲットの出力の長さ - 各エンコーダに以下の設定とサブオプションが指定できる.
- "Normalization"は以下の設定を取ることができる:
-
None 正規化なし "Max" 絶対最大値を1に正規化する {"Max",val} 絶対最大値を val に正規化する {"RMS",val} 入力音声信号のRMSを val に正規化する - "TargetLength"は以下の設定を取ることができる:
-
All 入力信号と同じ dur 期間 dur を時間量として指定する n 最初の n 個のサンプル - 指定された"TargetLength"が入力信号の長さと合わない場合は,必要に応じて充填または刈込みが適用される.
- "Augmentation"は以下のキーで,規則のリストとして指定できる:
-
"Convolution" None インパルス応答を入力にたたみ込む "Noise" None 入力にノイズを加える "TimeShift" None 入力を指定の量シフトする "Volume" None 入力に係数を掛ける - 数値を受け付ける増加パラメータは,2つの数のリストまたは一変数分布として指定される.前者の場合,値は均一分布の与えられた上限と下限の間でランダム化される.後者では,ユーザ提供の分布が使われる.
- "Convolution"に使用可能な値には以下のものがある:
-
None 増加なし signal 入力にたたみ込むFileまたはAudioオブジェクト {mix,signal} 入力と mix パラメータにたたみ込む信号 - "Noise"に使用可能な値には以下のものがある:
-
None 増加なし amp 振幅 amp を持つホワイトノイズ noise 追加のノイズ信号を含むFileまたはAudioオブジェクト {amp,noise} ノイズ信号と振幅の指定 - "TimeShift"->t を使うと,入力を t 秒シフトし,必要に応じて充填または刈込みが行われる.Scaled[s]を使うと,入力を s×dur 秒シフトできる.ここで,dur は入力信号の時間的長さである.{t1,t2}またはScaled[{ts1,t2}]を使うと,指定時間同士の間のシフトをランダム化することができる.
- "Volume"->val を使うと,係数器が指定できる.
パラメータ
例題
すべて開くすべて閉じる例 (2)
スコープ (3)
NetEncoder["Audio"]はFileまたはAudioオブジェクトを符号化できる.以下で音声エンコーダを作る:
エンコーダをFileオブジェクトに適用する:
エンコーダをインコアのAudioオブジェクトに適用する:
エンコーダをアウトオブコアのAudioオブジェクトに適用する:
Audioオブジェクトのリストを作る:
NetEncoder["Audio"]は入力全体に適用される:
音声のNetEncoderを作る:
ネットをAudioオブジェクトに適用する:
パラメータ (3)
"Normalization" (1)
"SampleRate" (1)
3つのサンプルを使って,16000のサンプルレートでAudioオブジェクトを作る: