Harmonia
ノート単位の音声編集(macOS)
Harmonia は、録音した歌や楽器の音を、ノート単位で編集する macOS 用のプラグイン(AU / VST3)と単体アプリです。音を解析してノートに分け、ノートごとに音程・タイミング・音量などを変えられます。
概要
編集したところだけを作り直し、編集していない部分は元の音と一致します。歌や単音の楽器は、音程・ビブラート・音程の揺れ・声質(フォルマント)・音量・タイミング・長さをノートごとに、ピアノやギターの和音は、和音の中の1音だけを、ドラムや打楽器、ミックスは、打音ごとにタイミング・音量・高さを変えられます。
解析の方法は5つ(メロディ、和音・減衰、和音・持続、パーカッシブ、ユニバーサル)あり、読み込んだときに音の種類から自動で選びます。キー・テンポ・コードも音から検出します。音程補正・タイミング補正・音量補正のマクロ、スケールの指定、MIDI 書き出しにも対応します。
DAW とは、ARA2(Logic Pro など)と、録り込み(Transfer)方式(Ableton Live・Bitwig など)でつなぎます。単体アプリでは、音声ファイルを開いて編集・試聴できます。まだないものは、ディエッサー、複数トラックのノートを一画面で編集する機能、倍音の直接編集です。現在は 0.1.0 の段階で、インストーラーは署名・公証の前(アドホック署名)です。
アーキテクチャ
- 構成
- C++20 / Objective-C++ と CMake で、解析・編集・再合成のエンジン(core)と、JUCE のプラグイン層(AU・VST3・単体アプリ)を分けています。対象は macOS 12.0 以降です。
- 解析
- メロディは音程ごとに、和音は Basic Pitch(Core ML)で和音の中の1音ずつ、ドラムやミックスは打音ごとに、ノートへ分けます。FFT には Accelerate を使います。
- 再合成
- メロディは TD-PSOLA、和音は STFT のマスクと PSOLA、ドラム・ミックスは Signalsmith Stretch で、編集したノートだけを作り直します。
- DAW 連携
- ARA2(Logic Pro など)と、Transfer 方式(Ableton Live・Bitwig など)に対応します。編集内容は、DAW のプロジェクトに保存されます。
- 依存と検証
- 依存ライブラリは、バージョンを固定して自動で取得します。テストは GoogleTest で、配布物には含めません。
- 種別
- ノート単位の音声編集(macOS)
- 区分
- LAB(個人制作・実験)
- 状態
- 開発中
- 担当
- 企画・設計・開発
- 技術
- C++20
- Objective-C++
- JUCE
- ARA SDK
- Core ML
- Accelerate
- CMake
- GoogleTest