(57)【特許請求の範囲】
【請求項１】
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力する演奏データ出力ステップ、
を有することを特徴とする演奏データ処理方法。
【請求項２】
前記音符に対する所定の楽音特性は前記音符の発音を開始するノートオンタイミングである、
ことを特徴とする請求項１に記載の演奏データ処理方法。
【請求項３】
前記音符に対する所定の楽音特性は前記音符のディレイビブラート開始タイミングである、
ことを特徴とする請求項１または２に記載の演奏データ処理方法。
【請求項４】
入力される前記一連の演奏データ、および、出力される前記第１系統から第Ｎ系統までの演奏データは、タイミングデータを伴う演奏データである、
ことを特徴とする請求項１から３までのいずれか１項に記載の演奏データ処理方法。
【請求項５】
前記第１系統から第Ｎ系統までの変動値は、前記第１系統から第Ｎ系統までの奏者により同一の楽譜を同時に実演奏したときに分析された、前記音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものである、
ことを特徴とする請求項１から４までのいずれか１項に記載の演奏データ処理方法。
【請求項６】
前記Ｎの値を指定する系統数指定ステップを有し、
前記変動値設定ステップは、複数系統の変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するものを記憶する変動値記憶手段から、前記第１系統から第Ｎ系統までの変動値列を予め選択しておき、前記所定の音符制御用演奏データが検出される毎に、選択された第１系統から第Ｎ系統までの変動値列の各系統から、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する、
ことを特徴とする請求項１から５までのいずれか１項に記載の演奏データ処理方法。
【請求項７】
前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの１つであり、
前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値列を系統毎に記憶しており、
前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する前記第１系統から第Ｎ系統までの変動値を選択して設定する、
ことを特徴とする請求項６に記載の演奏データ処理方法。
【請求項８】
前記変動値設定ステップは、設定された前記第１系統から第Ｎ系統までの変動値を、さらに各系統毎に調整して前記出力ステップが用いる前記第１系統から第Ｎ系統までの変動値とする、
ことを特徴とする請求項１から７までのいずれか１項に記載の演奏データ処理方法。
【請求項９】
前記変動値設定ステップは、前記音符に対する所定の楽音特性以外に、前記音符に対する他の所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、前記他の所定の楽音特性に対する第１系統から第Ｎ（Ｎは２以上の整数）系統までの他の変動値列であって、各系統の前記他の変動値列を構成する他の変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記他の変動値を選択することにより、前記第１系統から第Ｎ系統までの前記他の変動値を設定し、
前記演奏データ出力ステップは、前記所定の音符制御用演奏データが検出される毎に、前記第１系統から第Ｎ系統までの前記他の音符制御用演奏データであって、それぞれ、前記音符に対する他の所定の楽音特性の制御値を、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの前記他の変動値に応じてばらつかせた値とする演奏データを少なくとも生成して出力する、
ことを特徴とする請求項１に記載の演奏データ処理方法。
【請求項１０】
前記演奏データ種別検出ステップは、入力された前記演奏データが、音源設定値を有した所定の音源設定用演奏データであることを検出するものであり、
前記変動値設定ステップは、互いに異なる第１系統から第Ｎ系統までの音源設定変動値を、前記所定の音源設定用演奏データが検出されたときに設定し、
前記出力ステップは、前記所定の音源設定用演奏データが検出されたときに、当該所定の音源設定用演奏データが有する前記音源設定値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの音源設定変動値に応じて異ならせた値を、新たに前記音源設定値とし、当該所定の音源設定用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力するものであり、
前記出力ステップが出力する前記第１系統から第Ｎ系統までの演奏データを、それぞれ、第１の波形合成エレメントから第Ｎの波形合成エレメントに対する演奏データとするものである、
ことを特徴とする請求項１から９までのいずれか１項に記載の演奏データ処理方法。
【請求項１１】
前記変動値設定ステップは、前記音源設定値を、前記所定の音源設定用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの音源設定変動値列であって、各系統の音源設定変動値列を構成する音源設定変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音源設定用演奏データが検出される毎に、前記音源設定変動値を選択することにより、前記第１系統から第Ｎ系統までの音源設定変動値を設定する、
ことを特徴とする請求項１０に記載の演奏データ処理方法。
【請求項１２】
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力する演奏データ出力ステップ、
をコンピュータに実行させることを特徴とする演奏データ処理プログラム。
【請求項１３】
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定手段と、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定手段により設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力する演奏データ出力手段、
を有することを特徴とする演奏データ処理装置。
【請求項１４】
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値に応じて、第１系統から第Ｎ系統までの楽音信号を合成し、合成された該第１系統から第Ｎ系統までの楽音信号を出力する楽音信号出力ステップ、
を有することを特徴とする楽音信号合成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子楽器分野において、演奏データに合奏感を与える演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、および、楽音信号合成方法に関するものである。
【０００２】
【従来の技術】
アコースティック楽器で合奏（セッション）をする場合、複数の奏者が同一楽器を用いて同一楽譜を演奏しても、各奏者の演奏音は全く同じにはならない。
各奏者の奏法や感情には、個性によるばらつきがある。また、各奏者が用いているアコースティック楽器の音響特性も微妙にばらついている。その結果、全体としての楽音信号に合奏感が付加されることになる。
電子楽器分野において、鍵盤演奏によるライブ演奏、あるいは、シーケンサに音符を打ち込んで行う楽曲制作の場合などにおいて、このような合奏感を出すために、従来、種々の方法が用いられていた。
【０００３】
第１の方法は、「デチューン」である。ある１つの音色（ボイス）が指定されたとき、複数のエレメントの発音を同時に行うようにする。その際、各エレメントの発音間で、ピッチをわずかにずらせることによって、１つの音符に対する「ノート・オン・メッセージ」が入力されたときでも、複数の音が同時に発音されているような効果を与える。しかし、各エレメントの設定を一律に異ならせるだけで、デチューン量は、どの音の発音についても一定である。したがって、アコースティック楽器の合奏のような、ばらついた感じを出せないという問題がある。
【０００４】
第２の方法は、「セクション音」と呼ばれているボイスを使用する方法である。予め複数の楽器による合奏をサンプリングして波形メモリ音源の原波形とする。例えば、音色の「ストリング」セクションにおいて、セクション音「ストリングス」を選択すれば、合奏感のあるリアルな雰囲気のサウンドが得られる。しかし、複数奏者の音であるにもかかわらず、分離不可能に合成されたセクション音に対して、一律に各種の音源制御を行うため、出力される音が単調で不自然になる傾向がある。また、セクション音のニーズには、ストリングス、ブラス、人声など、様々なものがあるが、ユーザが望んでも所望のセクション音が音源に用意されていなければ実現できないという問題点がある。
【０００５】
第３の方法は、複数のソロボイス（単体楽器の音色）の演奏データを、必要な数だけ作成して使用するという方法である。第４の方法は、上述した第２，第３の方法によるボイスを混ぜ合わせて使用する方法である。
これら第３，第４の方法では、ボイスの混ぜ方によって、好みのサウンドを実現できる可能性が広がる。しかし、合奏感を得るには、各ボイス用にシーケンスデータを用意し、試行錯誤しながら調整をしなければならないので、設定が大変面倒である。しかも、音符を打ち込む場合にのみ可能であり、鍵盤演奏等のリアルタイム演奏には対応できないという問題点もある。
上述した問題点は、合奏感を得る上の問題点であったが、合奏を行う個々の演奏、あるいはソロ演奏に関しても、奏者の個性を反映した表情付けを効果的かつ簡単に行うことが望まれていた。
【０００６】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、合奏感のある楽音信号を合成できるように、入力された演奏データを処理する演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、および、楽音信号合成方法を提供することを目的とするものである。
特に、ノートオンタイミングにばらつきを与えるように演奏データを処理することにより、合奏感のある楽音信号を合成できるようにする。
【０００７】
【課題を解決するための手段】
本発明は、請求項１に記載の発明においては、演奏データ処理方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、演奏データを構成する音符に対する所定の楽音特性を所定の音符制御用演奏データが検出される毎にばらつかせるとともに、制御値が互いに異なる態様のばらつきを有した第１から第Ｎ系統の音符制御用演奏データを出力することができる。
音源装置は、演奏データを構成する音符に対する所定の楽音特性にこのようなばらつきを与えて、系統毎に波形合成を行う結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。従来の「セクション音」のように、複数奏者の楽音信号が分離不可能にされたものに比べて、自然な楽音制御が行える。「セクション音」が用意されていなくても、ユーザが合奏感を与えたいと望む音色に対して合奏感を付与できる。ユーザが、複数奏者の演奏データを作成しなくてよいので、合奏効果の実現が容易であり、また、リアルタイム演奏にも対応可能である。
【０００８】
請求項２に記載の発明においては、請求項１に記載の演奏データ処理方法において、前記音符に対する所定の楽音特性は前記音符の発音を開始するノートオンタイミングである。
音符のノートオンタイミングのばらつきは、合奏感に対する寄与が大きい。
したがって、合奏感のある楽音信号を合成できる演奏データを出力することができる。
【０００９】
請求項３に記載の発明においては、請求項１または２に記載の演奏データ処理方法において、前記音符に対する所定の楽音特性は前記音符のディレイビブラート開始タイミングである。
個々の音符の楽音信号に与えるディレイビブラート開始タイミングのばらつきも、合奏感に対する寄与が大きい。
したがって、合奏感のある楽音信号を合成できる演奏データを出力することができる。
【００１０】
請求項４に記載の発明においては、請求項１から３までのいずれか１項に記載の演奏データ処理方法において、入力される前記一連の演奏データ、および、出力される前記第１系統から第Ｎ系統までの演奏データは、タイミングデータを伴う演奏データである。
曲データファイル形式の演奏データであるのでリアルタイム処理を行わなくてもよい。したがって、演奏データの処理が容易になる。
【００１１】
請求項５に記載の発明においては、請求項１から４までのいずれか１項に記載の演奏データ処理方法において、前記第１系統から第Ｎ系統までの変動値は、前記第１系統から第Ｎ系統までの奏者により同一の楽譜を同時に実演奏したときに分析された、前記音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものである。
変動値が実測に基づいて作成されたものであるので、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【００１２】
請求項６に記載の発明においては、請求項１から５までのいずれか１項に記載の演奏データ処理方法において、前記Ｎの値を指定する系統数指定ステップを有し、前記変動値設定ステップは、複数系統の変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するものを記憶する変動値記憶手段から、前記第１系統から第Ｎ系統までの変動値列を予め選択しておき、前記所定の音符制御用演奏データが検出される毎に、選択された第１系統から第Ｎ系統までの変動値列の各系統から、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定するものである。
したがって、系統数に応じた制御値を得ることができる。
特に、互いに異なる態様のばらつきを有する複数系統の変動値列として、系統間に相関性を有した変動値列を変動値記憶手段に記憶させれば、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【００１３】
請求項７に記載の発明においては、請求項６に記載の演奏データ処理方法において、前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの１つであり、前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値列を系統毎に記憶しており、前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する前記第１系統から第Ｎ系統までの変動値を選択して設定するものである。
したがって、複数種類の音符制御用演奏データを対象として演奏データの処理をすることができる。
特に、変動値記憶手段に、複数種類の所定の楽音特性に対する個別の変動値列として、複数種類の所定の楽音特性間に相関性を有したものを記憶させれば、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【００１４】
請求項８に記載の発明においては、請求項１から７までのいずれか１項に記載の演奏データ処理方法において、前記変動値設定ステップは、設定された前記第１系統から第Ｎ系統までの変動値を、さらに各系統毎に調整して前記出力ステップが用いる前記第１系統から第Ｎ系統までの変動値とするものである。
したがって、変動値を系統毎に容易に調整することができる。調整は、例えば、オフセットや誇張係数を設定して行うことができる。
【００１５】
請求項９に記載の発明においては、請求項１に記載の演奏データ処理方法において、前記変動値設定ステップは、前記音符に対する所定の楽音特性以外に、前記音符に対する他の所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、前記他の所定の楽音特性に対する第１系統から第Ｎ（Ｎは２以上の整数）系統までの他の変動値列であって、各系統の前記他の変動値列を構成する他の変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記他の変動値を選択することにより、前記第１系統から第Ｎ系統までの前記他の変動値を設定し、前記演奏データ出力ステップは、前記所定の音符制御用演奏データが検出される毎に、前記第１系統から第Ｎ系統までの前記他の音符制御用演奏データであって、それぞれ、前記音符に対する他の所定の楽音特性の制御値を、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの前記他の変動値に応じてばらつかせた値とする演奏データを少なくとも生成して出力するものである。
したがって、所定の音符制御用演奏データが検出される毎に、この所定の楽音特性の制御値だけでなく、他の所定の楽音特性の制御値についても、同様にばらつかせるので、楽音特性に複雑なばらつきを与える演奏データを生成して出力することができる。
【００１６】
請求項１０に記載の発明においては、請求項１から９までのいずれか１項に記載の演奏データ処理方法において、前記演奏データ種別検出ステップは、入力された前記演奏データが、音源設定値を有した所定の音源設定用演奏データであることを検出するものであり、前記変動値設定ステップは、互いに異なる第１系統から第Ｎ系統までの音源設定変動値を、前記所定の音源設定用演奏データが検出されたときに設定し、前記出力ステップは、前記所定の音源設定用演奏データが検出されたときに、当該所定の音源設定用演奏データが有する前記音源設定値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの音源設定変動値に応じて異ならせた値を、新たに前記音源設定値とし、当該所定の音源設定用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力するものであり、前記出力ステップが出力する前記第１系統から第Ｎ系統までの演奏データを、それぞれ、第１の波形合成エレメントから第Ｎの波形合成エレメントに対する演奏データとするものである。
したがって、音源設定用演奏データが検出されたときに、音源設定値が互いに異なる第１から第Ｎ系統の音源設定用演奏データを出力することができる。
これら第１から第Ｎ系統の音源設定用演奏データが設定された音源装置では、各系統の音源設定値が互いに異なる結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【００１７】
請求項１１に記載の発明においては、請求項１０に記載の演奏データ処理方法において、前記変動値設定ステップは、前記音源設定値を、前記所定の音源設定用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの音源設定変動値列であって、各系統の音源設定変動値列を構成する音源設定変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音源設定用演奏データが検出される毎に、前記音源設定変動値を選択することにより、前記第１系統から第Ｎ系統までの音源設定変動値を設定するものである。
したがって、音源設定用演奏データが検出される毎にばらつきを有し、音源設定値が互いに異なる態様のばらつきを有する第１系統から第Ｎ系統までの音源設定用演奏データを出力することができる。
第１系統から第Ｎ系統までの音源装置では、各系統の音源設定値がこのようにばらつく結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【００１８】
請求項１２に記載の発明においては、コンピュータに実行させる演奏データ処理プログラムにおいて、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、コンピュータに請求項１に記載の演奏データ処理方法を実行させることができる。
【００１９】
請求項１３に記載の発明においては、演奏データ処理装置において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定手段と、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定手段により設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第１系統から第Ｎ系統までの演奏データを生成して出力する演奏データ出力手段を有するものである。
したがって、請求項１に記載の演奏データ処理方法と同様の作用効果を奏する。
【００２０】
請求項１４に記載の発明においては、楽音信号合成方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第１系統から第Ｎ（Ｎは２以上の整数）系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第１系統から第Ｎ系統までの変動値を設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第１系統から第Ｎ系統までの変動値に応じてばらつかせた値に応じて、第１系統から第Ｎ系統までの楽音信号を合成し、合成された該第１系統から第Ｎ系統までの楽音信号を出力する楽音信号出力ステップを有するものである。
したがって、個々の音符に対する所定の楽音特性を所定の音符制御用演奏データが検出される毎にばらつかせるとともに、制御値が互いに異なる態様のばらつきを有した第１から第Ｎ系統の楽音信号を合成できる。楽音特性にこのようなばらつきが与えられる結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【００２１】
【発明の実施の形態】
図１は、本発明の演奏データ処理方法の実施の一形態を示すブロック構成図である。
図中、１はMIDI出力装置、２は演奏データ処理部、３は音源装置である。MIDI出力装置１は、例えば、リアルタイム演奏されるMIDI鍵盤、あるいは、曲データを再生するシーケンサ装置などである。
演奏データ処理部２は、MIDI出力装置１から演奏データを入力し、複数の奏者系統の演奏データを生成して音源装置３に出力する。音符制御用演奏データが検出されたときには、検出される毎に制御値がばらついており、各奏者の個性を反映してばらつきの態様が異なる複数奏者系統の音符制御用演奏データを生成して音源装置３に出力する。
【００２２】
音源装置３は、奏者系統に対応して楽音信号を合成する複数の奏者エレメントを有している。図１では、ばらつきを生成する奏者系統の数と楽音信号を合成する奏者エレメントの数とは、一致しているが、必ずしも一致している必要はない。つまり、奏者エレメントの数が奏者系統数よりも多くなってもよい。
音源装置３は、入力された各奏者系統の演奏データに基づいて、奏者エレメント毎に楽音信号を合成して、自然な合奏感のある楽音信号を、例えば、モノラルあるいはステレオ形式でスピーカから出力させる。
なお、図９を参照して後述するように、MIDI出力装置１に代えて、曲データ記憶部から演奏データが出力される場合がある。また、音源装置３に代えて、曲データ記憶部に演奏データを出力する場合もある。
MIDI出力装置１は、演奏データとして、例えば、MIDIシーケンスデータを出力する。合奏効果を付加する対象は、通常、１つの演奏パートを対象とするので、演奏データ処理部２は、１パートに対応する１MIDIチャンネルのMIDIシーケンスに対する処理を行う。また、別の合奏効果が付加される場合は、別の演奏パートに対してなされる。説明の便宜上、合奏効果を付加する演奏パートは、ユーザによって予め選択されているものとし、以下の説明では、合奏効果を付加する演奏パートの演奏データの処理についてのみ説明する。もちろん、合奏効果を付加する演奏パートを演奏に応じてリアルタイムでマニュアル・自動を問わず、選択できるようにしてもよい。
【００２３】
演奏データは音源装置を制御する音源制御パラメータを有し、この音源制御パラメータは、音符制御パラメータと音源設定パラメータに分類される。
音符制御用演奏データは、演奏データを構成する、楽譜上の個々の音符（個々の音）の楽音特性（音符制御パラメータ）の制御値を有する。音符制御用演奏データとしては、例えば、「ノート・オン・メッセージ」や「ノート・オフ・メッセージ」がある。
音源設定用演奏データは、音源の楽音特性（音源設定パラメータ）の設定値を有し、対応する個々の奏者エレメントに音源設定パラメータの設定値を設定する。音源設定パラメータは、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御する。音源設定用演奏データとしては、例えば、「プログラム・チェンジ・メッセージ」などがある。
ただし、一般に音源制御パラメータと見なされるパラメータであっても、個々の音符の楽音特性を制御したい場合がある。このような場合の音源制御パラメータは、音符制御パラメータとして取り扱う。
【００２４】
このような音符制御用演奏データ、音源設定用演奏データの全てに対して合奏効果を付与するための処理を行う必要はなく、予め決めた所定のものに対して合奏効果を付与するための処理を行えばよい。
例えば、「ノート・オフ・メッセージ」に対しては、その音符制御パラメータの設定値を制御しないと設定してもよい。予め決めた所定の演奏データ以外の演奏データは、入力されたものが、そのまま複数の奏者系統用にコピーされて音源装置に出力されればよい。
あるいは、予め決めた所定の演奏データ以外の演奏データは、奏者系統が指定されないで出力されることから、音源装置３側が、自動的に各奏者エレメント用に音符制御パラメータの制御値あるいは音源設定パラメータの音源設定値をコピーして楽音信号を合成してもよい。
【００２５】
演奏データ処理部２において、４は演奏データ検出部、５は変動値設定部、６は演奏データ出力部である。
ユーザは、予め、演奏データ処理部２の変動値設定部５に対して合奏効果設定操作を行う。まず、奏者系統数Nを設定し、奏者系統1〜N毎に合奏効果の設定操作を行う。
制御される音符制御パラメータおよび音源設定パラメータの変動値が、各奏者系統1〜N毎に備えられている。音符制御パラメータの各系統は、複数個の変動値からなる変動値列を有し、順次選択されて利用される。音源設定パラメータの各系統は、典型的には、１個の変動値を有する。
各奏者系統1〜Nの変動値は、実演奏の合奏のような、系統間に相関性を有したものとすれば好適である。
【００２６】
まず、音符制御パラメータについて説明する。奏者１は、ある音符制御パラメータａの変動値としてa11，a12，a13，a14を有し、また、ある音符制御パラメータｂの変動値としてb11，b12，b13，b14を有している。奏者２については、ある音符制御パラメータａの変動値としてa21，a22，a23，a24を有し、ある音符制御パラメータｂの変動値としてb21，b22，b23，b24を有している。他の奏者に対しても同様であり、また他に音符制御パラメータがある場合も同様である。
個々の音符制御パラメータの変動値は、互いにばらついた値を用いる。音符制御パラメータａの奏者１の変動値について例示すれば、ａ11，ａ12，ａ13，ａ14は、互いにばらついた値である。但し、全くランダムというわけではなく、フレーズ内の音符位置、フレーズ種別、奏者の個性などの影響を受けたものであるので、相互に相関性を有したばらつきである。
【００２７】
MIDI出力装置１から入力された演奏データは、演奏データ検出部４において、演奏データの種別が検出され、変動値設定部５に出力される。後述するように、フレーズ種別も検出して変動値設定部５に出力する場合もある。
また、音符制御用演奏データ（例えば、「ノート・オン・メッセージ」）の検出タイミングおよびフレーズ検出タイミング（フレーズの切れ目）も検出されて、変動値設定部５に出力される。また、検出された所定の演奏データの演奏データ種別および、この所定の演奏データが有している音符制御パラメータの制御値は、演奏データ出力部６に出力される。
【００２８】
音符の時間間隔、言い換えれば休符の時間、より具体的には、前の音符のノートオフタイミングから次の音符のノートオンタイミングまでの時間間隔が、所定の閾値以上あるか否かを判定することによって、音符列の切れ目のタイミングを検出し、これをフレーズの切れ目と判断する。上述した所定の閾値は、ユーザによって調整可能である。曲の演奏テンポによっては特に変更しなくてもよいが、個々の曲によっては、閾値を変更することが望ましい場合がある。
フレーズは、楽曲の曲想が変化する切れ目であるので、楽曲の内容を分析することによってフレーズの切れ目を検出するようにしてもよい。あるいは、入力された演奏データに、予めフレーズの切れ目を示す情報が含まれていれば、これを用いてもよい。
【００２９】
入力された演奏データが、ある所定の音符制御用演奏データであることが検出されたときには、変動値設定部５において、各奏者系統1〜Nの音符制御パラメータａ，ｂ，…の変動値の中から、この所定の音符制御用演奏データが制御する所定の楽音特性に対応する音符制御パラメータ、例えば、音符制御パラメータａの変動値が選択されて、これが設定される。
第１の奏者について例示すると、同じ種類の所定の音符制御用演奏データ（例えば、「ノート・オン・メッセージ」）が検出される毎に（すなわち、音符が検出される毎に）、音符制御パラメータａ（例えば、ノートオンタイミング）の変動値ａ11，ａ12，ａ13，ａ14が順次選択される。各変動値は互いにばらついており、また、音符制御パラメータａの変動値は、各奏者系統1〜N毎にばらつきの態様が異なっている。
【００３０】
演奏データ検出部４で上述した所定の音符制御用演奏データ（例えば、「ノート・オン・メッセージ」）が検出されたとき、演奏データ出力部６は、この所定の音符制御用演奏データの演奏データ種別および音符制御パラメータａ（例えば、ノートオンタイミング）の制御値を入力し、この制御値を基準に、奏者系統1〜Nの音符制御パラメータａの変動値ａ11，ａ21，ａ31，……，ａN1だけばらついた制御値を、奏者系統1〜Nに設定する。
例えば、入力された音符制御用演奏データが有する制御値に、変動値ａ11，ａ21，ａ31，……，ａN1をそれぞれ加算したり、あるいは、それぞれ乗算したりして、奏者系統1〜N毎に新たに所定の音符制御パラメータの制御値とする。
加算するか乗算するかは、制御対象の音符制御パラメータによって適切な方を用いる。加算あるいは乗算以外の演算を行ってもよい。
演奏データ出力部６においては、これらの制御値を用いて、入力された所定の音符制御用演奏データと同一種類であって、奏者系統1〜Nの音符制御用演奏データを生成して出力する。
【００３１】
したがって、演奏データ出力部６は、入力された所定の音符制御用演奏データに対し、この演奏データが検出される毎にばらついており、かつ、奏者毎にばらつきの態様が異なった、所定の音符制御パラメータの制御値を有する奏者系統1〜Nの音符制御用演奏データを、音源装置３内の奏者系統1〜Nに対応した奏者エレメントに出力する。
なお、変動値設定部５は、入力されたある所定の音符制御用演奏データが、複数の音符制御パラメータを制御する種類のものである場合（例えば、「ノート・オン・メッセージ」は、ノートオンタイミング、ノート番号、および、ベロシティ((オンベロシティ))という３つの音符制御パラメータを有している）、複数の音符制御パラメータのいずれをばらつかせるか（複数でもよい）を予め決めておけばよい。
変動値設定部５においては、各音符制御パラメータａ，ｂ，…の変動値を、対応する所定の音符制御用演奏データが検出される毎にばらつかせるとともに、フレーズが検出される毎に、異なる変動値列（テイク）に切り替えるようにすることにより、一層、合奏感を深めることができる。
例えば、第１の奏者の音符制御パラメータａの変動値を、フレーズが検出されたときに、異なる変動値の列ａ'11，ａ'12，ａ'13，ａ'14に切り替える。
【００３２】
また、フレーズの音楽上の特徴を演奏データ検出部４において分析し、フレーズ種別を変動値設定部５に出力してもよい。変動値設定部５は、フレーズ種別に応じた変動値列（テイク）を選択して、これを設定するなどして、音符制御パラメータのばらつきの態様を異ならせることにより、適切なばらつきを動的に与える。
具体的には、フレーズ内の音の音価の並びのパターン、すなわち、メロディパターン（音高パターン）、ノートオンタイミングの変化パターン、あるいは、強拍弱拍のリズムパターン等を分析し、例えば、音高パターンが山形なら、その山頂の部分の変動値は小さくしたり、音価パターンの裏拍にあたる拍位置の変動値は大きくしたりする。
なお、フレーズ種別の判定は、そのフレーズが始まってからでないと判定できないので、音源装置３がリアルタイム演奏をする場合は、フレーズ種類の判定が事前にできない。所定時間遅れた後に音源装置３が演奏データを出力する演奏形態では、フレーズ種類の判定が間に合うように遅れ時間を決めればよい。
【００３３】
また、演奏テンポ情報も、変動値設定部５への制御入力としている。これは、図７等を参照して後述するように、所定の楽音特性がタイミングに関する音符制御パラメータである時に、演奏のテンポによってばらつきの程度を調整する必要があるためである。
演奏テンポ情報は、入力されるMIDIシーケンスの演奏テンポである。テンポ情報は、MIDI出力装置１が出力する演奏データに含ませておいたり、ユーザが予め演奏データ処理部２に入力しておいたりする。あるいは、MIDI出力装置１が出力する演奏データのMIDIシーケンスから、演奏テンポを推定してもよい。
【００３４】
次に、入力された演奏データが、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御する、音源設定用演奏データである場合について説明する。
演奏データ処理部２は音符制御用演奏データとは異なる処理を行う。
演奏データ検出部４が、変動値設定部５に所定の音源設定用演奏データの演奏データ種別を出力するとともに、所定の音源設定用演奏データの演奏データ種別およびその音源設定パラメータの制御値を演奏データ出力部６に出力する。
変動値設定部５においては、奏者系統1〜N毎に、この所定の音源設定用演奏データに対応する音源設定パラメータの変動値を選択して、演奏データ出力部６に出力する。
【００３５】
演奏データ出力部６においては、入力された所定の音源設定用演奏データと同一種類である奏者系統1〜Nの音源設定用演奏データを生成する。その際、所定の音源設定用演奏データが検出されたときに、この所定の音源設定用演奏データが有していた音源設定パラメータの制御値を、それぞれ、変動値設定部５において選択された奏者系統1〜Nの変動値に応じてばらつかせた値を、新たに音源設定パラメータの設定値とする。
したがって、演奏データ出力部６は、入力された所定の音源設定用演奏データに対して、奏者系統1〜N毎に異なった音源設定値を有する奏者数分の音源設定用演奏データを、音源装置３内の奏者系統1〜Nに対応した奏者エレメント1〜Nに出力する。
【００３６】
なお、入力された音源設定用演奏データが有する設定値に、変動値を加算したり乗算したりしたものを、奏者系統1〜N毎に新たに所定の音源制御パラメータの制御値とするに際して、加算するか乗算するかは、設定対象の音源制御パラメータによって適切な方を用いればよい。加算あるいは乗算以外の演算を行ってもよい。
入力された、ある所定の音源設定用演奏データが、複数の音源設定パラメータを同時に設定するものである場合は、その複数の音源設定パラメータのいずれをばらつかせるのか（複数でもよい）を予め決めておけばよい。
【００３７】
音源設定パラメータは、時間的に変動させる必要性が少ないので、所定の音源設定用演奏データが入力される毎に変動値をばらつかせたり、演奏テンポ情報によって変動値を制御したりしなくてもよい。しかし、音源設定用パラメータの変動値も、フレーズが検出される毎に、あるいは、フレーズの種類に応じて、異なる変動値列（テイク）に切り替えるようにして、適切なばらつきを動的に与えてもよい 。
音源設定用演奏データが、一度音源装置３に出力されると、音源装置３では、音源設定値がそのまま維持されている。
したがって、演奏データ出力部６は、最後に検出された音源設定用演奏データが有していた音源設定値を保持しておく。フレーズが検出されたときに、保持されていた音源設定値に、切り替えた変動値を加算するなどしてばらつかせた音源設定値を新たな音源設定値として、所定の音源設定用演奏データを生成して出力する。
【００３８】
演奏データ処理部２から音源装置３への転送インターフェースは、種々の音源装置３の入力仕様に適したものを採用すればよい。
出力された演奏データは、その後の処理においても、波形合成される前であれば、奏者系統1〜N毎に個別に各種の音符制御あるいは音源設定を行うことができる。
音源装置３が、MIDIインターフェースのように、１入力しか有しない場合、演奏データに演奏パートおよび奏者を特定する情報を持たせばよい。例えば、MIDIチャンネル番号を利用することができる。演奏データ出力部６は、MIDI出力装置１から入力された演奏データの演奏パートを示すMIDIチャンネル番号を、演奏パートと奏者の両者を特定できるMIDIチャンネル番号に変換すればよい。
【００３９】
音源装置３が、ある演奏パートの各奏者エレメントへの演奏データ入力を、時分割で入力する場合には、演奏データ出力部６も、この時分割チャンネルに合わせて演奏データを出力すればよい。
音源装置３が、音符制御用演奏データと音源設定用演奏データとを別のラインで入力するものであれば、演奏データ出力部６においても、これに合わせて音符制御用演奏データと音源設定用演奏データとを別々に出力する。
音源装置３によっては、「ノート・オン・メッセージ」や「ノート・オフ・メッセージ」など、限られたものしか受け付けないものもある。このような場合、演奏データ処理部２は、音源装置３が受け付け可能な演奏データについてのみ音源装置３に転送すればよい。
【００４０】
次に、合奏効果設定情報の具体例を、MIDIデータを実例にして説明する。
音符制御用演奏データとしては、例えば、「ノート・オン・メッセージ」、「ノート・オフ・メッセージ」、「ポリフォニック・キー・プレッシャ・メッセージ」などがある。
「ノート・オン・メッセージ」は、音符制御パラメータである、ノートオンタイミング、ノート番号（音高）、ベロシティ（オンベロシティ）の制御値を音源に指示する。
「ノート・オフ・メッセージ」は、ノートオフタイミング、ノート番号（音高）、ベロシティ（オフベロシティ）の制御値を音源に指示する。
「ポリフォニック・キー・プレッシャ・メッセージ」は、音符のノート番号（音高）を指定することにより、発音中の特定の音符に対してその楽音特性を制御する。「ポリフォニック・キー・プレッシャ・メッセージ」のプレッシャー値には、本来は音源制御パラメータである、ピッチ、フィルターカットオフ周波数、音量、低周波発振器のピッチ深さ、フィルター深さ、振幅深さ等の制御値を割り当てることができる。
【００４１】
一方、音源設定用演奏データとしては、例えば、「プログラム・チェンジ・メッセージ」や「コントロール・チェンジ・メッセージ」等がある。
「プログラム・チェンジ・メッセージ」では、ボイス（音色）番号の指定により音源設定パラメータの１つである音色パラメータを制御する。
「コントロール・チェンジ・メッセージ」の「ノン・レジスタード・パラメータナンバー」（以下、単にNRPNという）」を用いて「アタックタイム」、「ビブラート・ディレイ」等の値を設定することで、それぞれ、音源設定パラメータの１つである、エンベロープの立上り時間やディレイビブラート開始タイミングを設定することができる。
上述した例に限らず、「NRPN」を用いて、エンベロープ関係、ビブラート関係、ローパスフィルタ関係、イコライジング（楽音信号の周波数特性）関係などの、種々の音源設定パラメータを設定することが可能である。
これまでの説明では、音符制御パラメータと音源設定パラメータとを別々説明してきたが、「ディレイビブラート開始タイミング」のような音源制御パラメータは、音符に対するもの、音源設定に対するもの、あるいはそれらの両方として用いることができる。独自の規約に従った演奏データを定義できる場合は、勿論であるが、現状のMIDI規格においても、上述した「ポリフォニック・キー・プレッシャ・メッセージ」を使用するか、あるいは、図３（ｃ）を参照して後述する方法をとればよい。
【００４２】
図２は、合奏効果設定情報の記憶形態の一例を示す説明図である。
合奏効果設定情報には、奏者キャラクタおよび奏者キャラクタ修飾値があり、１または複数の音符制御パラメータ、１または複数の音源設定パラメータ毎に設定される。これらは、予め、ROM（Read Only Memory）あるいはハードディスクなどの外部記憶装置に記憶されている。
例えば、各奏者系統1〜N毎に、奏者キャラクタ１１ａ，１１ｂ、１１ｃ，１１ｄが用意されているものとする。奏者キャラクタ１１ａ，１１ｂは、音符制御パラメータａ，ｂの奏者キャラクタ、奏者キャラクタ修飾値１２ａ，１２ｂは、音符制御パラメータａ，ｂの奏者キャラクタ修飾値である。同様に、奏者キャラクタ１１ｃ，１１ｄは、音源制御パラメータｃ，ｄの奏者キャラクタ、奏者キャラクタ修飾値１２ｃ，１２ｄは、音源制御パラメータｃ，ｄの奏者キャラクタ修飾値である。
奏者キャラクタは、音符制御パラメータの制御値に対する変動値、あるいは、音源設定パラメータの音源設定値に対する変動値で表される。この変動値は、音符制御パラメータの制御値あるいは音源設定パラメータの設定値に与えるオフセット（加算値）や倍率（重み係数）として定義される。
【００４３】
音符制御パラメータａの奏者キャラクタ１１ａは、奏者系統1〜N系統毎に、１または複数の変動値列（テイク）を有し、各テイクはテイク番号で指定される。各テイクは、互いにばらついた複数の変動値からなる。しかも、奏者系統1〜N系統毎に互いにばらつきの態様が異なっている。奏者キャラクタ１１ｂについても同様である。
フレーズが検出される毎に、次のテイクの列（図示では行）の初期値（第１番目の値）の読み出しを指定するとともに、この音符制御パラメータａに対応した所定の音符制御用演奏データが検出される毎に、テイクの列の変動値を順番（図示では横方向）に読み出す。
例えば、「ノート・オン・メッセージ」の場合、１フレーズ内の音符が検出されたときには、その順番にしたがって変動値を選択することにより、例えばノートオンタイミングの値を変動させる。他の所定の音符制御用演奏データの場合、この所定の音符制御用演奏データが検出されたときには、その検出順番にしたがって変動値を選択することによって、所定の音符制御パラメータの値を変動させる。
【００４４】
また、フレーズの変化がある毎に、テイク番号を順番に切り替える。最後のテイク番号が選択されていたときには、１番目のテイク番号に戻す。
テイク番号を順次切り替える代わりに、フレーズの種類に応じた複数のテイクを予め記憶しておき、入力された演奏データを分析することによってフレーズ種類を判定し、判定されたフレーズ種類に適したテイク番号を選択するようにしてもよい。
このように、個々の音符に対する奏者キャラクタは、所定の音符制御用演奏データが入力される毎に与えられる変動値のばらつきに、奏者の個性を与えるものである。
【００４５】
奏者キャラクタ修飾値は、奏者キャラクタで選択された変動値に、さらに変更を加えるものであって、ユーザが任意に値を設定可能とする。奏者キャラクタのテイクやフレーズ内の順番に関係なく、奏者系統1〜N毎に、一律の修飾値を用いている。
図１１以降の図面を参照して説明する具体例では、奏者キャラクタで設定された値に加算するオフセット値、さらに、この加算値に乗算する誇張係数が修飾値である。なお、演奏テンポを変数として修飾値を変更する場合もある。図１において、変動値設定部５は、このような調整が加えられた変動値を演奏データ出力部６に出力する。
なお、奏者キャラクタ修飾値は、奏者系統1〜Nに共通に用いられる１つのオフセット値及び１つの誇張係数としてもよい。
また、オフセット値および誇張係数値は、奏者キャラクタ修飾値の一例であり、奏者キャラクタを修飾するものであれば、どのような値であっても、また、奏者キャラクタとして与えられる変動値に対して、どのような演算をするものであってもよい。
【００４６】
一方、音源設定用演奏データに対応して、奏者系統1〜N毎に、かつ、音源設定パラメータｃ，ｄ毎に、奏者キャラクタ１１ｃ，１１ｄおよび、奏者キャラクタ修飾値１２ｃ，１２ｄがある。
「プログラム・チェンジ・メッセージ」のような音源設定パラメータは、合奏効果に対する重要性が比較的低いと考えられるので、図示の例では、フレーズ内の音源設定用演奏データの入力順序番号によっては変わらない単独の変動値としているが、変えるようにしてもよい。
また、テイクは複数用意しているが、フレーズ検出毎にテイクを変えないようにするのであれば、また、フレーズの種別によってテイクを変えないようにするのであれば、テイクは１つでよい。
【００４７】
音源設定パラメータは、一旦音源装置３に設定されると、その値が維持される。そのため、フレーズ検出毎にテイクを切り替えたり、フレーズの種別によってテイクを選択したりする場合には、その都度、音源設定用演奏データを生成して音源装置３に出力する必要がある。
具体的には、最後に入力が検出された所定の音源設定用演奏データが有していた音源設定値を保持しておき、これに新たなテイクの変動値、あるいはさらに奏者キャラクタ修飾値で調整した値を、新たな音源設定値として有する音源設定用演奏データを生成して音源装置に出力する。
【００４８】
音源設定パラメータの中には、その設定値が、例えば音色番号のように、その数値の連続性が音源設定パラメータの内容上の連続性を必ずしも意味しない場合がある。このような場合には、制御値を変動値に応じてばらつかせることは、近似した音色に変更するというような、音源設定パラメータの内容上のばらつきを与えることを意味する。したがって、変動値は元の制御値に加算したり乗算したりする値では必ずしもない。
【００４９】
図２に示した例では、奏者キャラクタは、予め奏者系統数Nだけ記憶されているものとしているが、実際には、奏者系統数Nは、ユーザによって任意に設定される値である。したがって、奏者系統数Nの値毎に、図示の奏者キャラクタを記憶させておき、ユーザが奏者系統数Nを設定することにより、奏者キャラクタを自動設定する。
あるいは、予め十分多くの系統数の奏者キャラクタを作成して記憶させておき、その中から、ユーザが、奏者系統数Nに応じて、任意の奏者系統1〜Nを選択するようにしてもよい。
ユーザは、まず、メモリあるいは記憶装置に記憶された奏者キャラクタの中から、奏者系統1からNまでのものを任意に選択し、さらに、奏者キャラクタの修飾値を任意に設定すれば、選択された奏者キャラクタに多様な変化を与えることができる。
上述した、合奏効果設定情報は、演奏データを入力する前に予め記憶装置に設定しておくことを前提とする。しかし、曲の演奏途中で、設定が変えられるようにしてもよい。例えば、曲の途中で、奏者系統数や選択する奏者系統を変更してもよい。曲の途中で、奏者キャラクタ修飾値を変更して、例えば、ばらつきの具合を誇張係数値を変更して制御してもよい。
【００５０】
図示の例では、奏者キャラクタは、複数の音符制御パラメータおよび複数の音源設定パラメータに対する奏者キャラクタ（変動値）が奏者系統1〜N毎に関連づけて、セットとして組み合わせて記憶している。
各音符制御パラメータ間や各音源設定パラメータ間に奏者が同一であることによる相関がある場合に、このようなセットで記憶させておくことにより、奏者の個性が細かく反映される。
ユーザは、奏者を指定して、この奏者の各音符制御パラメータ及び音源設定パラメータの変動値を選択する。
しかし、相関の少ない音符制御パラメータや音源設定パラメータについては、パラメータ別に奏者キャラクタを記憶させておいて、ユーザが任意に、奏者の個性の組み合わせを決めるようにしてもよい。例えば、音符制御パラメータ群の奏者キャラクタ（変動値）と、音源設定パラメータ群の奏者キャラクタ（変動値）とは、別々にセットとして記憶しておいてもよい。
【００５１】
上述した奏者系統1〜Nの音符制御パラメータの変動値および音源設定パラメータの変動値は、実際に、第１から第Ｎの奏者により同一の楽譜を同時に実演奏したときに分析された、個々の音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものを用いることが望ましい。このような実演奏に基づいた変動値を用いることにより、自然な合奏感が得られる。
一方、音源設定パラメータの変動値については、実際の演奏に使用される第１から第Ｎの同一楽器の楽器固有の楽音特性のばらつきの特徴パターンに基づいて作成されたものを用いることもできる。
【００５２】
図３は、図１に示したブロック構成図において、奏者毎に生成される演奏データの具体例を示す説明図である。
図３（ａ）は、演奏データ処理部２に入力されて検出された「ノート・オン・メッセージ」の個々の音符に対するノートオンタイミングの制御値を、この「ノート・オン・メッセージ」が検出される毎（音符が検出される毎）にばらつかせる場合を示している。
図１に示した、MIDI出力装置１がMIDI鍵盤である場合、出力されるMIDIデータには、ノートオンタイミングなどの「イベント発生タイミング」のデータを伴わないので、「ノート・オン・メッセージ」が出力された時点がノートオンタイミングである。
一方、MIDI出力装置１が、楽曲データファイルを記憶した記憶装置である場合には、出力される演奏データには、「イベント発生タイミング」のデータが何らかの形式で含まれている。
【００５３】
図１に示した変動値設定部５は、入力が検出された「ノート・オン・メッセージ」が有しているノートオンタイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、新たに制御値として有した、奏者系統1〜Nの「ノート・オン・メッセージ」を出力する。
なお、出力される複数の「ノート・オン・メッセージ」の中には、入力された「ノート・オン・メッセージ」が有していた制御値と同じ値を制御値として有するものがあってよい。このとき、変動値は０である。このような奏者は、楽譜に寸分違わない演奏をする個性の奏者として意味がある。
「ノート・オン・メッセージ」中の、ノート番号、ベロシティ（オンベロシティ）の制御値をばらつかせない場合は、これらの制御値を、そのまま、奏者系統1〜Nの各「ノート・オン・メッセージ」中のノート番号、ベロシティ（オンベロシティ）とすればよい。
【００５４】
図１に示した、音源装置３は、演奏データをリアルタイムのMIDIデータとした場合、「ノート・オン・メッセージ」を入力した時点をノートオンタイミングとして解釈する。そのため、演奏データ出力部６は、変動値に応じて「ノート・オン・メッセージ」を出力する時点を制御する必要がある。
しかし、入力された「ノート・オン・メッセージ」のノートオンタイミングに変動値を加算する場合に、変動値がマイナスである（タイミングを過去の方向に戻す）ときがある。そのため、演奏データ処理部２がリアルタイム処理をする場合は、変動値がゼロのときでも、音符制御用演奏データをわずかであるが所定の時間だけ遅延したタイミングで出力するようにしておく。または、変動値がマイナスの場合にはゼロとみなし、処理を簡素化してもよい。
【００５５】
図３（ｂ）は、演奏データ処理部２に入力されて検出された所定の「コントロール・チェンジ・メッセージ」の一種であるノンレジスタード・パラメータ・ナンバー（以下、「ＣＣＭ−ＮＲＰＮ」という）により指定する、ディレイビブラート開始タイミングの制御値を、この所定の「ＣＣＭ−ＮＲＰＮ」が検出される毎にばらつかせる場合を示している。この場合の、ディレイビブラート開始タイミングは、特定の音符を制御するものではなく、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御するものとして機能する。
この場合、図１の変動値設定部５は、入力が検出された所定の「ＣＣＭ−ＮＲＰＭ」が有しているディレイビブラート開始タイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、新たに制御値として有する、奏者系統1〜Nの同じ所定の「ＣＣＭ−ＮＲＰＭ」を出力する。
この奏者系統1〜Nの所定の「ＣＣＭ−ＮＲＰＭ」は、生成されたタイミングか、あるいは、入力されたタイミングから所定時間遅延したタイミングで出力する。出力するタイミングは、奏者毎に若干ずれても構わない。
【００５６】
イベント発生タイミングデータを伴う所定の「ＣＣＭ−ＮＲＰＭ」を出力する場合に、イベント発生タイミングの値は、原則として、入力された所定の「ＣＣＭ−ＮＲＰＭ」に対するイベント発生タイミングと同じ値にする。
先に「ノート・オン・イベント・メッセージ」に関して説明したように、イベント発生タイミングデータには、種々の記述形式があるので、演奏データ出力部６は、この形式を考慮して演奏データのイベント発生タイミングデータを記述する。
なお、出力される複数の所定の「ＣＣＭ−ＮＲＰＭ」の中には、入力された所定の「ＣＣＭ−ＮＲＰＭ」が有していた制御値と同じ値を制御値として有するものがあってよい。
【００５７】
図３（ｃ）は、演奏データ処理部２に入力されて検出された「ノート・オン・メッセージ」の個々の音符に対するノートオンタイミングの制御値を、この「ノート・オン・メッセージ」が検出される毎（音符が検出される毎）にばらつかせるとともに、これに連動して、ノートオンタイミングとは異なる他の制御値、例えば、上述したディレイビブラート開始タイミングについても、所定値からばらつかせる場合を示している。
検出された「ノート・オン・メッセージ」に対して、図３（ａ）に示したように単純に「ノート・オン・メッセージ」を出力するか、この図３（ｃ）に示すように、他の音符制御パラメータについてもばらつかせるかは、予め決めておけばよい。
【００５８】
図１の演奏データ出力部６は、まず、その入力が検出された「ノート・オン・メッセージ」が有しているノートオンタイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、ノートオンタイミングの新たな制御値として有する、奏者系統1〜Nの「ノート・オン・メッセージ」を出力する。さらに加えて、ディレイビブラート開始タイミングの基準となる所定値（通常は、ディレイビブラート開始タイミングの標準的な値とするか、ディレイビブラートをかけないゼロ値に決めておく）に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、ディレイビブラート開始タイミングの新たな制御値として有する、奏者系統1〜Nの所定の「ＣＣＭ−ＮＲＰＭ」（図３（ｂ）を参照して説明したもの）も出力する。
なお、出力される複数の「ノート・オン・メッセージ」の中には、入力された「ノート・オン・メッセージ」が有していた制御値と同じ値を制御値として有するものがあってよいし、出力される複数の「ＣＣＭ−ＮＲＰＭ」の中には、ディレイビブラート開始タイミングの制御値がゼロ値であるものがあってもよい。
【００５９】
図３（ｃ）に示した、「ＣＣＭ−ＮＲＰＭ」が、「ノート・オン・メッセージ」以前のタイミングで出力されるようにすれば、「ノート・オン・メッセージ」により発音される音符以降の音符に対してディレイビブラート開始タイミングを制御することができる。以後、同じ「ノート・オン・メッセージ」＋「ＣＣＭ−ＮＲＰＭ」、あるいは、単独の「ＣＣＭ−ＮＲＰＭ」が出力される毎に、ディレイビブラート開始タイミングにばらつきを与えることになる。
ただし、この「ＣＣＭ−ＮＲＰＭ」は、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御するため、「ノート・オン・メッセージ」により制御される個々の音符が、さらに「ＣＣＭ−ＮＲＰＭ」によっても制御されることになる。
同様にして、図３（ｃ）に例示したディレイビブラート開始タイミングに代えて、音量やビブラート速さなどの、楽音特性を制御する他の音符制御パラメータを制御する「ＣＣＭ−ＮＲＰＭ」を、「ノート・オン・メッセージ」とともに同時出力することにより、「ノート・オン・メッセージ」が検出される毎に所定値からばらつかせて出力する演奏データを同時出力するようにしてもよい。
あるいは、「ＣＣＭ−ＮＲＰＭ」に代えて、「ポリフォニック・キー・プレッシャ・メッセージ」を用いて、「ノート・オン・メッセージ」により発音される音符のノート番号を指定して、その楽音特性を制御する演奏データとしてもよい。「ポリフォニック・キー・プレッシャ・メッセージ」は、発音されている音符に対する制御を行うものであるので、出力される「ポリフォニック・キー・プレッシャ・メッセージ」は、出力される「ノート・オン・メッセージ」以後のタイミングで出力されるようにする。
【００６０】
図３（ｃ）では、「ノート・オン・メッセージ」が入力されたときに、「ノート・オン・メッセージ」の他に、他の演奏データが出力されている。しかし、このような２つの演奏データをまとめたものとして、新たに定義された演奏データを出力してもよい。この場合も、実質的には２つの音符制御用演奏データが出力されていることになる。このようにすれば、本来音源制御パラメータであったものでも、この「ノート・オン・メッセージ」により発音される音符毎に、音源制御パラメータを制御して、その制御値をばらつかせることができるようになるので、確実に、音符制御パラメータとして機能させることができる。
MIDI規格では、新たに演奏データを定義することに制約があるが、独自規格においては、このような演奏データを任意に採用することができる。
なお、図３（ｃ）の具体例の特別な場合として、入力された「ノート・オン・メッセージ」の方は、入力された「ノート・オン・メッセージ」が有する制御値をそのまま奏者系統1〜Nで用いることができるように出力するが、他方の所定の音符制御用演奏データは、奏者系統1〜N毎に互いに異なる制御値を有するようにしてもよい。
【００６１】
上述した種々の音符制御パラメータおよび音源設定パラメータの内、最も合奏感に影響を与えていると考えられるのは、ノートオンタイミングのばらつきである。
そこで、以下の説明では、ノートオンタイミングについてのみばらつきを与える場合を具体例として詳細に説明する。各奏者の演奏データによって演奏される楽音信号の音高は同一（ユニゾン）の状態を保って出力される。
図４は、アコースティックバイオリンを演奏したときの、ノートオンタイミングのばらつきの実測値を示す第１の説明図である。４人の奏者1〜4の合奏であって、テンポ120で８分音符を4拍連続して演奏した場合を示している。
図中、縦線は、拍の正規のノートオンタイミング位置を示し、各奏者1〜4の８分音符の符頭の中心を各奏者のノートオンタイミング位置として示している。
【００６２】
第１〜第４拍のノートオンタイミングは、正規のノートオンタイミングからずれてばらついている。
奏者１は、ノートオンタイミングのずれが比較的大きく、奏者２は比較的ずれが小さい。奏者３，４は、常にノートオンタイミングが早まっており、ずれの量が負になっている。このように、奏者の個性の違いが見受けられる。
また、奏者1〜4の全体を眺めれば、演奏開始後の最初の音符はタイミングが合わず、かつ、早まる傾向にあるが、奏者毎のばらつきが大きい。後の方の音符になるほど、合奏のタイミングが正規のタイミングに合う傾向が見られ、かつ、奏者毎のばらつきが小さくなっている。また、第１拍とともに第３拍も早まる傾向が見られる。
このように、演奏開始からの１フレーズ内の音符の順番によってばらつきが変動している。演奏途中においても、前の音符から所定時間以上経過した休符後は、上述した演奏開始と同じ傾向があった。
このような、演奏開始と同等に見ることができる休符の時間長は、数百msec以上であり、演奏テンポの影響は少ない。
【００６３】
図５は、アコースティックバイオリンを演奏したときの、ノートオンタイミングのばらつきの実測値を示す第２の説明図である。
縦軸は楽譜通りの拍のノートオンタイミングを０としたときのずれの値[ms]であり、正の値が遅れ、負の値が早まり（飛び出し）を意味する。横軸は４拍、すなわち、８分音符４つの各々のタイミングを示す。８分音符のノートオンタイミングの間隔は500[ms]になる。
演奏条件は、図３と同じであり、同じ演奏を複数回行って得た、複数テイクの結果を示す。
図５（ａ）〜図５（ｄ）に、ノートオンタイミングのずれを、奏者1〜4別に示す。系列0〜3は、テイクの列番号を示し、各図に共通した列番号である。なお、図４に示した説明図は、図５（ａ）〜図５（ｄ）に示した系列0のテイクを、奏者１〜４について、時間軸に沿って表したものである。
この図から、同じ奏者であっても、テイク毎に、ノートオンタイミングのずれが大きくばらついていることがわかる。
【００６４】
図５に示したような複数の奏者の実演奏によってノートオンタイミングのずれを計測したものを、そのまま、あるいはさらに加工を施して「タイミングシーケンス」とする。
図１に示した、変動値設定部５においては、上述した「タイミングシーケンス」を予めＲＯＭなどの記憶装置に格納しておく。
演奏開始からのフレーズ内の音符の順番（時系列）で変動値が変化しているので、フレーズ内の音符検出毎に、ノートオンタイミングの変動値を順次切り替え選択することにより、変動値を設定する。演奏途中でも、所定時間以上の休符後は、新たなフレーズの演奏開始とみなす。
したがって、奏者毎のノートオンタイミングの変動値のばらつきを実現するアルゴリズムとして、出力される「ノート・オン・メッセージ」のノートオンタイミングは、入力されたノートオンタイミングを基準に変動値を与えるものとし、この変動値は、音符検出毎にばらつきを与え、フレーズが開始される毎に、最初の音符用の変動値に初期リセットさせる。
【００６５】
このような多数の奏者によって合奏したテイクを複数回計測しておき、奏者毎に、「タイミングシーケンス（複数テイク）」を格納しておく。ユーザが、奏者数を選択するとき、奏者数に応じた個数の「タイミングシーケンス（複数テイク）」を選択して用いる。
しかし、奏者数Nによっても合奏感が変化するので、奏者数N毎に実演奏を行って計測したものを用いるのが望ましい。その際、所定の奏者数で計測したものの特徴を分析して、適宜、計測値を加工して、奏者数毎の「タイミングシーケンス」データを作成することも可能である。
【００６６】
タイミングの変動値は、テイクによってばらついていることから、上述した「プレーヤーズタイミングシーケンス」データを、図５の系列0〜系列3のような複数テイク分を格納しておく。楽曲の進行とともに、新たなフレーズを検出する毎に、テイクを予め決めた順番か、あるいは、ランダムに切り替える。
その際、合奏感は、複数奏者が一体となって演奏する際の相互作用によって得られるものであるので、各奏者系統1〜Nの「プレーヤーズタイミングシーケンス」は、同一の変動値列（同一テイク）のものを用いる。
このような選択方法とは別に、フレーズの特徴パターンによって分類されたフレーズ種別ごとに、実演奏を行って計測した１テイクを格納しておけば、図１の演奏データ検出部４で検出されたフレーズ種別に応じて、これに適したテイクを選択して利用できる。
【００６７】
なお、「タイミングシーケンス」内の、変動値の数は、１フレーズ中の音符の数だけ必要である。しかし、１フレーズ中の音符の数は、曲によって異なっている。
例えば、１フレーズは必ずしも４つの音符からなるわけでない。３音符以下であるときは、１フレーズの終了によって、「タイミングシーケンス」を初期値にリセットすればよい。ところが、４音符以上の長いフレーズであるときも、シーケンスデータを供給し続けなければならない。
【００６８】
図６は、フレーズが長く続くときのタイミングシーケンスの使用方法の説明図である。
「タイミングシーケンス」の１フレーズ中の音符の数を４とし、シーケンスデータの第１〜第４音符に対するノートオンタイミングの変動値の順序番号（音符の順序番号と同じ）を、１〜４の数字で表す。
ある１つのテイク(列)について、フレーズ内の各音符に対し、変動値を、１→２→３→４→３→２→３→４→３……とする。
図中、棒グラフは、一般的な曲における拍の強弱を表す。第１拍が最も強く、第３拍がそれに続く強さであり、第２拍と第４拍が弱い。
図４，図５を参照して説明したように、演奏の開始時および休符後の最初の第１音符は、変動値が特に大きいので、フレーズの途中で再び利用することは好ましくない。また、１フレーズは、図示のように拍の強弱を有しており、この強弱に関連してノートオンタイミングのずれも影響することが、先の図５の実測値からも推測される。したがって、拍の強弱も考慮して、ノートオンタイミングの変動値の再利用を行う。その結果、図６に示したシーケンスとなる。
【００６９】
以上の説明は、図２に示した奏者キャラクタの設定に関するものである。この奏者キャラクタは、奏者キャラクタの修飾値を設定することによって、さらに調整される。ユーザが、これらの修飾値を指定することにより、実測に基づいた変動値を調整する。
ここで、演奏テンポが速いと、ノートオンタイミングの変動値が小さくなる傾向がある。したがって、演奏のテンポによっても、ノートオンタイミングのずれ倍率の修飾値といえるタイミング誇張係数値1を制御する。
図７は、演奏のテンポ（fTempo）とノートオンタイミングのタイミング誇張係数値1（fTempoTimingExp）との関係を示すグラフである。屈曲点を２つ設けている。
演奏テンポが60〜120では、タイミング誇張係数値1を1倍とする。演奏テンポが120〜240になるにしたがって、タイミング誇張係数値1を徐々に0.5倍まで減少させる。演奏テンポが240以上では、タイミング誇張係数値1を0.5倍とする。
【００７０】
上述した説明では、図１に示した変動値設定部５が、複数の奏者の実演奏でタイミングずれを計測したものを変動値として格納する形態について説明した。実測に基づいているので、ノートオンタイミングのばらつきにリアリティがある。しかし、実測に手間がかかり、また、必要とする記憶容量も増してしまう。
そこで、制御値に与えるばらつきを、乱数を併用して与える方法を説明する。この場合、合奏感のリアリティが低下するが、多数の実測データをとって格納する必要がなくなる。
図８は、音符制御パラメータに対するばらつきを、１テイクの実測データに対して乱数を併用して得る形態を示すブロック構成図である。
２１は奏者１用テーブル、３１は奏者２用テーブルであって、実測に基づいた１テイク（列）分の「タイミングシーケンス」テーブルである。２２，３２は設定部、２３，３３は乗算器、２４，３４は乱数発生器、２５，３５は乗算器、２６，３６はずれ倍率指定部、２７，３７は加算器、２８，３８はずれオフセット指定部である。
【００７１】
ある特定の音符制御用演奏データ、この具体例では「ノート・オン・メッセージ」が初めて入力されて検出されると、設定部２２，２３は、奏者１用テーブル２１，奏者２用テーブル３１の読み出し位置を初期位置にリセットし、第１番目の音符に対応する第１番目の変動値を設定する。また、同時に、乱数発生器２４，３４の出力を更新する。
「ノート・オン・メッセージ」が検出される毎に、設定部２２，３２は、奏者１用テーブル２１，奏者２用テーブル３１の読み出し位置を順次進めて、ノートオンタイミングの変動値を出力する。
説明を簡単にするため、音符検出タイミングの直前に、フレーズ検出タイミングが入力されるものとして説明する。フレーズ検出タイミングが検出される毎に、設定部２２，３２は、奏者１用テーブル２１，奏者２用テーブル３１の読み出し位置を初期位置にリセットし、フレーズ内の音符数が多いときには、先に、図６に示したパターンで、変動値の一部を繰り返し読み出す。
【００７２】
設定部２２の出力は、乗算器２３において、乱数発生器２４の出力（-1〜1）と乗算される。奏者１用テーブル２１に記憶されたノートオンタイミングの変動値は、ばらつきの最大値を与えるものであり、それ以下の値を乱数発生器２４から出力される符号付きの乱数によって与える。
乱数発生器２４は、フレーズが検出される毎に出力を更新するので、第１テイクとは異なるばらつきの態様を乱数によって生成していることになる。見方を変えれば、奏者１用テーブル２１に記憶された値は、テイク毎の乱数値に与える、フレーズ内の音符のばらつきに対する重み係数ともいえる。
【００７３】
この乗算器２３の出力は、乗算器２５において、ずれ倍率指定部２６の出力と乗算される。この乗算器２５の出力は、加算器２７において、ずれオフセット指定部２８の出力と加算されて、奏者１用のノートオンタイミングの変動値が生成される。この乗算器２５と加算器２７の演算順序を逆にして、加算後に乗算を行ってもよい。
奏者２用のノートオンタイミングの変動値も同様であり、奏者数が３以上の場合も同様である。
なお、乱数発生器２４，３３は１個の乱数発生器とし、奏者数分の乱数値を順次、分配して出力するものであってもよい。また、奏者１用テーブル２１、奏者２用テーブル３１は、多数の奏者用テーブルを用意して、その中から奏者１用、奏者２用に、ユーザが選択して使用してもよい。
【００７４】
上述した説明では、合奏感のリアリティを高めるために、最低限、実測に基づいた１テイク（列）分のテーブルを奏者毎に使用している。
構成を簡略化するには、奏者１用テーブル２１、奏者２用テーブル３１に代えて、ばらつきの態様が異なる特性の乱数発生器を奏者毎に用いて、１フレーズ内の音符毎のノートオンタイミングにばらついた変動値を与えてもよい。その際、乱数発生器２４，３４から出力される乱数値よりも、変化範囲の絶対値は小さくするとよい。
さらに、簡略化するには、奏者１用テーブル２１、奏者２用テーブル３１に代えて、奏者毎に異なる１つの固定値のみを用いてもよい。この場合、乱数発生器２４，３４は、フレーズ検出タイミングだけではなく、「ノート・オン・メッセージ」が検出されるタイミング毎に、乱数出力を更新するようにすれば、フレーズ中の各音符においても、ノートオンタイミングの変動値をばらつかせることができる。その際、フレーズ検出タイミングで発生させる乱数値の変化範囲よりも、変化範囲の絶対値を小さくするとよい。
【００７５】
以上、本発明の演奏データ処理方法の機能構成を説明したが、図１に示した演奏データ処理部２は、具体化に際して種々の形態で実施できる。
図９は、本発明の演奏データ処理方法の具体化例を示す第１の説明図である。
図９（ａ）は、本発明をシーケンサにおける編集機能として具体化した場合の説明図である。
、図９（ｂ）は、本発明をMIDIイベントのフロントエンドプロセッサとして具体化した場合の説明図である。
図９（ｃ）は、音源ドライバ機能モジュールとして具体化した場合の説明図である。
【００７６】
図９（ａ）において、曲データ記憶部４２、曲データ記憶部４３は、例えば、電子楽器あるいはシーケンサソフトウエアが実行されるパーソナルコンピュータに内蔵のメモリあるいは外部記憶装置である。
演奏データ処理部４１は、曲データ記憶部４２に記憶された、曲データファイル、例えばSMF（Standard MIDI File）から、タイミングデータを伴う演奏データを読み出して入力する。
演奏データのフォーマットは、SMFのように演奏イベントの発生時刻を１つ前のイベントからの時間で表した「イベント＋相対時間」のほか、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント＋絶対時間」、音符の音高と符長，休符と休符長で演奏データを表した「音高（休符）＋符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等のシーケンサソフトウエアの独自形式など、どのような形式でもよい。
【００７７】
演奏データ処理装置４１は、入力された演奏データに対して合奏効果を与えるために、奏者数分の演奏データを出力する。出力される演奏データも、タイミングデータを伴うものである。演奏パートおよび奏者エレメントの識別は、例えば、MIDIチャンネル番号で行えばよい。
「ノート・オン・メッセージ」が入力された場合、出力される奏者数分の「ノート・オン・メッセージ」のタイミングデータは、例えば、入力された「ノート・オン・メッセージ」のタイミング値に奏者毎に異なる変動値を加算して決定する。その際、相対時間を用いてイベントタイミングを指定する場合には、出力する「ノート・オン・メッセージ」が奏者数分あるので、それらが出力されるイベントタイミングに応じて、相対時間を計算することになる。
【００７８】
曲データ記憶部４３に記憶された演奏データは、曲データの処理中あるいは曲データの処理終了後に、読み出されて音源装置に出力されることにより、楽音信号が合成される。
曲データ記憶部４３がハード磁気ディスクや半導体メモリカードなどの外部記憶装置である場合、演奏データは、入力された演奏データのMIDIチャンネル番号に応じたトラックに記憶する。各演奏パートの各奏者エレメントの演奏データが同一のトラックに記憶されてもよい。
曲データ記憶部４２と楽曲データ記憶部４３とは、同一のハードウエアでもよい。処理後の演奏データを異なる領域に記憶したり、処理前の演奏データを消去したりすることがユーザによって決定される。
リアルタイム処理ではないので、出力される「ノート・オン・メッセージ」のノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングよりも過去となる場合も特に問題がない。また、フレーズ種別を判定してから、そのフレーズ内の合奏効果の設定を制御することができる。
【００７９】
次に、図９（ｂ）に示した、MIDIイベントフロントエンドプロセッサ装置として、本発明を具体化する場合について説明する。
MIDI出力装置１は、例えば、外部接続されたMIDI鍵盤や電子楽器であって、演奏データとして、タイミングデータを伴わないリアルタイムのMIDIデータを出力する。接続ケーブルを介して行うほか、LANやインターネットなどの通信ネットワークを介して行われる場合もある。
演奏データ処理部４４は、入力された演奏データに対して合奏効果を与えるために、奏者数分の演奏データを出力する。出力される演奏データは、タイミングデータを伴わないMIDIデータである。
演奏パートおよび奏者の識別は、例えば、MIDIチャンネル番号で行えばよい。
【００８０】
音源装置３は、例えば、MIDIチャンネル番号に応じて演奏パートと奏者エレメントを割り当てて、各奏者毎に楽音信号を合成して出力する。
リアルタイム処理を行うので、出力されるノート・オン・メッセージのノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングより過去の時刻となる場合のために、所定の処理遅延を許容する必要がある。あるいは、負の時系列オフセットは一律に０に変換して、リアルタイム性を維持してもよい。
MIDI出力装置１に代えて、演奏データ処理部４４を内蔵する電子楽器の鍵盤から出力される演奏データを用いる場合も同様である。この場合、演奏データは、MIDIデータである必要はなく、この電子楽器内部で使用される信号でよい。
同様に、音源装置３もこの電子楽器に内蔵されるものであれば、演奏データ処理部４４が出力する演奏データも内部で使用される信号でよい。
演奏データ処理部４４が、タイミングデータを伴う演奏データを出力すれば、図９（ａ）のような曲データ記憶部４３に出力することもできる。
【００８１】
次に、図９（ｃ）に示した、演奏データ処理部４５ａを音源装置４５の内部に設けて、本発明を具体化する場合について説明する。
MIDI出力装置１は、演奏データとして、タイミングデータを伴わないリアルタイムのMIDIデータ、あるいは、電子楽器内部で使用される信号を出力する。
演奏データ処理部４５ａは、音源装置４５内部の音源ドライバ機能モジュールとして動作する。出力する演奏データの形式は、入力された演奏データの形式とは独立して決めることができ、音符制御パラメータまたは音源設定パラメータを、波形合成部４５ｂに転送する。
この具体例でも、MIDI出力装置１がリアルタイムにMIDIデータを出力するので、処理遅延を伴うが、負の時系列オフセットは０に変換して、リアルタイム性を維持してもよい。
【００８２】
図１０は、本発明の具体化例を示す第２の説明図である。
プレイバック音源内部における音源ドライバ機能モジュールとして実施する場合の説明図である。
プレイバック音源とは、イベント処理が実際の発音タイミングに先行して行われる音源である。具体的に説明すると、現在発音中の一音（音符）が、いつ終了するか、その次の一音（音符）が、いつ始まるのかを予め音源装置に送り、時間の因果律にとらわれずに各種の奏法（アーティキュレーション）を実現できる音源装置である。例えば、特開２００１−１００７５８号公報に記載された「波形生成装置」である。
【００８３】
図中、４６はプレイバック音源装置、４６ａは奏法付き曲データ再生処理部、４６ｂは楽譜解釈処理部、４６ｃは演奏データ処理部、４６ｄは奏法合成処理部、４６ｅは波形合成処理部、４６ｆは波形出力処理部である。
曲データ記憶部４２は、奏法付き曲データを保持する。強弱、テンポ、スラー等の楽譜上で音楽記号として記述される奏法が「奏法記号」として、MIDIシーケンスデータ中に記録されている。
奏法付き曲データ再生処理部４６ａは、曲データを入力して再生する。楽譜解釈処理部４６ｂは、楽譜上の記号（音楽記号や音符の並び方等）を解釈して、演奏データに変換し、時刻情報とともに演奏データ処理部４６ｃに出力する。同時に、従来の通りのMIDIデータも時刻情報とともに出力する。
【００８４】
演奏データ処理部４６ｃは、本発明の演奏データ処理方法の一具体化例である機能モジュールである。
したがって、予め奏者数分の合奏効果設定がなされており、楽譜解釈処理された後の音符制御用演奏データあるいは音源設定用演奏データを入力して、複数奏者分の音符制御用演奏データあるいは音源設定用演奏データを出力する。出力する音符制御用演奏データあるいは音源設定用演奏データは、入力された制御値に対してばらつきが与えられる。
【００８５】
奏法合成処理部４６ｄは、各奏者系統毎に入力された演奏データから奏法指定情報を生成し、奏法指定情報で奏法テーブルを参照し、パケットストリーム（ベクトルストリーム）および奏法パラメータに応じた該ストリームに関するベクトルパラメータを生成し、波形合成処理部４６ｅに出力する。パケットストリームは、ピッチ要素および振幅要素に関しては、パケットの時刻情報、ベクトルID、代表点値列などであり、波形要素に関しては、ベクトルID、時刻情報などである。
波形合成処理部４６ｅでは、パケットストリームに応じてコードブックからベクトルデータを取り出し、このベクトルデータをベクトルパラメータに応じて変形し、変形したベクトルデータに基づいて楽音波形を合成する。
【００８６】
波形出力処理部４６ｆは、各奏者の合成楽音波形を加算合成して出力する。他の演奏パートの演奏データについて、図示しない従来型のリアルタイム音源で波形合成されている場合には、この波形出力部４６ｆで加算合成してプレイバック音源装置４６の出力とする。
この具体例では、リアルタイム処理をしないので、出力される「ノート・オン・メッセージ」のノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングより過去の時刻となる場合についても特に問題がない。また、フレーズ種別を判定し、そのフレーズ内の合奏効果の設定を制御できる。
【００８７】
以上、図９（ａ）〜図９（ｃ），図１０を参照して、本発明の演奏データ処理方法について、複数の具体化例を説明した。
上述した演奏データ処理部４１，４４は、パーソナルコンピュータのCPU（Central Processing Unit）にプログラムを実行させることによって実現することができる。この場合、プログラムは、オペレーティングシステムプログラムの下で実行されるアプリケーションプログラムとして作成する。記録媒体に記録し、パーソナルコンピュータにインストールして、パーソナルコンピュータのCPUにこのプログラムを実行させる。
あるいは、CPUを搭載し、パーソナルコンピュータのアーキテクチャに近い、独自のハードウエア基板を設計し、このCPUを制御する専用のプログラムをROMに記憶させて、シーケンサ装置あるいは、シーケンサ機能を有する電子楽器専用機として、本発明を実現してもよい。
【００８８】
また、上述した演奏データ処理部４１，４４は、専用のプログラムによって信号処理アルゴリズムを実行するDSP（Digital Signal Processor）あるいはCPU、を音源IC（Integrated Circuit）チップ相当のICチップとして実現させることもできる。
図９（ｃ）に示した音源装置４５内部の演奏データ処理部４５ａの場合や、図１０に示した演奏データ処理部４６ｃの場合、音源装置４５，プレイバック音源装置４６の全体を、パーソナルコンピュータのCPU（Central Processing Unit）にプログラムを実行させることによって実現したり、独自のハードウエア基板で、CPUを制御する専用のプログラムを基板上のROMに記憶させて実現したり、DSPあるいはCPUをICチップ音源として実現したりすることができる。
【００８９】
次に、本発明の演奏データ処理方法の実施の一形態において、ユーザが行う合奏効果設定操作の一具体例を説明する。
この設定操作は、図１０に示したようなプレイバック音源装置４６内の音源ドライバ機能モジュールの場合を前提としたものである。しかし、図９（ａ）に示したシーケンサの編集機能、図９（ｂ）に示したMIDIイベントフロントエンドプロセッサ、あるいは、図９（ｃ）に示した音源装置として具体化する場合についても、同様に適用できる。
【００９０】
図１１は、合奏感のある演奏データを出力するための設定画面の説明図である。
図中、５１はパーソナルコンピュータのディスプレイ上に表示される奏者の設定画面、５２は楽団の構成を表示する左ペイン、５３は奏者（１人分）の設定を行う右ペインである。
本発明の演奏データ処理装置においては、楽団（パフォーマンス）という形態で、音源の制御パラメータを管理する。
このパフォーマンス（楽団）は、階層的に定義され、ユーザによって編集可能である。その階層が左ペイン５２に表示される。
【００９１】
パフォーマンス「Default」は、複数のパート「Default0」，「Default1」，「Default2」，……，「Default7」で構成される。各パートには、１つのボイス（Voice：楽器音色）が割り当てられる。例えば、第１バイオリン，第２バイオリン，ビオラ，チェロ，コントラバス，フルート１，フルート２，オーボエ１，オーボエ２，ホルン１，ホルン２といったボイスがある。
なお、上述した「」内の名称は、それぞれのパートに付けられた名前のデフォルト名であり、ユーザが任意の名前を付けることができる。
ボイスには、１または複数の奏者（Instrument）が割り当てられる。「Default0-0」，「Default0-1」が、ボイス「Default0」の２人の奏者名である。
ボイスが「セクションボイス」の場合は、複数の奏者が割り当て可能である。「ソロ」の場合は、１人の奏者のみが割り当てられる。図示の「Default0」はセクションボイスであり、奏者数は図示しない別の画面で設定される。
【００９２】
左ペイン５２の奏者「Default0-0」をマウスボタンのクリックで選択することにより、右ペイン５３に、奏者「Default0-0」の設定画面が表示される。
５４は奏者名（Instrument Name）の表示領域である。
５５は奏者の音色を指定する「奏者音色番号（Instrument Sample Number）」、５６は奏者の奏者タイミング（演奏動作）を指定する「タイミングシーケンス番号（Timing Sequence Number）」、５８はタイミングオフセット係数（TimingOffset）、５９はタイミング誇張係数（TimingExpand、以後、この値をタイミング誇張係数値2という）を、それぞれ入力するための入力部である。
【００９３】
図示の例では、ある奏者のキャラクタの設定を、奏者が演奏する楽器の音色の設定と、奏者の演奏動作の設定との２つの設定の組み合わせで行う方法をとっている。
すなわち、入力部５５に入力されて設定される奏者の音色を規定する「奏者音色番号（Instrument Sample Number）」と、入力部５６に入力されて奏者の演奏動作を規定する「タイミングシーケンス番号（Timing Sequence Number）」との、両者の独立した組み合わせで、１人の奏者のキャラクタを設定する。独立した組み合わせをとることによって、キャラクタの種類を増やすことができる。
もちろん、「タイミングシーケンス番号（Timing Sequence Number）」のみによって音色および演奏動作のキャラクタを同時に設定してもよい。先に説明した図１〜図１０においては、奏者系統の番号1〜Nで、両方のキャラクタを設定するものであった。
奏者番号を図１１のように、音色関係と演奏動作関係とで独立した奏者系統の番号を用いる場合には、図１〜図１０におけるノートオンタイミングの変動値制御は、演奏動作関係の「タイミングシーケンス番号（Timing Sequence Number）」によって変動値を決定することになる。
【００９４】
ノートオンタイミングのばらつきは、図示しないパラメータ設定画面で設定するタイミングテーブル番号で、複数奏者のタイミングシーケンスのセットが選ばれ、さらに、「タイミングシーケンス番号（Timing Sequence Number）」によって、標準的な「ばらつきのパターン」が指定され、入力部５８，５９に入力される「奏者キャラクタの修飾値」としての、タイミングオフセットおよび、タイミング誇張係数値2によって修飾される。
この修飾によって、標準的な「ばらつきのパターン」を、ユーザの好みに合わせて調整できる。
なお、この画面では、ある１人の奏者に関する、他の音源制御パラメータについても設定操作をするのであるが、本発明とは直接関係しないので、図示および説明を省略する。
【００９５】
次に、合奏効果設定情報として、奏者キャラクタ等を設定したとき、図１に示した変動値設定部５が、具体的にどのような処理を行うかを、説明する。
図１２は、各種のパラメータとそれらの相互関連を説明するためのパラメータ構成図である。
パフォーマンス（楽団）に関するパラメータは、パフォーマンスパックデータ６１としてまとめられている。この図では、本発明に関連するものだけを示している。ノートオンタイミングの変動値は、タイミングデータ７１にまとめられている。
パフォーマンスデータ６２には、楽団名、パートデータ６３等が含まれる。最大３２個のパートを持つことができ、各パートには、voice#によってボイス番号が設定されており、ボイステーブル６４で実体（ボイスデータ６５）に変換される。
【００９６】
ボイス番号がvoice0のボイスデータについて例示すると、ボイス名（Default0）、タイミングテーブル番号（tbl#）、エレメントデータ６６等が含まれる。最大３２個のエレメントデータ６６を持つことができ、各エレメントデータ６６には、インストゥルメント番号がinst.#で設定され、インストゥルメントテーブル６７で実体（インストゥルメントデータ６８）に変換される。
インストゥルメント番号がinst.0のインストゥルメントデータ６８について例示すると、各インストゥルメントデータ６８には、Default0-0、sample#，TimingSequence#,TimingOffset，TimingExpand等によってそれぞれ決まる、インストゥルメント名、インストゥルメントサンプル番号、タイミングシーケンス番号、タイミングオフセット、タイミング誇張係数値2、等を持つ。
ここで、インストゥルメントサンプル番号，タイミングシーケンス番号，タイミングオフセット，タイミング誇張係数値2は、図１１に示した設定画面でユーザにより指定される。
【００９７】
一方、タイミングデータ７１には、タイミングテーブル７２、タイミングテーブルデータ７３を持つ。
ボイスデータ６５中のタイミングテーブル番号（tbl#）は、タイミングテーブル７２で実体（タイミングテーブルデータ７３）に変換される。タイミングテーブルデータ７３は、0.tbl〜31.tblの３２種類あり、それぞれ、タイミングシーケンステーブルおよびタイミング誇張係数テーブル等を持っている。
タイミングテーブル0.ttbについて示すと、[タイミングシーケンステーブル]セクションでは、ユーザによって指定されたタイミングシーケンス番号を、0＝x0，1＝x1，…，31＝x31のいずれかの実体に変換する。ここでは、x0，x1の２奏者分のみが図示されているが、実際には、最大３２奏者分用意されている。ここで、左辺の0〜31は、インストゥルメントデータ６８のタイミングシーケンス番号の値であって、図１１ではTiming Sequence Numberを指定する。各奏者x0，x1，…，x32は、それぞれに定義されたNUMSERIES個のテイク（列）を持つ。[x0]では、0〜3の４つのテイク（列）を持つ。
各テイクは、それぞれに定義されたNUMTIMINGS個の音符の発音タイミングのずれを表す変動値からなる１列のタイミングシーケンスを構成する。このタイミングシーケンス内の変動値の使用方法は、既に、図６を参照して説明した。
【００９８】
タイミングテーブルデータ７３中の、タイミング誇張係数テーブルでは、図７に示したような、テンポに対するタイミング誇張係数値1のテーブルが記述されている（NUMTABLEは、テーブルのブレークポイントの数であり、図７の屈曲点ポイントに対応）。このテーブルから120，1.00F，240，0.50Fの数値を読み出し、図７に示したように、テンポに対するタイミング誇張係数値1を記憶する。
タイミングオフセット係数に関しては、テンポに対する補正をしていない。
【００９９】
同じ楽器音色の複数のボイスのそれぞれのタイミングテーブルデータを、１つのタイミングテーブルデータ７３にまとめてもよい。例えば、トランペット１のタイミングテーブルデータとトランペット２のタイミングテーブルデータが含まれたものにしてもよい。
また、ボイスのカテゴリ別に、複数のボイスのそれぞれのタイミングテーブルデータを、１つのタイミングテーブルデータ７３にまとめてもよい。例えば、ブラス系の、トランペット１、トランペット２、トロンボーン、シンセサイザトランペットの各タイミングテーブルデータが含まれている。
【０１００】
次に、図１２に示したパラメータを参照しながら、図１３，図１４のフローチャートを用いて、タイミング処理を具体的に説明する。
図１３は、タイミング設定処理を説明するフローチャートである。
Ｓ８１において、ボイスデータ６５（図１２ではvoiceOを示している）中のタイミングテーブル番号を参照し、そのtbl#を読む。
Ｓ８２において、タイミングテーブル７２のtbl#にアサインされたタイミングテーブルデータ７３の0.ttb〜31.ttbの内、対応するものを読む。図１２では、0.ttbの内容を示している。
Ｓ８３において、エレメントデータ６６のインストゥルメント番号inst.#を読む。インストゥルメントテーブル６７のinst.#にアサインされた、インストゥルメントデータ６８のinst.0〜inst.127の内、対応するものにおいて、ユーザによって指定されたタイミングシーケンス番号，タイミングオフセット，タイミング誇張係数値2を読み出す。図１１では、inst.0の内容を示している。
【０１０１】
Ｓ８４において、タイミングシーケンス番号に従い、タイミングテーブル７２のtbl#にアサインされたタイミングテーブルデータ７３の0.ttb〜31.ttbの内、対応するものの中のタイミングシーケンステーブルを引く。タイミングシーケンステーブルが示す文字列と同名のセクション（x0，x1，…，x32の内、対応するもの）に記述されている、タイミングシーケンスのNUMSERIESとNUMTIMINGSの値を読み出すとともに、変動値を読み出してメモリに格納する。
ここで、NUMSERIESは列の総数を意味し、図示の例では0〜3の4列あるので、NUMSERIES＝4である。また、NUMTIMINGSは、タイミングシーケンス中の音符の個数（変動値の個数）であって、図示の例では4である。
図１２では、シーケンス0＝x0のタイミングシーケンスの内容を表示している。
Ｓ８５において、上記対応するタイミングテーブルデータ中のタイミング誇張係数テーブルの、テンポとそれに対応するタイミング誇張係数値1を読み出す。
【０１０２】
次に、図１４は、タイミング再生処理を説明するフローチャートである。Noteを検出した際にこの処理に入る。
Ｓ９１において、休符を検出したか否かを判定し、休符を検出したときにはＳ９２に処理を進め、検出しないときにはＳ９４に処理を進める。ここで、休符とは、ノートオフから所定時間以上経過してもノートオンがない状態をいう。
Ｓ９２において、フレーズ番号（nPhrase）のカウントを進め、Ｓ９３に処理をを進める。ただし、カウントを進める前に、フレーズ番号（nPhrase）が（NUMSERIES−1）以上であれば、0にリセットする。もしくは、カウントを進めた際に、nPhraseがNUMSERIES−1を超えれば、0にリセットする。
【０１０３】
Ｓ９３において、フレーズ内順番を０にセットする。
Ｓ９５は、図６を参照して説明したように、フレーズ内順番を０→１→２→３→４→３→２→３→４とするための処理である。
フレーズ内順番のカウントを＋1進める。ただし、カウントを進める前に、フレーズ内順番が（NUMTIMINGS−1）に到達していれば、以降は逆にカウントを１だけ戻す。カウントを戻す前に、１に戻っていれば、再びカウントを＋１ずつ進めて行く。
【０１０４】
Ｓ９６において、タイミングずれ（オフセット）を求める。
タイミングずれ（オフセット）＝
（フレーズ番号とフレーズ内順番を与えてタイミングシーケンスをひいて求められるタイミングデータ）
＋（奏者毎に割り当てられているタイミングオフセット）
である。
Ｓ９７は、図７を参照して説明したように、テンポに応じてタイミング誇張係数値1を求める処理である。テンポ対タイミング誇張係数テーブルを、現在のテンポfTempoを用いて補間した値（現在のテンポを与えて求められるタイミング誇張係数値1）を求める。
【０１０５】
Ｓ９８において、タイミング誇張係数を求める。
タイミング誇張係数＝
（現在のテンポを与えて求められるタイミング誇張係数値1）
＊（奏者毎に割り当てられているタイミング誇張係数値2）
である。記号「*」は、乗算記号である。
Ｓ９９において、奏者ごとに（タイミングずれ）および（タイミング誇張係数）を調整した後の最終的なノートオンタイミングを得ることになる。すなわち、
調整後のNoteOnTiming ＝
NoteOnTiming＋（タイミングずれ）＊（タイミング誇張係数）
このようにして、選択したタイミングシーケンスから得られたタイミングのばらつきに加えて、奏者毎に設定したタイミングオフセットおよびタイミング誇張係数が使用される結果、奏者毎に多様なタイミングのばらつきを持たせることができる。
なお、上述した演算では、（フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ）に（タイミングオフセット）を加算してから（タイミング誇張係数）を乗算しているが、（フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ）に（タイミング誇張係数）を乗算してから（タイミングオフセット）を加算するような演算に代えてもよい。
【０１０６】
また、上述した演算において、（タイミングずれ）および（タイミング誇張係数）の値は、図１に示した演奏データ処理部２において設定される値であった。さらに、演奏データ処理部２に入力される演奏データとして、タイミングずれを与えるタイミングオフセットおよびまたはタイミング誇張係数を与えるタイミング誇張係数3を制御する演奏データを新たに定義して用いてもよい。このような新たな演奏データによって、演奏入力によって、（タイミングずれ）およびまたは（タイミング誇張係数）の値を動的に制御できるようにしてもよい。
すなわち、Ｓ９６において、（演奏データにより制御されるタイミングオフセット）を加算する。およびまたは、Ｓ９８において、（演奏データにより制御されるタイミング誇張係数3）を乗算すればよい。
上述したフローチャートの例は、ノートオンタイミングに関するものであったが、このような演奏入力による動的な制御は、制御対象とする任意の音符制御パラメータ、音源設定パラメータを指定することにより任意の音源設定パラメータに適用できる。さらに、制御対象とする音符も指定することにより任意の音符制御用パラメータに適用できる。
【０１０７】
上述した説明では、ボイス毎にインストゥルメント（奏者）が定義されている。ユーザは、ボイス（楽器音色）を指定した上で、奏者を指定することにより、所定の音符制御パラメータに、奏者毎に異なるばらつきの態様を有する変動値が設定される。楽器音色が異なれば、奏者のキャラクタにも独立したキャラクタを与えることにより、各楽器（音色）に適した変動値ばらつきを設定することができる。
一方、同じ奏者が異なる楽器を演奏することもあるので、すなわち、奏者1〜N系統に対して、ノートオンタイミングやディレイビブラート開始タイミングなどのばらつきを規定し、各奏者の選択する各楽器（音色名）毎に、楽器の種類に応じた修飾値を設定するようにしてもよい。
【０１０８】
図１２〜図１４を参照した処理の具体例では、あるボイスについて複数奏者化する場合、ユーザは、セッション（合奏）に参加する奏者の人数を決める。次に、３２人分のタイミングシーケンス（４テイク分）の中から、参加する人数分のタイミングシーケンス（４テイク分）を選択している。
これに代えて、人数も含めた特定の奏者の組み合わせ毎に、タイミングシーケンス（４テイク分）が選択されるようにしてもよい。この場合、個々の奏者間の演奏の相関性が厳密に反映された変動値を与えることができる。
【０１０９】
図１２〜図１４を参照した処理の具体例では、各奏者毎にばらつきのあるタイミングシーケンスに基づいて生成された変動値に対し、奏者キャラクタのオフセット修飾値として、タイミングオフセットおよびタイミング誇張係数を、奏者毎に設定していた。
これに代えて、オフセット修飾値は、全奏者に共通の制御パラメータとしてもよい。すなわち、ユーザは、１セッション毎にまとめて、タイミングオフセットおよびタイミング誇張係数を設定するようにしてもよい。
上述した説明では、１パート（１ボイス）に対して合奏効果を与えていた。これに代えて、奏者に異なるボイスを割り当てることによって、異なるパート（ボイス）に属する複数の奏者が合奏するときの楽音信号を合成できるように演奏データを処理することも可能である。
【０１１０】
上述した説明では、演奏データ処理部２は、合奏効果を与えるために、音符制御用演奏データおよび音源設定用演奏データを、複数の奏者毎に生成して、音源装置３に出力していた。
しかし、ユーザが奏者系統数を１に設定するか、予め奏者系統数が１に固定されているものとしてもよい。この場合は、ソロ演奏に個性を付加するために使用できる、単一奏者のための音符制御用演奏データおよび音源設定用演奏データを出力する演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、楽音信号合成方法となる。その際、奏者の個性に強烈なキャラクタを与えることによって、自己主張する演奏データを出力することができる。これに対して、合奏効果を付加する場合には、奏者の個性を弱くした方がよい。
【０１１１】
本発明で処理を行う演奏データは、楽譜通りの演奏データであることを前提に考えられたものであるが、必ずしもこの前提は必要ではない。入力された演奏データがどのようなものであっても、これを基にして、合奏感を付加したり個性ある表情を付けたりすることができる。
また、本発明で処理を行う演奏データは、電子楽器用の演奏データに限らない。音源を内蔵したパーソナルコンピュータや、カラオケ装置、ゲーム装置、着信メロディ音源を有する携帯電話等の携帯型通信端末などの演奏データであってもよい。ネットワークに接続されたパーソナルコンピュータや携帯型通信端末で演奏データを処理する場合、端末側のみで本発明の演奏データ処理機能が完結している場合に限らず、本発明の機能の一部をサーバ側に持たせ、端末とサーバとからなるネットワークシステム全体として本発明の機能を実現するようにしてもよい。
【０１１２】
【発明の効果】
本発明は、上述した説明から明らかなように、簡単な設定で、奏者の個性の違いによるリアルな合奏感のある楽音信号を合成できる演奏データを生成できるという効果がある。
【図面の簡単な説明】
【図１】  本発明の演奏データ処理方法の実施の一形態を示すブロック構成図である。
【図２】  合奏効果設定情報の記憶形態の一例を示す説明図である。
【図３】  図１に示したブロック構成図において、奏者毎に演奏データが生成される具体例の説明図である。
【図４】  アコースティックバイオリンを用いて演奏したときの、ノートオンタイミングのばらつきの実測値を示す第１の説明図である。
【図５】  アコースティックバイオリンを用いて演奏したときの、ノートオンタイミングのばらつきの実測値を示す第２の説明図である。
【図６】  フレーズが長く続くときのタイミングシーケンスの使用方法の説明図である。
【図７】  演奏のテンポ（fTempo）とノートオンタイミングの第１のタイミング誇張計数値（fTempoTimingExp）との関係を示すグラフである。
【図８】  音符制御パラメータに対するばらつきを、乱数を併用して得る形態を示すブロック構成図である。
【図９】  本発明の演奏データ処理方法の具体化例を示す第１の説明図である。
【図１０】  本発明の演奏データ処理方法の具体化例を示す第２の説明図である。
【図１１】  合奏感のある演奏データを出力するための設定画面の説明図である。
【図１２】  各種のパラメータとそれらの相互関連を説明するためのパラメータ構成図である。
【図１３】  タイミング設定処理を説明するフローチャートである。
【図１４】  タイミング再生処理を説明するフローチャートである。
【符号の説明】
１…MIDI出力装置、２，４１，４４，４５ａ，４６ｃ…演奏データ処理部、３，４５，４６…音源装置、４…演奏データ検出部、５…変動値設定部、６…演奏データ出力部、１１ａ，１２ｂ，１２ｄ，１１ｅ…奏者キャラクタ、１２ａ、１２ｂ，１２ｄ，１２ｅ…奏者キャラクタ修飾値、４２，４３…曲データ記憶部
【図１】
0003812509.tif 000002
【図２】
0003812509.tif 000003
【図３】
0003812509.tif 000004
【図４】
0003812509.tif 000005
【図５】
0003812509.tif 000006
【図６】
0003812509.tif 000007
【図７】
0003812509.tif 000008
【図８】
0003812509.tif 000009
【図９】
0003812509.tif 000010
【図１０】
0003812509.tif 000011
【図１１】
0003812509.tif 000012
【図１２】
0003812509.tif 000013
【図１３】
0003812509.tif 000014
【図１４】
0003812509.tif 000015