Improvise+=Chain [Interactive]: System for Real-Time Performance with GPT

Category:PrototypeTags:
#Music#AI#Works#Performance#System
Published: 2023 - 1 - 15

自律的な音楽演奏のオーディオビジュアル・インスタレーション作品「Improvise+=Chain」の生成システムを基盤とし, 人間のミュージシャンも含めた即興演奏(ジャム・セッション)を実現するリアルタイム合奏システム Improvise+=Chain [Interactive] のプロトタイピングを実施しました。

System Demo: Human Drums -> AI Piano/Guitar/Bass

自己回帰的Transformer Decorderによるマルチトラックのシンボリック音楽生成を活用することで, 人間のミュージシャンとコンピュータによる即興ジャム・セッションを可能にします。ユーザーの演奏フレーズに入力として応答し, 共に音楽を形作ります。

各楽器の演奏はMIDIで入力することで, パフォーマンスに用いられている4トラック(メロディ, 伴奏, ベース, ドラム)のうち, ユーザーはどのトラックも好きに選択して演奏することができます。

  1. ユーザーが演奏可能な4つの楽器(MIDI出力が可能な電子ピアノ, ピックアップ装着済のエレキギター・エレキベース, 電子ドラム)
    • 任意のMIDI出力付きキーボードによるメロディ・伴奏入力
    • Roland V-Drums モジュールによるドラム入力
    • Roland GK-3 / GK-3B ピックアップと GI-20 MIDIインターフェースによるギター・ベースのメロディ・伴奏入力およびベース入力
  2. sクライアントPC(演奏・生成系列の再生のための Ableton Live が起動)
  3. 生成サーバー(AIモデルによる系列生成を実行)
    • cuda環境のGPU

クライアントPCから出力された音声をスピーカーから出力し, ヘッドホンからモニターします。また, 演奏中に快適にコントロールが行えるように複数のMIDI機材がクライアントPCに接続され, パッドやフットペダルの操作でユーザーインターフェースを操作できます。

ユースケース

基本的な体験方法として, 以下の2つのパターンを用意しています。

  1. ユーザー先行型: まず最初の8小節をユーザーのみの演奏とし, 演奏開始のトリガーから8小節後にAIへの生成トリガーが送信され, 人間の意図に沿う形で他のトラックの生成が行われるパターン。
  2. AI先行型: 初期の3パートを条件付け無しでAIが生成し, その後にユーザーの演奏が入るパターン。

インスタレーション作品版とは異なり, 本システムではアテンションの可視化やビジュアル表現を行わず, 音楽的要素を中心としたインタラクションで構成されています。

生成のコントロール

モデルによる生成のトリガーは, インスタレーション作品と同様に8小節毎に行われます。ユーザーの演奏は常に録音されており, 8小節毎に生成用サーバーへと送信され, その後ユーザーの演奏に合わせた他のトラックの生成が行われます。

一方, 再生成を行う対象となるトラックの選択はランダムではなく, ユーザーによって明示的に選択されます。

ユーザーインターフェースとして提供されているアプリケーションの操作を介して, 次に生成を行う楽器を切り替えます。このインターフェースは, 演奏する楽器毎にiPad・MIDIフットコントローラー・ドラム用サンプリングパッドを用いて, MIDI Control Changeをアプリケーションに割り当てることで, 演奏中にも手放しで操作が可能となっています。

テンポと生成時パラメータのコントロール

テンポと生成時のパラメータ(Temperature: $$T \in [0.9, 1.5)$$)はユーザーが任意にコントロールすることができます。

ギターや鍵盤の演奏の場合はiPadやMIDIフットスイッチ, ドラム演奏の場合はサンプリングパッドに割り当てられた「Tempo Up」「Tempo Down」「Temperature Up」「Temperature Down」の4つの操作をそれぞれ±5, ±0.1の幅でリアルタイムに操作できます。

Improvise+=Chain [Interactive] は, バックエンドであった自己回帰的な音楽生成モデルを応用し, 人間のミュージシャンをユーザーに, コンピュータとの演奏セッションを行うシステム事例です。本システムは, マルチトラック音楽生成モデルの特長を活かし, ユーザーが演奏しない楽器をリアルタイムに演奏させることが可能です。

可変のテンポや拍子, コード進行のより厳密なコントロール等を実現できれば, より豊かな表現と, 作曲にむけたアイデア支援ツールとして活用できると考えています。

作曲に向けたアイデア支援のためには, アイデアを保存しておく仕組みや, 自身の演奏とコンピュータの演奏に対してどちらをアイデアとして採用するのか, といったインタラクションを, 演奏中でも自然に行えるようにデザインする必要があります。また, コード進行やキーといった, フレーズより大きな視点からのコントロールを明示的に行える仕組みも必要です。

それらのAIモデルとのインタラクションを演奏しながら可能にするためには, 既存の画面上での操作やフットペダル等の操作にとらわれない大胆さをもちながら, 緻密に設計されたユーザーインターフェースが不可欠になるでしょう。