JP3812509B2 - Performance data processing method and tone signal synthesis method - Google Patents
Performance data processing method and tone signal synthesis method Download PDFInfo
- Publication number
- JP3812509B2 JP3812509B2 JP2002231559A JP2002231559A JP3812509B2 JP 3812509 B2 JP3812509 B2 JP 3812509B2 JP 2002231559 A JP2002231559 A JP 2002231559A JP 2002231559 A JP2002231559 A JP 2002231559A JP 3812509 B2 JP3812509 B2 JP 3812509B2
- Authority
- JP
- Japan
- Prior art keywords
- performance data
- value
- note
- predetermined
- variation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、電子楽器分野において、演奏データに合奏感を与える演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、および、楽音信号合成方法に関するものである。
【0002】
【従来の技術】
アコースティック楽器で合奏(セッション)をする場合、複数の奏者が同一楽器を用いて同一楽譜を演奏しても、各奏者の演奏音は全く同じにはならない。
各奏者の奏法や感情には、個性によるばらつきがある。また、各奏者が用いているアコースティック楽器の音響特性も微妙にばらついている。その結果、全体としての楽音信号に合奏感が付加されることになる。
電子楽器分野において、鍵盤演奏によるライブ演奏、あるいは、シーケンサに音符を打ち込んで行う楽曲制作の場合などにおいて、このような合奏感を出すために、従来、種々の方法が用いられていた。
【0003】
第1の方法は、「デチューン」である。ある1つの音色(ボイス)が指定されたとき、複数のエレメントの発音を同時に行うようにする。その際、各エレメントの発音間で、ピッチをわずかにずらせることによって、1つの音符に対する「ノート・オン・メッセージ」が入力されたときでも、複数の音が同時に発音されているような効果を与える。しかし、各エレメントの設定を一律に異ならせるだけで、デチューン量は、どの音の発音についても一定である。したがって、アコースティック楽器の合奏のような、ばらついた感じを出せないという問題がある。
【0004】
第2の方法は、「セクション音」と呼ばれているボイスを使用する方法である。予め複数の楽器による合奏をサンプリングして波形メモリ音源の原波形とする。例えば、音色の「ストリング」セクションにおいて、セクション音「ストリングス」を選択すれば、合奏感のあるリアルな雰囲気のサウンドが得られる。しかし、複数奏者の音であるにもかかわらず、分離不可能に合成されたセクション音に対して、一律に各種の音源制御を行うため、出力される音が単調で不自然になる傾向がある。また、セクション音のニーズには、ストリングス、ブラス、人声など、様々なものがあるが、ユーザが望んでも所望のセクション音が音源に用意されていなければ実現できないという問題点がある。
【0005】
第3の方法は、複数のソロボイス(単体楽器の音色)の演奏データを、必要な数だけ作成して使用するという方法である。第4の方法は、上述した第2,第3の方法によるボイスを混ぜ合わせて使用する方法である。
これら第3,第4の方法では、ボイスの混ぜ方によって、好みのサウンドを実現できる可能性が広がる。しかし、合奏感を得るには、各ボイス用にシーケンスデータを用意し、試行錯誤しながら調整をしなければならないので、設定が大変面倒である。しかも、音符を打ち込む場合にのみ可能であり、鍵盤演奏等のリアルタイム演奏には対応できないという問題点もある。
上述した問題点は、合奏感を得る上の問題点であったが、合奏を行う個々の演奏、あるいはソロ演奏に関しても、奏者の個性を反映した表情付けを効果的かつ簡単に行うことが望まれていた。
【0006】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、合奏感のある楽音信号を合成できるように、入力された演奏データを処理する演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、および、楽音信号合成方法を提供することを目的とするものである。
特に、ノートオンタイミングにばらつきを与えるように演奏データを処理することにより、合奏感のある楽音信号を合成できるようにする。
【0007】
【課題を解決するための手段】
本発明は、請求項1に記載の発明においては、演奏データ処理方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、演奏データを構成する音符に対する所定の楽音特性を所定の音符制御用演奏データが検出される毎にばらつかせるとともに、制御値が互いに異なる態様のばらつきを有した第1から第N系統の音符制御用演奏データを出力することができる。
音源装置は、演奏データを構成する音符に対する所定の楽音特性にこのようなばらつきを与えて、系統毎に波形合成を行う結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。従来の「セクション音」のように、複数奏者の楽音信号が分離不可能にされたものに比べて、自然な楽音制御が行える。「セクション音」が用意されていなくても、ユーザが合奏感を与えたいと望む音色に対して合奏感を付与できる。ユーザが、複数奏者の演奏データを作成しなくてよいので、合奏効果の実現が容易であり、また、リアルタイム演奏にも対応可能である。
【0008】
請求項2に記載の発明においては、請求項1に記載の演奏データ処理方法において、前記音符に対する所定の楽音特性は前記音符の発音を開始するノートオンタイミングである。
音符のノートオンタイミングのばらつきは、合奏感に対する寄与が大きい。
したがって、合奏感のある楽音信号を合成できる演奏データを出力することができる。
【0009】
請求項3に記載の発明においては、請求項1または2に記載の演奏データ処理方法において、前記音符に対する所定の楽音特性は前記音符のディレイビブラート開始タイミングである。
個々の音符の楽音信号に与えるディレイビブラート開始タイミングのばらつきも、合奏感に対する寄与が大きい。
したがって、合奏感のある楽音信号を合成できる演奏データを出力することができる。
【0010】
請求項4に記載の発明においては、請求項1から3までのいずれか1項に記載の演奏データ処理方法において、入力される前記一連の演奏データ、および、出力される前記第1系統から第N系統までの演奏データは、タイミングデータを伴う演奏データである。
曲データファイル形式の演奏データであるのでリアルタイム処理を行わなくてもよい。したがって、演奏データの処理が容易になる。
【0011】
請求項5に記載の発明においては、請求項1から4までのいずれか1項に記載の演奏データ処理方法において、前記第1系統から第N系統までの変動値は、前記第1系統から第N系統までの奏者により同一の楽譜を同時に実演奏したときに分析された、前記音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものである。
変動値が実測に基づいて作成されたものであるので、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【0012】
請求項6に記載の発明においては、請求項1から5までのいずれか1項に記載の演奏データ処理方法において、前記Nの値を指定する系統数指定ステップを有し、前記変動値設定ステップは、複数系統の変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するものを記憶する変動値記憶手段から、前記第1系統から第N系統までの変動値列を予め選択しておき、前記所定の音符制御用演奏データが検出される毎に、選択された第1系統から第N系統までの変動値列の各系統から、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定するものである。
したがって、系統数に応じた制御値を得ることができる。
特に、互いに異なる態様のばらつきを有する複数系統の変動値列として、系統間に相関性を有した変動値列を変動値記憶手段に記憶させれば、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【0013】
請求項7に記載の発明においては、請求項6に記載の演奏データ処理方法において、前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの1つであり、前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値列を系統毎に記憶しており、前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する前記第1系統から第N系統までの変動値を選択して設定するものである。
したがって、複数種類の音符制御用演奏データを対象として演奏データの処理をすることができる。
特に、変動値記憶手段に、複数種類の所定の楽音特性に対する個別の変動値列として、複数種類の所定の楽音特性間に相関性を有したものを記憶させれば、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【0014】
請求項8に記載の発明においては、請求項1から7までのいずれか1項に記載の演奏データ処理方法において、前記変動値設定ステップは、設定された前記第1系統から第N系統までの変動値を、さらに各系統毎に調整して前記出力ステップが用いる前記第1系統から第N系統までの変動値とするものである。
したがって、変動値を系統毎に容易に調整することができる。調整は、例えば、オフセットや誇張係数を設定して行うことができる。
【0015】
請求項9に記載の発明においては、請求項1に記載の演奏データ処理方法において、前記変動値設定ステップは、前記音符に対する所定の楽音特性以外に、前記音符に対する他の所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、前記他の所定の楽音特性に対する第1系統から第N(Nは2以上の整数)系統までの他の変動値列であって、各系統の前記他の変動値列を構成する他の変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記他の変動値を選択することにより、前記第1系統から第N系統までの前記他の変動値を設定し、前記演奏データ出力ステップは、前記所定の音符制御用演奏データが検出される毎に、前記第1系統から第N系統までの前記他の音符制御用演奏データであって、それぞれ、前記音符に対する他の所定の楽音特性の制御値を、前記変動値設定ステップにより設定された前記第1系統から第N系統までの前記他の変動値に応じてばらつかせた値とする演奏データを少なくとも生成して出力するものである。
したがって、所定の音符制御用演奏データが検出される毎に、この所定の楽音特性の制御値だけでなく、他の所定の楽音特性の制御値についても、同様にばらつかせるので、楽音特性に複雑なばらつきを与える演奏データを生成して出力することができる。
【0016】
請求項10に記載の発明においては、請求項1から9までのいずれか1項に記載の演奏データ処理方法において、前記演奏データ種別検出ステップは、入力された前記演奏データが、音源設定値を有した所定の音源設定用演奏データであることを検出するものであり、前記変動値設定ステップは、互いに異なる第1系統から第N系統までの音源設定変動値を、前記所定の音源設定用演奏データが検出されたときに設定し、前記出力ステップは、前記所定の音源設定用演奏データが検出されたときに、当該所定の音源設定用演奏データが有する前記音源設定値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの音源設定変動値に応じて異ならせた値を、新たに前記音源設定値とし、当該所定の音源設定用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力するものであり、前記出力ステップが出力する前記第1系統から第N系統までの演奏データを、それぞれ、第1の波形合成エレメントから第Nの波形合成エレメントに対する演奏データとするものである。
したがって、音源設定用演奏データが検出されたときに、音源設定値が互いに異なる第1から第N系統の音源設定用演奏データを出力することができる。
これら第1から第N系統の音源設定用演奏データが設定された音源装置では、各系統の音源設定値が互いに異なる結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【0017】
請求項11に記載の発明においては、請求項10に記載の演奏データ処理方法において、前記変動値設定ステップは、前記音源設定値を、前記所定の音源設定用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの音源設定変動値列であって、各系統の音源設定変動値列を構成する音源設定変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音源設定用演奏データが検出される毎に、前記音源設定変動値を選択することにより、前記第1系統から第N系統までの音源設定変動値を設定するものである。
したがって、音源設定用演奏データが検出される毎にばらつきを有し、音源設定値が互いに異なる態様のばらつきを有する第1系統から第N系統までの音源設定用演奏データを出力することができる。
第1系統から第N系統までの音源装置では、各系統の音源設定値がこのようにばらつく結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【0018】
請求項12に記載の発明においては、コンピュータに実行させる演奏データ処理プログラムにおいて、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、コンピュータに請求項1に記載の演奏データ処理方法を実行させることができる。
【0019】
請求項13に記載の発明においては、演奏データ処理装置において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定手段と、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定手段により設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力手段を有するものである。
したがって、請求項1に記載の演奏データ処理方法と同様の作用効果を奏する。
【0020】
請求項14に記載の発明においては、楽音信号合成方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値に応じて、第1系統から第N系統までの楽音信号を合成し、合成された該第1系統から第N系統までの楽音信号を出力する楽音信号出力ステップを有するものである。
したがって、個々の音符に対する所定の楽音特性を所定の音符制御用演奏データが検出される毎にばらつかせるとともに、制御値が互いに異なる態様のばらつきを有した第1から第N系統の楽音信号を合成できる。楽音特性にこのようなばらつきが与えられる結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【0021】
【発明の実施の形態】
図1は、本発明の演奏データ処理方法の実施の一形態を示すブロック構成図である。
図中、1はMIDI出力装置、2は演奏データ処理部、3は音源装置である。MIDI出力装置1は、例えば、リアルタイム演奏されるMIDI鍵盤、あるいは、曲データを再生するシーケンサ装置などである。
演奏データ処理部2は、MIDI出力装置1から演奏データを入力し、複数の奏者系統の演奏データを生成して音源装置3に出力する。音符制御用演奏データが検出されたときには、検出される毎に制御値がばらついており、各奏者の個性を反映してばらつきの態様が異なる複数奏者系統の音符制御用演奏データを生成して音源装置3に出力する。
【0022】
音源装置3は、奏者系統に対応して楽音信号を合成する複数の奏者エレメントを有している。図1では、ばらつきを生成する奏者系統の数と楽音信号を合成する奏者エレメントの数とは、一致しているが、必ずしも一致している必要はない。つまり、奏者エレメントの数が奏者系統数よりも多くなってもよい。
音源装置3は、入力された各奏者系統の演奏データに基づいて、奏者エレメント毎に楽音信号を合成して、自然な合奏感のある楽音信号を、例えば、モノラルあるいはステレオ形式でスピーカから出力させる。
なお、図9を参照して後述するように、MIDI出力装置1に代えて、曲データ記憶部から演奏データが出力される場合がある。また、音源装置3に代えて、曲データ記憶部に演奏データを出力する場合もある。
MIDI出力装置1は、演奏データとして、例えば、MIDIシーケンスデータを出力する。合奏効果を付加する対象は、通常、1つの演奏パートを対象とするので、演奏データ処理部2は、1パートに対応する1MIDIチャンネルのMIDIシーケンスに対する処理を行う。また、別の合奏効果が付加される場合は、別の演奏パートに対してなされる。説明の便宜上、合奏効果を付加する演奏パートは、ユーザによって予め選択されているものとし、以下の説明では、合奏効果を付加する演奏パートの演奏データの処理についてのみ説明する。もちろん、合奏効果を付加する演奏パートを演奏に応じてリアルタイムでマニュアル・自動を問わず、選択できるようにしてもよい。
【0023】
演奏データは音源装置を制御する音源制御パラメータを有し、この音源制御パラメータは、音符制御パラメータと音源設定パラメータに分類される。
音符制御用演奏データは、演奏データを構成する、楽譜上の個々の音符(個々の音)の楽音特性(音符制御パラメータ)の制御値を有する。音符制御用演奏データとしては、例えば、「ノート・オン・メッセージ」や「ノート・オフ・メッセージ」がある。
音源設定用演奏データは、音源の楽音特性(音源設定パラメータ)の設定値を有し、対応する個々の奏者エレメントに音源設定パラメータの設定値を設定する。音源設定パラメータは、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御する。音源設定用演奏データとしては、例えば、「プログラム・チェンジ・メッセージ」などがある。
ただし、一般に音源制御パラメータと見なされるパラメータであっても、個々の音符の楽音特性を制御したい場合がある。このような場合の音源制御パラメータは、音符制御パラメータとして取り扱う。
【0024】
このような音符制御用演奏データ、音源設定用演奏データの全てに対して合奏効果を付与するための処理を行う必要はなく、予め決めた所定のものに対して合奏効果を付与するための処理を行えばよい。
例えば、「ノート・オフ・メッセージ」に対しては、その音符制御パラメータの設定値を制御しないと設定してもよい。予め決めた所定の演奏データ以外の演奏データは、入力されたものが、そのまま複数の奏者系統用にコピーされて音源装置に出力されればよい。
あるいは、予め決めた所定の演奏データ以外の演奏データは、奏者系統が指定されないで出力されることから、音源装置3側が、自動的に各奏者エレメント用に音符制御パラメータの制御値あるいは音源設定パラメータの音源設定値をコピーして楽音信号を合成してもよい。
【0025】
演奏データ処理部2において、4は演奏データ検出部、5は変動値設定部、6は演奏データ出力部である。
ユーザは、予め、演奏データ処理部2の変動値設定部5に対して合奏効果設定操作を行う。まず、奏者系統数Nを設定し、奏者系統1〜N毎に合奏効果の設定操作を行う。
制御される音符制御パラメータおよび音源設定パラメータの変動値が、各奏者系統1〜N毎に備えられている。音符制御パラメータの各系統は、複数個の変動値からなる変動値列を有し、順次選択されて利用される。音源設定パラメータの各系統は、典型的には、1個の変動値を有する。
各奏者系統1〜Nの変動値は、実演奏の合奏のような、系統間に相関性を有したものとすれば好適である。
【0026】
まず、音符制御パラメータについて説明する。奏者1は、ある音符制御パラメータaの変動値としてa11,a12,a13,a14を有し、また、ある音符制御パラメータbの変動値としてb11,b12,b13,b14を有している。奏者2については、ある音符制御パラメータaの変動値としてa21,a22,a23,a24を有し、ある音符制御パラメータbの変動値としてb21,b22,b23,b24を有している。他の奏者に対しても同様であり、また他に音符制御パラメータがある場合も同様である。
個々の音符制御パラメータの変動値は、互いにばらついた値を用いる。音符制御パラメータaの奏者1の変動値について例示すれば、a11,a12,a13,a14は、互いにばらついた値である。但し、全くランダムというわけではなく、フレーズ内の音符位置、フレーズ種別、奏者の個性などの影響を受けたものであるので、相互に相関性を有したばらつきである。
【0027】
MIDI出力装置1から入力された演奏データは、演奏データ検出部4において、演奏データの種別が検出され、変動値設定部5に出力される。後述するように、フレーズ種別も検出して変動値設定部5に出力する場合もある。
また、音符制御用演奏データ(例えば、「ノート・オン・メッセージ」)の検出タイミングおよびフレーズ検出タイミング(フレーズの切れ目)も検出されて、変動値設定部5に出力される。また、検出された所定の演奏データの演奏データ種別および、この所定の演奏データが有している音符制御パラメータの制御値は、演奏データ出力部6に出力される。
【0028】
音符の時間間隔、言い換えれば休符の時間、より具体的には、前の音符のノートオフタイミングから次の音符のノートオンタイミングまでの時間間隔が、所定の閾値以上あるか否かを判定することによって、音符列の切れ目のタイミングを検出し、これをフレーズの切れ目と判断する。上述した所定の閾値は、ユーザによって調整可能である。曲の演奏テンポによっては特に変更しなくてもよいが、個々の曲によっては、閾値を変更することが望ましい場合がある。
フレーズは、楽曲の曲想が変化する切れ目であるので、楽曲の内容を分析することによってフレーズの切れ目を検出するようにしてもよい。あるいは、入力された演奏データに、予めフレーズの切れ目を示す情報が含まれていれば、これを用いてもよい。
【0029】
入力された演奏データが、ある所定の音符制御用演奏データであることが検出されたときには、変動値設定部5において、各奏者系統1〜Nの音符制御パラメータa,b,…の変動値の中から、この所定の音符制御用演奏データが制御する所定の楽音特性に対応する音符制御パラメータ、例えば、音符制御パラメータaの変動値が選択されて、これが設定される。
第1の奏者について例示すると、同じ種類の所定の音符制御用演奏データ(例えば、「ノート・オン・メッセージ」)が検出される毎に(すなわち、音符が検出される毎に)、音符制御パラメータa(例えば、ノートオンタイミング)の変動値a11,a12,a13,a14が順次選択される。各変動値は互いにばらついており、また、音符制御パラメータaの変動値は、各奏者系統1〜N毎にばらつきの態様が異なっている。
【0030】
演奏データ検出部4で上述した所定の音符制御用演奏データ(例えば、「ノート・オン・メッセージ」)が検出されたとき、演奏データ出力部6は、この所定の音符制御用演奏データの演奏データ種別および音符制御パラメータa(例えば、ノートオンタイミング)の制御値を入力し、この制御値を基準に、奏者系統1〜Nの音符制御パラメータaの変動値a11,a21,a31,……,aN1だけばらついた制御値を、奏者系統1〜Nに設定する。
例えば、入力された音符制御用演奏データが有する制御値に、変動値a11,a21,a31,……,aN1をそれぞれ加算したり、あるいは、それぞれ乗算したりして、奏者系統1〜N毎に新たに所定の音符制御パラメータの制御値とする。
加算するか乗算するかは、制御対象の音符制御パラメータによって適切な方を用いる。加算あるいは乗算以外の演算を行ってもよい。
演奏データ出力部6においては、これらの制御値を用いて、入力された所定の音符制御用演奏データと同一種類であって、奏者系統1〜Nの音符制御用演奏データを生成して出力する。
【0031】
したがって、演奏データ出力部6は、入力された所定の音符制御用演奏データに対し、この演奏データが検出される毎にばらついており、かつ、奏者毎にばらつきの態様が異なった、所定の音符制御パラメータの制御値を有する奏者系統1〜Nの音符制御用演奏データを、音源装置3内の奏者系統1〜Nに対応した奏者エレメントに出力する。
なお、変動値設定部5は、入力されたある所定の音符制御用演奏データが、複数の音符制御パラメータを制御する種類のものである場合(例えば、「ノート・オン・メッセージ」は、ノートオンタイミング、ノート番号、および、ベロシティ((オンベロシティ))という3つの音符制御パラメータを有している)、複数の音符制御パラメータのいずれをばらつかせるか(複数でもよい)を予め決めておけばよい。
変動値設定部5においては、各音符制御パラメータa,b,…の変動値を、対応する所定の音符制御用演奏データが検出される毎にばらつかせるとともに、フレーズが検出される毎に、異なる変動値列(テイク)に切り替えるようにすることにより、一層、合奏感を深めることができる。
例えば、第1の奏者の音符制御パラメータaの変動値を、フレーズが検出されたときに、異なる変動値の列a'11,a'12,a'13,a'14に切り替える。
【0032】
また、フレーズの音楽上の特徴を演奏データ検出部4において分析し、フレーズ種別を変動値設定部5に出力してもよい。変動値設定部5は、フレーズ種別に応じた変動値列(テイク)を選択して、これを設定するなどして、音符制御パラメータのばらつきの態様を異ならせることにより、適切なばらつきを動的に与える。
具体的には、フレーズ内の音の音価の並びのパターン、すなわち、メロディパターン(音高パターン)、ノートオンタイミングの変化パターン、あるいは、強拍弱拍のリズムパターン等を分析し、例えば、音高パターンが山形なら、その山頂の部分の変動値は小さくしたり、音価パターンの裏拍にあたる拍位置の変動値は大きくしたりする。
なお、フレーズ種別の判定は、そのフレーズが始まってからでないと判定できないので、音源装置3がリアルタイム演奏をする場合は、フレーズ種類の判定が事前にできない。所定時間遅れた後に音源装置3が演奏データを出力する演奏形態では、フレーズ種類の判定が間に合うように遅れ時間を決めればよい。
【0033】
また、演奏テンポ情報も、変動値設定部5への制御入力としている。これは、図7等を参照して後述するように、所定の楽音特性がタイミングに関する音符制御パラメータである時に、演奏のテンポによってばらつきの程度を調整する必要があるためである。
演奏テンポ情報は、入力されるMIDIシーケンスの演奏テンポである。テンポ情報は、MIDI出力装置1が出力する演奏データに含ませておいたり、ユーザが予め演奏データ処理部2に入力しておいたりする。あるいは、MIDI出力装置1が出力する演奏データのMIDIシーケンスから、演奏テンポを推定してもよい。
【0034】
次に、入力された演奏データが、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御する、音源設定用演奏データである場合について説明する。
演奏データ処理部2は音符制御用演奏データとは異なる処理を行う。
演奏データ検出部4が、変動値設定部5に所定の音源設定用演奏データの演奏データ種別を出力するとともに、所定の音源設定用演奏データの演奏データ種別およびその音源設定パラメータの制御値を演奏データ出力部6に出力する。
変動値設定部5においては、奏者系統1〜N毎に、この所定の音源設定用演奏データに対応する音源設定パラメータの変動値を選択して、演奏データ出力部6に出力する。
【0035】
演奏データ出力部6においては、入力された所定の音源設定用演奏データと同一種類である奏者系統1〜Nの音源設定用演奏データを生成する。その際、所定の音源設定用演奏データが検出されたときに、この所定の音源設定用演奏データが有していた音源設定パラメータの制御値を、それぞれ、変動値設定部5において選択された奏者系統1〜Nの変動値に応じてばらつかせた値を、新たに音源設定パラメータの設定値とする。
したがって、演奏データ出力部6は、入力された所定の音源設定用演奏データに対して、奏者系統1〜N毎に異なった音源設定値を有する奏者数分の音源設定用演奏データを、音源装置3内の奏者系統1〜Nに対応した奏者エレメント1〜Nに出力する。
【0036】
なお、入力された音源設定用演奏データが有する設定値に、変動値を加算したり乗算したりしたものを、奏者系統1〜N毎に新たに所定の音源制御パラメータの制御値とするに際して、加算するか乗算するかは、設定対象の音源制御パラメータによって適切な方を用いればよい。加算あるいは乗算以外の演算を行ってもよい。
入力された、ある所定の音源設定用演奏データが、複数の音源設定パラメータを同時に設定するものである場合は、その複数の音源設定パラメータのいずれをばらつかせるのか(複数でもよい)を予め決めておけばよい。
【0037】
音源設定パラメータは、時間的に変動させる必要性が少ないので、所定の音源設定用演奏データが入力される毎に変動値をばらつかせたり、演奏テンポ情報によって変動値を制御したりしなくてもよい。しかし、音源設定用パラメータの変動値も、フレーズが検出される毎に、あるいは、フレーズの種類に応じて、異なる変動値列(テイク)に切り替えるようにして、適切なばらつきを動的に与えてもよい 。
音源設定用演奏データが、一度音源装置3に出力されると、音源装置3では、音源設定値がそのまま維持されている。
したがって、演奏データ出力部6は、最後に検出された音源設定用演奏データが有していた音源設定値を保持しておく。フレーズが検出されたときに、保持されていた音源設定値に、切り替えた変動値を加算するなどしてばらつかせた音源設定値を新たな音源設定値として、所定の音源設定用演奏データを生成して出力する。
【0038】
演奏データ処理部2から音源装置3への転送インターフェースは、種々の音源装置3の入力仕様に適したものを採用すればよい。
出力された演奏データは、その後の処理においても、波形合成される前であれば、奏者系統1〜N毎に個別に各種の音符制御あるいは音源設定を行うことができる。
音源装置3が、MIDIインターフェースのように、1入力しか有しない場合、演奏データに演奏パートおよび奏者を特定する情報を持たせばよい。例えば、MIDIチャンネル番号を利用することができる。演奏データ出力部6は、MIDI出力装置1から入力された演奏データの演奏パートを示すMIDIチャンネル番号を、演奏パートと奏者の両者を特定できるMIDIチャンネル番号に変換すればよい。
【0039】
音源装置3が、ある演奏パートの各奏者エレメントへの演奏データ入力を、時分割で入力する場合には、演奏データ出力部6も、この時分割チャンネルに合わせて演奏データを出力すればよい。
音源装置3が、音符制御用演奏データと音源設定用演奏データとを別のラインで入力するものであれば、演奏データ出力部6においても、これに合わせて音符制御用演奏データと音源設定用演奏データとを別々に出力する。
音源装置3によっては、「ノート・オン・メッセージ」や「ノート・オフ・メッセージ」など、限られたものしか受け付けないものもある。このような場合、演奏データ処理部2は、音源装置3が受け付け可能な演奏データについてのみ音源装置3に転送すればよい。
【0040】
次に、合奏効果設定情報の具体例を、MIDIデータを実例にして説明する。
音符制御用演奏データとしては、例えば、「ノート・オン・メッセージ」、「ノート・オフ・メッセージ」、「ポリフォニック・キー・プレッシャ・メッセージ」などがある。
「ノート・オン・メッセージ」は、音符制御パラメータである、ノートオンタイミング、ノート番号(音高)、ベロシティ(オンベロシティ)の制御値を音源に指示する。
「ノート・オフ・メッセージ」は、ノートオフタイミング、ノート番号(音高)、ベロシティ(オフベロシティ)の制御値を音源に指示する。
「ポリフォニック・キー・プレッシャ・メッセージ」は、音符のノート番号(音高)を指定することにより、発音中の特定の音符に対してその楽音特性を制御する。「ポリフォニック・キー・プレッシャ・メッセージ」のプレッシャー値には、本来は音源制御パラメータである、ピッチ、フィルターカットオフ周波数、音量、低周波発振器のピッチ深さ、フィルター深さ、振幅深さ等の制御値を割り当てることができる。
【0041】
一方、音源設定用演奏データとしては、例えば、「プログラム・チェンジ・メッセージ」や「コントロール・チェンジ・メッセージ」等がある。
「プログラム・チェンジ・メッセージ」では、ボイス(音色)番号の指定により音源設定パラメータの1つである音色パラメータを制御する。
「コントロール・チェンジ・メッセージ」の「ノン・レジスタード・パラメータナンバー」(以下、単にNRPNという)」を用いて「アタックタイム」、「ビブラート・ディレイ」等の値を設定することで、それぞれ、音源設定パラメータの1つである、エンベロープの立上り時間やディレイビブラート開始タイミングを設定することができる。
上述した例に限らず、「NRPN」を用いて、エンベロープ関係、ビブラート関係、ローパスフィルタ関係、イコライジング(楽音信号の周波数特性)関係などの、種々の音源設定パラメータを設定することが可能である。
これまでの説明では、音符制御パラメータと音源設定パラメータとを別々説明してきたが、「ディレイビブラート開始タイミング」のような音源制御パラメータは、音符に対するもの、音源設定に対するもの、あるいはそれらの両方として用いることができる。独自の規約に従った演奏データを定義できる場合は、勿論であるが、現状のMIDI規格においても、上述した「ポリフォニック・キー・プレッシャ・メッセージ」を使用するか、あるいは、図3(c)を参照して後述する方法をとればよい。
【0042】
図2は、合奏効果設定情報の記憶形態の一例を示す説明図である。
合奏効果設定情報には、奏者キャラクタおよび奏者キャラクタ修飾値があり、1または複数の音符制御パラメータ、1または複数の音源設定パラメータ毎に設定される。これらは、予め、ROM(Read Only Memory)あるいはハードディスクなどの外部記憶装置に記憶されている。
例えば、各奏者系統1〜N毎に、奏者キャラクタ11a,11b、11c,11dが用意されているものとする。奏者キャラクタ11a,11bは、音符制御パラメータa,bの奏者キャラクタ、奏者キャラクタ修飾値12a,12bは、音符制御パラメータa,bの奏者キャラクタ修飾値である。同様に、奏者キャラクタ11c,11dは、音源制御パラメータc,dの奏者キャラクタ、奏者キャラクタ修飾値12c,12dは、音源制御パラメータc,dの奏者キャラクタ修飾値である。
奏者キャラクタは、音符制御パラメータの制御値に対する変動値、あるいは、音源設定パラメータの音源設定値に対する変動値で表される。この変動値は、音符制御パラメータの制御値あるいは音源設定パラメータの設定値に与えるオフセット(加算値)や倍率(重み係数)として定義される。
【0043】
音符制御パラメータaの奏者キャラクタ11aは、奏者系統1〜N系統毎に、1または複数の変動値列(テイク)を有し、各テイクはテイク番号で指定される。各テイクは、互いにばらついた複数の変動値からなる。しかも、奏者系統1〜N系統毎に互いにばらつきの態様が異なっている。奏者キャラクタ11bについても同様である。
フレーズが検出される毎に、次のテイクの列(図示では行)の初期値(第1番目の値)の読み出しを指定するとともに、この音符制御パラメータaに対応した所定の音符制御用演奏データが検出される毎に、テイクの列の変動値を順番(図示では横方向)に読み出す。
例えば、「ノート・オン・メッセージ」の場合、1フレーズ内の音符が検出されたときには、その順番にしたがって変動値を選択することにより、例えばノートオンタイミングの値を変動させる。他の所定の音符制御用演奏データの場合、この所定の音符制御用演奏データが検出されたときには、その検出順番にしたがって変動値を選択することによって、所定の音符制御パラメータの値を変動させる。
【0044】
また、フレーズの変化がある毎に、テイク番号を順番に切り替える。最後のテイク番号が選択されていたときには、1番目のテイク番号に戻す。
テイク番号を順次切り替える代わりに、フレーズの種類に応じた複数のテイクを予め記憶しておき、入力された演奏データを分析することによってフレーズ種類を判定し、判定されたフレーズ種類に適したテイク番号を選択するようにしてもよい。
このように、個々の音符に対する奏者キャラクタは、所定の音符制御用演奏データが入力される毎に与えられる変動値のばらつきに、奏者の個性を与えるものである。
【0045】
奏者キャラクタ修飾値は、奏者キャラクタで選択された変動値に、さらに変更を加えるものであって、ユーザが任意に値を設定可能とする。奏者キャラクタのテイクやフレーズ内の順番に関係なく、奏者系統1〜N毎に、一律の修飾値を用いている。
図11以降の図面を参照して説明する具体例では、奏者キャラクタで設定された値に加算するオフセット値、さらに、この加算値に乗算する誇張係数が修飾値である。なお、演奏テンポを変数として修飾値を変更する場合もある。図1において、変動値設定部5は、このような調整が加えられた変動値を演奏データ出力部6に出力する。
なお、奏者キャラクタ修飾値は、奏者系統1〜Nに共通に用いられる1つのオフセット値及び1つの誇張係数としてもよい。
また、オフセット値および誇張係数値は、奏者キャラクタ修飾値の一例であり、奏者キャラクタを修飾するものであれば、どのような値であっても、また、奏者キャラクタとして与えられる変動値に対して、どのような演算をするものであってもよい。
【0046】
一方、音源設定用演奏データに対応して、奏者系統1〜N毎に、かつ、音源設定パラメータc,d毎に、奏者キャラクタ11c,11dおよび、奏者キャラクタ修飾値12c,12dがある。
「プログラム・チェンジ・メッセージ」のような音源設定パラメータは、合奏効果に対する重要性が比較的低いと考えられるので、図示の例では、フレーズ内の音源設定用演奏データの入力順序番号によっては変わらない単独の変動値としているが、変えるようにしてもよい。
また、テイクは複数用意しているが、フレーズ検出毎にテイクを変えないようにするのであれば、また、フレーズの種別によってテイクを変えないようにするのであれば、テイクは1つでよい。
【0047】
音源設定パラメータは、一旦音源装置3に設定されると、その値が維持される。そのため、フレーズ検出毎にテイクを切り替えたり、フレーズの種別によってテイクを選択したりする場合には、その都度、音源設定用演奏データを生成して音源装置3に出力する必要がある。
具体的には、最後に入力が検出された所定の音源設定用演奏データが有していた音源設定値を保持しておき、これに新たなテイクの変動値、あるいはさらに奏者キャラクタ修飾値で調整した値を、新たな音源設定値として有する音源設定用演奏データを生成して音源装置に出力する。
【0048】
音源設定パラメータの中には、その設定値が、例えば音色番号のように、その数値の連続性が音源設定パラメータの内容上の連続性を必ずしも意味しない場合がある。このような場合には、制御値を変動値に応じてばらつかせることは、近似した音色に変更するというような、音源設定パラメータの内容上のばらつきを与えることを意味する。したがって、変動値は元の制御値に加算したり乗算したりする値では必ずしもない。
【0049】
図2に示した例では、奏者キャラクタは、予め奏者系統数Nだけ記憶されているものとしているが、実際には、奏者系統数Nは、ユーザによって任意に設定される値である。したがって、奏者系統数Nの値毎に、図示の奏者キャラクタを記憶させておき、ユーザが奏者系統数Nを設定することにより、奏者キャラクタを自動設定する。
あるいは、予め十分多くの系統数の奏者キャラクタを作成して記憶させておき、その中から、ユーザが、奏者系統数Nに応じて、任意の奏者系統1〜Nを選択するようにしてもよい。
ユーザは、まず、メモリあるいは記憶装置に記憶された奏者キャラクタの中から、奏者系統1からNまでのものを任意に選択し、さらに、奏者キャラクタの修飾値を任意に設定すれば、選択された奏者キャラクタに多様な変化を与えることができる。
上述した、合奏効果設定情報は、演奏データを入力する前に予め記憶装置に設定しておくことを前提とする。しかし、曲の演奏途中で、設定が変えられるようにしてもよい。例えば、曲の途中で、奏者系統数や選択する奏者系統を変更してもよい。曲の途中で、奏者キャラクタ修飾値を変更して、例えば、ばらつきの具合を誇張係数値を変更して制御してもよい。
【0050】
図示の例では、奏者キャラクタは、複数の音符制御パラメータおよび複数の音源設定パラメータに対する奏者キャラクタ(変動値)が奏者系統1〜N毎に関連づけて、セットとして組み合わせて記憶している。
各音符制御パラメータ間や各音源設定パラメータ間に奏者が同一であることによる相関がある場合に、このようなセットで記憶させておくことにより、奏者の個性が細かく反映される。
ユーザは、奏者を指定して、この奏者の各音符制御パラメータ及び音源設定パラメータの変動値を選択する。
しかし、相関の少ない音符制御パラメータや音源設定パラメータについては、パラメータ別に奏者キャラクタを記憶させておいて、ユーザが任意に、奏者の個性の組み合わせを決めるようにしてもよい。例えば、音符制御パラメータ群の奏者キャラクタ(変動値)と、音源設定パラメータ群の奏者キャラクタ(変動値)とは、別々にセットとして記憶しておいてもよい。
【0051】
上述した奏者系統1〜Nの音符制御パラメータの変動値および音源設定パラメータの変動値は、実際に、第1から第Nの奏者により同一の楽譜を同時に実演奏したときに分析された、個々の音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものを用いることが望ましい。このような実演奏に基づいた変動値を用いることにより、自然な合奏感が得られる。
一方、音源設定パラメータの変動値については、実際の演奏に使用される第1から第Nの同一楽器の楽器固有の楽音特性のばらつきの特徴パターンに基づいて作成されたものを用いることもできる。
【0052】
図3は、図1に示したブロック構成図において、奏者毎に生成される演奏データの具体例を示す説明図である。
図3(a)は、演奏データ処理部2に入力されて検出された「ノート・オン・メッセージ」の個々の音符に対するノートオンタイミングの制御値を、この「ノート・オン・メッセージ」が検出される毎(音符が検出される毎)にばらつかせる場合を示している。
図1に示した、MIDI出力装置1がMIDI鍵盤である場合、出力されるMIDIデータには、ノートオンタイミングなどの「イベント発生タイミング」のデータを伴わないので、「ノート・オン・メッセージ」が出力された時点がノートオンタイミングである。
一方、MIDI出力装置1が、楽曲データファイルを記憶した記憶装置である場合には、出力される演奏データには、「イベント発生タイミング」のデータが何らかの形式で含まれている。
【0053】
図1に示した変動値設定部5は、入力が検出された「ノート・オン・メッセージ」が有しているノートオンタイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、新たに制御値として有した、奏者系統1〜Nの「ノート・オン・メッセージ」を出力する。
なお、出力される複数の「ノート・オン・メッセージ」の中には、入力された「ノート・オン・メッセージ」が有していた制御値と同じ値を制御値として有するものがあってよい。このとき、変動値は0である。このような奏者は、楽譜に寸分違わない演奏をする個性の奏者として意味がある。
「ノート・オン・メッセージ」中の、ノート番号、ベロシティ(オンベロシティ)の制御値をばらつかせない場合は、これらの制御値を、そのまま、奏者系統1〜Nの各「ノート・オン・メッセージ」中のノート番号、ベロシティ(オンベロシティ)とすればよい。
【0054】
図1に示した、音源装置3は、演奏データをリアルタイムのMIDIデータとした場合、「ノート・オン・メッセージ」を入力した時点をノートオンタイミングとして解釈する。そのため、演奏データ出力部6は、変動値に応じて「ノート・オン・メッセージ」を出力する時点を制御する必要がある。
しかし、入力された「ノート・オン・メッセージ」のノートオンタイミングに変動値を加算する場合に、変動値がマイナスである(タイミングを過去の方向に戻す)ときがある。そのため、演奏データ処理部2がリアルタイム処理をする場合は、変動値がゼロのときでも、音符制御用演奏データをわずかであるが所定の時間だけ遅延したタイミングで出力するようにしておく。または、変動値がマイナスの場合にはゼロとみなし、処理を簡素化してもよい。
【0055】
図3(b)は、演奏データ処理部2に入力されて検出された所定の「コントロール・チェンジ・メッセージ」の一種であるノンレジスタード・パラメータ・ナンバー(以下、「CCM−NRPN」という)により指定する、ディレイビブラート開始タイミングの制御値を、この所定の「CCM−NRPN」が検出される毎にばらつかせる場合を示している。この場合の、ディレイビブラート開始タイミングは、特定の音符を制御するものではなく、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御するものとして機能する。
この場合、図1の変動値設定部5は、入力が検出された所定の「CCM−NRPM」が有しているディレイビブラート開始タイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、新たに制御値として有する、奏者系統1〜Nの同じ所定の「CCM−NRPM」を出力する。
この奏者系統1〜Nの所定の「CCM−NRPM」は、生成されたタイミングか、あるいは、入力されたタイミングから所定時間遅延したタイミングで出力する。出力するタイミングは、奏者毎に若干ずれても構わない。
【0056】
イベント発生タイミングデータを伴う所定の「CCM−NRPM」を出力する場合に、イベント発生タイミングの値は、原則として、入力された所定の「CCM−NRPM」に対するイベント発生タイミングと同じ値にする。
先に「ノート・オン・イベント・メッセージ」に関して説明したように、イベント発生タイミングデータには、種々の記述形式があるので、演奏データ出力部6は、この形式を考慮して演奏データのイベント発生タイミングデータを記述する。
なお、出力される複数の所定の「CCM−NRPM」の中には、入力された所定の「CCM−NRPM」が有していた制御値と同じ値を制御値として有するものがあってよい。
【0057】
図3(c)は、演奏データ処理部2に入力されて検出された「ノート・オン・メッセージ」の個々の音符に対するノートオンタイミングの制御値を、この「ノート・オン・メッセージ」が検出される毎(音符が検出される毎)にばらつかせるとともに、これに連動して、ノートオンタイミングとは異なる他の制御値、例えば、上述したディレイビブラート開始タイミングについても、所定値からばらつかせる場合を示している。
検出された「ノート・オン・メッセージ」に対して、図3(a)に示したように単純に「ノート・オン・メッセージ」を出力するか、この図3(c)に示すように、他の音符制御パラメータについてもばらつかせるかは、予め決めておけばよい。
【0058】
図1の演奏データ出力部6は、まず、その入力が検出された「ノート・オン・メッセージ」が有しているノートオンタイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、ノートオンタイミングの新たな制御値として有する、奏者系統1〜Nの「ノート・オン・メッセージ」を出力する。さらに加えて、ディレイビブラート開始タイミングの基準となる所定値(通常は、ディレイビブラート開始タイミングの標準的な値とするか、ディレイビブラートをかけないゼロ値に決めておく)に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、ディレイビブラート開始タイミングの新たな制御値として有する、奏者系統1〜Nの所定の「CCM−NRPM」(図3(b)を参照して説明したもの)も出力する。
なお、出力される複数の「ノート・オン・メッセージ」の中には、入力された「ノート・オン・メッセージ」が有していた制御値と同じ値を制御値として有するものがあってよいし、出力される複数の「CCM−NRPM」の中には、ディレイビブラート開始タイミングの制御値がゼロ値であるものがあってもよい。
【0059】
図3(c)に示した、「CCM−NRPM」が、「ノート・オン・メッセージ」以前のタイミングで出力されるようにすれば、「ノート・オン・メッセージ」により発音される音符以降の音符に対してディレイビブラート開始タイミングを制御することができる。以後、同じ「ノート・オン・メッセージ」+「CCM−NRPM」、あるいは、単独の「CCM−NRPM」が出力される毎に、ディレイビブラート開始タイミングにばらつきを与えることになる。
ただし、この「CCM−NRPM」は、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御するため、「ノート・オン・メッセージ」により制御される個々の音符が、さらに「CCM−NRPM」によっても制御されることになる。
同様にして、図3(c)に例示したディレイビブラート開始タイミングに代えて、音量やビブラート速さなどの、楽音特性を制御する他の音符制御パラメータを制御する「CCM−NRPM」を、「ノート・オン・メッセージ」とともに同時出力することにより、「ノート・オン・メッセージ」が検出される毎に所定値からばらつかせて出力する演奏データを同時出力するようにしてもよい。
あるいは、「CCM−NRPM」に代えて、「ポリフォニック・キー・プレッシャ・メッセージ」を用いて、「ノート・オン・メッセージ」により発音される音符のノート番号を指定して、その楽音特性を制御する演奏データとしてもよい。「ポリフォニック・キー・プレッシャ・メッセージ」は、発音されている音符に対する制御を行うものであるので、出力される「ポリフォニック・キー・プレッシャ・メッセージ」は、出力される「ノート・オン・メッセージ」以後のタイミングで出力されるようにする。
【0060】
図3(c)では、「ノート・オン・メッセージ」が入力されたときに、「ノート・オン・メッセージ」の他に、他の演奏データが出力されている。しかし、このような2つの演奏データをまとめたものとして、新たに定義された演奏データを出力してもよい。この場合も、実質的には2つの音符制御用演奏データが出力されていることになる。このようにすれば、本来音源制御パラメータであったものでも、この「ノート・オン・メッセージ」により発音される音符毎に、音源制御パラメータを制御して、その制御値をばらつかせることができるようになるので、確実に、音符制御パラメータとして機能させることができる。
MIDI規格では、新たに演奏データを定義することに制約があるが、独自規格においては、このような演奏データを任意に採用することができる。
なお、図3(c)の具体例の特別な場合として、入力された「ノート・オン・メッセージ」の方は、入力された「ノート・オン・メッセージ」が有する制御値をそのまま奏者系統1〜Nで用いることができるように出力するが、他方の所定の音符制御用演奏データは、奏者系統1〜N毎に互いに異なる制御値を有するようにしてもよい。
【0061】
上述した種々の音符制御パラメータおよび音源設定パラメータの内、最も合奏感に影響を与えていると考えられるのは、ノートオンタイミングのばらつきである。
そこで、以下の説明では、ノートオンタイミングについてのみばらつきを与える場合を具体例として詳細に説明する。各奏者の演奏データによって演奏される楽音信号の音高は同一(ユニゾン)の状態を保って出力される。
図4は、アコースティックバイオリンを演奏したときの、ノートオンタイミングのばらつきの実測値を示す第1の説明図である。4人の奏者1〜4の合奏であって、テンポ120で8分音符を4拍連続して演奏した場合を示している。
図中、縦線は、拍の正規のノートオンタイミング位置を示し、各奏者1〜4の8分音符の符頭の中心を各奏者のノートオンタイミング位置として示している。
【0062】
第1〜第4拍のノートオンタイミングは、正規のノートオンタイミングからずれてばらついている。
奏者1は、ノートオンタイミングのずれが比較的大きく、奏者2は比較的ずれが小さい。奏者3,4は、常にノートオンタイミングが早まっており、ずれの量が負になっている。このように、奏者の個性の違いが見受けられる。
また、奏者1〜4の全体を眺めれば、演奏開始後の最初の音符はタイミングが合わず、かつ、早まる傾向にあるが、奏者毎のばらつきが大きい。後の方の音符になるほど、合奏のタイミングが正規のタイミングに合う傾向が見られ、かつ、奏者毎のばらつきが小さくなっている。また、第1拍とともに第3拍も早まる傾向が見られる。
このように、演奏開始からの1フレーズ内の音符の順番によってばらつきが変動している。演奏途中においても、前の音符から所定時間以上経過した休符後は、上述した演奏開始と同じ傾向があった。
このような、演奏開始と同等に見ることができる休符の時間長は、数百msec以上であり、演奏テンポの影響は少ない。
【0063】
図5は、アコースティックバイオリンを演奏したときの、ノートオンタイミングのばらつきの実測値を示す第2の説明図である。
縦軸は楽譜通りの拍のノートオンタイミングを0としたときのずれの値[ms]であり、正の値が遅れ、負の値が早まり(飛び出し)を意味する。横軸は4拍、すなわち、8分音符4つの各々のタイミングを示す。8分音符のノートオンタイミングの間隔は500[ms]になる。
演奏条件は、図3と同じであり、同じ演奏を複数回行って得た、複数テイクの結果を示す。
図5(a)〜図5(d)に、ノートオンタイミングのずれを、奏者1〜4別に示す。系列0〜3は、テイクの列番号を示し、各図に共通した列番号である。なお、図4に示した説明図は、図5(a)〜図5(d)に示した系列0のテイクを、奏者1〜4について、時間軸に沿って表したものである。
この図から、同じ奏者であっても、テイク毎に、ノートオンタイミングのずれが大きくばらついていることがわかる。
【0064】
図5に示したような複数の奏者の実演奏によってノートオンタイミングのずれを計測したものを、そのまま、あるいはさらに加工を施して「タイミングシーケンス」とする。
図1に示した、変動値設定部5においては、上述した「タイミングシーケンス」を予めROMなどの記憶装置に格納しておく。
演奏開始からのフレーズ内の音符の順番(時系列)で変動値が変化しているので、フレーズ内の音符検出毎に、ノートオンタイミングの変動値を順次切り替え選択することにより、変動値を設定する。演奏途中でも、所定時間以上の休符後は、新たなフレーズの演奏開始とみなす。
したがって、奏者毎のノートオンタイミングの変動値のばらつきを実現するアルゴリズムとして、出力される「ノート・オン・メッセージ」のノートオンタイミングは、入力されたノートオンタイミングを基準に変動値を与えるものとし、この変動値は、音符検出毎にばらつきを与え、フレーズが開始される毎に、最初の音符用の変動値に初期リセットさせる。
【0065】
このような多数の奏者によって合奏したテイクを複数回計測しておき、奏者毎に、「タイミングシーケンス(複数テイク)」を格納しておく。ユーザが、奏者数を選択するとき、奏者数に応じた個数の「タイミングシーケンス(複数テイク)」を選択して用いる。
しかし、奏者数Nによっても合奏感が変化するので、奏者数N毎に実演奏を行って計測したものを用いるのが望ましい。その際、所定の奏者数で計測したものの特徴を分析して、適宜、計測値を加工して、奏者数毎の「タイミングシーケンス」データを作成することも可能である。
【0066】
タイミングの変動値は、テイクによってばらついていることから、上述した「プレーヤーズタイミングシーケンス」データを、図5の系列0〜系列3のような複数テイク分を格納しておく。楽曲の進行とともに、新たなフレーズを検出する毎に、テイクを予め決めた順番か、あるいは、ランダムに切り替える。
その際、合奏感は、複数奏者が一体となって演奏する際の相互作用によって得られるものであるので、各奏者系統1〜Nの「プレーヤーズタイミングシーケンス」は、同一の変動値列(同一テイク)のものを用いる。
このような選択方法とは別に、フレーズの特徴パターンによって分類されたフレーズ種別ごとに、実演奏を行って計測した1テイクを格納しておけば、図1の演奏データ検出部4で検出されたフレーズ種別に応じて、これに適したテイクを選択して利用できる。
【0067】
なお、「タイミングシーケンス」内の、変動値の数は、1フレーズ中の音符の数だけ必要である。しかし、1フレーズ中の音符の数は、曲によって異なっている。
例えば、1フレーズは必ずしも4つの音符からなるわけでない。3音符以下であるときは、1フレーズの終了によって、「タイミングシーケンス」を初期値にリセットすればよい。ところが、4音符以上の長いフレーズであるときも、シーケンスデータを供給し続けなければならない。
【0068】
図6は、フレーズが長く続くときのタイミングシーケンスの使用方法の説明図である。
「タイミングシーケンス」の1フレーズ中の音符の数を4とし、シーケンスデータの第1〜第4音符に対するノートオンタイミングの変動値の順序番号(音符の順序番号と同じ)を、1〜4の数字で表す。
ある1つのテイク(列)について、フレーズ内の各音符に対し、変動値を、1→2→3→4→3→2→3→4→3……とする。
図中、棒グラフは、一般的な曲における拍の強弱を表す。第1拍が最も強く、第3拍がそれに続く強さであり、第2拍と第4拍が弱い。
図4,図5を参照して説明したように、演奏の開始時および休符後の最初の第1音符は、変動値が特に大きいので、フレーズの途中で再び利用することは好ましくない。また、1フレーズは、図示のように拍の強弱を有しており、この強弱に関連してノートオンタイミングのずれも影響することが、先の図5の実測値からも推測される。したがって、拍の強弱も考慮して、ノートオンタイミングの変動値の再利用を行う。その結果、図6に示したシーケンスとなる。
【0069】
以上の説明は、図2に示した奏者キャラクタの設定に関するものである。この奏者キャラクタは、奏者キャラクタの修飾値を設定することによって、さらに調整される。ユーザが、これらの修飾値を指定することにより、実測に基づいた変動値を調整する。
ここで、演奏テンポが速いと、ノートオンタイミングの変動値が小さくなる傾向がある。したがって、演奏のテンポによっても、ノートオンタイミングのずれ倍率の修飾値といえるタイミング誇張係数値1を制御する。
図7は、演奏のテンポ(fTempo)とノートオンタイミングのタイミング誇張係数値1(fTempoTimingExp)との関係を示すグラフである。屈曲点を2つ設けている。
演奏テンポが60〜120では、タイミング誇張係数値1を1倍とする。演奏テンポが120〜240になるにしたがって、タイミング誇張係数値1を徐々に0.5倍まで減少させる。演奏テンポが240以上では、タイミング誇張係数値1を0.5倍とする。
【0070】
上述した説明では、図1に示した変動値設定部5が、複数の奏者の実演奏でタイミングずれを計測したものを変動値として格納する形態について説明した。実測に基づいているので、ノートオンタイミングのばらつきにリアリティがある。しかし、実測に手間がかかり、また、必要とする記憶容量も増してしまう。
そこで、制御値に与えるばらつきを、乱数を併用して与える方法を説明する。この場合、合奏感のリアリティが低下するが、多数の実測データをとって格納する必要がなくなる。
図8は、音符制御パラメータに対するばらつきを、1テイクの実測データに対して乱数を併用して得る形態を示すブロック構成図である。
21は奏者1用テーブル、31は奏者2用テーブルであって、実測に基づいた1テイク(列)分の「タイミングシーケンス」テーブルである。22,32は設定部、23,33は乗算器、24,34は乱数発生器、25,35は乗算器、26,36はずれ倍率指定部、27,37は加算器、28,38はずれオフセット指定部である。
【0071】
ある特定の音符制御用演奏データ、この具体例では「ノート・オン・メッセージ」が初めて入力されて検出されると、設定部22,23は、奏者1用テーブル21,奏者2用テーブル31の読み出し位置を初期位置にリセットし、第1番目の音符に対応する第1番目の変動値を設定する。また、同時に、乱数発生器24,34の出力を更新する。
「ノート・オン・メッセージ」が検出される毎に、設定部22,32は、奏者1用テーブル21,奏者2用テーブル31の読み出し位置を順次進めて、ノートオンタイミングの変動値を出力する。
説明を簡単にするため、音符検出タイミングの直前に、フレーズ検出タイミングが入力されるものとして説明する。フレーズ検出タイミングが検出される毎に、設定部22,32は、奏者1用テーブル21,奏者2用テーブル31の読み出し位置を初期位置にリセットし、フレーズ内の音符数が多いときには、先に、図6に示したパターンで、変動値の一部を繰り返し読み出す。
【0072】
設定部22の出力は、乗算器23において、乱数発生器24の出力(-1〜1)と乗算される。奏者1用テーブル21に記憶されたノートオンタイミングの変動値は、ばらつきの最大値を与えるものであり、それ以下の値を乱数発生器24から出力される符号付きの乱数によって与える。
乱数発生器24は、フレーズが検出される毎に出力を更新するので、第1テイクとは異なるばらつきの態様を乱数によって生成していることになる。見方を変えれば、奏者1用テーブル21に記憶された値は、テイク毎の乱数値に与える、フレーズ内の音符のばらつきに対する重み係数ともいえる。
【0073】
この乗算器23の出力は、乗算器25において、ずれ倍率指定部26の出力と乗算される。この乗算器25の出力は、加算器27において、ずれオフセット指定部28の出力と加算されて、奏者1用のノートオンタイミングの変動値が生成される。この乗算器25と加算器27の演算順序を逆にして、加算後に乗算を行ってもよい。
奏者2用のノートオンタイミングの変動値も同様であり、奏者数が3以上の場合も同様である。
なお、乱数発生器24,33は1個の乱数発生器とし、奏者数分の乱数値を順次、分配して出力するものであってもよい。また、奏者1用テーブル21、奏者2用テーブル31は、多数の奏者用テーブルを用意して、その中から奏者1用、奏者2用に、ユーザが選択して使用してもよい。
【0074】
上述した説明では、合奏感のリアリティを高めるために、最低限、実測に基づいた1テイク(列)分のテーブルを奏者毎に使用している。
構成を簡略化するには、奏者1用テーブル21、奏者2用テーブル31に代えて、ばらつきの態様が異なる特性の乱数発生器を奏者毎に用いて、1フレーズ内の音符毎のノートオンタイミングにばらついた変動値を与えてもよい。その際、乱数発生器24,34から出力される乱数値よりも、変化範囲の絶対値は小さくするとよい。
さらに、簡略化するには、奏者1用テーブル21、奏者2用テーブル31に代えて、奏者毎に異なる1つの固定値のみを用いてもよい。この場合、乱数発生器24,34は、フレーズ検出タイミングだけではなく、「ノート・オン・メッセージ」が検出されるタイミング毎に、乱数出力を更新するようにすれば、フレーズ中の各音符においても、ノートオンタイミングの変動値をばらつかせることができる。その際、フレーズ検出タイミングで発生させる乱数値の変化範囲よりも、変化範囲の絶対値を小さくするとよい。
【0075】
以上、本発明の演奏データ処理方法の機能構成を説明したが、図1に示した演奏データ処理部2は、具体化に際して種々の形態で実施できる。
図9は、本発明の演奏データ処理方法の具体化例を示す第1の説明図である。
図9(a)は、本発明をシーケンサにおける編集機能として具体化した場合の説明図である。
、図9(b)は、本発明をMIDIイベントのフロントエンドプロセッサとして具体化した場合の説明図である。
図9(c)は、音源ドライバ機能モジュールとして具体化した場合の説明図である。
【0076】
図9(a)において、曲データ記憶部42、曲データ記憶部43は、例えば、電子楽器あるいはシーケンサソフトウエアが実行されるパーソナルコンピュータに内蔵のメモリあるいは外部記憶装置である。
演奏データ処理部41は、曲データ記憶部42に記憶された、曲データファイル、例えばSMF(Standard MIDI File)から、タイミングデータを伴う演奏データを読み出して入力する。
演奏データのフォーマットは、SMFのように演奏イベントの発生時刻を1つ前のイベントからの時間で表した「イベント+相対時間」のほか、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント+絶対時間」、音符の音高と符長,休符と休符長で演奏データを表した「音高(休符)+符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等のシーケンサソフトウエアの独自形式など、どのような形式でもよい。
【0077】
演奏データ処理装置41は、入力された演奏データに対して合奏効果を与えるために、奏者数分の演奏データを出力する。出力される演奏データも、タイミングデータを伴うものである。演奏パートおよび奏者エレメントの識別は、例えば、MIDIチャンネル番号で行えばよい。
「ノート・オン・メッセージ」が入力された場合、出力される奏者数分の「ノート・オン・メッセージ」のタイミングデータは、例えば、入力された「ノート・オン・メッセージ」のタイミング値に奏者毎に異なる変動値を加算して決定する。その際、相対時間を用いてイベントタイミングを指定する場合には、出力する「ノート・オン・メッセージ」が奏者数分あるので、それらが出力されるイベントタイミングに応じて、相対時間を計算することになる。
【0078】
曲データ記憶部43に記憶された演奏データは、曲データの処理中あるいは曲データの処理終了後に、読み出されて音源装置に出力されることにより、楽音信号が合成される。
曲データ記憶部43がハード磁気ディスクや半導体メモリカードなどの外部記憶装置である場合、演奏データは、入力された演奏データのMIDIチャンネル番号に応じたトラックに記憶する。各演奏パートの各奏者エレメントの演奏データが同一のトラックに記憶されてもよい。
曲データ記憶部42と楽曲データ記憶部43とは、同一のハードウエアでもよい。処理後の演奏データを異なる領域に記憶したり、処理前の演奏データを消去したりすることがユーザによって決定される。
リアルタイム処理ではないので、出力される「ノート・オン・メッセージ」のノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングよりも過去となる場合も特に問題がない。また、フレーズ種別を判定してから、そのフレーズ内の合奏効果の設定を制御することができる。
【0079】
次に、図9(b)に示した、MIDIイベントフロントエンドプロセッサ装置として、本発明を具体化する場合について説明する。
MIDI出力装置1は、例えば、外部接続されたMIDI鍵盤や電子楽器であって、演奏データとして、タイミングデータを伴わないリアルタイムのMIDIデータを出力する。接続ケーブルを介して行うほか、LANやインターネットなどの通信ネットワークを介して行われる場合もある。
演奏データ処理部44は、入力された演奏データに対して合奏効果を与えるために、奏者数分の演奏データを出力する。出力される演奏データは、タイミングデータを伴わないMIDIデータである。
演奏パートおよび奏者の識別は、例えば、MIDIチャンネル番号で行えばよい。
【0080】
音源装置3は、例えば、MIDIチャンネル番号に応じて演奏パートと奏者エレメントを割り当てて、各奏者毎に楽音信号を合成して出力する。
リアルタイム処理を行うので、出力されるノート・オン・メッセージのノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングより過去の時刻となる場合のために、所定の処理遅延を許容する必要がある。あるいは、負の時系列オフセットは一律に0に変換して、リアルタイム性を維持してもよい。
MIDI出力装置1に代えて、演奏データ処理部44を内蔵する電子楽器の鍵盤から出力される演奏データを用いる場合も同様である。この場合、演奏データは、MIDIデータである必要はなく、この電子楽器内部で使用される信号でよい。
同様に、音源装置3もこの電子楽器に内蔵されるものであれば、演奏データ処理部44が出力する演奏データも内部で使用される信号でよい。
演奏データ処理部44が、タイミングデータを伴う演奏データを出力すれば、図9(a)のような曲データ記憶部43に出力することもできる。
【0081】
次に、図9(c)に示した、演奏データ処理部45aを音源装置45の内部に設けて、本発明を具体化する場合について説明する。
MIDI出力装置1は、演奏データとして、タイミングデータを伴わないリアルタイムのMIDIデータ、あるいは、電子楽器内部で使用される信号を出力する。
演奏データ処理部45aは、音源装置45内部の音源ドライバ機能モジュールとして動作する。出力する演奏データの形式は、入力された演奏データの形式とは独立して決めることができ、音符制御パラメータまたは音源設定パラメータを、波形合成部45bに転送する。
この具体例でも、MIDI出力装置1がリアルタイムにMIDIデータを出力するので、処理遅延を伴うが、負の時系列オフセットは0に変換して、リアルタイム性を維持してもよい。
【0082】
図10は、本発明の具体化例を示す第2の説明図である。
プレイバック音源内部における音源ドライバ機能モジュールとして実施する場合の説明図である。
プレイバック音源とは、イベント処理が実際の発音タイミングに先行して行われる音源である。具体的に説明すると、現在発音中の一音(音符)が、いつ終了するか、その次の一音(音符)が、いつ始まるのかを予め音源装置に送り、時間の因果律にとらわれずに各種の奏法(アーティキュレーション)を実現できる音源装置である。例えば、特開2001−100758号公報に記載された「波形生成装置」である。
【0083】
図中、46はプレイバック音源装置、46aは奏法付き曲データ再生処理部、46bは楽譜解釈処理部、46cは演奏データ処理部、46dは奏法合成処理部、46eは波形合成処理部、46fは波形出力処理部である。
曲データ記憶部42は、奏法付き曲データを保持する。強弱、テンポ、スラー等の楽譜上で音楽記号として記述される奏法が「奏法記号」として、MIDIシーケンスデータ中に記録されている。
奏法付き曲データ再生処理部46aは、曲データを入力して再生する。楽譜解釈処理部46bは、楽譜上の記号(音楽記号や音符の並び方等)を解釈して、演奏データに変換し、時刻情報とともに演奏データ処理部46cに出力する。同時に、従来の通りのMIDIデータも時刻情報とともに出力する。
【0084】
演奏データ処理部46cは、本発明の演奏データ処理方法の一具体化例である機能モジュールである。
したがって、予め奏者数分の合奏効果設定がなされており、楽譜解釈処理された後の音符制御用演奏データあるいは音源設定用演奏データを入力して、複数奏者分の音符制御用演奏データあるいは音源設定用演奏データを出力する。出力する音符制御用演奏データあるいは音源設定用演奏データは、入力された制御値に対してばらつきが与えられる。
【0085】
奏法合成処理部46dは、各奏者系統毎に入力された演奏データから奏法指定情報を生成し、奏法指定情報で奏法テーブルを参照し、パケットストリーム(ベクトルストリーム)および奏法パラメータに応じた該ストリームに関するベクトルパラメータを生成し、波形合成処理部46eに出力する。パケットストリームは、ピッチ要素および振幅要素に関しては、パケットの時刻情報、ベクトルID、代表点値列などであり、波形要素に関しては、ベクトルID、時刻情報などである。
波形合成処理部46eでは、パケットストリームに応じてコードブックからベクトルデータを取り出し、このベクトルデータをベクトルパラメータに応じて変形し、変形したベクトルデータに基づいて楽音波形を合成する。
【0086】
波形出力処理部46fは、各奏者の合成楽音波形を加算合成して出力する。他の演奏パートの演奏データについて、図示しない従来型のリアルタイム音源で波形合成されている場合には、この波形出力部46fで加算合成してプレイバック音源装置46の出力とする。
この具体例では、リアルタイム処理をしないので、出力される「ノート・オン・メッセージ」のノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングより過去の時刻となる場合についても特に問題がない。また、フレーズ種別を判定し、そのフレーズ内の合奏効果の設定を制御できる。
【0087】
以上、図9(a)〜図9(c),図10を参照して、本発明の演奏データ処理方法について、複数の具体化例を説明した。
上述した演奏データ処理部41,44は、パーソナルコンピュータのCPU(Central Processing Unit)にプログラムを実行させることによって実現することができる。この場合、プログラムは、オペレーティングシステムプログラムの下で実行されるアプリケーションプログラムとして作成する。記録媒体に記録し、パーソナルコンピュータにインストールして、パーソナルコンピュータのCPUにこのプログラムを実行させる。
あるいは、CPUを搭載し、パーソナルコンピュータのアーキテクチャに近い、独自のハードウエア基板を設計し、このCPUを制御する専用のプログラムをROMに記憶させて、シーケンサ装置あるいは、シーケンサ機能を有する電子楽器専用機として、本発明を実現してもよい。
【0088】
また、上述した演奏データ処理部41,44は、専用のプログラムによって信号処理アルゴリズムを実行するDSP(Digital Signal Processor)あるいはCPU、を音源IC(Integrated Circuit)チップ相当のICチップとして実現させることもできる。
図9(c)に示した音源装置45内部の演奏データ処理部45aの場合や、図10に示した演奏データ処理部46cの場合、音源装置45,プレイバック音源装置46の全体を、パーソナルコンピュータのCPU(Central Processing Unit)にプログラムを実行させることによって実現したり、独自のハードウエア基板で、CPUを制御する専用のプログラムを基板上のROMに記憶させて実現したり、DSPあるいはCPUをICチップ音源として実現したりすることができる。
【0089】
次に、本発明の演奏データ処理方法の実施の一形態において、ユーザが行う合奏効果設定操作の一具体例を説明する。
この設定操作は、図10に示したようなプレイバック音源装置46内の音源ドライバ機能モジュールの場合を前提としたものである。しかし、図9(a)に示したシーケンサの編集機能、図9(b)に示したMIDIイベントフロントエンドプロセッサ、あるいは、図9(c)に示した音源装置として具体化する場合についても、同様に適用できる。
【0090】
図11は、合奏感のある演奏データを出力するための設定画面の説明図である。
図中、51はパーソナルコンピュータのディスプレイ上に表示される奏者の設定画面、52は楽団の構成を表示する左ペイン、53は奏者(1人分)の設定を行う右ペインである。
本発明の演奏データ処理装置においては、楽団(パフォーマンス)という形態で、音源の制御パラメータを管理する。
このパフォーマンス(楽団)は、階層的に定義され、ユーザによって編集可能である。その階層が左ペイン52に表示される。
【0091】
パフォーマンス「Default」は、複数のパート「Default0」,「Default1」,「Default2」,……,「Default7」で構成される。各パートには、1つのボイス(Voice:楽器音色)が割り当てられる。例えば、第1バイオリン,第2バイオリン,ビオラ,チェロ,コントラバス,フルート1,フルート2,オーボエ1,オーボエ2,ホルン1,ホルン2といったボイスがある。
なお、上述した「」内の名称は、それぞれのパートに付けられた名前のデフォルト名であり、ユーザが任意の名前を付けることができる。
ボイスには、1または複数の奏者(Instrument)が割り当てられる。「Default0-0」,「Default0-1」が、ボイス「Default0」の2人の奏者名である。
ボイスが「セクションボイス」の場合は、複数の奏者が割り当て可能である。「ソロ」の場合は、1人の奏者のみが割り当てられる。図示の「Default0」はセクションボイスであり、奏者数は図示しない別の画面で設定される。
【0092】
左ペイン52の奏者「Default0-0」をマウスボタンのクリックで選択することにより、右ペイン53に、奏者「Default0-0」の設定画面が表示される。
54は奏者名(Instrument Name)の表示領域である。
55は奏者の音色を指定する「奏者音色番号(Instrument Sample Number)」、56は奏者の奏者タイミング(演奏動作)を指定する「タイミングシーケンス番号(Timing Sequence Number)」、58はタイミングオフセット係数(TimingOffset)、59はタイミング誇張係数(TimingExpand、以後、この値をタイミング誇張係数値2という)を、それぞれ入力するための入力部である。
【0093】
図示の例では、ある奏者のキャラクタの設定を、奏者が演奏する楽器の音色の設定と、奏者の演奏動作の設定との2つの設定の組み合わせで行う方法をとっている。
すなわち、入力部55に入力されて設定される奏者の音色を規定する「奏者音色番号(Instrument Sample Number)」と、入力部56に入力されて奏者の演奏動作を規定する「タイミングシーケンス番号(Timing Sequence Number)」との、両者の独立した組み合わせで、1人の奏者のキャラクタを設定する。独立した組み合わせをとることによって、キャラクタの種類を増やすことができる。
もちろん、「タイミングシーケンス番号(Timing Sequence Number)」のみによって音色および演奏動作のキャラクタを同時に設定してもよい。先に説明した図1〜図10においては、奏者系統の番号1〜Nで、両方のキャラクタを設定するものであった。
奏者番号を図11のように、音色関係と演奏動作関係とで独立した奏者系統の番号を用いる場合には、図1〜図10におけるノートオンタイミングの変動値制御は、演奏動作関係の「タイミングシーケンス番号(Timing Sequence Number)」によって変動値を決定することになる。
【0094】
ノートオンタイミングのばらつきは、図示しないパラメータ設定画面で設定するタイミングテーブル番号で、複数奏者のタイミングシーケンスのセットが選ばれ、さらに、「タイミングシーケンス番号(Timing Sequence Number)」によって、標準的な「ばらつきのパターン」が指定され、入力部58,59に入力される「奏者キャラクタの修飾値」としての、タイミングオフセットおよび、タイミング誇張係数値2によって修飾される。
この修飾によって、標準的な「ばらつきのパターン」を、ユーザの好みに合わせて調整できる。
なお、この画面では、ある1人の奏者に関する、他の音源制御パラメータについても設定操作をするのであるが、本発明とは直接関係しないので、図示および説明を省略する。
【0095】
次に、合奏効果設定情報として、奏者キャラクタ等を設定したとき、図1に示した変動値設定部5が、具体的にどのような処理を行うかを、説明する。
図12は、各種のパラメータとそれらの相互関連を説明するためのパラメータ構成図である。
パフォーマンス(楽団)に関するパラメータは、パフォーマンスパックデータ61としてまとめられている。この図では、本発明に関連するものだけを示している。ノートオンタイミングの変動値は、タイミングデータ71にまとめられている。
パフォーマンスデータ62には、楽団名、パートデータ63等が含まれる。最大32個のパートを持つことができ、各パートには、voice#によってボイス番号が設定されており、ボイステーブル64で実体(ボイスデータ65)に変換される。
【0096】
ボイス番号がvoice0のボイスデータについて例示すると、ボイス名(Default0)、タイミングテーブル番号(tbl#)、エレメントデータ66等が含まれる。最大32個のエレメントデータ66を持つことができ、各エレメントデータ66には、インストゥルメント番号がinst.#で設定され、インストゥルメントテーブル67で実体(インストゥルメントデータ68)に変換される。
インストゥルメント番号がinst.0のインストゥルメントデータ68について例示すると、各インストゥルメントデータ68には、Default0-0、sample#,TimingSequence#,TimingOffset,TimingExpand等によってそれぞれ決まる、インストゥルメント名、インストゥルメントサンプル番号、タイミングシーケンス番号、タイミングオフセット、タイミング誇張係数値2、等を持つ。
ここで、インストゥルメントサンプル番号,タイミングシーケンス番号,タイミングオフセット,タイミング誇張係数値2は、図11に示した設定画面でユーザにより指定される。
【0097】
一方、タイミングデータ71には、タイミングテーブル72、タイミングテーブルデータ73を持つ。
ボイスデータ65中のタイミングテーブル番号(tbl#)は、タイミングテーブル72で実体(タイミングテーブルデータ73)に変換される。タイミングテーブルデータ73は、0.tbl〜31.tblの32種類あり、それぞれ、タイミングシーケンステーブルおよびタイミング誇張係数テーブル等を持っている。
タイミングテーブル0.ttbについて示すと、[タイミングシーケンステーブル]セクションでは、ユーザによって指定されたタイミングシーケンス番号を、0=x0,1=x1,…,31=x31のいずれかの実体に変換する。ここでは、x0,x1の2奏者分のみが図示されているが、実際には、最大32奏者分用意されている。ここで、左辺の0〜31は、インストゥルメントデータ68のタイミングシーケンス番号の値であって、図11ではTiming Sequence Numberを指定する。各奏者x0,x1,…,x32は、それぞれに定義されたNUMSERIES個のテイク(列)を持つ。[x0]では、0〜3の4つのテイク(列)を持つ。
各テイクは、それぞれに定義されたNUMTIMINGS個の音符の発音タイミングのずれを表す変動値からなる1列のタイミングシーケンスを構成する。このタイミングシーケンス内の変動値の使用方法は、既に、図6を参照して説明した。
【0098】
タイミングテーブルデータ73中の、タイミング誇張係数テーブルでは、図7に示したような、テンポに対するタイミング誇張係数値1のテーブルが記述されている(NUMTABLEは、テーブルのブレークポイントの数であり、図7の屈曲点ポイントに対応)。このテーブルから120,1.00F,240,0.50Fの数値を読み出し、図7に示したように、テンポに対するタイミング誇張係数値1を記憶する。
タイミングオフセット係数に関しては、テンポに対する補正をしていない。
【0099】
同じ楽器音色の複数のボイスのそれぞれのタイミングテーブルデータを、1つのタイミングテーブルデータ73にまとめてもよい。例えば、トランペット1のタイミングテーブルデータとトランペット2のタイミングテーブルデータが含まれたものにしてもよい。
また、ボイスのカテゴリ別に、複数のボイスのそれぞれのタイミングテーブルデータを、1つのタイミングテーブルデータ73にまとめてもよい。例えば、ブラス系の、トランペット1、トランペット2、トロンボーン、シンセサイザトランペットの各タイミングテーブルデータが含まれている。
【0100】
次に、図12に示したパラメータを参照しながら、図13,図14のフローチャートを用いて、タイミング処理を具体的に説明する。
図13は、タイミング設定処理を説明するフローチャートである。
S81において、ボイスデータ65(図12ではvoiceOを示している)中のタイミングテーブル番号を参照し、そのtbl#を読む。
S82において、タイミングテーブル72のtbl#にアサインされたタイミングテーブルデータ73の0.ttb〜31.ttbの内、対応するものを読む。図12では、0.ttbの内容を示している。
S83において、エレメントデータ66のインストゥルメント番号inst.#を読む。インストゥルメントテーブル67のinst.#にアサインされた、インストゥルメントデータ68のinst.0〜inst.127の内、対応するものにおいて、ユーザによって指定されたタイミングシーケンス番号,タイミングオフセット,タイミング誇張係数値2を読み出す。図11では、inst.0の内容を示している。
【0101】
S84において、タイミングシーケンス番号に従い、タイミングテーブル72のtbl#にアサインされたタイミングテーブルデータ73の0.ttb〜31.ttbの内、対応するものの中のタイミングシーケンステーブルを引く。タイミングシーケンステーブルが示す文字列と同名のセクション(x0,x1,…,x32の内、対応するもの)に記述されている、タイミングシーケンスのNUMSERIESとNUMTIMINGSの値を読み出すとともに、変動値を読み出してメモリに格納する。
ここで、NUMSERIESは列の総数を意味し、図示の例では0〜3の4列あるので、NUMSERIES=4である。また、NUMTIMINGSは、タイミングシーケンス中の音符の個数(変動値の個数)であって、図示の例では4である。
図12では、シーケンス0=x0のタイミングシーケンスの内容を表示している。
S85において、上記対応するタイミングテーブルデータ中のタイミング誇張係数テーブルの、テンポとそれに対応するタイミング誇張係数値1を読み出す。
【0102】
次に、図14は、タイミング再生処理を説明するフローチャートである。Noteを検出した際にこの処理に入る。
S91において、休符を検出したか否かを判定し、休符を検出したときにはS92に処理を進め、検出しないときにはS94に処理を進める。ここで、休符とは、ノートオフから所定時間以上経過してもノートオンがない状態をいう。
S92において、フレーズ番号(nPhrase)のカウントを進め、S93に処理をを進める。ただし、カウントを進める前に、フレーズ番号(nPhrase)が(NUMSERIES−1)以上であれば、0にリセットする。もしくは、カウントを進めた際に、nPhraseがNUMSERIES−1を超えれば、0にリセットする。
【0103】
S93において、フレーズ内順番を0にセットする。
S95は、図6を参照して説明したように、フレーズ内順番を0→1→2→3→4→3→2→3→4とするための処理である。
フレーズ内順番のカウントを+1進める。ただし、カウントを進める前に、フレーズ内順番が(NUMTIMINGS−1)に到達していれば、以降は逆にカウントを1だけ戻す。カウントを戻す前に、1に戻っていれば、再びカウントを+1ずつ進めて行く。
【0104】
S96において、タイミングずれ(オフセット)を求める。
タイミングずれ(オフセット)=
(フレーズ番号とフレーズ内順番を与えてタイミングシーケンスをひいて求められるタイミングデータ)
+(奏者毎に割り当てられているタイミングオフセット)
である。
S97は、図7を参照して説明したように、テンポに応じてタイミング誇張係数値1を求める処理である。テンポ対タイミング誇張係数テーブルを、現在のテンポfTempoを用いて補間した値(現在のテンポを与えて求められるタイミング誇張係数値1)を求める。
【0105】
S98において、タイミング誇張係数を求める。
タイミング誇張係数=
(現在のテンポを与えて求められるタイミング誇張係数値1)
*(奏者毎に割り当てられているタイミング誇張係数値2)
である。記号「*」は、乗算記号である。
S99において、奏者ごとに(タイミングずれ)および(タイミング誇張係数)を調整した後の最終的なノートオンタイミングを得ることになる。すなわち、
調整後のNoteOnTiming =
NoteOnTiming+(タイミングずれ)*(タイミング誇張係数)
このようにして、選択したタイミングシーケンスから得られたタイミングのばらつきに加えて、奏者毎に設定したタイミングオフセットおよびタイミング誇張係数が使用される結果、奏者毎に多様なタイミングのばらつきを持たせることができる。
なお、上述した演算では、(フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ)に(タイミングオフセット)を加算してから(タイミング誇張係数)を乗算しているが、(フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ)に(タイミング誇張係数)を乗算してから(タイミングオフセット)を加算するような演算に代えてもよい。
【0106】
また、上述した演算において、(タイミングずれ)および(タイミング誇張係数)の値は、図1に示した演奏データ処理部2において設定される値であった。さらに、演奏データ処理部2に入力される演奏データとして、タイミングずれを与えるタイミングオフセットおよびまたはタイミング誇張係数を与えるタイミング誇張係数3を制御する演奏データを新たに定義して用いてもよい。このような新たな演奏データによって、演奏入力によって、(タイミングずれ)およびまたは(タイミング誇張係数)の値を動的に制御できるようにしてもよい。
すなわち、S96において、(演奏データにより制御されるタイミングオフセット)を加算する。およびまたは、S98において、(演奏データにより制御されるタイミング誇張係数3)を乗算すればよい。
上述したフローチャートの例は、ノートオンタイミングに関するものであったが、このような演奏入力による動的な制御は、制御対象とする任意の音符制御パラメータ、音源設定パラメータを指定することにより任意の音源設定パラメータに適用できる。さらに、制御対象とする音符も指定することにより任意の音符制御用パラメータに適用できる。
【0107】
上述した説明では、ボイス毎にインストゥルメント(奏者)が定義されている。ユーザは、ボイス(楽器音色)を指定した上で、奏者を指定することにより、所定の音符制御パラメータに、奏者毎に異なるばらつきの態様を有する変動値が設定される。楽器音色が異なれば、奏者のキャラクタにも独立したキャラクタを与えることにより、各楽器(音色)に適した変動値ばらつきを設定することができる。
一方、同じ奏者が異なる楽器を演奏することもあるので、すなわち、奏者1〜N系統に対して、ノートオンタイミングやディレイビブラート開始タイミングなどのばらつきを規定し、各奏者の選択する各楽器(音色名)毎に、楽器の種類に応じた修飾値を設定するようにしてもよい。
【0108】
図12〜図14を参照した処理の具体例では、あるボイスについて複数奏者化する場合、ユーザは、セッション(合奏)に参加する奏者の人数を決める。次に、32人分のタイミングシーケンス(4テイク分)の中から、参加する人数分のタイミングシーケンス(4テイク分)を選択している。
これに代えて、人数も含めた特定の奏者の組み合わせ毎に、タイミングシーケンス(4テイク分)が選択されるようにしてもよい。この場合、個々の奏者間の演奏の相関性が厳密に反映された変動値を与えることができる。
【0109】
図12〜図14を参照した処理の具体例では、各奏者毎にばらつきのあるタイミングシーケンスに基づいて生成された変動値に対し、奏者キャラクタのオフセット修飾値として、タイミングオフセットおよびタイミング誇張係数を、奏者毎に設定していた。
これに代えて、オフセット修飾値は、全奏者に共通の制御パラメータとしてもよい。すなわち、ユーザは、1セッション毎にまとめて、タイミングオフセットおよびタイミング誇張係数を設定するようにしてもよい。
上述した説明では、1パート(1ボイス)に対して合奏効果を与えていた。これに代えて、奏者に異なるボイスを割り当てることによって、異なるパート(ボイス)に属する複数の奏者が合奏するときの楽音信号を合成できるように演奏データを処理することも可能である。
【0110】
上述した説明では、演奏データ処理部2は、合奏効果を与えるために、音符制御用演奏データおよび音源設定用演奏データを、複数の奏者毎に生成して、音源装置3に出力していた。
しかし、ユーザが奏者系統数を1に設定するか、予め奏者系統数が1に固定されているものとしてもよい。この場合は、ソロ演奏に個性を付加するために使用できる、単一奏者のための音符制御用演奏データおよび音源設定用演奏データを出力する演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、楽音信号合成方法となる。その際、奏者の個性に強烈なキャラクタを与えることによって、自己主張する演奏データを出力することができる。これに対して、合奏効果を付加する場合には、奏者の個性を弱くした方がよい。
【0111】
本発明で処理を行う演奏データは、楽譜通りの演奏データであることを前提に考えられたものであるが、必ずしもこの前提は必要ではない。入力された演奏データがどのようなものであっても、これを基にして、合奏感を付加したり個性ある表情を付けたりすることができる。
また、本発明で処理を行う演奏データは、電子楽器用の演奏データに限らない。音源を内蔵したパーソナルコンピュータや、カラオケ装置、ゲーム装置、着信メロディ音源を有する携帯電話等の携帯型通信端末などの演奏データであってもよい。ネットワークに接続されたパーソナルコンピュータや携帯型通信端末で演奏データを処理する場合、端末側のみで本発明の演奏データ処理機能が完結している場合に限らず、本発明の機能の一部をサーバ側に持たせ、端末とサーバとからなるネットワークシステム全体として本発明の機能を実現するようにしてもよい。
【0112】
【発明の効果】
本発明は、上述した説明から明らかなように、簡単な設定で、奏者の個性の違いによるリアルな合奏感のある楽音信号を合成できる演奏データを生成できるという効果がある。
【図面の簡単な説明】
【図1】 本発明の演奏データ処理方法の実施の一形態を示すブロック構成図である。
【図2】 合奏効果設定情報の記憶形態の一例を示す説明図である。
【図3】 図1に示したブロック構成図において、奏者毎に演奏データが生成される具体例の説明図である。
【図4】 アコースティックバイオリンを用いて演奏したときの、ノートオンタイミングのばらつきの実測値を示す第1の説明図である。
【図5】 アコースティックバイオリンを用いて演奏したときの、ノートオンタイミングのばらつきの実測値を示す第2の説明図である。
【図6】 フレーズが長く続くときのタイミングシーケンスの使用方法の説明図である。
【図7】 演奏のテンポ(fTempo)とノートオンタイミングの第1のタイミング誇張計数値(fTempoTimingExp)との関係を示すグラフである。
【図8】 音符制御パラメータに対するばらつきを、乱数を併用して得る形態を示すブロック構成図である。
【図9】 本発明の演奏データ処理方法の具体化例を示す第1の説明図である。
【図10】 本発明の演奏データ処理方法の具体化例を示す第2の説明図である。
【図11】 合奏感のある演奏データを出力するための設定画面の説明図である。
【図12】 各種のパラメータとそれらの相互関連を説明するためのパラメータ構成図である。
【図13】 タイミング設定処理を説明するフローチャートである。
【図14】 タイミング再生処理を説明するフローチャートである。
【符号の説明】
1…MIDI出力装置、2,41,44,45a,46c…演奏データ処理部、3,45,46…音源装置、4…演奏データ検出部、5…変動値設定部、6…演奏データ出力部、11a,12b,12d,11e…奏者キャラクタ、12a、12b,12d,12e…奏者キャラクタ修飾値、42,43…曲データ記憶部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a performance data processing method, a performance data processing program, a performance data processing device, and a musical sound signal synthesis method for giving ensemble to performance data in the field of electronic musical instruments.
[0002]
[Prior art]
When performing an ensemble (session) with an acoustic instrument, even if multiple players perform the same score using the same instrument, the performance sound of each player is not exactly the same.
Each player's performance and emotions vary depending on their individuality. In addition, the acoustic characteristics of the acoustic instruments used by each player vary slightly. As a result, a sense of ensemble is added to the overall tone signal.
In the field of electronic musical instruments, various methods have been conventionally used to produce such a feeling of ensemble when performing live performances using keyboard performances, or when producing music pieces by placing notes in a sequencer.
[0003]
The first method is “detune”. When a certain timbre (voice) is designated, a plurality of elements are sounded simultaneously. At that time, by slightly shifting the pitch between the sound of each element, even when a “note on message” for a single note is input, the effect is that multiple sounds are played simultaneously. give. However, the amount of detuning is constant for the pronunciation of any sound by simply changing the setting of each element. Therefore, there is a problem that it is not possible to produce a feeling of variation like an ensemble of an acoustic instrument.
[0004]
The second method uses a voice called “section sound”. The ensemble by a plurality of musical instruments is sampled in advance to obtain the original waveform of the waveform memory sound source. For example, if the section sound “strings” is selected in the “string” section of the timbre, a realistic atmosphere sound with an ensemble can be obtained. However, despite the fact that it is a multi-player sound, various sound source controls are applied uniformly to the section sound synthesized inseparably, so the output sound tends to be monotonous and unnatural. . In addition, there are various needs for section sounds such as strings, brass, and human voice, but there is a problem that even if the user desires it, it cannot be realized unless the desired section sound is prepared in the sound source.
[0005]
The third method is to create and use the required number of performance data of a plurality of solo voices (single instrument timbres). The fourth method is a method in which voices according to the second and third methods described above are mixed and used.
In these third and fourth methods, the possibility of realizing a favorite sound is widened depending on how the voices are mixed. However, in order to obtain a feeling of ensemble, it is necessary to prepare sequence data for each voice and make adjustments through trial and error, so setting is very troublesome. Moreover, it is possible only when a note is input, and there is a problem that it cannot cope with real-time performance such as keyboard performance.
The above-mentioned problems were problems in obtaining a sense of ensemble. However, it is hoped that the individual performances or solo performances that perform ensembles will be effective and easy to add facial expressions that reflect the individuality of the player. It was rare.
[0006]
[Problems to be solved by the invention]
The present invention has been made to solve the above-described problems, and a performance data processing method, performance data processing program, and performance data for processing input performance data so as to synthesize a musical sound signal having a sense of ensemble. It is an object of the present invention to provide a processing device and a musical sound signal synthesis method.
In particular, it is possible to synthesize a musical sound signal with a sense of ensemble by processing performance data so as to vary the note-on timing.
[0007]
[Means for Solving the Problems]
According to a first aspect of the present invention, in the performance data processing method, predetermined musical note control having a predetermined musical tone characteristic control value for a musical note constituting the musical performance data is input. A performance data type detection step for detecting performance data for use, and a control value of a predetermined musical tone characteristic for the note to vary each time the performance data for the predetermined note control is detected.The variation value sequence from the first system to the Nth (N is an integer of 2 or more) system, the variation value constituting the variation value sequence of each system has variations, and variations in different modes from system to system Each time the predetermined musical performance data for note control is detected from each system, the variation value is selected,From the first system to the firstN seriesA variation value setting step for setting a variation value up to the current time, and each time the predetermined note control performance data is detected, a control value of a predetermined musical sound characteristic for the note included in the predetermined note control performance data is set. ,Respectively,By the variation value setting stepA value that varies according to the set fluctuation value from the first system to the Nth system is newly set as a control value of a predetermined musical tone characteristic for the note, and is the same type as the performance data for the predetermined note control. A performance data output step for generating and outputting performance data from the first system to the N-th system.
Accordingly, the predetermined musical tone characteristics for the notes constituting the performance data can be varied every time the predetermined note control performance data is detected, and the control values of the first to Nth systems having variations in different modes. Performance data for note control can be output.
The tone generator gives such a variation to the predetermined musical tone characteristics for the notes constituting the performance data, and synthesizes the waveforms for each system. As a result, a musical tone signal with a feeling of ensemble that multiple players are actually playing is generated. Can be synthesized. Compared to the conventional “section sound” in which the musical sound signals of multiple players are not separable, natural musical sound control can be performed. Even if a “section sound” is not prepared, it is possible to give an ensemble to a timbre that the user desires to give an ensemble. Since the user does not have to create performance data for a plurality of players, it is easy to realize an ensemble effect, and it is also possible to deal with real-time performance.
[0008]
According to a second aspect of the present invention, in the performance data processing method according to the first aspect, the predetermined musical tone characteristic for the note is a note-on timing at which the note begins to be generated.
Variation in note-on timing of notes greatly contributes to the feeling of ensemble.
Therefore, it is possible to output performance data that can synthesize a musical sound signal with a sense of ensemble.
[0009]
According to a third aspect of the present invention, in the performance data processing method according to the first or second aspect, the predetermined musical tone characteristic for the note is a delay vibrato start timing of the note.
Variation in the start timing of the delay vibrato given to the musical sound signal of each note also greatly contributes to the feeling of ensemble.
Therefore, it is possible to output performance data that can synthesize a musical sound signal with a ensemble.
[0010]
According to a fourth aspect of the present invention, in the performance data processing method according to any one of the first to third aspects, the input series of performance data and the output of the first system to the first system The performance data up to N systems is performance data accompanied by timing data.
Since the performance data is in the music data file format, real-time processing is not necessary. Therefore, the performance data can be easily processed.
[0011]
According to a fifth aspect of the present invention, in the performance data processing method according to any one of the first to fourth aspects, the variation value from the first system to the Nth system is the first to the fifth system. It was created based on the characteristic pattern of the variation in musical tone characteristics for the notes, which was analyzed when the same score was actually played simultaneously by up to N players.
Since the fluctuation value is created based on actual measurement, it is possible to output musical data for note control that can synthesize a musical sound signal with a realistic ensemble.
[0012]
According to a sixth aspect of the present invention, in the performance data processing method according to any one of the first to fifth aspects, the system further comprises a number-of-systems designation step for designating the value of N, and the variation value setting step Is, DoubleFluctuation values of several systemsA variation value that constitutes a variation value string of each system has variations and variations of different modes for each systemFrom the fluctuation value storage means for storingSaidFluctuation value from
Therefore, a control value corresponding to the number of systems can be obtained.
In particular, multiple systems having variations in different aspectsStrangeDynamic valueColumnAs a variation value with correlation between systemsColumnCan be stored in the fluctuation value storage means, musical data for note control that can synthesize a musical sound signal with a realistic ensemble can be output.
[0013]
According to a seventh aspect of the present invention, in the performance data processing method according to the sixth aspect, the predetermined note control performance data is one of a plurality of types of note control performance data to be processed, The variation value storage means includes individual variation values for a plurality of types of predetermined musical sound characteristics corresponding to a plurality of types of musical note control performance data to be processed.ColumnIs stored for each system, and in the variation value setting step, the variation from the first system to the Nth system with respect to a predetermined musical characteristic controlled by the predetermined musical note control performance data from the variation value storage means. The value is selected and set.
Therefore, the performance data can be processed for a plurality of types of musical data for controlling notes.
In particular, the fluctuation value storage means stores individual fluctuation values for a plurality of types of predetermined musical sound characteristics.ColumnAs described above, if data having a correlation between a plurality of types of predetermined musical sound characteristics is stored, musical data for note control capable of synthesizing a musical sound signal having a realistic ensemble can be output.
[0014]
According to an eighth aspect of the present invention, in the performance data processing method according to any one of the first to seventh aspects, the variation value setting step is performed from the set first system to the Nth system. The fluctuation value is further adjusted for each system to obtain a fluctuation value from the first system to the N-th system used in the output step.
Therefore, the fluctuation value can be easily adjusted for each system. The adjustment can be performed, for example, by setting an offset or an exaggeration coefficient.
[0015]
According to a ninth aspect of the present invention, in the performance data processing method according to the first aspect, in the variation value setting step, in addition to the predetermined musical sound characteristic for the note, control of other predetermined musical sound characteristics for the note is performed. In order to vary the value every time the predetermined musical performance for note control is detected,Other fluctuation value sequences from the first system to the N-th (N is an integer of 2 or more) system for the other predetermined musical tone characteristics, and constituting the other variation value string of each system By selecting the other variation value each time the predetermined musical performance for note control is detected from each of the systems having variations and having variations of different modes for each system,From the first system to the firstN seriesSet the other fluctuation values up toPerformance dataThe output step includes the steps from the first system to the Nth system each time the predetermined musical performance for note control is detected.SaidOther musical note control performance data, each of which has a control value of another predetermined musical tone characteristic for the musical note,By the variation value setting stepFrom the set 1st system to Nth systemSaidIt generates and outputs at least performance data having values varied according to other variation values.
Therefore, every time the performance data for note control is detected, not only the control value of the predetermined musical tone characteristic but also the control value of other predetermined musical tone characteristics can be similarly varied. Performance data giving complex variations can be generated and output.
[0016]
According to a tenth aspect of the present invention, in the performance data processing method according to any one of the first to ninth aspects, the performance data type detection step includes: It is detected that the performance data is for predetermined sound source setting, and the variation value setting step includes a first system to an Nth system different from each other.Sound source settingsThe variation value is set when the predetermined sound source setting performance data is detected, and the output step is performed when the predetermined sound source setting performance data is detected. Each of the sound source setting values havingBy the variation value setting stepFrom the set 1st system to Nth systemSound source settingsA value varied according to the variation value is newly set as the sound source setting value, and performance data from the first system to the Nth system of the same type as the predetermined sound source setting performance data is generated and output. The performance data from the first system to the N-th system output by the output step is used as performance data for the first waveform synthesis element to the N-th waveform synthesis element, respectively.
Therefore, when the sound source setting performance data is detected, the first to Nth system sound source setting performance data having different sound source setting values can be output.
In the sound source device in which the performance data for sound source setting of the first to Nth systems is set, the sound signal setting values of the respective systems are different from each other, and as a result, a musical sound signal with a feeling of ensemble that multiple players are actually performing is synthesized. it can.
[0017]
According to an eleventh aspect of the present invention, in the performance data processing method according to the tenth aspect, the variation value setting step varies the sound source setting value every time the predetermined sound source setting performance data is detected. To helpThe sound source setting fluctuation value sequence from the first system to the N-th (N is an integer of 2 or more) system, and the sound source setting fluctuation values constituting the sound source setting fluctuation value sequence of each system have variations and are mutually different for each system. By selecting the sound source setting variation value each time the performance data for predetermined sound source setting is detected from each system having variations of different modes,From the first system to the firstN seriesUp toSound source settingsA variable value is set.
Therefore, it is possible to output sound source setting performance data from the first system to the Nth system having variations every time the sound source setting performance data is detected and having variations in a manner in which the sound source setting values are different from each other.
In the sound source devices from the first system to the N-th system, as a result of the variation of the sound source setting values of the respective systems in this way, it is possible to synthesize musical sound signals with a feeling of ensemble as if multiple players are actually performing.
[0018]
According to a twelfth aspect of the present invention, in a performance data processing program to be executed by a computer, a predetermined musical note control having a predetermined musical tone characteristic control value for a musical note constituting the musical performance data is inputted. A performance data type detection step for detecting performance data for use, and a control value of a predetermined musical tone characteristic for the note to vary each time the performance data for the predetermined note control is detected.The variation value sequence from the first system to the Nth (N is an integer of 2 or more) system, the variation value constituting the variation value sequence of each system has variations, and variations in different modes from system to system Each time the predetermined musical performance data for note control is detected from each system, the variation value is selected,From the first system to the firstN seriesA variation value setting step for setting a variation value up to the current time, and each time the predetermined note control performance data is detected, a control value of a predetermined musical sound characteristic for the note included in the predetermined note control performance data is set. ,Respectively,By the variation value setting stepA value that varies according to the set fluctuation value from the first system to the Nth system is newly set as a control value of a predetermined musical tone characteristic for the note, and is the same type as the performance data for the predetermined note control. A performance data output step for generating and outputting performance data from the first system to the N-th system.
Therefore, the performance data processing method according to
[0019]
In a thirteenth aspect of the present invention, in the performance data processing device, a series of performance data is input, and predetermined musical performance data for controlling notes having predetermined musical characteristic control values for the notes constituting the performance data is obtained. A performance data type detection means for detecting, and a control value of a predetermined musical tone characteristic for the note to vary every time the predetermined note control performance data is detected.The variation value sequence from the first system to the Nth (N is an integer of 2 or more) system, the variation value constituting the variation value sequence of each system has variations, and variations in different modes from system to system Each time the predetermined musical performance data for note control is detected from each system, the variation value is selected,From the first system to the firstN seriesA variation value setting means for setting a variation value up to the current time, and each time the predetermined note control performance data is detected, a control value of a predetermined musical tone characteristic for the note included in the predetermined note control performance data ,Respectively,By the variation value setting meansA value that varies according to the set fluctuation value from the first system to the Nth system is newly set as a control value of a predetermined musical tone characteristic for the note, and is the same type as the performance data for the predetermined note control. Performance data output means for generating and outputting performance data from the first system to the N-th system.
Therefore, the same effect as the performance data processing method according to the first aspect can be obtained.
[0020]
According to a fourteenth aspect of the present invention, in the musical tone signal synthesizing method, predetermined musical note control performance data having a predetermined musical tone characteristic control value for the musical notes constituting the musical performance data is inputted. A performance data type detection step for detecting, and a control value of a predetermined musical tone characteristic for the note to vary every time the predetermined note control performance data is detected.The variation value sequence from the first system to the Nth (N is an integer of 2 or more) system, the variation value constituting the variation value sequence of each system has variations, and variations in different modes from system to system Each time the predetermined musical performance data for note control is detected from each system, the variation value is selected,From the first system to the firstN seriesA variation value setting step for setting a variation value up to the current time, and each time the predetermined note control performance data is detected, a control value of a predetermined musical sound characteristic for the note included in the predetermined note control performance data is set. ,Respectively,By the variation value setting stepIn accordance with the set variation value from the first system to the N-th system, the musical sound signals from the first system to the N-th system are synthesized, and the synthesized first system is used. A musical tone signal output step for outputting musical tone signals up to the Nth system is provided.
Accordingly, predetermined musical tone characteristics for individual notes can be varied every time predetermined musical performance data for note control is detected, and the first to N-th musical tone signals having variations with different control values can be obtained. Can be synthesized. As a result of such variations in the musical tone characteristics, it is possible to synthesize musical tone signals having a feeling of ensemble as if multiple players are actually performing.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing an embodiment of the performance data processing method of the present invention.
In the figure, 1 is a MIDI output device, 2 is a performance data processing unit, and 3 is a sound source device. The
The performance
[0022]
The
The
As will be described later with reference to FIG. 9, performance data may be output from the song data storage unit instead of the
The
[0023]
The performance data has a sound source control parameter for controlling the sound source device, and the sound source control parameter is classified into a note control parameter and a sound source setting parameter.
The note control performance data has control values of musical tone characteristics (note control parameters) of individual notes (individual sounds) on the score constituting the performance data. As musical data for note control, for example, there are “note on message” and “note off message”.
The performance data for sound source setting has a set value of the tone characteristic (sound source setting parameter) of the sound source, and sets the set value of the sound source setting parameter for each corresponding player element. The sound source setting parameter uniformly controls the musical tone characteristics of all the notes processed by each player element. The performance data for tone generator setting includes, for example, “program change message”.
However, there are cases where it is desired to control the musical tone characteristics of individual notes even if the parameters are generally regarded as sound source control parameters. The sound source control parameter in such a case is handled as a note control parameter.
[0024]
It is not necessary to perform a process for giving an ensemble effect to all of the note control performance data and the sound source setting performance data, and a process for giving an ensemble effect to a predetermined predetermined thing. Can be done.
For example, for the “note-off message”, the setting value of the note control parameter may be set not to be controlled. The performance data other than the predetermined performance data determined in advance may be copied as it is for a plurality of player systems and output to the tone generator.
Alternatively, performance data other than predetermined performance data determined in advance is output without designating the player system, so that the
[0025]
In the performance
The user performs an ensemble effect setting operation on the variation
Variation values of the note control parameter and the sound source setting parameter to be controlled are provided for each
It is preferable that the variation values of the
[0026]
First, note control parameters will be described. The
The variation values of the individual note control parameters are values that vary from one another. An example of the variation value of the
[0027]
The performance data input from the
In addition, detection timing and phrase detection timing (phrase break) of musical performance for note control (for example, “note on message”) are also detected and output to the fluctuation
[0028]
Time interval between notes, in other words restwhile,More specifically, the timing of the break in the note string is detected by determining whether the time interval from the note-off timing of the previous note to the note-on timing of the next note is equal to or greater than a predetermined threshold. , This is determined as the break of the phrase. The predetermined threshold described above can be adjusted by the user. Depending on the performance tempo of the song, there is no particular need to change, but depending on the individual song, it may be desirable to change the threshold value.
Since the phrase is a break at which the musical idea of the music changes, the phrase break may be detected by analyzing the content of the music. Alternatively, if the input performance data includes information indicating the breaks between phrases in advance, this may be used.
[0029]
When it is detected that the inputted performance data is performance data for predetermined note control, the variation
Exemplifying the first player, every time predetermined performance data for note control (for example, “note on message”) of the same type is detected (that is, every time a note is detected), the note control parameter a (for example, note-on timing) fluctuation value a11, A12, A13, A14Are selected sequentially. The variation values vary from one another, and the variation value of the note control parameter a varies in the form of variation for each
[0030]
When the performance
For example, the fluctuation value a is added to the control value of the input musical note control performance data.11, Atwenty one, A31, ..., aN1Are respectively added or multiplied, respectively, to newly set a predetermined note control parameter control value for each
The appropriate one is used for the addition or multiplication depending on the note control parameter to be controlled. Operations other than addition or multiplication may be performed.
The performance
[0031]
Accordingly, the performance
Note that the fluctuation
The variation
For example, when the variation value of the note control parameter a of the first player is detected, a sequence of different variation values a ′ when a phrase is detected.11, A '12, A '13, A '14Switch to.
[0032]
Further, the musical characteristics of the phrase may be analyzed by the performance
Specifically, the pattern of the tone values in the phrase, that is, a melody pattern (pitch pattern), a change pattern of note-on timing, or a rhythm pattern of strong beats and weak beats, for example, If the pitch pattern is Yamagata, the fluctuation value of the peak portion is reduced, or the fluctuation value of the beat position corresponding to the back beat of the tone value pattern is increased.
Since the phrase type cannot be determined until the phrase starts, the phrase type cannot be determined in advance when the
[0033]
The performance tempo information is also used as a control input to the fluctuation
The performance tempo information is the performance tempo of the input MIDI sequence. The tempo information is included in the performance data output from the
[0034]
Next, a case where the input performance data is sound source setting performance data that uniformly controls the musical tone characteristics of all the notes processed by each player element will be described.
The performance
The performance
The variation
[0035]
The performance
Accordingly, the performance
[0036]
The input sound sourceSettingWhether to add or multiply the set values of the performance data for use by adding or multiplying fluctuation values to the new sound source control parameter control values for each
If the input performance data for a predetermined sound source setting is for setting a plurality of sound source setting parameters at the same time, it is determined in advance which of the plurality of sound source setting parameters may be varied (a plurality may be set). Just keep it.
[0037]
Since the sound source setting parameters do not need to be changed with time, it is not necessary to vary the fluctuation value every time the performance data for sound source setting is input or to control the fluctuation value according to the performance tempo information. Also good. However, the fluctuation value of the sound source setting parameter is also dynamically given appropriate variation every time a phrase is detected or by switching to a different fluctuation value sequence (take) according to the type of phrase. Also good.
Once the performance data for sound source setting is output to the
Therefore, the performance
[0038]
As a transfer interface from the performance
In the subsequent processing, the output performance data can be subjected to various note control or sound source setting individually for each
When the
[0039]
When the
If the
Some
[0040]
Next, a specific example of ensemble effect setting information will be described using MIDI data as an example.
The musical data for note control includes, for example, “note on message”, “note off message”, “polyphonic key pressure message”, and the like.
The “note-on message” instructs the sound source to control the note-on timing, note number (pitch), and velocity (on-velocity), which are note control parameters.
The “note-off message” instructs the sound source to control the note-off timing, note number (pitch), and velocity (off-velocity).
The “polyphonic key pressure message” controls the musical tone characteristics of a specific note that is sounding by designating the note number (pitch) of the note. The pressure value of the “polyphonic key pressure message” is originally controlled by the sound source control parameters such as pitch, filter cutoff frequency, volume, low frequency oscillator pitch depth, filter depth, amplitude depth, etc. A value can be assigned.
[0041]
On the other hand, the sound source setting performance data includes, for example, “program change message” and “control change message”.
In the “program change message”, a tone color parameter which is one of sound source setting parameters is controlled by designating a voice (tone color) number.
By setting values such as “attack time” and “vibrato delay” using “non-registered parameter number” (hereinafter referred to simply as NRPN) of “control change message”, It is possible to set an envelope rising time and a delay vibrato start timing, which are one of setting parameters.
It is possible to set various sound source setting parameters such as an envelope relationship, a vibrato relationship, a low-pass filter relationship, and an equalizing (frequency characteristic of a musical sound signal) relationship, not limited to the above-described example.
In the above description, the note control parameter and the sound source setting parameter have been described separately. However, the sound source control parameter such as “delay vibrato start timing” is used for the note, the sound source setting, or both. be able to. Of course, when performance data can be defined according to its own rules, the above-mentioned “polyphonic key pressure message” is used in the current MIDI standard, or FIG. What is necessary is just to take the method mentioned later with reference.
[0042]
FIG. 2 is an explanatory diagram illustrating an example of a storage form of ensemble effect setting information.
The ensemble effect setting information includes a player character and a player character modification value, and is set for each of one or more note control parameters and one or more sound source setting parameters. These are stored in advance in an external storage device such as a ROM (Read Only Memory) or a hard disk.
For example, it is assumed that player characters 11a, 11b, 11c, and 11d are prepared for each
The player character is represented by a variation value with respect to the control value of the note control parameter or a variation value with respect to the sound source setting value of the sound source setting parameter. This variation value is defined as an offset (addition value) or magnification (weighting factor) given to the control value of the note control parameter or the setting value of the sound source setting parameter.
[0043]
The player character 11a of the note control parameter a has one or a plurality of variation value sequences (takes) for each of the
Each time a phrase is detected, reading of the initial value (first value) of the next take column (row in the figure) is designated, and predetermined note control performance data corresponding to the note control parameter a is specified. Is detected in order (in the horizontal direction in the figure).
For example, in the case of a “note on message”, when a note in one phrase is detected, a variation value is selected according to the order, for example, the value of the note on timing is varied. In the case of other predetermined note control performance data, when the predetermined note control performance data is detected, the value of the predetermined note control parameter is changed by selecting the change value according to the detection order.
[0044]
Each time the phrase changes, the take number is switched in turn. When the last take number has been selected, the first take number is restored.
Instead of sequentially switching take numbers, multiple takes corresponding to the phrase type are stored in advance, the phrase type is determined by analyzing the input performance data, and the take number appropriate for the determined phrase type May be selected.
Thus, the player character for each note gives the player's personality to the variation of the variation value given each time predetermined performance data for note control is input.
[0045]
The player character modification value further changes the variation value selected by the player character, and allows the user to arbitrarily set the value. A uniform modification value is used for each
In the specific example described with reference to FIG. 11 and subsequent drawings, the offset value added to the value set by the player character, and the exaggeration coefficient multiplied by this added value are the modification values. The modification value may be changed using the performance tempo as a variable. In FIG. 1, the variation
Note that the player character modification value may be one offset value and one exaggeration coefficient that are commonly used by the
Further, the offset value and the exaggeration coefficient value are examples of player character modification values, and any value that modifies the player character can be used with respect to the variation value given as the player character. Any operation may be performed.
[0046]
On the other hand, there are player characters 11c and 11d and player character modification values 12c and 12d for each of the
Sound source setting parameters such as “Program Change Message” are considered to be relatively insignificant for the ensemble effect, so in the example shown in the figure, it does not change depending on the input sequence number of the sound source setting performance data in the phrase. Although it is a single variation value, it may be changed.
Also, a plurality of takes are prepared, but one take is sufficient if the take is not changed for each phrase detection, or if the take is not changed depending on the type of phrase.
[0047]
Once the sound source setting parameter is set in the
Specifically, the sound source setting value included in the predetermined sound source setting performance data for which input was detected last is held, and adjusted with a new take fluctuation value or a player character modification value. The performance data for sound source setting having the determined value as a new sound source setting value is generated and output to the sound source device.
[0048]
Among the sound source setting parameters, the continuity of the numerical value does not necessarily mean the continuity in the content of the sound source setting parameter, for example, like a timbre number. In such a case, varying the control value according to the variation value means giving a variation in the content of the sound source setting parameter such as changing to an approximate tone color. Therefore, the fluctuation value is not necessarily a value that is added to or multiplied by the original control value.
[0049]
In the example shown in FIG. 2, player characters are assumed to be stored in advance by the number N of player lines, but actually, the number N of player lines is a value arbitrarily set by the user. Therefore, the player character shown in the figure is stored for each value of the player system number N, and the player character is automatically set when the user sets the player system number N.
Alternatively, a sufficiently large number of player characters may be created and stored in advance, and the user may select any
First, the user arbitrarily selects the
It is assumed that the ensemble effect setting information described above is set in the storage device in advance before the performance data is input. However, the setting may be changed during the performance of the song. For example, the number of player lines or the player line to be selected may be changed during the song. In the middle of the song, the player character modification value may be changed, and for example, the degree of variation may be controlled by changing the exaggeration coefficient value.
[0050]
In the illustrated example, the player character stores player characters (variation values) corresponding to a plurality of note control parameters and a plurality of sound source setting parameters in association with each
When there is a correlation between the note control parameters and between the sound source setting parameters due to the same player, the individuality of the player is reflected in detail by storing them in such a set.
The user designates a player and selects a variation value of each note control parameter and sound source setting parameter of the player.
However, for note control parameters and sound source setting parameters with little correlation, a player character may be stored for each parameter, and the user may arbitrarily determine a combination of player individualities. For example, the player character (variation value) in the note control parameter group and the player character (variation value) in the sound source setting parameter group may be stored separately as a set.
[0051]
The variation values of the note control parameters and the tone generator setting parameters of the
On the other hand, as the variation value of the sound source setting parameter, it is also possible to use a variation created based on a characteristic pattern of variation in musical tone characteristics unique to musical instruments of the first to Nth same musical instruments used in actual performance.
[0052]
FIG. 3 is an explanatory diagram showing a specific example of performance data generated for each player in the block diagram shown in FIG.
FIG. 3A shows the control value of the note-on timing for each note of the “note-on message” detected by being input to the performance
When the
On the other hand, when the
[0053]
The variation
Note that among the plurality of “note-on messages” that are output, there may be those that have the same control value as the control value that the input “note-on message” has. At this time, the variation value is zero. Such a player is meaningful as a player of individuality who performs a performance that is exactly the same as the score.
If the control values of the note number and velocity (on velocity) in the “Note On Message” cannot be varied, these control values are used as they are for the “Note On Messages” of the
[0054]
When the performance data is real-time MIDI data, the
However, when the fluctuation value is added to the note-on timing of the input “note-on message”, the fluctuation value may be negative (timing is returned to the past direction). For this reason, when the performance
[0055]
FIG. 3B shows a non-registered parameter number (hereinafter referred to as “CCM-NRPN”) which is a kind of a predetermined “control change message” detected by being input to the performance
In this case, the fluctuation
The predetermined “CCM-NRPM” of the
[0056]
When a predetermined “CCM-NRPM” accompanied by event generation timing data is output, in principle, the value of the event generation timing is set to the same value as the event generation timing for the input “CCM-NRPM”.
As described above with respect to the “note on event message”, since the event generation timing data has various description formats, the performance
It should be noted that among the plurality of predetermined “CCM-NRPM” to be output, there may be one having the same control value as the control value which the input “CCM-NRPM” has.
[0057]
FIG. 3C shows the control value of the note-on timing for each note of the “note-on message” detected by being input to the performance
In response to the detected “note on message”, a “note on message” is simply output as shown in FIG. 3 (a), or as shown in FIG. It may be determined in advance whether or not the note control parameters can be varied.
[0058]
The performance
Of the plurality of “note-on messages” that are output, there may be those that have the same control value as the control value of the input “note-on message”. Among the plurality of “CCM-NRPM” to be output, there may be one in which the control value of the delay vibrato start timing is zero.
[0059]
If the “CCM-NRPM” shown in FIG. 3C is output at a timing before the “note on message”, the notes after the note that is pronounced by the “note on message” are displayed. In contrast, the delay vibrato start timing can be controlled. Thereafter, every time the same “note-on message” + “CCM-NRPM” or single “CCM-NRPM” is output, the delay vibrato start timing varies.
However, since this “CCM-NRPM” uniformly controls the musical tone characteristics of all the notes processed by each player element, the individual notes controlled by the “note on message” are further converted into “CCM-NRPM”. "Is also controlled.
Similarly, instead of the delay vibrato start timing illustrated in FIG. 3C, “CCM-NRPM” for controlling other note control parameters for controlling musical tone characteristics such as volume and vibrato speed, By simultaneously outputting together with “ON message”, performance data that is output from a predetermined value may be output simultaneously every time “NOTE ON MESSAGE” is detected.
Alternatively, using “polyphonic key pressure message” instead of “CCM-NRPM”, the note number of a note that is pronounced by “note on message” is specified, and its musical tone characteristics are controlled. It may be performance data. Since the “Polyphonic Key Pressure Message” controls the notes being played, the “Polyphonic Key Pressure Message” that is output is the “Note On Message” and after that that is output. Output at the timing of.
[0060]
In FIG. 3C, when the “note on message” is input, other performance data is output in addition to the “note on message”. However, newly defined performance data may be output as a collection of such two performance data. Also in this case, substantially two note control performance data are output. In this way, even if the sound source control parameter is originally a sound source control parameter, the sound source control parameter can be controlled for each note sounded by the “note on message”, and the control value can be varied. As a result, it can be made to function reliably as a note control parameter.
In the MIDI standard, there is a limitation in newly defining performance data, but in the original standard, such performance data can be arbitrarily adopted.
As a special case of the specific example of FIG. 3C, the input “note on message” uses the control values of the input “note on message” as they are. The other predetermined musical note control performance data may have different control values for each of the
[0061]
Among the various note control parameters and sound source setting parameters described above, it is considered that the variation in note-on timing is considered to have the most influence on the ensemble feeling.
Therefore, in the following description, a case where variation is given only for the note-on timing will be described in detail as a specific example. The pitch of the musical sound signal performed by the performance data of each player is output while maintaining the same (unison) state.
FIG. 4 is a first explanatory diagram showing measured values of variation in note-on timing when playing an acoustic violin. This is an ensemble of four
In the figure, the vertical line indicates the regular note-on timing position of the beat, and the center of the note head of each
[0062]
The note-on timings of the first to fourth beats vary from the normal note-on timing.
The
In addition, when the
Thus, the variation fluctuates depending on the order of the notes in one phrase from the start of the performance. Even during the performance, there was the same tendency as the start of the performance after the rest after a predetermined time has elapsed from the previous note.
The rest time length that can be seen in the same way as the start of performance is several hundred milliseconds or more, and the influence of the performance tempo is small.
[0063]
FIG. 5 is a second explanatory diagram showing measured values of variation in note-on timing when playing an acoustic violin.
The vertical axis is the deviation value [ms] when the note-on timing of the beat according to the score is 0, which means that a positive value is delayed and a negative value is advanced (protruded). The horizontal axis indicates the timing of each of four beats, that is, four eighth notes. The note-on timing interval of an eighth note is 500 [ms].
The performance conditions are the same as in FIG. 3 and show the results of multiple takes obtained by performing the same performance multiple times.
FIG. 5A to FIG. 5D show the shift in note-on timing for each
From this figure, it can be seen that even for the same player, the shift in note-on timing varies greatly from take to take.
[0064]
A note-on timing deviation measured by a plurality of players as shown in FIG. 5 is used as it is or further processed to form a “timing sequence”.
In the variation
Since the fluctuation value changes in the order of notes in the phrase from the start of performance (in time series), the fluctuation value is set by sequentially switching and selecting the note-on timing fluctuation value for each note detection in the phrase. To do. Even during the performance, after a rest of a predetermined time or more, it is considered that the performance of a new phrase starts.
Therefore, the note-on timing of the output “note-on message” is an algorithm that realizes the variation in the variation value of note-on timing for each player, and the variation value is given based on the input note-on timing. The variation value is varied every time a note is detected, and is reset to the variation value for the first note every time a phrase is started.
[0065]
Takes performed by such a large number of players are measured a plurality of times, and a “timing sequence (multiple takes)” is stored for each player. When the user selects the number of players, the number of “timing sequences (multiple takes)” corresponding to the number of players is selected and used.
However, since the feeling of ensemble also changes depending on the number of players N, it is desirable to use what is measured by performing an actual performance for each number N of players. At that time, it is also possible to analyze the characteristics of those measured with a predetermined number of players and process the measured values as appropriate to create “timing sequence” data for each number of players.
[0066]
Since the variation value of timing varies depending on the take, the above-mentioned “players timing sequence” data is stored for a plurality of takes such as
At that time, since the ensemble feeling is obtained by the interaction when multiple players perform together, the “players timing sequence” of each
Apart from such a selection method, if one take measured by performing an actual performance is stored for each phrase type classified by the phrase feature pattern, the performance
[0067]
Note that the number of fluctuation values in the “timing sequence” is the same as the number of notes in one phrase. However, the number of notes in one phrase varies from song to song.
For example, one phrase does not necessarily consist of four notes. When the number of notes is three notes or less, the “timing sequence” may be reset to the initial value by the end of one phrase. However, even when the phrase is longer than four notes, the sequence data must be continuously supplied.
[0068]
FIG. 6 is an explanatory diagram of a method of using a timing sequence when a phrase continues for a long time.
The number of notes in one phrase of the “timing sequence” is 4, and the order number of the variation value of the note-on timing for the first to fourth notes of the sequence data (same as the order number of the notes) is a number from 1 to 4. Represented by
For a certain take (row), the variation value for each note in the phrase is 1 → 2 → 3 → 4 → 3 → 2 → 3 → 4 → 3.
In the figure, the bar graph represents the strength of beats in a general song. The first beat is the strongest, the third beat is the following strength, and the second and fourth beats are weak.
As described with reference to FIGS. 4 and 5, the first first note after the start of the performance and after the rest has a particularly large fluctuation value, so it is not preferable to use it again in the middle of the phrase. Further, one phrase has a beat intensity as shown in the figure, and it is also inferred from the actually measured values in FIG. 5 that a shift in note-on timing is also related to this intensity. Therefore, the fluctuation value of the note-on timing is reused in consideration of the strength of the beat. As a result, the sequence shown in FIG. 6 is obtained.
[0069]
The above description relates to the setting of the player character shown in FIG. This player character is further adjusted by setting the player character's modification value. The user adjusts the variation value based on the actual measurement by designating these modification values.
Here, when the performance tempo is fast, the variation value of the note-on timing tends to be small. Therefore, the timing exaggeration coefficient value that can be said to be a modification value of the deviation ratio of note-on timing depending on the performance tempo.1To control.
FIG. 7 shows the performance tempo (fTempo) and note-on timing timing exaggeration coefficient values.1It is a graph which shows the relationship with (fTempoTimingExp). Two bending points are provided.
When performance tempo is 60 to 120, timing exaggeration coefficient value1Is 1 time. Timing exaggeration coefficient value as performance tempo becomes 120-2401Is gradually reduced to 0.5 times. When the performance tempo is 240 or higher, the timing exaggeration coefficient value1Is 0.5 times.
[0070]
In the above description, the variation
Therefore, a method of giving the variation given to the control value by using a random number together will be described. In this case, the reality of the ensemble feeling is lowered, but it is not necessary to collect and store a large number of actually measured data.
FIG. 8 is a block configuration diagram showing a form in which the variation with respect to the note control parameter is obtained by using a random number together with the measured data of one take.
21 is a
[0071]
When a specific note-control performance data, in this specific example, “note-on message” is input and detected for the first time, the setting
Each time a “note on message” is detected, the setting
In order to simplify the explanation, it is assumed that the phrase detection timing is input immediately before the note detection timing. Each time the phrase detection timing is detected, the setting
[0072]
The output of the
Since the
[0073]
The output of the
The same applies to the note-on timing variation value for the
Note that the
[0074]
In the above description, in order to increase the reality of the ensemble feeling, at least one take (row) table based on actual measurement is used for each player.
In order to simplify the configuration, instead of the
Furthermore, for simplification, instead of the
[0075]
Although the functional configuration of the performance data processing method of the present invention has been described above, the performance
FIG. 9 is a first explanatory diagram showing a specific example of the performance data processing method of the present invention.
FIG. 9A is an explanatory diagram when the present invention is embodied as an editing function in a sequencer.
FIG. 9B is an explanatory diagram when the present invention is embodied as a front-end processor for MIDI events.
FIG. 9C is an explanatory diagram when embodied as a sound source driver function module.
[0076]
In FIG. 9A, a song
The performance
The format of the performance data is “event + relative time”, which is the time from the previous event, indicating the time of the performance event, as in SMF, and the time of the performance event in absolute time within the song or measure. "Event + absolute time", note pitch and note length, rest and rest length of performance data "pitch (rest) + note length", memory area for each performance minimum resolution Any format may be used, such as a sequencer software original format such as “solid method” in which performance events are stored in a memory area corresponding to the time at which a performance event occurs.
[0077]
The performance
When “note on message” is input, the timing data of “note on message” for the number of players to be output is, for example, the timing value of “note on message” input for each player. Is determined by adding different variation values to. At that time, when specifying the event timing using relative time, there are as many “note-on messages” as the number of players to be output, so calculate the relative time according to the event timing when they are output. become.
[0078]
The performance data stored in the song
When the song
The music
Since it is not real-time processing, there is no particular problem even when the note-on timing of the output “note-on message” is earlier than the note-on timing of the input “note-on message”. Moreover, after determining the phrase type, the setting of the ensemble effect in the phrase can be controlled.
[0079]
Next, a case where the present invention is embodied as the MIDI event front-end processor device shown in FIG. 9B will be described.
The
The performance
The performance part and the player may be identified by, for example, a MIDI channel number.
[0080]
The
Since the note-on timing of the output note-on message is a past time than the note-on timing of the input “note-on message”, a predetermined processing delay is applied. Need to be tolerated. Alternatively, the negative time series offset may be uniformly converted to 0 to maintain the real time property.
The same applies to the case where performance data output from the keyboard of an electronic musical instrument incorporating the performance
Similarly, if the
If the performance
[0081]
Next, a case where the performance
The
The performance
Even in this specific example, since the
[0082]
FIG. 10 is a second explanatory diagram showing a specific example of the present invention.
It is explanatory drawing in the case of implementing as a sound source driver function module inside a playback sound source.
The playback sound source is a sound source in which event processing is performed prior to actual sound generation timing. More specifically, when the one note (note) that is currently sounding ends, when the next note (note) starts, it is sent to the sound source device in advance, and it is not limited by the causality of time. This is a sound source device that can realize the performance method (articulation). For example, it is a “waveform generation device” described in Japanese Patent Application Laid-Open No. 2001-100780.
[0083]
In the figure, 46 is a playback sound source device, 46a is a music data reproduction processing unit with performance style, 46b is a score interpretation processing unit, 46c is a performance data processing unit, 46d is a performance style synthesis processing unit, 46e is a waveform synthesis processing unit, and 46f is It is a waveform output processing unit.
The music
The rendition style music data
[0084]
The performance
Accordingly, the ensemble effect setting for the number of players is made in advance, and the musical note control performance data or the sound source setting performance data after the score interpretation processing is input, and the musical performance control data or sound source setting for a plurality of players is input. Performance data is output. The musical note control performance data or the sound source setting performance data to be output is given variations with respect to the input control values.
[0085]
The rendition style
The waveform
[0086]
The waveform
In this specific example, since real-time processing is not performed, the note-on timing of the output “note-on message” is a time that is earlier than the note-on timing of the input “note-on message”. There is no particular problem. Also, the phrase type can be determined, and the setting of the ensemble effect in the phrase can be controlled.
[0087]
As described above, a plurality of specific examples of the performance data processing method of the present invention have been described with reference to FIGS. 9 (a) to 9 (c) and FIG.
The performance
Alternatively, a unique hardware board that is equipped with a CPU and is close to the architecture of a personal computer is designed, and a dedicated program for controlling the CPU is stored in the ROM, and a sequencer device or a dedicated electronic musical instrument with a sequencer function As described above, the present invention may be realized.
[0088]
The performance
In the case of the performance
[0089]
Next, a specific example of the ensemble effect setting operation performed by the user in the embodiment of the performance data processing method of the present invention will be described.
This setting operation is premised on the case of the sound source driver function module in the playback sound source device 46 as shown in FIG. However, the same applies to the editing function of the sequencer shown in FIG. 9A, the MIDI event front-end processor shown in FIG. 9B, or the sound source device shown in FIG. 9C. Applicable to.
[0090]
FIG. 11 is an explanatory diagram of a setting screen for outputting performance data having a feeling of ensemble.
In the figure, 51 is a player setting screen displayed on the display of the personal computer, 52 is a left pane for displaying the structure of the orchestra, and 53 is a right pane for setting the player (for one player).
In the performance data processing apparatus of the present invention, the control parameters of the sound source are managed in the form of an orchestra (performance).
This performance (orchestra) is hierarchically defined and can be edited by the user. The hierarchy is displayed in the
[0091]
The performance “Default” includes a plurality of parts “Default0”, “Default1”, “Default2”,..., “Default7”. Each part is assigned one voice (Voice: instrument tone). For example, there are voices such as first violin, second violin, viola, cello, contrabass,
Note that the names in “” described above are default names of the names given to the respective parts, and the user can give any name.
One or a plurality of players (Instrument) are assigned to the voice. “Default0-0” and “Default0-1” are the names of the two players of the voice “Default0”.
When the voice is a “section voice”, a plurality of players can be assigned. In the case of “Solo”, only one player is assigned. “Default0” shown in the figure is a section voice, and the number of players is set on another screen (not shown).
[0092]
By selecting the player “Default0-0” in the
55 is a “player tone number (Instrument Sample Number)” that designates the player's tone, 56 is a “timing sequence number” that designates the player's player timing (performance performance), and 58 is a timing offset coefficient (TimingOffset). ), 59 is a timing exaggeration coefficient (TimingExpand, hereinafter, this value is a timing exaggeration coefficient value)2Are input units for inputting each of them.
[0093]
In the example shown in the figure, a method is used in which a player's character is set by a combination of two settings: a tone color setting of a musical instrument played by the player and a player's performance setting.
In other words, the “player tone number (Instrument Sample Number)” that defines the tone color of the player that is input and set in the
Of course, it is also possible to simultaneously set the timbre and the character of the performance action only by the “timing sequence number”. In FIG. 1 to FIG. 10 described above, both characters are set with
As shown in FIG. 11, when the player numbers are independent of the tone color relationship and the performance operation relationship as shown in FIG. 11, the note-on timing variation value control in FIGS. The variation value is determined by the “sequence number (Timing Sequence Number)”.
[0094]
The variation in note-on timing is a timing table number set on a parameter setting screen (not shown). A set of timing sequences of multiple players is selected, and the standard “variation” is determined by the “Timing Sequence Number”. ”Pattern” is designated and the timing offset and the timing exaggeration coefficient value as the “player character modification value” input to the
By this modification, the standard “variation pattern” can be adjusted to the user's preference.
In this screen, the setting operation is also performed for other sound source control parameters related to a certain player, but since it is not directly related to the present invention, illustration and description are omitted.
[0095]
Next, what kind of processing the fluctuation
FIG. 12 is a parameter configuration diagram for explaining various parameters and their interrelationships.
Parameters relating to performance (orchestra) are compiled as performance pack data 61. In this figure, only those relevant to the present invention are shown. The variation values of the note-on timing are collected in the timing data 71.
The performance data 62 includes an orchestra name, part data 63, and the like. Each part can have a maximum of 32 parts. Each part has a voice number set by voice #, and is converted into an entity (voice data 65) by the voice table 64.
[0096]
An example of voice data whose voice number is voice0 includes a voice name (Default0), a timing table number (tbl #), element data 66, and the like. It can have a maximum of 32 element data 66, and each element data 66 has an instrument number set by inst. #, And is converted into an entity (instrument data 68) by the instrument table 67. .
Taking an example of the instrument data 68 whose instrument number is inst. Instrument sample number, timing sequence number, timing offset, timing exaggeration coefficient value2, Etc.
Where instrument sample number, timing sequence number, timing offset, timing exaggeration coefficient value2Is specified by the user on the setting screen shown in FIG.
[0097]
On the other hand, the timing data 71 has a timing table 72 and timing table data 73.
The timing table number (tbl #) in the voice data 65 is converted into an entity (timing table data 73) by the timing table 72. The timing table data 73 includes 32 types of 0.tbl to 31.tbl, and each has a timing sequence table, a timing exaggeration coefficient table, and the like.
As for the timing table 0.ttb, in the [timing sequence table] section, the timing sequence number designated by the user is converted into any entity of 0 = x0, 1 = x1,..., 31 = x31. Here, only two players of x0 and x1 are shown, but actually, a maximum of 32 players are prepared. Here, 0 to 31 on the left side are values of the timing sequence number of the instrument data 68, and in FIG. 11, the Timing Sequence Number is designated. Each player x0, x1,..., X32 has NUMSERIES take (row) defined for each. [x0] has four takes (columns) 0 to 3.
Each take constitutes a sequence of timing sequences composed of variation values representing the deviation of the sounding timing of NUMTIMINGS notes defined in each take. The method of using the variation values in this timing sequence has already been described with reference to FIG.
[0098]
In the timing exaggeration coefficient table in the timing table data 73, the timing exaggeration coefficient value for the tempo as shown in FIG.1(NUMTABLE is the number of break points in the table and corresponds to the inflection point in FIG. 7). The
The timing offset coefficient is not corrected for the tempo.
[0099]
The timing table data of a plurality of voices of the same instrument tone color may be combined into one timing table data 73. For example, the
Further, the timing table data of each of a plurality of voices may be combined into one timing table data 73 for each voice category. For example, timing table data for brass,
[0100]
Next, the timing processing will be specifically described with reference to the parameters shown in FIG. 12 and the flowcharts of FIGS.
FIG. 13 is a flowchart for explaining the timing setting process.
In S81, the tbl # is read by referring to the timing table number in the voice data 65 (indicated as voiceO in FIG. 12).
In S82, the corresponding one of 0.ttb to 31.ttb of the timing table data 73 assigned to tbl # of the timing table 72 is read. FIG. 12 shows the contents of 0.ttb.
In S83, the instrument number inst. # Of the element data 66 is read. The timing sequence number, timing offset, and timing exaggeration function specified by the user in the corresponding instrument data 68 inst.0 to inst.127 assigned to inst. # Of the instrument table 67 Numeric2Is read. FIG. 11 shows the contents of inst.0.
[0101]
In S84, in accordance with the timing sequence number, the timing sequence table in the corresponding one of 0.ttb to 31.ttb of the timing table data 73 assigned to tbl # of the timing table 72 is drawn. Reads the NUMSERIES and NUMTIMINGS values of the timing sequence described in the section (corresponding to x0, x1, ..., x32) with the same name as the character string shown in the timing sequence table, and also reads the fluctuation values and stores them in memory. To store.
Here, NUMSERIES means the total number of columns, and in the example shown in the figure, there are four
In FIG. 12, the content of the timing sequence of
In S85, the tempo and the corresponding timing exaggeration coefficient value of the timing exaggeration coefficient table in the corresponding timing table data1Is read.
[0102]
Next, FIG. 14 is a flowchart for explaining timing reproduction processing. This process is entered when a Note is detected.
In S91, it is determined whether or not a rest is detected. If a rest is detected, the process proceeds to S92. If not, the process proceeds to S94. Here, a rest means a state in which there is no note-on even when a predetermined time or more has elapsed since the note-off.
In S92, the phrase number (nPhrase) is counted, and the process proceeds to S93. However, before the count is advanced, if the phrase number (nPhrase) is equal to or greater than (NUMSERIES-1), it is reset to 0. Alternatively, if nPhrase exceeds NUMSERIES-1 when the count is advanced, it is reset to 0.
[0103]
In S93, the in-phrase order is set to zero.
As described with reference to FIG. 6, S95 is a process for changing the order in the phrase from 0 → 1 → 2 → 3 → 4 → 3 → 2 → 3 → 4.
Advance the count of the order in the phrase by +1. However, if the in-phrase order has reached (NUMTIMINGS-1) before the count is advanced, the count is reversed by 1 thereafter. If it returns to 1 before returning the count, the count is incremented by +1 again.
[0104]
In S96, a timing shift (offset) is obtained.
Timing deviation (offset) =
(Timing data obtained by giving the phrase number and the order in the phrase and then timing the sequence)
+ (Timing offset assigned to each player)
It is.
S97 is a timing exaggeration coefficient value corresponding to the tempo, as described with reference to FIG.1Is a process for obtaining. Value obtained by interpolating the tempo vs. timing exaggeration coefficient table using the current tempo fTempo (timing exaggeration coefficient value obtained by giving the current tempo1)
[0105]
In S98, a timing exaggeration coefficient is obtained.
Timing exaggeration factor =
(Timing exaggeration coefficient value obtained by giving the current tempo1)
* (Timing exaggeration factor value assigned to each player2)
It is. The symbol “*” is a multiplication symbol.
In S99, final note-on timing after adjusting (timing deviation) and (timing exaggeration coefficient) for each player is obtained. That is,
NoteOnTiming after adjustment =
NoteOnTiming + (timing deviation) * (timing exaggeration factor)
In this way, in addition to the timing variation obtained from the selected timing sequence, the timing offset and timing exaggeration coefficient set for each player are used, so that various timing variations can be provided for each player. it can.
In the above-described calculation, (timing offset) is added to (timing data obtained by giving a phrase number and the order in the phrase) and then multiplied by (timing exaggeration coefficient). The calculation may be performed by multiplying (timing exaggeration coefficient) by (timing data obtained by giving an order) and then adding (timing offset).
[0106]
Further, in the above-described calculation, the values of (timing deviation) and (timing exaggeration coefficient) are values set in the performance
That is, in S96, (timing offset controlled by performance data) is added. And / or in S98 (timing exaggeration coefficient controlled by performance dataThree).
Although the example of the flowchart described above relates to note-on timing, such dynamic control by performance input can be performed by specifying any note control parameter and sound source setting parameter to be controlled. Applicable to configuration parameters. Furthermore, it can be applied to an arbitrary note control parameter by specifying a note to be controlled.
[0107]
In the above description, an instrument (player) is defined for each voice. The user designates a player after designating a voice (instrument timbre), whereby a variation value having a variation mode that differs for each player is set in a predetermined note control parameter. If the instrument timbre is different, it is possible to set variation variation suitable for each instrument (timbre) by giving an independent character to the player's character.
On the other hand, since the same player may play different instruments, that is, for the
[0108]
In the specific example of the processing with reference to FIGS. 12 to 14, when a certain voice is converted into a plurality of players, the user determines the number of players who participate in the session (ensemble). Next, the timing sequence (4 takes) for the number of participants is selected from the timing sequence (4 takes) for 32 people.
Instead of this, a timing sequence (for four takes) may be selected for each combination of specific players including the number of players. In this case, it is possible to give a variation value in which the correlation of performance between individual players is strictly reflected.
[0109]
In the specific example of the processing with reference to FIG. 12 to FIG. 14, the timing offset and the timing exaggeration coefficient are used as the offset modification value of the player character with respect to the variation value generated based on the timing sequence that varies for each player. It was set for each player.
Instead, the offset modification value may be a control parameter common to all players. That is, the user may set the timing offset and the timing exaggeration coefficient collectively for each session.
In the above description, an ensemble effect is given to one part (one voice). Alternatively, by assigning different voices to the players, the performance data can be processed so that musical sound signals can be synthesized when a plurality of players belonging to different parts (voices) perform.
[0110]
In the above description, the performance
However, the user may set the number of player lines to 1 or the number of player lines may be fixed to 1 in advance. In this case, a performance data processing method, performance data processing program and performance data processing device for outputting note control performance data and sound source setting performance data for a single player that can be used to add individuality to a solo performance This is a music signal synthesis method. At that time, by giving a strong character to the individuality of the player, performance data that is self-asserted can be output. On the other hand, when adding an ensemble effect, it is better to weaken the player's personality.
[0111]
The performance data to be processed in the present invention is considered on the premise that it is performance data according to the score, but this premise is not necessarily required. Whatever the performance data is input, it is possible to add a feeling of ensemble or add a unique expression based on this.
The performance data processed in the present invention is not limited to performance data for electronic musical instruments. It may be performance data of a personal computer having a built-in sound source, a karaoke device, a game device, or a portable communication terminal such as a mobile phone having a ringing melody sound source. When performance data is processed by a personal computer or a portable communication terminal connected to a network, the performance data processing function of the present invention is not limited to the terminal side alone. The function of the present invention may be realized as an entire network system including a terminal and a server.
[0112]
【The invention's effect】
As apparent from the above description, the present invention has an effect that it is possible to generate performance data capable of synthesizing musical sound signals having a realistic ensemble due to differences in the individuality of players with simple settings.
[Brief description of the drawings]
FIG. 1 is a block configuration diagram showing an embodiment of a performance data processing method of the present invention.
FIG. 2 is an explanatory diagram showing an example of a storage form of ensemble effect setting information.
FIG. 3 is an explanatory diagram of a specific example in which performance data is generated for each player in the block configuration diagram shown in FIG. 1;
FIG. 4 is a first explanatory diagram showing measured values of variation in note-on timing when a performance is performed using an acoustic violin.
FIG. 5 is a second explanatory diagram showing measured values of variation in note-on timing when a performance is performed using an acoustic violin.
FIG. 6 is an explanatory diagram of a method of using a timing sequence when a phrase continues for a long time.
FIG. 7 is a graph showing a relationship between a performance tempo (fTempo) and a first timing exaggeration count value (fTempoTimingExp) of note-on timing.
FIG. 8 is a block configuration diagram showing a mode in which variation with respect to a note control parameter is obtained by using a random number together;
FIG. 9 is a first explanatory diagram showing a specific example of the performance data processing method of the present invention.
FIG. 10 is a second explanatory diagram showing a specific example of the performance data processing method of the present invention.
FIG. 11 is an explanatory diagram of a setting screen for outputting performance data having a sense of ensemble.
FIG. 12 is a parameter configuration diagram for explaining various parameters and their interrelationships.
FIG. 13 is a flowchart illustrating timing setting processing.
FIG. 14 is a flowchart illustrating timing reproduction processing.
[Explanation of symbols]
DESCRIPTION OF
Claims (14)
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップ、
を有することを特徴とする演奏データ処理方法。A performance data type detection step of inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined musical sound characteristic for the notes constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note every time the performance data for controlling the predetermined note is detected , the fluctuation value from the first system to the Nth (N is an integer of 2 or more) system. The predetermined musical performance data for note control is detected from each of the systems of which the variation values constituting the variation value sequence of each system have variations and have variations of different modes for each system. each, by selecting the variable value, the variation value setting step of setting a variation value from the first system to the N system integration,
Each time the predetermined note control performance data is detected, a predetermined musical characteristic control value for the note included in the predetermined note control performance data is set in the variation value setting step . A value varied according to the fluctuation value from the 1st system to the Nth system is newly set as a control value of the predetermined musical sound characteristic for the note, and from the first system of the same type as the predetermined musical note control performance data. A performance data output step for generating and outputting performance data up to the Nth system,
A performance data processing method comprising:
ことを特徴とする請求項1に記載の演奏データ処理方法。The predetermined musical tone characteristic for the note is a note-on timing at which the note starts to be sounded,
The performance data processing method according to claim 1, wherein:
ことを特徴とする請求項1または2に記載の演奏データ処理方法。The predetermined musical sound characteristic for the note is a delay vibrato start timing of the note.
3. The performance data processing method according to claim 1, wherein the performance data processing method is performed.
ことを特徴とする請求項1から3までのいずれか1項に記載の演奏データ処理方法。The series of performance data input and the performance data output from the first system to the N-th system are performance data accompanied by timing data.
The performance data processing method according to any one of claims 1 to 3, wherein the performance data processing method is performed.
ことを特徴とする請求項1から4までのいずれか1項に記載の演奏データ処理方法。The variation values from the first system to the N-th system are characteristic patterns of variation in musical characteristic with respect to the notes, which are analyzed when the same music score is simultaneously played by the players from the first system to the N-th system. Created based on
The performance data processing method according to any one of claims 1 to 4, wherein:
前記変動値設定ステップは、複数系統の変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するものを記憶する変動値記憶手段から、前記第1系統から第N系統までの変動値列を予め選択しておき、前記所定の音符制御用演奏データが検出される毎に、選択された第1系統から第N系統までの変動値列の各系統から、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する、
ことを特徴とする請求項1から5までのいずれか1項に記載の演奏データ処理方法。A system number designating step of designating the value of N;
The variation value setting step is a variation value train of multiple lines, variable value change values constituting variation value column of each line stores those having variations in the different embodiments in each system with a variation from the storage means, wherein the first system in advance select variation value train up to the N systems, each time the predetermined note controlling performance data is detected, until the N line from a first line which is selected By setting the fluctuation value from the first system to the N-th system by selecting the fluctuation value from each system of the fluctuation value string of
The performance data processing method according to any one of claims 1 to 5, wherein the performance data processing method is performed.
前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値列を系統毎に記憶しており、
前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する前記第1系統から第N系統までの変動値を選択して設定する、
ことを特徴とする請求項6に記載の演奏データ処理方法。The predetermined note control performance data is one of a plurality of types of note control performance data to be processed,
The variation value storage means stores, for each system, individual variation value sequences for a plurality of types of predetermined musical sound characteristics corresponding to a plurality of types of note control performance data to be processed,
The fluctuation value setting step selects and sets a fluctuation value from the first system to the N-th system for the predetermined musical tone characteristic controlled by the predetermined musical note control performance data from the fluctuation value storage means.
The performance data processing method according to claim 6, wherein:
ことを特徴とする請求項1から7までのいずれか1項に記載の演奏データ処理方法。In the variation value setting step, the variation values from the first system to the Nth system are further adjusted for each system, and the variation values from the first system to the Nth system used by the output step are To
The performance data processing method according to any one of claims 1 to 7, characterized in that:
前記演奏データ出力ステップは、前記所定の音符制御用演奏データが検出される毎に、前記第1系統から第N系統までの前記他の音符制御用演奏データであって、それぞれ、前記音符に対する他の所定の楽音特性の制御値を、前記変動値設定ステップにより設定された前記第1系統から第N系統までの前記他の変動値に応じてばらつかせた値とする演奏データを少なくとも生成して出力する、
ことを特徴とする請求項1に記載の演奏データ処理方法。In the variation value setting step, in addition to the predetermined musical sound characteristic for the note, in order to vary the control value of another predetermined musical sound characteristic for the note every time the performance data for the predetermined note control is detected, Other fluctuation value sequences from the first system to the N-th (N is an integer of 2 or more) system for the other predetermined musical tone characteristics, and constituting the other variation value strings of each system By selecting the other variation value each time the predetermined musical performance for note control is detected from each of the systems having variations and variations having different modes for each system, the first variation value is selected . set the other variation from one channel to the N system integration,
The performance data output step, every time the predetermined note controlling performance data is detected, a said other note controlling performance data from the first system to the N systems, respectively, the other for the note of the control value of the predetermined tone characteristic, at least the generated performance data to a value obtained by fluctuated in response to the another variation value from the first system that is set by the variable value setting step until the N systems Output,
The performance data processing method according to claim 1, wherein:
前記変動値設定ステップは、互いに異なる第1系統から第N系統までの音源設定変動値を、前記所定の音源設定用演奏データが検出されたときに設定し、
前記出力ステップは、前記所定の音源設定用演奏データが検出されたときに、当該所定の音源設定用演奏データが有する前記音源設定値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの音源設定変動値に応じて異ならせた値を、新たに前記音源設定値とし、当該所定の音源設定用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力するものであり、
前記出力ステップが出力する前記第1系統から第N系統までの演奏データを、それぞれ、第1の波形合成エレメントから第Nの波形合成エレメントに対する演奏データとするものである、
ことを特徴とする請求項1から9までのいずれか1項に記載の演奏データ処理方法。The performance data type detection step detects that the input performance data is predetermined sound source setting performance data having a sound source setting value,
The variation value setting step sets sound source setting variation values from the first system to the N-th system different from each other when the predetermined performance data for sound source setting is detected,
In the output step, when the predetermined sound source setting performance data is detected, the sound source setting values included in the predetermined sound source setting performance data are respectively set by the variation value setting step . A value varied according to the sound source setting variation value from the system to the N-th system is newly set as the sound source setting value, and the performance from the first system to the N-th system of the same type as the predetermined sound source setting performance data Generate and output data,
The performance data from the first system to the N-th system output by the output step is used as performance data for the N-th waveform synthesis element from the first waveform synthesis element, respectively.
10. The performance data processing method according to claim 1, wherein the performance data processing method is any one of claims 1 to 9.
ことを特徴とする請求項10に記載の演奏データ処理方法。In the variation value setting step, in order to vary the sound source setting value every time the predetermined performance data for sound source setting is detected, the first to Nth (N is an integer of 2 or more) systems are varied. The predetermined sound source from each of the sound source setting fluctuation value sequences, wherein the sound source setting variation values constituting the sound source setting variation value sequence of each system have variations and variations in different modes for each system. each time the setting performance data is detected, by selecting the tone generator setting change value, and sets the tone generator setting change value from the first system to the N system integration,
The performance data processing method according to claim 10, wherein:
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏デー タが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップ、
をコンピュータに実行させることを特徴とする演奏データ処理プログラム。A performance data type detection step of inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined musical sound characteristic for the notes constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note every time the predetermined note control performance data is detected , the fluctuation value from the first system to the Nth (N is an integer of 2 or more) system. a column, variation values constituting variation value column of each system is one having a dispersion of different embodiments for each line which has a variation from each line of said predetermined note controlling performance data is detected each that, by selecting the variable value, the variation value setting step of setting a variation value from the first system to the N system integration,
Each time the predetermined note control performance data is detected, a predetermined musical characteristic control value for the note included in the predetermined note control performance data is set in the variation value setting step . A value varied according to the fluctuation value from the 1st system to the Nth system is newly set as a control value of the predetermined musical sound characteristic for the note, and from the first system of the same type as the predetermined musical note control performance data. A performance data output step for generating and outputting performance data up to the Nth system,
A performance data processing program for causing a computer to execute.
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定手段と、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定手段により設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力手段、
を有することを特徴とする演奏データ処理装置。A performance data type detection means for inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined musical sound characteristic for the notes constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note every time the predetermined note control performance data is detected , the fluctuation value from the first system to the Nth (N is an integer of 2 or more) system. The predetermined musical performance data for note control is detected from each of the systems in which the variation values constituting the variation value sequence of each system have variations and variations in different modes for each system. each, by selecting the variable value, the variation value setting means for setting a variation value from the first system to the N system integration,
Each time the predetermined note control performance data is detected, a predetermined musical characteristic control value for the note included in the predetermined note control performance data is set by the variation value setting means . A value varied according to the fluctuation value from the 1st system to the Nth system is newly set as a control value of the predetermined musical sound characteristic for the note, and from the first system of the same type as the predetermined musical note control performance data. Performance data output means for generating and outputting performance data up to the Nth system;
A performance data processing apparatus comprising:
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、第1系統から第N(Nは2以上の整数)系統までの変動値列であって、各系統の変動値列を構成する変動値がばらつきを有するとともに系統毎に互いに異なる態様のばらつきを有するもの、の各系統から、前記所定の音符制御用演奏データが検出される毎に、前記変動値を選択することにより、前記第1系統から第N系統までの変動値を設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、前記変動値設定ステップにより設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値に応じて、第1系統から第N系統までの楽音信号を合成し、合成された該第1系統から第N系統までの楽音信号を出力する楽音信号出力ステップ、
を有することを特徴とする楽音信号合成方法。A performance data type detection step of inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined musical sound characteristic for the notes constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note every time the performance data for controlling the predetermined note is detected , the fluctuation value from the first system to the Nth (N is an integer of 2 or more) system. The predetermined musical performance data for note control is detected from each of the systems of which the variation values constituting the variation value sequence of each system have variations and have variations of different modes for each system. each, by selecting the variable value, the variation value setting step of setting a variation value from the first system to the N system integration,
Each time the predetermined note control performance data is detected, a predetermined musical characteristic control value for the note included in the predetermined note control performance data is set in the variation value setting step . The musical sound signals from the first system to the Nth system are synthesized according to the values varied according to the fluctuation values from the first system to the Nth system, and the synthesized first to Nth systems are synthesized. Music signal output step for outputting music signal,
A method of synthesizing a musical sound signal, comprising:
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002231559A JP3812509B2 (en) | 2002-08-08 | 2002-08-08 | Performance data processing method and tone signal synthesis method |
US10/635,995 US6946595B2 (en) | 2002-08-08 | 2003-08-07 | Performance data processing and tone signal synthesizing methods and apparatus |
CA002436679A CA2436679C (en) | 2002-08-08 | 2003-08-07 | Performance data processing and tone signal synthesizing methods and apparatus |
DE60318282T DE60318282T2 (en) | 2002-08-08 | 2003-08-08 | Methods and apparatus for processing execution data and synthesizing audio signals |
EP03018115A EP1388844B1 (en) | 2002-08-08 | 2003-08-08 | Performance data processing and tone signal synthesizing methods and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002231559A JP3812509B2 (en) | 2002-08-08 | 2002-08-08 | Performance data processing method and tone signal synthesis method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004070153A JP2004070153A (en) | 2004-03-04 |
JP3812509B2 true JP3812509B2 (en) | 2006-08-23 |
Family
ID=32017287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002231559A Expired - Fee Related JP3812509B2 (en) | 2002-08-08 | 2002-08-08 | Performance data processing method and tone signal synthesis method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3812509B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3915807B2 (en) | 2004-09-16 | 2007-05-16 | ヤマハ株式会社 | Automatic performance determination device and program |
JP6295691B2 (en) * | 2014-02-05 | 2018-03-20 | ヤマハ株式会社 | Music processing apparatus and music processing method |
-
2002
- 2002-08-08 JP JP2002231559A patent/JP3812509B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004070153A (en) | 2004-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2345316C (en) | Automatic music generation procedure and system | |
US20070107585A1 (en) | Music production system | |
US7750230B2 (en) | Automatic rendition style determining apparatus and method | |
JP2003241757A (en) | Device and method for waveform generation | |
EP1388844B1 (en) | Performance data processing and tone signal synthesizing methods and apparatus | |
US20060090631A1 (en) | Rendition style determination apparatus and method | |
US7816599B2 (en) | Tone synthesis apparatus and method | |
JP3812510B2 (en) | Performance data processing method and tone signal synthesis method | |
JP4407473B2 (en) | Performance method determining device and program | |
CN113838446B (en) | Electronic musical instrument, accompaniment sound instruction method, and accompaniment sound automatic generation device | |
JP3812509B2 (en) | Performance data processing method and tone signal synthesis method | |
US6774297B1 (en) | System for storing and orchestrating digitized music | |
CN113140201A (en) | Accompaniment sound generation device, electronic musical instrument, accompaniment sound generation method, and accompaniment sound generation program | |
JP4802947B2 (en) | Performance method determining device and program | |
JP6582517B2 (en) | Control device and program | |
JPH1185174A (en) | Karaoke sing-along machine which enables a user to play accompaniment music | |
JP2002297139A (en) | Playing data modification processor | |
WO1996004642A1 (en) | Timbral apparatus and method for musical sounds | |
JP5104414B2 (en) | Automatic performance device and program | |
JP2003271142A (en) | Device and method for displaying and editing way of playing | |
JPH10171475A (en) | Karaoke (accompaniment to recorded music) device | |
JP2541513B2 (en) | Pitch data generator | |
JP2671889B2 (en) | Electronic musical instrument | |
JP5104415B2 (en) | Automatic performance device and program | |
JP2006276894A (en) | Device and method for automatically determining way of playing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060410 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060509 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060522 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120609 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130609 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140609 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |