WISS2005

Openism：旋律補正に基づく演奏支援機能付き遠隔地セッションシステム
Openism: An Open-to-the-public Distributed Session System with a Melody-correction-based
Improvisation Support Function

三澤 由宇

細野 裕

仁科 章史

石田 克久

北原 鉄朗

後藤 真孝

武田 正之∗

Summary. The goal of our study is to popularize active ways of enjoying music, especially jam sessions.
To reach the goal, this paper proposes a novel environment that helps unskilled people easily enjoy jamsessions. To achieve this environment, there are two problems: insufficient skill of beginners and thedifficulty of finding session members. Although some attempts have been made to solve these problems
in previous studies, none of them have dealt with both problems mentioned above. In this study, weachieve a new system, called Openism, that solves both of the two problems. For the former problem,
our system provides a virtual music studio on the Internet, which enables users to find session members
from worldwide musicians and to enjoy a remote session with them through the Internet. For the latter,our system supports insufficient skill for improvisation of beginners by automatically detecting musicallyunnatural notes and correcting them to musically natural ones in real time. We implemented this systemon a Linux server and Windows clients and confirmed that this system could solve the problems ofinsufficient skill and the difficulty of finding members.

1

はじめに

本研究の目的は，より多くの人がジャムセッションを楽しめるようにすることである．これを実現するためには，主に 2 つの問題を解決する必要がある．
1 つはジャムセッションに参加する演奏者の「技能の問題」である．即興演奏は，旋律創作と演奏を同時に行う演奏形態であるため，どの音を出せば自然な旋律になるか（他の演奏者の演奏と調和するか）をその場で考えながら演奏しなければならない．そのため，単に楽器が弾けるだけでは，ジャムセッションを楽しむのは困難である．もう 1 つの問題は，ジャムセッションを共に楽しむ演奏相手が身近にいないという「合奏相手の問題」である．ジャムセッショ
ンを楽しんだり上達したりするには，他の演奏者とのセッションが不可欠であるが，現実の世界で演奏相手を探すことは必ずしも容易なことではない．
我々はこれまで，上記の問題のうち「技能の問題」に着目し，演奏者が弾いた不自然な旋律を自動的に補正したり鍵盤の振動で演奏者に知らせるシステムを実現した [1, 2, 3]．これにより，初心者でもあらかじめ用意された伴奏に合わせてであれば，手軽に即∗c 2005 日本ソフトウェア科学会 ISS 研究会．
°Yuu Misawa and Yutaka Hosono and Akifumi Nishina，
東京理科大学 理工学部 情報科学科，Katsuhisa Ishida，
東京理科大学 理工学研究科 情報科学専攻 (現在，日本電気株式会社)，Tetsuro Kitahara， 京都大学大学院 情報学研究科 知能情報学専攻，Masataka Goto， 産業技術総合研究所，Masayuki Takeda， 東京理科大学 理工学部
情報科学科

興演奏を楽しんだり独習できるようになったが，「合奏相手の問題」は解決されていなかった．その他にも「技能の問題」に対しては，INSPIRATION[4]，Theremoscore[5] などが提案され，「合奏相手の問題」に対しては，ネットワークを介して遠隔地同士のセッションを可能にする [6, 7]，計算機内に仮想ミュージシャンを構築する [8, 9] といった解決策がとられてきたが，いずれも 2 つの問題を同時に解決するものではなかった．
そこで本稿では，上記で指摘した 2 つの問題の両方を解決する新たなジャムセッションシステム Openismを提案する．Openism では，Internet 上に設置するロビーと複数の仮想演奏スタジオからなる「仮想セッション環境」によって「合奏相手の問題」を解決する．ユーザは，ロビーにて世界中の演奏者をセッションに誘うことができ，そこで見つけた演奏者と仮想演奏スタジオに入ることで，Internet を介した遠隔地同士のセッションを楽しむことができる．また，「技能の問題」に対する解決策として，「旋律補正機能」を持つ．これは，ユーザの演奏を監視して各打鍵が音楽的に妥当（自然）か否かを判定し，妥当でなければ他の音にリアルタイムで差し換える機能である．この機能により，音楽的に不自然な旋律が他の演奏者に聴かれる可能性を削減できるため，即興演奏初心者でも萎縮せずにジャムセッションに挑めるようになると期待できる．さらに本システム
では，「仮想セッション環境」と「旋律補正機能」の両者を組み合わせることで，演奏者が演奏相手の旋律をある一定の範囲内で操作できる「ジャンル変換

WISS 2005機能」を提供する．これにより，例えば，相手の演奏をジャズ風に変換するといったことができ，演奏者がお互いに別々のジャンルでのジャムセッションを行うという，今までにない新たな形態でのジャムセッションを可能とする．
以下，2 章において前述したジャムセッションにおける 2 つの問題について議論し，これらの解決策として Openism を提案する．3 章では，Openism の実現方法を述べ，4 章で実装，実験について述べる．
5 章で考察について述べ，6 章でまとめを述べる．

2Openism

本章では，本研究の目的である，より多くの人がジャムセッションを楽しめる環境の実現において解決すべき問題について述べ，その問題を解決するジャムセッションシステムを提案する．

2.1

解決すべき問題

本稿では，即興演奏経験の乏しい楽器演奏者でも気軽にジャムセッションに参加できる環境を提供することを目的としている．この目的を達成するためには，次の「技能の問題」と「合奏相手の問題」を解決する必要がある：

図 1. Openism の全体像

2.2

旋律補正機能付き遠隔地セッションシステム

Openism
技能の問題
一般に，即興演奏を行うには単に楽器が演奏できるだけでは不十分である．なぜなら，ジャムセッションに参加するには，その場で旋律を創作してその場で弾く技術が求められるためである．この技術を習得するためには，音楽理論の学習や代表的な旋律の習得といった訓練が必要となるが，何よりも実際にジャムセッションに参加し，経験を積むことが必要不可欠である．しかし，即興演奏の初心者は，概して即興演奏に自信がないことが多く，ジャムセッションに参加する機会があっても萎縮してしまうことが少なくない．そのため，初心者でも萎縮せずにジャムセッションに参加できる環境が必要である．
合奏相手の問題ジャムセッションは，複数の演奏者が参加して初めて成り立つものであるため，演奏相手を確保する必要がある．演奏相手を確保する最も簡単な方法は，友人とセッションを行うことであるが，セッションに参加してくれる友人を見つけることは決して容易なことではない．また，ジャムセッションを開催するライブハウスに赴き，セッションに参加する方法も考えられるが，初心者には敷居が高く，初心者の参加が歓迎されない場合さえある．

本稿では，前述の 2 つの問題を解決するジャムセッションシステム Openism（図 1）を提案する．
Openism は，Internet 上にロビーと複数の仮想演奏スタジオからなる「仮想セッション環境」を構築すると同時に，ユーザの演奏における音楽的に不自然な旋律を自動的に補正する「旋律補正機能」を提供する．例えば，遠隔地にいる演奏者 A と演奏者B（両者は面識がなくてもよい）は，インターネット経由でサーバに接続し，ロビーに入ってお互いを発見することができる．そして，ロビーでテキストチャットによって誘い合い，図 1 のように仮想演奏スタジオ 1 に入ると，遠隔地同士のセッションが可能になる．その際，即興演奏に自信のないユーザは，旋律補正機能を有効にすることで，音楽的に不自然な旋律を弾いてしまうことを気にせずに演奏できる．
例えば図 1 では演奏者 A が即興演奏に自信がないため旋律補正をしているが，演奏者 B には補正後の旋律しか聞こえないため，演奏者 A は演奏力の差を気にせず演奏することができる．また，演奏に参加せずに，他のユーザの演奏を聞くことも可能である（鑑賞モード）．さらに本研究では，「仮想セッション環境」と「旋律補正機能」の 2 つを組み合わせて発展させた独自の機能として，聴取側が能動的に相手の旋律を操作する「ジャンル変換機能」も提供する．以下，これらの機能を詳細に述べる．

Openism

あるジャンルらしく旋律を補正することが可能となる．これは，各演奏者が他の演奏者の演奏に，一定の範囲内で関与する新たな試みである．

3

図 2. 遅延を考慮した演奏モデル．

2.2.1

仮想セッション環境「仮想セッション環境」はセンタと呼ばれるテキストベースのチャット機能をもつサーバを用意することで実現し，遅延を利用した演奏モデルは RMCP
（Remote Music Control Protocol）[10] を用いて実現する．RMCP では，演奏情報は RMCP パケットという単位で伝送され，MIDI メッセージは 1
つの RMCP パケットの中に包まれて送信される．
RMCP は，本システムでは，待合室となる仮想のロビーを• タイムスタンプを用いたパケットの時間管理

Internet 上に用意する．ユーザはロビー上で他のユーザを見つけセッションに誘うことができる．その後，演奏相手と一緒に仮想演奏スタジオに入り，セッションを行う．しかし，Internet を経由した遠隔地同士のセッションでは，通信による遅延が発生し，音が遅れて聞こえてしまうという音楽演奏においては致命的な問題が生じる．そこで，本システム
では Internet 等で不可避な遅延を積極的に利用した形態の演奏モデルを用いる．このモデルでは，ブルースのような数十秒程度のコード進行（短い曲）を繰り返し一定のテンポで演奏することを前提とし，遠隔地にいる不特定多数の演奏者が即興で演奏する．
そのコード進行の演奏時間を 1 周期とすると，各演
奏者は他の演奏者の演奏を周期の整数倍だけ遅れて聞きながらインタラクションを行う（図 2）．コー
ド進行が繰り返されるため，演奏が周期の整数倍だ
け遅れれば再び同じコード（曲構造）になり調和することが期待できる．これは文献 [6] で提案された手法である．

2.2.2

旋律補正機能本機能により，自分の演奏をリアルタイムに補正し，補正後の演奏情報のみがネットワーク越しの演奏相手に伝送されるので，補正前の音楽的に不自然な音を含む旋律は誰にも聴かれることなくセッションに参加できる．また，演奏技能の向上のために敢えて補正せず，鍵盤の振動によって不自然な旋律の個所をユーザに提示することもできる．これらは文献 [1, 2, 3] で提案された手法である．

2.2.3

ジャンル変換機能

本機能により，例えば，片方は相手の演奏をジャズ風に編曲し，もう一方は相手の演奏をブルース風に編曲しながら同時にセッションに参加するということが実現できる．遠隔地セッションでは，各演奏者が同じ演奏を聞く必要が無いため，演奏者は他の演奏者の演奏を自分好みに編曲しても構わない．したがって，相手の旋律を「旋律補正機能」を用いて，Openism の実現• TCP/IP による信頼性を確保した遠隔地間の双方向パケット中継の 2 つの機能を提供できることから今回の目的に適している．
「旋律補正機能」は文献 [1, 3] で提案されたシステム ism を用い実現する．以下，RMCP とism を概説する．

3.1 RMCP：音楽用通信プロトコル
RMCP では，様々な音楽情報は RMCP パケッ
トという単位で伝送される．RMCP はマルチサー
バ・マルチクライアント・モデルに基づいているた
め，RMCP に関するすべてのプログラムは，RMCP
クライアントと RMCP サーバに分類される．各RMCP クライアントは RMCP パケットを生成し，すべての RMCP サーバへ向けてブロードキャストする．RMCP クライアントの代表的なものとして，MIDI メッセージを MIDI 機器から受信する RMCP
MIDI Receiver がある．これは，MIDI 楽器を用いて演奏する場合に用いる．一方，各 RMCP サーバはブロードキャストされたすべての RMCP パケッ
トを受信し，様々な方法で利用する．RMCP サー
バの代表的なものとして MIDI 機器を制御し音を鳴らすための RMCP Sound Server がある．RMCPは MIDI メッセージ，コード情報等を伝送できる．

3.2 ism：即興演奏支援システム
ism は演奏された旋律の中で不適切な音を検出し，それを補正することで旋律創作を支援する即興演奏未習得者のための支援システムである．旋律中の不適切な箇所を検出する 1 つの方法として，アウト音（アヴェイラブルノートスケール1 から外れる音）をすべて補正対象とする方法が考えられるが，即興演奏ではアウト音を意図的に用いる場合も多く，すべてのアウト音を補正することは，演奏表現の幅を狭1それぞれのコードに適した音で構成されるスケール．このスケール内の音はコードとよく響きあうとされる．

WISS 2005

図 4. 補正前の音が発音される問題の解決法．
...

-3-2-1=P (xn−N +1 · · · xn )P (xn−N +1 · · · xn−1 )と定義する．これは，さまざまな旋律の妥当性を Ngram でモデル化したことに相当する．

3.2.3
図 3. ism による補正内部処理．

表 1. 特徴ベクトルの各要素

対象音の種類
対象音と直前の音の音高差
対象音の発音時刻が 8 分音符レベルで表か裏か対象音の直前に休符があるかめることにつながる．これに対し ism では，演奏された旋律に対し，特徴抽出と N-gram による旋律のモデル化を行い，あらかじめ用意した旋律データベース（様々な楽曲の旋律とコード進行を収録したもの）の中で出現頻度の低いアウト音のみを補正対象とすることで，演奏表現の幅を狭めることのない旋律補正を実現している（図 3）．

3.2.1

特徴抽出

旋律の各音を，表 1 に示される特徴量を用いて特徴ベクトルとして表現する．以下，特徴ベクトルxで表される音を「音x」と表す．

3.2.2

N-gram による旋律のモデル化

ある旋律の次に与えられた音の妥当性を判断するため，旋律をモデル化する．これは，旋律 X =x1 · · · xn−1 の次に音 xn が続く確率 P (xn |X) を与えるモデルと考えることができる．ここでは，xn がその直前の N − 1 個の音 xn−N +1 · · · xn−1 に依存して決められると考え，

P (xn |X) = P (xn |xn−N +1 · · · xn−1 )旋律のモデルに基づく補正対象の決定

即興演奏において旋律 X の後にアウト音 xn が演奏されたとき，その音の妥当性は，旋律データベースから求めた N-gram 確率 P (xn |X) で表される．
なぜなら，この値が高ければ，実在の旋律でも X の後に xn が続くことがよくある，ということを示しているからである．そこで，この値がしきい値より低いとき，xn を補正対象とする．

3.2.4

補正後の音高決定

アウト音 xn が補正対象となると，この xn の音高を補正前の音高に対して長 2 度以内の範囲でさまざまな音高（ただし非アウト音）に変更したときのP (x|X) が最大となる音高に補正する．

3.3 Openism の実現方法
WAN 上での通信方法
各ユーザは自分の計算機から，TCP/IP によってInternet 等の WAN 経由でセンタ（演奏中継用サーバ）に接続することにより，他の複数のユーザとの通信路を確保し，RMCP パケットを共有する．

LAN 上での通信方法
LAN 上では，各ユーザは RMCP クライアント，及び RMCP サーバを用いて，RMCP パケットのUDP/IP によるブロードキャストで通信する．しかし，このまま旋律補正の機能を組み込むと，RMCPクライアントのブロードキャストが原因となり，補正前の音が発音される問題が生じる．
本システムでは，各ユーザに RMCP クライアン
トネットワークと RMCP サーバネットワークを用意することにより，この問題を解決する．この構成を図 4 に示す．RMCP クライアントネットワーク

Openism

図 5. Openism の実行画面．

上で RMCP クライアントはブロードキャストし，RMCP サーバネットワーク上で RMCP サーバはRMCP パケットを受信する．そして，RMCP パケットを RMCP クライアントネットワーク上からRMCP サーバネットワークへ中継するプログラム
RMCP Internal Gateway を導入する．こうすることで，演奏される全情報が発音前に RMCP Internal
Gateway を通過することになる．そのため，RMCPInternal Gateway 上で旋律補正することで，前述した補正前の音が発音される問題を解決でき，また，相手の旋律補正をすることも可能となる．尚，補正する旋律の判断は MIDI チャネルによって判断する．

3.4

システム構成WAN 上での構成
演奏中継用のセンタとなる Openism Center と，各ユーザがセンタに接続するための Openism Clientによって構成される．

LAN 上での構成
実際の MIDI 楽器との入出力には，RMCP MIDI
Receiver と RMCP Sound Server を用いる．伴奏用
SMF ファイルは，各ユーザのもとで RMCP SMFloopPlayer を用いて繰り返しループ再生される．
各ユーザは RMCP クライアントネットワーク上でRMCP SMFloopPlayer，RMCP MIDI Receiver，
RMCP サーバネットワーク上で RMCP Sound Server，さらに，その両ネットワークに属する Openism
Client，RMCP Internal Gateway を動作させる．

4
4.1

実装・実験
実装

Openism を C 言語で実装した．Openism のサーバとなる Openism Center を Linux 上に，クライアント側の Openism Client，RMCP Internal Gate-way を Windows XP 上で実装した．RMCP クライ
アントネットワークと RMCP サーバネットワークの区切り方は，RMCP パケットを送受信するポートを指定することで 2 つのネットワークに分けた．
また，伴奏用 SMF ファイルにコード情報を埋め込み，RMCP SMFloopPlayer が，その SMF ファイルを読み込み，コード情報を送るように改変を行った．実行画面は図 5 のようになっており，(1)〜(4)の順で操作をすることで遠隔地セッションを行うことができ，(5) の操作によって旋律の補正ができる．

4.2

実験方法

Openism が実際に遠隔地同士のセッション上において旋律補正できることを確認するために Internetを経由した遠隔セッションを試みた．Openism Center を東京理科大学野田キャンパスの Linux 上に設置し，共同研究者 2 人がそれぞれ神奈川県・千葉県から Windows XP 上で Openism Client を動作させ接続した．演奏者は各々RMCP SMFloopPlayer，
RMCP MIDI Receiver，RMCP Sound Server，
RMCP Internal Gateway を Windows XP 上で動作させ，実験を実施した．演奏者は MIDI キーボードを用いて演奏した．演奏者は各々自分の使用するMIDI チャネルを指定し旋律補正を行い，自分の演奏が補正されて相手に送られていることを確認するために，アウト音のみを打鍵したり，アウト音の混じったスケールを演奏した．また，各々相手の使用している MIDI チャネルを指定し旋律補正を行い，相手の演奏がジャズ風に補正されることを確認するために，同様の演奏をした．
4.3

実験結果

実験の結果，旋律補正をしたい MIDI チャネルを指定することで，遠隔地セッション上で自らの演奏と相手の演奏がそれぞれ補正できることを確認した．
今回，旋律補正ではジャズ風に変換されるような

WISS 2005

旋律データベースを用意したが，補正された相手の演奏はジャズ風には聞こえなかった．これは，現状では今発音されようとしている音の高さしか操作していないため，リズムの補正ができないということと，音符を新たに加えたり，削ったりすることができないためだと考えられる．

5

考察

5.1

関連研究との比較

1 章で挙げた 2 つの問題に対し，これまでにいくつかの研究 [1, 3, 4, 5, 6, 7, 8, 9] がなされてきたが，いずれもどちらかの問題だけを扱っており，2つの問題を同時に解決するものではなかった．
Open RemoteGIG[6]，GDS[7] はネットワークを介した遠隔セッションを実現し，ジャムセッショ
ンシステム [8]，Guitarist Simulator[9] は計算機内に構築された仮想ミュージシャンとのセッションを実現した．これらは，「合奏相手の問題」の解決策として有効であるが，即興演奏技術のある演奏者を対象としており「技能の問題」は解決していなかった．
一方，ism[1, 3] は，ユーザの演奏をリアルタイムに監視して音楽的な妥当性を判断し，システムが妥当でないと判断する音が演奏された場合に，自動的に他の音に補正するシステムである．これにより，音楽的に不自然な音が聴衆に聴かれる可能性を低減できるため，初心者でも即興演奏を楽しめるようになった．INSPIRATION[4] は，アウト音を全て補正することで即興演奏を支援するシステムである．
Thermoscore[5] は，発熱機能のある鍵盤楽器で，アウト音に対応する鍵盤を加熱することで，これらの鍵盤を頻繁に用いる旋律を回避することができる．
これらは，「技能の問題」に対して有効な解決策を提供するが，あらかじめ用意された伴奏に合わせて演奏するか，演奏相手は自ら確保することを前提としており，「合奏相手の問題」は扱っていなかった．
Openism では，「仮想セッション環境」，「旋律補正機能」の機能を同時に提供することで，これらの問題を同時に解決できるジャムセッションシステムを実現できた．また，その 2 つを組み合わせることで実現できる「ジャンル変換機能」を提供し，演奏者がお互いに別々のジャンルでのジャムセッションを行う新たな形態でのジャムセッションを可能とした．
5.2

今後の発展（遅延を考慮した補正）

Openism の演奏モデルでは，演奏された旋律は，コード進行の周期の整数倍遅れて発音される．つまり最低でも 1 周期分の旋律を見ることができるため，今まではリアルタイム性を重視した即興演奏支援しか考えられてこなかったが，前後の関係からその音が自然かどうかを判断することができる．よって，より自然な旋律への補正を行うことができる．これにより，ジャンル変換の精度もあげることができると考えられる．これ以外にも，全体を見渡せることによって，音楽理論等の確率以外の手法を用いてより高度な補正を行うことも可能となる．

6まとめ

本稿では，即興演奏初心者であっても萎縮せずに世界中の演奏者とネットワーク上でジャムセッションが行えるシステム Openism を提案した．
「仮想セッション環境」「，旋律補正機能」を用いることで，即興演奏をする上で問題となる「合奏相手の問題」，「技能の問題」を同時に解決でき，より多くの演奏者がジャムセッションを楽しめる場を提供できた．また，「ジャンル変換機能」により，演奏相手の旋律を操作することで，今までにないジャムセッションの形態での演奏を可能とした．今後は 5.2 節で議論した方向にも発展させていく予定である．

参考文献[1] 石田克久, 北原鉄朗, 武田正之. ism：即興演奏の不自然な旋律を補正する演奏支援システム. In
11th Workshop on Interactive System and Software(WISS2003), pp. 19–24, 2003.
[2] 石田克久, 北原鉄朗, 武田正之. 演奏者に振動で情報提示する鍵盤楽器「ぶるぶるくん」. In
12th Workshop on Interactive System and Software(WISS2004), pp. 59–64, 2004.
[3] 石田克久, 北原鉄朗, 武田正之. N-gram による旋律の音楽適否判定に基づいた即興演奏支援システ
ム. 情報処理学会論文誌, 46(7):1548–1559, 2005.
[4] 谷井章夫, 片寄晴弘. 音楽知識と技能を補うピアノ演奏システム INSPIRATION . 情報処理学会論文誌, 43(2):256–259, 2002.
[5] H. Miyashita and K. Nishimoto. Thermoscore:
A New-type Musical Score with Tempreture
Sensation. 2004 Conference on New Interfacesfor Musical Expression(NIME04), pp. 104–107,2004.
[6] 後藤真孝, 根山亮. Open RemoteGIG：遅延を考慮した不特定多数による遠隔セッションシステム.
情報処理学会論文誌, 43(2):299–309, 2002.
[7] 長嶋洋一. GDS(global delayed session)music ネットワーク遅延を伴う音楽セッション・モデル. 情報処理学会研究報告, 2002(63):61–66, 2002.
[8] 青野裕司. ジャムセッションシステム，コンピュータと音楽の世界，長嶋洋一他編. 共立出版, 1999.
[9] 浜中雅俊, 後藤真孝, 麻生英樹, 大津展之. Guitarist Simulator: 演奏者の振舞いを統計的に学習するジャムセッションシステム. 情報処理学会論文誌, 45(3):698–709, 2004.
[10] 後藤真孝, 根山亮, 村岡洋一. RMCP：遠隔音楽制御用プロトコルを中心とした音楽情報処理. 情報処理学会論文誌, 40(3):1335–1345, 1999.