JP2004070153A - Music playing data processing method and musical sound signal synthesizing method - Google Patents

Music playing data processing method and musical sound signal synthesizing method Download PDF

Info

Publication number
JP2004070153A
JP2004070153A JP2002231559A JP2002231559A JP2004070153A JP 2004070153 A JP2004070153 A JP 2004070153A JP 2002231559 A JP2002231559 A JP 2002231559A JP 2002231559 A JP2002231559 A JP 2002231559A JP 2004070153 A JP2004070153 A JP 2004070153A
Authority
JP
Japan
Prior art keywords
performance data
note
value
predetermined
control
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.)
Granted
Application number
JP2002231559A
Other languages
Japanese (ja)
Other versions
JP3812509B2 (en
Inventor
Genichi Tamura
田邑 元一
Yasuyuki Umeyama
梅山 康之
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2002231559A priority Critical patent/JP3812509B2/en
Priority to CA002436679A priority patent/CA2436679C/en
Priority to US10/635,995 priority patent/US6946595B2/en
Priority to DE60318282T priority patent/DE60318282T2/en
Priority to EP03018115A priority patent/EP1388844B1/en
Publication of JP2004070153A publication Critical patent/JP2004070153A/en
Application granted granted Critical
Publication of JP3812509B2 publication Critical patent/JP3812509B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a music playing data processing method for processing inputted playing data so that a musical sound signal giving a feeling of playing in concert can be synthesized. <P>SOLUTION: A playing data processing part 2 inputs playing data from a MIDI output device 1, generates pieces of playing data of a plurality of player systems, and outputs them to a sound source device 3. The sound source device 3 synthesizes a musical sound signal giving a natural feeling of playing in concert. When playing data for note control is detected, playing data for note control are generated which are pieces of playing data for not control having variance in control value among detection points of time and different in variance state by player systems. A user operates a variation value setting part 5 to set concert effect. Variation values of note control parameters are provided by the player systems 1 to N, which each have a variation value sequence consisting of a plurality of variation values to be selected and used in order. <P>COPYRIGHT: (C)2004,JPO

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系統の音符制御用演奏データを出力することができる。
音源装置は、演奏データを構成する音符に対する所定の楽音特性にこのようなばらつきを与えて、系統毎に波形合成を行う結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。従来の「セクション音」のように、複数奏者の楽音信号が分離不可能にされたものに比べて、自然な楽音制御が行える。「セクション音」が用意されていなくても、ユーザが合奏感を与えたいと望む音色に対して合奏感を付与できる。ユーザが、複数奏者の演奏データを作成しなくてよいので、合奏効果の実現が容易であり、また、リアルタイム演奏にも対応可能である。
【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系統までの変動値を設定するものである。
したがって、系統数に応じた制御値を得ることができる。
特に、互いに異なる態様のばらつきを有する複数系統の前記変動値として、系統間に相関性を有した変動値を変動値記憶手段に記憶させれば、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【0013】
請求項7に記載の発明においては、請求項6に記載の演奏データ処理方法において、前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの1つであり、前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値を系統毎に記憶しており、前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する前記第1系統から第N系統までの変動値を選択して設定するものである。
したがって、複数種類の音符制御用演奏データを対象として演奏データの処理をすることができる。
特に、変動値記憶手段に、複数種類の所定の楽音特性に対する個別の変動値として、複数種類の所定の楽音特性間に相関性を有したものを記憶させれば、リアルな合奏感のある楽音信号を合成できる音符制御用演奏データを出力することができる。
【0014】
請求項8に記載の発明においては、請求項1から7までのいずれか1項に記載の演奏データ処理方法において、前記変動値設定ステップは、設定された前記第1系統から第N系統までの変動値を、さらに各系統毎に調整して前記出力ステップが用いる前記第1系統から第N系統までの変動値とするものである。
したがって、変動値を系統毎に容易に調整することができる。調整は、例えば、オフセットや誇張係数を設定して行うことができる。
【0015】
請求項9に記載の発明においては、請求項1に記載の演奏データ処理方法において、前記変動値設定ステップは、前記音符に対する所定の楽音特性以外に、前記音符に対する他の所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第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系統までの変動値を、前記所定の音源設定用演奏データが検出される毎に設定するものである。
したがって、音源設定用演奏データが検出される毎にばらつきを有し、音源設定値が互いに異なる態様のばらつきを有する第1系統から第N系統までの音源設定用演奏データを出力することができる。
第1系統から第N系統までの音源装置では、各系統の音源設定値がこのようにばらつく結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。
【0018】
請求項12に記載の発明においては、コンピュータに実行させる演奏データ処理プログラムにおいて、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、コンピュータに請求項1に記載の演奏データ処理方法を実行させることができる。
【0019】
請求項13に記載の発明においては、演奏データ処理装置において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定手段と、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力手段を有するものである。
したがって、請求項1に記載の演奏データ処理方法と同様の作用効果を奏する。
【0020】
請求項14に記載の発明においては、楽音信号合成方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第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に示した奏者キャラクタの設定に関するものである。この奏者キャラクタは、奏者キャラクタの修飾値を設定することによって、さらに調整される。ユーザが、これらの修飾値を指定することにより、実測に基づいた変動値を調整する。
ここで、演奏テンポが速いと、ノートオンタイミングの変動値が小さくなる傾向がある。したがって、演奏のテンポによっても、ノートオンタイミングのずれ倍率の修飾値といえるタイミング誇張係数値を制御する。
図7は、演奏のテンポ(fTempo)とノートオンタイミングのタイミング誇張係数値(fTempoTimingExp)との関係を示すグラフである。屈曲点を2つ設けている。
演奏テンポが60〜120では、タイミング誇張係数値を1倍とする。演奏テンポが120〜240になるにしたがって、タイミング誇張係数値を徐々に0.5倍まで減少させる。演奏テンポが240以上では、タイミング誇張係数値を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、以後、この値をタイミング誇張係数値という)を、それぞれ入力するための入力部である。
【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に入力される「奏者キャラクタの修飾値」としての、タイミングオフセットおよび、タイミング誇張係数値によって修飾される。
この修飾によって、標準的な「ばらつきのパターン」を、ユーザの好みに合わせて調整できる。
なお、この画面では、ある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等によってそれぞれ決まる、インストゥルメント名、インストゥルメントサンプル番号、タイミングシーケンス番号、タイミングオフセット、タイミング誇張係数値、等を持つ。
ここで、インストゥルメントサンプル番号,タイミングシーケンス番号,タイミングオフセット,タイミング誇張係数値は、図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に示したような、テンポに対するタイミング誇張係数値のテーブルが記述されている(NUMTABLEは、テーブルのブレークポイントの数であり、図7の屈曲点ポイントに対応)。このテーブルから120,1.00F,240,0.50Fの数値を読み出し、図7に示したように、テンポに対するタイミング誇張係数値を記憶する。
タイミングオフセット係数に関しては、テンポに対する補正をしていない。
【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の内、対応するものにおいて、ユーザによって指定されたタイミングシーケンス番号,タイミングオフセット,タイミング誇張係数値を読み出す。図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において、上記対応するタイミングテーブルデータ中のタイミング誇張係数テーブルの、テンポとそれに対応するタイミング誇張係数値を読み出す。
【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を参照して説明したように、テンポに応じてタイミング誇張係数値を求める処理である。テンポ対タイミング誇張係数テーブルを、現在のテンポfTempoを用いて補間した値(現在のテンポを与えて求められるタイミング誇張係数値)を求める。
【0105】
S98において、タイミング誇張係数を求める。
タイミング誇張係数=
(現在のテンポを与えて求められるタイミング誇張係数値
*(奏者毎に割り当てられているタイミング誇張係数値
である。記号「*」は、乗算記号である。
S99において、奏者ごとに(タイミングずれ)および(タイミング誇張係数)を調整した後の最終的なノートオンタイミングを得ることになる。すなわち、
調整後のNoteOnTiming =
NoteOnTiming+(タイミングずれ)*(タイミング誇張係数)
このようにして、選択したタイミングシーケンスから得られたタイミングのばらつきに加えて、奏者毎に設定したタイミングオフセットおよびタイミング誇張係数が使用される結果、奏者毎に多様なタイミングのばらつきを持たせることができる。
なお、上述した演算では、(フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ)に(タイミングオフセット)を加算してから(タイミング誇張係数)を乗算しているが、(フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ)に(タイミング誇張係数)を乗算してから(タイミングオフセット)を加算するような演算に代えてもよい。
【0106】
また、上述した演算において、(タイミングずれ)および(タイミング誇張係数)の値は、図1に示した演奏データ処理部2において設定される値であった。さらに、演奏データ処理部2に入力される演奏データとして、タイミングずれを与えるタイミングオフセットおよびまたはタイミング誇張係数を与えるタイミング誇張係数を制御する演奏データを新たに定義して用いてもよい。このような新たな演奏データによって、演奏入力によって、(タイミングずれ)およびまたは(タイミング誇張係数)の値を動的に制御できるようにしてもよい。
すなわち、S96において、(演奏データにより制御されるタイミングオフセット)を加算する。およびまたは、S98において、(演奏データにより制御されるタイミング誇張係数)を乗算すればよい。
上述したフローチャートの例は、ノートオンタイミングに関するものであったが、このような演奏入力による動的な制御は、制御対象とする任意の音符制御パラメータ、音源設定パラメータを指定することにより任意の音源設定パラメータに適用できる。さらに、制御対象とする音符も指定することにより任意の音符制御用パラメータに適用できる。
【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]
TECHNICAL FIELD 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 tone signal synthesizing method for giving performance feeling to performance data in the field of electronic musical instruments.
[0002]
[Prior art]
When performing an ensemble (session) with an acoustic instrument, even if a plurality of players play the same musical score using the same musical instrument, the performance sound of each player is not exactly the same.
Each player's playing style and emotions vary depending on individuality. Also, the acoustic characteristics of the acoustic musical instruments used by each player vary slightly. As a result, an ensemble feeling is added to the tone signal as a whole.
In the field of electronic musical instruments, various methods have conventionally been used for producing such a sense of ensemble in the case of live performance by keyboard performance or music production performed by inputting notes into a sequencer.
[0003]
The first method is “detune”. When a certain tone (voice) is designated, a plurality of elements are simultaneously sounded. At this time, by slightly shifting the pitch between the sounding of each element, even when a "note-on message" for one note is input, an effect is produced in which a plurality of sounds are sounded simultaneously. give. However, the detune amount is constant for any sound only by making the settings of the elements uniformly different. Therefore, there is a problem that it is not possible to produce a random feeling like an acoustic instrument ensemble.
[0004]
The second method is to use a voice called a “section sound”. A ensemble of a plurality of musical instruments is sampled in advance to obtain an original waveform of a waveform memory sound source. For example, in the "string" section of the timbre, if the section sound "strings" is selected, a realistic atmosphere sound with a sense of ensemble can be obtained. However, despite the sounds of multiple players, various sound source controls are uniformly performed on section sounds that have been synthesized inseparably, so that the output sounds tend to be monotonous and unnatural. . There are various needs for section sounds, such as strings, brass, and human voices. However, there is a problem that even if the user desires, it cannot be realized unless a desired section sound is prepared in the sound source.
[0005]
A third method is to create and use a required number of pieces of performance data of a plurality of solo voices (tone colors of a single instrument). The fourth method is a method in which voices according to the above-described second and third methods are mixed and used.
In the third and fourth methods, the possibility of realizing a desired sound is widened depending on how the voices are mixed. However, in order to obtain a sense of ensemble, sequence data must be prepared for each voice, and adjustments must be made through trial and error, so that setting is very troublesome. Moreover, there is a problem that it is possible only when a note is input, and cannot be applied to a real-time performance such as a keyboard performance.
Although the above-mentioned problem is a problem in obtaining a sense of ensemble, it is desired that the individual performance of the ensemble or the solo performance can be effectively and easily expressed by reflecting the individuality of the player. Had been rare.
[0006]
[Problems to be solved by the invention]
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and a performance data processing method, a performance data processing program, and a performance data processing method for processing input performance data so as to synthesize a musical sound signal having a ensemble feeling. It is an object of the present invention to provide a processing device and a music signal synthesizing method.
In particular, by processing the performance data so as to give variations to the note-on timing, it is possible to synthesize a musical sound signal having a sense of ensemble.
[0007]
[Means for Solving the Problems]
According to a first aspect of the present invention, in the performance data processing method, a series of performance data is inputted, and a predetermined note control having a control value of a predetermined tone characteristic for a note constituting the performance data. Performance data type detecting step of detecting performance data for use, and a control value of a predetermined tone characteristic for the note is varied each time the predetermined note control performance data is detected. A variation value setting step of setting a variation value from a first system to an N-th system (N is an integer of 2 or more) each time the predetermined note control performance data is detected; Each time the performance data is detected, the control value of the predetermined tone characteristic for the note included in the predetermined note control performance data is set from the set first system to the Nth system. A value that varies according to the variation value up to the current system is newly set as a control value of a predetermined tone characteristic for the note, and the first to Nth systems of the same type as the predetermined note control performance data are used. It has a performance data output step of generating and outputting performance data.
Therefore, the predetermined tone characteristics for the notes constituting the performance data are varied every time the predetermined note control performance data is detected, and the control values of the first to Nth systems have variations in different modes. It is possible to output performance data for note control.
The sound source device gives such a variation to the predetermined tone characteristics for the notes constituting the performance data and synthesizes a waveform for each system. As a result, a tone signal having a sense of ensemble as if a plurality of players are actually playing is produced. Can be synthesized. Compared to a conventional "section sound" in which tone signals of a plurality of players cannot be separated, natural tone control can be performed. Even if the "section sound" is not prepared, the ensemble feeling can be given to the tone color that the user wants to give the ensemble feeling. Since the user does not need to create performance data of a plurality of players, it is easy to achieve the ensemble effect, and it is also possible to support 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 sound generation of the note starts.
Variations in note-on timing of musical notes make a large contribution to the ensemble feeling.
Therefore, it is possible to output performance data capable of synthesizing a musical sound signal having a ensemble feeling.
[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 tone characteristic for the note is a delay vibrato start timing of the note.
Variations in the delay vibrato start timing applied to the musical tone signal of each note also greatly contribute to the ensemble feeling.
Therefore, it is possible to output performance data capable of synthesizing a musical sound signal having a ensemble feeling.
[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 series of performance data to be input and the first to third series of performance data to be output are output. Performance data up to N systems is performance data accompanied by timing data.
Since the performance data is in the music data file format, it is not necessary to perform the real-time processing. Therefore, processing of the performance data is facilitated.
[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 changed from the first system to the Nth system. This is created based on the characteristic pattern of the variation of the musical tone characteristics with respect to the musical note, which is analyzed when the same musical score is simultaneously played by up to N players.
Since the fluctuation value is created based on the actual measurement, it is possible to output musical note control performance data capable of synthesizing a tone signal having a realistic ensemble feeling.
[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 method further comprises a system number designation step for designating the value of N, and the variation value setting step. Is a variation value for varying a control value of a predetermined tone characteristic for the note each time the predetermined note control performance data is detected, and is a variation value of a plurality of systems having variations in different modes. Is set in advance by selecting the fluctuation values from the first system to the N-th system from the fluctuation value storage means for storing the fluctuation values.
Therefore, a control value according to the number of systems can be obtained.
In particular, if the fluctuation values having a correlation between the systems are stored in the fluctuation value storage means as the fluctuation values of a plurality of systems having variations in different modes, musical notes having a realistic ensemble feeling can be synthesized. Control performance data 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 stores, for each system, individual variation values for a plurality of types of predetermined tone characteristics corresponding to the plurality of types of musical note control performance data to be processed, and the variation value setting step includes: And selecting and setting a fluctuation value from the first system to the N-th system for a predetermined tone characteristic controlled by the predetermined note control performance data from the fluctuation value storage means.
Therefore, performance data can be processed for a plurality of types of musical performance data for note control.
In particular, if the variation value storage means stores a correlation value between a plurality of types of predetermined tone characteristics as individual variation values for a plurality of types of predetermined tone characteristics, a tone having a realistic ensemble feeling can be obtained. It is possible to output musical note control performance data that can synthesize signals.
[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 variable value setting step includes the setting of the first to N-th systems. The fluctuation value is further adjusted for each system to be 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, the variation value setting step includes controlling other predetermined tone characteristics for the note in addition to the predetermined tone characteristic for the note. In order to vary the value each time the predetermined note control performance data is detected, the other variable values from the first system to the N-th system having variations in different modes are determined by the predetermined note control. Each time the performance data for musical note is detected, the output step is performed by using the musical performance data for other note control from the first system to the N-th system every time the predetermined musical performance data for note control is detected. There is less performance data in which the control value of the other predetermined tone characteristic for the note varies in accordance with the set other variation values from the first system to the Nth system. But also it generates and outputs.
Therefore, every time the predetermined note control performance data is detected, not only the control value of the predetermined tone characteristic but also the control values of other predetermined tone characteristics are similarly varied. Performance data that gives complicated 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, in the performance data type detecting step, the input performance data includes a sound source set value. The fluctuation value setting step detects the fluctuation values from the first system to the N-th system, which are different from each other, by using the predetermined sound source setting performance data. When the detected sound source setting performance data is detected, the output step sets the sound source setting values of the predetermined sound source setting performance data to the set sound source setting values. A value different according to the fluctuation value from the first system to the N-th system is newly set as the sound source setting value, and the first to N-th systems of the same type as the predetermined sound source setting performance data are used. And outputs the performance data of the first to Nth systems output by the output step, respectively, from the first waveform synthesis element to the Nth waveform synthesis element. Data.
Therefore, when the tone generator setting performance data is detected, the tone generator setting performance data of the first to N-th systems having different tone generator setting values can be output.
In the sound source device in which the performance data for sound source setting of the first to N-th systems are set, the sound source setting values of the respective systems are different from each other. it can.
[0017]
In the invention according to claim 11, in the performance data processing method according to claim 10, the variation value setting step includes changing the sound source set value every time the predetermined sound source setting performance data is detected. For this purpose, the fluctuation values from the first system to the N-th system having variations in different modes are set every time the predetermined sound source setting performance data is detected.
Therefore, it is possible to output the sound source setting performance data from the first system to the N-th system having a variation every time the sound source setting performance data is detected, and having the variation of the tone generator setting values different from each other.
In the sound source devices of the first to N-th systems, the sound source setting values of the respective systems vary as described above, so that it is possible to synthesize a musical sound signal having a sense of ensemble as if a plurality of players are actually playing.
[0018]
According to a twelfth aspect of the present invention, in a performance data processing program to be executed by a computer, a series of performance data is inputted, and a predetermined note control having a control value of a predetermined tone characteristic for a note constituting the performance data. Performance data type detecting step of detecting performance data for use, and a control value of a predetermined tone characteristic for the note is varied each time the predetermined note control performance data is detected. A variation value setting step of setting a variation value from a first system to an N-th system (N is an integer of 2 or more) each time the predetermined note control performance data is detected; Each time the performance data is detected, a control value of a predetermined tone characteristic for the note included in the predetermined note control performance data is set. A value that varies according to the fluctuation value from the first system to the N-th system is newly set as a control value of a predetermined tone characteristic for the note, and a first value of the same type as the predetermined note control performance data is used. It has a performance data output step of generating and outputting performance data from the system to the Nth system.
Therefore, the computer can execute the performance data processing method according to the present invention.
[0019]
According to a thirteenth aspect of the present invention, in the performance data processing device, a series of performance data is input, and the predetermined note control performance data having a control value of a predetermined tone characteristic for a note constituting the performance data is input. A performance data type detecting means for detecting, and a first system having a variation in a different mode from each other in order to vary a control value of a predetermined tone characteristic for the note each time the predetermined note control performance data is detected. A variation value setting means for setting a variation value from the first to the Nth system (N is an integer of 2 or more) each time the predetermined note control performance data is detected; Each time the control value of the predetermined tone characteristic for the note included in the predetermined note control performance data is changed to the set variation value from the first system to the N-th system. The value varied according to the predetermined value is newly set as a control value of a predetermined tone characteristic for the note, and performance data of the first to Nth systems of the same type as the predetermined note control performance data is generated. It has performance data output means for outputting.
Therefore, the same operation and effect as the performance data processing method according to the first aspect are obtained.
[0020]
According to a fourteenth aspect of the present invention, in the tone signal synthesizing method, a series of performance data is input, and predetermined note control performance data having a predetermined tone characteristic control value for a note constituting the performance data is generated. A first system having a variation in a mode different from each other in order to detect a performance data type to be detected and to vary a control value of a predetermined tone characteristic for the note each time the predetermined note control performance data is detected; A variation value setting step of setting a variation value from the first to the Nth (N is an integer of 2 or more) systems each time the predetermined note control performance data is detected; and detecting the predetermined note control performance data. Each time the control value of the predetermined musical tone characteristic for the note included in the predetermined note control performance data is changed from the set first system to the Nth system, respectively. A tone signal output for synthesizing tone signals from the first system to the N-th system in accordance with a value varied according to the moving value, and outputting the synthesized tone signals from the first system to the N-th system. It has steps.
Therefore, the predetermined tone characteristics for each note are varied each time the predetermined note control performance data is detected, and the first to N-th tone signals having control values having variations in different modes are generated. Can be synthesized. As a result of such variation in tone characteristics, a tone signal having a ensemble feeling as if a plurality of players are actually playing can be synthesized.
[0021]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a block diagram showing an embodiment of a performance data processing method according to 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 MIDI output device 1 is, for example, a MIDI keyboard played in real time, or a sequencer device for reproducing music data.
The performance data processing unit 2 receives performance data from the MIDI output device 1, generates performance data of a plurality of player systems, and outputs the generated performance data to the tone generator 3. When the note control performance data is detected, the control value varies every time the note control performance data is detected. Output to the device 3.
[0022]
The sound source device 3 has a plurality of player elements for synthesizing a tone signal corresponding to a player system. In FIG. 1, the number of player systems that generate variations and the number of player elements that synthesize tone signals match, but need not necessarily match. That is, the number of player elements may be larger than the number of player systems.
The sound source device 3 synthesizes a tone signal for each player element based on the input performance data of each player system, and outputs a tone signal having a natural ensemble feeling, for example, from a speaker in a monaural or stereo format. .
As described later with reference to FIG. 9, performance data may be output from the music data storage unit instead of the MIDI output device 1. In some cases, performance data is output to the music data storage unit instead of the sound source device 3.
The MIDI output device 1 outputs, for example, MIDI sequence data as performance data. Since the target to which the ensemble effect is added is usually for one performance part, the performance data processing unit 2 performs processing on a MIDI sequence of one MIDI channel corresponding to one part. When another ensemble effect is added, the performance is performed on another performance part. For convenience of explanation, it is assumed that the performance part to which the ensemble effect is added is selected in advance by the user, and in the following description, only the processing of the performance data of the performance part to which the ensemble effect is added will be described. Of course, the performance part to which the ensemble effect is added may be selectable in real time, manually or automatically, according to the performance.
[0023]
The performance data has sound source control parameters for controlling the sound source device. The sound source control parameters are classified into note control parameters and sound source setting parameters.
The musical note control performance data has control values of musical tone characteristics (note control parameters) of individual notes (individual sounds) on the musical score, which constitute the performance data. The note control performance data includes, for example, a “note-on message” and a “note-off message”.
The sound source setting performance data has a set value of a 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 tone generator setting parameters uniformly control the tone characteristics of all notes processed by each player element. The sound source setting performance data includes, for example, a “program change message”.
However, there are cases where it is desired to control the tone characteristics of individual notes even for parameters generally regarded as sound source control parameters. The sound source control parameters in such a case are handled as musical note control parameters.
[0024]
It is not necessary to perform a process for imparting an ensemble effect to all of the note control performance data and the tone generator setting performance data, and a process for imparting the ensemble effect to predetermined predetermined data. Should be performed.
For example, the setting of the note control parameter may not be controlled for the “note-off message”. The input performance data other than the predetermined performance data may be copied as it is for a plurality of player systems and output to the tone generator.
Alternatively, since the performance data other than the predetermined performance data is output without specifying the player system, the sound source device 3 automatically controls the control value of the note control parameter or the sound source setting parameter for each player element. May be copied to synthesize a tone signal.
[0025]
In the performance data processing unit 2, reference numeral 4 denotes a performance data detection unit, 5 denotes a fluctuation value setting unit, and 6 denotes a performance data output unit.
The user performs an ensemble effect setting operation on the variation value setting unit 5 of the performance data processing unit 2 in advance. First, the number N of player systems is set, and the setting operation of the ensemble effect is performed for each of the player systems 1 to N.
Fluctuation values of the controlled note control parameters and sound source setting parameters are provided for each of the player systems 1 to N. Each system of the note control parameters has a variable value sequence including a plurality of variable values, and is sequentially selected and used. Each system of the sound source setting parameters typically has one fluctuation value.
It is preferable that the fluctuation values of the respective player systems 1 to N have a correlation between the systems, such as a ensemble of an actual performance.
[0026]
First, note control parameters will be described. The player 1 sets a variation value of a certain note control parameter a as a 11 , A 12 , A 13 , A 14 And a variation value of a certain note control parameter b is b 11 , B 12 , B 13 , B 14 have. As for the player 2, a variation value of a certain note control parameter a is a 21 , A 22 , A 23 , A 24 And a variable value of a certain note control parameter b is b 21 , B 22 , B 23 , B 24 have. The same applies to other players, and also when there are other note control parameters.
Values that vary from one note control parameter to another vary. An example of the variation value of the note control parameter a for the player 1 is as follows. 11 , A 12 , A 13 , A 14 Are values that vary from one another. However, the variation is not completely random, but is influenced by the note position in the phrase, the phrase type, the individuality of the player, and the like, so that the variations have mutual correlation.
[0027]
The performance data input from the MIDI output device 1 is detected by the performance data detection unit 4 to detect the type of the performance data, and is output to the fluctuation value setting unit 5. As described later, the phrase type may be detected and output to the fluctuation value setting unit 5 in some cases.
Further, the detection timing of the musical performance data for note control (for example, “note-on message”) and the phrase detection timing (break of the phrase) are also detected and output to the fluctuation value setting unit 5. The detected performance data type of the predetermined performance data and the control value of the note control parameter included in the predetermined performance data are output to the performance data output unit 6.
[0028]
Determines whether the time interval of a note, in other words, the time interval of a rest, more specifically, the time interval from the note-off timing of the previous note to the note-on timing of the next note is greater than or equal to a predetermined threshold. By doing so, the timing of a break in a note sequence is detected, and this is determined as a break in a phrase. The above-mentioned predetermined threshold is adjustable by the user. It is not necessary to change the threshold value depending on the performance tempo of the song, but it may be desirable to change the threshold depending on the individual song.
Since a phrase is a break where the musical composition of a song changes, the break of the phrase may be detected by analyzing the content of the song. Alternatively, if the input performance data includes information indicating a break between phrases in advance, this may be used.
[0029]
When it is detected that the input performance data is predetermined note control performance data, the variation value setting unit 5 sets the variation values of the note control parameters a, b,. From among these, a note control parameter corresponding to a predetermined tone characteristic controlled by the predetermined note control performance data, for example, a variation value of a note control parameter a is selected and set.
To illustrate the first player, each time predetermined same note control performance data (for example, “note-on message”) is detected (ie, each time a note is detected), a note control parameter is set. a (for example, note-on timing) 11 , A 12 , A 13 , A 14 Are sequentially selected. The fluctuation values are different from each other, and the fluctuation values of the note control parameter a are different for each of the player systems 1 to N.
[0030]
When the above-mentioned predetermined note control performance data (for example, "note on message") is detected by the performance data detector 4, the performance data output unit 6 outputs the performance data of the predetermined note control performance data. The control value of the type and the note control parameter a (for example, note-on timing) is input, and the fluctuation value a of the note control parameter a of the player systems 1 to N is set based on the control value. 11 , A 21 , A 31 , ……, a N1 The control values that vary are set for the player systems 1 to N.
For example, the control value of the input note control performance data may include a variation value a 11 , A 21 , A 31 , ……, a N1 Are added or multiplied, respectively, to newly set control values of predetermined note control parameters for each of the player systems 1 to N.
Whether to add or multiply is determined by the appropriate note control parameter to be controlled. Operations other than addition or multiplication may be performed.
The performance data output unit 6 uses these control values to generate and output note control performance data of the same type as the inputted predetermined note control performance data and of the player systems 1 to N. .
[0031]
Therefore, the performance data output unit 6 outputs the predetermined note control performance data that varies with the input predetermined note control performance data every time the performance data is detected, and that varies in the manner of variation for each player. The musical note control performance data of the player systems 1 to N having the control values of the control parameters is output to the player elements corresponding to the player systems 1 to N in the sound source device 3.
Note that the fluctuation value setting unit 5 determines that the given predetermined note control performance data is of a type that controls a plurality of note control parameters (for example, a note-on message is a note-on message). If it is determined in advance which of the three note control parameters (timing, note number, velocity ((on velocity))) and a plurality of note control parameters are to be varied (there may be more than one) Good.
The variation value setting unit 5 varies the variation value of each of the note control parameters a, b,... Each time corresponding predetermined note control performance data is detected, and each time a phrase is detected, By switching to a different variation value sequence (take), the sense of ensemble can be further deepened.
For example, when a phrase is detected, the variation value of the note control parameter a of the first player is changed to a sequence a ′ of different variation values. 11 , A ' 12 , A ' 13 , A ' 14 Switch to
[0032]
Alternatively, the musical characteristics of the phrase may be analyzed by the performance data detection unit 4 and the phrase type may be output to the fluctuation value setting unit 5. The variation value setting unit 5 dynamically selects appropriate variation values (takes) according to the phrase type and sets the variation value sequence (take) to vary the mode of variation of the note control parameters, thereby dynamically determining an appropriate variation. Give to.
More specifically, a pattern of pitches of sounds in a phrase, that is, a melody pattern (pitch pattern), a change pattern of note-on timing, or a rhythm pattern of a strong beat and a weak beat is analyzed. If the pitch pattern is a mountain shape, the fluctuation value of the peak portion is reduced, and the fluctuation value of the beat position corresponding to the back beat of the pitch value pattern is increased.
In addition, since the phrase type cannot be determined until after the phrase has started, when the sound source device 3 performs a real-time performance, the phrase type cannot be determined in advance. In a performance mode in which the sound source device 3 outputs performance data after a predetermined time delay, the delay time may be determined so that the determination of the phrase type can be made in time.
[0033]
The performance tempo information is also used as a control input to the fluctuation value setting unit 5. This is because, as described later with reference to FIG. 7 and the like, when the predetermined tone characteristic is a note control parameter relating to timing, it is necessary to adjust the degree of variation depending on the performance tempo.
The performance tempo information is the performance tempo of the input MIDI sequence. The tempo information is included in the performance data output by the MIDI output device 1 or the user inputs the performance data to the performance data processing unit 2 in advance. Alternatively, the performance tempo may be estimated from the MIDI sequence of the performance data output from the MIDI output device 1.
[0034]
Next, a description will be given of a case where the input performance data is tone generator setting performance data for uniformly controlling the tone characteristics of all notes processed by each player element.
The performance data processing unit 2 performs processing different from that of the musical note control performance data.
The performance data detection unit 4 outputs the performance data type of the predetermined sound source setting performance data to the fluctuation value setting unit 5 and performs the performance data type of the predetermined sound source setting performance data and the control value of the sound source setting parameter. Output to the data output unit 6.
The variation value setting unit 5 selects a variation value of a sound source setting parameter corresponding to the predetermined tone generator setting performance data for each of the player systems 1 to N, and outputs the selected variation value to the performance data output unit 6.
[0035]
The performance data output section 6 generates tone generator setting performance data of the player systems 1 to N of the same type as the inputted predetermined tone generator setting performance data. At this time, when the predetermined sound source setting performance data is detected, the control values of the sound source setting parameters included in the predetermined sound source setting performance data are respectively changed by the player selected by the variation value setting unit 5. Values that vary according to the fluctuation values of the systems 1 to N are newly set as the sound source setting parameters.
Accordingly, the performance data output unit 6 outputs the tone generator setting performance data for the number of players having different tone generator setting values for each of the player systems 1 to N with respect to the input predetermined tone generator setting performance data. 3 to the player elements 1 to N corresponding to the player systems 1 to N.
[0036]
In addition, when a value obtained by adding or multiplying a variation value to a set value of the input sound source control performance data is newly set as a control value of a predetermined sound source control parameter for each of the player systems 1 to N, Whether to perform addition or multiplication may be determined according to the sound source control parameter to be set. Operations other than addition or multiplication may be performed.
When the input predetermined performance data for tone generator setting is to simultaneously set a plurality of tone generator setting parameters, it is determined in advance which one of the plurality of tone generator setting parameters is to be varied (a plurality of tone generator setting parameters may be varied). It should be left.
[0037]
Since the sound source setting parameters need not be varied over time, there is no need to vary the variation value each time predetermined sound source setting performance data is input, or to control the variation value based on performance tempo information. Is also good. However, the fluctuation value of the sound source setting parameter is also dynamically changed by switching to a different fluctuation value sequence (take) every time a phrase is detected or according to the type of phrase. May be.
Once the sound source setting performance data is output to the sound source device 3, the sound source device 3 maintains the sound source setting value as it is.
Therefore, the performance data output section 6 holds the sound source setting values held by the sound source setting performance data detected last. When a phrase is detected, the sound source setting value that has been varied by adding the changed fluctuation value to the held sound source setting value is used as a new sound source setting value. Generate and output.
[0038]
The transfer interface from the performance data processing unit 2 to the sound source device 3 may be one suitable for various input specifications of the sound source device 3.
In the subsequent processing, various note controls or tone generator settings can be individually performed for each of the player systems 1 to N before the waveforms are synthesized in the subsequent processing.
When the sound source device 3 has only one input like a MIDI interface, the performance data may include information for specifying a performance part and a player. For example, a MIDI channel number can be used. The performance data output unit 6 may convert the MIDI channel number indicating the performance part of the performance data input from the MIDI output device 1 into a MIDI channel number that can identify both the performance part and the player.
[0039]
When the sound source device 3 inputs the performance data input to each player element of a certain performance part in a time-division manner, the performance data output unit 6 may output the performance data in accordance with the time-division channel.
If the sound source device 3 inputs the performance data for note control and the performance data for sound source setting on different lines, the performance data output section 6 also performs the same for the performance data for note control and the sound source setting. Output the performance data separately.
Some sound source devices 3 accept only a limited number, such as a "note-on message" and a "note-off message". In such a case, the performance data processing unit 2 only needs to transfer the performance data that can be received by the sound source device 3 to the sound source device 3.
[0040]
Next, a specific example of the ensemble effect setting information will be described using MIDI data as an example.
The note control performance data includes, for example, a "note-on message", a "note-off message", a "polyphonic key pressure message", and the like.
The “note-on message” instructs the sound source to control note-on timing, note number (pitch), and velocity (on-velocity), which are note control parameters.
The "note-off message" instructs the sound source of control values of note-off timing, note number (pitch), and velocity (off-velocity).
The "polyphonic key pressure message" controls the musical tone characteristics of a specific note being sounded by designating the note number (pitch) of the note. The pressure value of the "polyphonic key pressure message" controls the pitch, filter cutoff frequency, volume, pitch depth of low frequency oscillator, filter depth, amplitude depth, etc. which are originally sound source control parameters Values can be assigned.
[0041]
On the other hand, the sound source setting performance data includes, for example, a “program change message” and a “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 simply referred to as NRPN) of "control change message", It is possible to set one of the setting parameters, such as an envelope rising time and a delay vibrato start timing.
The present invention is not limited to the above example, and various sound source setting parameters such as an envelope relation, a vibrato relation, a low-pass filter relation, and an equalizing (frequency characteristic of a musical tone signal) relation can be set using “NRPN”.
In the above description, the note control parameter and the sound source setting parameter are separately described. However, the sound source control parameter such as “delay vibrato start timing” is used as a note, a sound source setting, or both. be able to. If it is possible to define performance data in accordance with a unique protocol, of course, in the current MIDI standard, the above-mentioned “polyphonic key pressure message” is used, 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 the 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 of the player systems 1 to N. The player characters 11a and 11b are the player characters of the note control parameters a and b, and the player character decoration values 12a and 12b are the player character decoration values of the note control parameters a and b. Similarly, the player characters 11c and 11d are the player characters of the sound source control parameters c and d, and the player character decoration values 12c and 12d are the player character decoration values of the sound source control parameters c and d.
The player character is represented by a fluctuation value of the note control parameter with respect to the control value or a fluctuation value of the sound source setting parameter with respect to the sound source setting value. The fluctuation value is defined as an offset (addition value) or a magnification (weight coefficient) 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 variable value sequences (takes) for each of the player systems 1 to N, and each take is specified by a take number. Each take is made up of a plurality of fluctuation values that vary from one another. Moreover, the manner of variation differs among the player systems 1 to N systems. The same applies to the player character 11b.
Every time a phrase is detected, reading of the initial value (first value) of the next take column (row in the drawing) is designated, and predetermined note control performance data corresponding to this note control parameter a. Every time is detected, the variation value of the take row is read out sequentially (in the horizontal direction in the figure).
For example, in the case of "note-on message", when a note in one phrase is detected, for example, the value of the note-on timing is changed by selecting a change value in accordance with the order. In the case of the 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 a change value in accordance with the detection order.
[0044]
Each time the phrase is changed, the take number is switched in order. If the last take number has been selected, it is returned to the first take number.
Instead of sequentially switching take numbers, a plurality of takes corresponding to the type of the phrase are stored in advance, and the type of the phrase is determined by analyzing the input performance data. May be selected.
As described above, the player character for each note gives the player individuality to the variation in the fluctuation value given each time predetermined note control performance data 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 a value. A uniform modification value is used for each of the player systems 1 to N regardless of the take of the player character or the order in the phrase.
In the specific examples described with reference to the drawings after FIG. 11, an offset value to be added to the value set by the player character, and an exaggeration coefficient by which the added value is multiplied are modification values. The modification value may be changed using the performance tempo as a variable. In FIG. 1, the fluctuation value setting unit 5 outputs the fluctuation value thus adjusted to the performance data output unit 6.
The player character modification value may be one offset value and one exaggeration coefficient commonly used by the player systems 1 to N.
Further, the offset value and the exaggeration coefficient value are examples of player character modification values, and any value may be used as long as it modifies 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 player systems 1 to N and for each of the sound source setting parameters c and d, corresponding to the sound source setting performance data.
Since the tone generator setting parameter such as “program change message” is considered to be relatively less important for the ensemble effect, in the illustrated example, it does not change depending on the input sequence number of the tone generator setting performance data in the phrase. Although a single variation value is used, it may be changed.
Although a plurality of takes are prepared, one take may be used if the take is not changed every time the phrase is detected, or if the take is not changed depending on the type of the phrase.
[0047]
Once the sound source setting parameters are set in the sound source device 3, their values are maintained. Therefore, when the take is switched every time the phrase is detected, or when the take is selected according to the type of the phrase, it is necessary to generate and output the tone generator setting performance data to the tone generator 3 each time.
Specifically, the sound source setting value held by the predetermined sound source setting performance data whose input was detected last is held, and adjusted with a new take variation value or further a player character modification value. It generates sound source setting performance data having the set value as a new sound source setting value and outputs it to the sound source device.
[0048]
In some of the sound source setting parameters, the set value of the tone value may not necessarily indicate the continuity of the sound source setting parameter, such as a tone color number. In such a case, varying the control value according to the fluctuation value means giving a variation in the content of the sound source setting parameter, such as changing to a similar tone color. Therefore, the fluctuation value is not necessarily a value that is added or multiplied to the original control value.
[0049]
In the example shown in FIG. 2, the player character is assumed to be stored in advance by the number N of player systems, but actually, the number N of player systems is a value arbitrarily set by the user. Therefore, the illustrated player character is stored for each value of the player system number N, and the user automatically sets the player character by setting 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 of the player systems 1 to N from among them according to the number N of player systems. .
First, the user arbitrarily selects one of the player systems 1 to N from among the player characters stored in the memory or the storage device, and further arbitrarily sets the modification value of the player character. Various changes can be given to the player character.
It is assumed that the above-mentioned ensemble effect setting information is set in a storage device in advance before performance data is input. However, the setting may be changed during the performance of the music. For example, the number of player systems and the player system to be selected may be changed in the middle of a song. In the middle of the music, the player character modification value may be changed, for example, the degree of variation may be controlled by changing the exaggeration coefficient value.
[0050]
In the illustrated example, the player character stores the player character (variation value) for a plurality of note control parameters and a plurality of sound source setting parameters in association with each of the player systems 1 to N, and stores them in combination.
When there is a correlation between the individual note control parameters or between the sound source setting parameters due to the same player, by storing in such a set, the individuality of the player is reflected finely.
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 the note control parameter and the sound source setting parameter with a small correlation, the player character may be stored for each parameter, and the user may arbitrarily determine the combination of the individuality of the player. For example, the player character (variation value) of the note control parameter group and the player character (variation value) of the sound source setting parameter group may be separately stored as a set.
[0051]
The variation values of the note control parameters and the variation values of the tone generator setting parameters of the above-described player systems 1 to N are individually analyzed when the same musical scores are actually played simultaneously by the first to Nth players. It is desirable to use one created on the basis of a characteristic pattern of variation in musical sound characteristics with respect to musical notes. By using such a fluctuation value based on the actual performance, a natural ensemble feeling can be obtained.
On the other hand, as the variation value of the sound source setting parameter, a value created on the basis of the characteristic pattern of the variation of the tone characteristics unique to the musical instruments of the first to Nth same musical instruments used in the actual performance can be used.
[0052]
FIG. 3 is an explanatory diagram showing a specific example of performance data generated for each player in the block configuration diagram shown in FIG.
FIG. 3A shows the control value of the note-on timing for each note of the “note-on message” input to the performance data processing unit 2 and detected, and the “note-on message” is detected. This shows a case in which the noise is dispersed every time a note is detected (every time a note is detected).
When the MIDI output device 1 shown in FIG. 1 is a MIDI keyboard, the output MIDI data does not include data of “event occurrence timing” such as a note-on timing, so that a “note-on message” is included. The output time is the note-on timing.
On the other hand, when the MIDI output device 1 is a storage device that stores a music data file, the output performance data includes data of “event occurrence timing” in some form.
[0053]
The fluctuation value setting unit 5 illustrated in FIG. 1 is configured to control the note-on timing of the “note-on message” whose input is detected, in the control of the note-on timing, in the player systems 1 to N having variations in different modes from each other. The “note-on message” of each of the player systems 1 to N having a value that has been varied by adding a variation value or the like as a new control value is output.
It should be noted that among the plurality of “note-on messages” to be output, there may be a plurality of “note-on messages” having the same control value as the control value of the input “note-on message”. At this time, the fluctuation value is 0. Such a player is meaningful as a personality player who plays a music that is not different from 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 Message” of each of the player systems 1 to N. The note number and velocity (on velocity) in "" may be used.
[0054]
When the performance data is real-time MIDI data, the tone generator 3 shown in FIG. 1 interprets a point in time at which a “note-on message” is input as a note-on timing. Therefore, it is necessary for the performance data output unit 6 to control the point in time of outputting the “note-on message” according to the fluctuation value.
However, when a variation value is added to the note-on timing of the input “note-on message”, the variation value may be negative (return the timing to a past direction). Therefore, when the performance data processing unit 2 performs real-time processing, even when the fluctuation value is zero, the note control performance data is output at a timing that is slight but delayed by a predetermined time. Alternatively, if the fluctuation value is negative, it may be regarded as zero and the process may be simplified.
[0055]
FIG. 3B shows a non-registered parameter number (hereinafter, referred to as “CCM-NRPN”), which is a type of a predetermined “control change message” input and detected by the performance data processing unit 2. This shows a case where the designated control value of the delay vibrato start timing is varied every time this predetermined “CCM-NRPN” is detected. In this case, the delay vibrato start timing does not control a specific note, but functions uniformly to control the tone characteristics of all notes processed by each player element.
In this case, the fluctuation value setting unit 5 of FIG. 1 determines that the control values of the delay vibrato start timing included in the predetermined “CCM-NRPM” whose input has been detected have different types of variation in the control systems of the player systems 1 to 5. The same predetermined "CCM-NRPM" of each of the player systems 1 to N is newly output as a control value having a value that is varied by adding a variation value of N, for example.
The predetermined “CCM-NRPM” of each of the player systems 1 to N is output at the generated timing or at a timing delayed by a predetermined time from the input timing. The output timing may be slightly different for each player.
[0056]
When outputting a predetermined “CCM-NRPM” accompanied by event generation timing data, the value of the event generation timing is, in principle, the same value as the event generation timing for the input predetermined “CCM-NRPM”.
As described above in connection with the "Note-On Event Message", the event occurrence timing data has various description formats. Describe the timing data.
It should be noted that among the plurality of predetermined “CCM-NRPMs” output, there may be ones having the same control value as the input predetermined “CCM-NRPM” as the control value.
[0057]
FIG. 3 (c) shows the control value of the note-on timing for each note of the "note-on message" input to and detected by the performance data processing section 2, and the "note-on message" is detected. Every time a note is detected, and in conjunction with this, another control value different from the note-on timing, for example, the above-described delay vibrato start timing also varies from a predetermined value. Shows the case.
In response to the detected "note-on message", a "note-on message" is simply output as shown in FIG. 3 (a), or another "note-on message" is output as shown in FIG. 3 (c). It is sufficient to determine in advance whether or not the note control parameters are to be varied.
[0058]
The performance data output unit 6 shown in FIG. 1 first has the player systems 1 to N having variations in control values of the note-on timing of the “note-on message” whose input has been detected in different modes. Are output as "note-on messages" of the player systems 1 to N, each of which has a value that is varied by adding a variation value of the above as a new control value of note-on timing. In addition, a predetermined value serving as a reference of the delay vibrato start timing (usually, a standard value of the delay vibrato start timing or a zero value that does not apply the delay vibrato) is set to be different from each other. A predetermined "CCM-NRPM" of the player systems 1 to N having a value that is varied by adding the variation values of the player systems 1 to N having a delay as a new control value of the delay vibrato start timing (FIG. 3 (b)) is also output.
It should be noted that some of the plurality of output “Note-On Messages” may have the same control value as the control value of the input “Note-On Message”. Among the plurality of “CCM-NRPMs” output, the control value of the delay vibrato start timing may be 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 pronounced by the “note-on message” , The delay vibrato start timing can be controlled. Thereafter, every time the same “note-on message” + “CCM-NRPM” or a single “CCM-NRPM” is output, the delay vibrato start timing varies.
However, since the “CCM-NRPM” uniformly controls the tone characteristics of all the notes processed by each player element, the individual notes controlled by the “note-on message” are further replaced by the “CCM-NRPM”. . "
Similarly, instead of the delay vibrato start timing illustrated in FIG. 3C, “CCM-NRPM” for controlling other note control parameters for controlling tone characteristics, such as volume and vibrato speed, is replaced with “note”. By simultaneously outputting the note data with the "ON message", the performance data which is output from a predetermined value may be simultaneously output every time a "note-on message" is detected.
Alternatively, instead of the "CCM-NRPM", a "polyphonic key pressure message" is used to designate a note number of a note pronounced by the "note-on message" and control its tone characteristics. It may be performance data. Since the “polyphonic key pressure message” controls the note that is being pronounced, the “polyphonic key pressure message” to be output is after the “note-on message” to be 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 set of such two performance data. Also in this case, two note control performance data are substantially 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 generated by the "note-on message", and the control value can be varied. As a result, it is possible to reliably function as a note control parameter.
In the MIDI standard, there is a restriction 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. 3 (c), the input “note-on message” uses the control value of the input “note-on message” as it is for the player systems 1 to Although the output is performed so that it can be used by N, the other predetermined note control performance data may have control values different from each other for each of the player systems 1 to N.
[0061]
Among the various note control parameters and tone generator setting parameters described above, the one that is most likely to affect the ensemble feeling is the variation in the note-on timing.
Therefore, in the following description, a case where a variation is given only to the note-on timing will be described in detail as a specific example. The pitches of the musical tone signals played according to the performance data of each player are output while maintaining the same (unison) state.
FIG. 4 is a first explanatory diagram showing actually measured values of variations in note-on timing when playing an acoustic violin. This is a ensemble of four players 1 to 4, in which eight eighth notes are continuously played at four beats at a tempo of 120.
In the figure, the vertical line indicates the regular note-on timing position of the beat, and the center of the note head of the eighth note of each player 1 to 4 is shown as the note-on timing position of each player.
[0062]
The note-on timing of the first to fourth beats deviates from the regular note-on timing.
Player 1 has a relatively large difference in note-on timing, and player 2 has a relatively small difference. Players 3 and 4 always advance the note-on timing and the amount of shift is negative. Thus, a difference in player's individuality is seen.
Looking at the players 1 to 4 as a whole, the first note after the start of the performance tends to be out of time and earlier, but the variation among the players is large. As the note becomes later, the ensemble timing tends to match the regular timing, and the variation among the players decreases. There is also a tendency that the third beat is advanced earlier than the first beat.
Thus, the variation varies depending on the order of the notes in one phrase from the start of the performance. Even during the performance, after the rest after a lapse of a predetermined time or more from the previous note, there is the same tendency as the performance start described above.
The time length of such a rest that can be seen equivalently to the start of the performance is several hundred msec or more, and the influence of the performance tempo is small.
[0063]
FIG. 5 is a second explanatory diagram showing actually measured values of the variation in note-on timing when playing the acoustic violin.
The vertical axis represents the deviation value [ms] when the note-on timing of the beat according to the musical score is set to 0, where a positive value is delayed and a negative value is advanced (protruding). The horizontal axis indicates the timing of each of four beats, that is, four eighth notes. The interval of the note-on timing of the 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.
FIGS. 5A to 5D show shifts in note-on timing for each of the players 1 to 4. The series 0 to 3 indicate the column number of the take, and are the column numbers common to each figure. The explanatory diagram shown in FIG. 4 shows the take of the series 0 shown in FIGS. 5A to 5D for the players 1 to 4 along the time axis.
From this figure, it can be seen that even for the same player, the difference in note-on timing varies greatly for each take.
[0064]
What is obtained by measuring the deviation of the note-on timing by the actual performance of a plurality of players as shown in FIG. 5 is used as it is or further processed to form a “timing sequence”.
In the fluctuation value setting unit 5 shown in FIG. 1, the above-mentioned “timing sequence” is stored in a storage device such as a ROM in advance.
Since the fluctuation value changes in the order (time series) of the notes in the phrase from the start of the performance, the fluctuation value is set by sequentially switching and selecting the fluctuation value of the note-on timing every time a note in the phrase is detected. I do. Even during the performance, after a rest for a predetermined time or more, it is regarded that the performance of a new phrase is started.
Therefore, as an algorithm for realizing the variation of the note-on timing fluctuation value for each player, the note-on timing of the output “note-on message” shall be given a fluctuation value based on the input note-on timing. The fluctuation value is varied every time a note is detected, and each time a phrase is started, the fluctuation value is initially reset to the fluctuation value for the first note.
[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, a number of “timing sequences (multiple takes)” are selected and used according to the number of players.
However, since the ensemble feeling changes depending on the number N of players, it is desirable to use a result obtained by performing an actual performance for each number N of players. At this time, it is also possible to analyze the characteristics of what is measured with a predetermined number of players, process the measured values as appropriate, and create “timing sequence” data for each number of players.
[0066]
Since the fluctuation value of the timing varies depending on the take, the above-mentioned “players timing sequence” data is stored for a plurality of takes such as series 0 to series 3 in FIG. As the music progresses, each time a new phrase is detected, takes are switched in a predetermined order or randomly.
At this time, since the ensemble feeling is obtained by the interaction when a plurality of players play together, the “players timing sequence” of each of the player systems 1 to N has the same variation value sequence (the same Take).
Apart from such a selection method, if one take measured by performing an actual performance is stored for each phrase type classified by the characteristic pattern of the phrase, the performance data detected by the performance data detection unit 4 in FIG. A take suitable for this can be selected and used according to the phrase type.
[0067]
The number of fluctuation values in the “timing sequence” needs to be the same as the number of notes in one phrase. However, the number of notes in one phrase differs depending on the music.
For example, one phrase does not necessarily consist of four notes. When the number is three or less, the “timing sequence” may be reset to the initial value at 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 how to use 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 sequence number (same as the sequence number of the note) of the fluctuation value of the note-on timing with respect to the first to fourth notes of the sequence data is a numeral of 1 to 4. Expressed by
For a certain take (row), the variation value is 1 → 2 → 3 → 4 → 3 → 2 → 3 → 4 → 3... For each note in the phrase.
In the figure, the bar graph shows the strength of the beat 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 note at 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. As shown in the figure, one phrase has beat intensities, and it can be inferred from the actually measured values in FIG. 5 that the difference in note-on timing affects the intensities. 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. The player character is further adjusted by setting the modifier value of the player character. The user adjusts the fluctuation value based on the actual measurement by designating these modification values.
Here, when the performance tempo is fast, the fluctuation value of the note-on timing tends to be small. Therefore, depending on the tempo of the performance, the timing exaggeration coefficient value, which can be said to be a modification value of the deviation rate of the note-on timing 1 Control.
FIG. 7 shows the performance tempo (fTempo) and the timing exaggeration coefficient value of the note-on timing. 1 It is a graph which shows the relationship with (fTempoTimingExp). Two bend points are provided.
When the performance tempo is 60 to 120, the timing exaggeration coefficient value 1 Is made 1 time. As the performance tempo becomes 120-240, the timing exaggeration coefficient value 1 Is gradually reduced to 0.5 times. When the performance tempo is 240 or more, the timing exaggeration coefficient value 1 Is 0.5 times.
[0070]
In the above description, the variation value setting unit 5 shown in FIG. 1 has described a configuration in which the timing deviations measured in the actual performances of a plurality of players are stored as the variation values. Since it is based on actual measurement, there is a reality in the variation of the note-on timing. However, it takes time and effort to perform the actual measurement, and the required storage capacity increases.
Therefore, a method of giving the variation given to the control value by using a random number together will be described.
In this case, although the reality of the ensemble feeling is reduced, it is not necessary to take and store a large number of measured data.
FIG. 8 is a block diagram showing a configuration in which the variation with respect to the note control parameter is obtained by using random numbers together with the measured data of one take.
Reference numeral 21 denotes a player 1 table, and reference numeral 31 denotes a player 2 table, which is a "timing sequence" table for one take (row) based on actual measurement. 22 and 32 are setting units, 23 and 33 are multipliers, 24 and 34 are random number generators, 25 and 35 are multipliers, 26 and 36 are offset magnification designation units, 27 and 37 are adders, and 28 and 38 are offset offset designations. Department.
[0071]
When certain note control performance data, in this specific example, “note-on message” is input and detected for the first time, the setting units 22 and 23 read out the player 1 table 21 and the player 2 table 31. The position is reset to the initial position, and a first fluctuation value corresponding to the first note is set. At the same time, the outputs of the random number generators 24 and 34 are updated.
Each time a “note-on message” is detected, the setting units 22 and 32 sequentially advance the reading positions of the player 1 table 21 and the player 2 table 31, and output a note-on timing variation value.
For the sake of simplicity, the description will be made assuming that the phrase detection timing is input immediately before the note detection timing. Each time the phrase detection timing is detected, the setting units 22 and 32 reset the reading positions of the player 1 table 21 and the player 2 table 31 to the initial positions. When the number of notes in the phrase is large, first, In the pattern shown in FIG. 6, a part of the fluctuation value is repeatedly read.
[0072]
The output of the setting unit 22 is multiplied by the output (−1 to 1) of the random number generator 24 in the multiplier 23. The variation value of the note-on timing stored in the player 1 table 21 gives the maximum value of the variation, and a value less than that value is given by a signed random number output from the random number generator 24.
Since the random number generator 24 updates the output each time a phrase is detected, it means that a variation mode different from that of the first take is generated by random numbers. In other words, the value stored in the player 1 table 21 can be said to be a weighting factor for the variation of notes in a phrase, which is given to a random number value for each take.
[0073]
The output of the multiplier 23 is multiplied by the output of the shift magnification specifying unit 26 in the multiplier 25. The output of the multiplier 25 is added to the output of the shift offset specifying unit 28 in the adder 27 to generate a note-on timing fluctuation value for the player 1. The multiplication may be performed after the addition by reversing the operation order of the multiplier 25 and the adder 27.
The same applies to the fluctuation value of the note-on timing for the player 2, and the same applies to the case where the number of players is three or more.
Note that the random number generators 24 and 33 may be one random number generator and may sequentially distribute and output random numbers for the number of players. Also, the player 1 table 21 and the player 2 table 31 may be prepared by using a large number of player tables, and the user may select and use the tables for the player 1 and the player 2 from among them.
[0074]
In the above description, a table for at least one take (row) based on actual measurement is used for each player in order to enhance the reality of the ensemble feeling.
In order to simplify the configuration, note-on timing for each note in one phrase is provided by using a random number generator having different characteristics of variation for each player instead of the player 1 table 21 and the player 2 table 31. May be given. At this time, it is preferable that the absolute value of the change range be smaller than the random number value output from the random number generators 24 and 34.
Further, for simplification, instead of the player 1 table 21 and the player 2 table 31, only one fixed value different for each player may be used. In this case, if the random number generators 24 and 34 update the random number output not only at the phrase detection timing but also at each timing when the “note-on message” is detected, the random number generators 24 and 34 can also update each note in the phrase. In addition, the fluctuation value of the note-on timing can be varied. At this time, it is preferable that the absolute value of the change range be smaller than the change range of the random number value generated at the phrase detection timing.
[0075]
The functional configuration of the performance data processing method of the present invention has been described above. However, the performance data processing unit 2 shown in FIG. 1 can be implemented in various forms when it is embodied.
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 in the case where the present invention is embodied as a MIDI event front-end processor.
FIG. 9C is an explanatory diagram of a case where the present invention is embodied as a sound source driver function module.
[0076]
In FIG. 9A, the music data storage unit 42 and the music data storage unit 43 are, for example, a memory or an external storage device built in a personal computer on which an electronic musical instrument or sequencer software is executed.
The performance data processing unit 41 reads out and inputs performance data accompanied by timing data from a music data file, for example, an SMF (Standard MIDI File) stored in the music data storage unit 42.
As for the format of the performance data, in addition to “event + relative time” in which the performance event occurrence time is represented by the time from the immediately preceding event as in SMF, the performance event occurrence time is represented by the absolute time in a song or bar. "Event + absolute time", "pitch (rest) + note length" representing performance data in note pitch and note length, rest and rest length, memory area for each minimum resolution of performance , And the performance event may be stored in a memory area corresponding to the time at which the performance event occurs.
[0077]
The performance data processing device 41 outputs performance data for the number of players in order to give an ensemble effect to the input performance data. The output performance data also accompanies the timing data. The performance part and the player element may be identified by, for example, a MIDI channel number.
When a “note-on message” is input, the timing data of the “note-on message” corresponding to the number of output players is, for example, the timing value of the input “note-on message”. Is determined by adding a different fluctuation value to. At this time, if the event timing is specified using the relative time, there are as many "note-on messages" as there are players to output, so calculate the relative time according to the event timing at which they are output. become.
[0078]
The music data stored in the music data storage unit 43 is read out and output to the sound source device during the processing of the music data or after the processing of the music data is completed, whereby the musical sound signal is synthesized.
When the music data storage unit 43 is an external storage device such as a hard magnetic disk or a semiconductor memory card, the performance data is stored in a track corresponding to the MIDI channel number of the input performance data. Performance data of each player element of each performance part may be stored on the same track.
The song data storage unit 42 and the song data storage unit 43 may be the same hardware. It is determined by the user to store the performance data after the processing in a different area or to delete the performance data before the processing.
Since it is not a real-time process, there is no particular problem even if the note-on timing of the output "note-on message" is earlier than the note-on timing of the input "note-on message". Further, after determining the phrase type, the setting of the ensemble effect within the phrase can be controlled.
[0079]
Next, a case where the present invention is embodied as a MIDI event front-end processor device shown in FIG. 9B will be described.
The MIDI output device 1 is, for example, an externally connected MIDI keyboard or electronic musical instrument, and outputs real-time MIDI data without timing data as performance data. It may be performed via a communication cable such as a LAN or the Internet in addition to the connection cable.
The performance data processing unit 44 outputs performance data for the number of players in order to give a ensemble effect to the input performance data. The output performance data is MIDI data without timing data.
The identification of the performance part and the player may be performed by, for example, a MIDI channel number.
[0080]
The sound source device 3 assigns a performance part and a player element according to, for example, a MIDI channel number, and synthesizes and outputs a tone signal for each player.
Because real-time processing is performed, a predetermined processing delay may be required in case the note-on timing of the output note-on message is earlier than the note-on timing of the input “note-on message”. Must 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 data processing unit 44 is used instead of the MIDI output device 1. In this case, the performance data need not be MIDI data, but may be signals used inside the electronic musical instrument.
Similarly, if the sound source device 3 is also built in the electronic musical instrument, the performance data output by the performance data processing unit 44 may be a signal used internally.
If the performance data processing section 44 outputs performance data accompanied by timing data, it can be output to the music data storage section 43 as shown in FIG. 9A.
[0081]
Next, a case where the present invention is embodied by providing the performance data processing unit 45a shown in FIG. 9C inside the tone generator 45 will be described.
The MIDI output device 1 outputs, as performance data, real-time MIDI data without timing data or a signal used inside an electronic musical instrument.
The performance data processing unit 45a operates as a sound source driver function module inside the sound source device 45. The format of the performance data to be output can be determined independently of the format of the input performance data, and the musical note control parameters or the tone generator setting parameters are transferred to the waveform synthesis unit 45b.
Also in this specific example, since the MIDI output device 1 outputs the MIDI data in real time, a processing delay is involved. However, the negative time-series offset may be converted to 0 to maintain the real-time property.
[0082]
FIG. 10 is a second explanatory diagram showing a specific example of the present invention.
FIG. 9 is an explanatory diagram of a case where the present invention is implemented 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 sounding timing. To be more specific, when a currently sounding note (note) ends, and when the next note (note) starts, the sound source device is sent to the sound source device in advance so that various notes can be made regardless of the causality of time. It is a sound source device that can realize the playing style (articulation). An example is a “waveform generation device” described in JP-A-2001-100758.
[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 synthesis processing unit, 46e is a waveform synthesis processing unit, and 46f is a waveform synthesis processing unit. It is a waveform output processing unit.
The music data storage unit 42 holds music data with performance style. A playing style described as a music symbol on a musical score such as strength, tempo, and slur is recorded in the MIDI sequence data as a "playing style symbol".
The music data with rendition style reproduction processing section 46a inputs and reproduces music data. The musical score interpretation processing unit 46b interprets symbols on the musical score (such as arrangement of music symbols and musical notes), converts the symbols into performance data, and outputs the data together with time information to the performance data processing unit 46c. At the same time, the conventional MIDI data is output together with the time information.
[0084]
The performance data processing unit 46c is a functional module that is an embodiment of the performance data processing method of the present invention.
Therefore, ensemble effects for the number of players are set in advance, and the performance data for note control or sound source setting after the musical score interpretation processing is input, and the performance data for note control or sound source setting for a plurality of players is input. Output performance data. The output note control performance data or sound source setting performance data has a variation with respect to the input control value.
[0085]
The rendition style synthesis processing unit 46d generates rendition style designation information from the performance data input for each player system, refers to the rendition style table with the rendition style designation information, and relates to the packet stream (vector stream) and the stream corresponding to the rendition style parameter. A vector parameter is generated and output to the waveform synthesis processing unit 46e. The packet stream includes packet time information, a vector ID, a representative point value sequence, and the like for the pitch element and the amplitude element, and a vector ID, time information, and the like for the waveform element.
The waveform synthesis processing unit 46e extracts vector data from the code book according to the packet stream, transforms the vector data according to the vector parameters, and synthesizes a musical tone waveform based on the transformed vector data.
[0086]
The waveform output processing unit 46f adds and synthesizes the synthesized musical sound waveforms of each player and outputs the resultant. If the performance data of the other performance parts is synthesized by a waveform using a conventional real-time sound source (not shown), the waveform output unit 46f adds and synthesizes the data to output the data from the playback sound source device 46.
In this specific example, since the real-time processing is not performed, 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”, There is no particular problem. Further, it is possible to determine the phrase type and control the setting of the ensemble effect in the phrase.
[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. 9A to 9C and FIG.
The performance data processing units 41 and 44 described above can be realized by causing a CPU (Central Processing Unit) of a personal computer to execute a program. In this case, the program is created as an application program executed under the operating system program. The program is recorded on a recording medium, installed in a personal computer, and the CPU of the personal computer executes this program.
Alternatively, a dedicated hardware board having a CPU, which is close to the architecture of a personal computer, is designed, and a dedicated program for controlling the CPU is stored in a ROM, and a sequencer device or a dedicated electronic musical instrument having a sequencer function is provided. As a result, the present invention may be realized.
[0088]
In addition, the above-described performance data processing units 41 and 44 can realize a DSP (Digital Signal Processor) or a CPU that executes a signal processing algorithm by a dedicated program as an IC chip equivalent to a sound source IC (Integrated Circuit) chip. .
In the case of the performance data processing unit 45a inside the sound source device 45 shown in FIG. 9C, or in the case of the performance data processing unit 46c shown in FIG. By executing a program on a CPU (Central Processing Unit), or by storing a dedicated program for controlling the CPU in a ROM on the board on a unique hardware board, or by implementing a DSP or CPU with an IC. It can be realized as a chip sound source.
[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 based 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, reference numeral 51 denotes a player setting screen displayed on the display of the personal computer; 52, a left pane for displaying the composition of the orchestra; and 53, a right pane for setting the player (for one player).
In the performance data processing device of the present invention, the control parameters of the sound source are managed in the form of a band (performance).
This performance (orchestra) is defined hierarchically and is editable by the user. The hierarchy is displayed in the left pane 52.
[0091]
The performance “Default” is composed of a plurality of parts “Default0”, “Default1”, “Default2”,..., “Default7”. One voice (Voice: musical instrument tone) is assigned to each part. For example, there are voices such as a first violin, a second violin, viola, cello, contrabass, flute 1, flute 2, oboe 1, oboe 2, horn 1, and horn 2.
Note that the above-mentioned names in “” are default names of the names given to the respective parts, and the user can give arbitrary names.
One or more players 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 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 left pane 52 by clicking the mouse button, a setting screen for the player "Default0-0" is displayed in the right pane 53.
Reference numeral 54 denotes a display area for a player name (Instrument Name).
55 is an “Instrument Sample Number” that specifies the timbre of the player, 56 is a “Timing Sequence Number” that specifies the player's player timing (performance action), and 58 is a timing offset coefficient (TimingOffset). ), 59 are timing exaggeration coefficients (TimingExpand, hereinafter referred to as timing exaggeration coefficient values) 2 ) Is an input unit for inputting each.
[0093]
In the example shown in the figure, a method of setting a character of a certain player is performed by a combination of two settings, ie, a setting of a tone color of a musical instrument played by the player and a setting of a performance operation of the player.
That is, an "Instrument Sample Number" that defines the tone of the player that is input and set in the input unit 55, and a "Timing Sequence Number (Timing)" that is input in the input unit 56 and defines the performance of the player. [Sequence Number)] is set as an independent combination of the two. By taking independent combinations, the types of characters can be increased.
Needless to say, the timbre and the character of the performance action may be set at the same time only by the "timing sequence number (Timing Sequence Number)". In FIG. 1 to FIG. 10 described above, both characters are set by the player system numbers 1 to N.
As shown in FIG. 11, when the player numbers are independent player numbers for the timbre relationship and the performance operation relationship as shown in FIG. 11, the note-on timing fluctuation value control in FIGS. The variation value is determined by “sequence number (Timing Sequence Number)”.
[0094]
The variation of the note-on timing is set by a timing table number set on a parameter setting screen (not shown), a set of timing sequences of a plurality of players is selected, and a standard “variation” is set by a “timing sequence number (Timing Sequence Number)”. Is specified, and the timing exaggeration coefficient value and the timing offset as the “modifier value of the player character” input to the input units 58 and 59 are input. 2 Is qualified by
With this modification, the standard “variation pattern” can be adjusted to the user's preference.
In this screen, other sound source control parameters for a certain player are also set. However, since they are not directly related to the present invention, illustration and description are omitted.
[0095]
Next, a specific process performed by the fluctuation value setting unit 5 shown in FIG. 1 when a player character or the like is set as ensemble effect setting information will be described.
FIG. 12 is a parameter configuration diagram for explaining various parameters and their mutual relation.
The parameters related to the performance (orchestra) are collected as performance pack data 61. In this figure, only those relevant to the present invention are shown. The fluctuation value of the note-on timing is summarized in the timing data 71.
The performance data 62 includes an orchestra name, part data 63, and the like. A maximum of 32 parts can be provided. Each part has a voice number set by voice #, and is converted into an entity (voice data 65) in the voice table 64.
[0096]
As an example of the voice data having the voice number voice0, the voice data includes a voice name (Default0), a timing table number (tbl #), element data 66, and the like. A maximum of 32 element data 66 can be stored, and each element data 66 has an instrument number of inst. It is set by # and converted into an entity (instrument data 68) by the instrument table 67.
If the instrument number is inst. 0, the instrument data 68 includes default 0-0, sample #, TimingSequence #, TimingOffset, TimingExpand, and the like, respectively. Sequence number, timing offset, timing exaggeration coefficient value 2 , Etc.
Here, instrument sample number, timing sequence number, timing offset, timing exaggeration coefficient value 2 Is 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 contains 0. tbl-31. There are 32 types of tbl, each having a timing sequence table, a timing exaggeration coefficient table, and the like.
Timing table 0. Regarding ttb, in the [timing sequence table] section, the timing sequence number specified by the user is converted into any entity of 0 = x0, 1 = x1,..., 31 = x31. Although only two players x0 and x1 are shown here, a maximum of 32 players are actually prepared. Here, 0 to 31 on the left side are the values of the timing sequence numbers of the instrument data 68, and specify the Timing Sequence Number in FIG. Each player x0, x1,..., X32 has NUMSERIES takes (columns) defined respectively. [X0] has four takes (columns) 0 to 3.
Each take constitutes a one-column timing sequence consisting of fluctuation values representing the deviations in the sounding timings of the NUMTIMINGS notes defined respectively. The method of using the fluctuation value 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 with respect to the tempo as shown in FIG. 1 (NUMABLE is the number of breakpoints in the table and corresponds to the inflection point in FIG. 7). Numerical values of 120, 1.00F, 240, and 0.50F are read out from this table, and as shown in FIG. 1 Is stored.
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 may be combined into one timing table data 73. For example, the timing table data of the trumpet 1 and the timing table data of the trumpet 2 may be included.
Further, the timing table data of each of the plurality of voices may be combined into one timing table data 73 for each voice category. For example, it includes timing table data of a trumpet 1, a trumpet 2, a trombone, and a synthesizer trumpet of a brass system.
[0100]
Next, the timing process will be specifically described with reference to the parameters shown in FIG. 12 and the flowcharts of FIGS.
FIG. 13 is a flowchart illustrating the timing setting process.
In S81, the tbl # is read with reference to the timing table number in the voice data 65 (in FIG. 12, voiceO is shown).
In S82, 0... Of the timing table data 73 assigned to tbl # of the timing table 72. ttb-31. Read the corresponding one of ttb. In FIG. ttb is shown.
In S83, the instrument number inst. #I Read. Inst. Of instrument table 67 # Of the instrument data 68 assigned to the inst. 0 to inst. 127, the timing sequence number, the timing offset, and the timing exaggeration coefficient value specified by the user in the corresponding ones 2 Read out. In FIG. 0 is shown.
[0101]
In S84, according to the timing sequence number, 0... Of the timing table data 73 assigned to tbl # of the timing table 72. ttb-31. Of the ttb, the timing sequence table in the corresponding one is drawn. Read out the values of NUMSERIES and NUMTIMINGS of the timing sequence described in the section (corresponding one of x0, x1,..., X32) having the same name as the character string indicated by the timing sequence table, and read out the fluctuation value to store To be stored.
Here, NUMSERIES means the total number of columns. In the illustrated example, NUMSERIES = 4 because there are four columns from 0 to 3. NUMTIMINGS is the number of notes (the number of fluctuation values) in the timing sequence, and is 4 in the illustrated example.
In FIG. 12, the contents of the timing sequence of sequence 0 = x0 are displayed.
At S85, the tempo and the corresponding timing exaggeration coefficient value in the timing exaggeration coefficient table in the corresponding timing table data 1 Read out.
[0102]
Next, FIG. 14 is a flowchart illustrating the timing reproduction process. This process starts 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, and if not, the process proceeds to S94. Here, the rest means a state in which there is no note-on even if a predetermined time or more has elapsed since the note-off.
In S92, the count of the phrase number (nPhrase) is advanced, and the process proceeds to S93. However, before the count is advanced, if the phrase number (nPhrase) is equal to or more 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 order in the phrase is set to 0.
S95 is a process for changing the order within the phrase from 0 to 1 to 2 to 3 to 4 to 3 to 2 to 3 to 4 as described with reference to FIG.
The count in the phrase order is advanced by +1. However, before the count is advanced, if the order within the phrase has reached (NUMTIMINGS-1), thereafter the count is reversed by one. 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 shift (offset) =
(Timing data obtained by giving the phrase number and the order within the phrase and deriving the timing sequence) + (Timing offset assigned to each player)
It is.
In step S97, as described with reference to FIG. 7, the timing exaggeration coefficient value is set according to the tempo. 1 Is a process for obtaining A value obtained by interpolating the tempo versus timing exaggeration coefficient table using the current tempo fTempo (the timing exaggeration coefficient value obtained by giving the current tempo) 1 ).
[0105]
In S98, a timing exaggeration coefficient is obtained.
Timing exaggeration coefficient =
(Timing exaggeration coefficient value given the current tempo 1 )
* (Timing exaggeration coefficient value assigned to each player 2 )
It is. The symbol “*” is a multiplication symbol.
In S99, the final note-on timing after adjusting (timing shift) and (timing exaggeration coefficient) for each player is obtained. That is,
NoteOnTiming after adjustment =
NoteOnTiming + (Timing shift) * (Timing exaggeration coefficient)
In this way, in addition to the timing variation obtained from the selected timing sequence, the timing offset and the 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 calculation, (timing offset obtained) is added to (timing data obtained by giving the phrase number and the order in the phrase) and then multiplied by the (timing exaggeration coefficient). The timing data obtained by giving the order may be multiplied by (timing exaggeration coefficient) and then added (timing offset).
[0106]
Further, in the above-described calculation, the values of (timing shift) and (timing exaggeration coefficient) are the values set in the performance data processing unit 2 shown in FIG. Further, the performance data input to the performance data processing unit 2 includes a timing offset for giving a timing deviation and / or a timing exaggeration coefficient for giving a timing exaggeration coefficient. 3 May be newly defined and used. With such new performance data, the value of (timing shift) and / or (timing exaggeration coefficient) may be dynamically controlled by the performance input.
That is, in S96, (timing offset controlled by performance data) is added. And / or S98: (Timing exaggeration coefficient controlled by performance data 3 ).
The example of the flowchart described above relates to the note-on timing. However, such dynamic control based on the performance input is performed by designating an arbitrary note control parameter and a sound source setting parameter to be controlled. Applicable to configuration parameters. Further, by specifying a note to be controlled, the present invention can be applied to an arbitrary note control parameter.
[0107]
In the above description, an instrument (player) is defined for each voice. The user specifies a voice (instrument tone) and then specifies a player, so that a predetermined note control parameter is set to a variation value having a variation mode that differs for each player. If the musical instrument timbres are different, it is possible to set the fluctuation value variation suitable for each musical instrument (tone color) by giving an independent character to the player character.
On the other hand, since the same player sometimes plays different instruments, that is, for the players 1 to N, variations such as note-on timing and delay vibrato start timing are defined, and each instrument (tone color) selected by each player is selected. For each name, a modification value corresponding to the type of instrument may be set.
[0108]
In the specific example of the processing with reference to FIGS. 12 to 14, when a certain voice is to be formed into a plurality of players, the user determines the number of players who participate in the session (ensemble). Next, a timing sequence (for four takes) for the number of participants is selected from among the timing sequences for 32 people (for four takes).
Alternatively, the timing sequence (for four takes) may be selected for each specific combination of players including the number of players. In this case, it is possible to give a variation value in which the correlation between the performances of the individual players is strictly reflected.
[0109]
In the specific example of the processing with reference to FIGS. 12 to 14, for a fluctuation value generated based on a timing sequence that varies for each player, a timing offset and a timing exaggeration coefficient are used as offset modifier values of the player character. It was set for each player.
Alternatively, the offset modifier 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, the ensemble effect is given to one part (one voice). Alternatively, by assigning different voices to the players, it is also possible to process the performance data so that a plurality of players belonging to different parts (voices) can synthesize a musical tone signal when ensemble is performed.
[0110]
In the above description, the performance data processing unit 2 generates musical note control performance data and sound source setting performance data for each of a plurality of players and outputs the generated performance data to the sound source device 3 in order to provide an ensemble effect.
However, the user may set the number of player systems to one, or the number of player systems may be fixed to one in advance. In this case, a performance data processing method, a performance data processing program, and a performance data processing apparatus for outputting note control performance data and tone generator setting performance data for a single player, which can be used to add individuality to a solo performance. , A tone signal synthesizing method. At that time, by giving a strong character to the player's personality, it is possible to output self-asserted performance data. On the other hand, when adding an ensemble effect, it is better to weaken the individuality of the player.
[0111]
The performance data to be processed in the present invention is supposed to be performance data according to a musical score, but this is not always necessary. Whatever the input performance data is, it is possible to add a sense of ensemble or add a unique expression based on the input performance data.
The performance data processed in the present invention is not limited to performance data for electronic musical instruments. The performance data may be 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 ring tone melody sound source. When performance data is processed by a personal computer or a portable communication terminal connected to a network, it is not limited to the case where the performance data processing function of the present invention is completed only on the terminal side. The functions of the present invention may be realized as an entire network system including a terminal and a server.
[0112]
【The invention's effect】
As is clear from the above description, the present invention has an effect that it is possible to generate, with a simple setting, performance data capable of synthesizing a musical sound signal having a realistic ensemble feeling due to a difference in personality of a player.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of a performance data processing method according to the present invention.
FIG. 2 is an explanatory diagram showing an example of a storage form of ensemble effect setting information.
It is explanatory drawing which shows the specific example of the performance data for sound source control and 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 actually measured values of variations in note-on timing when performing using an acoustic violin.
FIG. 5 is a second explanatory diagram showing actually measured values of variation in note-on timing when performing using an acoustic violin.
FIG. 6 is an explanatory diagram of how to use 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 diagram showing a form in which a 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 a performance data processing method according to the present invention.
FIG. 10 is a second explanatory diagram showing a specific example of a performance data processing method according to 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 mutual relation;
FIG. 13 is a flowchart illustrating a timing setting process.
FIG. 14 is a flowchart illustrating a timing reproduction process.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... MIDI output device, 2, 41, 44, 45a, 46c ... Performance data processing unit, 3, 45, 46 ... Sound source device, 4 ... Performance data detection unit, 5 ... Variation value setting unit, 6 ... Performance data output unit , 11a, 12b, 12d, 11e ... player character, 12a, 12b, 12d, 12e ... player character modification value, 42, 43 ... music data storage unit

Claims (14)

一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップ、
を有することを特徴とする演奏データ処理方法。
A performance data type detecting step of inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined tone characteristic with respect to a note constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note each time the predetermined note control performance data is detected, the first to Nth (N is equal to or more than 2) A variable value setting step of setting a variable value up to the (integer) system each time the predetermined note control performance data is detected;
Each time the predetermined note control performance data is detected, a control value of a predetermined tone characteristic for the note included in the predetermined note control performance data is set to the set first system to Nth system, respectively. The value varied according to the variation value up to the above is newly set as a control value of a predetermined tone characteristic for the note, and the performance of the first to Nth systems of the same type as the predetermined note control performance data is performed. Performance data output step of generating and outputting data,
A performance data processing method comprising:
前記音符に対する所定の楽音特性は前記音符の発音を開始するノートオンタイミングである、
ことを特徴とする請求項1に記載の演奏データ処理方法。
The predetermined tone characteristic for the note is a note-on timing at which the sound of the note is started.
2. The performance data processing method according to claim 1, wherein:
前記音符に対する所定の楽音特性は前記音符のディレイビブラート開始タイミングである、
ことを特徴とする請求項1または2に記載の演奏データ処理方法。
The predetermined tone characteristic for the note is a delay vibrato start timing of the note.
3. The performance data processing method according to claim 1, wherein:
入力される前記一連の演奏データ、および、出力される前記第1系統から第N系統までの演奏データは、タイミングデータを伴う演奏データである、
ことを特徴とする請求項1から3までのいずれか1項に記載の演奏データ処理方法。
The input series of performance data and the output performance data of the first to N-th systems are performance data accompanied by timing data.
The performance data processing method according to any one of claims 1 to 3, wherein:
前記第1系統から第N系統までの変動値は、前記第1系統から第N系統までの奏者により同一の楽譜を同時に実演奏したときに分析された、前記音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものである、
ことを特徴とする請求項1から4までのいずれか1項に記載の演奏データ処理方法。
The variation values of the first system to the N-th system are characteristic patterns of variations in musical sound characteristics with respect to the musical notes, which are analyzed when players of the first system to the N-th system simultaneously perform the same musical score. Was created based on
The performance data processing method according to any one of claims 1 to 4, wherein:
前記Nの値を指定する系統数指定ステップを有し、
前記変動値設定ステップは、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための変動値であって、互いに異なる態様のばらつきを有する複数系統の変動値を記憶する変動値記憶手段から、第1系統から第N系統までの変動値を予め選択することにより、前記第1から第N系統までの変動値を設定する、
ことを特徴とする請求項1から5までのいずれか1項に記載の演奏データ処理方法。
A number-of-systems designation step of designating the value of N;
The variation value setting step is a variation value for causing a control value of a predetermined musical tone characteristic for the note to vary every time the predetermined note control performance data is detected, and has a variation in a mode different from each other. Setting variation values of the first to N-th systems by previously selecting variation values of the first to N-th systems from variation value storage means for storing variation values of a plurality of systems;
The performance data processing method according to any one of claims 1 to 5, wherein:
前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの1つであり、
前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値を系統毎に記憶しており、
前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する前記第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 values for a plurality of types of predetermined tone characteristics corresponding to the plurality of types of musical note control performance data to be processed,
The variable value setting step selects and sets, from the variable value storage means, a variable value from the first system to the Nth system for a predetermined tone characteristic controlled by the predetermined note control performance data.
7. The performance data processing method according to claim 6, wherein:
前記変動値設定ステップは、設定された前記第1系統から第N系統までの変動値を、さらに各系統毎に調整して前記出力ステップが用いる前記第1系統から第N系統までの変動値とする、
ことを特徴とする請求項1から7までのいずれか1項に記載の演奏データ処理方法。
The variation value setting step further comprises adjusting the variation value from the first system to the N-th system that has been set, for each system, and using the variation value from the first system to the N-th system used by the output step. Do
The performance data processing method according to any one of claims 1 to 7, wherein:
前記変動値設定ステップは、前記音符に対する所定の楽音特性以外に、前記音符に対する他の所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N系統までの前記他の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、
前記出力ステップは、前記所定の音符制御用演奏データが検出される毎に、前記第1系統から第N系統までの他の音符制御用演奏データであって、それぞれ、前記音符に対する他の所定の楽音特性の制御値を、設定された前記第1系統から第N系統までの他の変動値に応じてばらつかせた値とする演奏データを少なくとも生成して出力する、
ことを特徴とする請求項1に記載の演奏データ処理方法。
The variation value setting step, in addition to the predetermined tone characteristics for the note, to vary the control value of the other predetermined tone characteristics for the note each time the predetermined note control performance data is detected, The other variation values from the first system to the N-th system having variations in different modes are set each time the predetermined note control performance data is detected,
The output step includes, each time the predetermined note control performance data is detected, the other note control performance data from the first system to the N-th system, each of which includes another predetermined control data for the note. Generating and outputting at least performance data in which the control value of the musical tone characteristic varies in accordance with the set other variation values from the first system to the N-th system;
2. 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 is to detect that the input performance data is predetermined sound source setting performance data having a sound source setting value,
The variation value setting step sets variation values from the first system to the N-th system which are different from each other when the predetermined sound source setting performance data is detected,
The output step includes, when the predetermined sound source setting performance data is detected, changing the sound source setting values of the predetermined sound source setting performance data from the set first system to the N-th system. A new value that is made different according to the variation value of the sound source, and generates and outputs performance data of the first to N-th systems of the same type as the predetermined sound source setting performance data. And
The performance data from the first system to the N-th system output by the output step are performance data for the first to N-th waveform synthesis elements, respectively.
The performance data processing method according to any one of claims 1 to 9, wherein:
前記変動値設定ステップは、前記音源設定値を、前記所定の音源設定用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N系統までの変動値を、前記所定の音源設定用演奏データが検出される毎に設定する、
ことを特徴とする請求項10に記載の演奏データ処理方法。
The variation value setting step includes a step of varying the sound source set value from the first system to the N-th system having variations in different modes from each other in order to vary the sound source set value every time the predetermined sound source setting performance data is detected. Setting a value each time the predetermined sound source setting performance data is detected,
11. The performance data processing method according to claim 10, wherein:
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力ステップ、
をコンピュータに実行させることを特徴とする演奏データ処理プログラム。
A performance data type detecting step of inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined tone characteristic with respect to a note constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note each time the predetermined note control performance data is detected, the first to Nth (N is equal to or more than 2) A variable value setting step of setting a variable value up to the (integer) system each time the predetermined note control performance data is detected;
Each time the predetermined note control performance data is detected, a control value of a predetermined tone characteristic for the note included in the predetermined note control performance data is set to the set first system to Nth system, respectively. The value varied according to the variation value up to the above is newly set as a control value of a predetermined tone characteristic for the note, and the performance of the first to Nth systems of the same type as the predetermined note control performance data is performed. Performance data output step of generating and outputting data,
And a computer for executing the program.
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定手段と、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の第1系統から第N系統までの演奏データを生成して出力する演奏データ出力手段、
を有することを特徴とする演奏データ処理装置。
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 tone characteristic for a note constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note each time the predetermined note control performance data is detected, the first to Nth (N is equal to or more than 2) A variable value setting means for setting a variable value up to an (integer) system each time the predetermined note control performance data is detected;
Each time the predetermined note control performance data is detected, a control value of a predetermined tone characteristic for the note included in the predetermined note control performance data is set to the set first system to Nth system, respectively. The value varied according to the variation value up to the above is newly set as a control value of a predetermined tone characteristic for the note, and the performance of the first to Nth systems of the same type as the predetermined note control performance data is performed. Performance data output means for generating and outputting data,
A performance data processing device comprising:
一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるために、互いに異なる態様のばらつきを有する第1系統から第N(Nは2以上の整数)系統までの変動値を、前記所定の音符制御用演奏データが検出される毎に設定する変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、それぞれ、設定された前記第1系統から第N系統までの変動値に応じてばらつかせた値に応じて、第1系統から第N系統までの楽音信号を合成し、合成された該第1系統から第N系統までの楽音信号を出力する楽音信号出力ステップ、
を有することを特徴とする楽音信号合成方法。
A performance data type detecting step of inputting a series of performance data and detecting predetermined note control performance data having a control value of a predetermined tone characteristic with respect to a note constituting the performance data;
In order to vary the control value of the predetermined musical tone characteristic for the note each time the predetermined note control performance data is detected, the first to Nth (N is equal to or more than 2) A variable value setting step of setting a variable value up to the (integer) system each time the predetermined note control performance data is detected;
Each time the predetermined note control performance data is detected, a control value of a predetermined tone characteristic for the note included in the predetermined note control performance data is set to the set first system to Nth system, respectively. A tone signal for synthesizing the tone signals from the first system to the N-th system in accordance with the value varied according to the variation value up to and outputting the synthesized tone signals from the first system to the N-th system. Signal output step,
A tone signal synthesizing method, comprising:
JP2002231559A 2002-08-08 2002-08-08 Performance data processing method and tone signal synthesis method Expired - Fee Related JP3812509B2 (en)

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
CA002436679A CA2436679C (en) 2002-08-08 2003-08-07 Performance data processing and tone signal synthesizing methods and apparatus
US10/635,995 US6946595B2 (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 true JP2004070153A (en) 2004-03-04
JP3812509B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7750230B2 (en) 2004-09-16 2010-07-06 Yamaha Corporation Automatic rendition style determining apparatus and method
JP2015148663A (en) * 2014-02-05 2015-08-20 ヤマハ株式会社 Musical composition processing device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7750230B2 (en) 2004-09-16 2010-07-06 Yamaha Corporation Automatic rendition style determining apparatus and method
JP2015148663A (en) * 2014-02-05 2015-08-20 ヤマハ株式会社 Musical composition processing device

Also Published As

Publication number Publication date
JP3812509B2 (en) 2006-08-23

Similar Documents

Publication Publication Date Title
US7563975B2 (en) Music production system
JP2003241757A (en) Device and method for waveform generation
US20060054006A1 (en) Automatic rendition style determining apparatus and method
US6946595B2 (en) Performance data processing and tone signal synthesizing methods and apparatus
JPH11339060A (en) Musical sound and image generating device
US7816599B2 (en) Tone synthesis apparatus and method
JP4561636B2 (en) Musical sound synthesizer and program
JP3812510B2 (en) Performance data processing method and tone signal synthesis method
JP4407473B2 (en) Performance method determining device and program
JP3812509B2 (en) Performance data processing method and tone signal synthesis method
JP6582517B2 (en) Control device and program
JP2002297139A (en) Playing data modification processor
JP2002032079A (en) Device and method for automatic music composition and recording medium
JP5104414B2 (en) Automatic performance device and program
JP2003271142A (en) Device and method for displaying and editing way of playing
JP4172509B2 (en) Apparatus and method for automatic performance determination
JP2008058796A (en) Playing style deciding device and program
JPH1185174A (en) Karaoke sing-along machine which enables a user to play accompaniment music
JPH10171475A (en) Karaoke (accompaniment to recorded music) device
Aikin Software synthesizers: the definitive guide to virtual musical instruments
JP3760909B2 (en) Musical sound generating apparatus and method
JP5104415B2 (en) Automatic performance device and program
JP4218566B2 (en) Musical sound control device and program
JP3832422B2 (en) Musical sound generating apparatus and method
Ayers Synthesising Chinese flutes using Csound

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