Show HN: Contrapunk – Real-time counterpoint harmony from guitar input, in Rust
> Source: Hacker_News
Execute Primary Source
// Problem
楽器演奏におけるリアルタイムなハーモニー生成において、音楽理論(対位法)に則った適切な声部進行を維持しつつ、ライブ演奏に耐えうる極めて低いレイテンシを実現することが技術的な課題である。
// Approach
Rustを採用し、シングルサイクル検出、2フレーム投票、128サンプルバッファを用いることで、10ms未満の低遅延を実現。パレストリーナやバッハ等の対位法ルールをコード化し、並行五度の回避等を自動化。TauriやWebAssemblyによりマルチプラットフォーム展開を行う。
// Result
ギター入力からリアルタイムでMIDIハーモニーを生成するシステムの構築に成功。音楽理論に基づいた決定論的なボイシングを提供し、デスクトップ、ブラウザ、サーバーのいずれの環境でも一貫したRustコアによる動作を実現した。
Senior Engineer Insight
> 音響信号処理の低遅延化と、複雑な音楽理論アルゴリズムの計算コストの両立が鍵。Rustの性能を活かし、WasmやTauriで配布形態を広げている点は、エッジでのリアルタイム処理として非常に合理的である。