音声識別ネットを使って信号を調べる
AudioIdentifyで使われているネットワークは,他の音声分析タスクを行うための非常に強力なツールになる.この例では,このネットに変更を加えて,時間分解された結果としての経時的確率を得るようにする.
Wolfram Neural Net Repositoryからネットワークをインポートする.
Audioオブジェクトにネットを適用する.
このネットワークはAudioSetデータ集合で訓練されている.このデータ集合では,各音声信号に,録音内に存在するサウンドのクラスとソースの注釈が付いている.
その結果,出力の各クラスの確率は相互排他的にはならない.
ネットワークの中核は,入力信号のメルスペクトログラムの決まった大きさのチャンクを取り,NetMapOperatorを使って重複するチャンクにマップされる.
これが中核ネットである.
信号の例で結果を計算することができる.
その結果は,すべてのチャンクで計算される各クラスに対する独立した確率の列である.信号に存在するすべてのクラスを探しているため,平均ではなく経時的な最大値を取る.
少し操作することで,各チャンクに対するクラスの確率を出力するネットを作成することができる.
WebAudioSearchを使うと,楽器のサウンドを集めてそれを一緒にすることができる.
ネットの結果を計算する関数を定義し,すべての列の中で最も可能性が高いクラスを n 個見て,経時的にこれらの確率を出力することができる.
波形を,進化する確率が最も高い10クラスの確率(とその経時的な進化)と一緒に可視化する.