(57)【要約】【課題】楽器の演奏スキルを持たない音楽初心者や子供から楽器愛好者層までが、共に気軽にバンド演奏に参加でき、アンサンブルの本質的な面白さを体験できるような演奏支援を行える装置を提供することを目的とする。【解決手段】入力手段から入力される演奏情報に基づいて逐次演奏テンポを検出し、検出した演奏テンポに基づいて楽曲の進行を管理する基準クロックとなるテンポクロックを出力する。楽曲の進行に応じて変換テーブルをどのように切り替えていくかを規定するアシスト定義シーケンスデータを記憶しておく。入力される演奏情報を、指定された変換テーブルに基づいて変換して出力する。楽曲の進行位置がアシスト定義シーケンスデータで変換テーブルを切り替えるべきと指定されている位置に達したとき、前記変換に用いる変換テーブルを、アシスト定義シーケンスデータで指定されている変換テーブルに切り替える。【選択図】  図１
2005049473.tif 000002
【特許請求の範囲】
【請求項１】
演奏を支援する演奏支援装置であって、
演奏情報を入力する入力手段と、
前記入力手段から入力された演奏情報に基づいて、演奏テンポを逐次検出乃至更新するテンポ追従手段と、
前記逐次検出乃至更新された演奏テンポに基づいて、楽曲の進行を管理する管理手段と、
前記楽曲の進行に応じて前記入力された演奏情報を変換する変換手段と、
前記楽曲の進行に応じて、前記演奏情報の変換の態様を切り替える切り替え手段と、
前記変換後の演奏情報を出力する出力手段とを備えることを特徴とする演奏支援装置。
【請求項２】
請求項１に記載の演奏支援装置において、
前記変換の態様を規定する変換情報を時系列に記憶した記憶手段を備え、
前記切り替え手段は、前記楽曲の進行状態に対応した変換情報を前記記憶手段から読み出し、読み出した変換情報に基づいて前記演奏情報の変換の態様を切り替えることを特徴とする演奏支援装置。
【請求項３】
演奏を支援する演奏支援装置であって、
１乃至複数系列の演奏情報をそれぞれ入力する入力手段と、
前記入力手段から入力された１乃至複数系列の演奏情報のうち少なくともいずれか１つの系列の演奏情報に基づいて、演奏テンポを逐次検出乃至更新するテンポ追従手段と、
前記逐次検出乃至更新された演奏テンポに基づいて、楽曲の進行を管理する管理手段と、
前記楽曲の進行に応じて前記入力された１乃至複数系列の演奏情報をそれぞれ個別に変換する変換手段と、
前記変換した演奏情報をそれぞれ出力する出力手段とを備えることを特徴とする演奏支援装置。
【請求項４】
演奏を支援する演奏支援装置であって、
１乃至複数系列の演奏情報をそれぞれ入力する入力手段と、
前記入力手段から入力された１乃至複数系列の演奏情報のうち少なくともいずれか１つの系列の演奏情報に基づいて、演奏テンポを逐次検出乃至更新するテンポ追従手段と、
前記逐次検出乃至更新された演奏テンポに基づいて、楽曲の進行を管理する管理手段と、
前記楽曲の進行に応じて前記入力された１乃至複数系列の演奏情報をそれぞれ個別に変換する変換手段と、
前記楽曲の進行に応じて前記１乃至複数系列の演奏情報の変換の態様をそれぞれ個別に切り替える切り替え手段と、
前記変換した演奏情報をそれぞれ出力する出力手段とを備えることを特徴とする演奏支援装置。
【請求項５】
請求項４に記載の演奏支援装置において、
前記変換の態様を規定する変換情報を前記１乃至複数系列毎に時系列に記憶した記憶手段を備え、
前記切り替え手段は、各系列毎に前記楽曲の進行状態に対応した変換情報を前記記憶手段から読み出し、読み出した変換情報に基づいて各系列毎に前記演奏情報の変換の態様を切り替えることを特徴とする演奏支援装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、演奏支援装置に関し、詳しくは、ユーザの入力する演奏情報を変換することによりユーザの演奏を支援する技術に関する。
【０００２】
【従来の技術】
従来、ユーザの演奏を支援する電子楽器の機能として、いわゆるマイナスワン機能が知られている（例えば、特許文献１参照）。これは、自動演奏中に、演奏入力のあったパートの自動演奏を所定期間中止する機能（パートオフ機能とも呼ばれる）である。この機能により、オフしたパートのみマニュアル演奏して複数パートの演奏を楽しむことができる。
【０００３】
また、演奏ガイド機能が知られている（例えば、特許文献２参照）。これは、音高表示部と押鍵位置指示部とを有し、選択した練習曲の押鍵タイミングの前や後に誤った押鍵操作を行った場合に、音高表示部で音高を表示したり、押鍵位置指示部により押鍵位置を指示するものである。
【０００４】
さらに、音楽知識の乏しい演奏者が、音楽理論を気にしないで、自由に演奏を楽しめるように、入力される演奏信号を音楽理論に沿ったものに変換する装置が知られている（例えば、特許文献３参照）。
【０００５】
【特許文献１】特開平５−１７３５６１号公報
【特許文献２】特開平１０−９７１８１号公報
【特許文献３】特開平５−２７７５７号公報
【０００６】
【発明が解決しようとする課題】
上記特許文献１，２に記載のマイナスワン機能や演奏ガイド機能では、演奏者の演奏テンポに関係なく自動演奏のシーケンスが進行するため、演奏者は該自動演奏のテンポに追従していくことが最低限必要である。そのような中では、演奏者はテンポを追うことに気を取られ、演奏そのものに集中することが難しいだけでなく、バンドアンサンブルのような他の演奏者とのリアルタイムなコラボレーションから生まれる面白さを感得するのは不可能だった。また、演奏者の入力があるまで楽曲の進行を停止するものもあるが、演奏する上で重要な要素であるテンポを切り捨てたものであるため、楽曲の演奏という面では好ましくない。
【０００７】
一方、上記特許文献３に記載の技術では、入力される演奏信号を、一律にコード構成音や、指定された調のスケールトーンに変換してしまい、演奏者の感性を十分に生かすことができない場合があった。
【０００８】
この発明は、楽器の演奏スキルを持たない音楽初心者や子供から楽器愛好者層までが、共に気軽にバンド演奏に参加でき、アンサンブルの本質的な面白さを体験できるような演奏支援を行える装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
この目的を達成するため、この発明では、入力手段から入力された演奏情報に基づいて、演奏テンポを逐次検出乃至更新するようにし、その演奏テンポに基づいて、楽曲の進行を管理する。楽曲の進行に応じて入力された演奏情報は変換されて出力されるが、その変換の態様を、楽曲の進行に応じて切り替えるようにする。
【００１０】
複数系列の演奏情報入力がある場合、それら複数系列の演奏情報のうち少なくともいずれか１つの系列の演奏情報に基づいて演奏テンポを検出する。演奏情報の変換は、それら複数系列について個別に行う。演奏情報の変換の態様の切り替えも、複数系列について個別に行うようにするとよい。
【００１１】
なお、この発明は、下記の構成（１）〜（４）を含むものである。
【００１２】
（１）演奏を支援する演奏支援装置であって、演奏情報を入力する入力手段と、前記入力手段から入力される演奏情報に基づいて逐次演奏テンポを検出し、検出した演奏テンポに基づいて楽曲の進行を管理する基準クロックとなるテンポクロックを出力する手段と、楽曲の進行に応じて、演奏情報の変換に用いる変換テーブルをどのように切り替えていくかを規定するアシスト定義シーケンスデータを記憶する手段と、前記入力手段から入力される演奏情報を、指定された変換テーブルに基づいて変換して出力する出力手段と、前記テンポクロックにより管理される楽曲の進行位置が、前記アシスト定義シーケンスデータで前記変換テーブルを切り替えるべきと指定されている位置に達したとき、前記出力手段で用いる変換テーブルを、前記アシスト定義シーケンスデータで指定されている変換テーブルに切り替える手段とを備えることを特徴とする演奏支援装置。
【００１３】
（２）演奏を支援する演奏支援装置であって、演奏情報を入力する入力手段と、前記入力手段から入力される演奏情報に基づいて逐次演奏テンポを検出し、検出した演奏テンポに基づいて楽曲の進行を管理する基準クロックとなるテンポクロックを出力する手段と、楽曲の進行に応じて、演奏情報のノートナンバの変換に用いる変換テーブルをどのように切り替えていくかを規定するアシスト定義シーケンスデータを記憶する手段と、楽曲の進行に応じた調性の移り変わりを規定する調性シーケンスデータを記憶する手段と、前記入力手段から入力される演奏情報のノートナンバを、その時点の楽曲の調性および指定された変換テーブルに基づいて変換して出力する出力手段と、前記テンポクロックにより管理される楽曲の進行位置が、前記アシスト定義シーケンスデータで前記変換テーブルを切り替えるべきと指定されている位置に達したとき、前記出力手段で用いる変換テーブルを、前記アシスト定義シーケンスデータで指定されている変換テーブルに切り替える手段とを備えることを特徴とする演奏支援装置。
【００１４】
（３）演奏を支援する演奏支援装置であって、演奏情報を入力する入力手段と、マニュアル切り替えメッセージと該メッセージに対応する演奏情報の変換に用いる変換テーブルとを記憶する記憶手段と、前記入力手段から入力される演奏情報を、指定された変換テーブルに基づいて変換して出力する出力手段と、前記変換テーブルの切り替えを指示するマニュアル切り替えメッセージを発生する手段と、発生したマニュアル切り替えメッセージに対応する変換テーブルを前記記憶手段から読み出し、前記出力手段で用いる変換テーブルを、該読み出した変換テーブルに切り替える手段とを備えることを特徴とする演奏支援装置。
【００１５】
（４）上記（１）から（３）の何れか１つに記載の演奏支援装置において、前記変換テーブルは、前記入力される演奏情報の順番に対応して出力されるべきノートナンバの並びデータを含み、前記出力手段は、前記変換テーブルに基づいて、入力された演奏情報の順番に前記ノートナンバの並びからノートナンバを取り出して出力するものであることを特徴とする演奏支援装置。
【００１６】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１７】
図１は、この発明の実施の形態に係る演奏支援装置の概略構成を示す。演奏支援装置は、楽器１０１からの演奏信号を受け付ける複数の入力ポート（ＭＩＤＩＩＮ等）１０２、テンポトレースモジュール１０３、演奏アシストエンジン１０４、制御モジュール１０５、記憶手段１０６、および音源１０７を備えている。音源１０７から出力される楽音信号は、ミキサ１０８によりミキシングされ、アナログ楽音信号に変換されて、サウンドシステムにより放音される。実際には、１０２〜１０７の構成はパーソナルコンピュータ（ディスプレイやマウスなどを備えたもの）に所定のソフトウェアをインストールして動作させることにより実現している。また、不図示だが、絶対時刻をカウントするタイマを備えているものとする。
【００１８】
テンポトレースモジュール１０３は、入力ポート１０２から入力される演奏情報の入力時間間隔を計測し、逐次演奏テンポの更新・変更を行う。演奏テンポの更新・変更に、どの楽器パートからの入力を使用するかは、後述する楽曲定義データ中のテンポマスタの情報による。ここではドラムのパートをテンポマスタとする例で説明する。従って、テンポトレースモジュール１０３は、ドラムのパートの演奏情報から演奏テンポを抽出するものとする。なお、テンポトレースモジュール１０３は、複数の入力ポート（楽器）からの演奏信号を受け付け、これらを元に演奏テンポを抽出してもよい。例えば、ドラムとベースからの演奏入力の平均を取って演奏テンポとしてもよいし、全楽器からの演奏入力を受け付け、優先順位を付けて排他的に参照してもよい。例えば、ドラム＞ベース＞ギター、キーボード、ブラス、というように優先順位を付け、ドラムからの演奏入力があるときはその演奏入力から抽出される演奏テンポを使用し、ドラムの演奏入力が無いときはベースからの演奏入力からテンポを抽出し、さらにベースの入力も無いときはギターなどの演奏入力からテンポを抽出する、という具合である。
【００１９】
テンポトレースモジュール１０３は、抽出した演奏テンポに基づくテンポクロック（タイムコード）を演奏アシストエンジン１０４に供給する。テンポクロックは、演奏そのものでなくアシスト内容の切り替えに用いられるものであるため、通常の自動演奏装置の同期信号のような高精度な分解能は必要がない。例えば、９６分音符程度の分解能があれば時間精度としては十分であり、この実施形態でも９６分音符を１単位とした相対時間系でテンポクロックを表現している。
【００２０】
演奏アシストエンジン１０４は、各パートの演奏情報を入力し、アシスト定義情報などに基づいて変換して出力する。演奏アシストエンジン１０４の機能および動作については後に詳しく説明する。制御モジュール１０５は、本演奏支援装置全体の動作を制御する。記憶手段１０６は、演奏する楽曲定義情報などを記憶する。演奏アシストエンジン１０４から出力される変換後の演奏情報は、音源１０７に入力し、音源１０７はそれらの演奏情報および制御モジュール１０５から与えられる音色設定情報および効果設定情報に応じて楽音信号を発生しミキサ１０８により放音する。
【００２１】
図２は、演奏アシストエンジン１０４の内部構成を示す。各エンジン１〜ｎは、それぞれ図１の複数の入力ポート１０２に対応しており、従って１つの楽器パートから出力される演奏情報は１つのエンジンで変換され出力される。図２では、エンジンｎの内部構成を詳細に記載した。他のエンジンも同様の構成とする。
【００２２】
分離部２０１は、入力した演奏情報を演奏イベントごと、あるいは演奏イベントによってはパラメータごとに、分離する処理を行う。複数の変換モジュール２０２は、入力されうる演奏イベントごとに設けられ、演奏イベントによってはパラメータごとに設けられる。入力されうる演奏イベントとしては、例えばノートオン／オフ、ピッチベンド、モジュレーションホイール、エクスプレッションペダルなどがある。各変換モジュール２０２は、入力した演奏イベント（例えばＭＩＤＩメッセージ）やパラメータを、アシスト制御部２０３からの指示に基づいて、変換して出力する。各変換モジュール２０２から出力される変換後の演奏情報は、再構成部２０４で演奏情報として再構成され出力される。変換モジュール２０２は、典型的にはアシスト制御部２０３から与えられる変換テーブルを用いて、入力した演奏情報を変換する。この変換テーブルは、演奏情報の変換の態様を規定するものである。アシスト制御部２０３は、テンポトレースモジュール１０３から与えられるテンポクロックに基づいて、楽曲の進行を管理する。特に、アシスト制御部２０３は、楽曲の進行に応じて各変換モジュール２０２でそれぞれ使用する変換テーブルを切り替えていく。これにより、楽曲の進行に応じた変換態様で演奏情報が変換される。
【００２３】
図３は、変換モジュールの典型的な例を示す。図３では図２の分離部２０１および再構成部２０４は省略した。３０１〜３０３はそれぞれ変換モジュール２０２に対応し、アシスト制御部３０４は図２の２０３に対応する。図３では、入力した演奏情報をノートオンイベントとそれ以外のイベントに分離し、さらにノートオンイベントはノートナンバとベロシティとに分離して、それぞれの変換モジュールに入力させている。変換モジュール３０１は、入力したノートナンバをノート変換テーブル３１１に基づいて変換して出力する。ノート変換テーブル３１１は、ノート変換を行うためのテーブルであり、アシスト制御部３０４からの指示に基づいて楽曲の進行に応じて切り替わっていく。変換モジュール３０２は、入力したベロシティをベロシティ変換テーブル３２１に基づいて変換して出力する。ベロシティ変換テーブル３２１は、ベロシティ変換を行うためのテーブルであり、アシスト制御部３０４からの指示に基づいて楽曲の進行に応じて切り替わっていく。ノートオン以外のパラメータやメッセージは、変換モジュール３０３を介してスルーされて出力され、またはカットされる。このようにして、楽曲の進行に応じたノートナンバやベロシティの変換が実現される。
【００２４】
図４は、変換モジュールにおける調性（コード情報）の管理を説明するための構成図である。変換モジュール４０１およびアシスト制御部４０２は図１〜３で説明したものと同じものであるが、ここでは特に楽曲の進行に応じて各変換モジュールにおける調性を管理する点を説明する。
【００２５】
まず制御モジュール１０５は、▲１▼に示すようにアシスト定義シーケンスおよび調性シーケンスをアシスト制御部４０２に転送する。これらのシーケンスの詳細は次の図５で説明するが、アシスト定義シーケンスは演奏情報の変換テーブルを楽曲の進行に応じてどのように切り替えていくかを示すシーケンスデータ（各変換モジュール毎に複数ある）であり、調性シーケンスは楽曲の進行に応じて調性をどのように切り替えていくかを示すシーケンスデータ（楽曲に１つある）である。制御モジュール１０５は、▲２▼に示すようにテンポマスタとなるパート番号（入力ポート番号）をテンポトレースモジュール１０３に通知する。テンポトレースモジュール１０３は、通知されたテンポマスタとなるパートの入力ポートから入力される演奏情報に応じて演奏テンポを抽出し、該演奏テンポに基づくテンポクロックを、▲３▼に示すようにアシスト制御部４０２に供給する。
【００２６】
アシスト制御部４０２は、各変換モジュール４０１のアシスト定義シーケンスに基づいて当該変換モジュール４０１に最初に使用する変換テーブルを供給し、また調性シーケンスに基づいて楽曲の最初のコード情報（調性）を変換モジュール４０１に供給する。アシスト制御部４０２は、▲４▼に示すように、楽曲の進行に応じて、逐次、調性シーケンスに基づくコード情報を変換モジュール４０１に供給する。また、アシスト制御部４０２は、▲５▼に示すように、アシスト定義シーケンスに基づいてその規定のタイミングよりも前に次の変換テーブルを転送するように制御モジュール１０５にリクエストを出す。制御モジュール１０５は、▲６▼に示すように、該リクエストに応じて変換テーブルをアシスト制御部４０２に渡す。アシスト制御部４０２は、▲７▼に示すように、その変換テーブルをアシスト定義シーケンスで規定されるタイミングで変換モジュール４０１に供給する。変換モジュール４０１は、供給されたコード情報および変換テーブルに基づいて、入力した演奏情報を変換して出力する。
【００２７】
図５は、記憶手段１０６に記憶され楽曲の指定に応じて読み出されて使用される楽曲定義情報の構造を示す。楽曲定義情報５０１は、楽曲名５１１、演奏時間長５１２、調性シーケンス５１３、およびパート定義情報５１４などの情報からなる。楽曲名５１１は、当該楽曲の名称である。演奏時間長５１２は、前述したテンポクロックの単位でカウントした当該楽曲の演奏時間であり、例えば４分の４拍子で３２小節分の曲なら「３０７２」となる。調性シーケンス５１３は、楽曲の進行に応じたコード情報（調性）を規定するシーケンスデータである。調性シーケンス５１３は、５１９に示すように、曲の先頭からの相対時間ｔとその時点ｔから適用されるコード情報とを並べたデータである。
【００２８】
パート定義情報５１４は、パート名５２１、音色情報等５２２、テンポマスタ５２３、およびアシスト定義シーケンスデータ５２４などからなる。パート定義情報５１４は、当該楽曲のパートの数だけ設けられる。パート名５２１は、パートの名称を示し、例えば「鍵盤」や「ドラム」などである。音色情報等５２２は、そのパートの音色情報などである。テンポマスタ５２３は、当該パートがテンポマスタになるか否かを示すフラグである。テンポマスタ５２３がＴＲＵＥの場合、当該パートがテンポマスタになる（すなわち、当該パートに割り当てられた入力ポートからの演奏入力に基づいて、テンポトレースモジュール１０３が演奏テンポを更新・変更する）。
【００２９】
アシスト定義シーケンスデータ５２４は、当該パートで楽曲の進行に応じて変換テーブルをどのように切り替えていくかを示すシーケンスデータである。アシスト定義シーケンスデータ５２４は、１つのパートに複数あってもよい。アシスト定義シーケンスデータ５２４は、モード名５３１、ノートナンバ５３２、ベロシティ５３３、コントロールチェンジ５３４、ピッチベンド５３５、アフタータッチ５３６などのデータを備える。モード名５３１は、当該アシスト定義シーケンスデータ５２４のモードを示す名称である。ここでは、１つのパートに対してモード名が「モード１」〜「モード４」の４つのアシスト定義シーケンスデータ５２４を備えるものとし、後述する図７の手順で各パート毎に上記４つのモードから１つを選択して、当該パートで使用するアシスト定義シーケンスデータ５２４を決定するようにしている。
【００３０】
アシスト定義シーケンスデータ５２４中、ノートナンバ５３２からアフタータッチ５３６までは、それぞれ、そのパラメータに関する変換テーブルとしてどのようなテーブルを使用していくかを示すシーケンスデータである。例えばノートナンバ５３２は、５３９に示すように、曲の先頭からの相対時刻ｔとその時刻ｔから使用する変換テーブルのＩＤとを並べたデータである。各変換テーブルのＩＤは、アシストテーブル５４０のＩＤ５４１で示す。そのＩＤに対応して変換テーブルのテーブルデータ５４２が保存されている。他の５３３〜５３６も、同様の形式のシーケンスデータである。
【００３１】
図６は、変換テーブル（具体的には図５のテーブルデータ５４２）の例を示す。図６（ａ）は、ノート変換用のテーブルの例（図示したのはテーブル中の一部のデータのみ）である。横軸のＤｅｇｒｅｅは、コード情報（調性）を示す。縦軸のＮｏｔｅ＃は、入力演奏情報のノートナンバを示す。Ｄｅｇｒｅｅは、調性を度数表示したものである。楽曲の進行に応じて、ある時点で調性がＩＶ度であり、演奏情報としてノートナンバ７５（Ｄ＃）が入力したとすると、図６（ａ）の変換テーブルに基づいて２度ピッチが上げられて出力されることになる。このような変換テーブルにより、ノートナンバに関する種々の変換が実現できる。例えば、最上級者用のモードの変換テーブルでは、図６（ａ）の変換テーブルの表中の値をすべて「０」とすれば、ユーザが演奏したノートナンバがそのまま出力されるようにできる。逆に、初心者用のモードの変換テーブルでは、図６（ａ）の変換テーブルの表中の値を、初心者が誤った音高の演奏入力を行ったとしても音楽的に違和感がないような音高に変換して出力されるようにできる。
【００３２】
図６（ｂ）から（ｄ）は、ノート以外のベロシティやその他のコントロールチェンジなどの変換テーブル例を示す。図６（ｂ）は、入力した演奏情報の値をそのまま出力する無変換の例である。図６（ｃ）は、入力演奏情報の値が０のときは出力値も０とし、入力値が０以外のときは定数６４を出力する定数化（クリッピング）の例である。初心者は、例えば鍵盤の鍵のタッチが不安定になることが多いので、タッチを表すベロシティに対してこのようなクリッピングを施すことにより、入力したベロシティが弱すぎるあるいは強すぎる場合も一定値に強制的に合わせることができる。図６（ｄ）は、非線形変換の変換例を示す。このような変換テーブルは、例えばある範囲では値が極端に変化し、中間的な範囲ではそれほど変化しないような出力としたい場合に利用される。このような変換テーブルを用いることにより、表現力を向上させるアシストが行える。
【００３３】
図７は、主に制御モジュール１０５の動作を示すフローチャートである。なお、このフローチャートはディスプレイ上に表示される表示画面を含むものとする。本演奏支援装置の処理がスタートすると、ステップ７０１で音源１０７やミキサ１０８の初期化を行い、ステップ７０２で各モジュール（図１の１０２〜１０５など）の初期化を行う。各モジュールの初期化により、テンポトレースモジュール１０３および演奏アシストエンジン１０４も初期化されて起動される。その後は、ステップ７０３で、終了指示があるまで適宜イベントに応じた処理が実行される。制御モジュール１０５は、ステップ７１１で初期化され動作を開始する。まず制御モジュール１０５は、初期画面７１２をディスプレイ上に表示する。
この初期画面７１２では、楽曲選択ボタン７５１、パート設定ボタン７５２、および終了ボタン７５３が表示される。ユーザが終了ボタン７５３をマウスなどでクリックすると、終了指示が発行され、処理終了する。
【００３４】
楽曲選択ボタン７５１がクリックされると、制御モジュール１０５は、楽曲選択画面７２１を表示する。この画面では楽曲の名称の一覧と、決定ボタン７５３および戻るボタン７５４が表示される。なお、ここでは楽曲１、楽曲２、…のように表示する例を示したが、実際には曲名で表示するものとする。ユーザが楽曲選択画面７２１でいずれかの楽曲名を選択し決定ボタン７５３をクリックすると、制御モジュール１０５は、ステップ７２２で楽曲が変更されたか否か判定し、変更がなければ再び楽曲選択画面７２１の待ち状態に戻る。楽曲が変更されていたら、ステップ７２３でパート設定をクリアし、ステップ７２４で演奏待機の状態に入り、楽曲選択画面７２１の待ち状態に戻る。戻るボタン７５４がクリックされたら、初期画面７１２に戻る。
【００３５】
初期画面７１２でユーザがパート設定ボタン７５２をクリックすると、制御モジュール１０５は、ステップ７３１で楽曲が選択されているか否か判定し、選択済みであれば、入力ポート選択画面７３３を表示する。この画面７３３でユーザがいずれかの入力ポートを選択し、決定ボタン７５５をクリックすると、制御モジュール１０５は、当該入力ポートに接続する楽器パートの選択画面７３４を表示する。この画面７３４でユーザがパートを選択し決定ボタン７５７をクリックすると、制御モジュール１０５は、モード選択画面７３５を表示する。なお、ここではモード名として「モード１」から「モード４」を表示しているが、実際には例えば「初心者モード」、「中級者モード」、「上級者モード」、あるいは「最上級者モード」のように、そのパートを演奏する者が自分に合ったモードを選べるような名称とするのがよい。
【００３６】
モード選択画面７３５でユーザがモードを選択し決定ボタン７５９をクリックすると、制御モジュール１０５は、ステップ７３６でモードの設定が変更されたか否か判定し、変更されたときは、ステップ７３７で当該入力ポートに対応する演奏アシストエンジンを初期化し、ステップ７３８で演奏待機状態に入った後、モード選択画面７３５の待ち状態に戻る。モードの変更がないときは、ステップ７３６からモード選択画面７３５の待ち状態に戻る。戻るボタン７６０によりパート選択画面７３４に戻り、戻るボタン７５８により入力ポート選択画面７３３に戻り、戻るボタン７５６により初期画面７１２に戻る。ステップ７３１で楽曲が未選択であったときは、ステップ７３２で警告画面を表示して、初期画面７１２に戻る。
【００３７】
以上のような処理により、何の楽曲を演奏し、各入力ポートに対応する楽器（パート）は何であって、かつ、各入力ポートへのアシストのモードは何かを、設定する。
【００３８】
図８（ａ）は、図７のステップ７０２により初期化・起動されるテンポトレースモジュール１０３の動作を示すフローチャートである。ステップ８０１で各モジュールの初期化が発行され、ステップ８０２で図７で説明したような楽曲の選択および各パートの設定が行われると、テンポトレースモジュール１０３は、ステップ８０３で、テンポマスタパート（テンポマスタ５２３がＴＲＵＥのパート）の入力ポートへの演奏入力を待機する。楽曲選択やパート設定が為され、テンポマスタパートの入力ポートへの演奏入力が検出されると、ステップ８０４で、その演奏入力が規定のプリカウント数に至ったか否か判定する。規定数未満のときは、ステップ８０５でプリカウント数を加算し、再びテンポマスタパートの入力ポートへの演奏入力待ち状態となる。プリカウント数が規定数に至ったときは、ステップ８０６で初期テンポを確定する。
【００３９】
図８（ｂ）は、プリカウントの例を示す。この図のパターンに従って５つの演奏入力をプリカウントすることが予め決められているものとする。従って、プリカウントとして入力された５つの各演奏入力間の時間間隔ｔ１，ｔ２，ｔ３，ｔ４を求め、ステップ８０６で、例えば、ｔｅｍｐｏ＝（ｔ１／２＋ｔ２／２＋ｔ３＋ｔ４）／４の算出式で初期テンポを求めることができる。なお、プリカウントはこの例に限らず別のパターンを用いてもよいし、算出式も別の式を用いてよい。例えば、最後の時間間隔ｔ４を初期テンポとして採用してもよい。
【００４０】
ステップ８０６の初期テンポ確定の後、ステップ８０７で、確定した初期テンポに応じてテンポクロックのカウントを開始し、他モジュールへのテンポクロックの供給を開始する。なお、テンポクロックは楽曲の先頭タイミングからカウントを開始するようになっている。例えば、図８（ｂ）のプリカウントの例であれば２小節分のプリカウント区間の後に楽曲を開始することになるので、プリカウントの最後の演奏入力の後に４分休符分の時間をおいてテンポクロックの値が０になるよう当該クロックの供給を開始するようになっている。ステップ８０７の後、ステップ８０８で演奏テンポに応じたタイミングで順次テンポクロックを出力し、ステップ８０９でテンポマスタパートの入力ポートへの演奏入力に基づいて演奏テンポ値を更新・変更する。ステップ８１０で楽曲の終了か否か判定し、そうでなければステップ８０８からの処理を繰り返す。楽曲終了のときは、ステップ８０２に戻る。楽曲の終了は、テンポクロックが当該楽曲の演奏時間長値（図５の５１２）に達した場合や、制御モジュール１０５のユーザインタフェース画面上で不図示の演奏停止ボタンが押された場合に、楽曲終了とみなしてテンポクロックのカウントを停止する。
【００４１】
なお、ステップ８０９の処理は、テンポマスタパートの各演奏入力の時間間隔を演奏テンポの現在値（４分音符の時間長）を基準として評価し、その時間間隔が全音符、付点２分音符、２分音符、付点４分音符、４分音符、８分音符、または１６分音符のどれに近いかを評価し、その評価に応じて基準となる４分音符の時間長を調整し、その４分音符の時間長に基づいて演奏テンポを決定する。これにより、ユーザのテンポマスタパートの演奏に応じたテンポで全体の演奏を行うことができる。
【００４２】
図９は、演奏アシストエンジン１０４の主としてアシスト制御部２０３（３０４，４０５）の動作を示すフローチャートである。ステップ９０１で各モジュールの初期化が発行され、ステップ９０２で図７で説明したように楽曲の選択とパートの設定が為されると、アシスト制御部２０３では、まずステップ９０３で楽曲やパートの設定に変更があったか否か判定する。変更があったときは、ステップ９０４で、その変更に応じてアシスト定義シーケンスや調性シーケンスを更新する。次にステップ９０５でテンポクロックの供給があるか否か判定し、無ければステップ９０２に戻る。テンポクロックの供給があれば、ステップ９０６で、現時刻に対応するコード情報（調性）を調性シーケンスから読み出して各変換モジュールに供給する。なお、各変換モジュールに対してコード情報を供給するが、ノート変換を行う変換モジュール以外はこのコード情報は使用しない（無視する）。従って、アシスト制御部２０３が、ノート変換を行う変換モジュールを識別し、当該モジュールにのみコード情報を供給するようにしてもよい。
【００４３】
次にステップ９０７で、アシスト定義シーケンスを参照して、現時刻で変換テーブルを更新すべき変換モジュールがあるか否か判定する。なければステップ９０５に戻る。あれば、ステップ９０８で、該当モジュールの変換テーブルを更新する。なお、図４で説明したように、アシスト定義シーケンスの規定のタイミングに至るよりも所定時間だけ前に次の変換テーブルを転送するように制御モジュール１０５にリクエストを出しておき、変換テーブル更新のタイミングでは既に変換テーブルがアシスト制御部にあるように処理してもよい。あるいは、装置のリソースに余裕がある場合は、あらかじめ使用される変換テーブルを全て各変換モジュールに送っておき、どの変換テーブルを使用するかを示すＩＤ情報のみをアシスト制御部から変換モジュールに与えてもよい。
【００４４】
図１０は、ノート変換テーブルによる変換例（アシスト態様例）を示す。図１０（ａ）は、全ての入力音高を長三和音の構成音に変換する例である。左側五線譜のようにＤ，Ｆ＃，Ａ，Ｃ，Ｅ，Ｇの各音高が入力したとき、この変換テーブルＡでは全て長三和音の構成音になるように変換し、結果として右側五線譜のようにＤ，Ｆ＃，Ａ，Ｄ，Ｆ＃，Ａを出力する。図１０（ｂ）は、全ての入力音高をコードトーンに変換する例を示す。左側五線譜のようにＤ，Ｆ＃，Ａ，Ｃ，Ｅ，Ｇが入力したとき、この変換テーブルＢではこの時点で指定されているコード情報（調性）のコードトーン（ここではコード情報がＤ７とする）に変換し、結果として右側五線譜のようにＤ，Ｆ＃，Ａ，Ｃ，Ｆ＃，Ａを出力する。図１０（ｃ）は、全ての入力音高をコードトーンおよびテンションに変換する例を示す。左側五線譜のようにＤ，Ｆ＃，Ａ，Ｃ，Ｅ，Ｇの各音高が入力したとき、この変換テーブルＣでは全ての入力音高をコードトーン（ここではコード情報がＤ７とする）およびテンションに変換し、結果として右側五線譜のようにＤ，Ｆ＃，Ａ，Ｃ，Ｅ，Ａを出力する。図１０（ｄ）は、特定のフレーズに変換する例を示す。ノート変換テーブルを、４分音符ごとにＤ１，Ｄ２，Ｄ３，Ｄ４と切り替えていき、入力音高が何であっても、それぞれのノート変換テーブルで規定される音高のノートオンに変換して出力する。
【００４５】
以上の図１０（ａ）〜（ｄ）のアシスト態様を実現するノート変換テーブルは、図６（ａ）に示したような形式で、その内容を適宜設定しておくことで実現できる。
【００４６】
以上の図１から図１０で説明した実施形態では、同じ変換テーブルであれば入力順序にかかわらず同じ変換を行うものである。次に、変換テーブルが入力順序に応じた変換態様を規定しており、入力順序に応じて異なる値に変換する変換モジュールの実施形態を説明する。この実施形態では、例えば演奏者が任意の音高の鍵を演奏すると特定のフレーズの音高列が変換後に出力されるようなアシスト態様が実現できる。そのため、変換テーブルには入力順に応じた変換値（あるいは変換係数）が規定されており、変換モジュールでは入力回数をサイクリックにカウントして変換テーブルの読み出し位置を切り替えていく。
【００４７】
図１１に、入力順序に応じて特定のフレーズの音高列を出力する変換モジュールの構成例を示す。変換モジュール１１００は、カウンタ１１０１、比較器１１０２、および変換テーブル切り替え検出部１１０３を備えている。演奏情報としてノートナンバが入力すると、当該ノートナンバは破棄し、カウンタ１１０１をカウントアップする。カウンタ１１０１のカウンタ値ｉが所定値ｎ（その時点の変換テーブル１１０４のノートナンバの数）に等しくなったときは、比較器１１０２からリセット信号が出力され、カウンタ１１０１がｉ＝０にリセットされる。また変換テーブル１１０４が切り替えられたときも、検出部１１０３で当該テーブル切り替えを検出し、カウンタ１１０１をｉ＝０にリセットする。カウンタ１１０１の値ｉにより変換テーブル１１０４が読み出されて、ｉ番目のノートナンバが出力される。
【００４８】
図１２は、図１１に示した変換モジュールでの処理手順を示す。ステップ１２０１で変換テーブルの切り替えがあったときは、ステップ１２０２でカウンタ１１０１の値ｉを０にリセットする。ステップ１２０３では演奏入力があるか判定し、なければステップ１２０１に戻る。演奏入力があったときは、ステップ１２０４で、前の演奏入力から今回の演奏入力までの時間差Δｔが規定値以上か判定し、規定値以上のときだけステップ１２０５でカウンタ値ｉをインクリメントする。これは、変換テーブル１１０４の各ノートナンバの規定の発音時間の間は何回演奏入力があっても同じノートナンバの音を出力するものとし、そのノートナンバの規定の発音時間が過ぎた後（Δｔが規定値以上になったとき）のみ、次のノートナンバへの移行をさせるための処理である。次にステップ１２０６で、変換テーブル１１０４のｉ番目のノートを出力する。ステップ１２０７でｉ＝ｎか否か判定し、そうであればステップ１２０８でｉを０にリセットし、ステップ１２０１に戻る。ｉがｎに至っていないときは、そのままステップ１２０１に戻る。
【００４９】
図１３は、この実施形態における変換例を示す。１３０１は変換テーブル１１０４のノートナンバの並びの例である。このような変換テーブルに対し、１３０２のように演奏入力がなされると、変換後は１３０３のような演奏情報が出力される。
【００５０】
なお、変換テーブル１１０４のサイズ（ｎ）は固定であってもよいし、テーブルごとに可変であってもよい。サイズｎ＝１の場合は、前述の図１０（ｄ）に示したのと同様な変換結果となる。また、変換後に出力されるノート数は２つ以上（例えば和音）であってもよい。このような実施形態は、ノートナンバの変換に用いて好適なものであるが、他の演奏情報（例えばエフェクトのパラメータを制御するコントロールチェンジなど）に適用してもよい。
【００５１】
また、上記この実施形態においては、入力されるノートオンの個数を単純にカウントするものであったが、入力されたノートオンのノートナンバを参照し、直前に入力されたノートナンバと異なるノートナンバのノートオンが入力されたときにのみ、ｉをカウントするようにしてもよい。
【００５２】
また、変換テーブルに規定されたフレーズは繰り返し適用されるものとしたが、フレーズを一通り適用した後は他の変換（例えば図１０の変換）を行うようにしてもよい。フレーズを繰り返し適用するか一度のみの適用とするかは変換テーブルに特定の値が含まれているか否かで判別する。例えばノートナンバ“０”を識別のための値として用い、変換テーブル中９番目の位置にノートナンバ“０”がある場合は、１〜８番目のノートオン入力は所定の音列に変換し、９番目以後は、その時点の調性に適した音高に変換する。
【００５３】
上記図１１〜図１３の実施形態によれば、例えば音高は意識せずに鍵盤の任意の鍵を叩くだけで所定のフレーズが演奏できることになる。またこの実施形態を図１から図１０で説明した実施形態と組み合わせることで、さらなる効果を得ることができる。例えば、鍵盤楽器を鍵域分割し、上鍵域に図１１から図１３の実施形態、下鍵域に図１から図１０の実施形態を適用した場合、下鍵域において伴奏演奏をするだけで精一杯の演奏技能が未熟な演奏者であっても、（適宜演奏アシストを受けた）伴奏演奏を自ら行いつつ、メロディーの（模擬）演奏を行うことができ、全くの初心者であもアンサンブルに参加することができる。
【００５４】
図１４は、変換モジュールのさらに別の実施形態を示す（ここで説明する例では図中のブロック１４０４と１４１０は無いものとする）。これは、ある種別のメッセージ（パラメータ）に基づいて他の種別のメッセージ（パラメータ）を生成出力する例である。図１４の例では、入力されたノートオンイベント中のベロシティ値に応じて、発生すべきノートオンイベントを生成する。すなわち、変換モジュール１４０１では、演奏情報としてノートナンバを入力し、破棄する。変換モジュール１４０２では、演奏情報としてベロシティを入力し、該ベロシティ値に応じたノートナンバおよびベロシティ値を出力する。変換テーブル１４０３は、０〜１２７のベロシティ値に応じて発生すべきノートの情報を保持するテーブルである。本例の変換モジュールは、ドラムキット音色に適用して好適なものである。例えば、入力ノートオンイベントに対して、そのベロシティ値が小さいときには、バスドラムの音に対応するノートナンバのノートオンイベントを出力し、ベロシティ値が大きいときには、バスドラム、スネア、またはシンバル等の複数種類の音色に対応する複数のノートオンイベントを出力する、というような変換が可能である。変換後出力されるノートオンイベントのベロシティ値はあらかじめ定めた値でもよいし、入力されたノートオンイベントのベロシティ値をそのまま出力してもよい。
【００５５】
上述の図１４の例の変形例として、ブロック１４０４と１４１０を加えた構成を説明する。ブロック１４１０は、ベロシティ値変換を行う変換モジュールを示す。変換モジュール１４０２で入力ベロシティ値に応じたノートナンバを出力し、変換モジュール１４１０で入力ベロシティ値を所定の変換テーブルを用いて変換したベロシティ値を出力し、ブロック１４０４でこれらを組み合わせて、最終的なノートナンバとベロシティ値を出力する。この場合、新たに発生するノート毎に重み付け係数を設定しておき、入力ベロシティ値と当該重み付け係数との乗算値を、新たに発生するノートのベロシティ値としてもよい。
【００５６】
図１５は、図１４の変換テーブル１４０３のような入力ベロシティ値に応じたノートナンバおよびベロシティ値を出力する変換テーブルの例である。図１５の表の「拍節」は、ノートオンが入力した小節内拍位置を示す。「入力ベロシティ」は入力したノートオンのベロシティ値を示す。その「入力ベロシティ」が、「１〜３５」、「３６〜１１０」、「１１１〜１２６」、「１２７」のとき、それぞれ表中の値を「出力ベロシティ」として、「出力ノートナンバ」に記載されたノートナンバのドラム音が出力される。例えば、この変換テーブルが適用されるパートの小節内で第１拍目にノートオンが入力された場合、その「入力ベロシティ」が「１〜３５」、「３６〜１１０」、または「１１１〜１２６」の範囲内であれば「出力ノートナンバ」が「５１：ＲｉｄｅＣｙｍｂａｌ」で「出力ベロシティ」が「８４」の演奏情報が出力される。また「入力ベロシティ」が「１２７」であれば、「出力ノートナンバ」が「５１：ＲｉｄｅＣｙｍｂａｌ」、「４９：ＣｒａｓｈＣｙｍｂａｌ」、および「３６：ＢａｓｓＤｒｕｍ」の３音が、それぞれ「出力ベロシティ」が「８４」、「８４」、および「４８」で、出力される。他の拍位置での入力でも同様に変換されて出力される。
【００５７】
なお、図１４や図１５の例では、入力されたノートオンイベントは破棄して、当該ノートオンイベントのベロシティ値に基づいて新たなノートオンイベントを生成するようにしたが、特定のノートナンバが入力された場合、ベロシティ値にかかわらず（図１〜図１０で説明した実施態様と同様に）所定のノートナンバのノートイベントを出力するようにしてもよい。これにより、ユーザの意図的な入力（例えばフィルイン）に対応することができる。この場合、元々入力されたノートイベントも併せて出力するようにしてもよいし、さらにそれらのノートイベントに時間差をつけて出力するようにしてもよい。
【００５８】
図１６は、特定のノートナンバの入力に対して変換出力する例を示す。１６０１はノート変換テーブルであり、入力したノートナンバに対して、それが特定のノートナンバであったときには変換テーブル１６０１に基づいて変換したノートナンバを出力する。特定のノートナンバ以外であったときにはカットする（出力しない）。１６０２はベロシティからノートに変換する変換テーブルであり、入力したベロシティに対して、特定のノートナンバの場合は無出力となるようにする（あるいは出力をブロックする）例である。
【００５９】
図１７は、特定のノートについて変換する変換テーブルの例である。「入力ノートナンバ」のノートオンが入力したとき、「出力ノート」のノートナンバかつ「出力ｖｅｌ」のベロシティ値が出力される。
【００６０】
上記の図１４から図１７の各例で、複数のノートを生成する場合は、各ノート間に時間差を設定してもよい。この時間差は、演奏クロック（テンポ）に応じた相対的な値でもよいし、絶対時間でもよい。具体的には、テーブル内の各ノートそれぞれにデュレーションを設定しておき、入力タイミングを基準とした相対的な時間差をもって出力するように構成すればよい。
【００６１】
また、メッセージ（パラメータ）の生成は、上述のベロシティからノートオンイベントへの変換に限らない。例えば、ベロシティからコントロールチェンジ（エフェクトの深さ等、打鍵がある程度強ければエフェクトを有効にする等）への変換や、ベロシティからピッチベンド（ベロシティに応じて微妙にピッチをずらす等）への変換でもよい。
【００６２】
図１８は、変換エンジンの別の例を示す。図２から図４で説明した変換エンジンとほぼ同じ構成であるが、図１８の構成では、アシスト制御部１８０２に演奏情報が入力するライン１８０３が加えられていることが特徴である。これにより、特定のメッセージをアシスト制御部１８０２に与えて、各変換モジュールの変換テーブルを切り替えさせる。特定のメッセージ（変換テーブルの切り替え指示）とは、例えばコントロールチェンジ（種別は何でもよい。例えばモジュレーションホイール等の操作により出力されるメッセージを用いる。）である。
【００６３】
図１９（ａ）は、図１８の変換エンジンにおけるアシスト制御部１８０２の処理ルーチンを示す。図１９（ａ）のステップ１９０１〜１９０８は図９のステップ９０１〜９０８にそれぞれ対応し、特にステップ１９０７以外のステップは同じ処理であるので説明を省略する。ステップ１９０７では、図１８で説明した特定のメッセージ、すなわちマニュアル切り替えメッセージを受信したか判定し、受信したとき、ステップ１９０８で該当モジュールの変換テーブルを更新する。
【００６４】
このようなマニュアル切り替えを行うため、図１９（ｂ）に示すようにパート定義情報中にマニュアル制御定義データ１９１０を備えている。図１９（ｃ）に、マニュアル制御定義データ１９１０の内容を示す。マニュアル制御定義データ１９１０は、当該パートにおいて、どのようなメッセージＩＤでどのようなパラメータ値のメッセージが与えられたときに、どのテーブルデータを変換テーブルとするかを定義するものである。例えば、ステップ１９０７で、メッセージＩＤが「Ｂｎ０１」で値が「０」のメッセージを受けた場合は、図１９（ｃ）でそのメッセージＩＤおよび値に対応するアシストテーブルＩＤのテーブルデータが読み出され、ステップ１９０８で変換テーブルとして設定される。
【００６５】
図２０は、図１から図１７で説明した予め決められたアシスト定義シーケンスデータに基づいて自動で変換テーブルを切り替えていくシーケンシャル制御と、図１８および図１９で説明したマニュアルで変換テーブルを切り替えていくマニュアル制御とを、切り替え可能とした実施形態を示す。この実施形態では、図２０（ｂ）に示すようにパート定義情報中にモード切替メッセージ定義データ２０２０を備えている。モード切替メッセージ定義データ２０２０は、図２０（ｃ）に示すように、メッセージＩＤが「Ｂｎ０４」で値が「０」のシーケンシャル制御へのモード切替を指示するメッセージと、メッセージＩＤが「Ｂｎ０４」で値が「１２７」のマニュアル制御へのモード切替を指示するメッセージとを定義している。
【００６６】
図２０（ａ）は、本例におけるアシスト制御部の処理ルーチンを示す。ステップ２００１〜２００５は図９のステップ９０１〜９０５とそれぞれ同じ処理であるので説明を省略する。ステップ２００６で、図２０（ｃ）に示した何れかのモード切替メッセージを受信したか判定し、受信していたら、ステップ２００７でその指示に応じてシーケンシャル制御またはマニュアル制御にモードを切り替える。ステップ２００８は、図９のステップ１９０６と同じ処理である。ステップ２００９では、現在のモードをチェックし、シーケンシャル制御ならステップ２０１０へ、マニュアル制御ならステップ２０１２へ、それぞれ分岐する。ステップ２０１０，２０１１は、図９のステップ９０７，９０８の処理を同じである。また、ステップ２０１２，２０１３は、図１９のステップ１９０７，１９０８の処理を同じである。
【００６７】
上述の実施形態によれば、任意のパートの演奏からテンポリーディングを行い、そのテンポに沿って、予めプログラムされたシーケンスを進行させることにより、コンピューターが機械的にテンポがコントロールする場合と異なり、盛り上がりによるテンポの揺れなどアンサンブルならではの醍醐味を体験させることができる。ここでのシーケンスとは、「演奏者から入力された演奏データを、その発音タイミングを変化させることなく、音域、ベロシティなどを最大限に活かしながらより音楽的な演奏に変化させる」アシスト機能を持つ。つまり元の演奏データは、ノートナンバなど必要最低限な変更（すなわち、アンサンブルの音楽性を最低限保持する変更）を除いてほとんどのパラメータがそのまま活かされるようにできるので、演奏者の表現欲求により近い演奏感をもたらすことができる。
またこのことにより、演奏者自身も楽器を扱うという面での難しさを気にすることなく、音楽的な表現に集中することができる。
【００６８】
アシストのパターンは、楽曲のジャンルや楽曲の構成、楽器特性など様々な軸で設定でき、それらの設定情報はプログラムされた曲ごとに持つことができる。
演奏者のスキルに応じてパートごとにアシストレベル（モード）を設定することで、演奏者間のスキルの差を軽減することもできる。またアシストの内容によっては、単純な演奏動作から非常に高度な演奏結果を実現することも可能である。
演奏者の状態に合わせて自在にアシストパターンを変えていくことで、演奏者の演奏スキルや音楽力アップにも大きな効果をもたらすことができる。
【００６９】
【発明の効果】
以上説明したように、この発明によれば、演奏の一要素であるテンポをバンドメンバーが司るという点は通常のバンドアンサンブルと変わりなく、演奏者は盛り上がりなどによるテンポの揺れを体感しながらも、「演奏者から入力された演奏データを、その発音タイミングや音域、ベロシティなどを最大限に活かしながらより音楽的な演奏に変化させる」という大前提により、演奏者の表現欲求により近い演奏感をもたらすことができる。
【図面の簡単な説明】
【図１】この発明の実施の形態に係る演奏支援装置の概略構成図
【図２】演奏アシストエンジンの内部構成図
【図３】変換モジュールの典型的な例を示す図
【図４】変換モジュールにおける調性の管理を説明するための構成図
【図５】楽曲定義情報の構造を示す図
【図６】変換テーブルの例を示す図
【図７】制御モジュールの動作を示すフローチャート図
【図８】テンポトレースモジュールの動作を示すフローチャート図
【図９】アシスト制御部の動作を示すフローチャート図
【図１０】ノート変換テーブルによる変換例を示す図
【図１１】変換モジュールの構成例を示す図
【図１２】変換モジュールでの処理手順を示す図
【図１３】図１２の実施形態における変換例を示す図
【図１４】変換モジュールのさらに別の実施形態を示す図
【図１５】入力ベロシティ値に応じたノートナンバおよびベロシティ値を出力する変換テーブルの例を示す図
【図１６】特定のノートナンバの入力に対して変換出力する例を示す図
【図１７】特定のノートについて変換する変換テーブルの例を示す図
【図１８】変換エンジンの別の例を示す図
【図１９】図１８の変換エンジンにおけるアシスト制御部の処理ルーチンを示す図
【図２０】シーケンシャル制御とマニュアル制御とを切り替え可能とした実施形態を示す図
【符号の説明】
１０１…楽器、１０２…演奏信号を受け付ける複数の入力ポート、１０３…テンポトレースモジュール、１０４…演奏アシストエンジン、１０５…制御モジュール、１０６…記憶手段、１０７…音源、１０８…ミキサ。
【図１】
2005049473.tif 000003
【図２】
2005049473.tif 000004
【図３】
2005049473.tif 000005
【図４】
2005049473.tif 000006
【図５】
2005049473.tif 000007
【図６】
2005049473.tif 000008
【図７】
2005049473.tif 000009
【図８】
2005049473.tif 000010
【図９】
2005049473.tif 000011
【図１０】
2005049473.tif 000012
【図１１】
2005049473.tif 000013
【図１２】
2005049473.tif 000014
【図１３】
2005049473.tif 000015
【図１４】
2005049473.tif 000016
【図１５】
2005049473.tif 000017
【図１６】
2005049473.tif 000018
【図１７】
2005049473.tif 000019
【図１８】
2005049473.tif 000020
【図１９】
2005049473.tif 000021
【図２０】
2005049473.tif 000022