(57)【要約】【構成】音楽演奏システムは、たとえば既存の演奏から抽出された、拍ごとのテンポ，拍内に含まれる音の発音時刻のずれ，音長のずれおよび音量に関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段を含む。拍打受付範囲内にユーザによる拍打があったと判断されたとき（ステップＳ５３〜Ｓ５７）、演奏表情パラメータ付演奏情報および操作情報等に基づいて、テンポおよび音量等が制御されて、次拍までの演奏のスケジューリングが行われる（ステップＳ６３〜Ｓ６７）。そして、スケジューリングに従った音響情報が出力手段に与えられ、その演奏音が出力される。【効果】様々な演奏表現を簡易な操作で楽しむことができる。名演奏を下敷きとして演奏表現を行うことができる。演奏技術が伴わない者であっても情緒豊かな演奏表現を行うことが可能である。【選択図】  図１２
2004233573.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段、および
前記演奏表情パラメータ付演奏情報に基づいてその演奏音を出力する演奏手段を備える、音楽演奏システム。
【請求項２】
前記演奏表情パラメータは、さらに前記音の音量に関する情報を含む、請求項１記載の音楽演奏システム。
【請求項３】
ユーザの操作に応じて操作情報を入力するための操作手段をさらに備え、
前記演奏手段は、
前記操作手段からの前記操作情報に基づいて、前記演奏表情パラメータのうち少なくとも１つを制御して演奏を変更する演奏変更手段、および
前記演奏音を出力する出力手段を含む、請求項１または２記載の音楽演奏システム。
【請求項４】
前記演奏変更手段は、
ユーザによる拍打があったか否かを判断する拍打判断手段、および
前記拍打判断手段によって前記拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行うスケジューリング手段を含み、
前記出力手段は、前記スケジューリング手段によるスケジューリングに従って演奏音を出力する、請求項３記載の音楽演奏システム。
【請求項５】
前記スケジューリング手段は、
前記演奏表情パラメータ付演奏情報に記載された情報を第１予測値とするＰ値決定手段、
ユーザによって与えられる情報に基づいて第２予測値を決定するＩ値決定手段、
現在の拍とその直前の拍との変化量から第３予測値を決定するＤ値決定手段、および
前記第１予測値，前記第２予測値，前記第３予測値およびそれぞれに設定された重みに基づいて、最終的な演奏値を決定する演奏値決定手段を含む、請求項４記載の音楽演奏システム。
【請求項６】
前記スケジューリング手段は、前記拍打のタイミングが予想時刻よりも早かったとき、前記予想時刻とのずれの修正に関する追従性パラメータに基づいて、次拍までの残り間隔の再スケジューリングを行う再スケジューリング手段を含む、請求項４または５記載の音楽演奏システム。
【請求項７】
前記演奏変更手段は、次拍の許容受付範囲を超えても前記拍打判断手段によって拍打があったと判断されなかったとき、所定拍まで自走演奏を進める自走演奏手段およびユーザによる操作があるまで演奏を進めずに待機する待機手段の少なくとも一方をさらに備える、請求項４ないし６のいずれかに記載の音楽演奏システム。
【請求項８】
前記記憶手段には前記演奏表情パラメータ付演奏情報を含む複数の演奏情報が記憶され、前記操作手段は前記複数の演奏情報の合成割合を入力するための第２操作手段を含んでいて、
前記演奏変更手段は、前記第２操作手段からの前記合成割合に基づいて、前記複数の演奏情報を合成する合成演奏手段を含む、請求項３ないし７のいずれかに記載の音楽演奏システム。
【請求項９】
伴奏演奏モードを設定する伴奏モード設定手段をさらに備え、
前記演奏表情パラメータ付演奏情報は伴奏に相当する伴奏音に関する情報を含んでいて、
前記伴奏演奏モードが設定されているとき、
前記スケジューリング手段は前記伴奏音に関してのスケジューリングを行い、
前記出力手段はユーザによるメロディ入力情報および前記スケジューリング手段によるスケジューリングに従った演奏音を出力する、請求項４記載の音楽演奏システム。
【請求項１０】
既存の演奏の時系列演奏情報を取得する演奏取得手段、
前記既存の演奏の元となった楽譜情報を取得する楽譜取得手段、
前記時系列演奏情報と前記楽譜情報とを比較する比較手段、
規準音符と次の規準音符までの時間に基づいて規準テンポを算出するテンポ算出手段、
前記規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するずれ算出手段、および
前記楽譜情報、前記規準テンポ、前記発音時刻のずれおよび前記音長のずれに基づいて、前記演奏表情パラメータ付演奏情報を生成する生成手段をさらに備え、
前記生成手段によって生成された前記演奏表情パラメータ付演奏情報は前記記憶手段に記憶される、請求項１記載の音楽演奏システム。
【請求項１１】
少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段とを備える音楽演奏システムにおける音楽演奏方法であって、
（ａ）  前記操作手段からの操作情報に基づいて、前記演奏表情パラメータのうち少なくとも１つを制御して演奏を変更するステップ、および
（ｂ）  演奏音を出力するステップを備える、音楽演奏方法。
【請求項１２】
前記ステップ（ａ）  は、
（ａ１）ユーザによる拍打があったか否かを判断するステップ、および
（ａ２）前記ステップ（ａ１）で前記拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行うステップを含み、
前記ステップ（ｂ）  は、
（ｂ１）前記ステップ（ａ２）におけるスケジューリングに従って前記演奏音を出力するステップを含む、請求項１１記載の音楽演奏方法。
【請求項１３】
少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を、既存の演奏から抽出するための表情付演奏情報抽出方法であって、
（ａ）  前記既存の演奏の時系列演奏情報を取得するステップ、
（ｂ）  前記既存の演奏の元となった楽譜情報を取得するステップ、
（ｃ）  前記時系列演奏情報と前記楽譜情報とを比較するステップ、
（ｄ）  規準音符と次の規準音符までの時間に基づいて規準テンポを算出するステップ、
（ｅ）  前記規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するステップ、および
（ｆ）  前記楽譜情報、前記規準テンポ、前記発音時刻のずれおよび前記音長のずれに基づいて、前記演奏表情パラメータ付演奏情報を生成するステップを備える、表情付演奏情報抽出方法。
【請求項１４】
少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段と、演奏音を出力するための出力手段とを備える音楽演奏システムにおける音楽演奏プログラムであって、
前記音楽演奏システムのコンピュータに、
前記操作手段からの操作情報に基づいて、前記演奏表情パラメータのうち少なくとも１つを制御して演奏を変更する演奏変更ステップ、および
演奏音を出力するための音響情報を前記出力手段に与える出力ステップを実行させる、音楽演奏プログラム。
【請求項１５】
前記演奏変更ステップは、
ユーザによる拍打があったか否かを判断する拍打判断ステップ、および
前記拍打判断ステップで前記拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行うスケジューリングステップを含み、
前記出力ステップは、前記スケジューリングステップによるスケジューリングに従った前記音響情報を与えるスケジューリング出力ステップを含む、請求項１４記載の音楽演奏プログラム。
【請求項１６】
少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび前記音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶するための記憶手段を備える音楽演奏システムにおいて、演奏表情パラメータ付演奏情報を既存の演奏から抽出するためのプログラムであって、
前記音楽演奏システムのコンピュータに、
前記既存の演奏の時系列演奏情報を取得する演奏取得ステップ、
前記既存の演奏の元となった楽譜情報を取得する楽譜取得ステップ、
前記時系列演奏情報と前記楽譜情報とを比較する比較ステップ、
規準音符と次の規準音符までの時間に基づいて規準テンポを算出するテンポ算出ステップ、
前記規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するずれ算出ステップ、および
前記楽譜情報、前記規準テンポ、前記発音時刻のずれおよび前記音長のずれに基づいて、前記演奏表情パラメータ付演奏情報を生成する生成ステップを実行させる、表情付演奏情報抽出プログラム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は音楽演奏システム、方法およびプログラムに関し、特にたとえば、簡易な操作（打鍵または手振り等）によって、音楽演奏を実施し、あるいは名演奏を追体験するための音楽演奏システム、方法およびプログラムならびに表情付演奏情報抽出方法およびプログラムに関する。
【０００２】
【従来の技術】
一般的に、情緒あふれる演奏を行うためには、楽器演奏技能の修得が不可欠である。演奏者がこのような演奏表現をしたいという意図を持っていても、技術が不足しているために、実施できないことは少なくない。このため、演奏者であるユーザを支援するような音楽演奏システムが幾つか開発されている。
【０００３】
たとえば、発明者らによって開発された「Ｏｎｅ  Ｆｉｎｇｅｒ  Ｐｉａｎｏ」というトイシステムがある。この「Ｏｎｅ  Ｆｉｎｇｅｒ  Ｐｉａｎｏ」（「従来技術１」とする。）は、基本的には指一本の打鍵操作（拍打）で、テンポ・全体的な音量を制御するものである。具体的には、拍単位で演奏データのスケジューリングが行われ、当該拍（およびその拍に含まれるより短い音）の音符の発音および消音の時刻は、前拍からその拍までにかけての時間（ＩＯＩ：  Ｉｎｔｅｒ  Ｏｎｓｅｔ  Ｉｎｔｅｒｖａｌ）に基づいて配置される。実際の演奏においてＩＯＩは、テンポに関係する時間とその拍における“間”とが合算された時間として計測されるため、このようなシステムでは、ユーザがテンポを変化させたいのかまたは“間”を挿入したいのかの区別がつかなかったので、“間”が加えられた演奏にはうまく対処できないという問題があった。このため、発明者らは、もう一本の指で別の鍵盤を押えることによって“間”を区別するようにした「Ｔｗｏ  Ｆｉｎｇｅｒ  Ｐｉａｎｏ」というシステム（「従来技術２」とする。）を開発し、音楽教育や演奏分析研究等に利用してきた（たとえば非特許文献１参照）。
【０００４】
また、加速度センサ等のセンサを利用した指揮システムなども知られており（たとえば非特許文献２参照）、この指揮システム（「従来技術３」とする。）も上述の「Ｏｎｅ  Ｆｉｎｇｅｒ  Ｐｉａｎｏ」と同様にしてテンポが制御される。
【０００５】
さらに、ビデオゲームとしての指揮システムも存在しており、たとえば「ＰｌａｙＳｔａｔｉｏｎ（登録商標）２」上で動作するゲームソフト「ブラボーミュージック」シリーズ（株式会社ソニー・コンピュータエンタテインメント製）などが知られている。この「ブラボーミュージック」（「従来技術４」とする。）に関する内容および操作などが記載された記事を非特許文献３として挙げておく。このゲームでは、表示画面上の指示に合わせてゲームコントローラの操作ボタンを押していくことによって演奏が進められ、ボタンを押すタイミングでテンポを制御し、ボタンを押す強弱で音量を制御することが可能である。発明者らが実際に操作して行った調査によれば、このゲームでは、予め、曲に対応する拍打ポイントが決められており、基本的には、１）プレイヤが入力する至近の２つの拍打時刻の差（時間）に基づいてテンポを決定し、２）次の拍打ポイント直前までの音を発音して、次の拍打を待ち、３）テンポが極端に遅くなる場合にはリミッターをかける、というような処理がなされているようである。
【０００６】
一方、自分の好きなピアニストや名演奏がある場合、その音楽は、通常「聞く」といった受動的なスタイルで享受される。自分の好きな演奏の微妙な表現を残しつつ、フレージングについてはユーザ自身が与えたり、あるいは、自分の好きなフレーズの表現と微妙な音のずらしをブレンドしたりするというようなインタラクティブな演奏インタフェースは、かつて存在しなかった。
【０００７】
【非特許文献１】
竹内，片寄、「Ｔｗｏ  Ｆｉｎｇｅｒ  Ｐｉａｎｏによる曲想の表現」、情報処理学会音楽情報科学研究報告９５−ＭＵＳ−１１、１９９５年、ｐ．３７−４４
【非特許文献２】
宇佐，持田、「ＨＭＭとファジィを使った指揮認識システム」、情報処理学会音楽情報科学研究報告９７−ＭＵＳ−２１、１９９７年、ｐ．３７−４４
【非特許文献３】
毎日インタラクティブ  新作ゲーム紹介、ブラボーミュージック、［ｏｎｌｉｎｅ］、毎日新聞社、［平成１５年１月２２日検索］、インタネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｍａｉｎｉｃｈｉ．ｃｏ．ｊｐ／ｌｉｆｅ／ｈｏｂｂｙ／ｇａｍｅ／ｓｉｎｓａｋｕ／２００１／１０／０２．ｈｔｍｌ＞
【０００８】
【発明が解決しようとする課題】
従来技術１および従来技術３では、上述のように、間”の表現を行うことができなかった。また、従来技術２では、“間”の表現を行う際に、２本の指を使用せねばならないという操作上の制約があった。また、従来技術４では、拍以下の表現のディテールについては考慮されていなかった。また、反応の仕方については固定であり、ユーザがタイプを指定することはできなかった。
【０００９】
さらに、従来技術のいずれでも、自分の好きなピアニストや名演奏を下敷にして、自分の好きなように演奏表現を行うことは不可能であった。
【００１０】
それゆえに、この発明の主たる目的は、新規な音楽演奏システム、方法およびプログラムならびに表情付演奏情報抽出方法およびプログラムを提供することである。
【００１１】
この発明の他の目的は、簡易な操作で、様々な演奏表現を楽しむことができる、音楽演奏システム、方法およびプログラムを提供することである。
【００１２】
この発明のその他の目的は、名演奏を下敷きとした演奏表現を行うことができる、音楽演奏システム、方法およびプログラムを提供することである。
【００１３】
【課題を解決するための手段】
第１の発明は、少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段、および演奏表情パラメータ付演奏情報に基づいてその演奏音を出力する演奏手段を備える、音楽演奏システムである。
【００１４】
第２の発明は、少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段とを備える音楽演奏システムにおける音楽演奏方法であって、（ａ）  操作手段からの操作情報に基づいて、演奏表情パラメータのうち少なくとも１つを制御して演奏を変更するステップ、および（ｂ）  演奏音を出力するステップを備える、音楽演奏方法である。
【００１５】
第３の発明は、少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を、既存の演奏から抽出するための表情付演奏情報抽出方法であって、（ａ）  既存の演奏の時系列演奏情報を取得するステップ、（ｂ）  既存の演奏の元となった楽譜情報を取得するステップ、（ｃ）  時系列演奏情報と楽譜情報とを比較するステップ、（ｄ）  規準音符と次の規準音符までの時間に基づいて規準テンポを算出するステップ、（ｅ）  規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するステップ、および（ｆ）  楽譜情報、規準テンポ、発音時刻のずれおよび音長のずれに基づいて、演奏表情パラメータ付演奏情報を生成するステップを備える、表情付演奏情報抽出方法である。
【００１６】
第４の発明は、少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶する記憶手段と、ユーザの操作する操作手段と、演奏音を出力するための出力手段とを備える音楽演奏システムにおける音楽演奏プログラムであって、音楽演奏システムのコンピュータに、操作手段からの操作情報に基づいて、演奏表情パラメータのうち少なくとも１つを制御して演奏を変更する演奏変更ステップ、および演奏音を出力するための音響情報を出力手段に与える出力ステップを実行させる、音楽演奏プログラムである。
【００１７】
第５の発明は、少なくとも拍ごとのテンポ，拍内に含まれる音の発音時刻のずれおよび音の音長のずれに関する演奏表情パラメータを含む演奏表情パラメータ付演奏情報を記憶するための記憶手段を備える音楽演奏システムにおいて、演奏表情パラメータ付演奏情報を既存の演奏から抽出するためのプログラムであって、音楽演奏システムのコンピュータに、既存の演奏の時系列演奏情報を取得する演奏取得ステップ、既存の演奏の元となった楽譜情報を取得する楽譜取得ステップ、時系列演奏情報と楽譜情報とを比較する比較ステップ、規準音符と次の規準音符までの時間に基づいて規準テンポを算出するテンポ算出ステップ、規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれを算出するずれ算出ステップ、および楽譜情報、規準テンポ、発音時刻のずれおよび音長のずれに基づいて、演奏表情パラメータ付演奏情報を生成する生成ステップを実行させる、表情付演奏情報抽出プログラムである。
【００１８】
【作用】
この音楽演奏システムは、演奏表情パラメータ付演奏情報を記憶する記憶手段を含む。演奏表情パラメータ付演奏情報は、少なくとも拍ごとのテンポ，拍内に含まれる音（音符）の発音時刻のずれおよび拍内に含まれる音の音長のずれに関する演奏表情パラメータを含む。また、この演奏表情パラメータには、さらに拍内に含まれる音の音量に関する情報が含まれていてもよい。そして、演奏手段は、演奏表情パラメータ付演奏情報に基づいて、その演奏音を出力する。
【００１９】
このシステムによれば、拍以下の微妙な演奏表情を含んだ演奏をユーザに聴かせることができる。
【００２０】
また、操作手段をさらに備えるようにしてよい。そして、演奏手段は演奏変更手段および出力手段を含んでよい。演奏変更手段は、操作手段からの操作情報に基づいて、演奏表情パラメータのうちの少なくとも１つを制御して演奏を変更する。そして、出力手段には、演奏音を出力するための音響情報が与えられて、演奏音が出力される。
【００２１】
この場合には、ユーザは、自らの操作によって演奏表情パラメータを制御することができ、様々な演奏表現を楽しむことができる。たとえば、演奏表情パラメータ付演奏情報が、自分の好きな演奏や名演奏であれば、ユーザはこの名演奏を下敷きとした演奏表現を行うことができる。
【００２２】
具体的には、演奏変更手段は、拍打判断手段およびスケジューリング手段を備えてもよい。拍打判断手段によってユーザによる拍打があったか否かが判断される。スケジューリング手段は、拍打があったと判断されたとき、次拍までの演奏のスケジューリングを行う。そして、出力手段には、スケジューリングに従って音響情報が与えられて、スケジューリングに従った演奏音が出力される。このように、ユーザは、拍打という簡易な操作によって、様々な演奏表現を行うことができる。
【００２３】
さらに、スケジューリング手段は、Ｐ値決定手段、Ｉ値決定手段，Ｄ値決定手段および演奏値決定手段を備えてもよい。これらによって、ＰＩＤ制御とほぼ同質の演奏制御が行われることとなる。Ｐ値決定手段は、演奏表情パラメータ付演奏情報に記載された情報を第１予測値とする。なお、第１予測値は、たとえば拍に対応する音と拍以下の音とで分けて、細かく設定されてもよい。Ｉ値決定手段は、ユーザによって与えられる情報に基づいて第２予測値を決定する。たとえばテンポを算出する場合にはユーザによって指定された拍数分の履歴の平均が算出されてもよい。また、音量を算出する場合にはユーザによって入力された現在の操作情報がそのまま適用されてもよい。Ｄ値決定手段は、現在の拍とその直前の拍との変化量から第３予測値を決定する。そして、演奏値決定手段によって、第１予測値，第２予測値，第３予測値およびそれぞれに設定された重みに基づいて、最終的な演奏値が決定される。この場合には、ユーザは、それぞれの予測値に関する重みを適宜変更することによって、様々な操作感、応答感を得ることができるとともに、様々な演奏表現を行うことができる。
【００２４】
また、スケジューリング手段は、拍打のタイミングが予想時刻よりも早かったとき、予想時刻とのずれの修正に関する追従性パラメータに基づいて、次拍までの残り間隔の再スケジューリングを行う再スケジューリング手段を含んで構成されてよい。この場合にも、ユーザは、追従性パラメータを適宜変更することによって、様々な応答感を得ることができるし、様々な演奏表現をすることができる。
【００２５】
さらに、演奏変更手段は、自走演奏手段および待機手段の少なくとも一方をさらに備えていてもよい。自走演奏手段は、次拍の許容受付範囲を超えても拍打がなかったとき、所定拍まで自走演奏を進める。たとえば、所定拍として小節の最終拍が設定された場合には、ユーザが拍打操作を行わなくても小節の終わりまで演奏が進められ、小節の途中で思わぬ‘間’が挿入されてしまうようなことを回避できる。また、待機手段は、次拍の許容受付範囲を超えても拍打がなかったとき、ユーザによる操作があるまで演奏を進めずに待機する。つまり、たとえば、ユーザが‘間’を挿入することを意図して拍打操作を行わなかった場合、演奏が停止することによって‘間’が挿入され、ユーザの意図通りの‘間’を表現することができる。
【００２６】
また、記憶手段には、演奏表情パラメータ付演奏情報を含む複数の演奏情報が記憶されていてよい。そして、操作手段は、複数の演奏情報の合成割合を入力するための第２操作手段を含んで構成され得る。この場合には、複数の演奏情報を合成した演奏をすることができる。つまり、演奏変更手段は合成演奏手段を含んでいて、この合成演奏手段によって、第２操作手段からの合成割合に基づいて、複数の演奏情報が合成される。この合成にあたっては、たとえば、内挿（内分）によってもよいし、外挿（外分）によってもよい。この場合には、ユーザは、第２操作手段の操作によって複数の演奏を自分の好きなように合成あるいはブレンドすることができ、様々な演奏表現を楽しむことができる。
【００２７】
また、伴奏演奏モードを設定する伴奏モード設定手段を備えるようにしてもよい。この場合、演奏表情パラメータ付演奏情報は、伴奏に相当する伴奏音に関する情報を含んでいる。そして、この伴奏モードにおいては、スケジューリング手段は、ユーザによる拍打（すなわち、この場合メロディ入力）があったとき、伴奏音に関してのスケジューリングを行う。そして、出力手段によって、メロディ入力情報および伴奏音のスケジューリングに従った演奏音が出力される。このように、ユーザがメロディを弾くことによって、そのメロディ入力に合わせた伴奏音を演奏することができる。
【００２８】
また、演奏表情パラメータ付演奏情報は、既存の演奏から抽出され得る。つまり、時系列演奏情報取得手段によって、既存の演奏の時系列演奏情報が取得される。また、楽譜情報取得手段によって、既存の演奏の元となった楽譜情報が取得される。そして、比較手段によって時系列演奏情報と楽譜情報とが比較される。さらに、テンポ算出手段によって、規準音符と次の規準音符までの時間に基づいて規準テンポが算出される。また、ずれ算出手段によって、規準テンポに基づいて、各音符の発音時刻のずれおよび音長のずれが算出される。そして、生成手段によって、楽譜情報、規準テンポ、発音時刻のずれおよび音長のずれに基づいて、演奏表情パラメータ付演奏情報が生成される。生成された演奏表情パラメータ付演奏情報は記憶手段に記憶され得る。このように、既存の演奏の演奏情報から演奏表情パラメータ付演奏情報が得られるので、ユーザは自分の好きな演奏や名演奏を下敷きとした演奏表現を行うことが可能となる。
【００２９】
【発明の効果】
この発明によれば、自分の好きなように様々な演奏表現を、簡易な操作で楽しむことができる。また、名演奏から抽出した演奏情報を用いれば、名演奏を下敷きとして、演奏表現を行うことができる。したがって、演奏技術が伴わない者であっても、情緒豊かな演奏表現を行うことが可能である。たとえば音楽表現の教育やアミューズメントシステムなどにも利用することができるであろう。
【００３０】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００３１】
【実施例】
図１に示すこの実施例の音楽演奏システム（以下、単に「システム」ともいう。）１０は、単純な操作で様々な演奏表現を行うための演奏インタフェースであり、中央処理ユニット（以下「ＣＰＵ」という。）１２を含む。ＣＰＵ１２は、プロセサまたはコンピュータなどとも呼ばれ、システム１０の全体的な制御を担当する。なお、このシステム１０は、一例としてパーソナルコンピュータ（ＰＣ）等を用いて構成される。
【００３２】
ＣＰＵ１２には、バス等を介して、ＲＯＭ１４，ＲＡＭ１６，ハードディスク装置（以下「ＨＤＤ」という。）１８，ディスクＩ／Ｆ２０，表示装置２２，キーボード２４，ポインティングデバイス２６および通信Ｉ／Ｆ２８等が接続される。
【００３３】
ＨＤＤ１８はハードディスクを含み、この音楽演奏処理等を実行するためのプログラムおよび各種データ（演奏データ，画面データ等を含む）等が格納されている。したがって、ＣＰＵ１２は、必要なプログラムやデータ等をＨＤＤ１８から読み出してＲＡＭ１６に展開し、これらのプログラムに従って処理を実行する。たとえばこの音楽演奏処理等のためのプログラムおよびデータが情報記録媒体に記録されている場合には、ディスクＩ／Ｆ２０を介してそれらプログラムおよびデータ等が読み出されてＨＤＤ１８に格納される。また、通信Ｉ／Ｆ２８はたとえばＬＡＮあるいはインタネットのようなネットワーク等と接続され得るので、上述のプログラムおよびデータ等は、ネットワーク上のサーバ等から通信Ｉ／Ｆ２８を介して取得されてもよい。
【００３４】
表示装置２２は、たとえばＬＣＤやＣＲＴ等であり、ＣＰＵ１２から表示信号が与えられてメニュー画面や操作画面等の各種画面が表示される。キーボード２４およびポインティングデバイス２６は、たとえばＰＣの入力装置であり、ユーザが操作する操作手段であり得るものであり、操作に応じた操作信号（操作情報）がＣＰＵ１２に与えられる。この操作信号に基づいてＣＰＵ１２は処理を実行する。ポインティングデバイス２６は、たとえばマウス，トラックボール，トラックパッド，デジタイザまたはタブレット等であり得る。
【００３５】
ＣＰＵ１２には、さらに、ＭＩＤＩインタフェース３０および音源３２が接続される。ＭＩＤＩインタフェース３０は、ＰＣ等とＭＩＤＩ機器とを接続するためのものであり、音源３２およびＭＩＤＩ鍵盤３４が接続される。音源３２には、図示しないＤ／Ａコンバータおよびアンプ等を介してスピーカ４０が接続される。
【００３６】
ＭＩＤＩ鍵盤３４は、複数の白鍵および黒鍵を含むキー３６および連続型のコントローラとして１つまたは複数のスライダ（ベンダ）３８を備えている。これらキー３６およびスライダ３８は、ユーザが操作する操作手段であり得るものであり、操作に応じた操作信号（ＭＩＤＩデータあるいはＭＩＤＩメッセージ）がＭＩＤＩインタフェース３０を介してＣＰＵ１２に与えられる。この操作信号に基づいてＣＰＵ１２は処理を実行する。また、音源３２には、ＣＰＵ１２からも演奏データおよびユーザ操作に基づいて生成された音響情報としてのＭＩＤＩデータがＭＩＤＩインタフェース３２を介して与えられる。音源３２には、場合によってはＭＩＤＩ鍵盤３４から直接ＭＩＤＩデータが与えられ得る。音源３２は、受信したＭＩＤＩデータに従ってオーディオデータ（音響情報）を生成する。生成された音響情報はスピーカ４０に与えられてサウンド（演奏音）として出力される。
【００３７】
また、ＣＰＵ１２には、センサ４２が図示しないＡ／Ｄコンバータ等を介して接続される。センサ４２は、たとえば２次元の静電容量センサであって、ユーザが手振りによって演奏操作を行う際に使用される。たとえばユーザが静電容量センサ４２上の空間で手振り動作を行うと、ユーザの手との間の距離に応じて静電容量が変化し、その変化に応じた検出信号（操作信号）がＣＰＵ１２に与えられる。したがって、ユーザの手振り動作を検出することができる。たとえば、図２に示すように、上下方向の振り下ろしから上げに変化する変曲点を検出し、その検出タイミングで拍打があったものとする。ＣＰＵ１２はこの操作信号に基づいて処理を実行する。
【００３８】
なお、上述では、このシステム１０を、主としてＰＣとＭＩＤＩ鍵盤３４と外部の音源３２とで構築したものを想定して説明したが、このシステム１０の構成は適宜変更され得る。たとえば、外部音源３２を用いずに、ソフトウェア音源を使用するようにしてもよいし、または音源を備えるサウンドカードを使用するようにしてもよい。あるいは、このシステム１０は１つの電子楽器として構成されてもよく、この場合、プログラムおよびデータ等は予めＲＯＭ１４に格納されていてよいし、ＰＣのキーボード２４およびＭＩＤＩインタフェース３０等は設けられなくてよい。
【００３９】
このシステム１０では、ユーザの操作に従って、演奏データに基づく演奏が進められる。基本的にユーザの単純な拍打操作（指一本の打鍵または手振り動作等）によって、テンポ・“間”または音量に関する制御すなわち演奏表現を行うことができる。ユーザは、その拍打操作の入力を、キーボード２４の打鍵またはＭＩＤＩ鍵盤３４のキー３６の打鍵によって行うことができる。キーボード２４を使用する場合には、たとえば、そのキーの種類によって音量を入力することができるし、または、たとえば表示装置２２に表示される操作画面上のポインティングデバイスの位置によって音量を入力するようにしてもよい。また、ＭＩＤＩ鍵盤３４を使用する場合には、キー３６の打鍵によって拍打タイミングとともに音の大きさ（ｖｅｌｏｃｉｔｙ）を入力することができる。
【００４０】
あるいは、ユーザは、センサ４２を利用した手振り動作によって入力を行うことができる（図２参照）。上述のように、上下方向の下降から上昇に変化する変曲点で拍打を入力できる。また、振り下ろし始めの場所（一番上がった所）から振り下ろした場所までの距離によって音量を入力できる。
【００４１】
なお、この実施例では、ユーザに静電容量センサ４２の上方で手振り動作を行わせるようにしているが、他の実施例では、たとえば静電容量センサ４２を指揮棒に装着しておき、この指揮棒を振らせるようにしてもよい。また、この場合、センサとしては公知技術のように加速度センサ等が適用されてもよい。
【００４２】
また、このシステム１０では、既存の演奏例から抽出したｄｅｖｉａｔｉｏｎパラメータ付きの演奏データ（演奏表情パラメータ付演奏データ）を用いることによって、名演奏者を指揮するような表現感覚を楽しむことができる。また、演奏表情パラメータのうち、どのパラメータをコントロールするかをユーザが指定することによって、様々な形での演奏表現を楽しむことができる。
【００４３】
図３には、演奏表情パラメータ付演奏データの一例が示される。この表情付演奏データは、「＝」で区切られる小節ごとの情報に分けられている。音符に関する基本的な情報は、音高ないしピッチ（キー）と、拍単位で記述される発音時刻と音価（音符の長さ）を含んでいる。これに加え、この演奏表情パラメータ付演奏データは、ｄｅｖｉａｔｉｏｎ項ないし演奏表情パラメータとして、拍ごとのテンポ、拍内に含まれるの各音のオンセット時間（打鍵時刻ないし発音時刻）の規準拍に対してのずれ、拍内に含まれる各音の音長（持続時間）の規準拍長からのずれ、および拍内に含まれる各音の音量（ｖｅｌｏｃｉｔｙ値）を備えている。つまり、これらパラメータは演奏者の演奏表情を示すものであり、楽譜情報からのｄｅｖｉａｔｉｏｎないし変位を含んでいる。また、オプションで、メロディや伴奏データを指し示すフラグが記載される。実際の演奏例あるいは音楽解釈機構を用いて演奏プランを用意することで、単純な打鍵動作だけでは表現できない拍単位（あるいは拍以下）の演奏ニュアンスを付加することが可能となる。また、たとえばインタラクティブ演奏時にはユーザの拍打に対して１拍分の演奏が実行される。
【００４４】
たとえば、図３で、「＝２」は第２小節であることを示している。その下の「１．００  ＢＰＭ  １２８  ４」について説明すると、最初の「１．００」は拍を示し、「ＢＰＭ  １２８」は、テンポが１２８［ｂｐｍ］であることを示し、最後の「４」は単位音符が４分音符であることを示す。つまり、この文は、この第２小節の１拍目のテンポが４分音符を単位として１２８［ｂｐｍ］であることを意味している。ここで、テンポは楽曲を演奏する際の速度を意味しており、１分間あたりの単位音符の演奏する数（ｂｐｍ：ｂｅｅｔ  ｐｅｒ  ｍｉｎｕｔｅｓ）  を用いて表される。単位音符には、４分音符が割り当てられることが多いが、リズムの表現にあわせ、他の音符が用いられることもある。次の行の「１．００  （Ｃ＃４  ｍ  ７６  ０．７５  ０．１）（Ｅ１  ａ  ６０  １．００  ０．１）」は、１拍目の音に関する情報である。「Ｃ＃４」や「Ｅ１」はその音の音高を示し、「ｍ」はその音がメロディであることを示し、「ａ」はその音が伴奏であることを示す。次の「７６」および「６０」はその音の音量を示す。「０．７５」および「１．００」はその音の音長（拍単位）を示し、その後の「０．１」はその音長のずれを示す。つまり、たとえば「Ｃ＃４」は「０．７５＋０．１」の長さで演奏されることが記載されている。また、次の行の「１．７５（＋０．１  Ｄ４  ｍ  ７７  ０．２５  −０．１）」は、拍内の音に関する情報である。つまり、１．７５拍の時刻に発せられる音の情報である。「＋０．１」は、その音の発音時刻のずれを示し、つまり、この音は「１．７５＋０．１」の時刻に開始されることが記載されている。
【００４５】
なお、このシステム１０で演奏されるデータは、必ずしも演奏表情パラメータ付演奏データである必要はなく、たとえば図４に示すような演奏表情パラメータ無しの演奏データであってもよい。この図４の演奏データでは、拍ごとの各音の音高および音長ならびにメロディまたは伴奏を区別するフラグが記述されている。この場合、たとえば和音内の各音量は同じであり、タイミングがばらつくようなことはないが、テンポや全体での音量等にはユーザの意図が反映されることとなる。
【００４６】
このシステム１０では、ユーザの操作に基づいて、演奏表情パラメータのうち少なくとも１つが制御されて演奏が変更される。より具体的には、プロセス制御によく用いられるＰＩＤ制御に基づいた予測的な演奏スケジューリングを行っており、ここではユーザによる様々な操作感の設定が可能である。
【００４７】
ここで、ＰＩＤ制御について簡単に説明する。ＰＩＤ制御において、Ｐ値（比例動作）は、制御対象の目標値と現在の値との偏差に基づいて操作量を決定する。偏差が大きければ、制御対象を目標値に早く近づけるために操作量を大きくし、偏差が小さければ、この状態を維持しようと小さくする。Ｉ値（積分動作）は、偏差の積分値を反映し、定常偏差を改善することにより、収束をはかる。Ｄ値（微分動作）は、偏差の変化量に基づいて、偏差の動向を予見するような制御を行い、未来の予測より動作の収束時間を改善する。この３つの要素にそれぞれ適当な重みを配分し、操作量を決定することによって、制御対象の現状を目標に、より速く近づけていくのがＰＩＤ制御の狙いである。
【００４８】
このシステム１０でのＰＩＤ制御は、人間とシステムのインタラクションを扱う点において特殊であり、厳密には上記の定義とは異なるが、比例量，積分量，微分量の重みで制御を実施すること、および直感的にもわかり易いという点で、ＰＩＤ制御とほぼ同質のものであり、基本的な操作イメージは同じものとして理解できる。ここで、１）Ｐ値（第１予測値）とは、システムが弾きたい演奏として、ｄｅｖｉａｔｉｏｎ  項を含む演奏データそのものに対応し、２）Ｉ値（第２予測値）は、ユーザが与えるものとして、たとえば現在の拍から遡って指定した拍数分の演奏データ履歴の平均に対応し、３）Ｄ値（第３予測値）は、現在の拍とその直前の拍の演奏データの変化量から算出される予測値に対応する。
【００４９】
以下、テンポ制御を例に、ＰＩＤ制御に基づくスケジューリングについて説明する。
【００５０】
図５にはＰＩＤ制御によるテンポ計算の一例が示される。具体的には、ユーザ（演奏者）の過去３拍のテンポから、次拍のテンポを予測する例である。Ｐ値（７０）は、演奏表情パラメータ付演奏データに記述されたＢＰＭであり、Ｉ値（９７）は、過去３拍のＢＰＭの平均値である（つまり、ユーザは３拍分参照することを指定している）。Ｄ値（６０）は、過去２拍のＢＰＭの変化量から計算される次拍のＢＰＭの予測値である。この図５の例では、演奏者が徐々にテンポを遅くしながら演奏しているので、次拍はさらに遅いテンポで演奏すると予測される。これら３つの値に重み（Ｐ：５０％，Ｉ：３０％，Ｄ：２０％）を割り振ることで、システム１０が出力する最終的な演奏のテンポ（７６．１）を決定する。
【００５１】
ユーザはこの重みを設定することができ、重みを変えることによって、さまざまな追従特性、応答感を得ることができる。たとえば、Ｐ値の割合を大きくとれば、演奏データを重視した演奏を行うので、真似をしたい演奏に引っ張られがちな演奏が生成され、ピアニストを指揮しているのに近い演奏感覚が得られる。Ｉ値を重視すれば、自身の打鍵操作にゆっくりと追従する演奏感覚が得られる。また、Ｄ値を重視すれば、全体の演奏傾向よりも局所的な変化（拍打表現）によく反応する操作感が得られる。
【００５２】
なお、このように、ユーザの拍打操作に基づいてテンポが制御されることによって、結果的に各音の発音時刻が制御されることになる。
【００５３】
図６には、スケジューリングの様子の一例が示される。ここで、横軸は実時間、縦軸は拍ないしタクトスの区切りである。傾きはテンポをあらわし、傾きが大きいほどテンポは速くなる。
【００５４】
なお、タクトスは指揮での腕の動きによって計算される時間のことであるが、ここでは規準拍内に打鍵する回数をタクトスと定義する。たとえば、規準拍が４分音符の場合に、４分音符１つに一回の拍打を対応させるときタクトスは１である。また、たとえば４つ並んだ１６音符のすべてに拍打を対応させたい場合にはタクトスを４に設定すればよい。
【００５５】
このシステム１０では、拍打の検出直後に、ＰＩＤ制御を用いて次の拍に割り当てられた音符の発音（消音も含む）までのスケジューリングを行う。この処理だけでは、システム１０の発音（予想打鍵時刻）と演奏者による実際の拍打時刻がずれてしまうことがあるため、その修正を行う処理を実装している。すなわち、ここでは、ズレの修正の早さに関連した追従性パラメータとして、追従度と追従率とを与えるようにしている。追従率は、予想打鍵時刻前に演奏者が打鍵した際に、どの程度打鍵した拍まで追い付いて演奏するかを示す割合である。追従度は、追従度分の演奏幅が、どれだけの割合で追い付くかを示した割合である。これら追従率および追従度は百分率で表され、ユーザが指定することができる。これら追従性パラメータを変えることによって、ユーザはさまざまな応答感を得ることができる。たとえば、追従率を１００  に設定すると、予想打鍵時刻より先に打鍵が行われた場合に、即時にその拍打に対応した音符の発消音がなされる。
【００５６】
図７には、拍打の検出の様子の一例が示される。拍打は、ＰＩＤ制御により計算されるテンポ（予想される一拍の長さ）を規準として検出がなされる。たとえば、その予想長さの１／４  の時刻まで（誤差入力範囲）は、演奏ミスや他の鍵盤に指が触れた場合などの事態を想定し、拍打を受け付けないものとする。また、その１／４  から２／３  まで（倍打ち許容範囲）は、裏拍打ち（倍打ち）がなされたものとしての拍打を検出する。つまり、ユーザの裏拍打ちによる演奏表現が演奏のスケジューリングに反映される。また、その２／３  から３／２  まで（次拍の拍打ち受付許容範囲）は、規準拍ないしタクトスに対応する拍打がなされたものとして検出を行う。このように打鍵受付範囲を設けることで、最大で、テンポを３分の２まで遅くすることや２倍にまで速くすることが可能となっている。
【００５７】
具体的には、以下のようにしてテンポの計算が行われる。Ｐ値、Ｉ値、Ｄ値それぞれの重みをＥＰ、ＥＩ、ＥＤとし、また、演奏データのテンポをＢＰＭＰ［ｂｐｍ］、Ｉ値（平均）として参照する拍数をαとすると、ｎ回目の打鍵間隔ＩＯＩｎ［ｓ］  は、次の数１で示される。
【００５８】
【数１】
2004233573.tif 000003
【００５９】
そして、（ｎ−１）回目の打鍵後のタクトス間の演奏が全て終了している場合、ｎ回目の打鍵後のテンポは、これをＢＰＭｎ［ｂｐｍ］  とすると、次の数２で示される。
【００６０】
【数２】
2004233573.tif 000004
【００６１】
演奏中の拍が全て演奏される前に次の拍が打鍵された場合、追従度をＡＬ、追従率をＡＲとすると、（ｎ−１）回目の打鍵後の演奏分の残りの間隔の、ｎ回後の打鍵直後の追従度で定められた分のテンポＢＰＭＡｎ［ｂｐｍ］  は、追従率が１００より小さい場合、次の数３で示される。
【００６２】
【数３】
2004233573.tif 000005
【００６３】
（ｎ−１）回目の打鍵後の演奏分の演奏が全て演奏される前に次の拍が打鍵された場合、（ｎ−１）回目の打鍵後の演奏分の残りの間隔をＩＯＩｏｄｄ［ｓ］とすると、ｎ回目の打鍵後に追従率で定めた分の演奏を終えた後のテンポＢＰＭｎ［ｂｐｍ］  は、次の数４で示される。
【００６４】
【数４】
2004233573.tif 000006
【００６５】
また、ＰＩＤ制御による音量の計算について説明する。音量は、上述のテンポとはやや異なった考え方によって算出される。たとえば、演奏表情パラメータ付演奏データにおける音量指定が、「２．０  Ｂ３  ３６」「２．５  Ｇ＃３  ７０」「３．０  Ｇ＃４  ６０」であったとする。まず、規準音量（たとえば８０）を設定し、それからの割合として、「２．０  Ｂ３  ０．４５」「２．５  Ｇ＃３  ０．８７５」「３．０  Ｇ＃４  ０．７５」に変換する。これがＰ値に対応する。
【００６６】
これに対して、ユーザが、１．０に対応する拍打の音量に６０を入力し、２．０に対応する拍打の音量に９０を入力したとすると、規準音量（８０）を基にして、２．０の音量１．１２５を得る。これをＩ値に対応させる。また、Ｄ値に対応するものとしては、（９０＋（９０−６０））／９０＝１．３３３を得る。Ｄ値は時間可変であり、２．０の拍打で１であり、２．５の拍打で１．１６７となり、３．０の拍打で１．３３３となる。
【００６７】
したがって、たとえば３．０の拍打での音量を決定するにあたって基本となる情報は次のようになる。つまり、Ｐ値に対応するものとして、システムが演奏したい音量が０．７５（倍）であり、Ｉ値に対応するものとして、人間が演奏したい音量が１．１２５（倍）であり、Ｄ値に対応するものとして、前拍からの予測を入れる場合の音量が１．３３３（倍）である。したがって、最終的な音量は、８０（規準となる強さ）＊（Ｐの重みで決定した０．７５から１までの内分値）＊（Ｉの重みで決定した１．１２５から１までの内分値）＊（Ｄの重みで決定した１．３３３から１までの内分値）によって決定される。
【００６８】
なお、上述の音量の決定方法では、拍に対応する「２．０  Ｂ３」および「３．０  Ｇ＃４」と、拍以下の「２．５  Ｇ＃３」とを同じように扱うようにしているが、これら拍に対応する音と拍以下の音とで扱いを区別することによって、Ｐ値をより細かく設定するようにしてもよい。この場合には、より細かい制御をすることができ、細かい表現を行うことができる。
【００６９】
具体的には、次のようにして、音量を決定してもよい。つまり、たとえば、演奏表情パラメータ付演奏データにおける音量指定が、「２．０  Ｂ３  ５０」「２．５  Ｇ＃３  ７０」「３．０  Ｇ＃４  ６０」であり、タクトスがデフォルトの１．０であったとする。まず、規準音量（たとえば８０）を設定し、それからの割合として、「２．０  Ｂ３  ０．６２５」に変換する。そして、この算出方法では、「２．５  Ｇ＃３」と「３．０  Ｇ＃４」については、「２．０  Ｂ３」の音量５０を規準にし、それからの割合として、「２．５  Ｇ＃３  １．４」「３．０  Ｇ＃４  １．２」に変換する。つまり、拍以下の「２．５」およびユーザの打鍵（拍打）がスケジューリングより後の場合に相当する「３．０」については、ユーザからの直接的な操作が働かない範囲で、すなわち、予測でパラメータを行うことになる。
【００７０】
これに対して、ユーザが、１．０に対応する拍打の音量に６０を入力し、２．０に対応する拍打の音量に９０を入力したとすると、差分によって３．０の音量を予測すると、３．０の音量は１２０となる。規準音量（８０）を元にして、２．０の音量１．１２４（Ｉ値に対応する）を得るとともに、２．０  から３．０への予測増分として、１２０／９０＝１．３３３（Ｄ値に対応する）を得る。
【００７１】
以上を整理すると、演奏表情パラメータ付演奏情報から得られる演奏プランは次のようになる。つまり、Ｐ値に対応するＰＴとして、「２．０  Ｂ３」の音量が０．６２５（支配タクトス規準音の規準音量８０に対する比）であり、Ｐ値に対応するＰＤとして、「２．０  Ｂ３」の音量が１．０（支配タクトス規準音の規準音量比，そのものなので１．０である。）であり、同じくＰＤとして、「２．５  Ｇ＃３」の音量が１．４（支配タクトス規準音からの音量比）であり、ＰＤとして、「３．０  Ｇ＃４」の音量が１．２（支配タクトス規準音からの音量比）である。
【００７２】
また、ユーザの意図は次のようになる。つまり、Ｉ値に対応するＵＩとしては、１．１２５（ユーザが支配規準音に与えたい音量比）である。また、Ｄ値に対応するＵＤとしては、１．３３３（ユーザがその拍での与えたい変化値）である。なお、実際の音符に対する値ＵＤ´は時間可変であり、ＵＤと時間の関数になる。
【００７３】
したがって、実際の最終的な音量は、８０（規準となる強さ）＊（ＰＴと１の内挿（外挿）値）＊（ＰＤと１の内挿（外挿）値）＊（ＵＩと１の内挿（外挿）値）＊（ＵＤ´と１の内挿（外挿）値）によって決定される。
【００７４】
なお、この場合、ＰＩＤパラメータすなわち重みは４つ必要となる。デフォルトでは、ＰＴおよびＰＤを連動させ、Ｐに設定された重みを採用するようにしてよい。また、たとえば、詳細モードでは、それぞれの重みを設定できるようにして（たとえば１０％，９０％，９０％，１０％など）、ユーザがより細かく指定できるようにしてよい。
【００７５】
また、このシステム１０では、一本の指のような単純な打鍵操作での‘間’の表現、予測に基づく自走演奏、などの演奏インタフェースを提供している。
【００７６】
ここで、‘間’とは、次の拍の先頭を演奏する前に、ためる（時間的間隔をあける）ことを言う。‘間’が挿入された際には、それを‘間’と判断し、テンポ計算から除外しなければ、次拍のスケジューリングが大きく乱れてしまう。このシステム１０では、図７に示した“打鍵受付範囲”、“予測打鍵時刻”を利用して、‘間’の挿入をするようにしている。
【００７７】
ＰＩＤ制御を用いた予測スケジューリングのメリットとして、打鍵を待たずに演奏を進める自走演奏への応用が有る。ユーザは、次拍の受付許容範囲を超えても拍打を検出できなかった場合に自走演奏する最大拍数等を設定することができる。このシステム１０では、次拍の許容範囲を超えても拍打を検出できなかった場合、たとえば、指定自走拍数よりも多く自走演奏し、かつ、現在の演奏拍が小節の最終拍でないときには、システムが予測した時刻で拍打があったものと想定して自走演奏させるようにしている。
【００７８】
また、次拍の許容範囲を超えても拍打が検出されない場合に、さらに、指定自走拍数よりも多く自走演奏し、かつ、小節の最終拍であるときには、‘間’が挿入されたものと判断している。これによって、演奏は次の拍の先頭の直前で停止して待機した状態となる。次の打鍵を確認すれば、演奏が再開される。なお、‘間’が判断された場合、その拍の打鍵間隔はＰＩＤ制御でのＩ値、Ｄ値を算出する際の参照リストから除外され、たとえばその直前のものが参照され得る。
【００７９】
なお、ユーザは自走演奏する最大拍数に０を設定すれば、自走演奏モードをオフにすることができる。
【００８０】
また、このシステム１０は、上述の通常のインタラクティブ演奏モードのほかに、合成演奏モードとして、モーフィング（ｍｏｒｐｈｉｎｇ）モードを備えている。つまり、このモーフィングモードでは、複数の演奏データ（演奏表情パラメータ付演奏データを含む。）を用いて、第２操作手段としてのたとえばスライダ３８等で割合を変えることで、リアルタイム演奏モーフィング（演奏の内挿）を行うことができる。
【００８１】
この実施例のモーフィングモードでは、基本モードと詳細モードがあって、基本モードでは、たとえばキーボード２４またはＭＩＤＩ鍵盤３４のキー３６を用いた拍打操作によってテンポが制御され、スライダ３８等の設定によって、各音の発音時刻のずれおよび音長のずれ、ならびに音量（バランス）が制御される。これらｄｅｖｉａｔｉｏｎパラメータについては、拍打が検出されたときのスライダ３８の値（合成割合）を読み取って、内分して計算する。たとえば、図８に示すように、演奏表情パラメータ付演奏データＡ（Ａファイル）として、「２．００  （０  Ｂ３  ｍ  ２０  １．００  ０．１）（０．１  Ｇ＃３  ａ  １００  １．００  ０．１）」があり、演奏表情パラメータ付演奏データＢ（Ｂファイル）として、「２．００  （０  Ｂ３  ｍ  ８０  １．００  ０．１）（０  Ｇ＃３  ａ  ２０  １．００  ０．１）」がある場合を想定する。時刻２．００での合成割合としてのモーフィングパラメータＡ：Ｂが７５％：２５％とすると、「Ｂ３」の音量＝２０＊０．７５＋８０＊０．２５＝３６となり、「Ｇ＃３」の音量＝１００＊０．７５＋２０＊０．２５＝８０となる。すなわち、局所的に、「２．００（Ｂ３  ｍ  ３６  １．００  ０．１）（＋０．０７５  Ｇ＃３  ａ  ８０１．００  ０．１）」という１つの演奏データに対して、スケジューリングを行うのと等しくなる。この場合、システムが弾きたい音量は、「Ｂ３」が３６となり、「Ｇ＃３」が８０となり、これがＰ値に対応する。これに対して、人間が弾きたい音量をＩ値およびＤ値を用いて計算する。なお、これ以降の音量の計算は、上述の通常モードと同様にして行えるので、ここでは省略する。なお、音量に対して、ｄｅｖｉａｔｉｏｎが書かれていない場合（演奏表情パラメータ無しの演奏データの場合）、あるいはＰ値が０の場合等は、単純に（すべての和音に対して）Ｉ値およびＤ値を使用して求めた音量が適用される。
【００８２】
また、合成演奏モードとして、外挿モードを備えるようにし、ｄｅｖｉａｔｉｏｎパラメータを外挿（外分）によって算出してもよい。たとえば、Ａファイルとして「２．００（０  Ｂ３  ｍ  ２０  １．００  ０．１）（０  Ｇ＃３  ａ  １００１．００  ０．１）」、Ｂファイルとして「２．００（０  Ｂ３  ｍ  ４０  １．００  ０．１）（０．１  Ｇ＃３  ａ  ２０  １．００  ０．１）」があった場合、Ｂの方向に外分すれば、「２．００（０  Ｂ３  ｍ  ６０  １．００  ０．１）（０．２  Ｇ＃３  ａ  ２０  １．００  ０．１）」という演奏データが得られる。ただし、この場合、スライダ３８等の値域をたとえば−１００％から２００％程度まで振れるようにしておく必要がある。
【００８３】
また、たとえばＡファイルにｄｅｖｉａｔｉｏｎ無しの演奏データを準備し、Ｂファイルにｄｅｖｉａｔｉｏｎ付の演奏データを準備して、外挿を許すことによって、幅の広い制御をすることができる。
【００８４】
一方、詳細モードでは、１つまたは２つのスライダ３８等に対し、どのｄｅｖｉａｔｉｏｎパラメータを対応付けるかを指定することができる。つまり、たとえば、第１スライダに音量を指定し、第２スライダに発音時刻のずれを指定して、それぞれのスライダ３８の操作で入力された合成割合に従って、各パラメータを合成するようにしてもよい。また、ここで、テンポをスライダ３８に対応させた場合には、拍打なしの自走モーフィングを実行できる。つまり、ユーザは拍打操作なしでスライダ３８で割合を制御するだけで、テンポを制御し演奏を進めることができる。たとえば、Ａファイルが「２．００  ＢＰＭ  １００  ４」、「２．００（０  Ｂ３  ｍ  ２０  １．００  ０．１）（０  Ｇ＃３  ａ  １００  １．００  ０．１）」であり、Ｂファイルが「２．００  ＢＰＭ  １４０  ４」、「２．００（０  Ｂ３  ｍ  ４０  １．００  ０．１）（０．１  Ｇ＃３  ａ  ２０１．００  ０．１）」であるとき、Ａ：Ｂ＝２５％：７５％であれば、「２．００  ＢＰＭ  １３０  ４」が適用される。
【００８５】
また、このシステム１０は伴奏モードを備えていて、この伴奏モードでは、ユーザのメロディ入力に対して、伴奏を付けることができる。つまり、ユーザがＭＩＤＩ鍵盤３４で弾いたメロディの音響情報（ＭＩＤＩデータ）を、たとえばそのまま音源３２に与えてスピーカ４０から出力するようにするとともに、打鍵のタイミングおよび音量（ｖｅｌｏｃｉｔｙ）を検出して伴奏演奏に利用する。つまり、メロディに対応した打鍵のタイミングで拍打を検出したものと判断し、テンポおよび音量等を同様に制御する。スケジューリングの際には、たとえば、「ｍ」のフラグの付いているメロディ音を出さずに、「ａ」のフラグの付いている伴奏音だけをスケジューリングして、音響情報を出力するようにすればよい。
【００８６】
なお、他の実施例では、メロディ入力情報をそのまま出力させずに、伴奏音のスケジューリングの際に、メロディ入力情報も合わせてスケジューリングして、メロディ入力によるメロディ音と伴奏音とを一緒にした音響情報を出力するようにしてもよい。
【００８７】
図９には、システム１０の全体的な動作が示される。システム１０の電源が投入されて、この音楽演奏処理プログラムが起動されると、ユーザは、まず、メニュー選択を行うことができる。システム１０が表示装置２２を含んで構成される場合には、表示装置２２に表示されたメニュー選択画面でメニュー選択を行える。表示装置２２がない場合等にはＭＩＤＩ鍵盤３４に設けられる各種操作子でメニュー選択を行うようにしてもよい。図９に示すように、システム１０のＣＰＵ１２は、まず、ステップＳ１，Ｓ３，Ｓ５，Ｓ７およびＳ９において、各メニューが選択されたか否かを判断し、それぞれのステップで“ＹＥＳ”であれば、そのメニューの処理を実行する。
【００８８】
つまり、ステップＳ１では、演奏データ読込みが選択されたか否かを判断し、このステップＳ１で“ＹＥＳ”であれば、続くステップＳ１１で演奏データ読込み処理を実行する。このステップＳ１１の処理については図１０を用いて後に詳述するが、これによって、たとえば１または複数の演奏表情パラメータ付演奏データが取得され得る。また、このステップＳ１１では、演奏表情パラメータの無い演奏データが取得されてもよい。なお、既に演奏データをＨＤＤ１８あるいはＲＯＭ１４に取得している場合等には、このステップＳ１１の処理は行われなくてもよい。
【００８９】
ステップＳ３では、インタフェース設定が選択されたか否かを判断し、“ＹＥＳ”であれば続くステップＳ１３で、インタフェース設定処理を実行する。このステップＳ１３では、たとえばメニュー方式で、通常モードおよびモーフィングモード等における各種設定が行われる。通常モードおよびモーフィングモードで共通して設定できるものに、制御性の設定と追従性の設定とがある。制御性設定においては、簡易タイプと詳細タイプの２種類がある。簡易タイプでは、テンポおよび音量に共通のＰＩＤパラメータ（すなわち重み）を設定できる。なお、重みはたとえば百分率で指定する。また、詳細タイプでは、テンポおよび音量のそれぞれに独自のＰＩＤパラメータを設定できる。したがって、詳細タイプでは、より微妙な演奏表現を行うことができる。追従性設定においては、予測値と実際の値がずれたときの追いつき方パラメータとして、追従率と追従度とを設定できる。この追従性パラメータもたとえば百分率で指定する。
【００９０】
また、モーフィングモードにおける操作タイプを基本タイプおよび詳細タイプの２種類から選択して設定することができる。基本タイプは、テンポを拍打で与え、音量および各音の打鍵時刻と長さのずれをスライダ３８で与えるものである。一方、詳細タイプは、１つないし２つのスライダ３８に対して、どのｄｅｖｉａｔｉｏｎパラメータを対応させるかを指定することができる。
【００９１】
また、入力デバイス設定をすることができる。つまり、ＰＣキーボード２４，ＭＩＤＩ鍵盤３４および手振りインタフェース（センサ４２）のいずれを用いて拍打入力するのかを設定できる。
【００９２】
ステップＳ５では、プレイが選択されたかか否かを判断し、“ＹＥＳ”であれば、続くステップＳ１５でプレイ処理を実行する。このプレイ処理においては、まず、演奏データをシステム１０がそのまま演奏（再生）する自走演奏か、または、ユーザの操作に従って演奏するインタラクティブ演奏かを選択する。具体的には、インタラクティブ演奏では、演奏表情パラメータ付演奏データを用いて演奏表現を行うことができる。この処理は図１２および図１３を用いて後に詳述される。また、演奏表情パラメータ無しの演奏データを用いてもインタラクティブ演奏できる。この場合には、演奏データに演奏表情パラメータが無いので、テンポおよび全体での音量等を制御することができる。また、上述のように、複数の演奏データを用いて、演奏モーフィングをすることもできるし、さらに、ユーザがメロディを弾くことによって、それに対応する伴奏を自動演奏させることができる。
【００９３】
ステップＳ７では、プレイデータの保存が選択されたか否かを判断し、“ＹＥＳ”であれば、続くステップＳ１７で、プレイデータ保存処理を実行する。プレイデータは、プレイ時にＲＡＭ１６に作成されたスケジューリングデータに基づいて、新たな演奏表情パラメータ付演奏データとしてＨＤＤ１８に保存されてもよいし、たとえばＳＭＦ（Ｓｔａｎｄａｒｄ  Ｍｉｄｉ  Ｆｉｌｅ）形式に変換してＨＤＤ１８に保存されてもよい。保存したプレイデータを自走演奏させることによって、ユーザは自らの演奏を聴取して確認することができる。
【００９４】
ステップＳ９では、終了が選択されたか否かを判断する。このステップＳ９で“ＹＥＳ”であれば、終了のための処理を実行して、この音楽演奏処理を終了する。
【００９５】
図１０には、図９のステップＳ１１の演奏データ読込み処理における動作の一例が示される。この図１０では、既存の演奏例から演奏表情パラメータが抽出され、演奏表情パラメータ付演奏データが生成される。システム１０のＣＰＵ１２は、まず、ステップＳ２１で、楽譜データをＲＡＭ１６に読み込む。楽譜データは、たとえば図１１に示すようにＭｕｓｉｃＸＭＬ形式であり、これは楽譜作成ソフト等を利用して書いた楽譜データをエクスポートして得られる形式である。楽譜データは、たとえば、ディスクＩ／Ｆ２０を介して適宜な情報記憶媒体から取得されてもよいし、通信Ｉ／Ｆ２８を介してネットワーク等から取得されてもよいし、システム１０がＰＣを含んで構成される場合楽譜作成ソフト等によってユーザが作成してもよい。この楽譜データはあくまで楽譜情報であり、具体的な演奏表情は含まれていない。
【００９６】
次に、ステップＳ２３で、楽譜データを演奏データ（演奏表情パラメータ無し）に変換する。この演奏データは、図４に示すように、拍ごとの各音の音高および音長は記述されるが、拍ごとのテンポや音量、各音のずれなどの演奏表情パラメータを含んでいない。
【００９７】
続いて、ステップＳ２５で、演奏データ（ＳＭＦ）が読み込まれてＲＡＭ１６に書き込まれる。ＳＭＦ形式は広く流通するバイナリ演奏データであり、単純シーケンスデータ（時系列情報）として記述されている。ＳＭＦは、たとえばデルタタイム（音長）ごとの音の高さおよび音の強さ（ｖｅｌｏｃｉｔｙ）等の情報を含んでいる。このＳＭＦも、たとえば、ディスクＩ／Ｆ２０を介して適宜な情報記憶媒体から取得されてもよいし、通信Ｉ／Ｆ２８を介してネットワーク等から取得されてもよい。
【００９８】
そして、ステップＳ２７で、楽譜データと演奏データ（ＳＭＦ）とをマッチングし、ステップＳ２９で、ＭＩＤＩでのｖｅｌｏｃｉｔｙを各音の音量として抽出する。
【００９９】
次に、ステップＳ３１では、テンポ同定を行うための規準音符を決定する。たとえば４分音符を規準とするか、８分音符を規準とするかはユーザによって設定される。また、どの音を規準とするかについては、たとえば最も高い音で調整される。
【０１００】
続いて、ステップＳ３３では、規準音符と次の規準音符までの時間に基づいてテンポが決定される。これによって、拍ごとの規準テンポが得られる。ステップＳ３５では、規準テンポに基づいて、各音の開始時刻（発音時刻）のずれ、および音長のずれを算出する。
【０１０１】
そして、ステップＳ３７で、抽出した演奏表情パラメータ（拍ごとのテンポ、各音の発音時刻のずれ、各音の音長のずれ、音量）を演奏データ（演奏表情パラメータ無し）に対して付与し、図３に示すような演奏表情パラメータ付演奏データを生成して、必要に応じてＨＤＤ１８に格納し、図９のメインフローにリターンする。
【０１０２】
なお、場合によっては、演奏表情パラメータ付演奏情報は、ユーザの手入力によって作成されてもよいし、あるいは、ディスクＩ／Ｆ２０を介して情報記録媒体から取得されてもよいし、通信Ｉ／Ｆ２８を介してネットワーク等から取得されてもよい。
【０１０３】
図１２および図１３には、図９のステップＳ１５のプレイ処理に含まれるインタラクティブ演奏処理の動作の一例が示される。ユーザによって、インタラクティブ演奏モードが選択されると、図１２に示すように、ＣＰＵ１２は、ステップＳ４１で、たとえばＨＤＤ１８から、所望の演奏表情パラメータ付演奏データを読み出して、ＲＡＭ１６の所定エリアにセットする。なお、先に図９のステップＳ１１の演奏データ読込み処理によって演奏表情パラメータ付演奏データを生成した場合には、そのデータはＲＡＭ１６上に存在している。
【０１０４】
次に、ステップＳ４３で、ＲＡＭ１６の所定エリアに設けられる演奏拍カウンタに０を代入するとともに、自走拍カウンタに０を代入する。演奏拍カウンタは演奏した拍をカウントするためのものであり、自走拍カウンタは、次拍の許容時間範囲を超えても拍打が検出されなかった場合に、自走演奏によって進められた拍をカウントするためのものである。
【０１０５】
続いて、ステップＳ４５で、演奏拍カウンタが、この演奏データの最終拍の数よりも大きくなったか否かを判断する。このステップＳ４５で“ＹＥＳ”であれば、つまり、演奏データの最後まで演奏が行われた場合には、この演奏処理を終了する処理を実行して、図９のメインフローにリターンする。一方、ステップＳ４５で“ＮＯ”であれば、つまり、まだ最後まで演奏が行われていない場合には、ステップＳ４５で“ＮＯ”と判断し、続くステップＳ４７でユーザの各操作手段２４，２６，３４の操作によるイベント入力をチェックする。
【０１０６】
次に、ステップＳ４９で、停止情報が入力されたか否かを判断し、このステップＳ４９で“ＹＥＳ”であれば、つまり、ユーザによって停止情報が入力された場合には、この演奏処理を終了するための処理を実行して、図９のメインフローにリターンする。なお、停止情報は、キーボード２４およびＭＩＤＩ鍵盤３４のキー３６のうち特定のキーに対して割り当てておくことで発生させてもよいし、表示装置２２に表示される画面上でのポインティングデバイス２６によるメニュー選択によって発生させてもよい。
【０１０７】
一方、ステップＳ４９で“ＮＯ”であれば、つまり、停止情報が検出されない場合には、続くステップＳ５１で、ユーザの操作による拍打の入力のチェックを行い、ステップＳ５３で、拍打が検出されたか否かを判断する。なお、ステップＳ５１では、拍打の入力とともに、必要に応じて音量等の入力も取得するようにする。
【０１０８】
ステップＳ５３で“ＮＯ”であれば、つまり、拍打が検出されなかった場合には、図１３のステップＳ７３へ進む。一方、ステップＳ５３で“ＹＥＳ”であれば、つまり、拍打を検出した場合には、続くステップＳ５５で、その拍打が、図７で説明したような、誤差入力範囲であるか否かを判断する。このステップＳ５５で“ＹＥＳ”であれば、つまり、拍打が誤差入力範囲に行われた場合には、この拍打を受け付けず、ステップＳ４７へ戻る。
【０１０９】
一方、ステップＳ５５で“ＮＯ”であれば、つまり、拍打が誤差入力範囲でなかった場合には、続くステップＳ５７で、倍打ち（裏拍打ち）の許容範囲であるか否かを判断する。
【０１１０】
このステップＳ５７で“ＹＥＳ”であれば、つまり、拍打が裏拍打ちの範囲で行われた場合には、ステップＳ５９で、図５に示すようなＰＩＤパラメータ（重み）に基づいてテンポの計算をして、ステップＳ４７へ戻る。このように、倍打ちが検出されたときには、Ｉ値およびＤ値を算出するのに必要となる直前までの拍打の履歴データを更新し、次のスケジューリングに反映するようにしている。これによって、ユーザがたとえばテンポアップをしようとしたとき、素早くて良好な応答感が得られる。
【０１１１】
一方、ステップＳ５７で“ＮＯ”であれば、つまり、次拍の拍打の許容範囲である場合には、続くステップＳ６１で自走拍カウンタに０を代入し、ステップＳ６３で、ＰＩＤパラメータに基づくテンポの計算をする。
【０１１２】
次に、ステップＳ６５で、図６に示したように、追従性パラメータに基づくテンポの再計算と未発音音符の再スケジューリングを行う。このステップＳ６５の再スケジューリング処理は、検出した拍打の打鍵時刻が予測打鍵時刻よりも前であったときに実行され、再計算されたテンポ等に従って残り間隔分のスケジューリングがなされる。また、場合によっては音量の調整も行われ得る。
【０１１３】
続いて、ステップＳ６７で、次拍および次拍までの音符のスケジューリングを行う。つまり、上述のようにＰＩＤパラメータを適用して算出されたテンポおよび音量と、さらに演奏表情パラメータの発音時刻のずれおよび音長のずれとに基づいて、未来の発音イベント（ノートオン）の発音時刻と音量（ベロシティ）とを決定するとともに、消音イベント（ノートオフ）の消音時刻を決定する。
【０１１４】
ステップＳ６９では、スケジューリングを発行する。つまり、たとえばｍｉｄｉＥｖｅｎｔＯｕｔ（ｔｉｍｅ，ｎｏｔｅ，ｖｅｌｏｃｉｔｙ）のような関数をコールして、ＲＡＭ１６に設けられるバッファに、スケジューリングに従った時刻（ｔｉｍｅ），音高（ｎｏｔｅ）および音量（ｖｅｌｏｃｉｔｙ）に関する情報を書き込む。そして、その時刻になったとき、割り込み処理によって、その音高および音量に関する情報に基づいて生成されたＭＩＤＩデータ（音響情報）が、ＭＩＤＩインタフェース３０を介してＭＩＤＩ音源３２に与えられる。したがって、スピーカ４０からインタラクティブ演奏のサウンドが出力される。そして、ステップＳ７１で、演奏拍カウンタを進めて（インクリメントして）、ステップＳ４５へ戻る。
【０１１５】
他方、ステップＳ５３で“ＮＯ”であれば、つまり、拍打を検出できない場合には、図１３のステップＳ７３で、次拍の許容時間範囲を超えているか否かを判断する。このステップＳ７３で“ＮＯ”であれば、つまり、次拍の許容範囲である場合には、図１２のステップＳ４７へ戻る。
【０１１６】
一方、ステップＳ７３で“ＹＥＳ”であれば、つまり、次拍の許容時間範囲を超えても拍打を検出できない場合には、続くステップＳ７５で、自走拍カウンタに１を加える。そして、ステップＳ７７で、自走拍カウンタが指定最大自走拍よりも大きく、かつ、演奏拍カウンタがその小節の最終拍に等しいか否かを判断する。ここで、指定最大自走拍は、ユーザが指定することができる自走演奏させる拍数である。また、演奏拍カウンタが小節の最終拍に等しいか否かも同時に判断するようにしているので、自走演奏は小節の終わりまで進められることとなる。
【０１１７】
このステップＳ７７で“ＮＯ”であれば、ステップＳ７９で、予測した時刻での想定拍打をセットし、図１２のステップＳ６３へ進む。つまり、予想打鍵時刻で拍打があったものとしてスケジューリングされ、したがって、引き続き次の拍までの演奏が行われることとなる。
【０１１８】
一方、ステップＳ７７で“ＹＥＳ”であれば、つまり、指定最大自走拍数よりも多く自走演奏し、かつ、演奏拍カウンタが小節の最終拍に相当する場合には、‘間’が挿入されたものと見なして、自走演奏を停止し、続くステップＳ８１で、イベント入力のチェックを行う。
【０１１９】
次に、ステップＳ８３で、停止情報が入力されたか否かを判断し、このステップＳ８３で“ＹＥＳ”であれば、つまり、ユーザによって停止情報が入力された場合には、この演奏処理を終了するための処理を実行して、図９のメインフローにリターンする。
【０１２０】
一方、ステップＳ８３で“ＮＯ”であれば、つまり、停止情報が検出されない場合には、続くステップＳ８５で、ユーザの操作による拍打の入力のチェックを行い、ステップＳ８７で、拍打が検出されたか否かを判断する。
【０１２１】
ステップＳ８７で“ＮＯ”であれば、つまり、拍打が検出されなかった場合には、ステップＳ８１へ戻って、再びユーザの操作によるイベント入力をチェックする。このように、ユーザから何らかの操作を検出するまでは、演奏が停止される。
【０１２２】
一方、ステップＳ８７で“ＮＯ”であれば、つまり、ユーザの操作による拍打を検出した場合には、図１２のステップＳ６７へ進んで、スケジューリングを行う。したがって、停止前の続きからの演奏が再開されることとなる。
【０１２３】
この実施例によれば、簡易な操作で、自分の好きなように様々な演奏表現を楽しむことができる。また、名演奏から抽出した演奏表現パラメータ付演奏データを用いれば、名演奏を下敷きとして、演奏表現を行うことができる。したがって、演奏技術が伴わない者であっても、情緒豊かな演奏表現を行うことが可能である。
【０１２４】
なお、合成演奏（モーフィング等）モードおよび伴奏演奏モードに関しての処理の流れに関するフロー図は特に示していないが、いずれも図１２および図１３に示した通常モードのインタラクティブ演奏のフロー図とほぼ同様にして処理され得る。
【０１２５】
モーフィングモードでは、図１２のたとえばステップＳ５１の拍打チェックの処理ステップで、スライダ３８の操作量（合成割合）も取得するようにすればよい。そして、ステップＳ５９，Ｓ６３，Ｓ６５，Ｓ６７等では、その合成割合に基づいて、各演奏表情パラメータの算出およびスケジューリング等が行われる。なお、モーフィングモードの詳細モードで、スライダ３８にテンポを設定した場合には、拍打操作は行われないので、拍打の検出の判断処理や受付範囲との関係の判断処理等（たとえばステップＳ５３，Ｓ５５，Ｓ５７，Ｓ７３等）は実行されない。
【０１２６】
また、伴奏モードでも、図１２のたとえばステップＳ５１で、ＭＩＤＩ鍵盤３４のキー３６からの入力情報（ＭＩＤＩデータ）を取得するようにすればよい。そして、その打鍵タイミングで拍打があったものと判断し、また、そのベロシティ値を音量の入力として利用すればよい。また、ステップＳ６５およびＳ６７では、たとえば伴奏音のみのスケジューリングを行うようにする。また、伴奏モードは、ユーザのメロディ入力に追従する形で伴奏を自動演奏するものであるので、自走演奏に関する処理（たとえばステップＳ７５，Ｓ７７およびＳ７９）は、実行しないようにするのが望ましい。
【０１２７】
なお、上述の実施例では、モーフィングモードでの合成割合を入力する第２の操作手段に、一例として、ＭＩＤＩ鍵盤３４のスライダ３８を適用した場合を説明したが、他の実施例では、この第２操作手段には他のデバイスが適用されてもよい。たとえば、ポインティングデバイス２６をこの第２操作手段に適用することができる。この場合、ポインティングデバイス２６によって入力される位置座標情報によって合成割合を設定することができる。また、この場合、たとえば、Ｘ軸に対する座標をたとえばテンポの合成割合の入力に適用し、Ｙ軸に対する座標を他のパラメータ（たとえば音量または音のずれ等）の合成割合の入力に適用することによって、直感的な入力も行うことができる。
【０１２８】
また、上述の実施例では、次拍の受付許容範囲を超えても、次の拍打が検出されなかった場合に、これを‘間’と判断するようにしていたが、‘間’の挿入方法は適宜変更され得る。たとえば、ＭＩＤＩ鍵盤３４のキー３６等が押されたままで、予測打鍵時刻が過ぎた場合、これを‘間’と判断するようにしてもよい。この場合、たとえばキー３６が離されて次の打鍵ないし拍打を検出すると同時に演奏を再開するようにしてもよい。
【図面の簡単な説明】
【図１】この発明の一実施例の音楽演奏システムを示す図解図である。
【図２】図１実施例においてユーザの手振り動作による入力を説明するための図解図である。
【図３】演奏表情パラメータ付演奏データの一例を示す図解図である。
【図４】演奏表情パラメータ無しの演奏データの一例を示す図解図である。
【図５】ＰＩＤ制御によるテンポ計算の一例を示す図解図である。
【図６】スケジューリングの様子の一例を示す図解図である。
【図７】拍打の検出の様子の一例を示す図解図である。
【図８】モーフィングモードで適用される２つの演奏データの一例を示す図解図である。
【図９】図１実施例の音楽演奏システムの動作の一例を示すフロー図である。
【図１０】図８における演奏データ読込み処理の動作の一例を示すフロー図である。
【図１１】楽譜データ（ＭｕｓｉｃＸＭＬ形式）の一例を示す図解図である。
【図１２】図８のプレイ処理におけるインタラクティブ演奏処理の動作の一部の一例を示すフロー図である。
【図１３】図８のプレイ処理におけるインタラクティブ演奏処理の動作の他の一部の一例を示すフロー図である。
【符号の説明】
１０  …音楽演奏システム
１２  …ＣＰＵ
１４  …ＲＯＭ
１６  …ＲＡＭ
１８  …ＨＤＤ
２２  …表示装置
２４  …キーボード
２６  …ポインティングデバイス
３２  …音源
３４  …ＭＩＤＩ鍵盤
３６  …キー
３８  …スライダ
４０  …スピーカ
４２  …センサ
【図１】
2004233573.tif 000007
【図２】
2004233573.tif 000008
【図３】
2004233573.tif 000009
【図４】
2004233573.tif 000010
【図５】
2004233573.tif 000011
【図６】
2004233573.tif 000012
【図７】
2004233573.tif 000013
【図８】
2004233573.tif 000014
【図９】
2004233573.tif 000015
【図１０】
2004233573.tif 000016
【図１１】
2004233573.tif 000017
【図１２】
2004233573.tif 000018
【図１３】
2004233573.tif 000019