ライブ用シンセサイザーがひとまず完成しました。
サックスの出音から音程、音量、アタックをリアルタイムで検出。まずここからテンポ、キーを設定します。この時マイクが拾うサックス以外の音は、FFTを使ってマスクします。
音源はグラニュラーシンセ。演奏音の録音、ゼロクロスポイントでの切り出し、読み込みが可能です。また、音程情報もあわせて記録するので、再生時グレインで常時補正します。サックスの音程音量に追随します。RTカーネルでレイテンシーも気にならないレベルです。
アルペジエイター。サックスと同じ音だけではつまらないので、一三五度とアルペジオパターンで鳴ります。キー情報をもとに三度の長短を切り替えるほか、テンポシンクします。
エフェクターはリバーブ、ディレイ、フランジャー、レゾナンスフィルター。それぞれテンポに同期させています。
インターフェイスとコントロール関連はPuredata、音源、エフェクトなどのオーディオ関連はSupercollider。pdからOSCで演奏情報を送っています。なのでSupercolliderはscsynthのみを立ち上げています。
完成に近づくにつれ、起動失敗、突然のフリーズなど不安定さが増していたのですが、思いきって色深度を下げると、見違えるように安定しました。
あとは実戦のなかでの調整ですが、その機会があまりないのが少々寂しいところです。