Audio Toolbox

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

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

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

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 アプリの関心領域のラベル。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

さまざまなレベルのモデル階層構造のブロックやサブシステム、フィルター応答のプロット、パラメーター値を調整するための対話型ダイヤルを備えたユーザー インターフェイスなどで構成された Simulink モデルの可視化。

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

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

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

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

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

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

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

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

MIDI メッセージを MATLAB セッションに送信するキーボード MIDI コントローラーを示すブロック図。MATLAB セッションに送信されると、メッセージの処理、ノート波形の合成、生成したサンプルの拡声器での再生を行います。

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

音響測定と空間音響

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

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

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

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

インパルス応答の測定

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

Impulse Response Measurer アプリのキャプチャ。時間領域および周波数領域の推定応答、その他のプロット可能な推定インパルス応答のリストを表示するメニュー、アプリで使用できるその他の対話型コントロールを示しています。

 Impulse Response Measurer アプリ。

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

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

極めて長い経時的インパルス応答の絶対値を示す MATLAB の図 (Y 軸の対数スケールを使用)。5 秒後のプロットでは、正規化された絶対値が初期振幅の 1000 分の 1 よりも小さくなっていないことが分かります。

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

空間音響

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

バイノーラルマネキン、頭部伝達関数が既知の 3 つの点を表す球面扇形の頂点にある 3 つのスピーカー、球面扇形内にランダムに位置する 4 番目の点を示す図。これらに対して、頭部伝達関数を推定する必要があります。

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

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

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

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

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

MATLAB で生成されたオーディオプラグインの UI。よく知られているデジタル オーディオ ワークステーション、REAPER の内部で使用されています。この UI には、3 × 3 のグリッド上に配置されたさまざまなスライダーやノブがあります。

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

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

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

左側は、オーディオノイズ除去用の商用オーディオプラグインの UI で、ノイズ抑制のレベルを設定する大きなノブが特徴です。右側の数行のコードは、同じプラグインをインポートして、MATLAB オブジェクトとしてプログラムで使用する方法を示しています。

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

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

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

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

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

音声コマンド認識システムの各予測サイクルで経過した時間を報告するプロット。使用された時間が利用可能な 50 時間をはるかに下回っていることを示しています。

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

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

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

Raspberry Pi ボードの写真。

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

ゼロレイテンシ システム

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