以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係るアルペジオ演奏装置の全体構成の一実施例を示したハード構成ブロック図である。本実施例に示すアルペジオ演奏装置(アルペジエータ)は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータによって制御される。すなわち、CPU1は、各種プログラムを実行することにより本アルペジエータにおける録音や再生動作などを制御する中央演算処理装置(Central Processing Unit)である。タイマ1Aは動作時の経過時間を計時したり、タイマ割込み処理(インタラプト処理)における割込み時間などを発生するタイマであり、時間管理等に使用される。ROM2は、CPU1により実行される各種プログラムや各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。
表示器4は例えば液晶表示パネル(LCD)やCRT等のディスプレイであり、演奏者自身による自然楽器を用いてのアルペジオ演奏(実演奏)の録音時や、後述するフレーズ波形データ再生時などに各種情報を表示する、あるいはCPU1の制御状態などを表示する。操作子5は前記実演奏の録音時や波形データ再生時などに各種指定や指示等を行うための操作子であり、例えばパターン演奏データ(後述する図3参照)に基づく自動演奏(つまり模範とするアルペジオ演奏)の開始・停止を指示する演奏スイッチ、実演奏の録音開始・停止を指示する録音スイッチ、所定のアルペジオパターンを指定するパターン指定スイッチ、コードを指定するコード指定スイッチ、アルペジオ演奏用に割り当てられたマップデータ(後述する図7参照)を選択するマップ選択スイッチなどがある。勿論、これら以外にも、音高、音色、効果等を選択・設定・制御するために用いる数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示器4に表示される所定のポインティングデバイスを操作するために用いるマウスなどの各種操作子を含んでいてよい。また、楽音の音高を選択するための複数の鍵を備えた例えば鍵盤等のような演奏操作子を含んでいてよい。演奏者は前記表示器4に表示された各種情報を参照しながらこれらの操作子5を操作することで、例えば実演奏されたアルペジオ演奏を記録したフレーズ波形データ(後述する図5参照)の確認や加工を行ったり、既に作成済みのマップデータの編集や使用対象とするマップデータの選択などを容易に行うことができる。
音源6は複数のチャンネルで楽音信号の同時発生が可能であり、データ及びアドレスバス1Dを経由して与えられた、録音時に自動演奏されるパターン演奏データ(図3参照)に従う各種演奏情報を入力し、これらの演奏情報に基づいて楽音信号を生成する。こうした音源6は、例えばFM、PCM、物理モデル、フォルマント合成等の各種楽音合成方式のいずれを採用してもよく、また専用のハードウェアで構成してもよいし、CPU1によるソフトウェア処理で構成してもよい。音源6から発生された楽音信号は、ミキサ7及びDAC8を介してサウンドシステム9から発音される。ミキサ7は、音源6で生成された楽音信号や後述する再生回路14で再生された楽音信号をミキシングしてDAC8に送るミキサであり、DAC8はミキサ7から供給されたディジタルの楽音信号をアナログの楽音信号に変換してサウンドシステム9に送るディジタル−アナログ信号変換器である。サウンドシステム9は、DAC8から供給された楽音信号を増幅して放音するためのアンプやスピーカなどを含む。
マイクロフォン10は、演奏者による実際のマニュアル演奏操作(実演奏)に応じて発せられる自然楽器(例えばギターやピアノなど)からの楽器音を入力するものであり、該入力した楽器音の波形信号はADC11に送られる。ADC11は、供給された楽器音のアナログ波形信号をディジタルのフレーズ波形データに変換するアナログ−ディジタル信号変換器であり、変換されたフレーズ波形データは録音回路12の制御の基でハードディスク13に記録される。記録されたフレーズ波形データには、後述するように所定の属性情報が付与されると共に、音源6で実演奏の録音時に再生されたパターン演奏データに基づいてデータ分析されることに応じて、各音(部分波形)毎に対応するパターン分析データ(後述する図5参照)が付与される。上記した実演奏を録音することによるフレーズ波形データの記録、該記録したフレーズ波形データへの属性情報やパターン分析データの付与などの各処理は、CPU1が「データ生成処理」のプログラム(後述する図6参照)を実行することにより行われる。また、該生成したフレーズ波形データを使用できるようにするためには、使用対象とするフレーズ波形データをアルペジオパターン毎にマッピングしたアルペジオ演奏用のマップデータに対して、演奏者が前記生成したフレーズ波形データを予め登録しておかなければならない。これらについての詳細な説明は後述する。再生回路14は、アルペジオパターンやコードの指定に応じてハードディスク13から再生対象のフレーズ波形データを読み出し、これを用いて演奏波形データを生成する。この再生回路14により生成された演奏波形データはアルペジオ演奏を実現するものであり、ミキサ7及びDAC8を介してサウンドシステム9から放音される。
MIDIインタフェース15は、外部接続された他のMIDI機器等(図示せず)からMIDI形式の演奏データ(MIDIデータ)を当該アルペジエータへ入力したり、あるいは当該アルペジエータからMIDI形式の演奏データ(MIDIデータ)を他のMIDI機器等へ出力するためのインタフェースである。他のMIDI機器はユーザによる操作に応じてMIDIデータを発生する機器であればよく、鍵盤型、弦楽器型、管楽器型、打楽器型、身体装着型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。なお、MIDIインタフェース15は専用のMIDIインタフェースを用いるものに限らず、RS-232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェース15を構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェース15として上記したような汎用のインタフェースを用いる場合には、他のMIDI機器はMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、演奏データのデータフォーマットはMIDI形式のデータに限らず他の形式であってもよく、その場合はMIDIインタフェース15と他のMIDI機器はそれにあった構成とする。その他インタフェース16は、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワークに接続される通信インタフェースであり、通信ネットワークを介してサーバコンピュータ(図示せず)と接続され、当該サーバコンピュータから制御プログラムあるいは各種データなどをアルペジエータ側に取り込む。例えばROM2等に制御プログラムや各種データが記憶されていない場合には、サーバコンピュータから制御プログラムや各種データをダウンロードするために用いられる。こうしたその他インタフェース16は、有線あるいは無線のものいずれかでなく双方を具えていてよい。
次に、本発明に係るアルペジオ演奏装置(アルペジエータ)において、フレーズ波形データを記録する処理、フレーズ波形データへの属性情報やパターン分析データを付与する処理について、図2〜図6を参照しながら説明する。まず、実演奏の録音に伴うフレーズ波形データの記録について、図2を用いて説明する。図2は、本発明に係るアルペジオ演奏装置においてフレーズ波形データを記録する際の態様を示す概念図である。
本発明に係るアルペジエータにおいてフレーズ波形データを記録する際には、図2に示すように、まず自動演奏手段21に、パターン選択スイッチなどの操作に応じて指定した所望のアルペジオパターンに従ってROM2あるいはRAM3等から構成される模範パターン演奏データ発生部20から発生された1乃至複数のフレーズからなる模範パターン演奏データ(後述する図3参照)を供給して、模範となるアルペジオ演奏を自動演奏させる。このフレーズには、指定されたアルペジオパターンを実現する特徴情報を有する音符が含まれている。自動演奏手段21は、図1に示すCPU1及び音源6により主に構成されている。そして、CPU1が図示しない公知の自動演奏プログラムを実行することにより、ROM2あるいはRAM3等から読み出したパターン演奏データ20に基づいて音源パラメータを生成し、この音源パラメータを音源6に供給することにより、音源6は演奏波形データを生成する。音源6において生成された演奏波形データは、ミキサ7及びDAC8を介してサウンドシステム9に接続されているヘッドフォン26から放音される。ヘッドフォン26は演奏者22が装着していることから、演奏者22は模範パターン演奏データに基づく演奏音を聴取することができる。
ここで、上述した模範となるアルペジオ演奏を実現するパターン演奏データについて、図3を用いて簡単に説明する。図3は、パターンデータのデータ構成の一実施例を説明するための概念図である。この図3に示すパターンデータは、所定のアルペジオパターン毎に付与される固有の番号等からなるパターンIDと、例えばSMF(Standard MIDI File)等のMIDI形式とされた1乃至複数フレーズ分の模範となるアルペジオ演奏を表わすシーケンスデータであるパターン演奏データとを含んでなり、このパターンデータはROM2やRAM3等に格納されている。パターン演奏データは、タイミングデータとイベントデータとの組み合わせからなる。イベントデータは、楽音の発音を指示するノートオンイベントや楽音の消音を指示するノートオフイベント等の演奏イベント情報に関するデータである。このイベントデータは、タイミングデータと組み合わされて使用される。本実施例でのタイミングデータとは、イベントデータから次のイベントデータまでの時間間隔を示す時間データ(すなわち、デュレーションデータ)であるがこれに限らず、ある特定の時間からの相対時間、あるいは絶対時間そのものを用いる等どのようなフォーマットでもよい。要するに、パターン演奏データの形式としては、イベントの発生時刻を曲や小節内における絶対時間で表した『イベント+絶対時間』形式のもの、イベントの発生時刻を1つ前のイベントからの時間で表した『イベント+相対時間』形式のもの、音符の音高と符長あるいは休符と休符長で演奏データを表した『音高(休符)+符長』形式のもの、演奏の最小分解能毎にメモリの領域を確保し、演奏イベント情報の発生する時刻に対応するメモリ領域にイベントを記憶した『ベタ方式』形式のものなど、どのような形式のものでもよい。なお、パターン演奏データには上記イベントデータやタイミングデータの他に、各種音源コントロールデータ(例えばボリュームなどを制御するデータ)などを含んでいてもよい。
図2の説明に戻って、演奏者22は上記した模範パターン演奏データに基づく自動演奏(自動伴奏)の演奏音を聴取しながら、該演奏音に倣ってギターなどの自然楽器を用いて実際にアルペジオ演奏する。この演奏者22によるアルペジオ演奏はヘッドフォン26から放音されている演奏音を聴きながら行われるため、該演奏音に倣って行われたアルペジオ演奏は同様のアルペジオパターンをもつ自然な音によるものとなる。こうしたマニュアル演奏によるアルペジオ演奏の波形(これをフレーズ波形と呼ぶ)はマイクロフォン10を介して波形録音手段23に供給され、サンプリングされてディジタルのフレーズ波形データとされてフレーズ毎にハードディスク13等で構成されるフレーズ波形データ記録部24に記録されるようになる。この場合、自動演奏手段21と波形録音手段23とのクロックはクロック同期ライン25により同期化されていることから、演奏タイミングに同期化されてフレーズ波形データは記録されるようになる。この同期化では、波形録音手段23のサンプリングクロックと自動演奏手段21の動作クロックとを共通化すると共に、自動演奏開始と録音開始とのタイミングを一致させる、あるいは両タイミングの差を記憶するようにしている。これにより、フレーズ波形データ記録部24に記録したフレーズ波形データと自動演奏されるパターン演奏データの全区間にわたる同期が保証されるようになる。したがって、パターン演奏データのテンポが途中で変更されていたとしても、同期化には全く影響を与えない。なお、上記録音時に自動再生される演奏音は、指定された「コード」に応じて音高の修正されたパターン演奏データに基づいて生成されることから、こうした自動再生を「自動伴奏(再生)」と呼ぶ。
波形録音手段23及びフレーズ波形データ記録部24は、図1に示すCPU1、ADC11、録音回路12、ハードディスク13により構成されている。そして、CPU1の制御の基でマイクロフォン10から入力された楽器音であるフレーズ波形をADC11においてサンプリングしてディジタルのフレーズ波形データに変換している。このフレーズ波形データは、録音回路12によりハードディスク13の所定の記憶領域に書き込まれて記録される。なお、自動演奏の態様としては、当該フレーズの録音したいアルペジオパート(アルペジオ演奏されたパート)だけのパターン演奏データからなるソロパート演奏であるのがよいがこれに限らない。例えば、当該フレーズの録音したいアルペジオパートを含む複数パートのパターン演奏データからなる全パート演奏であってもよいし、当該フレーズの録音したいアルペジオパートを除く1乃至複数パートのパターン演奏データに基づくマイナスワン演奏であってもよい。演奏者22は、何れかの演奏音であっても、それを聴きながらアルペジオパートの演奏を行い、アルペジオパートのフレーズを録音できる。なお、後述するフレーズの分割のため、マイナスワン演奏の場合であっても、そのマイナスワン演奏に対応するパターン演奏データにはアルペジオパートの演奏データが含まれていなければならない。
次に、自動演奏されるパターン演奏データと、実演奏に伴い記録されるフレーズ波形データとの関係について、その概略を図4に示す。図4は、パターン演奏データとフレーズ波形データとの関係を示す概略図である。ただし、この実施例に示すパターン演奏データは図4上段に示すようにコード「C(メジャー)」のコード構成音「C(ド)」「E(ミ)」「G(ソ)」の各音からなる所定のアルペジオパターンを実現するものであり、ここでは五線符上の音符で表している。このパターン演奏データに基づき発生される演奏音をヘッドフォン26から聴取しながら、その演奏音にあわせて演奏者が実際に自然楽器を用いてアルペジオ演奏することに応じて記録されるフレーズ波形データは、図4下段に示すような複数音の波形が時間的に連続する一連の波形である。
本発明によれば、上記のようにして記録されたフレーズ波形データに対して後述する属性情報を付加すると共に、該記録されたフレーズ波形データを分析することにより、その発音タイミングや音高などのアルペジオに関連する各種特徴データを抽出し、これに基づきパターン分析データを生成し、該パターン分析データをフレーズ波形データに付加することにより、これらを1組のフレーズデータとして管理する。本発明に係るアルペジエータでは、このフレーズデータに従いアルペジオ演奏を実行する。そこで、こうしたフレーズデータのデータ構造及びデータ生成手順について、それぞれ説明する。まず、フレーズデータのデータ構造について、図5を用いて説明する。図5は、フレーズデータのデータ構造の一実施例を示す概念図である。
図5に示すように、フレーズデータはフレーズID、パターンID、コードルート、コードタイプなどの属性情報と、パターン分析データと、フレーズ波形データとを含んでなる。「フレーズID」は、フレーズ波形データが記録される度に適宜に付加される固有の番号であり、例えば記録順に適宜に固有のシリアル番号等が割り振られる。「パターンID」は該フレーズ波形データがどのような模範のアルペジオパターンに従って演奏されて記録されたものであるかを示すものであり、フレーズ波形データの記録時に用いたパターンデータ(図2参照)のパターンIDと同様のIDが付される。「コードルート」及び「コードタイプ」は、フレーズ波形データの記録時に用いたコードのルート音とコードの種類を示す。属性情報には、さらに、記録時のテンポである「テンポ」を含めてもよい。「パターン分析データ」は記録したフレーズ波形データの分析に基づき付加されるデータであり、後述するようにフレーズ波形データを分析して求められる各音符(各部分波形)毎の音高情報やスタート/エンドポイント(フレーズ波形データベースにおける各部分波形のスタートアドレス及びエンドアドレス)などの、分割した各音符毎の特徴情報である。この「パターン分析データ」は記録されたフレーズ波形データを分析することにより求められる特徴情報であることから、該フレーズ波形データを記録するときに用いたパターン演奏データ(図3参照)とは必ずしも一致するわけではなく、幾分適宜異なるデータとなる。例えば演奏者がアルペジオパターンの一部の音高を間違ってマニュアル演奏したような場合や演奏タイミングがずれたような場合には、パターン分析データはパターン演奏データとは異なる。「フレーズ波形データ」は、記録したフレーズ波形データである。なお、フレーズデータでは実際のフレーズ波形データそのものを記憶することなく、実際にフレーズ波形データが記憶されているデータ記憶領域を指し示すパス情報である管理情報を記憶しておき、これに基づきハードディスク13など実際にフレーズ波形データを記憶しているデータ記憶領域から該当するフレーズ波形データを読み出すようにしてあってもよい。
次に、上記したフレーズデータを生成する手順(フレーズデータ生成処理)について、その処理手順をまとめて説明する。図6は、フレーズデータ生成処理の一実施例を示すフローチャートである。この処理を実行する前に、予めテンポが指定されているものとする。ステップS1では、鍵盤等を使用して、録音したいアルペジオパターン(パターンID)とコード(ルート音とコード種類)とを指定する。ステップS2では、前記指定されたテンポで、前記指定されたアルペジオパターンのパターン演奏データと該指定されたコードに基づいて自動伴奏再生して該指定されたコードでのアルペジオ音を、音源6(例えば、波形メモリ音源)を使用して発生する。すなわち、フレーズ波形データ記録の際に基準(模範)アルペジオ演奏として参照できるように、指定されたコードに従うコード構成音を用いて、指定されたアルペジオパターンのパターン演奏データに含まれる各イベントデータの音高を修正し、修正されたパターン演奏データに従う模範となるアルペジオ演奏の音を自動(伴奏)再生する。こうして、この模範アルペジオ演奏を演奏者が聴取し得るようにする。こうして再生された模範となるアルペジオ演奏にあわせて(模倣して)、演奏者が実際にリアルタイムに楽器でアルペジオ演奏をマニュアル演奏する。ステップS3では、マニュアル演奏されたアルペジオ演奏を録音し、これをフレーズ波形データとして記録する。ステップS4では前記記録したフレーズ波形データに対して、前記ステップS1で指定したパターン、コード、テンポ等をパターンID、コードルート及びタイプ、及び、テンポとする属性情報(図5参照)を付加すると共に、該記録したフレーズ波形データを分析し、その結果をパターン分析データとして付加して、これをフレーズデータとしてハードディスク13に保存する。
ここで、上記「パターン分析データ」を付加するために実行するデータ分析(上記ステップS4参照)について、説明する。上記した図2に示す自動演奏処理手段21において自動演奏(自動伴奏)を、波形録音手段23において該自動演奏にあわせた演奏者22の実演奏による楽器音のサンプリングをそれぞれ行っているため、記録されたフレーズ波形データには記録したいアルペジオ演奏に対応する波形分割のための演奏データ(対応演奏データ)が必ず存在することになる。この対応演奏データは、そのフレーズ波形データの録音時に自動演奏(自動伴奏)されていたパターン演奏データに含まれるアルペジオパートの演奏データに対し、同録音時に指定されていたコードに応じた音高の修正を加えた演奏データである。そこで、対応演奏データ(およびそのフレーズ波形データ自身の分析結果)に従って、フレーズ波形データを対応演奏データの各音符に対応する部分波形に分割する。次いで、分割された各部分波形に対応する、その音高、音長や強度等のデータ(パターン分析データ)を、対応演奏データの各音符の演奏情報を参照するなどして付与する。この場合、パターン演奏データにフレーズ波形データは同期しているため、対応演奏データの発音タイミング等だけでも部分波形へ分割することができる。また、フレーズ波形データを周波数分析(フォルマント分析、FFT分析等)してその分割位置や付与する音高、音長、強度等のデータを補正するようにしてもよい。すなわち、パターン演奏データに従って仮決定された仮の分割位置を基準にして、その近傍で部分波形のフォルマントの開始位置をサーチし、検出された開始位置を分割位置として決定することができる。このようにすると、フレーズ波形データの分析結果だけに基づいて分割するのに比べて、音楽的に正確な位置での分割、及び、正確な音高、音長、強度等のデータの付与が可能になる。
このようにしてフレーズ波形データを分割した例を、図4に示す。この例の場合、先頭から順に、部分波形aは対応演奏データの八分音符「C(ド)」に、部分波形bは八分音符「E(ミ)」に、部分波形cは八分音符「G(ソ)」に、部分波形dは八分音符「E(ミ)」に、部分波形eは四分音符「G(ソ)」に、部分波形fは四分音符「E(ミ)」にそれぞれ対応している。このようにして分割した各部分波形の音高情報、スタート/エンドポイント(アドレス)などがパターン分析データとして付加される。なお、上述したように、パターン演奏データとフレーズ波形データとは同期化されているため、各部分波形は対応演奏データの各音符の演奏タイミングに合致していると共に、音符に対応した音の長さの波形となっている。さらに、単音としてマニュアル演奏された自然楽器の楽器音を記録するのではなく、パターン演奏データに基づくフレーズの演奏音を聴きながらマニュアル演奏された自然楽器からのフレーズの楽器音を記録していることから、その音色も自然な音色とされた波形となっていることは言うまでもない。
さらに説明すると、対応演奏データだけによる分割手法においては、自動演奏されるパターン演奏データとフレーズ波形データとが完全に同期がとれた状態とされていることを利用して分割している。このため、対応演奏データに含まれる各音符のデータに従って、各音符に対応する時間範囲(音符に対応する音のスタートタイミング(ノートオン)からリリース開始(ノートオフ)後の音の減衰するまで、又は次の音符が始まるまでの時間範囲)のフレーズ波形データを部分波形として切り出すことができる。しかし、フレーズ波形データは演奏者自身が実演奏したアルペジオ演奏をサンプリングしたものであるため、対応演奏データの音符のスタートタイミングと、フレーズ波形データのその音符に対応する波形のスタートタイミングとは必ずしもあっておらず、ずれている場合もある。そこで、対応演奏データの各音符の開始タイミングを基準に、フレーズ波形データのその前後区間(例えば開始タイミングの前後数秒)の波形を分析し、フレーズ波形データにおける音符の開始タイミングを検出して分割位置を補正するようにすると、部分波形を正確に切り出すことができるようになる。
分割位置を補正する際に用いる波形分析手法としては、フォルマント分析及びFFT分析を採用することができる。このフォルマント分析では、まず対応演奏データの各音符の開始タイミングを基準に、フレーズ波形データの前後区間の波形データの相関関数からLPC(Linear Prediction Coding)係数を算出する。次いで、LPC係数をフォルマントパラメータに変換してフレーズ波形データにおけるフォルマントを求める。そして、当該音符に対応するフォルマントの立ち上がり位置から(その直前のアタックノイズの立ち上がりを含む)その音符の開始タイミングを検出する。これにより、音楽的に正確な位置で部分波形データを切り出して、各音符に対応する部分波形に分割することができる。また、FFT分析では、まず対応演奏データの各音符の開始タイミングを基準に、フレーズ波形データの前後区間について時間窓を移動しながらフレーズ波形データの高速フーリエ変換を行う。次いで、当該音符に対応する基音および複数倍音の軌跡を検出し、検出された基音および複数倍音の軌跡における立ち上がり位置から(その直前のアタックノイズの立ち上がりを含む)その音符の開始タイミングを検出する。この手法によっても、音楽的に正確な位置で部分波形を切り出して、各音符に対応する部分波形に分割することができる。また、検出された基音および複数倍音の軌跡から各部分波形の音高や強度が決定できるので、それに基づいて対応演奏データに含まれる各音符の音高や強度のデータを補正して当該部分波形に付与することができる。なお、ここでは、フォルマント分析とFFT分析について説明したが、分割位置や音高、強度等のデータを補正するための分析には、その他のピッチ分析やエンベロープ分析等の分析方法を用いてもよい。
以上のようなフレーズ波形データの記録後、使用対象とするフレーズ波形データをアルペジオパターン毎にマッピングしたアルペジオ演奏用のマップデータに対して、演奏者は前記生成したフレーズ波形データを予め登録しておかなければならない。そこで、こうしたマップデータについて、図7を用いて説明する。図7は、マップデータのデータ構造の一実施例を示す概念図である。
マップデータは、マップID、パターンID、範囲数情報、範囲数情報に対応する数に区分された各範囲データ毎のフレーズIDとから構成されるマッピングのためのデータである。「マップID」は、作成されたマップデータ毎に適宜に割り振られる固有の番号である。「パターンID」はアルペジオパターン毎に付与されるパターンIDであり、1つのマップに複数のパターンIDに係る情報を登録することができる。例えば、本発明に係るアルペジエータ駆動時に、どのアルペジオパターンを適用するかを該「パターンID」で指定する。「範囲数」情報は当該1つのパターンIDに対応して、いくつの範囲で異なるフレーズデータを適用するかを示す情報である。例えば、「3」であれば当該1つのパターンIDに対応するアルペジオパターンとして3個の範囲に夫々対応付けて異なるフレーズデータを使用し、あるいは「10」であれば10個の範囲に夫々対応付けて異なるフレーズデータを使用することを意味する。ここで使用される複数のフレーズデータは、属性情報として当該1つのパターンIDと同じパターンIDを有するフレーズデータである。各範囲データ毎の「フレーズID」は、各範囲データで規定された範囲毎に使用する対象のフレーズデータ(図5参照)を指定する。範囲の決め方としては、例えば「コードのルート音」の音域で分けるやり方がある。すなわち、コードのルート音を所定音域毎に複数の範囲に区分し、各範囲により適用するフレーズ波形データを変える。例えば、「C〜E♭」、「E〜G」、「A♭〜B」のように1オクターブを3つの音域に対応する範囲に分け、それぞれに適用するフレーズ波形データを異ならせる。一般的に、例えばコード「C(メジャー)」で記録したフレーズ波形データを適用して、コード「G(メジャー)」をアルペジエータで実現しようとする場合、「C」を「G」にピッチシフトするなどピッチシフト量が多いと、音色や音質に大きな変化が生じてしまい都合が悪い。こうした不都合を防止するために、ここではルート音の音域(範囲)毎に適用すべきフレーズ波形データを変えるようにしている。なお、範囲の区分の仕方としては上記した「コードのルート音」に限らない。例えば、「コードタイプ」や「コードのベロシティ」(コード構成音に対応する複数の演奏操作子を操作した際の各演奏操作子のベロシティの平均値を取ったもの)、「録音時のテンポ」などを基準にして、あるいはこれらを適宜に組み合わせたものを基準にして、複数の範囲に区分し、各範囲毎に異なるフレーズ波形データを指定できるようにしてよい。ここで、複数のフレーズ波形データをマッピングするマップデータを形成する場合には、その各フレーズデータのフレーズ波形データが受け持つ範囲を、そのフレーズデータの有する「コードルート」、「コードタイプ」、「テンポ」等の属性情報を参照して決定するとよい。このようなコード、ベロシティ、テンポ等の範囲に応じたフレーズ波形データの切り替えによれば、上述したような音色、音質の劣化防止ができるだけでなく、コード、ベロシティ、テンポ等に応じてフレーズを構成する個々の部分波形に音色・表情の変化をつけることができる。
次に、図1に示したアルペジエータの再生回路14で実行する再生処理の概要について、図8を用いて説明する。図8は、本発明に係るアルペジオ演奏装置(アルペジエータ)で実行する波形データ再生処理の概要を説明するためのブロック図である。この図8において、図中の矢印はデータの流れを表す。
まず、演奏者はマップ選択スイッチの操作に応じて、予め使用するマップデータを特定しておく(図示せず)。次に、演奏者はパターン選択スイッチ等の操作子5を操作してアルペジオ演奏させたい所望のアルペジオパターンを選択すると共に、鍵盤あるいは各コードに対応したコード指定スイッチ等の操作子5を操作することにより、コードを入力する。すると、上記鍵盤等の操作子5の操作に応じて、操作子5からノートオン、ノートオフ、その他のコントローラ信号などの演奏情報がコード検出部31に対して出力される。この鍵盤からの演奏情報は、それぞれノートオン・ノートオフ・コントロールチェンジなどのMIDI情報としてコード検出部31に入力される。コード検出部31では、前記演奏情報の組み合わせに基づきコードルート音、コードタイプ(さらにはコードルート音の音域、コードベロシティなど)を検出し、これをフレーズデータ選択部34及び模範アルペジオパターン再生部35に送る。一方、上記以外の他の操作子5の操作に応じて、操作子5からどのスイッチが操作されたかを表す操作情報が操作検出部32に対して出力される。操作検出部32では操作された操作子5の種類に応じて、例えばパターン選択スイッチの操作に応じて「パターン指定」情報をフレーズデータ選択部34及び模範アルペジオパターン再生部35に、テンポ設定スイッチの操作に応じて「テンポ指示」情報をテンポクロック部37にそれぞれ送る。テンポクロック部37は、「テンポ指示」情報の示すテンポのテンポクロックを生成する。フレーズデータ選択部34は、前記コード検出部31からの「コード指定」情報及び前記操作検出部32からの「パターン指定」情報および「テンポ指示」情報に基づき、ハードディスク13内のアルペジオフレーズDB(データベース)33から適用すべきフレーズ波形データを取得する。すなわち、アルペジオフレーズDB33にはマップデータとフレーズデータがそれぞれ複数記憶されており、予め指定済みのマップデータ(図7参照)のうちの「パターン指定」情報に対応する「パターンID」のデータセットから、「コード指示」情報に含まれるコードルート音とコードタイプ、及び、「テンポ指示」情報の示すテンポを範囲に含む範囲データのフレーズIDを確定する。そして、該確定されたフレーズIDに基づき対応するフレーズデータ(図5参照)、つまりフレーズ波形データ及び対応するパターン分析データを決定する。模範アルペジオパターン再生部35は、前記コード検出部31からの「コード指定」情報及び前記操作検出部32からの「パターン指定」情報とに基づき、ハードディスク13内の模範パターンデータDB(データベース)36から対応する「パターンID」を有するパターン演奏データ(図3参照)を取得して、規範となるアルペジオ演奏と同等のアルペジオパターンを生成する。すなわち、パターンデータDB36にはパターンデータが記憶されており、「パターン指定」情報に対応する「パターンID」のパターン演奏データを取得し、「コード指定」情報の示すルート音とコードタイプとに基づいて、そのパターン演奏データに含まれる各イベントデータの音高を修正して、修正されたパターン演奏データを規範アルペジオパターンとしてフレーズ再生部38に出力する。
フレーズ再生部38は、模範アルペジオパターン再生部35から供給される該規範アルペジオパターンに従って、フレーズデータ選択部33により選択されたフレーズデータを用いて楽音合成を行うことにより演奏波形データを生成し、これをサウンドシステム9から出力することで、アルペジオ演奏の楽音を出力する。この際に、フレーズデータ選択部33により選択されたフレーズ波形データに従って楽音合成を単に行うのではなく、同フレーズ選択部33により選択されたパターン分析データ、該規範アルペジオパターンのパターン演奏データ、及び、テンポクロック部37からのテンポクロックに基づいて、前記フレーズ波形データを部分波形(当該フレーズを構成する各音毎の波形)毎に修正しながら楽音合成して演奏波形データを生成する。具体的には、前記フレーズ波形データの各部分波形を該規範アルペジオパターンのパターン演奏データの各音符のイベントと対応付けるとともに、その各部分波形を、該フレーズ分析データの示すその部分波形の音高が当該対応する音符の音高となるようにピッチシフトによるピッチ補正を施し、かつ、その部分波形の再生タイミングおよび音長が、該テンポクロックでの演奏における当該対応する音符の発音タイミングおよび音長となるよう再生開始・終了タイミングの修正などを行う。すなわち、選択されたフレーズ波形データに基づく音の変化状態はパターン分析データにあるから、これと規範アルペジオパターンにおける各音について差分をとり、フレーズ波形データの各音(各部分波形)に対して前記差分の分だけ音高およびタイミングの補正を行う。なお、フレーズ分析データには各部分波形の強度も記録されているので、さらに各音についてのベロシティに基づく強度の補正を行うこともできる。
例えば、録音時の規範となるアルペジオ演奏がコード「C(メジャー)」であった場合には、記録されるフレーズ波形データもコード「C(メジャー)」のコード構成音である「C」「E」「G」の各音を用いたアルペジオパターンとなり、パターン分析データとしては各部分波形の音高として「C」「E」「G」がその構成音の演奏順に記録される。このコード「C(メジャー)」のコード構成音で形成されたフレーズ波形データを用い、且つコード指定としてコード「Cm(マイナー)」が指定された場合には、コード「Cm(マイナ−)」のコード構成音は「C」「E♭」「G」であることから、前記記録されたフレーズ波形データをそのまま用いると所望のコードのアルペジオ演奏が出力されない。そこで、パターン分析データと模範アルペジオパターンにおける各音について差分をとることによって補正する対象とピッチシフト量とを求める。この例では、フレーズ波形データ中の「E」の音についてのみピッチシフトして「E♭」とする。また、例えば上記コード「C(メジャー)」の構成音で形成されたフレーズ波形データを用い、且つコード指定としてコード「E(マイナ)」が指定された場合には、従来知られたサンプラでは全ての音が一律に同じ量だけピッチシフト(ここでは2全音)されていたことから、「C」から2全音上の「E」へ、「E」から2全音上の「A♭」へ、「G」から2全音上の「B」へとそれぞれピッチシフトされる。ところが、コード「E(マイナ)」のコード構成音は「E」「G」「B」であり、上記のように一律にピッチシフトすると、第2音である「G」が「A♭」となりメジャーのコードになってしまう。これに比べて、本発明に係るアルペジエータにおいては従来のサンプラと同様に、フレーズ波形データを用いることにはかわりはないが、フレーズ波形データの各音(各部分波形)に対して個別に求めた差分の分だけピッチをシフトするようにして補正することから、「C」から2全音上の「E」へ、「E」から1全音1半音上の「G」へ、「G」から2全音上の「B」へとそれぞれピッチシフトされて、指定されたコードに応じた正確なアルペジオ演奏を行うことができるようになる。
さらに、再生開始・終了タイミングについては、テンポクロックにあわせて模範としたパターンデータにあわせるようにして、公知の時間軸拡張・圧縮技術であるタイムストレッチ技術を用いて、各部分波形の再生開始タイミングと再生長さを調整する。この場合、フレーズ波形全体をタイムストレッチ技術を用いて時間軸拡張・圧縮してよいことは勿論のこと、特定の音符(部分波形)についてのみ適宜にタイムストレッチ技術を用いて時間軸拡張・圧縮するようにしてもよい。上記タイムストレッチ技術は公知のどのような技術を用いてもよいことから、ここでの説明を省略する。以上のようにして、本発明に係るアルペジエータでは選択されたフレーズ波形データの各音(各部分波形)について、入力されたコードのルート音とタイプとに応じて個別にピッチシフトしながら再生することができるようにしている。これにより、演奏者は少ないフレーズ波形データを用意するだけで、コード指定に応じてそのコードが変化する、所望のアルペジオパターンによるよりリアルで多様なアルペジオ演奏を、簡易に行うことができるようになる。
なお、フレーズ波形データの各部分波形の変わり目などでピッチが大きく変わるような場合などにおいては、予め用意しておいたフレーズ波形データとは異なる別の遷移状態の波形データを適宜に挿入して再生するようにすると、音と音との間の繋がりがよくなり自然な感じの楽音が出力されてよい。
なお、コード指定は自動演奏データから行うようにしてもよい。すなわち、自動演奏装置にも当該アルペジエータを適用することができ、自動演奏データからのコード指定に基づき該当するコードを用いてのアルペジオ演奏を簡易に行うことができ便利である。
1…CPU、1A…タイマ、2…ROM、3…RAM、4…表示器、5…操作子、6…音源、7…ミキサ、8…DAC、9…サウンドシステム、10…マイクロフォン、11…ADC、12…録音回路、13…ハードディスク、14…再生回路、15…MIDIインタフェース、16…その他インタフェース、1D…通信バス(データ及びアドレスバス)、20…パターン演奏データ、21…自動演奏手段、22…演奏者、23…波形録音手段、24…フレーズ波形データ、25…クロック同期ライン、26…ヘッドフォン、31…コード検出部、32…操作検出部、33…アルペジオフレーズデータベース、34…フレーズデータ選択部、35…模範アルペジオパターン再生、36…パターンデータデータベース、37…テンポクロック、38…フレーズ再生部