(57)【要約】【課題】音と音との接続部分に関して表情付けに富んだ奏法判別を行うことができるようにする。【解決手段】演奏時間順に供給される複数のイベント情報に従って或る時点でのイベント情報を処理する際に、後続イベント情報をその演奏時間順よりも先行して取得する。該或る時点でのイベント情報及び後続イベント情報とに従って、該或る時点において音と音とが重ならない場合に、音と音との間の長さにより接続部分の奏法を判別する。例えば、時間長からなる奏法判定条件を任意に設定し、音と音との間の長さと該奏法判定条件に応じて接続部分の奏法を判別するようにしてよい。また、音と音との間の長さが該奏法判定条件の時間長を超える場合は接続部分の奏法を使用しないようにしてよい【選択図】        図９
2006276894.tif 000002
【特許請求の範囲】
【請求項１】
楽曲データを取得する楽曲データ取得手段と、
前記取得した楽曲データの中から複数のイベント情報を演奏時間順に供給するイベント情報供給手段と、
前記演奏時間順に供給される複数のイベント情報に従って或る時点でのイベント情報を処理する際に、それに続く１又は複数の後続イベント情報をその演奏時間順よりも先行して取得する先行取得手段と、
前記或る時点でのイベント情報及び前記後続イベント情報とに従って、前記或る時点において音と音とが重ならない場合に、音と音との間の長さにより接続部分の奏法を判別する奏法判別手段と
を具えた奏法自動判定装置。
【請求項２】
時間長からなる奏法判定条件を設定する条件設定手段を具えてなり、
前記奏法判別手段は、前記音と音との間の長さと該奏法判定条件に応じて接続部分の奏法を判別することを特徴とする請求項１に記載の奏法自動判定装置。
【請求項３】
時間長からなる奏法判定条件を設定する条件設定手段を具えてなり、
前記奏法判別手段は、前記音と音との間の長さが該奏法判定条件の時間長を超える場合は接続部分の奏法を使用しないよう判定することを特徴とする請求項１又は2に記載の奏法自動判定装置。
【請求項４】
楽曲データを取得するステップと、
前記取得した楽曲データの中から複数のイベント情報を演奏時間順に供給するステップと、
前記演奏時間順に供給される複数のイベント情報に従って或る時点でのイベント情報を処理する際に、それに続く１又は複数の後続イベント情報をその演奏時間順よりも先行して取得するステップと、
前記或る時点でのイベント情報及び前記後続イベント情報とに従って、前記或る時点において音と音とが重ならない場合に、音と音との間の長さにより接続部分の奏法を判別するステップと
を具えた奏法自動判定方法。
【請求項５】
コンピュータに、
楽曲データを取得する手順と、
前記取得した楽曲データの中から複数のイベント情報を演奏時間順に供給する手順と、
前記演奏時間順に供給される複数のイベント情報に従って或る時点でのイベント情報を処理する際に、それに続く１又は複数の後続イベント情報をその演奏時間順よりも先行して取得する手順と、
前記或る時点でのイベント情報及び前記後続イベント情報とに従って、前記或る時点において音と音とが重ならない場合に、音と音との間の長さにより接続部分の奏法を判別する手順と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、楽曲データ中の特徴に基づいて新たな音楽的表現を楽曲データに対し自動的に付加する奏法自動判定装置及び方法に関し、特に同じ楽曲データに対して異なる音楽的表現を自動的に付加させることを簡単な設定を行うだけで実現できるようにした奏法自動判定装置及び方法に関する。
【背景技術】
【０００２】
最近では、楽曲データを基にして楽音を自動演奏するための自動演奏装置や、楽曲データを編集するためのシーケンサ等が知られている。こうした自動演奏装置やシーケンサ等で用いる楽曲データは楽譜上の各音符や音楽記号に対応するＭＩＤＩデータとして構成されるが、一連の音符列の各音高をノートオンやノートオフなどの音高情報のみで構成すると、該楽曲データを再生することにより行われる楽音の自動演奏は機械的な無表情な演奏が行われてしまい、音楽的に不自然である。そこで、自動演奏をより音楽的に自然な演奏、美しい演奏、生々しい演奏とするためには、楽音に対して奏法等に応じた様々な音楽的な表現を付加するとよい。こうした音楽的表現を自動的に付加するものとして、従来から奏法自動判定装置が知られている。奏法自動判定装置では、楽曲データ中の特徴に基づき様々な音楽的な表情や楽器らしさを表す奏法（若しくはアーティキュレーション）に関する演奏情報を自動的に楽曲データに付加する。例えば、楽曲データの中からスタッカートやレガートなどの奏法を行うのに適した箇所を自動的に検索し、該検索箇所の楽曲データに対してスタッカートやレガートなどの奏法に関する演奏情報を新たに付加する。
【０００３】
ところで、従来の奏法自動判定装置では、自動的に奏法を付加した結果が必ずしもユーザの意図通りのものとならない場合がある。すなわち、従来の奏法自動判定装置では予め定義された奏法毎の奏法判定条件に従って、所定の奏法を付加するのに適した楽曲データの箇所を自動的に検出し該奏法を付加することから、楽曲データの同じ状態の箇所に常に同じ奏法が付加されていた。このように楽曲データの同じ状態の箇所に対して付加される奏法が固定的であるので、同じ内容の楽曲データに対しては常に同じ箇所に同じ奏法が付加されることとなり、必ずしも個々のユーザが意図した通りに奏法が付加されるものではない。そこで、奏法を付加する箇所や所定箇所に付加する奏法を変更するためには奏法毎の奏法判定条件を変更すればよいが、従来ではこうした奏法判定条件の設定内容が複雑であるためにその変更設定は非常に難しいものであった。そのため、従来では特にユーザが初心者であるような場合に手動で所定箇所の奏法を１つ１つ適宜に変更するしかなく、こうした手動による奏法の変更には時間がかかるので非常に処理効率が悪い、という問題点があった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は上述の点に鑑みてなされたもので、音と音との接続部分に関して表情付けに富んだ奏法判別を行うことができるようにした奏法自動判定装置及び方法を提供しようとするものである。
【課題を解決するための手段】
【０００５】
本発明に係る奏法自動判定装置は、楽曲データを取得する楽曲データ取得手段と、前記取得した楽曲データの中から複数のイベント情報を演奏時間順に供給するイベント情報供給手段と、前記演奏時間順に供給される複数のイベント情報に従って或る時点でのイベント情報を処理する際に、それに続く１又は複数の後続イベント情報をその演奏時間順よりも先行して取得する先行取得手段と、前記或る時点でのイベント情報及び前記後続イベント情報とに従って、前記或る時点において音と音とが重ならない場合に、音と音との間の長さにより接続部分の奏法を判別する奏法判別手段とを具える。
【０００６】
本発明によると、奏法判別手段では、或る時点でのイベント情報及び後続イベント情報とに従って、前記或る時点において音と音とが重ならない場合に、音と音との間の長さにより接続部分の奏法を判別する。従って、先行音と後続音が重ならないような演奏がイベント情報で指示される演奏区間において、音と音との間の長さに依存して自動的に奏法が判別・決定されることとなり、先行音と後続音の接続部分において表情付けに富んだ奏法判別を行うことができる。
【０００７】
本発明の一実施例として、時間長からなる奏法判定条件を設定する条件設定手段を具えてなり、前記奏法判別手段は、前記音と音との間の長さと該奏法判定条件に応じて接続部分の奏法を判別する。これによると、ユーザが奏法判定条件を自由に設定することで、各ユーザの好みを容易に反映させた奏法自動判定を行わせることができる。また、音と音との間の長さが該奏法判定条件の時間長を超える場合は接続部分の奏法を使用しないようにしてもよい。
【０００８】
本発明は、装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明を実施するための最良の形態】
【０００９】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１０】
図１は、この発明に係る奏法自動判定装置を適用した電子楽器のハードウェア構成例を示すブロック図である。ここに示された電子楽器はコンピュータを用いて構成されており、そこにおいて、奏法自動判定処理は、コンピュータがこの発明に係る奏法自動判定処理を実現する所定のプログラム（ソフトウェア）を実行することにより実施される。勿論、この奏法自動判定処理はコンピュータソフトウェアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。また、奏法自動判定装置を適用する機器は、電子楽器あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器又はパーソナルコンピュータ等、任意の製品応用形態をとっていてよい。すなわち、本発明に従う所定のソフトウェア又はハードウェアを用いることによって、楽曲データを分析した結果に基づいて該楽曲データに対して奏法に関する演奏情報を自動的に付加することができるように構成したものであればどのようなものであってもよい。なお、この実施例に示す電子楽器はこれら以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。
【００１１】
本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１Ｄ（例えば、データ及びアドレスバスなど）を介してＲＯＭ２、ＲＡＭ３、外部記憶装置４、演奏操作子５、パネル操作子６、表示器７、音源８、インタフェース９がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。すなわち、タイマ１Ａは時間間隔を計数したり、所定の楽曲データに従って楽曲を自動演奏する際の演奏テンポを設定したりするためのテンポクロックパルスを発生する。このテンポクロックパルスの周波数は、パネル操作子６の中の例えばテンポ設定スイッチ等によって調整される。このようなタイマ１ＡからのテンポクロックパルスはＣＰＵ１に対して処理タイミング命令として与えられたり、あるいはＣＰＵ１に対してインタラプト命令として与えられる。ＣＰＵ１は、これらの命令に従って各種処理を実行する。各種処理としては、より自然な演奏や生々しい演奏を行うための様々な楽器毎の特有な奏法（例えばスタッカートやレガートなど）に関する演奏情報を楽曲データに対して自動的に付加する「奏法自動判定処理」（後述する図７参照）等がある。
【００１２】
ＲＯＭ２は、奏法付加対象となる楽曲データや様々な楽器毎の特有な奏法に対応する波形データ（例えば、後述する奏法モジュール）などの各種データや、ＣＰＵ１により実行あるいは参照される「奏法自動判定処理」などの各種制御プログラムを格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。外部記憶装置４はＲＯＭ２と同様に、楽曲データや波形データなどの各種データや、ＣＰＵ１が実行する各種の制御プログラム等を記憶するものである。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置４（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置４はハードディスク（ＨＤ）に限られず、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。なお、ＲＯＭ２や外部記憶装置４あるいはＲＡＭ３に記憶するデータには上述したようなデータ以外に他のデータが含まれていてもよいことは言うまでもない。
【００１３】
演奏操作子５は楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子５は楽音演奏のために使用できるのは勿論のこと、楽曲データを選択するための、あるいは奏法を手動で編集する際の入力手段として使用することもできる。勿論、演奏操作子５は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよいことは言うまでもない。パネル操作子（スイッチ等）６は、例えば奏法付加対象とする楽曲データを選択するための楽曲データ選択スイッチ、楽曲再生範囲を指定する「再生部分指定画面」を呼び出すための再生指定スイッチ、あるいは奏法付加の判定条件（奏法判定条件）を入力する「判定条件入力画面」を呼び出すための判定条件入力スイッチ等、各種の操作子を含んで構成される。勿論、楽曲データに基づく楽音を演奏する際に用いる音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示器７に表示された各種画面位置を指定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。表示器７は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、上記スイッチ操作に応じて各種画面を表示するのは勿論のこと、楽曲データや波形データなどの各種情報あるいはＣＰＵ１の制御状態などを表示する。
【００１４】
音源８は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた楽曲データを入力し、この楽曲データに基づいて楽音を合成して楽音信号を発生する。すなわち、楽曲データに付加された演奏情報に対応する波形データがＲＯＭ２や外部記憶装置４などから読み出されると、該読み出された波形データはバスラインＢＬを介して音源８に与えられて適宜バッファ記憶される。そして、音源８ではバッファ記憶された波形データを所定の出力サンプリング周波数にしたがって出力する。この音源８から発生された楽音信号は、図示しない効果回路（例えばＤＳＰ（Digital Signal Processor））などにより所定のディジタル信号処理が施され、該信号処理された楽音信号はサウンドシステム８Ａに与えられて発音される。
【００１５】
インタフェース９は該電子楽器と外部の楽曲データ生成機器（図示せず）などとの間で各種情報を送受するための、例えばＭＩＤＩインタフェースや通信インタフェースなどである。ＭＩＤＩインタフェースは、外部の楽曲データ生成機器（この場合には、他のＭＩＤＩ機器等）からＭＩＤＩ規格の楽曲データを当該電子楽器へ入力したり、あるいは当該電子楽器からＭＩＤＩ規格の楽曲データを他のＭＩＤＩ機器等へ出力するためのインタフェースである。他のＭＩＤＩ機器はユーザによる操作に応じてＭＩＤＩ形式のデータを発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた（若しくは、操作形態からなる）機器であってもよい。通信インタフェースは、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワーク（図示せず）に接続されており、概通信ネットワークを介して、外部の楽曲データ生成機器（この場合には、サーバコンピュータ等）と接続され、当該サーバコンピュータから制御プログラムや楽曲データなどの各種情報を該電子楽器に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置４等に制御プログラムや楽曲データなどの各種情報が記憶されていない場合に、サーバコンピュータから各種情報をダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース及び通信ネットワークを介してサーバコンピュータへと制御プログラムや楽曲データなどの各種情報のダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求された各種情報を通信ネットワークを介して本電子楽器へと配信し、本電子楽器が通信インタフェースを介して各種情報を受信して外部記憶装置４等に蓄積することにより、ダウンロードが完了する。
【００１６】
なお、上記インタフェース９をＭＩＤＩインタフェースで構成した場合、該ＭＩＤＩインタフェースは専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインタフェースを用いてＭＩＤＩインタフェースを構成するようにしてもよい。この場合、ＭＩＤＩイベントデータ以外のデータをも同時に送受信するようにしてもよい。ＭＩＤＩインタフェースとして上記したような汎用のインタフェースを用いる場合には、他のＭＩＤＩ機器はＭＩＤＩイベントデータ以外のデータも送受信できるようにしてよい。勿論、音楽情報に関するデータフォーマットはＭＩＤＩ形式のデータに限らず、他の形式であってもよく、その場合はＭＩＤＩインタフェースと他のＭＩＤＩ機器はそれにあった構成とする。
【００１７】
ここで、上述したＲＯＭ２や外部記憶装置４あるいはＲＡＭ３などに記憶される楽曲データ及び波形データについて、図２を用いてそれぞれ簡単に説明する。まず、楽曲データについて説明する。図２（ａ）は、楽曲データの一実施例を説明するための概念図である。
【００１８】
楽曲データはＳＭＦ（Standard MIDI File）等のＭＩＤＩ形式のファイルで格納される、例えば１曲分の楽音全体を表わすデータである。該楽曲データは、タイミングデータとイベントデータとの組み合わせからなる。イベントデータは、楽音の発音を指示するノートオンイベントや楽音の消音を指示するノートオフイベント、あるいは奏法に関する演奏情報を指示する奏法指定イベント等の演奏イベントに関するデータである。このイベントデータは、タイミングデータと組み合わされて使用される。本実施例でのタイミングデータとは、イベントデータから次のイベントデータまでの時間間隔を示す時間データ（すなわち、デュレーションデータ）であるがこれに限らず、ある特定の時間からの相対時間、あるいは絶対時間そのものを用いる等どのようなフォーマットでもよい。なお、通常のＳＭＦでは、時刻を示すものは秒などの時刻ではなく、例えば４分音符を４８０等分したものを１ティックとし、その数で表現する。要するに、楽曲データの形式としては、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント＋絶対時間』形式のもの、イベントの発生時刻を１つ前のイベントからの時間で表した『イベント＋相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で楽曲データを表した『音高（休符）＋符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。なお、楽曲データは複数トラック分のイベントデータが混在して記録されているもの、すなわち、イベントデータをその割り当てられたトラックにかかわらず出力順に１列に並べて記憶しているものに限らず、各イベントデータを各トラック毎に独立して記憶するように楽曲データを構成してもよいことは言うまでもない。なお、楽曲データは上記イベントデータやタイミングデータの他に、各種音源コントロールデータ（例えばボリュームなどを制御するデータ）などを含んでいてよい。
【００１９】
次に、波形データについて説明する。図２（ｂ）は、波形データの一実施例を説明するための概念図である。ただし、ここでは様々な楽器毎の特有な奏法に対応する波形データとして「奏法モジュール」を用いた例を示す。
【００２０】
上述したＲＯＭ２や外部記憶装置４あるいはＲＡＭ３においては、楽器毎の種々の奏法に対応する波形を再生するための多数のオリジナルの奏法波形データとそれに関連するデータ群を「奏法モジュール」として記憶している。１つの「奏法モジュール」とは、奏法波形合成システムにおいて１つのかたまりとして処理できる奏法波形の単位である。別の言い方をすると、「奏法モジュール」とは、１つのイベントとして処理できる奏法波形の単位である。「奏法モジュール」は、奏法波形データと奏法パラメータとの組み合わせからなるデータである。図２（ｂ）から理解できるように、種々有る奏法モジュールの奏法波形データの中には、例えば演奏音の奏法的特徴に応じて、アタック部やボディ部あるいはリリース部等の１音の部分的区間に対応して定義されているものもあれば（アタック系、ボディ系、リリース系の各奏法モジュール）、また、スラーのような音と音のつなぎの区間であるジョイント部に対応して定義されているものもあり（ジョイント系奏法モジュール）、さらにスタッカートなどのような特殊演奏の１音全体に対応して定義されているものもある（ショット系奏法モジュール）。
【００２１】
こうした各奏法モジュールは、奏法の特徴若しくは演奏の時間的部位又は区間等に基づき、大きくいくつかの種類に分類することができる。その例を示すと、次の７種類を挙げることができる。
１）「ノーマルエントランス（略称ＮＥ）」：  （無音状態からの）音の立ち上がり部分（つまり「アタック」部）を受け持つアタック系奏法モジュール。
２）「ノーマルフィニッシュ（略称ＮＦ）」：  （無音状態への）音の立ち下がり部分（つまり「リリース」部）を受け持つリリース系奏法モジュール。
３）「ノーマルジョイント（略称ＮＪ）」：  ２つの音を（無音状態を経由せずに）接続する部分（つまり「ジョイント」部）を受け持つジョイント系奏法モジュール。
４）「スラージョイント（略称ＳＪ）」：  ２つの音を（無音状態を経由せずに）スラーで接続する部分（つまり「ジョイント」部）を受け持つジョイント系奏法モジュール。
５）「ノーマルショートボディ（略称ＮＳＢ）」：  ビブラートのかからない、短い音の、音の立ち上がり以降から立ち下がり以前までの部分（つまり「ボディ」部）を受け持つボディ系奏法モジュール。
６）「ビブラートボディ（略称ＶＢ）」：  ビブラートのかかった、音の立ち上がり以降から立ち下がり以前までの部分（つまり「ボディ」部）を受け持つボディ系奏法モジュール。
７）「ショット（略称ＳＨＯＴ）」：  （無音状態からの）音の立ち上がり部分（つまり「アタック」部）及び（無音状態への）音の立ち下がり部分（つまり「リリース」部）の両方を含み、通常の１音よりも音の長さが短い１音全体を受け持つショット系奏法モジュール。
なお、上記７種類の分類法は明細書での説明のための一例にすぎず、他の分類法を採用してもよいし、更に多くの種類が存在してよい。また、奏法モジュールは、楽器種類等のオリジナル音源別にも分類されるのは勿論である。
【００２２】
この実施例において、１つの奏法モジュールに対応する１つの奏法波形のデータはそのままデータベースに記憶されているのではなく、複数の波形構成要素の集合からなるものとしてデータベースに記憶されている。この波形構成要素を、以下、「ベクトル」という。１つの奏法モジュールに対応するベクトルの種類には、一例として下記のようなものがある。なお、調和成分及び調和外成分とは、対象たるオリジナル奏法波形をピッチ調和成分からなる波形とそれ以外の残りの波形成分とに分離することで定義されるものである。
１．調和成分の波形（Timbre）ベクトル：  調和成分の波形構成要素のうち、ピッチと振幅をノーマライズした波形形状のみの特徴を抽出したもの。
２．調和成分の振幅（Amplitude）ベクトル：  調和成分の波形構成要素のうち、振幅エンベロープ特性を抽出したもの。
３．調和成分のピッチ（Pitch）ベクトル：  調和成分の波形構成要素のうち、ピッチ特性を抽出したもの（例えば或る基準ピッチを基準にした時間的ピッチ変動特性を示すもの）。
４．調和外成分の波形（Timbre）ベクトル：  調和外成分の波形構成要素のうち、振幅をノーマライズした波形形状（ノイズ的波形）のみの特徴を抽出したもの。
５．調和外成分の振幅（Amplitude）ベクトル：  調和外成分の波形構成要素のうち、振幅エンベロープ特性を抽出したもの。
上記のほかに、更に別の種類のベクトル（例えば、波形の時間軸の進行を示す時間ベクトル）が含まれていてもよいが、便宜上、本実施例ではその説明を省略する。
【００２３】
なお、奏法波形の合成に際しては、これらのベクトルデータに対して制御データに応じた加工処理を適宜施して時間軸上に配置することで、奏法波形の各構成要素に対応する波形若しくはエンベロープを演奏音の再生時間軸に沿ってそれぞれ構築し、このようにして時間軸上に配置された各ベクトルデータに基づいて所定の波形合成処理を行うことで、奏法波形を生成する。例えば、調和波形ベクトルに調和ピッチベクトルに応じたピッチ及びその時間変化特性を付与すると共に調和振幅ベクトルに応じた振幅及びその時間変化特性を付与することで調和成分の波形を合成し、調和外波形ベクトルに調和外振幅ベクトルに応じた振幅及びその時間変化特性を付与することで調和外成分の波形を合成し、調和成分の波形と調和外成分の波形とを加算合成することで、最終的な所定の奏法的特徴を示す演奏音波形つまり奏法波形を生成することができる。
【００２４】
各奏法モジュールは、図２（ｂ）に示すような奏法波形データと共に奏法パラメータを含むデータである。奏法パラメータは、当該奏法モジュールに係る波形の時間やレベルなどを制御するためのパラメータである。奏法パラメータには、各奏法モジュールの性格に応じて適宜異なる１又は複数種類のパラメータが含まれていてよい。例えば、「ノーマルエントランス」の場合には、発音開始直後の絶対音高や音量などの種類の奏法パラメータが含まれていてよいし、「ノーマルショートボディ」の場合には、当該奏法モジュールの絶対音高、ノーマルショートボディの終了時刻−開始時刻、ノーマルショートボディ開始時のダイナミクス、ノーマルショートボディ終了時のダイナミクスなどの種類の奏法パラメータが含まれていてよい。この「奏法パラメータ」は、ＲＯＭ２等によって予め記憶されていてもよいし、あるいはユーザの入力操作によって入力するようにしたり、あるいは既存のパラメータをユーザの操作によって適宜変更できるようになっていたりしてもよい。また、奏法波形の再生に際して、奏法パラメータが与えられなかったような場合には標準的な奏法パラメータを自動的に付加するようにしてもよい。また、処理の過程で、適宜のパラメータが自動的に生成されて付加されるようになっていてもよい。
【００２５】
図１に示した電子楽器においては、例えばＲＯＭ２あるいは外部記憶装置４等から読み出した楽曲データに対して奏法を自動的に付加する奏法自動判定機能を具えると共に、ユーザが表示された楽曲データを適宜に編集することのできる奏法表示編集機能とを具える。そこで、これらの各機能の概要について図３を用いて説明する。図３は、当該電子楽器が具える奏法自動判定機能と奏法表示編集機能とを説明するための機能ブロック図である。図３において、図中の矢印は各機能間におけるデータの流れを表すものである。なお、この実施例においては１台の電子楽器内において上記奏法自動判定機能をＣＰＵ１で実行するソフトウェア音源の１つの機能として、上記奏法表示編集機能をＣＰＵ１で実行するソフトウェア・シーケンサの１つの機能として実現した場合の実施例について説明する。勿論、こうしたソフトウェア音源やソフトウェア・シーケンサを用いることなく、所定のハードウェアで構成した音源やシーケンサなどに上記各機能を付与したものであってもよいことは言うまでもない。
【００２６】
まず、楽曲データ管理・再生部Ｍ１は例えば楽曲データ選択スイッチによる楽曲データの選択等に応じて、ＲＯＭ２あるいは外部記憶装置４等から該当する楽曲データを取得する。既に説明したように、楽曲データはノートオンイベントやノートオフイベント（これらを総称してノートデータと呼ぶ）や奏法指定イベントなどを含む。楽曲データ管理・再生部Ｍ１では楽曲データを取得すると、楽曲データ及び奏法を所定の表示態様で表示器７上に表示するための画面表示指示を奏法表示編集部Ｍ２に送る。奏法表示編集部Ｍ２では、受け取った画面表示指示に従って「奏法表示編集画面」（後述する図４参照）を表示する。再生部分指定部Ｍ３は再生指定スイッチ操作に応じて「再生部分指定画面」（後述する図５参照）を表示器７上に表示し、「再生部分指定画面」からの再生指示を受け付ける。楽曲データ管理・再生部Ｍ１では、再生部分指定部Ｍ３からの再生指示に応じて楽曲データをストリーム再生するために所定量ずつに分割した楽曲データを奏法自動判定部Ｊ１に順次に送る。
【００２７】
奏法自動判定部Ｊ１では「奏法自動判定処理」（後述する図７参照）を実行して、受け取った楽曲データに対して奏法を自動的に付加する。判定条件指定部Ｊ２では、判定条件入力スイッチ操作に応じて「判定条件入力画面」（後述する図６参照）を表示器７上に表示し、自動的に奏法を付加する判定条件の入力を受け付ける。すなわち、奏法自動判定部Ｊ１では判定条件指定部Ｊ２からの判定条件に従って、楽曲データ中において奏法指定がなされていない音符（ノート）に対してのみ所定の奏法（判定奏法）を自動的に付加する。そして、奏法自動判定部Ｊ１は、判定奏法を付加した楽曲データを楽音合成部Ｊ３に送る。楽音合成部Ｊ３では奏法自動判定部Ｊ１が出力した判定奏法付きの新たな楽曲データに基づいて楽音合成を行い、音色設定部Ｊ４からの音色指示に従う音色で楽音を出力する。つまり、自動付加された奏法を含む奏法付きの楽音を出力する。
【００２８】
奏法自動判定部Ｊ１は上述したように楽曲データのストリーム再生に従い自動的に奏法を付加して奏法付きの楽音を出力する機能だけでなく、そうした機能の他に図３において点線で示すように、楽曲データ管理・再生部Ｍ１から複数のノートオンイベントやノートオフイベントを受け取り、それに基づき自動的に付加した奏法（図中における判定奏法）のみを楽曲データ管理・再生部Ｍ１に返す機能を持つ。すなわち、再生部分指定部Ｍ３からの再生指示に関わらず、楽曲データ管理・再生部Ｍ１は奏法自動判定部Ｊ１に対して独自に奏法自動判定の問い合わせを行い、その結果（判定奏法）を奏法自動判定部Ｊ１から受け取る。こうした場合、楽曲データ管理・再生部Ｍ１では受け取った判定奏法及び楽曲データとに基づく画面表示指示を奏法表示編集部Ｍ２に対して送ることで、奏法自動判定部Ｊ１で付加された奏法を「奏法表示編集画面」上に表示することができるようになっている。これによると、ユーザは自動的に付加された判定奏法などの該楽曲データに付加されている奏法を視覚的に確認することができ、また奏法表示編集画面を利用して奏法の変更や削除などを適宜に簡単に行うこともできる。こうしたことが可能な「奏法表示編集画面」についての説明は後述することから、ここでの説明を省略する。このようなオンデマンドにおける奏法付加の場合、１曲全体の奏法を一度に問い合わせるのではなく、「奏法表示編集画面」に表示されている音符分についてのみ適用するのに最適な奏法を問い合わせる。勿論、奏法が手動設定されていない音符についてのみ問い合わせを行う。なお、奏法問い合わせアルゴリズム（後述する図７〜図９参照）は上述の楽曲データのストリーム再生にあわせて奏法を付加する場合とほぼ同じであるが、この場合には楽曲データを再生しているわけではないことから奏法指定イベントを出力しない点が異なるものとなる。
このように、奏法自動判定部Ｊ１は該奏法自動判定部Ｊ１外部に判定結果のみを出力することもできる。すなわち、判定結果を奏法表示編集部Ｍ２にフィードバックすることが可能となる。こうすると、楽曲データを再生しなくても表示上で判定結果を確認・変更することができるようになる。
【００２９】
ここで、楽曲データ管理・再生部Ｍ１からの表示指示に従って、表示器７上に表示される「奏法表示編集画面」について、図４を用いて説明する。図４は、奏法表示編集画面の一実施例を示す概念図である。該「奏法表示編集画面」は、楽曲データ及び奏法を所定の表示態様で表示し、ユーザによる手動でのノートや奏法の編集を行うための画面である。なお、図中に示した数字１〜９は説明を理解しやすくするために楽曲データにおける各音符に対して便宜的に添付したものであることから、実際の「奏法表示編集画面」に表示しなくてよい。
【００３０】
この図４に示す実施例から理解できるように、表示器７上に表示される「奏法表示編集画面」は、画面上段に楽曲データに基づく楽曲情報を表示・編集するための楽曲情報表示部Ｇ１と、画面下段に奏法を表示・編集するための奏法表示部Ｇ２とを少なくとも含む画面である。画面上段の楽曲情報表示部Ｇ１は、楽曲データ管理・再生部Ｍ１に入力された楽曲データに従う楽音を所定の表示態様で表示する領域である。この実施例では楽曲データの各々の音符を演奏するために演奏操作が必要な鍵盤位置と、該鍵盤の操作時間とを同時に表わすことが可能なピアノロールにより楽曲データに基づく楽曲情報を表示した例を示している。勿論、こうしたピアノロールによる表示に限らず、楽曲データに基づく楽曲情報を楽譜などに表示するようにしてもよいことは言うまでもない。こうしたピアノロールなどを用いて表示された楽曲データ内容の編集については公知であることから、ここでの説明を省略する。
【００３１】
他方、「奏法表示編集画面」の画面下段の奏法表示編集表示部Ｇ２は、楽曲データに付加されている奏法を所定の表示態様で表示する領域である。この実施例ではボディ系の奏法とジョイント系の奏法とをそれぞれ異なる領域に、それぞれを所定のアイコンで表示した例を示した。ボディ系奏法を表示・編集するためのボディ表示・編集部Ｇ２ａは、楽曲データに付加されているボディ系奏法の種類毎に異なるアイコンで付加されているボディ系奏法を表示する。例えば、ショットである場合には点アイコン、ノーマルショートボディである場合には横棒アイコン、ビブラートボディである場合には波型アイコンなどのように表示態様の異なるアイコンを表示する。これに従うと、実施例に示す曲データに対しては、第１音と第２音はアイコンとして点アイコンが表示されていることからそれぞれの音がショットである１音であり、第３音〜第６音まではアイコンとして横棒アイコンが表示されていることからそれぞれの音がノーマルショートボディで構成される１音であり、第７音〜第９音まではアイコンとして波型アイコンが表示されていることからそれぞれの音がビブラートボディで構成されている１音であることが理解できる。
【００３２】
ジョイント系奏法を表示・編集するためのジョイント表示・編集部Ｇ２ｂは、楽曲データに付加されているジョイント系奏法を所定のアイコンで表示する。この実施例においては、スラージョイントのみをスラーアイコンで表示し、ノーマルジョイントに対してはアイコン表示しない。ノーマルジョイントをアイコンを用いて表示しない理由は、ノーマルジョイントは楽音制作時においてユーザが特に意識する必要がないにも関わらず、ノーマルジョイントを含めてアイコン表示してしまうと表示が煩雑なものとなって、ユーザが他の重要な部分の奏法を確認することが難しくなってしまうからである。したがって、こうした点を考慮しなくてもよい場合などにおいては、ノーマルジョイントに対して所定の専用アイコンを割り当てておき、該専用アイコンを用いてノーマルジョイントを表示するようにしてもよい。また、スラーアイコンでスラージョイントを表示する場合には、連続するスラージョイント分はまとめて１つのアイコンで表示するようにするとよい。こうすると、表示が煩雑なものとならず、また一般的な楽譜におけるスラー記号表示と同じような表記態様でスラージョイントを表わすことができるようになることから、ユーザが楽音制作時に理解しやすくなり都合がよい。勿論、スラージョイントに対応するスラーアイコンを各音毎に１つ１つ表示するようにしてもよい。こうした「奏法表示編集画面」において、ユーザにより手動設定された奏法と奏法自動判定部Ｊ１で自動的に付加された奏法とではアイコンの表示態様を変えて表示する。例えば、ユーザが手動で設定した奏法に対応するアイコンは濃い色で表示し、奏法自動判定部Ｊ１で自動的に付加された奏法に対応するアイコンは薄い色で表示する。勿論、こうした色の濃淡で区別できるようにすることに限らず、表示色を変える、アイコン表示の大きさを変える、輪郭の大きさを変える、アイコン形状を変える、「自動」「手動」といった異なる文字列を表示する、など他の種々の表示態様であってもよいことは言うまでもない。
【００３３】
手動設定された奏法及び自動判定により付加された奏法は、「奏法表示編集画面」を用いてユーザが自由に編集することができる。例えば、図４の上段に示す図のように、画面上に表示されている１つのアイコンを指定すると、画面上に新たにコンテクストメニューＧ２ｃがポップアップ表示され、ユーザは表示されたコンテクストメニューＧ２ｃを用いて、指定したアイコンに対応する奏法を編集することができる。ボディ表示・編集部Ｇ２ａ上のアイコンを指定した場合、図４下段の左側に示す図のように、コンテクストメニューＧ２ｃには、例えば自動判定により付加された奏法を手動設定に変更すると共に、該奏法を適用する「オン（On）」ボタン、自動判定により付加された奏法を手動設定に変更するが該奏法を適用しないでショット奏法を適用する「ショット（SHOT）」ボタン、ノーマルショートボディを適用する「ノーマルショートボディ（Normal Short Body）」ボタン、ビブラート奏法を適用する「ビブラート（Vibrato Body）」ボタン、ユーザにより手動設定された奏法を自動判定により奏法を付加するように設定する「オート（Auto）」ボタンが表示される。「オート（Auto）」ボタンが選択された場合、楽曲データの該当する奏法イベントが削除される。すなわち、ユーザが自動付加された奏法を変更の必要がないと思っているにも関わらず、自動付加された奏法はその後の判定条件の変更（後述する）などの影響を受け、ユーザが気づかないうちに自動付加した奏法が変更されてしまう恐れがある。そこで、ユーザが手動で設定した奏法指定情報と自動付加された奏法とを異なる表示態様で表示し、ユーザが自動付加された奏法を「オン（On）」ボタン操作により予め確定しておくことでこうした奏法の変更が生じないようになっている。メニューによって、ユーザが別の奏法を選択したり、自動設定に変更したりした場合には、それにあわせてアイコンの表示態様を変更する。
【００３４】
同様に、ジョイント表示・編集部Ｇ２ｂ上のアイコンを指定した場合、図４下段の右側に示す図のように、コンテクストメニューＧ２ｃには、例えば「オン（On）」ボタン、スラージョイントを適用する「スラー（Slur）」ボタン、ノーマルジョイントを適用する「ノーマル（Normal）」ボタン、「オート（Auto）」ボタンが表示される。こうした「奏法表示編集画面」を表示器７上に表示することにより、ユーザは楽曲データに付加されている奏法を視覚的に確認し編集することができるようになっている。
【００３５】
なお、上述した実施例ではピアノロール画面に１トラック分の楽曲データの楽曲情報のみを表示している例を示したがこれに限らず、ピアノロール画面には複数トラック分の楽曲データの楽曲情報を表示することができることは勿論である。複数トラック分の楽曲データのうち所望トラックの楽曲データの奏法を編集する場合には、予めユーザが編集対象とするトラックを指定できるようにするとよい。そうした場合、ユーザが現在どのトラックの楽曲データの奏法を編集しているのかが確認できるように、トラック番号を表示したりあるいはトラック毎に背景色などを変えるなどにより編集対象であるトラックを表示するようにするとよい。
【００３６】
次に、再生指定スイッチ操作に応じて表示器７上に表示される「再生部分指定画面」について、図５を用いて説明する。図５は、再生部分指定画面の一実施例を示す概念図である。該「再生部分指定画面」は、再生する楽曲データの範囲を指示して、再生開始指示を与えるための画面である。
【００３７】
この図５に示す実施例から理解できるように、表示器７上に表示される「再生部分指定画面」は、奏法自動判定部Ｊ１と接続するための「コネクト（Connect）」ボタンＧ３、再生範囲指定を有効にするためのボタンＧ４、再生範囲をループ再生するかどうかのボタンＧ５といった各種ボタンと、再生開始位置と再生終了位置とを直接入力することにより再生部分の範囲指定を行うための範囲指定入力エリアＧ６、現在再生中の再生位置を表示するための再生位置表示エリアＧ７といった各種エリアを含む画面である。「コネクト（Connect）」ボタンＧ３は楽曲データを再生したり、奏法を問い合わせるために楽曲データ再生・管理部Ｍ１を奏法自動判定部Ｊ１に対し接続するためのボタンであり、この「コネクト（Connect）」ボタンＧ３を押下することで奏法自動判定の結果（判定奏法）が手動設定されている奏法と共に「奏法表示編集画面」に表示される。この「コネクト（Connect）」ボタンＧ３を押下していない状態では、手動設定されている奏法のみが「奏法表示編集画面」に表示される。再生範囲指定を有効にするためのボタンＧ４は、範囲指定入力エリアＧ６に入力された再生開始位置と再生終了位置とを有効にすることで、該再生指定範囲でのみ楽曲を再生するよう設定するためのボタンである。再生範囲をループ再生するかどうかのボタンＧ５は、有効にした再生指定範囲で楽曲データを何回も繰り返し再生（つまりループ再生）するように設定するためのボタンである。範囲指定入力エリアＧ６は再生部分の範囲指定を行うためのデータ入力エリアであり、再生位置表示エリアＧ７は現在再生中の再生位置を表示するためのデータ表示エリアである。この実施例における範囲指定入力エリアＧ６及び再生位置表示エリアＧ７では、再生開始位置、再生終了位置、現在再生位置とをそれぞれ小節、拍、チック（例えばサブビートなど）とで入力あるいは表示することができるようになっている。なお、再生位置表示エリアＧ７では小節、拍、チック以外に、現在再生位置を楽曲開始からの時間表示（ここでは時、分、秒、100分の1秒で表示）で表わすようにもなっている。
【００３８】
次に、判定条件入力スイッチ操作に応じて表示器７上に表示される「判定条件入力画面」について、図６を用いて説明する。図６は、判定条件入力画面の一実施例を示す概念図である。該「判定条件入力画面」は、奏法自動付加の際に用いる判定条件の変更を行うための画面である。
【００３９】
この図６に示す実施例から理解できるように、表示器７上に表示される「判定条件入力画面」は、ショット、ノーマルショートボディ、ビブラートボディなどのボディ系奏法や、スラージョイント、ノーマルジョイントなどのジョイント系奏法に、いずれの奏法を付加するかを判定するための判定条件を入力するための画面である。この「判定条件入力画面」では、ボディ系奏法の判定条件であるショットタイム及びノーマルショートボディタイム、ジョイント奏法の判定条件であるスラージョイントタイム及びノーマルジョイントタイムをそれぞれ個々の値に設定することができる入力エリア（図中Ｇ８〜Ｇ１１参照）を具えている。ショットタイムは、１音全体においてショットの１音を使うか通常の１音（つまり、アタック系とボディ系とリリース系あるいはジョイント系を組み合わせて表わされる１音）を使うかの閾値とする音符長値を設定するためのものである。ノーマルショートボディタイムは、通常の１音のボディ部においてノーマルショートボディを使うかビブラートボディを使うかの閾値とする音符長値を設定するためのものである。スラージョイントタイムは、音と音との間においてスラージョイントを使うかノーマルジョイントを使うかの閾値とする休符長値を設定するためのものである。ノーマルジョイントタイムは、音と音との間においてリリース系とアタック系の組み合わせを使うか（つまりジョイントを使用しないか）、ジョイントを使うかの閾値とする休符長値を設定するためのものである。これらの各判定条件を用いての奏法の自動付加については、「奏法自動判定処理」（後述する図７参照）で詳しく説明する。
【００４０】
上述したように、楽曲データを一連の音符列の時間、音長、音高情報のみで構成すると機械的な無表情な演奏が再生されることとなり、こうした演奏は音楽的に非常に不自然な演奏である。そこで、より自然な演奏、美しい演奏、生々しい演奏とするためには、様々な楽器毎に特有の奏法を表す演奏情報を楽曲データに付加すると楽器らしさを表わすことができよい。例えば、ギターやベースなどの弦楽器においてはチョーキング奏法が知られており、このチョーキング奏法を普通の奏法に織り交ぜて用いることによって、ギターらしい表情を持った自然な演奏を作り出すことができる。本発明に係る奏法自動判定装置は、楽曲データに対して楽器特有の奏法に関する演奏情報を自動的に付加する。そこで、楽曲データに対して自動的に楽器特有の奏法を付加する「奏法自動判定処理」について、図７に従って説明する。図７は、該電子楽器におけるＣＰＵ１で実行する「奏法自動判定処理」の一実施例を示したフローチャートである。該「奏法自動判定処理」は、パネル操作子６における自動表情付け開始スイッチの操作に伴って、ＣＰＵ１で実行される処理である。
【００４１】
ステップＳ１では、楽曲データに含まれるイベントデータのうち、ノートオン・イベントと該ノートオン・イベントに対応するノートオフ・イベントとを取得する。すなわち、楽曲データに基づき演奏する順に従って音符（以下、ノート）単位にノートオン及びノートオフ・イベントを取得することで、該ノート１音の演奏開始時刻と演奏終了時刻とを決定する。ステップＳ２では、現在のノートオン・イベントと同時刻にある奏法指定イベントを取得する。すなわち、現在のノートオン・イベントに対してデュレーション「0」に定義されている奏法指定イベントを楽曲データから取得する。ステップＳ３では、現在のノートオン・イベントに対してデュレーション「0」に定義されている奏法指定イベントがあるか否かを判定する。前記奏法指定イベントがある場合、つまり既に該ノートに対して何らかの奏法が付加済み（例えばユーザの手動設定により付加された奏法、あるいは予め楽曲データ中に定義済みである奏法など）である場合には（ステップＳ３のＹＥＳ）、該ノートは奏法を自動的に付加する対象としない。したがって、ステップＳ６の処理へジャンプする。一方、前記奏法指定イベントがない場合、つまり該ノートに対して何らかの奏法が付加済みでない場合には（ステップＳ３のＮＯ）、ボディ判定処理を行い（ステップＳ４）、該ボディ判定処理により得られた判定結果を奏法指定イベントとする（ステップＳ５）。
【００４２】
ステップＳ６では、現在のノートのノートオン及び奏法指定イベントを判定奏法（図３参照）として出力する。すなわち、上記ステップＳ３の処理において、奏法指定イベントがあると判定された場合はノートオン・イベントと共に当該奏法指定イベントをそのまま出力し、他方奏法指定イベントがないと判定された場合にはボディ判定処理により得られたボディ系奏法（例えば、ノーマルショートボディ、ビブラートボディ、ショットなどの各奏法モジュール）に対応する奏法指定イベントをノートオン・イベントと共に出力する。この際、各ボディ系奏法はノートオン時刻と同時刻（つまりノートオンイベントと同じ箇所）に指定する。なお、ショット以外のボディ系奏法については、ノートオン時刻とノートオフ時刻の間の適当な時刻（つまり当該ノートのノートオン・イベントから所定時間後であって、当該ノートのノートオフ・イベントが出る前の適宜の時点に対応する箇所）に指定するなどしてもよい。
【００４３】
ステップＳ７では、楽曲データ中に現在のノートに引き続いて次のノートがあるか否かを判定する。すなわち、楽曲が該ノートで終了することなく該ノート以降も楽曲が続くか否かを判定する。次のノートがない場合、つまり楽曲が該ノートで終了する場合には（ステップＳ７のＮＯ）、現在のノートのノートオフ・イベントを出力する（ステップＳ９）。次のノートがある場合、つまり該ノート以降も楽曲が続く場合には（ステップＳ７のＹＥＳ）、該ノートのボディの奏法指定イベントがショット（Shot）であるか否かを判定する（ステップＳ１６）。該ノートが１音全体を受け持つショット奏法である場合（ステップＳ１６のＹＥＳ）、ジョイント奏法は使用されないので、現在のノートのノートオフ・イベントを出力し（ステップＳ１７）、次のノートオン・イベントと、対応するノートオフ・イベントを取得して（ステップＳ１８）、次のノートに処理を進める（ステップＳ１５）。該ノートがショット奏法でない場合（ステップＳ１６のＮＯ）、現在のノートオフ・イベントと同時刻にある奏法指定イベントを取得する（ステップＳ８）。すなわち、現在のノートオフ・イベントに対してデュレーション「0」に定義されている奏法指定イベントを楽曲データから取得する。ステップＳ１０では、現在のノートオフ・イベントに対してデュレーション「0」に定義されている奏法指定イベントがあるか否かを判定する。前記奏法指定イベントがある場合、つまり既に前のノートと次のノートとの間に対して何らかの奏法が付加済みである場合には（ステップＳ１０のＹＥＳ）、該ノートは奏法を自動的に付加する対象としない。したがって、ステップＳ１４の処理へジャンプする。
【００４４】
一方、前記奏法指定イベントがない場合、つまり既に前のノートと次のノートとの間に対して何らかの奏法が付加済みでない場合には（ステップＳ１０のＮＯ）、楽曲データに含まれるイベントデータのうち、次のノートのノートオン・イベントと該ノートオン・イベントに対応するノートオフ・イベントを取得する（ステップＳ１１）。すなわち、楽曲データに基づき演奏する順に従って次の音符（以下、ノート）単位にノートオン及びノートオフ・イベントを取得することで、次のノートの演奏開始時刻と演奏終了時刻とを決定する。そして、現在のノートのノートオフ・イベントと取得した次のノートのノートオン・イベントとに基づきジョイント判定処理を実行し（ステップＳ１２）、該ジョイント判定処理により得られた判定結果を奏法指定イベントとする（ステップＳ１３）。ステップＳ１４では、現在ノートのノートオフ及び奏法指定イベントを判定奏法（図３参照）として出力する。すなわち、上記ステップＳ１０の処理において、奏法指定イベントがあると判定された場合はノートオフ・イベントと共に当該奏法指定イベントをそのまま出力し、他方奏法指定イベントがないと判定された場合にはジョイント判定処理により得られたジョイント系奏法に対応する奏法指定イベントをノートオフ・イベントと共に出力する。この際、各ジョイント系奏法はノートオフ時刻と同時刻に指定する。ステップＳ１５では次のノートに処理を進め、ステップＳ２の処理へ戻る。このようにして、楽曲データ中の全てのノートに対して上記ステップＳ２〜ステップＳ１８までの処理を繰り返し行うことにより、楽曲データ中の個々のノート単位に順次に奏法の付加の適否を判断し奏法を付加する。
【００４５】
次に、「ボディ判定処理」について説明する。図８は、図７に示した「奏法自動判定処理」で行われる「ボディ判定処理」（図７のステップＳ４参照）の一実施例を示すフローチャートである。
【００４６】
まず、最初のステップＳ２１では、現在ノートのノートオン時刻と該ノートオンに対応するノートオフ時刻とを取得する。ステップＳ２２では、該取得したノートオフ時刻からノートオン時刻を減算することによって現在ノートの音符長を計算する（ステップＳ２２）。すなわち、所定のノート１音の演奏開始から演奏終了までの時間を求める。ステップＳ２３では、求めた音符長がノーマルショートボディタイムよりも長いか否かを判定する。ノーマルショートボディタイムは、予めＲＯＭ２などに記憶された（あるいはユーザが適宜に「判定条件入力画面」を用いて入力した）時間長に関してのパラメータである。音符長がノーマルショートボディタイムよりも長い時間長であると判定した場合には（ステップＳ２３のＹＥＳ）、該ノート１音のボディ系奏法として用いる奏法モジュールをビブラートボディと判定する（ステップＳ２４）。一方、音符長がノーマルショートボディタイムよりも長い時間長でないと判定した場合には（ステップＳ２３のＮＯ）、さらに音符長がショットタイムよりも長いか否かを判定する（ステップＳ２５）。ショットタイムは、予めＲＯＭ２などに記憶された（あるいはユーザが適宜に「判定条件入力画面」を用いて入力した）ノーマルショートボディタイムよりも短い時間長に関してのパラメータである。音符長がショットタイムよりも長い時間長でないと判定した場合には（ステップＳ２５のＮＯ）、該ノート１音全体の奏法として用いる奏法モジュールをショットと判定する（ステップＳ２７）。音符長がショットタイムよりも長い時間長であると判定した場合には（ステップＳ２５のＹＥＳ）、該ノート１音のボディ系奏法として用いる奏法モジュールをノーマルショートボディと判定する（ステップＳ２６）。このように、「ボディ判定処理」では、あるノートのノートオン・イベントとノートオフ・イベントとをセットにして判定処理を行うことで、使用すべきボディ系もしくはショット系奏法モジュールの種類を決定する。
【００４７】
次に、「ジョイント判定処理」について説明する。図９は、図７に示した「奏法自動判定処理」で行われる「ジョイント判定処理」（図７のステップＳ１２参照）の一実施例を示すフローチャートである。
【００４８】
まず、最初のステップＳ３１では、現在のノートのノートオフ時刻と現在ノートに続く次のノートのノートオン時刻とを取得する。ステップＳ３２では、該取得したノートオン時刻からノートオフ時刻を減算することによって現在ノートから次のノートまでの休符長を計算する（ステップＳ３２）。すなわち、現在ノート１音の演奏終了から次のノート１音の演奏開始までの時間を求める。ステップＳ３３では、求めた休符長がノーマルジョイントタイムよりも長いか否かを判定する。ノーマルジョイントタイムは、予めＲＯＭ２などに記憶された（あるいはユーザが適宜に「判定条件入力画面」を用いて入力した）時間長に関してのパラメータである。休符長がノーマルジョイントタイムよりも長い時間長であると判定した場合には（ステップＳ３３のＹＥＳ）、該ノート１音は単独の１音であるとしてジョイント系奏法を使用しないと判定する（ステップＳ３４）。休符長がこのノーマルジョイントタイムよりも長い時間長でないと判定した場合には（ステップＳ３３のＮＯ）、さらに休符長がスラージョイントタイムよりも長いか否かを判定する（ステップＳ３５）。スラージョイントタイムは、予めＲＯＭ２などに記憶された（あるいはユーザが適宜に「判定条件入力画面」を用いて入力した）ノーマルジョイントタイムよりも短い時間長に関してのパラメータである。休符長がスラージョイントタイムよりも長い時間長でないと判定した場合には（ステップＳ３５のＮＯ）、該ノート１音は次のノート１音とスラーで接続される連続した音であるとしてジョイント系奏法として用いる奏法モジュールをスラージョイントと判定する（ステップＳ３７）。一方、休符長がスラージョイントタイムよりも長い時間長であると判定した場合には（ステップＳ３５のＹＥＳ）、該ノート１音は次のノート１音と連続した音であるとしてジョイント系奏法として用いる奏法モジュールをノーマルジョイントと判定する（ステップＳ３６）。このように、「ジョイント判定処理」では、あるノートのノートオフ・イベントと次のノートのノートオン・イベントとをセットにして判定処理を行うことで、使用すべきジョイント系奏法モジュールの種類を決定する。
【００４９】
ここで、上述したボディ判定処理及びジョイント判定処理により決定される各奏法を行った結果に基づいて、最終的に生成される波形について図を用いて説明する。まず、ボディ判定処理の結果に基づき生成される波形について図１０を用いて説明する。図１０は、所定のノート１音の音符長毎に対応して生成される１音の波形を示す概念図である。この実施例では、図の左側に判定条件と音符長との時間的な関係を示し、図の右側に判定奏法に基づき生成される波形をエンベロープ波形で示した。
【００５０】
所定のノート１音におけるノートオンとノートオフとにより決定される時間長（つまり音符長：図中において長方形で示した）がノーマルショートボディタイムよりも長い場合には、ボディ系奏法としてビブラートボディが選択される（図８のステップＳ２４参照）。したがって、この場合には図１０（ａ）に示すようにノーマルエントランスとビブラートボディとノーマルフィニッシュとを組み合わせたものにより当該１音の波形を表わすことになる。所定のノート１音における音符長がノーマルショートボディタイムよりも短く、かつショットタイムよりも長い場合には、ボディ系奏法としてノーマルショートボディが選択される（図８のステップＳ２６参照）。したがって、この場合には図１０（ｂ）に示すようにノーマルエントランスとノーマルショートボディとノーマルフィニッシュとを組み合わせたものにより当該１音の波形を表わすことになる。所定のノート１音における音符長がショットタイムよりも短い場合には、ボディ系奏法としてショットが選択される（図８のステップＳ２７参照）。したがって、この場合にはノーマルエントランスとノーマルショートボディとノーマルフィニッシュとを組み合わせたものにより当該１音の波形を表わすことなく、図１０（ｃ）に示すようにショットのみで当該１音の波形を表わすことになる。このように、楽曲データ中において奏法が付与されていないノートの音符長がノーマルショートボディタイムよりも長いような場合には、ノーマルエントランスとノーマルフィニッシュを組み合わせたものに対し、さらにビブラートボディを組み合わせることによって当該ノートを表わす。ノートの音符長がノーマルショートボディタイムよりも短く、かつショットタイムよりも長いような場合には、ノーマルエントランスとノーマルフィニッシュを組み合わせたものに対し、さらにノーマルショートボディを組み合わせることによって当該ノートを表わす。ノートの音符長がショットタイムよりも短いような場合には、ノーマルエントランスとノーマルフィニッシュを組み合わせることによって該ノートを表わすことをせずに、ショットのみを用いることによって当該ノートを表わす。
【００５１】
次に、ジョイント判定処理の結果に基づき生成される波形について図１１を用いて説明する。図１１は、所定のノートとそれに続く次のノートまでの休符長毎に対応して生成される連続する音の波形を示す概念図である。この実施例では、図の左側に判定条件と休符長との時間的な関係を示し、図の右側に判定奏法に基づき生成される波形をエンベロープ波形で示した。また、この実施例では、所定のノートとそれに続く次のノートのボディ系奏法が、ノーマルショートボディが指定（若しくは、前述のボディ奏法判定にて判定）されていたものとして示している。
【００５２】
所定のノート１音のノートオンと次のノートのノートオフとにより決定される時間長（つまり休符長：図中において長方形で音符長を示した先行するノートの最後から後続するノートの始まりまで）がノーマルジョイントタイムよりも長い場合には、ジョイント系奏法が選択されることがない（図９のステップＳ３４参照）。したがって、この場合には図１１（ａ）に示すように各ノートをノーマルエントランスとノーマルショートボディとノーマルフィニッシュとを組み合わせたものにより表わし、それぞれのノートをジョイント系奏法モジュールで接続していない独立した音の波形として表わすことになる。連続するノート間の休符長がノーマルジョイントタイムよりも短く、かつスラージョイントタイムよりも長い場合には、ジョイント系奏法としてノーマルジョイントが選択される（図９のステップＳ３６参照）。したがって、この場合には図１１（ｂ）に示すように先行するノートのノーマルフィニッシュと後続するノートのノーマルエントランスがノーマルジョイントに置きかえられたものにより連続するノートの波形を表わすことになる。連続するノート間の休符長がスラージョイントタイムよりも短い場合には、ジョイント系奏法としてスラージョイントが選択される（図９のステップＳ３７参照）。したがって、この場合には図１１（ｃ）に示すように先行するノートのノーマルフィニッシュと後続するノートのノーマルエントランスがスラージョイントに置きかえられたものにより連続するノートの波形を表わすことになる。このように、楽曲データ中において奏法が付与されていない連続するノート間の休符長がノーマルジョイントタイムよりも長いような場合には、前ノートの終端をノーマルフィニッシュで終わらせ、続くノートの始端をノーマルエントランスで始まらせ、それぞれのノート間を独立した音として表わす。連続するノート間の休符長がノーマルジョイントタイムよりも短く、かつスラージョイントタイムよりも長いような場合には、ノーマルジョイントを用いて各ノートを連続する波形として表わす。連続するノート間の休符長がスラージョイントタイムよりも短いような場合には、スラージョイントを用いて各ノートを連続する波形として表わす。
【００５３】
なお、アタック系奏法モジュールとボディ系奏法モジュールとリリース系奏法モジュール（あるいはジョイント系奏法モジュール）とを組み合わせることによって１音全体（あるいは連続する音）の波形を生成する方法は公知であることから、ここでの説明を省略する。
【００５４】
なお、奏法自動判定部Ｊ１は上述した「奏法自動判定処理」において「判定奏法」として奏法指定イベント情報を出力するようにしたが（図７のステップＳ６又はステップＳ１４参照）これに限らず、例えば奏法波形そのものを出力するようにしてもよい。こうした場合には、「奏法表示編集画面」に該奏法波形を表示するようにするとよい。
【００５５】
なお、上述した実施例においては「コネクト（Connect）」ボタンＧ３の押下に応じて楽曲データ再生・管理部Ｍ１を接続する奏法自動判定部Ｊ１が予め決められた１つのものである場合について説明したがこれに限らず、「コネクト（Connect）」ボタンＧ３の押下操作の回数などに応じて、奏法を問い合わせるために楽曲データ再生・管理部Ｍ１を接続する奏法自動判定部Ｊ１を変更できるようにしてよい。すなわち、楽曲データ管理・再生部Ｍ１に対して複数の奏法自動判定部Ｊ１を接続しておき、「コネクト（Connect）」ボタンＧ３の押下操作の回数などに応じて使用する奏法自動判定部Ｊ１を選択できるようにしてよい。こうすると、ユーザは「コネクト（Connect）」ボタンＧ３を操作するだけで、異なる判定条件で奏法を自動付加することができるようになる。すなわち、例えばギター音源や、ピアノ音源、サックス音源といった音源毎に異なる判定条件を予め対応するようにして設定しておくと、音源毎に当該音源に最適な奏法が最適な位置に自動的に付加されることとなり、ユーザにとって非常に便利である。
【００５６】
なお、上述した各実施例においては、ソフトウェア音源として単音発音するモノモードを例に説明したが複数音を発音するポリモードであってもよいことは言うまでもない。その場合、ボディ奏法判定処理のみを行い、ジョイント判定処理を行わない（それぞれを独立した１音として扱う）でもよい。また、楽曲データ管理・再生部Ｍ１において、複数のモノフォニックなシーケンスに分解し、それぞれのシーケンスを複数の奏法自動判定機能で処理させてもよい。その場合、分解の結果を奏法表示編集部Ｍ２に表示し、ユーザが確認及び修正できるようにすると便利である。
【００５７】
なお、波形データは上述したような「奏法モジュール」を用いることに限らず、ＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭのようなサンプリングされた波形サンプルデータを用いてもよいことは言うまでもない。すなわち、音源８における楽音信号発生方式は、いかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるＦＭ方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるＡＭ方式等の公知の方式を適宜採用してよい。このように、音源回路８の方式は波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源８を構成するものに限らず、ＤＳＰとマイクロプログラム、あるいはＣＰＵとソフトウェアを用いて音源回路８を構成するようにしてもよい。さらに、１つの回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、１つの発音チャンネルが１つの回路で形成されるようなものであってもよい。
【００５８】
なお、この奏法自動判定装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、音源装置、楽曲データの自動表情付け装置等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各装置を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置や自動演奏ピアノのような自動演奏装置、ゲーム装置、携帯電話等の携帯型通信端末などに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【００５９】
上述した実施例によれば、所定の楽器に特有な奏法を楽曲データに自動的に付加する際に、楽曲データ中のノートイベントに応じた音符長あるいは休符長の長さに従って付加する奏法を決定するようにしたことで、ユーザは時間的な奏法自動付加条件を変更するだけで自動的に付加される奏法を適宜に変えることができるようになる。したがって、ユーザは楽曲データに対する奏法の付加を効率的に実施することができるようになる、という効果が得られる。
また、奏法自動判定の結果を当該装置外部に接続されたシーケンサ等の外部機器にフィードバックすることができるようにしたために、奏法を付加した結果の楽曲データを再生すること以外にユーザが奏法自動判定の結果を確認することができるようになる、という効果が得られる。
【図面の簡単な説明】
【００６０】
【図１】この発明に係る奏法自動判定装置を適用した電子楽器のハードウェア構成例を示すブロック図である。
【図２】各種データを説明するための概念図であり、図２（ａ）は楽曲データの一実施例を説明するための概念図、図２（ｂ）は波形データの一実施例を説明するための概念図である。
【図３】当該電子楽器が具える奏法自動判定機能と奏法編集機能とを説明するための機能ブロック図である。
【図４】奏法表示編集画面の一実施例を示す概念図である。
【図５】再生部分指定画面の一実施例を示す概念図である。
【図６】判定条件入力画面の一実施例を示す概念図である。
【図７】奏法自動判定処理の一実施例を示したフローチャートである。
【図８】ボディ判定処理の一実施例を示すフローチャートである。
【図９】ジョイント判定処理の一実施例を示すフローチャートである。
【図１０】所定のノート１音の音符長毎に対応して生成される１音の波形を示す概念図である。
【図１１】所定のノートとそれに続く次のノートまでの休符長毎に対応して生成される連続する音の波形を示す概念図である。
【符号の説明】
【００６１】
１  ＣＰＵ、１Ａ  タイマ、２  ＲＯＭ、３  ＲＡＭ、４  外部記憶装置、５  演奏操作子（鍵盤等）、６  パネル操作子（スイッチ等）、７  表示器、８  音源、８Ａ  サウンドシステム、９  インタフェース、１Ｄ  通信バス、Ｍ１  楽曲データ管理・再生部、Ｍ２  奏法表示編集部、Ｍ３  再生部分指定部、Ｊ１  奏法自動判定部、Ｊ２  判定条件指定部、Ｊ３  楽音合成部、Ｊ４  音色設定部
【図１】
2006276894.tif 000003
【図２】
2006276894.tif 000004
【図３】
2006276894.tif 000005
【図４】
2006276894.tif 000006
【図５】
2006276894.tif 000007
【図６】
2006276894.tif 000008
【図７】
2006276894.tif 000009
【図８】
2006276894.tif 000010
【図９】
2006276894.tif 000011
【図１０】
2006276894.tif 000012
【図１１】
2006276894.tif 000013