JP2004233573A - 音楽演奏システム、方法およびプログラム - Google Patents
音楽演奏システム、方法およびプログラム Download PDFInfo
- Publication number
- JP2004233573A JP2004233573A JP2003020982A JP2003020982A JP2004233573A JP 2004233573 A JP2004233573 A JP 2004233573A JP 2003020982 A JP2003020982 A JP 2003020982A JP 2003020982 A JP2003020982 A JP 2003020982A JP 2004233573 A JP2004233573 A JP 2004233573A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- beat
- information
- sound
- shift
- 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.)
- Pending
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【効果】様々な演奏表現を簡易な操作で楽しむことができる。名演奏を下敷きとして演奏表現を行うことができる。演奏技術が伴わない者であっても情緒豊かな演奏表現を行うことが可能である。
【選択図】 図12
Description
【産業上の利用分野】
この発明は音楽演奏システム、方法およびプログラムに関し、特にたとえば、簡易な操作(打鍵または手振り等)によって、音楽演奏を実施し、あるいは名演奏を追体験するための音楽演奏システム、方法およびプログラムならびに表情付演奏情報抽出方法およびプログラムに関する。
【0002】
【従来の技術】
一般的に、情緒あふれる演奏を行うためには、楽器演奏技能の修得が不可欠である。演奏者がこのような演奏表現をしたいという意図を持っていても、技術が不足しているために、実施できないことは少なくない。このため、演奏者であるユーザを支援するような音楽演奏システムが幾つか開発されている。
【0003】
たとえば、発明者らによって開発された「One Finger Piano」というトイシステムがある。この「One Finger Piano」(「従来技術1」とする。)は、基本的には指一本の打鍵操作(拍打)で、テンポ・全体的な音量を制御するものである。具体的には、拍単位で演奏データのスケジューリングが行われ、当該拍(およびその拍に含まれるより短い音)の音符の発音および消音の時刻は、前拍からその拍までにかけての時間(IOI: Inter Onset Interval)に基づいて配置される。実際の演奏においてIOIは、テンポに関係する時間とその拍における“間”とが合算された時間として計測されるため、このようなシステムでは、ユーザがテンポを変化させたいのかまたは“間”を挿入したいのかの区別がつかなかったので、“間”が加えられた演奏にはうまく対処できないという問題があった。このため、発明者らは、もう一本の指で別の鍵盤を押えることによって“間”を区別するようにした「Two Finger Piano」というシステム(「従来技術2」とする。)を開発し、音楽教育や演奏分析研究等に利用してきた(たとえば非特許文献1参照)。
【0004】
また、加速度センサ等のセンサを利用した指揮システムなども知られており(たとえば非特許文献2参照)、この指揮システム(「従来技術3」とする。)も上述の「One Finger Piano」と同様にしてテンポが制御される。
【0005】
さらに、ビデオゲームとしての指揮システムも存在しており、たとえば「PlayStation(登録商標)2」上で動作するゲームソフト「ブラボーミュージック」シリーズ(株式会社ソニー・コンピュータエンタテインメント製)などが知られている。この「ブラボーミュージック」(「従来技術4」とする。)に関する内容および操作などが記載された記事を非特許文献3として挙げておく。このゲームでは、表示画面上の指示に合わせてゲームコントローラの操作ボタンを押していくことによって演奏が進められ、ボタンを押すタイミングでテンポを制御し、ボタンを押す強弱で音量を制御することが可能である。発明者らが実際に操作して行った調査によれば、このゲームでは、予め、曲に対応する拍打ポイントが決められており、基本的には、1)プレイヤが入力する至近の2つの拍打時刻の差(時間)に基づいてテンポを決定し、2)次の拍打ポイント直前までの音を発音して、次の拍打を待ち、3)テンポが極端に遅くなる場合にはリミッターをかける、というような処理がなされているようである。
【0006】
一方、自分の好きなピアニストや名演奏がある場合、その音楽は、通常「聞く」といった受動的なスタイルで享受される。自分の好きな演奏の微妙な表現を残しつつ、フレージングについてはユーザ自身が与えたり、あるいは、自分の好きなフレーズの表現と微妙な音のずらしをブレンドしたりするというようなインタラクティブな演奏インタフェースは、かつて存在しなかった。
【0007】
【非特許文献1】
竹内,片寄、「Two Finger Pianoによる曲想の表現」、情報処理学会音楽情報科学研究報告95−MUS−11、1995年、p.37−44
【非特許文献2】
宇佐,持田、「HMMとファジィを使った指揮認識システム」、情報処理学会音楽情報科学研究報告97−MUS−21、1997年、p.37−44
【非特許文献3】
毎日インタラクティブ 新作ゲーム紹介、ブラボーミュージック、[online]、毎日新聞社、[平成15年1月22日検索]、インタネット<URL:http://www.mainichi.co.jp/life/hobby/game/sinsaku/2001/10/02.html>
【0008】
【発明が解決しようとする課題】
従来技術1および従来技術3では、上述のように、間”の表現を行うことができなかった。また、従来技術2では、“間”の表現を行う際に、2本の指を使用せねばならないという操作上の制約があった。また、従来技術4では、拍以下の表現のディテールについては考慮されていなかった。また、反応の仕方については固定であり、ユーザがタイプを指定することはできなかった。
【0009】
さらに、従来技術のいずれでも、自分の好きなピアニストや名演奏を下敷にして、自分の好きなように演奏表現を行うことは不可能であった。
【0010】
それゆえに、この発明の主たる目的は、新規な音楽演奏システム、方法およびプログラムならびに表情付演奏情報抽出方法およびプログラムを提供することである。
【0011】
この発明の他の目的は、簡易な操作で、様々な演奏表現を楽しむことができる、音楽演奏システム、方法およびプログラムを提供することである。
【0012】
この発明のその他の目的は、名演奏を下敷きとした演奏表現を行うことができる、音楽演奏システム、方法およびプログラムを提供することである。
【0013】
【課題を解決するための手段】
第1の発明は、少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段、および演奏表情パラメータ付演奏情報に基づいてその演奏音を出力する演奏手段を備える、音楽演奏システムである。
【0014】
第2の発明は、少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段とを備える音楽演奏システムにおける音楽演奏方法であって、(a) 操作手段からの操作情報に基づいて、演奏表情パラメータのうち少なくとも1つを制御して演奏を変更するステップ、および(b) 演奏音を出力するステップを備える、音楽演奏方法である。
【0015】
第3の発明は、少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を、既存の演奏から抽出するための表情付演奏情報抽出方法であって、(a) 既存の演奏の時系列演奏情報を取得するステップ、(b) 既存の演奏の元となった楽譜情報を取得するステップ、(c) 時系列演奏情報と楽譜情報とを比較するステップ、(d) 規準音符と次の規準音符までの時間に基づいて規準テンポを算出するステップ、(e) 規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するステップ、および(f) 楽譜情報、規準テンポ、発音時刻のずれおよび音長のずれに基づいて、演奏表情パラメータ付演奏情報を生成するステップを備える、表情付演奏情報抽出方法である。
【0016】
第4の発明は、少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段と、演奏音を出力するための出力手段とを備える音楽演奏システムにおける音楽演奏プログラムであって、音楽演奏システムのコンピュータに、操作手段からの操作情報に基づいて、演奏表情パラメータのうち少なくとも1つを制御して演奏を変更する演奏変更ステップ、および演奏音を出力するための音響情報を出力手段に与える出力ステップを実行させる、音楽演奏プログラムである。
【0017】
第5の発明は、少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶するための記憶手段を備える音楽演奏システムにおいて、演奏表情パラメータ付演奏情報を既存の演奏から抽出するためのプログラムであって、音楽演奏システムのコンピュータに、既存の演奏の時系列演奏情報を取得する演奏取得ステップ、既存の演奏の元となった楽譜情報を取得する楽譜取得ステップ、時系列演奏情報と楽譜情報とを比較する比較ステップ、規準音符と次の規準音符までの時間に基づいて規準テンポを算出するテンポ算出ステップ、規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するずれ算出ステップ、および楽譜情報、規準テンポ、発音時刻のずれおよび音長のずれに基づいて、演奏表情パラメータ付演奏情報を生成する生成ステップを実行させる、表情付演奏情報抽出プログラムである。
【0018】
【作用】
この音楽演奏システムは、演奏表情パラメータ付演奏情報を記憶する記憶手段を含む。演奏表情パラメータ付演奏情報は、少なくとも拍ごとのテンポ,拍内に含まれる音(音符)の発音時刻のずれおよび拍内に含まれる音の音長のずれに関する演奏表情パラメータを含む。また、この演奏表情パラメータには、さらに拍内に含まれる音の音量に関する情報が含まれていてもよい。そして、演奏手段は、演奏表情パラメータ付演奏情報に基づいて、その演奏音を出力する。
【0019】
このシステムによれば、拍以下の微妙な演奏表情を含んだ演奏をユーザに聴かせることができる。
【0020】
また、操作手段をさらに備えるようにしてよい。そして、演奏手段は演奏変更手段および出力手段を含んでよい。演奏変更手段は、操作手段からの操作情報に基づいて、演奏表情パラメータのうちの少なくとも1つを制御して演奏を変更する。そして、出力手段には、演奏音を出力するための音響情報が与えられて、演奏音が出力される。
【0021】
この場合には、ユーザは、自らの操作によって演奏表情パラメータを制御することができ、様々な演奏表現を楽しむことができる。たとえば、演奏表情パラメータ付演奏情報が、自分の好きな演奏や名演奏であれば、ユーザはこの名演奏を下敷きとした演奏表現を行うことができる。
【0022】
具体的には、演奏変更手段は、拍打判断手段およびスケジューリング手段を備えてもよい。拍打判断手段によってユーザによる拍打があったか否かが判断される。スケジューリング手段は、拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行う。そして、出力手段には、スケジューリングに従って音響情報が与えられて、スケジューリングに従った演奏音が出力される。このように、ユーザは、拍打という簡易な操作によって、様々な演奏表現を行うことができる。
【0023】
さらに、スケジューリング手段は、P値決定手段、I値決定手段,D値決定手段および演奏値決定手段を備えてもよい。これらによって、PID制御とほぼ同質の演奏制御が行われることとなる。P値決定手段は、演奏表情パラメータ付演奏情報に記載された情報を第1予測値とする。なお、第1予測値は、たとえば拍に対応する音と拍以下の音とで分けて、細かく設定されてもよい。I値決定手段は、ユーザによって与えられる情報に基づいて第2予測値を決定する。たとえばテンポを算出する場合にはユーザによって指定された拍数分の履歴の平均が算出されてもよい。また、音量を算出する場合にはユーザによって入力された現在の操作情報がそのまま適用されてもよい。D値決定手段は、現在の拍とその直前の拍との変化量から第3予測値を決定する。そして、演奏値決定手段によって、第1予測値,第2予測値,第3予測値およびそれぞれに設定された重みに基づいて、最終的な演奏値が決定される。この場合には、ユーザは、それぞれの予測値に関する重みを適宜変更することによって、様々な操作感、応答感を得ることができるとともに、様々な演奏表現を行うことができる。
【0024】
また、スケジューリング手段は、拍打のタイミングが予想時刻よりも早かったとき、予想時刻とのずれの修正に関する追従性パラメータに基づいて、次拍までの残り間隔の再スケジューリングを行う再スケジューリング手段を含んで構成されてよい。この場合にも、ユーザは、追従性パラメータを適宜変更することによって、様々な応答感を得ることができるし、様々な演奏表現をすることができる。
【0025】
さらに、演奏変更手段は、自走演奏手段および待機手段の少なくとも一方をさらに備えていてもよい。自走演奏手段は、次拍の許容受付範囲を超えても拍打がなかったとき、所定拍まで自走演奏を進める。たとえば、所定拍として小節の最終拍が設定された場合には、ユーザが拍打操作を行わなくても小節の終わりまで演奏が進められ、小節の途中で思わぬ‘間’が挿入されてしまうようなことを回避できる。また、待機手段は、次拍の許容受付範囲を超えても拍打がなかったとき、ユーザによる操作があるまで演奏を進めずに待機する。つまり、たとえば、ユーザが‘間’を挿入することを意図して拍打操作を行わなかった場合、演奏が停止することによって‘間’が挿入され、ユーザの意図通りの‘間’を表現することができる。
【0026】
また、記憶手段には、演奏表情パラメータ付演奏情報を含む複数の演奏情報が記憶されていてよい。そして、操作手段は、複数の演奏情報の合成割合を入力するための第2操作手段を含んで構成され得る。この場合には、複数の演奏情報を合成した演奏をすることができる。つまり、演奏変更手段は合成演奏手段を含んでいて、この合成演奏手段によって、第2操作手段からの合成割合に基づいて、複数の演奏情報が合成される。この合成にあたっては、たとえば、内挿(内分)によってもよいし、外挿(外分)によってもよい。この場合には、ユーザは、第2操作手段の操作によって複数の演奏を自分の好きなように合成あるいはブレンドすることができ、様々な演奏表現を楽しむことができる。
【0027】
また、伴奏演奏モードを設定する伴奏モード設定手段を備えるようにしてもよい。この場合、演奏表情パラメータ付演奏情報は、伴奏に相当する伴奏音に関する情報を含んでいる。そして、この伴奏モードにおいては、スケジューリング手段は、ユーザによる拍打(すなわち、この場合メロディ入力)があったとき、伴奏音に関してのスケジューリングを行う。そして、出力手段によって、メロディ入力情報および伴奏音のスケジューリングに従った演奏音が出力される。このように、ユーザがメロディを弾くことによって、そのメロディ入力に合わせた伴奏音を演奏することができる。
【0028】
また、演奏表情パラメータ付演奏情報は、既存の演奏から抽出され得る。つまり、時系列演奏情報取得手段によって、既存の演奏の時系列演奏情報が取得される。また、楽譜情報取得手段によって、既存の演奏の元となった楽譜情報が取得される。そして、比較手段によって時系列演奏情報と楽譜情報とが比較される。さらに、テンポ算出手段によって、規準音符と次の規準音符までの時間に基づいて規準テンポが算出される。また、ずれ算出手段によって、規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれが算出される。そして、生成手段によって、楽譜情報、規準テンポ、発音時刻のずれおよび音長のずれに基づいて、演奏表情パラメータ付演奏情報が生成される。生成された演奏表情パラメータ付演奏情報は記憶手段に記憶され得る。このように、既存の演奏の演奏情報から演奏表情パラメータ付演奏情報が得られるので、ユーザは自分の好きな演奏や名演奏を下敷きとした演奏表現を行うことが可能となる。
【0029】
【発明の効果】
この発明によれば、自分の好きなように様々な演奏表現を、簡易な操作で楽しむことができる。また、名演奏から抽出した演奏情報を用いれば、名演奏を下敷きとして、演奏表現を行うことができる。したがって、演奏技術が伴わない者であっても、情緒豊かな演奏表現を行うことが可能である。たとえば音楽表現の教育やアミューズメントシステムなどにも利用することができるであろう。
【0030】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0031】
【実施例】
図1に示すこの実施例の音楽演奏システム(以下、単に「システム」ともいう。)10は、単純な操作で様々な演奏表現を行うための演奏インタフェースであり、中央処理ユニット(以下「CPU」という。)12を含む。CPU12は、プロセサまたはコンピュータなどとも呼ばれ、システム10の全体的な制御を担当する。なお、このシステム10は、一例としてパーソナルコンピュータ(PC)等を用いて構成される。
【0032】
CPU12には、バス等を介して、ROM14,RAM16,ハードディスク装置(以下「HDD」という。)18,ディスクI/F20,表示装置22,キーボード24,ポインティングデバイス26および通信I/F28等が接続される。
【0033】
HDD18はハードディスクを含み、この音楽演奏処理等を実行するためのプログラムおよび各種データ(演奏データ,画面データ等を含む)等が格納されている。したがって、CPU12は、必要なプログラムやデータ等をHDD18から読み出してRAM16に展開し、これらのプログラムに従って処理を実行する。たとえばこの音楽演奏処理等のためのプログラムおよびデータが情報記録媒体に記録されている場合には、ディスクI/F20を介してそれらプログラムおよびデータ等が読み出されてHDD18に格納される。また、通信I/F28はたとえばLANあるいはインタネットのようなネットワーク等と接続され得るので、上述のプログラムおよびデータ等は、ネットワーク上のサーバ等から通信I/F28を介して取得されてもよい。
【0034】
表示装置22は、たとえばLCDやCRT等であり、CPU12から表示信号が与えられてメニュー画面や操作画面等の各種画面が表示される。キーボード24およびポインティングデバイス26は、たとえばPCの入力装置であり、ユーザが操作する操作手段であり得るものであり、操作に応じた操作信号(操作情報)がCPU12に与えられる。この操作信号に基づいてCPU12は処理を実行する。ポインティングデバイス26は、たとえばマウス,トラックボール,トラックパッド,デジタイザまたはタブレット等であり得る。
【0035】
CPU12には、さらに、MIDIインタフェース30および音源32が接続される。MIDIインタフェース30は、PC等とMIDI機器とを接続するためのものであり、音源32およびMIDI鍵盤34が接続される。音源32には、図示しないD/Aコンバータおよびアンプ等を介してスピーカ40が接続される。
【0036】
MIDI鍵盤34は、複数の白鍵および黒鍵を含むキー36および連続型のコントローラとして1つまたは複数のスライダ(ベンダ)38を備えている。これらキー36およびスライダ38は、ユーザが操作する操作手段であり得るものであり、操作に応じた操作信号(MIDIデータあるいはMIDIメッセージ)がMIDIインタフェース30を介してCPU12に与えられる。この操作信号に基づいてCPU12は処理を実行する。また、音源32には、CPU12からも演奏データおよびユーザ操作に基づいて生成された音響情報としてのMIDIデータがMIDIインタフェース32を介して与えられる。音源32には、場合によってはMIDI鍵盤34から直接MIDIデータが与えられ得る。音源32は、受信したMIDIデータに従ってオーディオデータ(音響情報)を生成する。生成された音響情報はスピーカ40に与えられてサウンド(演奏音)として出力される。
【0037】
また、CPU12には、センサ42が図示しないA/Dコンバータ等を介して接続される。センサ42は、たとえば2次元の静電容量センサであって、ユーザが手振りによって演奏操作を行う際に使用される。たとえばユーザが静電容量センサ42上の空間で手振り動作を行うと、ユーザの手との間の距離に応じて静電容量が変化し、その変化に応じた検出信号(操作信号)がCPU12に与えられる。したがって、ユーザの手振り動作を検出することができる。たとえば、図2に示すように、上下方向の振り下ろしから上げに変化する変曲点を検出し、その検出タイミングで拍打があったものとする。CPU12はこの操作信号に基づいて処理を実行する。
【0038】
なお、上述では、このシステム10を、主としてPCとMIDI鍵盤34と外部の音源32とで構築したものを想定して説明したが、このシステム10の構成は適宜変更され得る。たとえば、外部音源32を用いずに、ソフトウェア音源を使用するようにしてもよいし、または音源を備えるサウンドカードを使用するようにしてもよい。あるいは、このシステム10は1つの電子楽器として構成されてもよく、この場合、プログラムおよびデータ等は予めROM14に格納されていてよいし、PCのキーボード24およびMIDIインタフェース30等は設けられなくてよい。
【0039】
このシステム10では、ユーザの操作に従って、演奏データに基づく演奏が進められる。基本的にユーザの単純な拍打操作(指一本の打鍵または手振り動作等)によって、テンポ・“間”または音量に関する制御すなわち演奏表現を行うことができる。ユーザは、その拍打操作の入力を、キーボード24の打鍵またはMIDI鍵盤34のキー36の打鍵によって行うことができる。キーボード24を使用する場合には、たとえば、そのキーの種類によって音量を入力することができるし、または、たとえば表示装置22に表示される操作画面上のポインティングデバイスの位置によって音量を入力するようにしてもよい。また、MIDI鍵盤34を使用する場合には、キー36の打鍵によって拍打タイミングとともに音の大きさ(velocity)を入力することができる。
【0040】
あるいは、ユーザは、センサ42を利用した手振り動作によって入力を行うことができる(図2参照)。上述のように、上下方向の下降から上昇に変化する変曲点で拍打を入力できる。また、振り下ろし始めの場所(一番上がった所)から振り下ろした場所までの距離によって音量を入力できる。
【0041】
なお、この実施例では、ユーザに静電容量センサ42の上方で手振り動作を行わせるようにしているが、他の実施例では、たとえば静電容量センサ42を指揮棒に装着しておき、この指揮棒を振らせるようにしてもよい。また、この場合、センサとしては公知技術のように加速度センサ等が適用されてもよい。
【0042】
また、このシステム10では、既存の演奏例から抽出したdeviationパラメータ付きの演奏データ(演奏表情パラメータ付演奏データ)を用いることによって、名演奏者を指揮するような表現感覚を楽しむことができる。また、演奏表情パラメータのうち、どのパラメータをコントロールするかをユーザが指定することによって、様々な形での演奏表現を楽しむことができる。
【0043】
図3には、演奏表情パラメータ付演奏データの一例が示される。この表情付演奏データは、「=」で区切られる小節ごとの情報に分けられている。音符に関する基本的な情報は、音高ないしピッチ(キー)と、拍単位で記述される発音時刻と音価(音符の長さ)を含んでいる。これに加え、この演奏表情パラメータ付演奏データは、deviation項ないし演奏表情パラメータとして、拍ごとのテンポ、拍内に含まれるの各音のオンセット時間(打鍵時刻ないし発音時刻)の規準拍に対してのずれ、拍内に含まれる各音の音長(持続時間)の規準拍長からのずれ、および拍内に含まれる各音の音量(velocity値)を備えている。つまり、これらパラメータは演奏者の演奏表情を示すものであり、楽譜情報からのdeviationないし変位を含んでいる。また、オプションで、メロディや伴奏データを指し示すフラグが記載される。実際の演奏例あるいは音楽解釈機構を用いて演奏プランを用意することで、単純な打鍵動作だけでは表現できない拍単位(あるいは拍以下)の演奏ニュアンスを付加することが可能となる。また、たとえばインタラクティブ演奏時にはユーザの拍打に対して1拍分の演奏が実行される。
【0044】
たとえば、図3で、「=2」は第2小節であることを示している。その下の「1.00 BPM 128 4」について説明すると、最初の「1.00」は拍を示し、「BPM 128」は、テンポが128[bpm]であることを示し、最後の「4」は単位音符が4分音符であることを示す。つまり、この文は、この第2小節の1拍目のテンポが4分音符を単位として128[bpm]であることを意味している。ここで、テンポは楽曲を演奏する際の速度を意味しており、1分間あたりの単位音符の演奏する数(bpm:beet per minutes) を用いて表される。単位音符には、4分音符が割り当てられることが多いが、リズムの表現にあわせ、他の音符が用いられることもある。次の行の「1.00 (C#4 m 76 0.75 0.1)(E1 a 60 1.00 0.1)」は、1拍目の音に関する情報である。「C#4」や「E1」はその音の音高を示し、「m」はその音がメロディであることを示し、「a」はその音が伴奏であることを示す。次の「76」および「60」はその音の音量を示す。「0.75」および「1.00」はその音の音長(拍単位)を示し、その後の「0.1」はその音長のずれを示す。つまり、たとえば「C#4」は「0.75+0.1」の長さで演奏されることが記載されている。また、次の行の「1.75(+0.1 D4 m 77 0.25 −0.1)」は、拍内の音に関する情報である。つまり、1.75拍の時刻に発せられる音の情報である。「+0.1」は、その音の発音時刻のずれを示し、つまり、この音は「1.75+0.1」の時刻に開始されることが記載されている。
【0045】
なお、このシステム10で演奏されるデータは、必ずしも演奏表情パラメータ付演奏データである必要はなく、たとえば図4に示すような演奏表情パラメータ無しの演奏データであってもよい。この図4の演奏データでは、拍ごとの各音の音高および音長ならびにメロディまたは伴奏を区別するフラグが記述されている。この場合、たとえば和音内の各音量は同じであり、タイミングがばらつくようなことはないが、テンポや全体での音量等にはユーザの意図が反映されることとなる。
【0046】
このシステム10では、ユーザの操作に基づいて、演奏表情パラメータのうち少なくとも1つが制御されて演奏が変更される。より具体的には、プロセス制御によく用いられるPID制御に基づいた予測的な演奏スケジューリングを行っており、ここではユーザによる様々な操作感の設定が可能である。
【0047】
ここで、PID制御について簡単に説明する。PID制御において、P値(比例動作)は、制御対象の目標値と現在の値との偏差に基づいて操作量を決定する。偏差が大きければ、制御対象を目標値に早く近づけるために操作量を大きくし、偏差が小さければ、この状態を維持しようと小さくする。I値(積分動作)は、偏差の積分値を反映し、定常偏差を改善することにより、収束をはかる。D値(微分動作)は、偏差の変化量に基づいて、偏差の動向を予見するような制御を行い、未来の予測より動作の収束時間を改善する。この3つの要素にそれぞれ適当な重みを配分し、操作量を決定することによって、制御対象の現状を目標に、より速く近づけていくのがPID制御の狙いである。
【0048】
このシステム10でのPID制御は、人間とシステムのインタラクションを扱う点において特殊であり、厳密には上記の定義とは異なるが、比例量,積分量,微分量の重みで制御を実施すること、および直感的にもわかり易いという点で、PID制御とほぼ同質のものであり、基本的な操作イメージは同じものとして理解できる。ここで、1)P値(第1予測値)とは、システムが弾きたい演奏として、deviation 項を含む演奏データそのものに対応し、2)I値(第2予測値)は、ユーザが与えるものとして、たとえば現在の拍から遡って指定した拍数分の演奏データ履歴の平均に対応し、3)D値(第3予測値)は、現在の拍とその直前の拍の演奏データの変化量から算出される予測値に対応する。
【0049】
以下、テンポ制御を例に、PID制御に基づくスケジューリングについて説明する。
【0050】
図5にはPID制御によるテンポ計算の一例が示される。具体的には、ユーザ(演奏者)の過去3拍のテンポから、次拍のテンポを予測する例である。P値(70)は、演奏表情パラメータ付演奏データに記述されたBPMであり、I値(97)は、過去3拍のBPMの平均値である(つまり、ユーザは3拍分参照することを指定している)。D値(60)は、過去2拍のBPMの変化量から計算される次拍のBPMの予測値である。この図5の例では、演奏者が徐々にテンポを遅くしながら演奏しているので、次拍はさらに遅いテンポで演奏すると予測される。これら3つの値に重み(P:50%,I:30%,D:20%)を割り振ることで、システム10が出力する最終的な演奏のテンポ(76.1)を決定する。
【0051】
ユーザはこの重みを設定することができ、重みを変えることによって、さまざまな追従特性、応答感を得ることができる。たとえば、P値の割合を大きくとれば、演奏データを重視した演奏を行うので、真似をしたい演奏に引っ張られがちな演奏が生成され、ピアニストを指揮しているのに近い演奏感覚が得られる。I値を重視すれば、自身の打鍵操作にゆっくりと追従する演奏感覚が得られる。また、D値を重視すれば、全体の演奏傾向よりも局所的な変化(拍打表現)によく反応する操作感が得られる。
【0052】
なお、このように、ユーザの拍打操作に基づいてテンポが制御されることによって、結果的に各音の発音時刻が制御されることになる。
【0053】
図6には、スケジューリングの様子の一例が示される。ここで、横軸は実時間、縦軸は拍ないしタクトスの区切りである。傾きはテンポをあらわし、傾きが大きいほどテンポは速くなる。
【0054】
なお、タクトスは指揮での腕の動きによって計算される時間のことであるが、ここでは規準拍内に打鍵する回数をタクトスと定義する。たとえば、規準拍が4分音符の場合に、4分音符1つに一回の拍打を対応させるときタクトスは1である。また、たとえば4つ並んだ16音符のすべてに拍打を対応させたい場合にはタクトスを4に設定すればよい。
【0055】
このシステム10では、拍打の検出直後に、PID制御を用いて次の拍に割り当てられた音符の発音(消音も含む)までのスケジューリングを行う。この処理だけでは、システム10の発音(予想打鍵時刻)と演奏者による実際の拍打時刻がずれてしまうことがあるため、その修正を行う処理を実装している。すなわち、ここでは、ズレの修正の早さに関連した追従性パラメータとして、追従度と追従率とを与えるようにしている。追従率は、予想打鍵時刻前に演奏者が打鍵した際に、どの程度打鍵した拍まで追い付いて演奏するかを示す割合である。追従度は、追従度分の演奏幅が、どれだけの割合で追い付くかを示した割合である。これら追従率および追従度は百分率で表され、ユーザが指定することができる。これら追従性パラメータを変えることによって、ユーザはさまざまな応答感を得ることができる。たとえば、追従率を100 に設定すると、予想打鍵時刻より先に打鍵が行われた場合に、即時にその拍打に対応した音符の発消音がなされる。
【0056】
図7には、拍打の検出の様子の一例が示される。拍打は、PID制御により計算されるテンポ(予想される一拍の長さ)を規準として検出がなされる。たとえば、その予想長さの1/4 の時刻まで(誤差入力範囲)は、演奏ミスや他の鍵盤に指が触れた場合などの事態を想定し、拍打を受け付けないものとする。また、その1/4 から2/3 まで(倍打ち許容範囲)は、裏拍打ち(倍打ち)がなされたものとしての拍打を検出する。つまり、ユーザの裏拍打ちによる演奏表現が演奏のスケジューリングに反映される。また、その2/3 から3/2 まで(次拍の拍打ち受付許容範囲)は、規準拍ないしタクトスに対応する拍打がなされたものとして検出を行う。このように打鍵受付範囲を設けることで、最大で、テンポを3分の2まで遅くすることや2倍にまで速くすることが可能となっている。
【0057】
具体的には、以下のようにしてテンポの計算が行われる。P値、I値、D値それぞれの重みをEP、EI、EDとし、また、演奏データのテンポをBPMP[bpm]、I値(平均)として参照する拍数をαとすると、n回目の打鍵間隔IOIn[s] は、次の数1で示される。
【0058】
【数1】
【0059】
そして、(n−1)回目の打鍵後のタクトス間の演奏が全て終了している場合、n回目の打鍵後のテンポは、これをBPMn[bpm] とすると、次の数2で示される。
【0060】
【数2】
【0061】
演奏中の拍が全て演奏される前に次の拍が打鍵された場合、追従度をAL、追従率をARとすると、(n−1)回目の打鍵後の演奏分の残りの間隔の、n回後の打鍵直後の追従度で定められた分のテンポBPMAn[bpm] は、追従率が100より小さい場合、次の数3で示される。
【0062】
【数3】
【0063】
(n−1)回目の打鍵後の演奏分の演奏が全て演奏される前に次の拍が打鍵された場合、(n−1)回目の打鍵後の演奏分の残りの間隔をIOIodd[s]とすると、n回目の打鍵後に追従率で定めた分の演奏を終えた後のテンポBPMn[bpm] は、次の数4で示される。
【0064】
【数4】
【0065】
また、PID制御による音量の計算について説明する。音量は、上述のテンポとはやや異なった考え方によって算出される。たとえば、演奏表情パラメータ付演奏データにおける音量指定が、「2.0 B3 36」「2.5 G#3 70」「3.0 G#4 60」であったとする。まず、規準音量(たとえば80)を設定し、それからの割合として、「2.0 B3 0.45」「2.5 G#3 0.875」「3.0 G#4 0.75」に変換する。これがP値に対応する。
【0066】
これに対して、ユーザが、1.0に対応する拍打の音量に60を入力し、2.0に対応する拍打の音量に90を入力したとすると、規準音量(80)を基にして、2.0の音量1.125を得る。これをI値に対応させる。また、D値に対応するものとしては、(90+(90−60))/90=1.333を得る。D値は時間可変であり、2.0の拍打で1であり、2.5の拍打で1.167となり、3.0の拍打で1.333となる。
【0067】
したがって、たとえば3.0の拍打での音量を決定するにあたって基本となる情報は次のようになる。つまり、P値に対応するものとして、システムが演奏したい音量が0.75(倍)であり、I値に対応するものとして、人間が演奏したい音量が1.125(倍)であり、D値に対応するものとして、前拍からの予測を入れる場合の音量が1.333(倍)である。したがって、最終的な音量は、80(規準となる強さ)*(Pの重みで決定した0.75から1までの内分値)*(Iの重みで決定した1.125から1までの内分値)*(Dの重みで決定した1.333から1までの内分値)によって決定される。
【0068】
なお、上述の音量の決定方法では、拍に対応する「2.0 B3」および「3.0 G#4」と、拍以下の「2.5 G#3」とを同じように扱うようにしているが、これら拍に対応する音と拍以下の音とで扱いを区別することによって、P値をより細かく設定するようにしてもよい。この場合には、より細かい制御をすることができ、細かい表現を行うことができる。
【0069】
具体的には、次のようにして、音量を決定してもよい。つまり、たとえば、演奏表情パラメータ付演奏データにおける音量指定が、「2.0 B3 50」「2.5 G#3 70」「3.0 G#4 60」であり、タクトスがデフォルトの1.0であったとする。まず、規準音量(たとえば80)を設定し、それからの割合として、「2.0 B3 0.625」に変換する。そして、この算出方法では、「2.5 G#3」と「3.0 G#4」については、「2.0 B3」の音量50を規準にし、それからの割合として、「2.5 G#3 1.4」「3.0 G#4 1.2」に変換する。つまり、拍以下の「2.5」およびユーザの打鍵(拍打)がスケジューリングより後の場合に相当する「3.0」については、ユーザからの直接的な操作が働かない範囲で、すなわち、予測でパラメータを行うことになる。
【0070】
これに対して、ユーザが、1.0に対応する拍打の音量に60を入力し、2.0に対応する拍打の音量に90を入力したとすると、差分によって3.0の音量を予測すると、3.0の音量は120となる。規準音量(80)を元にして、2.0の音量1.124(I値に対応する)を得るとともに、2.0 から3.0への予測増分として、120/90=1.333(D値に対応する)を得る。
【0071】
以上を整理すると、演奏表情パラメータ付演奏情報から得られる演奏プランは次のようになる。つまり、P値に対応するPTとして、「2.0 B3」の音量が0.625(支配タクトス規準音の規準音量80に対する比)であり、P値に対応するPDとして、「2.0 B3」の音量が1.0(支配タクトス規準音の規準音量比,そのものなので1.0である。)であり、同じくPDとして、「2.5 G#3」の音量が1.4(支配タクトス規準音からの音量比)であり、PDとして、「3.0 G#4」の音量が1.2(支配タクトス規準音からの音量比)である。
【0072】
また、ユーザの意図は次のようになる。つまり、I値に対応するUIとしては、1.125(ユーザが支配規準音に与えたい音量比)である。また、D値に対応するUDとしては、1.333(ユーザがその拍での与えたい変化値)である。なお、実際の音符に対する値UD´は時間可変であり、UDと時間の関数になる。
【0073】
したがって、実際の最終的な音量は、80(規準となる強さ)*(PTと1の内挿(外挿)値)*(PDと1の内挿(外挿)値)*(UIと1の内挿(外挿)値)*(UD´と1の内挿(外挿)値)によって決定される。
【0074】
なお、この場合、PIDパラメータすなわち重みは4つ必要となる。デフォルトでは、PTおよびPDを連動させ、Pに設定された重みを採用するようにしてよい。また、たとえば、詳細モードでは、それぞれの重みを設定できるようにして(たとえば10%,90%,90%,10%など)、ユーザがより細かく指定できるようにしてよい。
【0075】
また、このシステム10では、一本の指のような単純な打鍵操作での‘間’の表現、予測に基づく自走演奏、などの演奏インタフェースを提供している。
【0076】
ここで、‘間’とは、次の拍の先頭を演奏する前に、ためる(時間的間隔をあける)ことを言う。‘間’が挿入された際には、それを‘間’と判断し、テンポ計算から除外しなければ、次拍のスケジューリングが大きく乱れてしまう。このシステム10では、図7に示した“打鍵受付範囲”、“予測打鍵時刻”を利用して、‘間’の挿入をするようにしている。
【0077】
PID制御を用いた予測スケジューリングのメリットとして、打鍵を待たずに演奏を進める自走演奏への応用が有る。ユーザは、次拍の受付許容範囲を超えても拍打を検出できなかった場合に自走演奏する最大拍数等を設定することができる。このシステム10では、次拍の許容範囲を超えても拍打を検出できなかった場合、たとえば、指定自走拍数よりも多く自走演奏し、かつ、現在の演奏拍が小節の最終拍でないときには、システムが予測した時刻で拍打があったものと想定して自走演奏させるようにしている。
【0078】
また、次拍の許容範囲を超えても拍打が検出されない場合に、さらに、指定自走拍数よりも多く自走演奏し、かつ、小節の最終拍であるときには、‘間’が挿入されたものと判断している。これによって、演奏は次の拍の先頭の直前で停止して待機した状態となる。次の打鍵を確認すれば、演奏が再開される。なお、‘間’が判断された場合、その拍の打鍵間隔はPID制御でのI値、D値を算出する際の参照リストから除外され、たとえばその直前のものが参照され得る。
【0079】
なお、ユーザは自走演奏する最大拍数に0を設定すれば、自走演奏モードをオフにすることができる。
【0080】
また、このシステム10は、上述の通常のインタラクティブ演奏モードのほかに、合成演奏モードとして、モーフィング(morphing)モードを備えている。つまり、このモーフィングモードでは、複数の演奏データ(演奏表情パラメータ付演奏データを含む。)を用いて、第2操作手段としてのたとえばスライダ38等で割合を変えることで、リアルタイム演奏モーフィング(演奏の内挿)を行うことができる。
【0081】
この実施例のモーフィングモードでは、基本モードと詳細モードがあって、基本モードでは、たとえばキーボード24またはMIDI鍵盤34のキー36を用いた拍打操作によってテンポが制御され、スライダ38等の設定によって、各音の発音時刻のずれおよび音長のずれ、ならびに音量(バランス)が制御される。これらdeviationパラメータについては、拍打が検出されたときのスライダ38の値(合成割合)を読み取って、内分して計算する。たとえば、図8に示すように、演奏表情パラメータ付演奏データA(Aファイル)として、「2.00 (0 B3 m 20 1.00 0.1)(0.1 G#3 a 100 1.00 0.1)」があり、演奏表情パラメータ付演奏データB(Bファイル)として、「2.00 (0 B3 m 80 1.00 0.1)(0 G#3 a 20 1.00 0.1)」がある場合を想定する。時刻2.00での合成割合としてのモーフィングパラメータA:Bが75%:25%とすると、「B3」の音量=20*0.75+80*0.25=36となり、「G#3」の音量=100*0.75+20*0.25=80となる。すなわち、局所的に、「2.00(B3 m 36 1.00 0.1)(+0.075 G#3 a 801.00 0.1)」という1つの演奏データに対して、スケジューリングを行うのと等しくなる。この場合、システムが弾きたい音量は、「B3」が36となり、「G#3」が80となり、これがP値に対応する。これに対して、人間が弾きたい音量をI値およびD値を用いて計算する。なお、これ以降の音量の計算は、上述の通常モードと同様にして行えるので、ここでは省略する。なお、音量に対して、deviationが書かれていない場合(演奏表情パラメータ無しの演奏データの場合)、あるいはP値が0の場合等は、単純に(すべての和音に対して)I値およびD値を使用して求めた音量が適用される。
【0082】
また、合成演奏モードとして、外挿モードを備えるようにし、deviationパラメータを外挿(外分)によって算出してもよい。たとえば、Aファイルとして「2.00(0 B3 m 20 1.00 0.1)(0 G#3 a 1001.00 0.1)」、Bファイルとして「2.00(0 B3 m 40 1.00 0.1)(0.1 G#3 a 20 1.00 0.1)」があった場合、Bの方向に外分すれば、「2.00(0 B3 m 60 1.00 0.1)(0.2 G#3 a 20 1.00 0.1)」という演奏データが得られる。ただし、この場合、スライダ38等の値域をたとえば−100%から200%程度まで振れるようにしておく必要がある。
【0083】
また、たとえばAファイルにdeviation無しの演奏データを準備し、Bファイルにdeviation付の演奏データを準備して、外挿を許すことによって、幅の広い制御をすることができる。
【0084】
一方、詳細モードでは、1つまたは2つのスライダ38等に対し、どのdeviationパラメータを対応付けるかを指定することができる。つまり、たとえば、第1スライダに音量を指定し、第2スライダに発音時刻のずれを指定して、それぞれのスライダ38の操作で入力された合成割合に従って、各パラメータを合成するようにしてもよい。また、ここで、テンポをスライダ38に対応させた場合には、拍打なしの自走モーフィングを実行できる。つまり、ユーザは拍打操作なしでスライダ38で割合を制御するだけで、テンポを制御し演奏を進めることができる。たとえば、Aファイルが「2.00 BPM 100 4」、「2.00(0 B3 m 20 1.00 0.1)(0 G#3 a 100 1.00 0.1)」であり、Bファイルが「2.00 BPM 140 4」、「2.00(0 B3 m 40 1.00 0.1)(0.1 G#3 a 201.00 0.1)」であるとき、A:B=25%:75%であれば、「2.00 BPM 130 4」が適用される。
【0085】
また、このシステム10は伴奏モードを備えていて、この伴奏モードでは、ユーザのメロディ入力に対して、伴奏を付けることができる。つまり、ユーザがMIDI鍵盤34で弾いたメロディの音響情報(MIDIデータ)を、たとえばそのまま音源32に与えてスピーカ40から出力するようにするとともに、打鍵のタイミングおよび音量(velocity)を検出して伴奏演奏に利用する。つまり、メロディに対応した打鍵のタイミングで拍打を検出したものと判断し、テンポおよび音量等を同様に制御する。スケジューリングの際には、たとえば、「m」のフラグの付いているメロディ音を出さずに、「a」のフラグの付いている伴奏音だけをスケジューリングして、音響情報を出力するようにすればよい。
【0086】
なお、他の実施例では、メロディ入力情報をそのまま出力させずに、伴奏音のスケジューリングの際に、メロディ入力情報も合わせてスケジューリングして、メロディ入力によるメロディ音と伴奏音とを一緒にした音響情報を出力するようにしてもよい。
【0087】
図9には、システム10の全体的な動作が示される。システム10の電源が投入されて、この音楽演奏処理プログラムが起動されると、ユーザは、まず、メニュー選択を行うことができる。システム10が表示装置22を含んで構成される場合には、表示装置22に表示されたメニュー選択画面でメニュー選択を行える。表示装置22がない場合等にはMIDI鍵盤34に設けられる各種操作子でメニュー選択を行うようにしてもよい。図9に示すように、システム10のCPU12は、まず、ステップS1,S3,S5,S7およびS9において、各メニューが選択されたか否かを判断し、それぞれのステップで“YES”であれば、そのメニューの処理を実行する。
【0088】
つまり、ステップS1では、演奏データ読込みが選択されたか否かを判断し、このステップS1で“YES”であれば、続くステップS11で演奏データ読込み処理を実行する。このステップS11の処理については図10を用いて後に詳述するが、これによって、たとえば1または複数の演奏表情パラメータ付演奏データが取得され得る。また、このステップS11では、演奏表情パラメータの無い演奏データが取得されてもよい。なお、既に演奏データをHDD18あるいはROM14に取得している場合等には、このステップS11の処理は行われなくてもよい。
【0089】
ステップS3では、インタフェース設定が選択されたか否かを判断し、“YES”であれば続くステップS13で、インタフェース設定処理を実行する。このステップS13では、たとえばメニュー方式で、通常モードおよびモーフィングモード等における各種設定が行われる。通常モードおよびモーフィングモードで共通して設定できるものに、制御性の設定と追従性の設定とがある。制御性設定においては、簡易タイプと詳細タイプの2種類がある。簡易タイプでは、テンポおよび音量に共通のPIDパラメータ(すなわち重み)を設定できる。なお、重みはたとえば百分率で指定する。また、詳細タイプでは、テンポおよび音量のそれぞれに独自のPIDパラメータを設定できる。したがって、詳細タイプでは、より微妙な演奏表現を行うことができる。追従性設定においては、予測値と実際の値がずれたときの追いつき方パラメータとして、追従率と追従度とを設定できる。この追従性パラメータもたとえば百分率で指定する。
【0090】
また、モーフィングモードにおける操作タイプを基本タイプおよび詳細タイプの2種類から選択して設定することができる。基本タイプは、テンポを拍打で与え、音量および各音の打鍵時刻と長さのずれをスライダ38で与えるものである。一方、詳細タイプは、1つないし2つのスライダ38に対して、どのdeviationパラメータを対応させるかを指定することができる。
【0091】
また、入力デバイス設定をすることができる。つまり、PCキーボード24,MIDI鍵盤34および手振りインタフェース(センサ42)のいずれを用いて拍打入力するのかを設定できる。
【0092】
ステップS5では、プレイが選択されたかか否かを判断し、“YES”であれば、続くステップS15でプレイ処理を実行する。このプレイ処理においては、まず、演奏データをシステム10がそのまま演奏(再生)する自走演奏か、または、ユーザの操作に従って演奏するインタラクティブ演奏かを選択する。具体的には、インタラクティブ演奏では、演奏表情パラメータ付演奏データを用いて演奏表現を行うことができる。この処理は図12および図13を用いて後に詳述される。また、演奏表情パラメータ無しの演奏データを用いてもインタラクティブ演奏できる。この場合には、演奏データに演奏表情パラメータが無いので、テンポおよび全体での音量等を制御することができる。また、上述のように、複数の演奏データを用いて、演奏モーフィングをすることもできるし、さらに、ユーザがメロディを弾くことによって、それに対応する伴奏を自動演奏させることができる。
【0093】
ステップS7では、プレイデータの保存が選択されたか否かを判断し、“YES”であれば、続くステップS17で、プレイデータ保存処理を実行する。プレイデータは、プレイ時にRAM16に作成されたスケジューリングデータに基づいて、新たな演奏表情パラメータ付演奏データとしてHDD18に保存されてもよいし、たとえばSMF(Standard Midi File)形式に変換してHDD18に保存されてもよい。保存したプレイデータを自走演奏させることによって、ユーザは自らの演奏を聴取して確認することができる。
【0094】
ステップS9では、終了が選択されたか否かを判断する。このステップS9で“YES”であれば、終了のための処理を実行して、この音楽演奏処理を終了する。
【0095】
図10には、図9のステップS11の演奏データ読込み処理における動作の一例が示される。この図10では、既存の演奏例から演奏表情パラメータが抽出され、演奏表情パラメータ付演奏データが生成される。システム10のCPU12は、まず、ステップS21で、楽譜データをRAM16に読み込む。楽譜データは、たとえば図11に示すようにMusicXML形式であり、これは楽譜作成ソフト等を利用して書いた楽譜データをエクスポートして得られる形式である。楽譜データは、たとえば、ディスクI/F20を介して適宜な情報記憶媒体から取得されてもよいし、通信I/F28を介してネットワーク等から取得されてもよいし、システム10がPCを含んで構成される場合楽譜作成ソフト等によってユーザが作成してもよい。この楽譜データはあくまで楽譜情報であり、具体的な演奏表情は含まれていない。
【0096】
次に、ステップS23で、楽譜データを演奏データ(演奏表情パラメータ無し)に変換する。この演奏データは、図4に示すように、拍ごとの各音の音高および音長は記述されるが、拍ごとのテンポや音量、各音のずれなどの演奏表情パラメータを含んでいない。
【0097】
続いて、ステップS25で、演奏データ(SMF)が読み込まれてRAM16に書き込まれる。SMF形式は広く流通するバイナリ演奏データであり、単純シーケンスデータ(時系列情報)として記述されている。SMFは、たとえばデルタタイム(音長)ごとの音の高さおよび音の強さ(velocity)等の情報を含んでいる。このSMFも、たとえば、ディスクI/F20を介して適宜な情報記憶媒体から取得されてもよいし、通信I/F28を介してネットワーク等から取得されてもよい。
【0098】
そして、ステップS27で、楽譜データと演奏データ(SMF)とをマッチングし、ステップS29で、MIDIでのvelocityを各音の音量として抽出する。
【0099】
次に、ステップS31では、テンポ同定を行うための規準音符を決定する。たとえば4分音符を規準とするか、8分音符を規準とするかはユーザによって設定される。また、どの音を規準とするかについては、たとえば最も高い音で調整される。
【0100】
続いて、ステップS33では、規準音符と次の規準音符までの時間に基づいてテンポが決定される。これによって、拍ごとの規準テンポが得られる。ステップS35では、規準テンポに基づいて、各音の開始時刻(発音時刻)のずれ、および音長のずれを算出する。
【0101】
そして、ステップS37で、抽出した演奏表情パラメータ(拍ごとのテンポ、各音の発音時刻のずれ、各音の音長のずれ、音量)を演奏データ(演奏表情パラメータ無し)に対して付与し、図3に示すような演奏表情パラメータ付演奏データを生成して、必要に応じてHDD18に格納し、図9のメインフローにリターンする。
【0102】
なお、場合によっては、演奏表情パラメータ付演奏情報は、ユーザの手入力によって作成されてもよいし、あるいは、ディスクI/F20を介して情報記録媒体から取得されてもよいし、通信I/F28を介してネットワーク等から取得されてもよい。
【0103】
図12および図13には、図9のステップS15のプレイ処理に含まれるインタラクティブ演奏処理の動作の一例が示される。ユーザによって、インタラクティブ演奏モードが選択されると、図12に示すように、CPU12は、ステップS41で、たとえばHDD18から、所望の演奏表情パラメータ付演奏データを読み出して、RAM16の所定エリアにセットする。なお、先に図9のステップS11の演奏データ読込み処理によって演奏表情パラメータ付演奏データを生成した場合には、そのデータはRAM16上に存在している。
【0104】
次に、ステップS43で、RAM16の所定エリアに設けられる演奏拍カウンタに0を代入するとともに、自走拍カウンタに0を代入する。演奏拍カウンタは演奏した拍をカウントするためのものであり、自走拍カウンタは、次拍の許容時間範囲を超えても拍打が検出されなかった場合に、自走演奏によって進められた拍をカウントするためのものである。
【0105】
続いて、ステップS45で、演奏拍カウンタが、この演奏データの最終拍の数よりも大きくなったか否かを判断する。このステップS45で“YES”であれば、つまり、演奏データの最後まで演奏が行われた場合には、この演奏処理を終了する処理を実行して、図9のメインフローにリターンする。一方、ステップS45で“NO”であれば、つまり、まだ最後まで演奏が行われていない場合には、ステップS45で“NO”と判断し、続くステップS47でユーザの各操作手段24,26,34の操作によるイベント入力をチェックする。
【0106】
次に、ステップS49で、停止情報が入力されたか否かを判断し、このステップS49で“YES”であれば、つまり、ユーザによって停止情報が入力された場合には、この演奏処理を終了するための処理を実行して、図9のメインフローにリターンする。なお、停止情報は、キーボード24およびMIDI鍵盤34のキー36のうち特定のキーに対して割り当てておくことで発生させてもよいし、表示装置22に表示される画面上でのポインティングデバイス26によるメニュー選択によって発生させてもよい。
【0107】
一方、ステップS49で“NO”であれば、つまり、停止情報が検出されない場合には、続くステップS51で、ユーザの操作による拍打の入力のチェックを行い、ステップS53で、拍打が検出されたか否かを判断する。なお、ステップS51では、拍打の入力とともに、必要に応じて音量等の入力も取得するようにする。
【0108】
ステップS53で“NO”であれば、つまり、拍打が検出されなかった場合には、図13のステップS73へ進む。一方、ステップS53で“YES”であれば、つまり、拍打を検出した場合には、続くステップS55で、その拍打が、図7で説明したような、誤差入力範囲であるか否かを判断する。このステップS55で“YES”であれば、つまり、拍打が誤差入力範囲に行われた場合には、この拍打を受け付けず、ステップS47へ戻る。
【0109】
一方、ステップS55で“NO”であれば、つまり、拍打が誤差入力範囲でなかった場合には、続くステップS57で、倍打ち(裏拍打ち)の許容範囲であるか否かを判断する。
【0110】
このステップS57で“YES”であれば、つまり、拍打が裏拍打ちの範囲で行われた場合には、ステップS59で、図5に示すようなPIDパラメータ(重み)に基づいてテンポの計算をして、ステップS47へ戻る。このように、倍打ちが検出されたときには、I値およびD値を算出するのに必要となる直前までの拍打の履歴データを更新し、次のスケジューリングに反映するようにしている。これによって、ユーザがたとえばテンポアップをしようとしたとき、素早くて良好な応答感が得られる。
【0111】
一方、ステップS57で“NO”であれば、つまり、次拍の拍打の許容範囲である場合には、続くステップS61で自走拍カウンタに0を代入し、ステップS63で、PIDパラメータに基づくテンポの計算をする。
【0112】
次に、ステップS65で、図6に示したように、追従性パラメータに基づくテンポの再計算と未発音音符の再スケジューリングを行う。このステップS65の再スケジューリング処理は、検出した拍打の打鍵時刻が予測打鍵時刻よりも前であったときに実行され、再計算されたテンポ等に従って残り間隔分のスケジューリングがなされる。また、場合によっては音量の調整も行われ得る。
【0113】
続いて、ステップS67で、次拍および次拍までの音符のスケジューリングを行う。つまり、上述のようにPIDパラメータを適用して算出されたテンポおよび音量と、さらに演奏表情パラメータの発音時刻のずれおよび音長のずれとに基づいて、未来の発音イベント(ノートオン)の発音時刻と音量(ベロシティ)とを決定するとともに、消音イベント(ノートオフ)の消音時刻を決定する。
【0114】
ステップS69では、スケジューリングを発行する。つまり、たとえばmidiEventOut(time,note,velocity)のような関数をコールして、RAM16に設けられるバッファに、スケジューリングに従った時刻(time),音高(note)および音量(velocity)に関する情報を書き込む。そして、その時刻になったとき、割り込み処理によって、その音高および音量に関する情報に基づいて生成されたMIDIデータ(音響情報)が、MIDIインタフェース30を介してMIDI音源32に与えられる。したがって、スピーカ40からインタラクティブ演奏のサウンドが出力される。そして、ステップS71で、演奏拍カウンタを進めて(インクリメントして)、ステップS45へ戻る。
【0115】
他方、ステップS53で“NO”であれば、つまり、拍打を検出できない場合には、図13のステップS73で、次拍の許容時間範囲を超えているか否かを判断する。このステップS73で“NO”であれば、つまり、次拍の許容範囲である場合には、図12のステップS47へ戻る。
【0116】
一方、ステップS73で“YES”であれば、つまり、次拍の許容時間範囲を超えても拍打を検出できない場合には、続くステップS75で、自走拍カウンタに1を加える。そして、ステップS77で、自走拍カウンタが指定最大自走拍よりも大きく、かつ、演奏拍カウンタがその小節の最終拍に等しいか否かを判断する。ここで、指定最大自走拍は、ユーザが指定することができる自走演奏させる拍数である。また、演奏拍カウンタが小節の最終拍に等しいか否かも同時に判断するようにしているので、自走演奏は小節の終わりまで進められることとなる。
【0117】
このステップS77で“NO”であれば、ステップS79で、予測した時刻での想定拍打をセットし、図12のステップS63へ進む。つまり、予想打鍵時刻で拍打があったものとしてスケジューリングされ、したがって、引き続き次の拍までの演奏が行われることとなる。
【0118】
一方、ステップS77で“YES”であれば、つまり、指定最大自走拍数よりも多く自走演奏し、かつ、演奏拍カウンタが小節の最終拍に相当する場合には、‘間’が挿入されたものと見なして、自走演奏を停止し、続くステップS81で、イベント入力のチェックを行う。
【0119】
次に、ステップS83で、停止情報が入力されたか否かを判断し、このステップS83で“YES”であれば、つまり、ユーザによって停止情報が入力された場合には、この演奏処理を終了するための処理を実行して、図9のメインフローにリターンする。
【0120】
一方、ステップS83で“NO”であれば、つまり、停止情報が検出されない場合には、続くステップS85で、ユーザの操作による拍打の入力のチェックを行い、ステップS87で、拍打が検出されたか否かを判断する。
【0121】
ステップS87で“NO”であれば、つまり、拍打が検出されなかった場合には、ステップS81へ戻って、再びユーザの操作によるイベント入力をチェックする。このように、ユーザから何らかの操作を検出するまでは、演奏が停止される。
【0122】
一方、ステップS87で“NO”であれば、つまり、ユーザの操作による拍打を検出した場合には、図12のステップS67へ進んで、スケジューリングを行う。したがって、停止前の続きからの演奏が再開されることとなる。
【0123】
この実施例によれば、簡易な操作で、自分の好きなように様々な演奏表現を楽しむことができる。また、名演奏から抽出した演奏表現パラメータ付演奏データを用いれば、名演奏を下敷きとして、演奏表現を行うことができる。したがって、演奏技術が伴わない者であっても、情緒豊かな演奏表現を行うことが可能である。
【0124】
なお、合成演奏(モーフィング等)モードおよび伴奏演奏モードに関しての処理の流れに関するフロー図は特に示していないが、いずれも図12および図13に示した通常モードのインタラクティブ演奏のフロー図とほぼ同様にして処理され得る。
【0125】
モーフィングモードでは、図12のたとえばステップS51の拍打チェックの処理ステップで、スライダ38の操作量(合成割合)も取得するようにすればよい。そして、ステップS59,S63,S65,S67等では、その合成割合に基づいて、各演奏表情パラメータの算出およびスケジューリング等が行われる。なお、モーフィングモードの詳細モードで、スライダ38にテンポを設定した場合には、拍打操作は行われないので、拍打の検出の判断処理や受付範囲との関係の判断処理等(たとえばステップS53,S55,S57,S73等)は実行されない。
【0126】
また、伴奏モードでも、図12のたとえばステップS51で、MIDI鍵盤34のキー36からの入力情報(MIDIデータ)を取得するようにすればよい。そして、その打鍵タイミングで拍打があったものと判断し、また、そのベロシティ値を音量の入力として利用すればよい。また、ステップS65およびS67では、たとえば伴奏音のみのスケジューリングを行うようにする。また、伴奏モードは、ユーザのメロディ入力に追従する形で伴奏を自動演奏するものであるので、自走演奏に関する処理(たとえばステップS75,S77およびS79)は、実行しないようにするのが望ましい。
【0127】
なお、上述の実施例では、モーフィングモードでの合成割合を入力する第2の操作手段に、一例として、MIDI鍵盤34のスライダ38を適用した場合を説明したが、他の実施例では、この第2操作手段には他のデバイスが適用されてもよい。たとえば、ポインティングデバイス26をこの第2操作手段に適用することができる。この場合、ポインティングデバイス26によって入力される位置座標情報によって合成割合を設定することができる。また、この場合、たとえば、X軸に対する座標をたとえばテンポの合成割合の入力に適用し、Y軸に対する座標を他のパラメータ(たとえば音量または音のずれ等)の合成割合の入力に適用することによって、直感的な入力も行うことができる。
【0128】
また、上述の実施例では、次拍の受付許容範囲を超えても、次の拍打が検出されなかった場合に、これを‘間’と判断するようにしていたが、‘間’の挿入方法は適宜変更され得る。たとえば、MIDI鍵盤34のキー36等が押されたままで、予測打鍵時刻が過ぎた場合、これを‘間’と判断するようにしてもよい。この場合、たとえばキー36が離されて次の打鍵ないし拍打を検出すると同時に演奏を再開するようにしてもよい。
【図面の簡単な説明】
【図1】この発明の一実施例の音楽演奏システムを示す図解図である。
【図2】図1実施例においてユーザの手振り動作による入力を説明するための図解図である。
【図3】演奏表情パラメータ付演奏データの一例を示す図解図である。
【図4】演奏表情パラメータ無しの演奏データの一例を示す図解図である。
【図5】PID制御によるテンポ計算の一例を示す図解図である。
【図6】スケジューリングの様子の一例を示す図解図である。
【図7】拍打の検出の様子の一例を示す図解図である。
【図8】モーフィングモードで適用される2つの演奏データの一例を示す図解図である。
【図9】図1実施例の音楽演奏システムの動作の一例を示すフロー図である。
【図10】図8における演奏データ読込み処理の動作の一例を示すフロー図である。
【図11】楽譜データ(MusicXML形式)の一例を示す図解図である。
【図12】図8のプレイ処理におけるインタラクティブ演奏処理の動作の一部の一例を示すフロー図である。
【図13】図8のプレイ処理におけるインタラクティブ演奏処理の動作の他の一部の一例を示すフロー図である。
【符号の説明】
10 …音楽演奏システム
12 …CPU
14 …ROM
16 …RAM
18 …HDD
22 …表示装置
24 …キーボード
26 …ポインティングデバイス
32 …音源
34 …MIDI鍵盤
36 …キー
38 …スライダ
40 …スピーカ
42 …センサ
Claims (16)
- 少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段、および
前記演奏表情パラメータ付演奏情報に基づいてその演奏音を出力する演奏手段を備える、音楽演奏システム。 - 前記演奏表情パラメータは、さらに前記音の音量に関する情報を含む、請求項1記載の音楽演奏システム。
- ユーザの操作に応じて操作情報を入力するための操作手段をさらに備え、
前記演奏手段は、
前記操作手段からの前記操作情報に基づいて、前記演奏表情パラメータのうち少なくとも1つを制御して演奏を変更する演奏変更手段、および
前記演奏音を出力する出力手段を含む、請求項1または2記載の音楽演奏システム。 - 前記演奏変更手段は、
ユーザによる拍打があったか否かを判断する拍打判断手段、および
前記拍打判断手段によって前記拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行うスケジューリング手段を含み、
前記出力手段は、前記スケジューリング手段によるスケジューリングに従って演奏音を出力する、請求項3記載の音楽演奏システム。 - 前記スケジューリング手段は、
前記演奏表情パラメータ付演奏情報に記載された情報を第1予測値とするP値決定手段、
ユーザによって与えられる情報に基づいて第2予測値を決定するI値決定手段、
現在の拍とその直前の拍との変化量から第3予測値を決定するD値決定手段、および
前記第1予測値,前記第2予測値,前記第3予測値およびそれぞれに設定された重みに基づいて、最終的な演奏値を決定する演奏値決定手段を含む、請求項4記載の音楽演奏システム。 - 前記スケジューリング手段は、前記拍打のタイミングが予想時刻よりも早かったとき、前記予想時刻とのずれの修正に関する追従性パラメータに基づいて、次拍までの残り間隔の再スケジューリングを行う再スケジューリング手段を含む、請求項4または5記載の音楽演奏システム。
- 前記演奏変更手段は、次拍の許容受付範囲を超えても前記拍打判断手段によって拍打があったと判断されなかったとき、所定拍まで自走演奏を進める自走演奏手段およびユーザによる操作があるまで演奏を進めずに待機する待機手段の少なくとも一方をさらに備える、請求項4ないし6のいずれかに記載の音楽演奏システム。
- 前記記憶手段には前記演奏表情パラメータ付演奏情報を含む複数の演奏情報が記憶され、前記操作手段は前記複数の演奏情報の合成割合を入力するための第2操作手段を含んでいて、
前記演奏変更手段は、前記第2操作手段からの前記合成割合に基づいて、前記複数の演奏情報を合成する合成演奏手段を含む、請求項3ないし7のいずれかに記載の音楽演奏システム。 - 伴奏演奏モードを設定する伴奏モード設定手段をさらに備え、
前記演奏表情パラメータ付演奏情報は伴奏に相当する伴奏音に関する情報を含んでいて、
前記伴奏演奏モードが設定されているとき、
前記スケジューリング手段は前記伴奏音に関してのスケジューリングを行い、
前記出力手段はユーザによるメロディ入力情報および前記スケジューリング手段によるスケジューリングに従った演奏音を出力する、請求項4記載の音楽演奏システム。 - 既存の演奏の時系列演奏情報を取得する演奏取得手段、
前記既存の演奏の元となった楽譜情報を取得する楽譜取得手段、
前記時系列演奏情報と前記楽譜情報とを比較する比較手段、
規準音符と次の規準音符までの時間に基づいて規準テンポを算出するテンポ算出手段、
前記規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するずれ算出手段、および
前記楽譜情報、前記規準テンポ、前記発音時刻のずれおよび前記音長のずれに基づいて、前記演奏表情パラメータ付演奏情報を生成する生成手段をさらに備え、
前記生成手段によって生成された前記演奏表情パラメータ付演奏情報は前記記憶手段に記憶される、請求項1記載の音楽演奏システム。 - 少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段とを備える音楽演奏システムにおける音楽演奏方法であって、
(a) 前記操作手段からの操作情報に基づいて、前記演奏表情パラメータのうち少なくとも1つを制御して演奏を変更するステップ、および
(b) 演奏音を出力するステップを備える、音楽演奏方法。 - 前記ステップ(a) は、
(a1)ユーザによる拍打があったか否かを判断するステップ、および
(a2)前記ステップ(a1)で前記拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行うステップを含み、
前記ステップ(b) は、
(b1)前記ステップ(a2)におけるスケジューリングに従って前記演奏音を出力するステップを含む、請求項11記載の音楽演奏方法。 - 少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を、既存の演奏から抽出するための表情付演奏情報抽出方法であって、
(a) 前記既存の演奏の時系列演奏情報を取得するステップ、
(b) 前記既存の演奏の元となった楽譜情報を取得するステップ、
(c) 前記時系列演奏情報と前記楽譜情報とを比較するステップ、
(d) 規準音符と次の規準音符までの時間に基づいて規準テンポを算出するステップ、
(e) 前記規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するステップ、および
(f) 前記楽譜情報、前記規準テンポ、前記発音時刻のずれおよび前記音長のずれに基づいて、前記演奏表情パラメータ付演奏情報を生成するステップを備える、表情付演奏情報抽出方法。 - 少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段と、演奏音を出力するための出力手段とを備える音楽演奏システムにおける音楽演奏プログラムであって、
前記音楽演奏システムのコンピュータに、
前記操作手段からの操作情報に基づいて、前記演奏表情パラメータのうち少なくとも1つを制御して演奏を変更する演奏変更ステップ、および
演奏音を出力するための音響情報を前記出力手段に与える出力ステップを実行させる、音楽演奏プログラム。 - 前記演奏変更ステップは、
ユーザによる拍打があったか否かを判断する拍打判断ステップ、および
前記拍打判断ステップで前記拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行うスケジューリングステップを含み、
前記出力ステップは、前記スケジューリングステップによるスケジューリングに従った前記音響情報を与えるスケジューリング出力ステップを含む、請求項14記載の音楽演奏プログラム。 - 少なくとも拍ごとのテンポ,拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶するための記憶手段を備える音楽演奏システムにおいて、演奏表情パラメータ付演奏情報を既存の演奏から抽出するためのプログラムであって、
前記音楽演奏システムのコンピュータに、
前記既存の演奏の時系列演奏情報を取得する演奏取得ステップ、
前記既存の演奏の元となった楽譜情報を取得する楽譜取得ステップ、
前記時系列演奏情報と前記楽譜情報とを比較する比較ステップ、
規準音符と次の規準音符までの時間に基づいて規準テンポを算出するテンポ算出ステップ、
前記規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するずれ算出ステップ、および
前記楽譜情報、前記規準テンポ、前記発音時刻のずれおよび前記音長のずれに基づいて、前記演奏表情パラメータ付演奏情報を生成する生成ステップを実行させる、表情付演奏情報抽出プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003020982A JP2004233573A (ja) | 2003-01-29 | 2003-01-29 | 音楽演奏システム、方法およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003020982A JP2004233573A (ja) | 2003-01-29 | 2003-01-29 | 音楽演奏システム、方法およびプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004233573A true JP2004233573A (ja) | 2004-08-19 |
Family
ID=32950461
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003020982A Pending JP2004233573A (ja) | 2003-01-29 | 2003-01-29 | 音楽演奏システム、方法およびプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004233573A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007264058A (ja) * | 2006-03-27 | 2007-10-11 | Yamaha Corp | 電子楽器 |
| WO2009099103A1 (ja) * | 2008-02-05 | 2009-08-13 | Japan Science And Technology Agency | モーフィング楽曲生成装置及びモーフィング楽曲生成用プログラム |
| CN112735361A (zh) * | 2020-12-29 | 2021-04-30 | 玖月音乐科技(北京)有限公司 | 一种电子键盘乐器智能变奏方法和系统 |
| JP2023146600A (ja) * | 2022-03-29 | 2023-10-12 | 株式会社河合楽器製作所 | 演奏データ変換装置及び演奏データ変換プログラム |
-
2003
- 2003-01-29 JP JP2003020982A patent/JP2004233573A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007264058A (ja) * | 2006-03-27 | 2007-10-11 | Yamaha Corp | 電子楽器 |
| WO2009099103A1 (ja) * | 2008-02-05 | 2009-08-13 | Japan Science And Technology Agency | モーフィング楽曲生成装置及びモーフィング楽曲生成用プログラム |
| US8278545B2 (en) | 2008-02-05 | 2012-10-02 | Japan Science And Technology Agency | Morphed musical piece generation system and morphed musical piece generation program |
| CN112735361A (zh) * | 2020-12-29 | 2021-04-30 | 玖月音乐科技(北京)有限公司 | 一种电子键盘乐器智能变奏方法和系统 |
| JP2023146600A (ja) * | 2022-03-29 | 2023-10-12 | 株式会社河合楽器製作所 | 演奏データ変換装置及び演奏データ変換プログラム |
| JP7781000B2 (ja) | 2022-03-29 | 2025-12-05 | 株式会社河合楽器製作所 | 演奏データ変換装置及び演奏データ変換プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101796587B (zh) | 声音旋律的自动伴奏 | |
| US9117432B2 (en) | Apparatus and method for detecting chord | |
| US20010035087A1 (en) | Interactive music playback system utilizing gestures | |
| US20200306641A1 (en) | Real-time audio generation for electronic games based on personalized music preferences | |
| US9355634B2 (en) | Voice synthesis device, voice synthesis method, and recording medium having a voice synthesis program stored thereon | |
| JP5799966B2 (ja) | 採点装置及びプログラム | |
| JP2002515987A (ja) | リアルタイム音楽作成システム | |
| TW201407602A (zh) | 演奏評估裝置、卡拉ok裝置及伺服器裝置 | |
| WO2007037068A1 (ja) | 合奏システム | |
| JP4926756B2 (ja) | カラオケ効果音出力システム | |
| US20240379130A1 (en) | Signal processing device and signal processing method | |
| US20080190270A1 (en) | System and method for online composition, and computer-readable recording medium therefor | |
| JP2009282464A (ja) | コード検出装置およびコード検出プログラム | |
| JP2016031394A (ja) | リファレンス表示装置およびプログラム | |
| JP6501344B2 (ja) | 聴取者評価を考慮したカラオケ採点システム | |
| JP7604845B2 (ja) | 音響処理システム、音響処理方法およびプログラム | |
| JP2004233573A (ja) | 音楽演奏システム、方法およびプログラム | |
| JP2007140165A (ja) | カラオケ装置およびカラオケ装置用プログラム | |
| JP2016014781A (ja) | 歌唱合成装置および歌唱合成プログラム | |
| JP2006251697A (ja) | カラオケ装置 | |
| JP7708151B2 (ja) | プログラム、方法、情報処理装置、および画像表示システム | |
| JP4218066B2 (ja) | カラオケ装置およびカラオケ装置用プログラム | |
| JP2002032092A (ja) | カラオケ装置およびその運用方法 | |
| KR100762079B1 (ko) | 자동음악 작곡 방법 및 자동음악 작곡 시스템 | |
| JP4218064B2 (ja) | カラオケ装置およびカラオケ装置用プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051026 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20051104 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20051104 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070706 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071120 |
