情報処理学会 音楽情報科学研究会

２．すべてのプレーヤーが対等なジャズセッションシステム

1996/02/24

３．姿の見えるジャズセッションシステム

VirJa Session
４．分散環境での実装
５．実験結果６．拡張性に関する考察

No.1

７．おわりに１．はじめに

No.2

村岡 洋一

１．はじめに

黒田 洋介

松本 英明
日高 伊佐夫
後藤 真孝

早稲田大学 理工学部

Ｉ．システムの全体構想と分散環境での実装

すべてのプレーヤーが対等なジャズセッションシステム

内容

従来研究
従来のジャズセッション・自動伴奏システムの研究

ジャズセッションで何が重要か？

（ 和気 et al., 1994
近藤 et al., 1993
渡辺 et al., 1992
Dannenberg, 1984 Vercoe, 1984
Baird et al., 1989
堀内 et al., 1995
日高 et al., 1995 ）すべてのプレーヤーが対等な立場
お互いの演奏を聞き合いながら即興演奏
インタープレイ

人間によるソロ演奏

主（１パート）

主従関係を持たずに相互に相手の音に耳を傾けて音で反応計算機による伴奏

従（複数パート）・ 計算機が人間のソロ演奏を聞きそれに追従して適切に伴奏する・ 計算機のプレーヤー同士はインタラクションできなかった

ジャズセッションシステムの音楽認識処理の研究（ 金森 et al., 1995 ）本研究の目的・ マルチエージェントモデルによる計算機のこのようなインタープレイをプレーヤー同士のインタラクションに言及

人間と計算機上の複数のプレーヤー間で実現

・音楽聴取過程の実現が中心で

No.3

インタラクションの本質を探求

No.4

実際の演奏の生成はおこなっていなかった

人間と計算機が共に演奏する際の２．すべてのプレーヤーが対等なジャズセッションシステム
ジャズセッションのモデル
Player 2

Human

Human

ComputerComputerPlayer 4

Human

Human

ComputerComputer

Human

Human

ComputerComputerPlayer 3

Player 4

Human

Human

ComputerComputer

すべてを人間が担当する場合複数箇所にいるプレーヤー間でのセッション

・ すべてのプレーヤーがお互いの即興演奏を聞き合う

コンピュータネットワークを介して演奏情報を交換することで実現可能

No.5

・固定した主従関係を持たずに対等な立場でインタラクション

Player 2

Interaction

Interaction
Player 3

Player 1

No.6

Player 1

ジャズセッションのモデル

ジャズのピアノトリオへの適用

ジャズセッションのモデル
Player 1

Player 2

Human

Human

ComputerComputerPlayer 1: Pianist
Human
ComputerInteraction

Interaction

Interaction

Virtual Jazz Trio

Player 3

Player 4

Player 2: Bassist

Player 3: Drummer

Human

Human

Human

Human

ComputerComputerComputerInteraction

Computer

すべてを計算機が担当する場合
・ プレーヤー２，３を独立したプレーヤーとして実現
によるセッション

計算機上のプレーヤーが設計者の分身となり分身同士のインタラクションがおこなわれる・プレーヤー２はプレーヤー１の人間の演奏だけでなくプレーヤー３の計算機の演奏にも反応して演奏
・プレーヤー２とプレーヤー３が演奏によって影響を与え合うことが可能

No.8

異なる人が設計したプレーヤー

No.7

様々な個性を持たせたプレーヤー

３．姿の見えるジャズセッションシステム

ＣＧによるプレーヤーの可視化

VirJa Session のモデル
Player 1: Pianist
Human
ComputerBassist

rame

Ca
alera
am

Player 2: Bassist

Cal
Re

Virtual Jazz Trio
Re

Human
ComputerDrummer

Player 3: Drummer
Human
Computer

Virtual Camera

演奏動作

Real-time CG

Virtual Camera

リズムをとる動作

Real-time CG

ジェスチャー動作
プレーヤー：

演奏音以外に視覚情報（ジェスチャー）も交換

うなずく動作

より人間同士のジャズセッションに近付いた
聴覚と視覚による臨場感のあるインタラクション

No.9

ライブ演奏を見ているときのようにプレーヤーの存在を感じられる

No.10

視線切替え
観客：

カメラによる視覚を通じたインタラクション

カメラによる視覚を通じたインタラクション

ジェスチャーによるシナリオの動的決定

ジェスチャーの交換

シナリオ

Player 1: Pianist
Human・ 演奏進行表

テーマ演奏部

Computer

各プレーヤーのソロ演奏部

カメラ画像
から認識

フォーバース部

カメラ画像
から認識

目で見る
目で見る

・ 各部の繰り返し回数
Player 2: Bassist

ジェスチャーを用いた演奏中のインタラクションにより動的に決定Player 3: Drummer

Human
Computer

Human

通信により交換

Computer

ジェスチャー
視線

・ 次のプレーヤーのソロ演奏部に移る指示
体を左右に傾けるジェスチャー

・ シナリオ中の各部の終り付近
頻繁に他のプレーヤーへ視線を向ける

・ テーマ演奏部に移る（戻る）指示
手で頭を指すジェスチャー

・ 人間がジェスチャーを計算機プレーヤーに伝えたいとき計算機プレーヤーがうなずき返す

No.12

No.11

視線が自分を向いている間にジェスチャー動作

４．分散環境での実装

複数プロセスによる実現
サーバ・クライアント・モデル

必要な処理

演奏情報などをお互いに通信

1

計算機プレーヤーが演奏を理解・生成する処理

2

演奏全体のテンポを管理する処理

3

計算機プレーヤーの演奏を人間が聞こえるように音として出力する処理

4

人間の演奏を計算機プレーヤーに伝えるために入力する処理

利点
・ 実装が容易

5

計算機プレーヤーのＣＧ画像を表示する処理

6

カメラにより人間のジェスチャーを検出する処理

各プロセスはそれぞれに特化した処理に専念
・ 拡張性が高い提案したモデルを実現する上で適している

実装環境
・ ネットワーク：

436・ ３台のワークステーション：

SGI Indigo2 Impact
Extreme

61
5

MIDI

・ プロセス間の通信：

RMCP

No.13

5

・ 演奏の入力と出力：

ＲＭＣＰ

ＲＭＣＰの特徴

Remote Music Control Protocol

ブロードキャストによる情報共有

・ ＭＩＤＩとＬＡＮを融合した分散協調システムにおけるサーバ・クライアント間の通信プロトコル

No.14

12

Ethernet・ クライアントがＲＭＣＰパケットをブロードキャスト

・ シンボル化された音楽情報をネットワークを通じて伝送するために設計

・ 演奏情報などをネットワーク上の様々なサーバ共有
・ システムの実装・拡張が容易

ＲＭＣＰパケット

サーバを単に追加するだけで新たな機能を実現

・ 演奏情報ＭＩＤＩメッセージ

タイムスタンプによる時間管理
・ ビート情報・ プロトコルの拡張

四分音符の時刻と現在のテンポ（ 後藤・橋本，1993 に対して ）パケットのヘッダー部にタイムスタンプを付加
・ ジェスチャー情報
体を左／右に傾けた・ タイムスタンプの時刻前に到着したパケット

手で頭を指した

その時刻通りに処理
時間順を保証・ アニメーション生成情報ジェスチャー動作指示

No.16

視線方向指示No.15

うなずく動作指示すべてのプレーヤーが対等なジャズセッションシステムの実装

すべてのプレーヤーが対等なジャズセッションシステムの実装
RMCP Player Server

Player 1: Pianist
Human
Computer

RMCP Player Server

RMCP MIDI Receiver

4 RMCP MIDI Receiver

3 RMCP Sound Server

演奏情報

現在t

Pianist

演奏情報

過去の演奏情報を分析
Ethernet

次の演奏情報を決定

Player 2: Bassist

Player 3: Drummer

ブロードキャスト

Human

Human

ComputerComputer

1 RMCP Player Server
2 RMCP Beat Provider

ビート情報

RMCP Player Server

1

RMCP Beat Provider

2

BassistRMCP Beat Provider
・ ビート情報をブロードキャスト

Drummert
1

演奏理解生成RMCP Player Server

2

テンポ管理

RMCP Beat Provider

3

演奏音出力RMCP Sound Server

4

演奏入力

RMCP MIDI Receiver

各拍の位置（四分音符の時刻）

・ 現在の実装では演奏のテンポは一定

VirJa Session の実装

No.18

No.17

同一間隔のビート情報を送信

VirJa Session の実装
RMCP Player Server の拡張

Player 1: Pianist
Human
Computer・ ジェスチャー情報の受信
RMCP Sound Server

RMCP MIDI Receiver

6 RMCP Camera Analyzer

シナリオ中の各部の繰り返し回数を決定
うなずく動作をアニメーション生成情報として送信

Pianist

ジェスチャー情報・ ジェスチャー情報の送信

Ethernet
Player 2: Bassist

Player 3: Drummer

Human

Human

ComputerComputer

RMCP Player Server
RMCP Beat Provider

5 RMCP Animation ServerBassist

最大繰り返し回数に達したとき次へ移るジェスチャーを送信

RMCP Player Server

アニメーション生成情報

ジェスチャー動作をアニメーション生成情報として送信

RMCP Beat Provider
RMCP Animation Server

5Drummer・ 視線方向の切替え

Virtual Jazz Session

シナリオ中の各部の終り付近

6 カメラ入力

RMCP Camera Analyzer

他のプレーヤーが主張しているとき他のプレーヤーへ視線を向ける

No.20

RMCP Animation Server

No.19

5 ＣＧ出力５．実験結果

６．拡張性に関する考察

実験条件

一般的なジャズセッションのモデルの実現

・ ４ビートのスタンダード曲：

Take the "A" Train

プレーヤーの担当者の変更

・ ジャズピアノ歴５年（ピアノ歴２１年）のピアニスト・ シナリオ

テーマ演奏部
ピアノソロ演奏部
ベースソロ演奏部
ピアノソロ演奏部
フォーバース部 （ピアノソロ／ドラムソロ）
テーマ演奏部

Human

Human

ComputerComputer

RMCP Player Server

RMCP Sound Server

RMCP Beat Provider

RMCP MIDI Receiver

プレーヤーの追加

実験結果

RMCP Sound ServerRMCP Player Server

・ 全プレーヤーがより対等なセッションを実現

・

ピアニストが主導権を握るだけでなく他のプレーヤーも主導権を握ってソロ演奏等をおこなう

RMCP Beat Provider

又は・ 各 RMCP Player Server

RMCP MIDI Receiver

を追加の演奏理解部を新たなプレーヤーにも対応するように修正・ 相手の姿が見えることで臨場感が増した
実際にライブ演奏をしているときにより近い感覚

0.30 ms （平均値）

No.21

・ ＲＭＣＰパケットの遅延時間：

No.22

VirJa Session の場合も同様

・ ジェスチャーを介した視覚的なインタラクションを達成

６．おわりにテンポ変化への対応
RMCP Beat Tracker

RMCP Beat Provider

まとめ

他のプレーヤーの演奏のテンポ変化に追従

すべてのプレーヤーが対等なジャズセッションシステム

複数箇所にいるプレーヤー間でのセッション

プレーヤーは固定した主従関係を持たずに影響を与え合いながら即興演奏

・ ＲＭＣＰによりネットワークを利用して実装
複数箇所にいるプレーヤー間にも自然に拡張姿の見えるジャズセッションシステム

VirJa Session
演奏音に加えて視覚情報も介したインタラクション

様々な個性を持つ計算機プレーヤー間でのセッション

ＲＭＣＰを用いた分散環境での実装

・ 様々な人が各自の思いを込めた

拡張性が高く様々な発展が可能を実装

接続していろいろな形態のセッションをおこなう

今後の研究

・ 計算機上のプレーヤーを介したそれらの設計者同士の間接的なインタラクション

ピアニストのＣＧを含めた全員の姿を可視化

だけを選択・交換すればよい

No.23

・ RMCP Player Server

拡張性に関する考察での検討結果を実践

画面上に仮想のライブステージを設置

No.24

RMCP Player Server