[x-Music Lab 23春] midiサウンドを使用したChat GPTとのコミュニケーション

Shyburi
x-Music Lab
Published in
Aug 4, 2023

慶應義塾大学 環境情報学部3年 x-Music研究会所属 渡邉鋼太郎

[序論]

今期の初めに新規生ワークショップで、ギリギリ音楽に聞こえるものを探す課題が与えられた。そこで私はChat GPTの返答を音に割り振り会話のリズムを可聴化することで、返答文をギリギリ音楽に聞けるものであると定義し実装を行なった。このことから興味を発し、Chat GPTだけでなく自身も質問を音で行い相互に音で会話する装置を作ることを着想した。

計画段階でMAXやOSCなど様々課題があることを察したが、今後の開発の勉強のためという目的も兼ねて、通信処理が必要な装置をテーマにした。

[本論]

実装

今期の制作物は、Max for liveとPythonを使用したノートナンバーと文字の変換装置と一連の動作をChat GPTとやり取りするシステムである。

まずChat GPTとのやりとりについて、Chat GPTをAPIで使用することでPython上で扱うことができた。Python上で質問項目の欄に入力した情報が追加されるようリストを作成し、GPTとのやり取りが可能になった。

次にノートナンバーと文字の変換装置について、最終成果物として制作した装置ではmidiキーボードから入力するフレーズとあらかじめ用意した単語を辞書式に登録しておき、特定のフレーズが入力されたとき対応する単語が呼び出される仕組みを用いた。

midi入力で単語を呼び出す

中間発表時のフィードバックとして文字とキーボードのマッピングに意匠がないことが指摘されたが、最終発表ではその反省を踏まえて、フレーズと単語の対応というマッピング形式を考えた。今回の発表用には弾きやすさと日常でどれくらい使うかを考えて、弾きやすいフレーズに”I”や”because”を当てはめた。そのほかに、”Happy”と”Sad”は似た音でメジャーっぽい音とマイナーっぽい音でそれぞれ登録するなど、音と語の雰囲気を結びつけた。

入力した単語はquestion.listに追加され、質問文としてGPTの質問入力欄に文の形で代入されるようにした。

GPTからの返答はGoogle CLIの感情分析ツールを使用して文意のポジティブ度合いが点数化され、点数が3.0点より高ければ返答の文がアルファベット一語ずつメジャースケールの音で再生される。もし点数が3.0点以下であればアルファベットはマイナースケールの音に変換される。

Google CLIを使った感情分析

[総括]

当初イメージしていたGPTとの会話は、私たちが楽器のセッションで行う音のやりとりがそのまま会話のように扱われるものになるイメージだった。この当初のイメージはあまりに漠然としていて、自分にとって他人に意思を伝えるコミュニケーションが言語活動にしか依存していないことを再認識させられるきっかけになった。

他人との音での意思疎通(楽器など)の完全な実装が難しいとわかった後、このやりとりをパフォーマンスとして昇華するように決めてから、制作がやりやすくなった。

最終発表では、入力側のマッピングについてノートナンバーと鍵盤の順番対応的なマッピングではなく、入力したフレーズと単語をマッピングすることで自分だけの言語辞書を作成したが、回の改良期間では辞書の単語数を十分に登録することができなかった。

今後の展望としては、より独自言語的な音の会話をパフォーマンスするために、より多くの単語を辞書に追加すること、GPT側の出力も辞書に沿って行われるようにすることが求められると考えている。

--

--