JP6597903B2 - 楽曲データ処理方法およびプログラム - Google Patents
楽曲データ処理方法およびプログラム Download PDFInfo
- Publication number
- JP6597903B2 JP6597903B2 JP2018528862A JP2018528862A JP6597903B2 JP 6597903 B2 JP6597903 B2 JP 6597903B2 JP 2018528862 A JP2018528862 A JP 2018528862A JP 2018528862 A JP2018528862 A JP 2018528862A JP 6597903 B2 JP6597903 B2 JP 6597903B2
- Authority
- JP
- Japan
- Prior art keywords
- performance
- tempo
- music
- music data
- automatic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/008—Means for controlling the transition from one tone waveform to another
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10G—REPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
- G10G1/00—Means for the representation of music
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/361—Recording/reproducing of accompaniment for use with an external source, e.g. karaoke systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/40—Rhythm
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
- G10H2210/091—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for performance evaluation, i.e. judging, grading or scoring the musical qualities or faithfulness of a performance, e.g. with respect to pitch, tempo or other timings of a reference performance
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/155—Musical effects
- G10H2210/265—Acoustic effect simulation, i.e. volume, spatial, resonance or reverberation effects added to a musical sound, usually by appropriate filtering or delays
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/375—Tempo or beat alterations; Music timing control
- G10H2210/391—Automatic tempo adjustment, correction or control
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2220/00—Input/output interfacing specifically adapted for electrophonic musical tools or instruments
- G10H2220/155—User input interfaces for electrophonic musical instruments
- G10H2220/441—Image sensing, i.e. capturing images or optical patterns for musical purposes or musical control purposes
- G10H2220/455—Camera input, e.g. analyzing pictures from a video camera and using the analysis results as control data
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/325—Synchronizing two or more audio tracks or files according to musical features or musical timings
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/005—Algorithms for electrophonic musical instruments or musical processing, e.g. for automatic composition or resource allocation
- G10H2250/015—Markov chains, e.g. hidden Markov models [HMM], for musical processing, e.g. musical analysis or musical composition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Auxiliary Devices For Music (AREA)
- Electrophonic Musical Instruments (AREA)
Description
本発明は、自動演奏に利用される楽曲データに対する処理に関する。
楽曲を演奏した音の解析により、楽曲内で現に演奏されている位置(以下「演奏位置」という)を推定するスコアアライメント技術が従来から提案されている(例えば特許文献1)。例えば、楽曲の演奏内容を表す楽曲データと、演奏により発音された音を表す音響信号とを対比することで、演奏位置を推定することが可能である。
他方、楽曲の演奏内容を表す楽曲データを利用して鍵盤楽器等の楽器を発音させる自動演奏技術が普及している。演奏位置の解析結果を自動演奏に適用すれば、演奏者による楽器の演奏に同期した自動演奏が実現され得る。しかし、実際の演奏には演奏者に固有の傾向(例えば音楽的な表現または演奏の癖)が反映されるから、実際の演奏の傾向とは無関係に事前に用意された楽曲データを利用した推定では、演奏位置を高精度に推定することは困難である。以上の事情を考慮して、本発明は、実際の演奏の傾向を楽曲データに反映させることを目的とする。
以上の課題を解決するために、本発明の好適な態様に係る楽曲データ処理方法は、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定し、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新し、前記楽曲データの更新においては、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。
本発明の他の態様に係るプログラムは、コンピュータを、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定する演奏解析部、および、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新する第1更新部として機能させるプログラムであって、前記第1更新部は、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。
本発明の他の態様に係るプログラムは、コンピュータを、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定する演奏解析部、および、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新する第1更新部として機能させるプログラムであって、前記第1更新部は、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。
<自動演奏システム>
図1は、本発明の好適な形態に係る自動演奏システム100のブロック図である。自動演奏システム100は、複数の演奏者Pが楽器を演奏する音響ホール等の空間に設置され、複数の演奏者Pによる楽曲(以下「演奏対象曲」という)の演奏に並行して演奏対象曲の自動演奏を実行するコンピュータシステムである。なお、演奏者Pは、典型的には楽器の演奏者であるが、演奏対象曲の歌唱者も演奏者Pであり得る。すなわち、本出願における「演奏」には、楽器の演奏だけでなく歌唱も包含される。また、実際には楽器の演奏を担当しない者(例えば、コンサート時の指揮者またはレコーディング時の音響監督など)も、演奏者Pに含まれ得る。
図1は、本発明の好適な形態に係る自動演奏システム100のブロック図である。自動演奏システム100は、複数の演奏者Pが楽器を演奏する音響ホール等の空間に設置され、複数の演奏者Pによる楽曲(以下「演奏対象曲」という)の演奏に並行して演奏対象曲の自動演奏を実行するコンピュータシステムである。なお、演奏者Pは、典型的には楽器の演奏者であるが、演奏対象曲の歌唱者も演奏者Pであり得る。すなわち、本出願における「演奏」には、楽器の演奏だけでなく歌唱も包含される。また、実際には楽器の演奏を担当しない者(例えば、コンサート時の指揮者またはレコーディング時の音響監督など)も、演奏者Pに含まれ得る。
図1に例示される通り、本実施形態の自動演奏システム100は、制御装置12と記憶装置14と収録装置22と自動演奏装置24と表示装置26とを具備する。制御装置12と記憶装置14とは、例えばパーソナルコンピュータ等の情報処理装置で実現される。
制御装置12は、例えばCPU(Central Processing Unit)等の処理回路であり、自動演奏システム100の各要素を統括的に制御する。記憶装置14は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または複数種の記録媒体の組合せで構成され、制御装置12が実行するプログラムと制御装置12が使用する各種のデータとを記憶する。なお、自動演奏システム100とは別体の記憶装置14(例えばクラウドストレージ)を用意し、移動体通信網またはインターネット等の通信網を介して制御装置12が記憶装置14に対する書込および読出を実行してもよい。すなわち、記憶装置14は自動演奏システム100から省略され得る。
本実施形態の記憶装置14は、楽曲データMを記憶する。楽曲データMは、自動演奏による演奏対象曲の演奏内容を指定する。例えばMIDI(Musical Instrument Digital Interface)規格に準拠した形式のファイル(SMF:Standard MIDI File)が楽曲データMとして好適である。具体的には、楽曲データMは、演奏内容を示す指示データと、当該指示データの発生時点を示す時間データとが配列された時系列データである。指示データは、音高(ノートナンバ)と強度(ベロシティ)とを指定して発音および消音等の各種のイベントを指示する。時間データは、例えば相前後する指示データの間隔(デルタタイム)を指定する。
図1の自動演奏装置24は、制御装置12による制御のもとで演奏対象曲の自動演奏を実行する。具体的には、演奏対象曲を構成する複数の演奏パートのうち、複数の演奏者Pの演奏パート(例えば弦楽器)とは別個の演奏パートが、自動演奏装置24により自動演奏される。本実施形態の自動演奏装置24は、駆動機構242と発音機構244とを具備する鍵盤楽器(すなわち自動演奏ピアノ)である。発音機構244は、自然楽器のピアノと同様に、鍵盤の各鍵の変位に連動して弦(すなわち発音体)を発音させる打弦機構である。具体的には、発音機構244は、弦を打撃可能なハンマと、鍵の変位をハンマに伝達する複数の伝達部材(例えばウィペン,ジャックおよびレペティションレバー)とで構成されるアクション機構を鍵毎に具備する。駆動機構242は、発音機構244を駆動することで演奏対象曲の自動演奏を実行する。具体的には、駆動機構242は、各鍵を変位させる複数の駆動体(例えばソレノイド等のアクチュエータ)と、各駆動体を駆動する駆動回路とを含んで構成される。制御装置12からの指示に応じて駆動機構242が発音機構244を駆動することで、演奏対象曲の自動演奏が実現される。なお、自動演奏装置24に制御装置12または記憶装置14を搭載してもよい。
収録装置22は、複数の演奏者Pが演奏対象曲を演奏する様子を収録する。図1に例示される通り、本実施形態の収録装置22は、複数の撮像装置222と複数の収音装置224とを具備する。撮像装置222は、演奏者P毎に設置され、演奏者Pの撮像により画像信号V0を生成する。画像信号V0は、演奏者Pの動画像を表す信号である。収音装置224は、演奏者P毎に設置され、演奏者Pによる演奏(例えば楽器の演奏または歌唱)で発音された音(例えば楽音または歌唱音)を収音して音響信号A0を生成する。音響信号A0は、音の波形を表す信号である。以上の説明から理解される通り、相異なる演奏者Pを撮像した複数の画像信号V0と、相異なる演奏者Pが演奏した音を収音した複数の音響信号A0とが収録される。なお、電気弦楽器等の電気楽器から出力される音響信号A0を利用してもよい。したがって、収音装置224を省略してもよい。
制御装置12は、記憶装置14に記憶されたプログラムを実行することで、演奏対象曲の自動演奏を実現するための複数の機能(合図検出部52,演奏解析部54,演奏制御部56および表示制御部58)を実現する。なお、制御装置12の機能を複数の装置の集合(すなわちシステム)で実現した構成、または、制御装置12の機能の一部または全部を専用の電子回路で実現してもよい。また、収録装置22と自動演奏装置24と表示装置26とが設置された音響ホール等の空間から離間した位置にあるサーバ装置が、制御装置12の一部または全部の機能を実現してもよい。
各演奏者Pは、演奏対象曲の演奏の合図となる動作(以下「合図動作」という)を実行する。合図動作は、時間軸上の1個の時点を指示する動作(ジェスチャー)である。例えば、演奏者Pが自身の楽器を持上げる動作、または演奏者Pが自身の身体を動かす動作が、合図動作の好適例である。例えば演奏対象曲の演奏を主導する特定の演奏者Pは、図2に例示される通り、演奏対象曲の演奏を開始すべき始点に対して所定の期間(以下「準備期間」という)Bだけ手前の時点Qで合図動作を実行する。準備期間Bは、例えば演奏対象曲の1拍分の時間長の期間である。したがって、準備期間Bの時間長は演奏対象曲の演奏速度(テンポ)に応じて変動する。例えば演奏速度が速いほど準備期間Bは短い時間となる。演奏者Pは、演奏対象曲に想定される演奏速度のもとで1拍分に相当する準備期間Bだけ演奏対象曲の始点から手前の時点で合図動作を実行したうえで、当該始点の到来により演奏対象曲の演奏を開始する。合図動作は、他の演奏者Pによる演奏の契機となるほか、自動演奏装置24による自動演奏の契機として利用される。なお、準備期間Bの時間長は任意であり、例えば複数拍分の時間長としてもよい。
図1の合図検出部52は、演奏者Pによる合図動作を検出する。具体的には、合図検出部52は、各撮像装置222が演奏者Pを撮像した画像を解析することで合図動作を検出する。図1に例示される通り、本実施形態の合図検出部52は、画像合成部522と検出処理部524とを具備する。画像合成部522は、複数の撮像装置222が生成した複数の画像信号V0を合成することで画像信号Vを生成する。画像信号Vは、図3に例示される通り、各画像信号V0が表す複数の動画像(#1,#2,#3,……)を配列した画像を表す信号である。すなわち、複数の演奏者Pの動画像を表す画像信号Vが画像合成部522から検出処理部524に供給される。
検出処理部524は、画像合成部522が生成した画像信号Vを解析することで複数の演奏者Pの何れかによる合図動作を検出する。検出処理部524による合図動作の検出には、演奏者Pが合図動作の実行時に移動させる要素(例えば身体または楽器)を画像から抽出する画像認識処理と、当該要素の移動を検出する動体検出処理とを含む公知の画像解析技術が使用され得る。また、ニューラルネットワークまたは多分木等の識別モデルを合図動作の検出に利用してもよい。例えば、複数の演奏者Pによる演奏を撮像した画像信号から抽出された特徴量を所与の学習データとして利用して、識別モデルの機械学習(例えばディープラーニング)が事前に実行される。検出処理部524は、実際に自動演奏が実行される場面で画像信号Vから抽出した特徴量を機械学習後の識別モデルに適用することで合図動作を検出する。
図1の演奏解析部54は、演奏対象曲のうち複数の演奏者Pが現に演奏している位置(以下「演奏位置」という)Tを各演奏者Pによる演奏に並行して順次に推定する。具体的には、演奏解析部54は、複数の収音装置224の各々が収音した音を解析することで演奏位置Tを推定する。図1に例示される通り、本実施形態の演奏解析部54は、音響混合部542と解析処理部544とを具備する。音響混合部542は、複数の収音装置224が生成した複数の音響信号A0を混合することで音響信号Aを生成する。すなわち、音響信号Aは、相異なる音響信号A0が表す複数種の音の混合音を表す信号である。
解析処理部544は、音響混合部542が生成した音響信号Aの解析により演奏位置Tを推定する。例えば、解析処理部544は、音響信号Aが表す音と楽曲データMが示す演奏対象曲の演奏内容とを相互に照合することで演奏位置Tを特定する。また、本実施形態の解析処理部544は、演奏対象曲の演奏速度(テンポ)Rを音響信号Aの解析により推定する。例えば、解析処理部544は、演奏位置Tの時間変化(すなわち、時間軸方向における演奏位置Tの変化)から演奏速度Rを特定する。なお、解析処理部544による演奏位置Tおよび演奏速度Rの推定には、公知の音響解析技術(スコアアライメント)が任意に採用され得る。例えば、特許文献1に開示された解析技術を演奏位置Tおよび演奏速度Rの推定に利用してもよい。また、ニューラルネットワークまたは多分木等の識別モデルを演奏位置Tおよび演奏速度Rの推定に利用してもよい。例えば、複数の演奏者Pによる演奏を収音した音響信号Aから抽出された特徴量を所与の学習データとして利用して、識別モデルを生成する機械学習(例えばディープラーニング)が自動演奏前に実行される。解析処理部544は、実際に自動演奏が実行される場面で音響信号Aから抽出した特徴量を、機械学習により生成された識別モデルに適用することで演奏位置Tおよび演奏速度Rを推定する。
合図検出部52による合図動作の検出と演奏解析部54による演奏位置Tおよび演奏速度Rの推定とは、複数の演奏者Pによる演奏対象曲の演奏に並行して実時間的に実行される。例えば、合図動作の検出と演奏位置Tおよび演奏速度Rの推定とが所定の周期で反復される。ただし、合図動作の検出の周期と演奏位置Tおよび演奏速度Rの推定の周期との異同は不問である。
図1の演奏制御部56は、合図検出部52が検出する合図動作と演奏解析部54が推定する演奏位置Tの進行とに同期するように自動演奏装置24に演奏対象曲の自動演奏を実行させる。具体的には、演奏制御部56は、合図検出部52による合図動作の検出を契機として自動演奏の開始を自動演奏装置24に対して指示するとともに、演奏対象曲のうち演奏位置Tに対応する時点について楽曲データMが指定する演奏内容を自動演奏装置24に指示する。すなわち、演奏制御部56は、演奏対象曲の楽曲データMに含まれる各指示データを自動演奏装置24に対して順次に供給するシーケンサである。自動演奏装置24は、演奏制御部56からの指示に応じて演奏対象曲の自動演奏を実行する。複数の演奏者Pによる演奏の進行とともに演奏位置Tは演奏対象曲内の後方に移動するから、自動演奏装置24による演奏対象曲の自動演奏も演奏位置Tの移動とともに進行する。以上の説明から理解される通り、演奏対象曲の各音の強度またはフレーズ表現等の音楽表現を楽曲データMで指定された内容に維持したまま、演奏のテンポと各音のタイミングとは複数の演奏者Pによる演奏に同期するように、演奏制御部56は自動演奏装置24に自動演奏を指示する。したがって、例えば特定の演奏者(例えば現在では生存していない過去の演奏者)の演奏を表す楽曲データMを使用すれば、当該演奏者に特有の音楽表現を自動演奏で忠実に再現しながら、当該演奏者と実在の複数の演奏者Pとが恰も相互に呼吸を合わせて協調的に合奏しているかのような雰囲気を醸成することが可能である。
ところで、演奏制御部56が指示データの出力により自動演奏装置24に自動演奏を指示してから自動演奏装置24が実際に発音する(例えば発音機構244のハンマが打弦する)までには数百ミリ秒程度の時間が必要である。すなわち、演奏制御部56からの指示に対して自動演奏装置24による実際の発音は不可避的に遅延する。したがって、演奏対象曲のうち演奏解析部54が推定した演奏位置T自体の演奏を演奏制御部56が自動演奏装置24に指示する構成では、複数の演奏者Pによる演奏に対して自動演奏装置24による発音が遅延する結果となる。
そこで、本実施形態の演奏制御部56は、図2に例示される通り、演奏対象曲のうち演奏解析部54が推定した演奏位置Tに対して後方(未来)の時点TAの演奏を自動演奏装置24に指示する。すなわち、遅延後の発音が複数の演奏者Pによる演奏に同期する(例えば演奏対象曲の特定の音符が自動演奏装置24と各演奏者Pとで略同時に演奏される)ように、演奏制御部56は演奏対象曲の楽曲データM内の指示データを先読みする。
図4は、演奏位置Tの時間的な変化の説明図である。単位時間内の演奏位置Tの変動量(図4の直線の勾配)が演奏速度Rに相当する。図4では、演奏速度Rが一定に維持された場合が便宜的に例示されている。
図4に例示される通り、演奏制御部56は、演奏対象曲のうち演奏位置Tに対して調整量αだけ後方の時点TAの演奏を自動演奏装置24に指示する。調整量αは、演奏制御部56による自動演奏の指示から自動演奏装置24が実際に発音するまでの遅延量Dと、演奏解析部54が推定した演奏速度Rとに応じて可変に設定される。具体的には、演奏速度Rのもとで遅延量Dの時間内に演奏対象曲の演奏が進行する区間長を、演奏制御部56は調整量αとして設定する。したがって、演奏速度Rが速い(図4の直線の勾配が急峻である)ほど調整量αは大きい数値となる。なお、図4では演奏対象曲の全区間にわたり演奏速度Rが一定に維持された場合を想定したが、実際には演奏速度Rは変動し得る。したがって、調整量αは、演奏速度Rに連動して経時的に変動する。
遅延量Dは、自動演奏装置24の測定結果に応じた所定値(例えば数十から数百ミリ秒程度)に事前に設定される。なお、実際の自動演奏装置24では、演奏される音高または強度に応じて遅延量Dが相違し得る。そこで、自動演奏の対象となる音符の音高または強度に応じて遅延量D(さらには遅延量Dに依存する調整量α)を可変に設定してもよい。
また、演奏制御部56は、合図検出部52が検出する合図動作を契機として演奏対象曲の自動演奏の開始を自動演奏装置24に指示する。図5は、合図動作と自動演奏との関係の説明図である。図5に例示される通り、演奏制御部56は、合図動作が検出された時点Qから時間長δが経過した時点QAで自動演奏装置24に対する自動演奏の指示を開始する。時間長δは、準備期間Bに相当する時間長τから自動演奏の遅延量Dを減算した時間長である。準備期間Bの時間長τは演奏対象曲の演奏速度Rに応じて変動する。具体的には、演奏速度Rが速い(図5の直線の勾配が急峻である)ほど準備期間Bの時間長τは短くなる。ただし、合図動作の時点QAでは演奏対象曲の演奏は開始されていないから、演奏速度Rは推定されていない。そこで、演奏制御部56は、演奏対象曲に想定される標準的な演奏速度(標準テンポ)R0に応じて準備期間Bの時間長τを算定する。演奏速度R0は、例えば楽曲データMにて指定される。ただし、複数の演奏者Pが演奏対象曲について共通に認識している速度(例えば演奏練習時に想定した速度)を演奏速度R0として設定してもよい。
以上に説明した通り、演奏制御部56は、合図動作の時点QAから時間長δ(δ=τ−D)が経過した時点QAで自動演奏の指示を開始する。したがって、合図動作の時点Qから準備期間Bが経過した時点QB(すなわち、複数の演奏者Pが演奏を開始する時点)において、自動演奏装置24による発音が開始される。すなわち、複数の演奏者Pによる演奏対象曲の演奏の開始と略同時に自動演奏装置24による自動演奏が開始される。本実施形態の演奏制御部56による自動演奏の制御は以上の例示の通りである。
図1の表示制御部58は、自動演奏装置24による自動演奏の進行を視覚的に表現した画像(以下「演奏画像」という)Gを表示装置26に表示させる。具体的には、表示制御部58は、演奏画像Gを表す画像データを生成して表示装置26に出力することで演奏画像Gを表示装置26に表示させる。表示装置26は、表示制御部58から指示された演奏画像Gを表示する。例えば液晶表示パネルまたはプロジェクタが表示装置26の好適例である。複数の演奏者Pは、表示装置26が表示する演奏画像Gを、演奏対象曲の演奏に並行して随時に視認することが可能である。
本実施形態の表示制御部58は、自動演奏装置24による自動演奏に連動して動的に変化する動画像を演奏画像Gとして表示装置26に表示させる。図6および図7は、演奏画像Gの表示例である。図6および図7に例示される通り、演奏画像Gは、底面72が存在する仮想空間70に表示体(オブジェクト)74を配置した立体的な画像である。図6に例示される通り、表示体74は、仮想空間70内に浮遊するとともに所定の速度で降下する略球状の立体である。仮想空間70の底面72には表示体74の影75が表示され、表示体74の降下とともに底面72上で当該影75が表示体74に接近する。図7に例示される通り、自動演奏装置24による発音が開始される時点で表示体74は仮想空間70内の所定の高度まで上昇するとともに、当該発音の継続中に表示体74の形状が不規則に変形する。そして、自動演奏による発音が停止(消音)すると、表示体74の不規則な変形が停止して図6の初期的な形状(球状)に復帰し、表示体74が所定の速度で降下する状態に遷移する。自動演奏による発音毎に表示体74の以上の動作(上昇および変形)が反復される。例えば、演奏対象曲の演奏の開始前に表示体74は降下し、演奏対象曲の始点の音符が自動演奏により発音される時点で表示体74の移動の方向が降下から上昇に転換する。したがって、表示装置26に表示された演奏画像Gを視認する演奏者Pは、表示体74の降下から上昇への転換により自動演奏装置24による発音のタイミングを把握することが可能である。
本実施形態の表示制御部58は、以上に例示した演奏画像Gが表示されるように表示装置26を制御する。なお、表示制御部58が表示装置26に画像の表示または変更を指示してから、表示装置26による表示画像に当該指示が反映されるまでの遅延は、自動演奏装置24による自動演奏の遅延量Dと比較して充分に小さい。そこで、表示制御部58は、演奏対象曲のうち演奏解析部54が推定した演奏位置T自体の演奏内容に応じた演奏画像Gを表示装置26に表示させる。したがって、前述の通り、自動演奏装置24による実際の発音(演奏制御部56による指示から遅延量Dだけ遅延した時点)に同期して演奏画像Gが動的に変化する。すなわち、演奏対象曲の各音符の発音を自動演奏装置24が実際に開始する時点で演奏画像Gの表示体74の移動は降下から上昇に転換する。したがって、各演奏者Pは、自動演奏装置24が演奏対象曲の各音符を発音する時点を視覚的に確認することが可能である。
図8は、自動演奏システム100の制御装置12の動作を例示するフローチャートである。例えば、所定の周期で発生する割込信号を契機として、複数の演奏者Pによる演奏対象曲の演奏に並行して図8の処理が開始される。図8の処理を開始すると、制御装置12(合図検出部52)は、複数の撮像装置222から供給される複数の画像信号V0を解析することで、任意の演奏者Pによる合図動作の有無を判定する(SA1)。また、制御装置12(演奏解析部54)は、複数の収音装置224から供給される複数の音響信号A0の解析により演奏位置Tと演奏速度Rとを推定する(SA2)。なお、合図動作の検出(SA1)と演奏位置Tおよび演奏速度Rの推定(SA2)との順序は逆転され得る。
制御装置12(演奏制御部56)は、演奏位置Tおよび演奏速度Rに応じた自動演奏を自動演奏装置24に対して指示する(SA3)。具体的には、合図検出部52が検出する合図動作と演奏解析部54が推定する演奏位置Tの進行とに同期するように自動演奏装置24に演奏対象曲の自動演奏を実行させる。また、制御装置12(表示制御部58)は、自動演奏の進行を表現する演奏画像Gを表示装置26に表示させる(SA4)。
以上に例示した実施形態では、演奏者Pによる合図動作と演奏位置Tの進行とに同期するように自動演奏装置24による自動演奏が実行される一方、自動演奏装置24による自動演奏の進行を表す演奏画像Gが表示装置26に表示される。したがって、自動演奏装置24による自動演奏の進行を演奏者Pが視覚的に確認して自身の演奏に反映させることが可能である。すなわち、複数の演奏者Pによる演奏と自動演奏装置24による自動演奏とが相互に作用し合う自然な合奏が実現される。本実施形態では特に、自動演奏による演奏内容に応じて動的に変化する演奏画像Gが表示装置26に表示されるから、演奏者Pが自動演奏の進行を視覚的および直観的に把握できるという利点がある。
また、本実施形態では、演奏解析部54が推定した演奏位置Tに対して時間的に後方の時点TAの演奏内容が自動演奏装置24に指示される。したがって、演奏制御部56による演奏の指示に対して自動演奏装置24による実際の発音が遅延する場合でも、演奏者Pによる演奏と自動演奏とを高精度に同期させることが可能である。また、演奏解析部54が推定した演奏速度Rに応じた可変の調整量αだけ演奏位置Tに対して後方の時点TAの演奏が自動演奏装置24に指示される。したがって、例えば演奏速度Rが変動する場合でも、演奏者による演奏と自動演奏とを高精度に同期させることが可能である。
<楽曲データの更新>
以上に例示した自動演奏システム100で使用される楽曲データMは、例えば図9に例示された楽曲データ処理装置200により生成される。楽曲データ処理装置200は、制御装置82と記憶装置84と収音装置86とを具備する。制御装置82は、例えばCPU等の処理回路であり、楽曲データ処理装置200の各要素を統括的に制御する。記憶装置84は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または複数種の記録媒体の組合せで構成され、制御装置82が実行するプログラムと制御装置82が使用する各種のデータとを記憶する。なお、楽曲データ処理装置200とは別体の記憶装置84(例えばクラウドストレージ)を用意し、移動体通信網またはインターネット等の通信網を介して制御装置82が記憶装置84に対する書込および読出を実行してもよい。すなわち、記憶装置84は楽曲データ処理装置200から省略され得る。第1実施形態の記憶装置84は、演奏対象曲の楽曲データMを記憶する。収音装置86は、単数または複数の演奏者による楽器の演奏で発音された音(例えば楽音または歌唱音)を収音して音響信号Xを生成する。
以上に例示した自動演奏システム100で使用される楽曲データMは、例えば図9に例示された楽曲データ処理装置200により生成される。楽曲データ処理装置200は、制御装置82と記憶装置84と収音装置86とを具備する。制御装置82は、例えばCPU等の処理回路であり、楽曲データ処理装置200の各要素を統括的に制御する。記憶装置84は、例えば磁気記録媒体もしくは半導体記録媒体等の公知の記録媒体、または複数種の記録媒体の組合せで構成され、制御装置82が実行するプログラムと制御装置82が使用する各種のデータとを記憶する。なお、楽曲データ処理装置200とは別体の記憶装置84(例えばクラウドストレージ)を用意し、移動体通信網またはインターネット等の通信網を介して制御装置82が記憶装置84に対する書込および読出を実行してもよい。すなわち、記憶装置84は楽曲データ処理装置200から省略され得る。第1実施形態の記憶装置84は、演奏対象曲の楽曲データMを記憶する。収音装置86は、単数または複数の演奏者による楽器の演奏で発音された音(例えば楽音または歌唱音)を収音して音響信号Xを生成する。
楽曲データ処理装置200は、収音装置86が生成した演奏対象曲の音響信号Xに応じて当該演奏対象曲の楽曲データMを更新することで、演奏者による楽器の演奏の傾向を楽曲データMに反映させるコンピュータシステムである。したがって、自動演奏システム100による自動演奏の実行前(例えば演奏会のリハーサルの段階)に楽曲データ処理装置200による楽曲データMの更新が実行される。図9に例示される通り、記憶装置84に記憶されたプログラムを実行することで、制御装置82は、音響信号Xに応じて楽曲データMを更新するための複数の機能(演奏解析部822および更新処理部824)を実現する。なお、制御装置82の機能を複数の装置の集合(すなわちシステム)で実現した構成、または、制御装置82の機能の一部または全部を専用の電子回路が実現した構成を採用してもよい。また、自動演奏システム100の制御装置12が演奏解析部822および更新処理部824として機能することで、楽曲データ処理装置200を自動演奏システム100に搭載してもよい。前述の演奏解析部54を演奏解析部822として利用してもよい。
演奏解析部822は、記憶装置84に記憶された楽曲データMと収音装置86が生成した音響信号Xとを対比することで、演奏対象曲のうち演奏者が現に演奏している演奏位置Tを推定する。演奏解析部822による演奏位置Tの推定には、第1実施形態の演奏解析部54と同様の処理が好適に採用される。
更新処理部824は、演奏解析部822による演奏位置Tの推定結果に応じて、演奏対象曲の楽曲データMを更新する。具体的には、更新処理部824は、演奏者による演奏の傾向(例えば演奏者に固有の演奏または歌唱の癖)が反映されるように楽曲データMを更新する。例えば、演奏者による演奏のテンポ(以下「演奏テンポ」という)および音量(以下「演奏音量」という)の変化の傾向が楽曲データMに反映される。すなわち、演奏者に特有の音楽的な表現を反映した楽曲データMが生成される。
図9に例示される通り、更新処理部824は、第1更新部91と第2更新部92とを含んで構成される。第1更新部91は、演奏テンポの傾向を楽曲データMに反映させる。第2更新部92は、演奏音量の傾向を楽曲データMに反映させる。
図10は、更新処理部824が実行する処理の内容を例示するフローチャートである。例えば利用者からの指示に応じて図10の処理が開始される。処理を開始すると、第1更新部91は、演奏テンポを楽曲データMに反映させる処理(以下「第1更新処理」という)を実行する(SB1)。第2更新部92は、演奏音量を楽曲データMに反映させる処理(以下「第2更新処理」という)を実行する(SB2)。なお、第1更新処理SB1および第2更新処理SB2の順序は任意である。制御装置82が第1更新処理SB1と第2更新処理SB2とを並列に実行してもよい。
<第1更新部91>
図11は、第1更新処理SB1の具体的な内容を例示するフローチャートである。第1更新部91は、演奏解析部822が演奏位置Tを推定した結果から時間軸上の演奏テンポの遷移(以下「演奏テンポ遷移」という)Cを解析する(SB11)。具体的には、演奏位置Tの時間変化(具体的には単位時間毎の演奏位置Tの変化量)を演奏テンポとして演奏テンポ遷移Cが特定される。演奏テンポ遷移Cの解析は、演奏対象曲の複数回(K回)にわたる演奏の各々について実行される。すなわち、図12に例示される通り、K個の演奏テンポ遷移Cが特定される。第1更新部91は、演奏対象曲内の複数の時点の各々について、K個の演奏テンポの分散σP2を算定する(SB12)。図12から理解される通り、任意の1個の時点における分散σP2は、K回の演奏における当該時点での演奏テンポが分布する範囲の指標(散布度)である。
図11は、第1更新処理SB1の具体的な内容を例示するフローチャートである。第1更新部91は、演奏解析部822が演奏位置Tを推定した結果から時間軸上の演奏テンポの遷移(以下「演奏テンポ遷移」という)Cを解析する(SB11)。具体的には、演奏位置Tの時間変化(具体的には単位時間毎の演奏位置Tの変化量)を演奏テンポとして演奏テンポ遷移Cが特定される。演奏テンポ遷移Cの解析は、演奏対象曲の複数回(K回)にわたる演奏の各々について実行される。すなわち、図12に例示される通り、K個の演奏テンポ遷移Cが特定される。第1更新部91は、演奏対象曲内の複数の時点の各々について、K個の演奏テンポの分散σP2を算定する(SB12)。図12から理解される通り、任意の1個の時点における分散σP2は、K回の演奏における当該時点での演奏テンポが分布する範囲の指標(散布度)である。
記憶装置84は、楽曲データMが指定するテンポ(以下「基準テンポ」という)の分散σR2を、演奏対象曲内の複数の時点の各々について記憶する。分散σR2は、楽曲データMが指定する基準テンポに対して許容されるべき誤差範囲(すなわち、許容されるテンポが分布する範囲)の指標であり、例えば楽曲データMの作成者が事前に用意する。第1更新部91は、演奏対象曲の複数の時点の各々について基準テンポの分散σR2を記憶装置84から取得する(SB13)。
第1更新部91は、演奏テンポの散布度の遷移(すなわち分散σP2の時系列)と、基準テンポの散布度の遷移(すなわち分散σR2の時系列)とに応じたテンポの軌跡となるように、演奏対象曲の楽曲データMが指定する基準テンポを更新する(SB14)。更新後の基準テンポの決定には、例えばベイズ推定が好適に利用される。具体的には、第1更新部91は、演奏対象曲のうち演奏テンポの分散σP2が基準テンポの分散σR2を下回る部分(σP2<σR2)については、基準テンポと比較して演奏テンポを楽曲データMに優先的に反映させる。すなわち、楽曲データMが指定する基準テンポが演奏テンポに近付けられる。具体的には、演奏対象曲のうち演奏テンポの誤差が少ない傾向にある部分(すなわち分散σP2が小さい部分)については、演奏テンポを優先的に楽曲データMに反映させることで演奏テンポの傾向が優先的に反映される。他方、演奏対象曲のうち演奏テンポの分散σP2が基準テンポの分散σR2を上回る部分(σP2>σR2)については、演奏テンポと比較して基準テンポを楽曲データMに優先的に反映させる。すなわち、楽曲データMが指定する基準テンポが維持される方向に作用する。
以上の構成によれば、演奏者の実際の演奏の傾向(具体的には演奏テンポの変動の傾向)を楽曲データMに反映させることが可能である。したがって、楽曲データ処理装置200による処理後の楽曲データMを自動演奏システム100による自動演奏に利用することで、演奏者の演奏の傾向を反映した自然な演奏が実現される。
<第2更新部92>
図13は、第2更新部92が実行する第2更新処理SB2の具体的な内容を例示するフローチャートであり、図14は、第2更新処理SB2の説明図である。図14に例示される通り、第2更新部92は、音響信号Xから観測行列Zを生成する(SB21)。観測行列Zは、音響信号Xのスペクトログラムを表す。具体的には、観測行列Zは、図14に例示される通り、時間軸上のNt個の時点にそれぞれ対応するNt個の観測ベクトルz(1)〜z(Nt)を横方向に配列したNf行Nt列の非負行列である。任意の1個の観測ベクトルz(nt)(nt=1〜Nt)は、音響信号Xのうち時間軸上のnt番目の時点における強度スペクトル(振幅スペクトルまたはパワースペクトル)を表すNf次元のベクトルである。
図13は、第2更新部92が実行する第2更新処理SB2の具体的な内容を例示するフローチャートであり、図14は、第2更新処理SB2の説明図である。図14に例示される通り、第2更新部92は、音響信号Xから観測行列Zを生成する(SB21)。観測行列Zは、音響信号Xのスペクトログラムを表す。具体的には、観測行列Zは、図14に例示される通り、時間軸上のNt個の時点にそれぞれ対応するNt個の観測ベクトルz(1)〜z(Nt)を横方向に配列したNf行Nt列の非負行列である。任意の1個の観測ベクトルz(nt)(nt=1〜Nt)は、音響信号Xのうち時間軸上のnt番目の時点における強度スペクトル(振幅スペクトルまたはパワースペクトル)を表すNf次元のベクトルである。
記憶装置84は、基底行列Hを記憶する。基底行列Hは、図14に例示される通り、演奏対象曲内で演奏される可能性があるNk個の音符にそれぞれ対応するNk個の基底ベクトルh(1)〜h(Nk)を横方向に配列したNf行Nk列の非負行列である。任意の1個の音符に対応する基底ベクトルh(nk)(nk=1〜Nk)は、当該音符に対応する演奏音の強度スペクトル(例えば振幅スペクトルまたはパワースペクトル)である。第2更新部92は、記憶装置84から基底行列Hを取得する(SB22)。
第2更新部92は、係数行列Gを生成する(SB23)。係数行列Gは、図14に例示される通り、係数ベクトルg(1)〜g(Nk)を縦方向に配列したNk行Nt列の非負行列である。任意の1個の係数ベクトルg(nk)は、基底行列H内の1個の基底ベクトルh(nk)に対応した音符について音量の変化を示すNt次元のベクトルである。具体的には、第2更新部92は、複数の音符の各々について時間軸上の音量(発音/消音)の遷移を表す初期的な係数行列G0を楽曲データMから生成し、時間軸上で係数行列G0を伸縮することにより係数行列Gを生成する。具体的には、第2更新部92は、演奏解析部822が演奏位置Tを推定した結果に応じて係数行列G0を時間軸上で伸縮することで、音響信号Xと同等の時間長にわたる各音符の音量の変化を表す係数行列Gを生成する。
以上の説明から理解される通り、任意の1個の音符に対応する基底ベクトルh(nk)と係数ベクトルg(nk)との積h(nk)g(nk)は、演奏対象曲内における当該音符のスペクトログラムに相当する。そして、基底ベクトルh(nk)と係数ベクトルg(nk)との積h(nk)g(nk)を複数の音符について加算した行列(以下「参照行列」という)Yは、演奏対象曲を楽曲データMに沿って演奏した場合の演奏音のスペクトログラムに相当する。具体的には、参照行列Yは、図14に例示される通り、演奏音の強度スペクトルを表すベクトルy(1)〜y(Nt)を横方向に配列したNf行Nt列の非負行列である。
第2更新部92は、以上に説明した参照行列Yが、音響信号Xのスペクトログラムを表す観測行列Zに近付くように、記憶装置84に記憶された基底行列Hと楽曲データMとを更新する(SB24)。具体的には、参照行列Yが観測行列Zに近付くように、楽曲データMが各音符について指定する音量の変化が更新される。例えば、第2更新部92は、観測行列Zと参照行列Yとの差異を表す評価関数が最小化されるように、基底行列Hと楽曲データM(係数行列G)を反復的に更新する。評価関数としては、観測行列Zと参照行列Yとの間のKL距離(またはI-ダイバージェンス)が好適である。評価関数の最小化には、例えばベイズ推定(特に変分ベイズ法)が好適に利用される。
以上の構成によれば、演奏対象曲を演奏者が実際に演奏したときの演奏音量の変動の傾向を楽曲データMに反映させることが可能である。したがって、楽曲データ処理装置200による処理後の楽曲データMを自動演奏システム100による自動演奏に利用することで、演奏音量の傾向を反映した自然な演奏が実現される。
<変形例>
以上に例示した各態様は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2個以上の態様は、相互に矛盾しない範囲で適宜に併合され得る。
以上に例示した各態様は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2個以上の態様は、相互に矛盾しない範囲で適宜に併合され得る。
(1)前述の実施形態では、合図検出部52が検出した合図動作を契機として対象楽曲の自動演奏を開始したが、演奏対象曲の途中の時点における自動演奏の制御に合図動作を使用してもよい。例えば、演奏対象曲内で長時間にわたる休符が終了して演奏が再開される時点で、前述の各形態と同様に、合図動作を契機として演奏対象曲の自動演奏が再開される。例えば、図5を参照して説明した動作と同様に、演奏対象曲内で休符後に演奏が再開される時点に対して準備期間Bだけ手前の時点Qで特定の演奏者Pが合図動作を実行する。そして、遅延量Dと演奏速度Rとに応じた時間長δが当該時点Qから経過した時点で、演奏制御部56は、自動演奏装置24に対する自動演奏の指示を再開する。なお、演奏対象曲の途中の時点では既に演奏速度Rが推定されているから、時間長δの設定には、演奏解析部54が推定した演奏速度Rが適用される。
ところで、演奏対象曲のうち合図動作が実行され得る期間は、演奏対象曲の演奏内容から事前に把握され得る。そこで、演奏対象曲のうち合図動作が実行される可能性がある特定の期間(以下「監視期間」という)を対象として合図検出部52が合図動作の有無を監視してもよい。例えば、演奏対象曲に想定される複数の監視期間の各々について始点と終点とを指定する区間指定データが記憶装置14に格納される。区間指定データを楽曲データMに内包させてもよい。合図検出部52は、演奏対象曲のうち区間指定データで指定される各監視期間内に演奏位置Tが存在する場合に合図動作の監視を実行し、演奏位置Tが監視期間の外側にある場合には合図動作の監視を停止する。以上の構成によれば、演奏対象曲のうち監視期間に限定して合図動作が検出されるから、演奏対象曲の全区間にわたり合図動作の有無を監視する構成と比較して合図検出部52の処理負荷が軽減されるという利点がある。また、演奏対象曲のうち実際には合図動作が実行され得ない期間について合図動作が誤検出される可能性を低減することも可能である。
(2)前述の実施形態では、画像信号Vが表す画像の全体(図3)を解析することで合図動作を検出したが、画像信号Vが表す画像のうち特定の領域(以下「監視領域」という)を対象として、合図検出部52が合図動作の有無を監視してもよい。例えば、合図検出部52は、画像信号Vが示す画像のうち合図動作が予定されている特定の演奏者Pを含む範囲を監視領域として選択し、当該監視領域を対象として合図動作を検出する。監視領域以外の範囲については合図検出部52による監視対象から除外される。以上の構成によれば、監視領域に限定して合図動作が検出されるから、画像信号Vが示す画像の全体にわたり合図動作の有無を監視する構成と比較して合図検出部52の処理負荷が軽減されるという利点がある。また、実際には合図動作を実行しない演奏者Pの動作が合図動作と誤判定される可能性を低減することも可能である。
なお、前述の変形例(1)で例示した通り、演奏対象曲の演奏中に複数回にわたり合図動作が実行される場合を想定すると、合図動作を実行する演奏者Pが合図動作毎に変更される可能性もある。例えば、演奏対象曲の開始前の合図動作は演奏者P1が実行する一方、演奏対象曲の途中の合図動作は演奏者P2が実行する。したがって、画像信号Vが表す画像内で監視領域の位置(またはサイズ)を経時的に変更する構成も好適である。合図動作を実行する演奏者Pは演奏前に決定されるから、例えば監視領域の位置を時系列に指定する領域指定データが記憶装置14に事前に格納される。合図検出部52は、画像信号Vが表す画像のうち領域指定データで指定される各監視領域について合図動作を監視し、監視領域以外の領域については合図動作の監視対象から除外する。以上の構成によれば、合図動作を実行する演奏者Pが楽曲の進行とともに変更される場合でも、合図動作を適切に検出することが可能である。
(3)前述の実施形態では、複数の撮像装置222を利用して複数の演奏者Pを撮像したが、1個の撮像装置222により複数の演奏者P(例えば複数の演奏者Pが所在する舞台の全体)を撮像してもよい。同様に、複数の演奏者Pが演奏した音を1個の収音装置224により収音してもよい。また、複数の画像信号V0の各々について合図検出部52が合図動作の有無を監視する構成(したがって、画像合成部522は省略され得る)も採用され得る。
(4)前述の実施形態では、撮像装置222が撮像した画像信号Vの解析で合図動作を検出したが、合図検出部52が合図動作を検出する方法は以上の例示に限定されない。例えば、演奏者Pの身体に装着された検出器(例えば加速度センサ等の各種のセンサ)の検出信号を解析することで合図検出部52が演奏者Pの合図動作を検出してもよい。ただし、撮像装置222が撮像した画像の解析により合図動作を検出する前述の実施形態の構成によれば、演奏者Pの身体に検出器を装着する場合と比較して、演奏者Pの演奏動作に対する影響を低減しながら合図動作を検出できるという利点がある。
(5)前述の実施形態では、相異なる楽器の音を表す複数の音響信号A0を混合した音響信号Aの解析により演奏位置Tおよび演奏速度Rを推定したが、各音響信号A0の解析により演奏位置Tおよび演奏速度Rを推定してもよい。例えば、演奏解析部54は、複数の音響信号A0の各々について前述の実施形態と同様の方法で暫定的な演奏位置Tおよび演奏速度Rを推定し、各音響信号A0に関する推定結果から確定的な演奏位置Tおよび演奏速度Rを決定する。例えば各音響信号A0から推定された演奏位置Tおよび演奏速度Rの代表値(例えば平均値)が確定的な演奏位置Tおよび演奏速度Rとして算定される。以上の説明から理解される通り、演奏解析部54の音響混合部542は省略され得る。
(6)前述の実施形態で例示した通り、自動演奏システム100は、制御装置12とプログラムとの協働で実現される。本発明の好適な態様に係るプログラムは、演奏対象曲を演奏する演奏者Pの合図動作を検出する合図検出部52、演奏された音を表す音響信号Aを当該演奏に並行して解析することで演奏対象曲内の演奏位置Tを順次に推定する演奏解析部54、合図検出部52が検出する合図動作と演奏解析部54が推定する演奏位置Tの進行とに同期するように演奏対象曲の自動演奏を自動演奏装置24に実行させる演奏制御部56、および、自動演奏の進行を表す演奏画像Gを表示装置26に表示させる表示制御部58、としてコンピュータを機能させる。すなわち、本発明の好適な態様に係るプログラムは、本発明の好適な態様に係る楽曲データ処理方法をコンピュータに実行させるプログラムである。以上に例示したプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされ得る。記録媒体は、例えば非一過性(non-transitory)の記録媒体であり、CD-ROM等の光学式記録媒体(光ディスク)が好例であるが、半導体記録媒体または磁気記録媒体等の公知の任意の形式の記録媒体を包含し得る。また、通信網を介した配信の形態でプログラムをコンピュータに配信してもよい。
(7)本発明の好適な態様は、前述の実施形態に係る自動演奏システム100の動作方法(自動演奏方法)としても特定される。例えば、本発明の好適な態様に係る自動演奏方法は、コンピュータシステム(単体のコンピュータ、または複数のコンピュータで構成されるシステム)が、演奏対象曲を演奏する演奏者Pの合図動作を検出し(SA1)、演奏された音を表す音響信号Aを当該演奏に並行して解析することで演奏対象曲内の演奏位置Tを順次に推定し(SA2)、合図動作と演奏位置Tの進行とに同期するように演奏対象曲の自動演奏を自動演奏装置24に実行させ(SA3)、自動演奏の進行を表す演奏画像Gを表示装置26に表示させる(SA4)。
(8)前述の実施形態では、演奏テンポおよび演奏音量の双方を楽曲データMに反映させたが、演奏テンポおよび演奏音量の一方のみを楽曲データMに反映させてもよい。すなわち、図9に例示された第1更新部91および第2更新部92の一方を省略してもよい。
(9)以上に例示した形態から、例えば以下の構成が把握される。
[態様A1]
本発明の好適な態様(態様A1)に係る楽曲データ処理方法は、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定し、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新し、前記楽曲データの更新においては、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。以上の態様によれば、実際の演奏(例えばリハーサル)における演奏テンポの傾向を楽曲データに反映させることが可能である。
[態様A2]
態様1の好適例(態様A2)において、音符に対応する演奏音のスペクトルを表す基底ベクトルと、前記楽曲データが当該音符について指定する音量の変化を表す係数ベクトルとの積を、複数の音符について加算した参照行列が、前記音響信号のスペクトログラムを表す観測行列に近付くように、前記各音符の基底ベクトルと、前記楽曲データが各音符について指定する音量の変化とを更新する。以上の態様によれば、実際の演奏における演奏音量の傾向を楽曲データに反映させることが可能である。
[態様A3]
態様2の好適例(態様A3)において、前記音量の変化の更新では、前記楽曲データが各音符について指定する音量の変化を、前記演奏位置を推定した結果に応じて時間軸上で伸縮し、前記伸縮後の前記音量の変化を表す前記係数行列を利用する。以上の態様では、楽曲データが各音符について指定する音量の変化を、演奏位置の推定結果に応じて伸縮した係数行列が利用される。したがって、演奏テンポが変動した場合でも、実際の演奏における演奏音量の傾向を楽曲データに適切に反映させることが可能である。
[態様A4]
本発明の好適な態様(態様A4)に係るプログラムは、コンピュータを、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定する演奏解析部、および、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新する第1更新部として機能させるプログラムであって、前記第1更新部は、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。以上の態様によれば、実際の演奏(例えばリハーサル)における演奏テンポの傾向を楽曲データに反映させることが可能である。
[態様A1]
本発明の好適な態様(態様A1)に係る楽曲データ処理方法は、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定し、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新し、前記楽曲データの更新においては、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。以上の態様によれば、実際の演奏(例えばリハーサル)における演奏テンポの傾向を楽曲データに反映させることが可能である。
[態様A2]
態様1の好適例(態様A2)において、音符に対応する演奏音のスペクトルを表す基底ベクトルと、前記楽曲データが当該音符について指定する音量の変化を表す係数ベクトルとの積を、複数の音符について加算した参照行列が、前記音響信号のスペクトログラムを表す観測行列に近付くように、前記各音符の基底ベクトルと、前記楽曲データが各音符について指定する音量の変化とを更新する。以上の態様によれば、実際の演奏における演奏音量の傾向を楽曲データに反映させることが可能である。
[態様A3]
態様2の好適例(態様A3)において、前記音量の変化の更新では、前記楽曲データが各音符について指定する音量の変化を、前記演奏位置を推定した結果に応じて時間軸上で伸縮し、前記伸縮後の前記音量の変化を表す前記係数行列を利用する。以上の態様では、楽曲データが各音符について指定する音量の変化を、演奏位置の推定結果に応じて伸縮した係数行列が利用される。したがって、演奏テンポが変動した場合でも、実際の演奏における演奏音量の傾向を楽曲データに適切に反映させることが可能である。
[態様A4]
本発明の好適な態様(態様A4)に係るプログラムは、コンピュータを、演奏音を表す音響信号の解析により楽曲内の演奏位置を推定する演奏解析部、および、複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新する第1更新部として機能させるプログラムであって、前記第1更新部は、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する。以上の態様によれば、実際の演奏(例えばリハーサル)における演奏テンポの傾向を楽曲データに反映させることが可能である。
(10)前述の形態で例示した自動演奏システムについて、例えば以下の構成が把握される。
[態様B1]
本発明の好適な態様(態様B1)に係る自動演奏システムは、楽曲を演奏する演奏者の合図動作を検出する合図検出部と、演奏された音を表す音響信号を当該演奏に並行して解析することで楽曲内の演奏位置を順次に推定する演奏解析部と、合図検出部が検出する合図動作と演奏解析部が推定する演奏位置の進行とに同期するように楽曲の自動演奏を自動演奏装置に実行させる演奏制御部と、自動演奏の進行を表す画像を表示装置に表示させる表示制御部とを具備する。以上の構成では、演奏者による合図動作と演奏位置の進行とに同期するように自動演奏装置による自動演奏が実行される一方、自動演奏装置による自動演奏の進行を表す画像が表示装置に表示される。したがって、自動演奏装置による自動演奏の進行を演奏者が視覚的に確認して自身の演奏に反映させることが可能である。すなわち、演奏者による演奏と自動演奏装置による自動演奏とが相互に作用し合う自然な演奏が実現される。
[態様B2]
態様B1の好適例(態様B2)において、演奏制御部は、楽曲のうち演奏解析部が推定した演奏位置に対して後方の時点の演奏を自動演奏装置に指示する。以上の態様では、演奏解析部が推定した演奏位置に対して時間的に後方の時点の演奏内容が自動演奏装置に指示される。したがって、演奏制御部による演奏の指示に対して自動演奏装置による実際の発音が遅延する場合でも、演奏者による演奏と自動演奏とを高精度に同期させることが可能である。
[態様B3]
態様B2の好適例(態様B3)において、演奏解析部は、音響信号の解析により演奏速度を推定し、演奏制御部は、楽曲のうち、演奏解析部が推定した演奏位置に対して演奏速度に応じた調整量だけ後方の時点の演奏を、自動演奏装置に指示する。以上の態様では、演奏解析部が推定した演奏速度に応じた可変の調整量だけ演奏位置に対して後方の時点の演奏が自動演奏装置に指示される。したがって、例えば演奏速度が変動する場合でも、演奏者による演奏と自動演奏とを高精度に同期させることが可能である。
[態様B4]
態様B1から態様B3の何れかの好適例(態様B4)において、合図検出部は、撮像装置が演奏者を撮像した画像の解析により合図動作を検出する。以上の態様では、撮像装置が撮像した画像の解析により演奏者の合図動作が検出されるから、例えば演奏者の身体に装着した検出器により合図動作を検出する場合と比較して、演奏者による演奏に対する影響を低減しながら合図動作を検出できるという利点がある。
[態様B5]
態様B1から態様B4の何れかの好適例(態様B5)において、表示制御部は、自動演奏による演奏内容に応じて動的に変化する画像を表示装置に表示させる。以上の態様では、自動演奏による演奏内容に応じて動的に変化する画像が表示装置に表示されるから、演奏者が自動演奏の進行を視覚的および直観的に把握できるという利点がある。
[態様B6]
本発明の好適な態様(態様B6)に係る自動演奏方法は、コンピュータシステムが、楽曲を演奏する演奏者の合図動作を検出し、演奏された音を表す音響信号を当該演奏に並行して解析することで楽曲内の演奏位置を順次に推定し、合図動作と演奏位置の進行とに同期するように楽曲の自動演奏を自動演奏装置に実行させ、自動演奏の進行を表す画像を表示装置に表示させる。
[態様B1]
本発明の好適な態様(態様B1)に係る自動演奏システムは、楽曲を演奏する演奏者の合図動作を検出する合図検出部と、演奏された音を表す音響信号を当該演奏に並行して解析することで楽曲内の演奏位置を順次に推定する演奏解析部と、合図検出部が検出する合図動作と演奏解析部が推定する演奏位置の進行とに同期するように楽曲の自動演奏を自動演奏装置に実行させる演奏制御部と、自動演奏の進行を表す画像を表示装置に表示させる表示制御部とを具備する。以上の構成では、演奏者による合図動作と演奏位置の進行とに同期するように自動演奏装置による自動演奏が実行される一方、自動演奏装置による自動演奏の進行を表す画像が表示装置に表示される。したがって、自動演奏装置による自動演奏の進行を演奏者が視覚的に確認して自身の演奏に反映させることが可能である。すなわち、演奏者による演奏と自動演奏装置による自動演奏とが相互に作用し合う自然な演奏が実現される。
[態様B2]
態様B1の好適例(態様B2)において、演奏制御部は、楽曲のうち演奏解析部が推定した演奏位置に対して後方の時点の演奏を自動演奏装置に指示する。以上の態様では、演奏解析部が推定した演奏位置に対して時間的に後方の時点の演奏内容が自動演奏装置に指示される。したがって、演奏制御部による演奏の指示に対して自動演奏装置による実際の発音が遅延する場合でも、演奏者による演奏と自動演奏とを高精度に同期させることが可能である。
[態様B3]
態様B2の好適例(態様B3)において、演奏解析部は、音響信号の解析により演奏速度を推定し、演奏制御部は、楽曲のうち、演奏解析部が推定した演奏位置に対して演奏速度に応じた調整量だけ後方の時点の演奏を、自動演奏装置に指示する。以上の態様では、演奏解析部が推定した演奏速度に応じた可変の調整量だけ演奏位置に対して後方の時点の演奏が自動演奏装置に指示される。したがって、例えば演奏速度が変動する場合でも、演奏者による演奏と自動演奏とを高精度に同期させることが可能である。
[態様B4]
態様B1から態様B3の何れかの好適例(態様B4)において、合図検出部は、撮像装置が演奏者を撮像した画像の解析により合図動作を検出する。以上の態様では、撮像装置が撮像した画像の解析により演奏者の合図動作が検出されるから、例えば演奏者の身体に装着した検出器により合図動作を検出する場合と比較して、演奏者による演奏に対する影響を低減しながら合図動作を検出できるという利点がある。
[態様B5]
態様B1から態様B4の何れかの好適例(態様B5)において、表示制御部は、自動演奏による演奏内容に応じて動的に変化する画像を表示装置に表示させる。以上の態様では、自動演奏による演奏内容に応じて動的に変化する画像が表示装置に表示されるから、演奏者が自動演奏の進行を視覚的および直観的に把握できるという利点がある。
[態様B6]
本発明の好適な態様(態様B6)に係る自動演奏方法は、コンピュータシステムが、楽曲を演奏する演奏者の合図動作を検出し、演奏された音を表す音響信号を当該演奏に並行して解析することで楽曲内の演奏位置を順次に推定し、合図動作と演奏位置の進行とに同期するように楽曲の自動演奏を自動演奏装置に実行させ、自動演奏の進行を表す画像を表示装置に表示させる。
<詳細な説明>
本発明の好適な態様は、以下のように表現され得る。
1.前提
自動演奏システムとは、人間の演奏に対し、機械が合わせて伴奏を生成するシステムである。ここでは、クラシック音楽のように、自動演奏システムと人間それぞれが弾くべき楽譜表現が与えられている自動演奏システムについて論じる。このような自動演奏システムは、音楽演奏の練習支援、および、演奏者に合わせてエレクトロニクスを駆動するような音楽の拡張表現など、幅広い応用がある。なお、以下では、合奏エンジンが演奏するパートのことを「伴奏パート」と呼ぶ。音楽的に整合した合奏を行うためには、伴奏パートの演奏タイミングを適切に制御することが必要である。適切なタイミング制御には、以下に記載する4つの要求がある。
本発明の好適な態様は、以下のように表現され得る。
1.前提
自動演奏システムとは、人間の演奏に対し、機械が合わせて伴奏を生成するシステムである。ここでは、クラシック音楽のように、自動演奏システムと人間それぞれが弾くべき楽譜表現が与えられている自動演奏システムについて論じる。このような自動演奏システムは、音楽演奏の練習支援、および、演奏者に合わせてエレクトロニクスを駆動するような音楽の拡張表現など、幅広い応用がある。なお、以下では、合奏エンジンが演奏するパートのことを「伴奏パート」と呼ぶ。音楽的に整合した合奏を行うためには、伴奏パートの演奏タイミングを適切に制御することが必要である。適切なタイミング制御には、以下に記載する4つの要求がある。
[要求1]原則として、自動演奏システムは、人間の奏者が弾いている場所を弾く必要がある。したがって、自動演奏システムは、再生する楽曲の位置を、人間の演奏者に合わせる必要がある。特にクラシック音楽では、演奏速度(テンポ)の抑揚が音楽表現上重要であるため、演奏者のテンポ変化を追従する必要がある。また、より精度が高い追従を行うために、演奏者の練習(リハーサル)を解析することで、演奏者のクセを獲得することが好ましい。
[要求2]自動演奏システムは、音楽的に整合した演奏を生成すること。つまり、伴奏パートの音楽性が保たれる範囲内で人間の演奏を追従する必要がある。
[要求3]楽曲のコンテキストに応じて、伴奏パートが演奏者に合わせる度合い(主従関係)を変えることが可能であること。楽曲中には、音楽性を多少損なってでも人に合わせるべき場所、または、追従性を損なっても伴奏パートの音楽性を保持すべき場所がある。従って、要件1と要件2でそれぞれ述べた「追従性」と「音楽性」のバランスは楽曲のコンテキストにより変わる。たとえば、リズムが不明瞭なパートは、リズムをよりはっきり刻むパートに追従する傾向がある。
[要求4]演奏者の指示によって、即座に主従関係を変えることが可能であること。追従性と自動演奏システムの音楽性のトレードオフは、リハーサル中に人間同士が対話を通じて調整することが多い。また、このような調整を行った場合、調整を行った箇所を弾き直すことで、調整結果を確認する。したがって、リハーサル中に追従性の挙動を設定できる自動演奏システムが必要である。
これらの要求を同時に満たすためには、演奏者が演奏している位置を追従した上で、音楽的に破綻しないように伴奏パートを生成する必要がある。これらを実現するためには、自動演奏システムは、(1)演奏者の位置を予測するモデル、(2)音楽的な伴奏パートを生成するためのタイミング生成モデル、(3)主従関係を踏まえ、演奏タイミングを補正するモデル、の三要素が必要となる。また、これらの要素は独立して操作もしくは学習できる必要がある。しかし、従来はこれらの要素を独立に扱うことが難しかった。そこで、以下の説明では、(1)演奏者の演奏タイミング生成過程、(2)自動演奏システムが音楽的に演奏できる範囲を表現した演奏タイミング生成過程、(3)自動演奏システムが主従関係を持ちながら演奏者に合わせるための、自動演奏システムと演奏者の演奏タイミングを結合する過程、これら三要素を独立にモデル化し、統合することを考える。独立に表現することにより、個々の要素を独立に学習したり、操作することが可能になる。システム使用時には、演奏者のタイミング生成過程を推論しながら、自動演奏システムが演奏できるタイミングの範囲を推論し、合奏と演奏者のタイミングを協調させるように伴奏パートを再生する。これにより、自動演奏システムは音楽的に破綻しない合奏を、人間に合わせながら演奏することが可能になる。
2.関連技術
従来の自動演奏システムでは、楽譜追従を用いることで演奏者の演奏タイミングを推定する。その上で、合奏エンジンと人間を協調させるため、大きく分けて二つのアプローチが用いられる。第一に、多数のリハーサルを通じて演奏者と合奏エンジンの演奏タイミングに対する関係性を回帰することで、楽曲における平均的な挙動、もしくは時々刻々と変化する挙動、を獲得することが提案されている。このようなアプローチでは、合奏の結果自体を回帰するため、結果的に伴奏パートの音楽性と、伴奏パートの追従性を同時に獲得できる。一方、演奏者のタイミング予測、合奏エンジンの生成過程と、合わせる度合いを切り分けて表現することが難しいため、リハーサル中に追従性または音楽性を独立に操作することは難しいと考えられる。また、音楽的な追従性を獲得するためには、人間同士の合奏データを別途解析する必要があるため、コンテンツ整備にコストがかかる。第二に、少ないパラメータで記述される動的システムを用いることでテンポ軌跡に対して制約を設けるアプローチがある。このアプローチでは、テンポの連続性といった事前情報を設けた上で、リハーサルを通じて演奏者のテンポ軌跡などを学習する。また、伴奏パートは伴奏パートの発音タイミングを別途学習できる。これらは少ないパラメータでテンポ軌跡を記述するため、リハーサル中に伴奏パートまたは人間の「癖」を容易に手動で上書きできる。しかし、追従性を独立に操作することは難しく、追従性は演奏者と合奏エンジンそれぞれが独立に演奏した時における発音タイミングのばらつきから間接的に得られていた。リハーサル中における瞬発力を高めるためには、自動演奏システムによる学習と、自動演奏システムと演奏者との対話を交互に行うことが有効と考えられる。そこで、追従性を独立に操作するため、合奏再生ロジック自体を調整する方法が提案されている。本手法では、このようなアイディアに基づき、「合わせ方」「伴奏パートの演奏タイミング」「演奏者の演奏タイミング」を独立かつ対話的に制御できるような数理モデルを考える。
従来の自動演奏システムでは、楽譜追従を用いることで演奏者の演奏タイミングを推定する。その上で、合奏エンジンと人間を協調させるため、大きく分けて二つのアプローチが用いられる。第一に、多数のリハーサルを通じて演奏者と合奏エンジンの演奏タイミングに対する関係性を回帰することで、楽曲における平均的な挙動、もしくは時々刻々と変化する挙動、を獲得することが提案されている。このようなアプローチでは、合奏の結果自体を回帰するため、結果的に伴奏パートの音楽性と、伴奏パートの追従性を同時に獲得できる。一方、演奏者のタイミング予測、合奏エンジンの生成過程と、合わせる度合いを切り分けて表現することが難しいため、リハーサル中に追従性または音楽性を独立に操作することは難しいと考えられる。また、音楽的な追従性を獲得するためには、人間同士の合奏データを別途解析する必要があるため、コンテンツ整備にコストがかかる。第二に、少ないパラメータで記述される動的システムを用いることでテンポ軌跡に対して制約を設けるアプローチがある。このアプローチでは、テンポの連続性といった事前情報を設けた上で、リハーサルを通じて演奏者のテンポ軌跡などを学習する。また、伴奏パートは伴奏パートの発音タイミングを別途学習できる。これらは少ないパラメータでテンポ軌跡を記述するため、リハーサル中に伴奏パートまたは人間の「癖」を容易に手動で上書きできる。しかし、追従性を独立に操作することは難しく、追従性は演奏者と合奏エンジンそれぞれが独立に演奏した時における発音タイミングのばらつきから間接的に得られていた。リハーサル中における瞬発力を高めるためには、自動演奏システムによる学習と、自動演奏システムと演奏者との対話を交互に行うことが有効と考えられる。そこで、追従性を独立に操作するため、合奏再生ロジック自体を調整する方法が提案されている。本手法では、このようなアイディアに基づき、「合わせ方」「伴奏パートの演奏タイミング」「演奏者の演奏タイミング」を独立かつ対話的に制御できるような数理モデルを考える。
3.システムの概要
自動演奏システムの構成を図15に示す。本手法では、演奏者の位置を追従するために、音響信号とカメラ映像に基づき楽譜追従を行う。また、楽譜追従の事後分布から得られた統計情報を元に、演奏者の演奏している位置の生成過程に基づき、演奏者の位置を予測する。伴奏パートの発音タイミングを決定するためには、演奏者のタイミングを予測モデルと、伴奏パートが取りうるタイミングの生成過程を結合することで、伴奏パートのタイミングを生成する。
自動演奏システムの構成を図15に示す。本手法では、演奏者の位置を追従するために、音響信号とカメラ映像に基づき楽譜追従を行う。また、楽譜追従の事後分布から得られた統計情報を元に、演奏者の演奏している位置の生成過程に基づき、演奏者の位置を予測する。伴奏パートの発音タイミングを決定するためには、演奏者のタイミングを予測モデルと、伴奏パートが取りうるタイミングの生成過程を結合することで、伴奏パートのタイミングを生成する。
4.楽譜追従
演奏者が現在弾いている楽曲中の位置を推定するために、楽譜追従を用いる。本システムの楽譜追従手法では、楽譜の位置と演奏されているテンポを同時に表現する離散的な状態空間モデルを考える。観測音を状態空間上の隠れマルコフ過程(hidden Markov model;HMM)としてモデル化し、状態空間の事後分布をdelayed-decision型のforward-backwardアルゴリズムで逐次推定する。delayed-decision型のfoward-backwardアルゴリズムとは、forwardアルゴリズムを逐次実行し、現在の時刻がデータの終端と見なしbackwardアルゴリズムを走らせることで、現在の時刻より数フレーム前の状態に対する事後分布を算出することを言う。事後分布のMAP値が楽譜上でオンセットとみなされる位置を通過した時点で、事後分布のラプラス近似を出力する。
演奏者が現在弾いている楽曲中の位置を推定するために、楽譜追従を用いる。本システムの楽譜追従手法では、楽譜の位置と演奏されているテンポを同時に表現する離散的な状態空間モデルを考える。観測音を状態空間上の隠れマルコフ過程(hidden Markov model;HMM)としてモデル化し、状態空間の事後分布をdelayed-decision型のforward-backwardアルゴリズムで逐次推定する。delayed-decision型のfoward-backwardアルゴリズムとは、forwardアルゴリズムを逐次実行し、現在の時刻がデータの終端と見なしbackwardアルゴリズムを走らせることで、現在の時刻より数フレーム前の状態に対する事後分布を算出することを言う。事後分布のMAP値が楽譜上でオンセットとみなされる位置を通過した時点で、事後分布のラプラス近似を出力する。
状態空間の構造に関して述べる。まず、楽曲をR個の区間に分け、それぞれの区間を一つの状態とする。r番目の区間では、その区間を通過するのに必要なフレーム数nと、それぞれのnに対し、現在の経過フレーム0≦1<nを状態変数として持つ。つまり、nはある区間のテンポに相当し、rとlを組み合わせたものが楽譜上の位置に相当する。このような状態空間上の遷移を、次のようなマルコフ過程として表現する。
このようなモデルは、explicit-duration HMMとleft-to-right HMMとの双方の特長を兼備する。すなわち、nの選択により、区間内の継続長を大まかに決めつつも、区間内における微小なテンポ変動を自己遷移確率pで吸収できる。区間の長さまたは自己遷移確率は、楽曲データを解析して求める。具体的には、テンポ指令、またはフェルマータといったアノテーション情報を活用する。
次に、このようなモデルの観測尤度を定義する。それぞれの状態(r,n,l)には、ある楽曲中の位置~s(r,n,l)が対応している。また、楽曲中における任意の位置sに対して、観測される定Q変換(CQT)とΔCQTの平均値/~cs 2と/Δ~cs 2とに加え、精度κs (c)とκs (Δc)とがそれぞれ割り当てられる(記号/はベクトルを意味し、記号~は数式内のオーバーラインを意味する)。これらに基づき、時刻tにおいて、CQT,ct,ΔCQT,Δctを観測したとき、状態(rt,nt,lt)に対応する観測尤度を以下のように定義する。
~cまたはΔ~cを決める際には、楽譜表現のピアノロールと、各音から想定されるCQTのモデルを用いる。まず楽譜上に存在する音高と楽器名のペアに対して固有のインデックスiを割り当てる。また、i番目の音に対して、平均的な観測CQTωifを割り当てる。楽譜上の位置sにおいて、i番目の音の強度をhsiと置くと、~cs,fは次のように与えられる。Δ~cは、~cs,fに対してs方向に一次差分を取り、半波整流することで得られる。
無音の状態から楽曲を開始する際には、視覚情報がより重要になる。そこで、本システムでは、前述の通り、演奏者の前に配置されたカメラから検出された合図動作(キュー)を活用する。本手法では、自動演奏システムをトップダウンに制御するアプローチとは異なり、観測尤度に直接に合図動作の有無を反映させることで、音響信号と合図動作を統一的に扱う。そこで、まず楽譜情報に合図動作が必要とされる箇所{^qi}を抽出する。^qiには、楽曲の開始地点またはフェルマータの位置が含まれる。楽譜追従を実行中に合図動作を検出した場合、楽譜上の位置U[^qi−Τ,^qi]に対応する状態の観測尤度を0にすることで、合図動作の位置以降に事後分布を誘導する。楽譜追従により、合奏エンジンは、楽譜上で音が切り替わった位置から数フレーム後に、現在推定される位置またはテンポの分布を正規分布として近似したものを受け取る。すなわち、楽譜追従エンジンは、楽曲データ上に存在するn番目の音の切り替わり(以下「オンセットイベント」という)を検出したら、そのオンセットイベントが検出された時刻のタイムスタンプtnと、推定された楽譜上の平均位置μnとその分散σn 2を合奏タイミング生成部に通知する。なお、delayed-decision型の推定を行うため、通知自体には100msの遅延が生じる。
5.演奏タイミング結合モデル
合奏エンジンは、楽譜追従から通知された情報(tn,μn,σn 2)を元に、適切な合奏エンジンの再生位置を計算する。合奏エンジンが演奏者に合わせるためには、(1)演奏者が演奏するタイミングの生成過程、(2)伴奏パートが演奏するタイミングの生成過程、(3)演奏者を聞きながら伴奏パートが演奏する過程の三つを独立にモデル化することが好ましい。このようなモデルを使い、伴奏パート生成したい演奏タイミングと、演奏者の予測位置を加味しながら、最終的な伴奏パートのタイミングを生成する。
合奏エンジンは、楽譜追従から通知された情報(tn,μn,σn 2)を元に、適切な合奏エンジンの再生位置を計算する。合奏エンジンが演奏者に合わせるためには、(1)演奏者が演奏するタイミングの生成過程、(2)伴奏パートが演奏するタイミングの生成過程、(3)演奏者を聞きながら伴奏パートが演奏する過程の三つを独立にモデル化することが好ましい。このようなモデルを使い、伴奏パート生成したい演奏タイミングと、演奏者の予測位置を加味しながら、最終的な伴奏パートのタイミングを生成する。
5.1 演奏者の演奏タイミング生成過程
演奏者の演奏タイミングを表現するため、演奏者が、tnとtn+1の間で楽譜上の位置を、速度vn (p)で直線運動していると仮定する。すなわち、xn (p)をtnでの演奏者が弾いている楽譜上の位置とし、εn (p)を速度または楽譜上の位置に対するノイズとし、次のような生成過程を考える。ただし、ΔTm,n=tm−tnとする。
演奏者の演奏タイミングを表現するため、演奏者が、tnとtn+1の間で楽譜上の位置を、速度vn (p)で直線運動していると仮定する。すなわち、xn (p)をtnでの演奏者が弾いている楽譜上の位置とし、εn (p)を速度または楽譜上の位置に対するノイズとし、次のような生成過程を考える。ただし、ΔTm,n=tm−tnとする。
ノイズεn (p)は、テンポの変化に加え、アゴーギクまたは発音タイミング誤差が含まれる。前者を表すためには、テンポ変化に応じて発音タイミングも変わることを踏まえ、tnとtn-1の間を、分散ψ2の正規分布から生成された加速度で遷移するモデルを考える。すると、εn (p)の共分散行列は、h=[ΔTn,n-1 2/2,ΔTn,n-1]とすると、Σn (p)=ψ2h’hと与えられ、テンポ変化と発音タイミング変化が相関するようになる。また、後者を表すため、標準偏差σn (p)の白色雑音を考え、σn (p)をΣn,0,0 (p)に加算する。したがって、σn (p)をΣn,0,0 (p)に加算した行列をΣn (p)とすると、εn (p)〜N(0,Σn (p))と与えられる。N(a,b)は、平均aおよび分散bの正規分布を意味する。
次に、楽譜追従システムが報告する、ユーザの演奏タイミングの履歴/μn=[μn,μn-1,…,μn-In]と/σn 2=[σn,σn-1,…,σn-In]を、式(3)および式(4)と結びつけることを考える。ここで、Inは、考慮する履歴の長さであり、tnよりも1拍前のイベントまでを含むように設定される。このような/μnおよび/σn 2の生成過程を次のように定める。
従来のように、観測値として直近のμnを使うのではなく、それ以前の履歴も用いることにより、楽譜追従が一部で失敗しても動作が破綻しにくくなると考えられる。また、/Wnをリハーサルを通じて獲得することも可能であると考えられ、テンポの増減のパターンといった、長時間の傾向に依存する演奏法にも追従ができるようになると考えられる。このようなモデルは、テンポと楽譜上の位置変化の関係性を明記するという意味では、トラジェクトリHMMのコンセプトを連続状態空間に適用したものに相当する。
5.2 伴奏パートの演奏タイミング生成過程
前述したような、演奏者のタイミングモデルを使うことで、演奏者の内部状態[xn (p),vn (p)]を、楽譜追従が報告した位置の履歴から推論することができる。自動演奏システムは、このような推論と、伴奏パートがどのように「弾きたいか」というクセを協調させながら、最終的な発音タイミングを推論する。そこで、ここでは伴奏パートがどのように「弾きたいか」という、伴奏パートにおける演奏タイミングの生成過程について考える。
前述したような、演奏者のタイミングモデルを使うことで、演奏者の内部状態[xn (p),vn (p)]を、楽譜追従が報告した位置の履歴から推論することができる。自動演奏システムは、このような推論と、伴奏パートがどのように「弾きたいか」というクセを協調させながら、最終的な発音タイミングを推論する。そこで、ここでは伴奏パートがどのように「弾きたいか」という、伴奏パートにおける演奏タイミングの生成過程について考える。
伴奏パートの演奏タイミングでは、与えられたテンポ軌跡から一定の範囲内のテンポ軌跡で演奏される過程を考える。与えられるテンポ軌跡とは、演奏表情付けシステムまたは人間の演奏データを使うことが考えられる。自動演奏システムがn番目のオンセットイベントを受け取ったときに、楽曲上のどの位置を弾いているかの予測値^xn (a)とその相対速度^vn (a)を次のように表現する。
ここで、~vn (a)とは時刻tnで報告された楽譜上の位置nにおいて事前に与えたテンポであり、事前に与えたテンポ軌跡を代入する。また、ε(a)は、事前に与えたテンポ軌跡から生成された演奏タイミングに対して許容される逸脱の範囲を定める。このようなパラメータにより、伴奏パートとして音楽的に自然な演奏の範囲を定める。β∈[0,1]とは事前に与えたテンポにどれだけ強く引き戻そうとするかを表す項であり、テンポ軌跡を~vn (a)に引き戻そうとする効果がある。このようなモデルはオーディオアラインメントにおいて一定の効果があるため、同一楽曲を演奏するタイミングの生成過程として妥当性があると示唆される。なお、このような制約がない場合(β=1)、^vはウィナー過程に従うため、テンポが発散し、極端に速かったり遅い演奏が生成されうる。
5.3 演奏者と伴奏パートの演奏タイミング結合過程
ここまでは、演奏者の発音タイミングと、伴奏パートの発音タイミングをそれぞれ独立にモデル化した。ここでは、これらの生成過程を踏まえた上で、演奏者を聞きながら、伴奏パートが「合わせる」過程について述べる。そこで、伴奏パートが人に合わせる際、伴奏パートが現在弾こうとする位置の予測値と、演奏者の現在位置の予測値の誤差を徐々に補正するような挙動を記述することを考える。以下では、このような、誤差を補正する程度を記述した変数を「結合係数」と呼ぶ。結合係数は、伴奏パートと演奏者の主従関係に影響される。例えば、演奏者が伴奏パートよりも明瞭なリズムを刻んでいる場合、伴奏パートは演奏者に強めに合わせること多い。また、リハーサル中に主従関係を演奏者から指示された場合は、指示されたように合わせ方を変える必要がある。つまり、結合係数は、楽曲のコンテキストまたは演奏者との対話に応じて変わる。そこで、tnを受け取った際の楽譜位置における結合係数γn∈[0,1]が与えられたとき、伴奏パートが演奏者に合わせる過程を以下のように記述する。
ここまでは、演奏者の発音タイミングと、伴奏パートの発音タイミングをそれぞれ独立にモデル化した。ここでは、これらの生成過程を踏まえた上で、演奏者を聞きながら、伴奏パートが「合わせる」過程について述べる。そこで、伴奏パートが人に合わせる際、伴奏パートが現在弾こうとする位置の予測値と、演奏者の現在位置の予測値の誤差を徐々に補正するような挙動を記述することを考える。以下では、このような、誤差を補正する程度を記述した変数を「結合係数」と呼ぶ。結合係数は、伴奏パートと演奏者の主従関係に影響される。例えば、演奏者が伴奏パートよりも明瞭なリズムを刻んでいる場合、伴奏パートは演奏者に強めに合わせること多い。また、リハーサル中に主従関係を演奏者から指示された場合は、指示されたように合わせ方を変える必要がある。つまり、結合係数は、楽曲のコンテキストまたは演奏者との対話に応じて変わる。そこで、tnを受け取った際の楽譜位置における結合係数γn∈[0,1]が与えられたとき、伴奏パートが演奏者に合わせる過程を以下のように記述する。
このモデルでは、γnの大小に応じて、追従度合いが変わる。例えば、γn=0の時は、伴奏パートは演奏者に一切合わせず、γn=1の時は、伴奏パートは演奏者に完璧に合わせようとする。このようなモデルでは、伴奏パートが演奏しうる演奏^xn (a)の分散と、演奏者の演奏タイミングxn (p)における予測誤差も結合係数によって重み付けられる。そのため、x(a)またはv(a)の分散は演奏者の演奏タイミング確率過程自体と、伴奏パートの演奏タイミング確率過程自体が協調されたものになる。そのため、演奏者と自動演奏システム、両者が「生成したい」テンポ軌跡を自然に統合できていることがわかる。
β=0.9における、本モデルのシミュレーションを図16に示す。このようにγを変えることで、伴奏パートのテンポ軌跡(正弦波)と、演奏者のテンポ軌跡(ステップ関数)の間を補完できることが分かる。また、βの影響により、生成されたテンポ軌跡は、演奏者のテンポ軌跡よりも伴奏パートの目標とするテンポ軌跡に近づけるようになっていることが分かる。つまり、~v(a)よりも演奏者が速い場合は演奏者を「引っ張り」、遅い場合は演奏者を「急かす」ような効果があると考えられる。
5.4 結合係数γの算出方法
結合係数γnに表すような演奏者同士の同期度合いは、いくつかの要因により設定される。まず、楽曲中のコンテキストに主従関係が影響される。例えば、合奏をリードするのは、分かりやすいリズムを刻むパートであることが多い。また、対話を通じて主従関係を変えることもある。楽曲中のコンテキストから主従関係を設定するため、楽譜情報から、音の密度φn=[伴奏パートに対する音符密度の移動平均、演奏者パートに対する音符密度の移動平均]を算出する。音の数が多いパートの方が、テンポ軌跡を決めやすいため、このような特徴量を使うことで近似的に結合係数を抽出できると考えられる。このとき、伴奏パートが演奏を行っていない場合(φn,0=0)、合奏の位置予測は演奏者に完全に支配され、また、演奏者が演奏を行わない箇所(φn,1=0)では、合奏の位置予測は演奏者を完全に無視するような挙動が望ましい。そこで、次のようにγnを決定する。
結合係数γnに表すような演奏者同士の同期度合いは、いくつかの要因により設定される。まず、楽曲中のコンテキストに主従関係が影響される。例えば、合奏をリードするのは、分かりやすいリズムを刻むパートであることが多い。また、対話を通じて主従関係を変えることもある。楽曲中のコンテキストから主従関係を設定するため、楽譜情報から、音の密度φn=[伴奏パートに対する音符密度の移動平均、演奏者パートに対する音符密度の移動平均]を算出する。音の数が多いパートの方が、テンポ軌跡を決めやすいため、このような特徴量を使うことで近似的に結合係数を抽出できると考えられる。このとき、伴奏パートが演奏を行っていない場合(φn,0=0)、合奏の位置予測は演奏者に完全に支配され、また、演奏者が演奏を行わない箇所(φn,1=0)では、合奏の位置予測は演奏者を完全に無視するような挙動が望ましい。そこで、次のようにγnを決定する。
ただし、ε>0は十分に小さい値とする。人間同士の合奏では、完全に一方的な主従関係(γn=0またはγn=1)は発生しにくいのと同様に、上式のようなヒューリスティックは、演奏者と伴奏パートどちらも演奏している場合は完全に一方的な主従関係にはならない。完全に一方的な主従関係は、演奏者・合奏エンジンどちらかがしばらく無音である場合のみ起こるが、このような挙動はむしろ望ましい。
また、γnはリハーサル中など、必要に応じて、演奏者またはオペレータが上書きすることができる。γnの定義域が有限であり、かつその境界条件での挙動が自明であること、または、γnの変動に対し挙動が連続的に変化することは、リハーサル中に適切な値を人間が上書きする上で望ましい特性であると考えられる。
5.5 オンライン推論
自動演奏システムの運用時は、(tn,μn,σn 2)を受け取ったタイミングで、前述の演奏タイミングモデルの事後分布を更新する。提案手法はカルマンフィルタを用いて効率的に推論することができる。(tn,μn,σn 2)が通知された時点でカルマンフィルタのpredictとupdateステップを実行し、時刻tにおいて伴奏パートが演奏すべき位置を以下のように予測する。
自動演奏システムの運用時は、(tn,μn,σn 2)を受け取ったタイミングで、前述の演奏タイミングモデルの事後分布を更新する。提案手法はカルマンフィルタを用いて効率的に推論することができる。(tn,μn,σn 2)が通知された時点でカルマンフィルタのpredictとupdateステップを実行し、時刻tにおいて伴奏パートが演奏すべき位置を以下のように予測する。
ここでτ(s)とは、自動演奏システムにおける入出力遅延である。なお、本システムでは、伴奏パート発音時にも状態変数を更新する。つまり、前述したように、楽譜追従結果に応じてpredict/updateステップを実行することに加え、伴奏パートが発音した時点で、predictステップのみを行い、得られた予測値を状態変数に代入する。
6.評価実験
本システムを評価するため、まず演奏者の位置推定精度を評価する。合奏のタイミング生成に関しては、合奏のテンポを規定値に引き戻そうとする項であるβ、または、伴奏パートを演奏者にどれだけ合わせるかの指標であるγの有用性を、演奏者へのヒアリングを行うことで評価する。
本システムを評価するため、まず演奏者の位置推定精度を評価する。合奏のタイミング生成に関しては、合奏のテンポを規定値に引き戻そうとする項であるβ、または、伴奏パートを演奏者にどれだけ合わせるかの指標であるγの有用性を、演奏者へのヒアリングを行うことで評価する。
6.1 楽譜追従の評価
楽譜追従精度の評価を行うため、Bergmullerのエチュードに対する追従精度を評価した。評価データとして、Bergmullerのエチュード(Op.100)のうち、14曲(1番,4番-10番,14番,15番,19番,20番,22番,23番)をピアニストが演奏したデータを収録したものを使い、譜面追従精度を評価した。なお、この実験ではカメラの入力は使用しなかった。評価尺度にはMIREXに倣い、Total precisionを評価した。Total precisionとは、アラインメントの誤差がある閾値τに収まる場合を正解とした場合の、コーパス全体に対する精度を示す。
楽譜追従精度の評価を行うため、Bergmullerのエチュードに対する追従精度を評価した。評価データとして、Bergmullerのエチュード(Op.100)のうち、14曲(1番,4番-10番,14番,15番,19番,20番,22番,23番)をピアニストが演奏したデータを収録したものを使い、譜面追従精度を評価した。なお、この実験ではカメラの入力は使用しなかった。評価尺度にはMIREXに倣い、Total precisionを評価した。Total precisionとは、アラインメントの誤差がある閾値τに収まる場合を正解とした場合の、コーパス全体に対する精度を示す。
まず、delayed-decision型の推論に関する有用性を検証するため、delayed-decision forward backwardアルゴリズムにおける遅延フレーム量に対するtotal precision(τ=300ms)を評価した。結果を図17に示す。数フレーム前の結果の事後分布を活用することで精度が上がることが分かる。また、遅延量が2フレームを超えると精度は徐々に下がることも分かる。また、遅延量2フレームの場合、τ=100msでtotal precision=82%、τ=50msで64%であった。
6.2 演奏タイミング結合モデルの検証
演奏タイミング結合モデルの検証は、演奏者へのヒアリングを通じて行った。本モデルの特徴としては、合奏エンジンが想定テンポに引き戻そうとするβと、結合係数γの存在であり、これら両者についての有効性を検証した。
演奏タイミング結合モデルの検証は、演奏者へのヒアリングを通じて行った。本モデルの特徴としては、合奏エンジンが想定テンポに引き戻そうとするβと、結合係数γの存在であり、これら両者についての有効性を検証した。
まず、結合係数の影響を外すため、式(4)をvn (p)=βvn-1 (p)+(1−β)~vn (a)とし、xn (a)=xn (p)、vn (a)=vn (p)としたシステムを用意した。つまり、テンポの期待値が^vにあり、その分散がβにより制御されるようなダイナミクスを仮定しながら、楽譜追従の結果をフィルタリングした結果を直接伴奏の演奏タイミング生成に使うような合奏エンジンを考えた。まず、β=0に設定した場合の自動演奏システムを、ピアニスト6名に一日間利用してもらったあと、使用感に関してヒアリングを行った。対象曲はクラシック・ロマン派・ポピュラーなど幅広いジャンルの曲から選曲した。ヒアリングでは、合奏に人間が合わせようとすると、伴奏パートも人間に合わせようとし、テンポが極端に遅くなったり速くなるという不満が支配的であった。このような現象は、式(12)におけるτ(s)が不適切に設定されていることにより、システムの応答が演奏者と微妙に合わない場合に発生する。例えば、システムの応答が想定よりも少し早い場合、ユーザは少し早めに返されるシステムに合わせようとするため、テンポを上げる。その結果、そのテンポに追従するシステムが更に早めに応答を返すことで、テンポが加速し続ける。
次に、β=0.1で同じ曲目を使って別のピアニスト5名と、β=0の実験にも参加したピアニスト1名で実験を行った。β=0の場合と同じ質問内容でヒアリングを行ったが、テンポが発散する問題は聞かれなかった。また、β=0でも実験に協力したピアニストからも追従性が改善しているというコメントがあった。ただし、演奏者がある曲に対して想定しているテンポと、システムが引き戻そうとするテンポに大きな齟齬がある場合、システムがもたつく・急かす、といったコメントが聞かれた。この傾向は特に未知の曲を弾く場合、つまり演奏者が「常識的な」テンポを知らない場合、において見られた。このことから、システムが一定のテンポに引き込もうとする効果により、テンポの発散を未然に防ぐ一方で、伴奏パートとテンポに関する解釈が極端に異なる場合、伴奏パートに煽られるような印象を受けることが示唆された。また、追従性に関しては、楽曲のコンテキストに応じて変えたほうがよいことも示唆された。なぜならば、楽曲の特性よって「引っ張ってもらったほうがいい」「もっと合わせて欲しい」といった、合わせ方の度合いに関する意見がほぼ一貫したためである。
最後に、プロの弦カルテットにγ=0に固定したシステムと、演奏のコンテキストに応じてγを調整したシステムを使ってもらったところ、後者の方が挙動が良いというコメントがあり、その有用性が示唆された。ただし、この検証では後者のシステムが改善後のシステムであることを被験者が知っていたため、好適にはAB法などを使い追加検証する必要がある。また、リハーサル中の対話に応じてγを変更する局面がいくつか存在したため、結合係数をリハーサル中で変更することが有用であると示唆された。
7.事前の学習処理
演奏者の「癖」を獲得するため、楽譜追従から算出された時刻tでのMAP状態^stと、その入力特徴系列{ct}T t=1をもとに、hsiとωifおよびテンポ軌跡を推定する。ここでは、これらの推定方法について簡単に述べる。hsiとωifの推定においては、次のようなPoisson-Gamma 系のInformed NMFモデルを考え、事後分布を推定する。
演奏者の「癖」を獲得するため、楽譜追従から算出された時刻tでのMAP状態^stと、その入力特徴系列{ct}T t=1をもとに、hsiとωifおよびテンポ軌跡を推定する。ここでは、これらの推定方法について簡単に述べる。hsiとωifの推定においては、次のようなPoisson-Gamma 系のInformed NMFモデルを考え、事後分布を推定する。
ここで現れる超パラメータは楽器音データベースまたは楽譜表現のピアノロールから適当に算出する。事後分布は、変分ベイズ法で近似的に推定する。具体的には、事後分布p(h,ω|c)をq(h)q(w)という形で近似し、事後分布とq(h)q(w)の間のKL距離を、補助変数を導入しながら最小化する。このようにして推定された事後分布から、楽器音の音色に相当するパラメータωのMAP推定を保存し、以降のシステム運用で使う。なお、ピアノロールの強さに相当するhを使うことも可能である。
続いて、演奏者がそれぞれの楽曲上の区間を演奏する長さ(すなわちテンポ軌跡)を推定する。テンポ軌跡を推定すると演奏者特有のテンポ表現を復元できるため、演奏者の位置予測が改善される。一方、リハーサルの回数が少ない場合は推定誤差などによりテンポ軌跡の推定が誤り、位置予測の精度がむしろ悪化する可能性もある。そこで、テンポ軌跡を変更する際には、テンポ軌跡に関する事前情報をまず持たせ、演奏者のテンポ軌跡が事前情報から一貫して逸脱している場所のテンポのみを変えることを考える。まず、演奏者のテンポがどれだけばらつくかを計算する。ばらつき度合いの推定値自体もリハーサルの回数が少ないと不安定になるため、演奏者のテンポ軌跡の分布自体にも事前分布を持たせる。演奏者が楽曲中の位置sにおけるテンポの平均μs (p)と分散λs (p)とがN(μs (p)|m0,b0λs (p)-1)Gamma(λs (p)-1|a0 λ,b0 λ)に従うとする。すると、K回の演奏から得られたテンポの平均がμs (R)、精度(分散)がλs (R)-1であったとすると、テンポの事後分布は以下のように与えられる。
100…自動演奏システム、12…制御装置、14…記憶装置、22…収録装置、222…撮像装置、224…収音装置、24…自動演奏装置、242…駆動機構、244…発音機構、26…表示装置、52…合図検出部、522…画像合成部、524…検出処理部、54…演奏解析部、542…音響混合部、544…解析処理部、56…演奏制御部、58…表示制御部、G…演奏画像、70…仮想空間、74…表示体、82…制御装置、822…演奏解析部、824…更新処理部、91…第1更新部、92…第2更新部、84…記憶装置、86…収音装置。
Claims (4)
- 演奏音を表す音響信号の解析により楽曲内の演奏位置を推定し、
複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新し、
前記楽曲データの更新においては、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する
楽曲データ処理方法。 - 音符に対応する演奏音のスペクトルを表す基底ベクトルと、前記楽曲データが当該音符について指定する音量の変化を表す係数ベクトルとの積を、複数の音符について加算した参照行列が、前記音響信号のスペクトログラムを表す観測行列に近付くように、前記各音符の基底ベクトルと、前記楽曲データが各音符について指定する音量の変化とを更新する
請求項1の楽曲データ処理方法。 - 前記音量の変化の更新においては、前記楽曲データが各音符について指定する音量の変化を、前記演奏位置を推定した結果に応じて時間軸上で伸縮し、前記伸縮後の前記音量の変化を表す前記係数行列を利用する
請求項2の楽曲データ処理方法。 - コンピュータを、
演奏音を表す音響信号の解析により楽曲内の演奏位置を推定する演奏解析部、および、
複数回にわたる前記楽曲の演奏について前記演奏位置を推定した結果から生成される演奏テンポの散布度の遷移と、事前に用意された基準テンポの散布度の遷移とに応じたテンポの軌跡となるように、前記楽曲の演奏内容を表す楽曲データが指定するテンポを更新する第1更新部
として機能させるプログラムであって、
前記第1更新部は、前記楽曲のうち、前記演奏テンポの散布度が前記基準テンポの散布度を下回る部分については前記演奏テンポが優先的に反映され、前記演奏テンポの散布度が前記基準テンポの散布度を上回る部分については前記基準テンポが優先的に反映されるように、前記楽曲データが指定するテンポを更新する
プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016144943 | 2016-07-22 | ||
JP2016144943 | 2016-07-22 | ||
PCT/JP2017/026270 WO2018016581A1 (ja) | 2016-07-22 | 2017-07-20 | 楽曲データ処理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018016581A1 JPWO2018016581A1 (ja) | 2019-01-17 |
JP6597903B2 true JP6597903B2 (ja) | 2019-10-30 |
Family
ID=60993037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018528862A Active JP6597903B2 (ja) | 2016-07-22 | 2017-07-20 | 楽曲データ処理方法およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10586520B2 (ja) |
JP (1) | JP6597903B2 (ja) |
WO (1) | WO2018016581A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018016638A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | 制御方法、及び、制御装置 |
WO2018016639A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | タイミング制御方法、及び、タイミング制御装置 |
EP3489945B1 (en) * | 2016-07-22 | 2021-04-14 | Yamaha Corporation | Musical performance analysis method, automatic music performance method, and automatic musical performance system |
JP6631713B2 (ja) * | 2016-07-22 | 2020-01-15 | ヤマハ株式会社 | タイミング予想方法、タイミング予想装置、及び、プログラム |
JP6597903B2 (ja) * | 2016-07-22 | 2019-10-30 | ヤマハ株式会社 | 楽曲データ処理方法およびプログラム |
US10846519B2 (en) * | 2016-07-22 | 2020-11-24 | Yamaha Corporation | Control system and control method |
JP6708179B2 (ja) * | 2017-07-25 | 2020-06-10 | ヤマハ株式会社 | 情報処理方法、情報処理装置およびプログラム |
JP6724938B2 (ja) * | 2018-03-01 | 2020-07-15 | ヤマハ株式会社 | 情報処理方法、情報処理装置およびプログラム |
JP6737300B2 (ja) * | 2018-03-20 | 2020-08-05 | ヤマハ株式会社 | 演奏解析方法、演奏解析装置およびプログラム |
JP2021131401A (ja) * | 2018-04-26 | 2021-09-09 | 国立大学法人 筑波大学 | 音楽性情報提供方法、音楽性情報提供装置、及び音楽性情報提供システム |
JP7147384B2 (ja) | 2018-09-03 | 2022-10-05 | ヤマハ株式会社 | 情報処理方法および情報処理装置 |
JP2020106753A (ja) * | 2018-12-28 | 2020-07-09 | ローランド株式会社 | 情報処理装置および映像処理システム |
JP7143816B2 (ja) * | 2019-05-23 | 2022-09-29 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法、及びプログラム |
CN111046134B (zh) * | 2019-11-03 | 2023-06-30 | 天津大学 | 一种基于回复者个人特征增强的对话生成方法 |
EP3869495B1 (en) * | 2020-02-20 | 2022-09-14 | Antescofo | Improved synchronization of a pre-recorded music accompaniment on a user's music playing |
CN111680187B (zh) * | 2020-05-26 | 2023-11-24 | 平安科技(深圳)有限公司 | 乐谱跟随路径的确定方法、装置、电子设备及存储介质 |
JP7276292B2 (ja) * | 2020-09-11 | 2023-05-18 | カシオ計算機株式会社 | 電子楽器、電子楽器の制御方法、及びプログラム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030205124A1 (en) * | 2002-05-01 | 2003-11-06 | Foote Jonathan T. | Method and system for retrieving and sequencing music by rhythmic similarity |
AU2003258442A1 (en) * | 2002-09-18 | 2004-04-08 | Michael Boxer | Metronome |
JP2005062697A (ja) * | 2003-08-19 | 2005-03-10 | Kawai Musical Instr Mfg Co Ltd | テンポ表示装置 |
JP2007164545A (ja) * | 2005-12-14 | 2007-06-28 | Sony Corp | 嗜好プロファイル生成装置、嗜好プロファイル生成方法及びプロファイル生成プログラム |
JP4322283B2 (ja) * | 2007-02-26 | 2009-08-26 | 独立行政法人産業技術総合研究所 | 演奏判定装置およびプログラム |
JP5891656B2 (ja) * | 2011-08-31 | 2016-03-23 | ヤマハ株式会社 | 伴奏データ生成装置及びプログラム |
JP6179140B2 (ja) * | 2013-03-14 | 2017-08-16 | ヤマハ株式会社 | 音響信号分析装置及び音響信号分析プログラム |
JP6187132B2 (ja) * | 2013-10-18 | 2017-08-30 | ヤマハ株式会社 | スコアアライメント装置及びスコアアライメントプログラム |
JP6467887B2 (ja) * | 2014-11-21 | 2019-02-13 | ヤマハ株式会社 | 情報提供装置および情報提供方法 |
JP6597903B2 (ja) * | 2016-07-22 | 2019-10-30 | ヤマハ株式会社 | 楽曲データ処理方法およびプログラム |
WO2018016638A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | 制御方法、及び、制御装置 |
WO2018016639A1 (ja) * | 2016-07-22 | 2018-01-25 | ヤマハ株式会社 | タイミング制御方法、及び、タイミング制御装置 |
EP3489945B1 (en) * | 2016-07-22 | 2021-04-14 | Yamaha Corporation | Musical performance analysis method, automatic music performance method, and automatic musical performance system |
JP6776788B2 (ja) * | 2016-10-11 | 2020-10-28 | ヤマハ株式会社 | 演奏制御方法、演奏制御装置およびプログラム |
US10262639B1 (en) * | 2016-11-08 | 2019-04-16 | Gopro, Inc. | Systems and methods for detecting musical features in audio content |
-
2017
- 2017-07-20 JP JP2018528862A patent/JP6597903B2/ja active Active
- 2017-07-20 WO PCT/JP2017/026270 patent/WO2018016581A1/ja active Application Filing
-
2019
- 2019-01-18 US US16/252,245 patent/US10586520B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2018016581A1 (ja) | 2018-01-25 |
JPWO2018016581A1 (ja) | 2019-01-17 |
US10586520B2 (en) | 2020-03-10 |
US20190156809A1 (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6597903B2 (ja) | 楽曲データ処理方法およびプログラム | |
JP6614356B2 (ja) | 演奏解析方法、自動演奏方法および自動演奏システム | |
JP6801225B2 (ja) | 自動演奏システムおよび自動演奏方法 | |
JP7383943B2 (ja) | 制御システム、制御方法、及びプログラム | |
US20190392798A1 (en) | Electronic musical instrument, electronic musical instrument control method, and storage medium | |
US10846519B2 (en) | Control system and control method | |
Poli | Methodologies for expressiveness modelling of and for music performance | |
CN112955948B (zh) | 用于实时音乐生成的乐器和方法 | |
JP7448053B2 (ja) | 学習装置、自動採譜装置、学習方法、自動採譜方法及びプログラム | |
CN109478398B (zh) | 控制方法以及控制装置 | |
JP6776788B2 (ja) | 演奏制御方法、演奏制御装置およびプログラム | |
JP6642714B2 (ja) | 制御方法、及び、制御装置 | |
WO2018016636A1 (ja) | タイミング予想方法、及び、タイミング予想装置 | |
Carrillo et al. | Performance control driven violin timbre model based on neural networks | |
CN114446266A (zh) | 音响处理***、音响处理方法及程序 | |
JP6977813B2 (ja) | 自動演奏システムおよび自動演奏方法 | |
JP6838357B2 (ja) | 音響解析方法および音響解析装置 | |
Van Nort et al. | A system for musical improvisation combining sonic gesture recognition and genetic algorithms | |
Raphael et al. | Orchestral accompaniment for a reproducing piano | |
WO2024085175A1 (ja) | データ処理方法およびプログラム | |
Shayda et al. | Grand digital piano: multimodal transfer of learning of sound and touch | |
Shayda et al. | Stanford Research Series: Grand Digital Piano: Multimodal Transfer of Learning of Sound and Touch | |
JP2004004874A (ja) | 押鍵加速度推定装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190916 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6597903 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |