Audio Toolbox

音声分析、音響測定、オーディオ処理システム

Audio Toolbox™ には、オーディオ処理、音声分析、音響測定用のツールが備わっています。これには、イコライズやタイムストレッチなどのオーディオ信号処理、ラウドネスやシャープネスなどの音響信号メトリクスの推定、MFCC やピッチなどの音声特徴の抽出などのアルゴリズムが含まれます。また、i-vector などの高度な機械学習モデル、および VGGish や CREPE などの事前学習済みのディープラーニング ネットワークが用意されています。ツールボックスのアプリでは、アルゴリズムのライブテスト、インパルス応答測定、信号のラベル付けを行うことができます。このツールボックスには、ASIO や CoreAudio などのサウンドカード、MIDI デバイス、VST プラグインや Audio Units プラグインの生成およびホスティングのためのツールへのストリーミング用インターフェイスが付属しています。

Audio Toolbox では、オーディオ データセットのインポート、ラベル付け、水増しのほか、機械学習モデルやディープラーニング モデルの学習のための特徴量抽出を行うことができます。用意されている事前学習済みのモデルは、高水準のセマンティック解析用のオーディオ録音に適用することができます。

オーディオ処理アルゴリズムのプロトタイプをリアルタイムに作成したり、サウンドカードとの間で低レイテンシのオーディオをストリーミングしてカスタムの音響測定をしたりすることができます。また、製作したアルゴリズムからオーディオプラグインを作成し、デジタル オーディオ ワークステーションなどの外部のホスト アプリケーションで実行することで、アルゴリズムを検証できます。プラグイン ホスティング機能を使用すると、外部オーディオプラグインを通常の MATLAB® オブジェクトとして使用できます。

詳細を見る:

オーディオ インターフェイスによるストリーミングの取得と再生

標準的なラップトップやデスクトップ コンピューターのサウンドカードに接続して、ファイルでもライブオーディオでも、低レイテンシのマルチチャネル オーディオをストリーミングできます。

標準的なオーディオドライバとの接続

USB や Thunderbolt™ のサウンドカードと標準的なオーディオドライバ (ASIO、WASAPI、CoreAudio、ALSA) を使用して、Windows®、Mac®、Linux® のコンピューターでオーディオファイルを読み書きできます。

マルチチャネル サウンドカードの例。

低レイテンシのマルチチャネル オーディオ ストリーミング

MATLAB でライブオーディオをミリ秒単位の低い往復レイテンシで処理できます。

4 チャネルのマイクアレイからのライブオーディオの入力。

機械学習とディープラーニング

音声データセットのラベル付け、水増し、作成、および取り込み、特徴量抽出、時間周波数変換を行います。Statistics and Machine Learning Toolbox™、Deep Learning Toolbox™、その他の機械学習ツールで音声分析手法を開発します。

事前学習済みのディープラーニング モデル

ディープラーニングを使用して複素信号処理タスクを実行し、1 行のコードでオーディオ埋め込みを抽出します。YAMNet、VGGish、CREPE、OpenL3 などの確立された事前学習済みのネットワークにアクセスし、事前に設定された特徴抽出のための関数を使用してそれらを適用します。

特定のオーディオセグメントで classifySound が識別したサウンドタイプを表示するワードクラウド。

オーディオ、音声、音響の特徴抽出

信号をメル、バーク、ERB のスペクトログラムのような時間周波数表現に変換します。MFCC や GTCC などのケプストラム係数、ピッチ、調和性、スペクトル記述子などのスカラー特徴を抽出して解析します。事前学習済みのディープラーニング モデル (VGGish、OpenL3) と i-vector システムを使用して、高水準の特徴と信号の埋め込みを抽出します。対応する GPU カードで特徴抽出を高速化します。

音声コマンドのライブ メル スペクトログラム。

機械学習モデルおよび学習レシピ

お持ちのオーディオ データセットを使用して、最先端の機械学習を行うことができます。話者の識別や検証などの用途には、i-vector などの確立されたモデルのシステムを使用します。オーディオ、音声、音響のアプリケーションのための高度なニューラル ネットワークおよび層の設計と学習の方法を実例から学びます。

異なる 5 名の話者を含む音声信号に x-vector を使用して得られたダイアライゼーションの結果。

オーディオ データセットのインポート、注釈付け、および前処理

大量のオーディオ録音の読み込み、分割、前処理を行います。オーディオ信号の注釈付けは、アプリを使用して手動で行います。事前学習済みの機械学習モデルを使用して、関心領域を自動的に識別して分割します。

Audio Labeler アプリの関心領域のラベル。

オーディオおよび音声データセットの水増しと合成

ピッチシフト、タイムストレッチ、およびその他のオーディオ処理効果の組み合わせにより、ランダム化されたデータ水増しパイプラインを設定します。クラウドベースの音声合成サービスを使用して、テキストから合成音声録音を作成します。

音色不変ピッチシフトのフォルマント推定。

オーディオ処理アルゴリズムとオーディオエフェクト

標準的な波形の生成、一般的なオーディオエフェクトの適用、パラメーターの動的な調整とライブの可視化によるオーディオ処理システムの設計を行います。

オーディオフィルターとイコライザー

パラメトリック イコライザーとグラフィック イコライザー、シェルビング、可変勾配フィルターをモデル化して適用します。デジタル クロスオーバー フィルター、オクターブバンド フィルター、1/N オクターブバンド フィルターを設計してシミュレートします。

3 バンドのクロスオーバー フィルターを実際にプロットを見ながら調整。

ダイナミックレンジ コントロールとエフェクト

ダイナミックレンジを処理するアルゴリズム (コンプレッサー、リミッター、エキスパンダー、ノイズゲートなど) をモデル化して適用します。再帰的パラメトリックモデルで人工的な残響を付加します。

コンプレッサーのダイナミック レスポンスを対話形式で調整。

ブロック線図を使用したシステムのシミュレーション

Simulink® のオーディオ処理ブロックライブラリを使用して、システムモデルの設計およびシミュレーションを行います。対話型コントロールと動的に変化するプロットを使用して、パラメーターを調整しシステムの動作を確認できます。

Simulink のマルチバンド ダイナミックレンジ コンプレッサー モデルの詳細。

リアルタイムのオーディオ処理プロトタイピング

MATLAB でリアルタイムで試聴しながらオーディオ処理アルゴリズムを検証します。

パラメーターをリアルタイムで調整できるユーザー インターフェイス

オーディオ処理アルゴリズムのパラメーターを調整するためのユーザー インターフェイスが自動的に作成されます。Audio Test Bench アプリで個々のアルゴリズムをテストし、自動的に生成された対話型のコントロールを使って、実行中のプログラムのパラメーターを調整できます。

Audio Test Bench を使用して、カスタムの 3 バンドパラメトリック イコライザーを対話形式で調整。

MIDI に接続してパラメーターを制御、メッセージを送受信

MIDI のコントロール サーフェスを使用して MATLAB のアルゴリズムのパラメーターを対話形式で変更します。MIDI のさまざまなメッセージを送受信することにより、外部のハードウェアを制御したり、イベントに応答したりできます。

シンセサイザー用に MATLAB で記述した MIDI メッセージとオーディオ信号の流れ。

音響測定と空間音響

音響システムの応答の測定、信号の測定と解析、空間オーディオ処理システムの設計

標準規格に基づいた測定と解析

録音またはライブ信号の音圧レベル (SPL) とラウドネスを測定します。オクターブバンド フィルターと 1/N オクターブバンド フィルターを使用して信号を解析します。生音声を録音したデータに、標準に準拠した A、C、K 重み付けフィルターを適用します。音響のシャープネス、ラフネス、変動強度を測定します。

2 つの 1/3 (サード) オクターブ帯域間で異なる SPL 測定値を可視化。

インパルス応答の測定

最長シーケンス (MLS) と対数掃引正弦波 (ESS) を使用して音響システムのインパルス応答と周波数応答を測定します。インパルス応答測定アプリを使用します。励起信号の生成と応答の推定をプログラミングして、測定を自動化します。

 Impulse Response Measurer アプリ。

室内のインパルス応答の効率的な畳み込み

周波数領域の重畳加算法または重畳保留法を使用して、インパルス応答の長い信号を効率よく畳み込みますインパルス応答の自動分割を行って、計算の遅延をなくします。

5 秒以上持続しているインパルス応答 (サンプル数 220,000 個、44,100Hz)。

空間音響

さまざまなアンビソニック フォーマットにエンコードおよびデコードします。空間でサンプリングした頭部伝達関数 (HRTF) を補間します。

望ましい音源の位置と HRTF を測定可能な至近距離と角度の例。

オーディオプラグインの生成とホスティング

MATLAB で標準オーディオプラグインとして記述したオーディオ処理アルゴリズムをプロトタイピングします。外部のオーディオプラグインを通常の MATLAB オブジェクトとして使用します。

オーディオプラグインの生成

ユーザー インターフェイスの手動設計なしで、VST プラグイン、AU プラグイン、スタンドアロンの実行可能プラグインを MATLAB コードから直接生成できます。複雑なプラグインをプロトタイピングする場合は、即ビルド可能な JUCE C++ プロジェクトを生成します (MATLAB Coder™が必要)。

マルチバンド パラメトリック イコライザーの例:MATLAB コードから生成し、REAPER で実行している VST プラグイン。

外部のオーディオプラグインのホスティング

外部の VST プラグインと AU プラグインを通常の MATLAB オブジェクトとして使用します。プラグインのパラメーターを変更し、MATLAB 配列の処理をプログラミングします。または、プラグインのパラメーターを、ユーザー インターフェイスと MIDI のコントロールに自動的に関連付けます。MATLAB コードから生成したプラグインをホストし、効率よく実行できるようにします。

オーディオノイズ除去用の外部 VST プラグイン (Accusonus ERA-N) と MATLAB のプログラミング インターフェイスの例。

ターゲットの組み込みおよびリアルタイムのオーディオシステム

コード生成により、ソフトウェア デバイスにオーディオ処理の設計機能を実装し、オーディオ インターフェイスへのアクセスを自動化します。

CPU および GPU ターゲットのコード生成

MathWorks® コード生成製品を使用して、ツールボックス関数、オブジェクト、ブロックとして提供される信号処理アルゴリズムや機械学習アルゴリズムから C および C++ ソースコードを生成します。mfccmelSpectrogram などの選択した特徴抽出関数から CUDA ソースコードを生成します。

ディープラーニングに基づく音声コマンド認識システムの ARM Cortex-A プロセッサで実装を最適化するための動的なプロファイリング

低価格製品とモバイルデバイス

内蔵または外部のマルチチャネル オーディオ インターフェイスを使用して、Raspberry Pi™ でオーディオ処理システムをプロトタイピングします。Android® または iOS デバイス用のモバイルアプリとなる対話型コントロールパネルを作成します。

設計プロトタイピング用の Raspberry Pi 3 ボード。

ゼロレイテンシ システム

適応型ノイズコントロール、補聴器の検査など、DSP の往復レイテンシを最小化する必要がある場合の、単一サンプルを入出力するオーディオ処理設計のプロトタイピングを行います。Simulink モデルでは直接、Speedgoat オーディオマシンと ST Discovery ボードを自動的にターゲットマシンとして使用します。