Tymbal:単一チップ上のニューラルシンセサイザー
Tymbalは、単一のSTM32N657マイクロコントローラ(Cortex-M55 + Neural-ART NPU)上で動作するリアルタイムのポリフォニックシンセサイザーです。TCNニューラルネットワークを残差リファイナーとして使用し、決定論的なハーモニックスケルトンに非線形な特性を追加します。これらはすべて、厳密なサイクル予算内で、アンダーランのゼロを実現しています。プロジェクトでは、グラフ変換からメモリ管理までの広範な最適化の詳細が説明されており、最終的なリアルタイムパフォーマンスをデバイス上で達成しています。
Tymbalは、単一のNUCLEO-N657X0-Qボード(STM32N657: 800 MHzのCortex-M55 + Neural-ART NPU)上で動作するポリフォニック・リアルタイム・シンセサイザーで、MIDIキーボードで制御され、I2S-DAC出力を備えています。オーディオは4ミリ秒のブロックで計算されます。800 MHzでは、ホップあたり320万サイクルがすべての処理(ボイス、ハーモニック合成、ニューラルネットワーク、フィルターバンク、デチューン、リミッター)に割り当てられ、アンダーラン(処理落ち)はゼロです。アーキテクチャは、コスト削減とネットワークへのコンパクトな入力を提供するために、PQMF(擬似直交ミラーフィルタ)4サブバンド領域(各12 kHz)を使用しています。ハーモニックスケルトンは、複素フィルタ応答を使用してサブバンドに直接レンダリングされ、アンチチップチューン層(オートユニゾン、スペクトラルブルーム、マイクロドリフト)が適用されます。12層、ダイレーション1~32、C=88チャンネルの因果的TCN(時間畳み込みネットワーク)がNPU上で残差リファイナーとして動作し、PTQ(学習後量子化)によりint8に量子化されています。重要な発見は、残差予測で単純に学習させたネットワークが、520係数の線形FIR(有限インパルス応答)に劣るということでした。その修正として、線形部分を「ゼロ層」として凍結し(pred = FIR(x) + net(x))、ネットワークは非線形残差のみを学習するようにしました。最終評価では、FIR単独で+11.25 dBの抑圧、FIR+ネットワーク(fp32)で+17.16 dB、int8で+16.89 dBとなり、ネットワークは+5.64 dBの寄与を示しました。立ち上げ時の詳細な知見には、リセット後のECCランダムコンテンツ、無効化されたAXISRAMバンク、NORフラッシュパスの問題、NPUクロック分周器の誤り(800 MHzではなく400 MHz)、および誤ったアサートが含まれます。予算最適化は、ホップあたり418万サイクルから開始し、最終的に最悪ケースのコードで247万サイクルを達成し、アンダーランはゼロでした。技術には、測定ループ(QEMUとボードサイクルの比較)、NPUエポックプロファイリング、ポンピング(NPU呼び出しをレンダリングとインターリーブする非ブロッキング方式)、ホットテーブルのDTCMへの移動、状態リング用のMVEベースのメモリコピーが含まれます。
出典: Habr — хаб ML —
原文
