自然言語からモジュラーシンセサイザーの制御電圧(CV)を生成するAIシステム。8チャンネルのCV信号を48kHzでリアルタイム評価し、DCカップルドオーディオインターフェース経由で出力する。
Synth CV AI は、自然言語のプロンプト(例:「ユークリッドゲートパターン付き上昇アルペジオ」)をモジュラーシンセサイザー用のリアルタイムCV信号に変換する。Claude API が音楽的な記述を解釈し、数学関数を生成。48kHzで評価された信号は、DCカップルドオーディオインターフェース(Expert Sleepers ES-8/ES-9等)を経由してアナログ制御電圧として出力される。
言語から電圧へ。テキストで記述された音楽的意図が、V/Oct ピッチ、ゲートパターン、フィルタモジュレーション、エンベロープとして物理的なシンセサイザーを駆動する。
ブラウザからのプロンプトはWebSocket経由でサーバーに送られ、Claude APIが数学関数のJSONを返す。CVエンジンがサンプル単位(48kHz)で評価し、PortAudioを通じてDCカップルド出力からモジュラーシンセへ直結する。
テキストで音楽的なアイデアを記述するだけで、AIが適切なCV関数を生成する。以下はプロンプトの例:
http://localhost:4400 を開くClaude APIはプロンプトに対して以下の構造のJSONを返す。各チャンネルに数学関数が割り当てられ、ビート単位でループする。
{
"mathFunctions": [
{"channel": "voct", "equation": "quantize(noise(floor(beat*2))*0.4, 12)", "startTime": 0, "endTime": 16},
{"channel": "gate", "equation": "if(fmod(beat*2,1)<0.4, 1, 0)", "startTime": 0, "endTime": 16},
{"channel": "filter", "equation": "0.3 + 0.3*sin(twopi*beat/8)", "startTime": 0, "endTime": 16},
{"channel": "vca", "equation": "max(0, 1 - fmod(beat*2,1)*3)", "startTime": 0, "endTime": 16},
{"channel": "clock", "equation": "if(fmod(beat,1)<0.05, 1, 0)", "startTime": 0, "endTime": 16}
],
"bpm": 120,
"channelMap": {"voct":1,"gate":2,"filter":3,"vca":4,"mod1":5,"mod2":6,"clock":7,"env":8},
"loopStartTime": 0, "loopEndTime": 16, "repeatCount": -1
}
sin · cos · tan · abs · sqrt · floor · ceil · exp · log · pow · min · max · fmod · smoothstep · if · atan2 · clamp
t · beat · beatPhase · bar · bpm · channelIndex · sampleRate · pi · twopi · halfpi · e
Node.js + Express (HTTP/WebSocket) / naudiodon2 (PortAudio) / Claude API (Anthropic) / JITコンパイル数式パーサー / DCカップルドオーディオIF (Expert Sleepers ES-8/ES-9, MOTU等)