JP2004070154A - 演奏データ処理方法および楽音信号合成方法 - Google Patents
演奏データ処理方法および楽音信号合成方法 Download PDFInfo
- Publication number
- JP2004070154A JP2004070154A JP2002231560A JP2002231560A JP2004070154A JP 2004070154 A JP2004070154 A JP 2004070154A JP 2002231560 A JP2002231560 A JP 2002231560A JP 2002231560 A JP2002231560 A JP 2002231560A JP 2004070154 A JP2004070154 A JP 2004070154A
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【解決手段】演奏データ処理部2は、MIDI出力装置1から演奏データを入力し、複数奏者系統の演奏データを生成して音源装置3に出力する。音源装置3は、自然な合奏感のある楽音信号を合成する。音符制御用演奏データが検出されたときに、検出される毎に制御値がばらついた複数の音符制御用演奏データであって、奏者系統毎にばらつきの態様が異なるものを生成する。音符制御パラメータの変動値は、各奏者系統毎に備えられており、それぞれの系統は、複数個の変動値からなる変動値列を有し、順次選択されて利用される。フレーズの区切りが検出されると、ばらつきの異なる態様を有する変動値列に切り替える。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、電子楽器分野において、演奏データに奏者の個性(キャラクタ)を反映した表情付けを行う演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、および、楽音信号合成方法に関するものである。
【0002】
【従来の技術】
アコースティック楽器で合奏(セッション)をする場合、複数の奏者が同一楽器を用いて同一楽譜を演奏しても、各奏者の演奏音は全く同じにはならない。
各奏者の奏法や感情には、個性によるばらつきがある。また、各奏者が用いているアコースティック楽器の音響特性も微妙にばらついている。その結果、全体としての楽音信号に合奏感が付加されることになる。
電子楽器分野において、鍵盤演奏によるライブ演奏、あるいは、シーケンサに音符を打ち込んで行う楽曲制作の場合などにおいて、このような合奏感を出すために、従来、種々の方法が用いられていた。
【0003】
第1の方法は、「デチューン」である。ある1つの音色(ボイス)が指定されたとき、複数のエレメントの発音を同時に行うようにする。その際、各エレメントの発音間で、ピッチをわずかにずらせることによって、1つの音符に対する「ノート・オン・メッセージ」が入力されたときでも、複数の音が同時に発音されているような効果を与える。しかし、各エレメントの設定を一律に異ならせるだけで、デチューン量は、どの音の発音についても一定である。したがって、アコースティック楽器の合奏のような、ばらついた感じを出せないという問題がある。
【0004】
第2の方法は、「セクション音」と呼ばれているボイスを使用する方法である。予め複数の楽器による合奏をサンプリングして波形メモリ音源の原波形とする。例えば、音色の「ストリング」セクションにおいて、セクション音「ストリングス」を選択すれば、合奏感のあるリアルな雰囲気のサウンドが得られる。しかし、複数奏者の音であるにもかかわらず、分離不可能に合成されたセクション音に対して、一律に各種の音源制御を行うため、出力される音が単調で不自然になる傾向がある。また、セクション音のニーズには、ストリングス、ブラス、人声など、様々なものがあるが、ユーザが望んでも所望のセクション音が音源に用意されていなければ実現できないという問題点がある。
【0005】
第3の方法は、複数のソロボイス(単体楽器の音色)の演奏データを、必要な数だけ作成して使用するという方法である。第4の方法は、上述した第2,第3の方法によるボイスを混ぜ合わせて使用する方法である。
これら第3,第4の方法では、ボイスの混ぜ方によって、好みのサウンドを実現できる可能性が広がる。しかし、合奏感を得るには、各ボイス用にシーケンスデータを用意し、試行錯誤しながら調整をしなければならないので、設定が大変面倒である。しかも、音符を打ち込む場合にのみ可能であり、鍵盤演奏等のリアルタイム演奏には対応できないという問題点もある。
上述した問題点は、合奏感を得る上の問題点であったが、合奏を行う個々の演奏、あるいはソロ演奏に関しても、奏者の個性を反映した表情付けを効果的かつ簡単に行うことが望まれていた。
【0006】
【発明が解決しようとする課題】
本発明は、上述した問題点を解決するためになされたもので、個性ある表情を有した楽音信号を合成できるように、入力された演奏データを処理する演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、および、楽音信号合成方法を提供することを目的とするものである。
特に、ノートオンタイミングにばらつきを与えるように演奏データを処理することにより、個性ある表情を有した楽音信号を合成できるようにする。
【0007】
【課題を解決するための手段】
請求項1に記載の発明においては、演奏データ処理方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、演奏データを構成する音符に対する所定の楽音特性を所定の音符制御用演奏データが検出される毎にばらつかせるとともに、フレーズの区切りが検出される毎に態様が異なるばらつきを有した少なくとも1系統の音符制御用演奏データを出力することができる。
楽音特性にこのようなばらつきが与えられる結果、音源装置に対し、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0008】
請求項2に記載の発明においては、請求項1に記載の演奏データ処理方法において、前記フレーズ検出ステップは、前記一連の演奏データ中の音符列の切れ目を検出することにより前記フレーズの区切りを検出するものである。
したがって、メロディパターン等の曲データ内容の解析を行うことなく、フレーズの区切りを簡単に検出することができる。
【0009】
請求項3に記載の発明においては、請求項1または2に記載の演奏データ処理方法において、前記音符に対する所定の楽音特性は前記音符の発音を開始するノートオンタイミングである。
したがって、音符のノートオンタイミングのばらつきが、楽音信号の表情付けに対する寄与が大きい。
したがって、音源装置に対し、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0010】
請求項4に記載の発明においては、請求項1から3までのいずれか1項に記載の演奏データ処理方法において、入力される前記一連の演奏データ、および、出力される任意の演奏データは、タイミングデータを伴う演奏データである。
曲データファイル形式の演奏データであるのでリアルタイム処理を行わなくてもよい。したがって、演奏データの処理が容易になる。
【0011】
請求項5に記載の発明においては、請求項1から4までのいずれか1項に記載の演奏データ処理方法において、前記少なくとも1系統の変動値は、少なくとも1人の奏者により同一の楽譜を実演奏したときに分析された、前記音符に対する所定の楽音特性のばらつきの特徴パターンに基づいて得られたものである。
変動値が実測に基づいて作成されたものであるので、音源装置に対し、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0012】
請求項6に記載の発明においては、請求項1から5までのいずれか1項に記載の演奏データ処理方法において、前記変動値設定ステップは、互いにばらついた複数の変動値からなる変動値列を少なくとも1系統、記憶する変動値記憶手段から、前記フレーズの区切りが検出される毎に、記憶された少なくとも1系統の前記列の初期値を指定するとともに、前記所定の音符制御用演奏データが検出される毎に、前記記憶された少なくとも1系統の列の前記変動値を順番に読み出すものである。
実測によれば、フレーズ内の音符位置と変動値との間には相関性がある。変動値記憶手段に、このような相関性を有した変動値を記憶しておけば、音源装置に対し、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0013】
請求項7に記載の発明においては、請求項6に記載の演奏データ処理方法において、前記変動値設定ステップは、前記変動値記憶手段から読み出される前記少なくとも1系統の変動値に対して、前記フレーズの区切りが検出される毎にばらつきの態様を異ならせる演算をすることによって前記変動値を設定するものである。
したがって、フレーズの区切り毎にばらつきの態様の異なるものを容易に得ることができる。変動値記憶手段には、1フレーズ分の変動値を記憶しておくだけでよいので、必要とする記憶容量を小さくすることができる。演算には、例えば、乱数の乗算を用いればよい。
【0014】
請求項8に記載の発明においては、請求項6に記載の演奏データ処理方法において、前記変動値記憶手段は、互いに異なる態様のばらつきを有する複数系統分の前記変動値列を記憶しており、前記変動値設定ステップは、前記変動値記憶手段から、前記少なくとも1系統の変動値列を選択して設定するものである。
したがって、系統数に応じた制御値を得ることができる。
【0015】
請求項9に記載の発明においては、請求項8に記載の演奏データ処理方法において、前記フレーズの区切りにより分割された演奏区間毎に、該演奏区間中の前記所定の音符列の特徴パターンを検出する特徴パターン検出ステップを有し、前記変動値設定ステップは、前記特徴パターンに応じて、前記複数系統の中から、前記特徴パターンに適した前記少なくとも1系統の変動値列を選択して設定するものである。
したがって、フレーズパターンに適した系統の変動値列を選択することができる。
【0016】
請求項10に記載の発明においては、請求項1から5までのいずれか1項に記載の演奏データ処理方法において、前記変動値設定ステップは、各列が互いにばらついた複数の変動値からなり、かつ、列毎にばらつきの態様が異なる複数の変動値列を少なくとも1系統、記憶する変動値記憶手段から、前記フレーズが検出される毎に、少なくとも1系統の前記変動値列を順次切り替えて該列内の最初の前記変動値を指定し、前記所定の音符制御用演奏データが検出される毎に、該列内の前記変動値を順番に読み出すものである。
したがって、フレーズの区切り毎にばらつきの態様の異なるものを容易に得ることができる。フレーズ間に相関性を有する変動値を変動値記憶手段に記憶させれば、音源装置に対し、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0017】
請求項11に記載の発明においては、請求項6から10までのいずれか1項に記載の演奏データ処理方法において、前記変動値設定ステップは、前記所定の音符制御用演奏データが検出される毎に、前記少なくとも1系統の変動値列における前記変動値を順番に選択して行き、前記制御値の最後のものを読み出したときには、前記制御値を1つずつ逆方向に読み出して行き、前記初期値の次の順番のものを読み出したときには、再び、順方向に読み出して行き、以後、逆方向の読み出しと前記順方向の読み出しとを繰り返すものである。
実測によれば、フレーズ内の音符位置と変動値との間には相関関係があり、最初に選択される初期値は、他の変動値とは大きく異なる傾向がある。また、フレーズ内の弱拍と強拍とでは変動値が異なる傾向がある。変動値記憶手段に、このような相関を有した変動値を記憶しておけば、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0018】
請求項12に記載の発明においては、請求項6から11までのいずれか1項に記載の演奏データ処理方法において、前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの1つであり、前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値を少なくとも1系統、記憶しており、前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する少なくとも1系統の前記変動値を選択して設定するものである。
したがって、複数種類の音符制御用演奏データを対象として演奏データの処理をすることができる。
特に、変動値記憶手段に、複数種類の所定の楽音特性に対する個別の変動値として、複数種類の所定の楽音特性間に相関性を有するものを記憶させれば、個性ある表情を有した楽音信号を合成できる音符制御用演奏データを出力することができる。
【0019】
請求項13に記載の発明においては、請求項1から12までのいずれか1項に記載の演奏データ処理方法において、前記変動値設定ステップは、設定された前記少なくとも1系統の変動値を、さらに調整して前記出力ステップが用いる前記少なくとも1系統の変動値とするものである。
したがって、変動値を容易に調整することができる。調整は、例えば、オフセット値や誇張係数を設定して行うことができる。
【0020】
請求項14に記載の発明においては、演奏データ処理方法において、一連の演奏データを入力し、音源設定値を有した所定の音源設定用演奏データを検出する演奏データ種別検出ステップと、前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、前記所定の音源制御用演奏データが検出されるか、および、前記フレーズの区切りが検出される毎に前記音源設定値をばらつかせる少なくとも1系統の変動値を、前記所定の音源制御用演奏データが検出されたとき、および、前記フレーズの区切りが検出される毎に設定する変動値設定ステップと、前記所定の音源制御用演奏データが検出されたときに、当該所定の音源制御用演奏データが有する音源設定値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音源設定値とし、当該所定の音源制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力するとともに、前記フレーズの区切りが検出される毎に、最後に検出された前記所定の音源設定用演奏データが有していた音源設定値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音源設定値とし、前記所定の音源制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、所定の音源制御用演奏データが検出されたときに、および、その後にフレーズの区切りが検出される毎に、所定の音源設定用演奏データが有していた音源設定値を、選択された少なくとも1系統の変動値に応じてばらつかせることができる。
音源設定にこのようなばらつきが与えられる結果、音源装置に対し、個性ある表情を有した楽音信号を合成できる音源設定用演奏データを出力することができる。
【0021】
請求項15に記載の発明においては、コンピュータに実行させる演奏データ処理プログラムにおいて、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力ステップを有するものである。
したがって、コンピュータに請求項1に記載の演奏データ処理方法を実行させることができる。
【0022】
請求項16に記載の発明においては、演奏データ処理装置において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出手段と、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定手段と、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力手段を有するものである。
したがって、請求項1に記載の演奏データ処理方法と同様の作用効果を奏する。
【0023】
請求項17に記載の発明においては、楽音信号合成方法において、一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定ステップと、前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値に基づいて、少なくとも1系統の楽音信号を合成して出力する楽音信号出力ステップを有するものである。
したがって、個々の音符に対する所定の楽音特性を所定の音符制御用演奏データが検出される毎にばらつかせるとともに、フレーズの区切りが検出される毎に態様が異なるばらつきを有した少なくとも1系統の楽音信号を合成することができる。楽音特性にこのようなばらつきが与えられる結果、個性ある表情を有した楽音信号を合成することができる。
【0024】
上述した請求項1ないし16のいずれか1項に記載の発明において、変動値を複数系統の変動値とし、かつ、複数系統の演奏データを生成した場合に、合奏感が付加された楽音信号を合成できる演奏データを出力することができる。音源装置は、演奏データを構成する音符に対する所定の楽音特性あるいは音源設定値にばらつきが与えられて、系統毎に波形合成を行う結果、複数奏者が実演奏しているような合奏感のある楽音信号を合成できる。その際、互いに異なる態様のばらつきを有する複数系統の変動値とすれば、合奏感をさらに増すことができる。
また、上述した請求項17に記載の発明において、変動値を複数系統の変動値とし、かつ、複数系統の楽音信号を合成した場合に、合奏感が付加された楽音信号を合成できる。その際、互いに異なる態様のばらつきを有する複数系統の変動値とすれば、合奏感をさらに増すことができる。
【0025】
【発明の実施の形態】
図1は、本発明の演奏データ処理方法の実施の一形態を示すブロック構成図である。
図中、1はMIDI出力装置、2は演奏データ処理部、3は音源装置である。MIDI出力装置1は、例えば、リアルタイム演奏されるMIDI鍵盤、あるいは、曲データを再生するシーケンサ装置などである。
演奏データ処理部2は、MIDI出力装置1から演奏データを入力し、複数の奏者系統の演奏データを生成して音源装置3に出力する。音符制御用演奏データが検出されたときには、検出される毎に制御値がばらついており、各奏者の個性を反映してばらつきの態様が異なる複数奏者系統の音符制御用演奏データを生成して音源装置3に出力する。
【0026】
音源装置3は、奏者系統に対応して楽音信号を合成する複数の奏者エレメントを有している。図1では、ばらつきを生成する奏者系統の数と楽音信号を合成する奏者エレメントの数とは、一致しているが、必ずしも一致している必要はない。つまり、奏者エレメントの数が奏者系統数よりも多くなってもよい。
音源装置3は、入力された各奏者系統の演奏データに基づいて、奏者エレメント毎に楽音信号を合成して、自然な合奏感のある楽音信号を、例えば、モノラルあるいはステレオ形式でスピーカから出力させる。
なお、図9を参照して後述するように、MIDI出力装置1に代えて、曲データ記憶部から演奏データが出力される場合がある。また、音源装置3に代えて、曲データ記憶部に演奏データを出力する場合もある。
MIDI出力装置1は、演奏データとして、例えば、MIDIシーケンスデータを出力する。合奏効果を付加する対象は、通常、1つの演奏パートを対象とするので、演奏データ処理部2は、1パートに対応する1MIDIチャンネルのMIDIシーケンスに対する処理を行う。また、別の合奏効果が付加される場合は、別の演奏パートに対してなされる。説明の便宜上、合奏効果を付加する演奏パートは、ユーザによって予め選択されているものとし、以下の説明では、合奏効果を付加する演奏パートの演奏データの処理についてのみ説明する。もちろん、合奏効果を付加する演奏パートを演奏に応じてリアルタイムでマニュアル・自動を問わず、選択できるようにしてもよい。
【0027】
演奏データは音源装置を制御する音源制御パラメータを有し、この音源制御パラメータは、音符制御パラメータと音源設定パラメータに分類される。
音符制御用演奏データは、演奏データを構成する、楽譜上の個々の音符(個々の音)の楽音特性(音符制御パラメータ)の制御値を有する。音符制御用演奏データとしては、例えば、「ノート・オン・メッセージ」や「ノート・オフ・メッセージ」がある。
音源設定用演奏データは、音源の楽音特性(音源設定パラメータ)の設定値を有し、対応する個々の奏者エレメントに音源設定パラメータの設定値を設定する。音源設定パラメータは、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御する。音源設定用演奏データとしては、例えば、「プログラム・チェンジ・メッセージ」などがある。
ただし、一般に音源制御パラメータと見なされるパラメータであっても、個々の音符の楽音特性を制御したい場合がある。このような場合の音源制御パラメータは、音符制御パラメータとして取り扱う。
【0028】
このような音符制御用演奏データ、音源設定用演奏データの全てに対して合奏効果を付与するための処理を行う必要はなく、予め決めた所定のものに対して合奏効果を付与するための処理を行えばよい。
例えば、「ノート・オフ・メッセージ」に対しては、その音符制御パラメータの設定値を制御しないと設定してもよい。予め決めた所定の演奏データ以外の演奏データは、入力されたものが、そのまま複数の奏者系統用にコピーされて音源装置に出力されればよい。
あるいは、予め決めた所定の演奏データ以外の演奏データは、奏者系統が指定されないで出力されることから、音源装置3側が、自動的に各奏者エレメント用に音符制御パラメータの制御値あるいは音源設定パラメータの音源設定値をコピーして楽音信号を合成してもよい。
【0029】
演奏データ処理部2において、4は演奏データ検出部、5は変動値設定部、6は演奏データ出力部である。
ユーザは、予め、演奏データ処理部2の変動値設定部5に対して合奏効果設定操作を行う。まず、奏者系統数Nを設定し、奏者系統1〜N毎に合奏効果の設定操作を行う。
制御される音符制御パラメータおよび音源設定パラメータの変動値が、各奏者系統1〜N毎に備えられている。音符制御パラメータの各系統は、複数個の変動値からなる変動値列を有し、順次選択されて利用される。音源設定パラメータの各系統は、典型的には、1個の変動値を有する。
各奏者系統1〜Nの変動値は、実演奏の合奏のような、系統間に相関性を有したものとすれば好適である。
【0030】
まず、音符制御パラメータについて説明する。奏者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は、互いにばらついた値である。但し、全くランダムというわけではなく、フレーズ内の音符位置、フレーズ種別、奏者の個性などの影響を受けたものであるので、相互に相関性を有したばらつきである。
【0031】
MIDI出力装置1から入力された演奏データは、演奏データ検出部4において、演奏データの種別が検出され、変動値設定部5に出力される。後述するように、フレーズ種別も検出して変動値設定部5に出力する場合もある。
また、音符制御用演奏データ(例えば、「ノート・オン・メッセージ」)の検出タイミングおよびフレーズ検出タイミング(フレーズの切れ目)も検出されて、変動値設定部5に出力される。また、検出された所定の演奏データの演奏データ種別および、この所定の演奏データが有している音符制御パラメータの制御値は、演奏データ出力部6に出力される。
【0032】
音符の時間間隔、言い換えれば休符の時間間隔、より具体的には、前の音符のノートオフタイミングから次の音符のノートオンタイミングまでの時間間隔が、所定の閾値以上あるか否かを判定することによって、音符列の切れ目のタイミングを検出し、これをフレーズの切れ目と判断する。上述した所定の閾値は、ユーザによって調整可能である。曲の演奏テンポによっては特に変更しなくてもよいが、個々の曲によっては、閾値を変更することが望ましい場合がある。
フレーズは、楽曲の曲想が変化する切れ目であるので、楽曲の内容を分析することによってフレーズの切れ目を検出するようにしてもよい。あるいは、入力された演奏データに、予めフレーズの切れ目を示す情報が含まれていれば、これを用いてもよい。
【0033】
入力された演奏データが、ある所定の音符制御用演奏データであることが検出されたときには、変動値設定部5において、各奏者系統1〜Nの音符制御パラメータa,b,…の変動値の中から、この所定の音符制御用演奏データが制御する所定の楽音特性に対応する音符制御パラメータ、例えば、音符制御パラメータaの変動値が選択されて、これが設定される。
第1の奏者について例示すると、同じ種類の所定の音符制御用演奏データ(例えば、「ノート・オン・メッセージ」)が検出される毎に(すなわち、音符が検出される毎に)、音符制御パラメータa(例えば、ノートオンタイミング)の変動値a11,a12,a13,a14が順次選択される。各変動値は互いにばらついており、また、音符制御パラメータaの変動値は、各奏者系統1〜N毎にばらつきの態様が異なっている。
【0034】
演奏データ検出部4で上述した所定の音符制御用演奏データ(例えば、「ノート・オン・メッセージ」)が検出されたとき、演奏データ出力部6は、この所定の音符制御用演奏データの演奏データ種別および音符制御パラメータa(例えば、ノートオンタイミング)の制御値を入力し、この制御値を基準に、奏者系統1〜Nの音符制御パラメータaの変動値a11,a21,a31,……,aN1だけばらついた制御値を、奏者系統1〜Nに設定する。
例えば、入力された音符制御用演奏データが有する制御値に、変動値a11,a21,a31,……,aN1をそれぞれ加算したり、あるいは、それぞれ乗算したりして、奏者系統1〜N毎に新たに所定の音符制御パラメータの制御値とする。
加算するか乗算するかは、制御対象の音符制御パラメータによって適切な方を用いる。加算あるいは乗算以外の演算を行ってもよい。
演奏データ出力部6においては、これらの制御値を用いて、入力された所定の音符制御用演奏データと同一種類であって、奏者系統1〜Nの音符制御用演奏データを生成して出力する。
【0035】
したがって、演奏データ出力部6は、入力された所定の音符制御用演奏データに対し、この演奏データが検出される毎にばらついており、かつ、奏者毎にばらつきの態様が異なった、所定の音符制御パラメータの制御値を有する奏者系統1〜Nの音符制御用演奏データを、音源装置3内の奏者系統1〜Nに対応した奏者エレメントに出力する。
なお、変動値設定部5は、入力されたある所定の音符制御用演奏データが、複数の音符制御パラメータを制御する種類のものである場合(例えば、「ノート・オン・メッセージ」は、ノートオンタイミング、ノート番号、および、ベロシティ((オンベロシティ))という3つの音符制御パラメータを有している)、複数の音符制御パラメータのいずれをばらつかせるか(複数でもよい)を予め決めておけばよい。
変動値設定部5においては、各音符制御パラメータa,b,…の変動値を、対応する所定の音符制御用演奏データが検出される毎にばらつかせるとともに、フレーズが検出される毎に、異なる変動値列(テイク)に切り替えるようにすることにより、一層、合奏感を深めることができる。
例えば、第1の奏者の音符制御パラメータaの変動値を、フレーズが検出されたときに、異なる変動値の列a’11,a’12,a’13,a’14に切り替える。
【0036】
また、フレーズの音楽上の特徴を演奏データ検出部4において分析し、フレーズ種別を変動値設定部5に出力してもよい。変動値設定部5は、フレーズ種別に応じた変動値列(テイク)を選択して、これを設定するなどして、音符制御パラメータのばらつきの態様を異ならせることにより、適切なばらつきを動的に与える。
具体的には、フレーズ内の音の音価の並びのパターン、すなわち、メロディパターン(音高パターン)、ノートオンタイミングの変化パターン、あるいは、強拍弱拍のリズムパターン等を分析し、例えば、音高パターンが山形なら、その山頂の部分の変動値は小さくしたり、音価パターンの裏拍にあたる拍位置の変動値は大きくしたりする。
なお、フレーズ種別の判定は、そのフレーズが始まってからでないと判定できないので、音源装置3がリアルタイム演奏をする場合は、フレーズ種類の判定が事前にできない。所定時間遅れた後に音源装置3が演奏データを出力する演奏形態では、フレーズ種類の判定が間に合うように遅れ時間を決めればよい。
【0037】
また、演奏テンポ情報も、変動値設定部5への制御入力としている。これは、図7等を参照して後述するように、所定の楽音特性がタイミングに関する音符制御パラメータである時に、演奏のテンポによってばらつきの程度を調整する必要があるためである。
演奏テンポ情報は、入力されるMIDIシーケンスの演奏テンポである。テンポ情報は、MIDI出力装置1が出力する演奏データに含ませておいたり、ユーザが予め演奏データ処理部2に入力しておいたりする。あるいは、MIDI出力装置1が出力する演奏データのMIDIシーケンスから、演奏テンポを推定してもよい。
【0038】
次に、入力された演奏データが、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御する、音源設定用演奏データである場合について説明する。
演奏データ処理部2は音符制御用演奏データとは異なる処理を行う。
演奏データ検出部4が、変動値設定部5に所定の音源設定用演奏データの演奏データ種別を出力するとともに、所定の音源設定用演奏データの演奏データ種別およびその音源設定パラメータの制御値を演奏データ出力部6に出力する。
変動値設定部5においては、奏者系統1〜N毎に、この所定の音源設定用演奏データに対応する音源設定パラメータの変動値を選択して、演奏データ出力部6に出力する。
【0039】
演奏データ出力部6においては、入力された所定の音源設定用演奏データと同一種類である奏者系統1〜Nの音源設定用演奏データを生成する。その際、所定の音源設定用演奏データが検出されたときに、この所定の音源設定用演奏データが有していた音源設定パラメータの制御値を、それぞれ、変動値設定部5において選択された奏者系統1〜Nの変動値に応じてばらつかせた値を、新たに音源設定パラメータの設定値とする。
したがって、演奏データ出力部6は、入力された所定の音源設定用演奏データに対して、奏者系統1〜N毎に異なった音源設定値を有する奏者数分の音源設定用演奏データを、音源装置3内の奏者系統1〜Nに対応した奏者エレメント1〜Nに出力する。
【0040】
なお、入力された音源制御用演奏データが有する設定値に、変動値を加算したり乗算したりしたものを、奏者系統1〜N毎に新たに所定の音源制御パラメータの制御値とするに際して、加算するか乗算するかは、設定対象の音源制御パラメータによって適切な方を用いればよい。加算あるいは乗算以外の演算を行ってもよい。
入力された、ある所定の音源設定用演奏データが、複数の音源設定パラメータを同時に設定するものである場合は、その複数の音源設定パラメータのいずれをばらつかせるのか(複数でもよい)を予め決めておけばよい。
【0041】
音源設定パラメータは、時間的に変動させる必要性が少ないので、所定の音源設定用演奏データが入力される毎に変動値をばらつかせたり、演奏テンポ情報によって変動値を制御したりしなくてもよい。しかし、音源設定用パラメータの変動値も、フレーズが検出される毎に、あるいは、フレーズの種類に応じて、異なる変動値列(テイク)に切り替えるようにして、適切なばらつきを動的に与えてもよい 。
音源設定用演奏データが、一度音源装置3に出力されると、音源装置3では、音源設定値がそのまま維持されている。
したがって、演奏データ出力部6は、最後に検出された音源設定用演奏データが有していた音源設定値を保持しておく。フレーズが検出されたときに、保持されていた音源設定値に、切り替えた変動値を加算するなどしてばらつかせた音源設定値を新たな音源設定値として、所定の音源設定用演奏データを生成して出力する。
【0042】
演奏データ処理部2から音源装置3への転送インターフェースは、種々の音源装置3の入力仕様に適したものを採用すればよい。
出力された演奏データは、その後の処理においても、波形合成される前であれば、奏者系統1〜N毎に個別に各種の音符制御あるいは音源設定を行うことができる。
音源装置3が、MIDIインターフェースのように、1入力しか有しない場合、演奏データに演奏パートおよび奏者を特定する情報を持たせばよい。例えば、MIDIチャンネル番号を利用することができる。演奏データ出力部6は、MIDI出力装置1から入力された演奏データの演奏パートを示すMIDIチャンネル番号を、演奏パートと奏者の両者を特定できるMIDIチャンネル番号に変換すればよい。
【0043】
音源装置3が、ある演奏パートの各奏者エレメントへの演奏データ入力を、時分割で入力する場合には、演奏データ出力部6も、この時分割チャンネルに合わせて演奏データを出力すればよい。
音源装置3が、音符制御用演奏データと音源設定用演奏データとを別のラインで入力するものであれば、演奏データ出力部6においても、これに合わせて音符制御用演奏データと音源設定用演奏データとを別々に出力する。
音源装置3によっては、「ノート・オン・メッセージ」や「ノート・オフ・メッセージ」など、限られたものしか受け付けないものもある。このような場合、演奏データ処理部2は、音源装置3が受け付け可能な演奏データについてのみ音源装置3に転送すればよい。
【0044】
次に、合奏効果設定情報の具体例を、MIDIデータを実例にして説明する。
音符制御用演奏データとしては、例えば、「ノート・オン・メッセージ」、「ノート・オフ・メッセージ」、「ポリフォニック・キー・プレッシャ・メッセージ」などがある。
「ノート・オン・メッセージ」は、音符制御パラメータである、ノートオンタイミング、ノート番号(音高)、ベロシティ(オンベロシティ)の制御値を音源に指示する。
「ノート・オフ・メッセージ」は、ノートオフタイミング、ノート番号(音高)、ベロシティ(オフベロシティ)の制御値を音源に指示する。
「ポリフォニック・キー・プレッシャ・メッセージ」は、音符のノート番号(音高)を指定することにより、発音中の特定の音符に対してその楽音特性を制御する。「ポリフォニック・キー・プレッシャ・メッセージ」のプレッシャー値には、本来は音源制御パラメータである、ピッチ、フィルターカットオフ周波数、音量、低周波発振器のピッチ深さ、フィルター深さ、振幅深さ等の制御値を割り当てることができる。
【0045】
一方、音源設定用演奏データとしては、例えば、「プログラム・チェンジ・メッセージ」や「コントロール・チェンジ・メッセージ」等がある。
「プログラム・チェンジ・メッセージ」では、ボイス(音色)番号の指定により音源設定パラメータの1つである音色パラメータを制御する。
「コントロール・チェンジ・メッセージ」の「ノン・レジスタード・パラメータナンバー」(以下、単にNRPNという)」を用いて「アタックタイム」、「ビブラート・ディレイ」等の値を設定することで、それぞれ、音源設定パラメータの1つである、エンベロープの立上り時間やディレイビブラート開始タイミングを設定することができる。
上述した例に限らず、「NRPN」を用いて、エンベロープ関係、ビブラート関係、ローパスフィルタ関係、イコライジング(楽音信号の周波数特性)関係などの、種々の音源設定パラメータを設定することが可能である。
これまでの説明では、音符制御パラメータと音源設定パラメータとを別々説明してきたが、「ディレイビブラート開始タイミング」のような音源制御パラメータは、音符に対するもの、音源設定に対するもの、あるいはそれらの両方として用いることができる。独自の規約に従った演奏データを定義できる場合は、勿論であるが、現状のMIDI規格においても、上述した「ポリフォニック・キー・プレッシャ・メッセージ」を使用するか、あるいは、図3(c)を参照して後述する方法をとればよい。
【0046】
図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の奏者キャラクタ修飾値である。
奏者キャラクタは、音符制御パラメータの制御値に対する変動値、あるいは、音源設定パラメータの音源設定値に対する変動値で表される。この変動値は、音符制御パラメータの制御値あるいは音源設定パラメータの設定値に与えるオフセット(加算値)や倍率(重み係数)として定義される。
【0047】
音符制御パラメータaの奏者キャラクタ11aは、奏者系統1〜N系統毎に、1または複数の変動値列(テイク)を有し、各テイクはテイク番号で指定される。各テイクは、互いにばらついた複数の変動値からなる。しかも、奏者系統1〜N系統毎に互いにばらつきの態様が異なっている。奏者キャラクタ11bについても同様である。
フレーズが検出される毎に、次のテイクの列(図示では行)の初期値(第1番目の値)の読み出しを指定するとともに、この音符制御パラメータaに対応した所定の音符制御用演奏データが検出される毎に、テイクの列の変動値を順番(図示では横方向)に読み出す。
例えば、「ノート・オン・メッセージ」の場合、1フレーズ内の音符が検出されたときには、その順番にしたがって変動値を選択することにより、例えばノートオンタイミングの値を変動させる。他の所定の音符制御用演奏データの場合、この所定の音符制御用演奏データが検出されたときには、その検出順番にしたがって変動値を選択することによって、所定の音符制御パラメータの値を変動させる。
【0048】
また、フレーズの変化がある毎に、テイク番号を順番に切り替える。最後のテイク番号が選択されていたときには、1番目のテイク番号に戻す。
テイク番号を順次切り替える代わりに、フレーズの種類に応じた複数のテイクを予め記憶しておき、入力された演奏データを分析することによってフレーズ種類を判定し、判定されたフレーズ種類に適したテイク番号を選択するようにしてもよい。
このように、個々の音符に対する奏者キャラクタは、所定の音符制御用演奏データが入力される毎に与えられる変動値のばらつきに、奏者の個性を与えるものである。
【0049】
奏者キャラクタ修飾値は、奏者キャラクタで選択された変動値に、さらに変更を加えるものであって、ユーザが任意に値を設定可能とする。奏者キャラクタのテイクやフレーズ内の順番に関係なく、奏者系統1〜N毎に、一律の修飾値を用いている。
図11以降の図面を参照して説明する具体例では、奏者キャラクタで設定された値に加算するオフセット値、さらに、この加算値に乗算する誇張係数が修飾値である。なお、演奏テンポを変数として修飾値を変更する場合もある。図1において、変動値設定部5は、このような調整が加えられた変動値を演奏データ出力部6に出力する。
なお、奏者キャラクタ修飾値は、奏者系統1〜Nに共通に用いられる1つのオフセット値及び1つの誇張係数としてもよい。
また、オフセット値および誇張係数値は、奏者キャラクタ修飾値の一例であり、奏者キャラクタを修飾するものであれば、どのような値であっても、また、奏者キャラクタとして与えられる変動値に対して、どのような演算をするものであってもよい。
【0050】
一方、音源設定用演奏データに対応して、奏者系統1〜N毎に、かつ、音源設定パラメータc,d毎に、奏者キャラクタ11c,11dおよび、奏者キャラクタ修飾値12c,12dがある。
「プログラム・チェンジ・メッセージ」のような音源設定パラメータは、合奏効果に対する重要性が比較的低いと考えられるので、図示の例では、フレーズ内の音源設定用演奏データの入力順序番号によっては変わらない単独の変動値としているが、変えるようにしてもよい。
また、テイクは複数用意しているが、フレーズ検出毎にテイクを変えないようにするのであれば、また、フレーズの種別によってテイクを変えないようにするのであれば、テイクは1つでよい。
【0051】
音源設定パラメータは、一旦音源装置3に設定されると、その値が維持される。そのため、フレーズ検出毎にテイクを切り替えたり、フレーズの種別によってテイクを選択したりする場合には、その都度、音源設定用演奏データを生成して音源装置3に出力する必要がある。
具体的には、最後に入力が検出された所定の音源設定用演奏データが有していた音源設定値を保持しておき、これに新たなテイクの変動値、あるいはさらに奏者キャラクタ修飾値で調整した値を、新たな音源設定値として有する音源設定用演奏データを生成して音源装置に出力する。
【0052】
音源設定パラメータの中には、その設定値が、例えば音色番号のように、その数値の連続性が音源設定パラメータの内容上の連続性を必ずしも意味しない場合がある。このような場合には、制御値を変動値に応じてばらつかせることは、近似した音色に変更するというような、音源設定パラメータの内容上のばらつきを与えることを意味する。したがって、変動値は元の制御値に加算したり乗算したりする値では必ずしもない。
【0053】
図2に示した例では、奏者キャラクタは、予め奏者系統数Nだけ記憶されているものとしているが、実際には、奏者系統数Nは、ユーザによって任意に設定される値である。したがって、奏者系統数Nの値毎に、図示の奏者キャラクタを記憶させておき、ユーザが奏者系統数Nを設定することにより、奏者キャラクタを自動設定する。
あるいは、予め十分多くの系統数の奏者キャラクタを作成して記憶させておき、その中から、ユーザが、奏者系統数Nに応じて、任意の奏者系統1〜Nを選択するようにしてもよい。
ユーザは、まず、メモリあるいは記憶装置に記憶された奏者キャラクタの中から、奏者系統1からNまでのものを任意に選択し、さらに、奏者キャラクタの修飾値を任意に設定すれば、選択された奏者キャラクタに多様な変化を与えることができる。
上述した、合奏効果設定情報は、演奏データを入力する前に予め記憶装置に設定しておくことを前提とする。しかし、曲の演奏途中で、設定が変えられるようにしてもよい。例えば、曲の途中で、奏者系統数や選択する奏者系統を変更してもよい。曲の途中で、奏者キャラクタ修飾値を変更して、例えば、ばらつきの具合を誇張係数値を変更して制御してもよい。
【0054】
図示の例では、奏者キャラクタは、複数の音符制御パラメータおよび複数の音源設定パラメータに対する奏者キャラクタ(変動値)が奏者系統1〜N毎に関連づけて、セットとして組み合わせて記憶している。
各音符制御パラメータ間や各音源設定パラメータ間に奏者が同一であることによる相関がある場合に、このようなセットで記憶させておくことにより、奏者の個性が細かく反映される。
ユーザは、奏者を指定して、この奏者の各音符制御パラメータ及び音源設定パラメータの変動値を選択する。
しかし、相関の少ない音符制御パラメータや音源設定パラメータについては、パラメータ別に奏者キャラクタを記憶させておいて、ユーザが任意に、奏者の個性の組み合わせを決めるようにしてもよい。例えば、音符制御パラメータ群の奏者キャラクタ(変動値)と、音源設定パラメータ群の奏者キャラクタ(変動値)とは、別々にセットとして記憶しておいてもよい。
【0055】
上述した奏者系統1〜Nの音符制御パラメータの変動値および音源設定パラメータの変動値は、実際に、第1から第Nの奏者により同一の楽譜を同時に実演奏したときに分析された、個々の音符に対する楽音特性のばらつきの特徴パターンに基づいて作成されたものを用いることが望ましい。このような実演奏に基づいた変動値を用いることにより、自然な合奏感が得られる。
一方、音源設定パラメータの変動値については、実際の演奏に使用される第1から第Nの同一楽器の楽器固有の楽音特性のばらつきの特徴パターンに基づいて作成されたものを用いることもできる。
【0056】
図3は、図1に示したブロック構成図において、奏者毎に生成される演奏データの具体例を示す説明図である。
図3(a)は、演奏データ処理部2に入力されて検出された「ノート・オン・メッセージ」の個々の音符に対するノートオンタイミングの制御値を、この「ノート・オン・メッセージ」が検出される毎(音符が検出される毎)にばらつかせる場合を示している。
図1に示した、MIDI出力装置1がMIDI鍵盤である場合、出力されるMIDIデータには、ノートオンタイミングなどの「イベント発生タイミング」のデータを伴わないので、「ノート・オン・メッセージ」が出力された時点がノートオンタイミングである。
一方、MIDI出力装置1が、楽曲データファイルを記憶した記憶装置である場合には、出力される演奏データには、「イベント発生タイミング」のデータが何らかの形式で含まれている。
【0057】
図1に示した変動値設定部5は、入力が検出された「ノート・オン・メッセージ」が有しているノートオンタイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、新たに制御値として有した、奏者系統1〜Nの「ノート・オン・メッセージ」を出力する。
なお、出力される複数の「ノート・オン・メッセージ」の中には、入力された「ノート・オン・メッセージ」が有していた制御値と同じ値を制御値として有するものがあってよい。このとき、変動値は0である。このような奏者は、楽譜に寸分違わない演奏をする個性の奏者として意味がある。
「ノート・オン・メッセージ」中の、ノート番号、ベロシティ(オンベロシティ)の制御値をばらつかせない場合は、これらの制御値を、そのまま、奏者系統1〜Nの各「ノート・オン・メッセージ」中のノート番号、ベロシティ(オンベロシティ)とすればよい。
【0058】
図1に示した、音源装置3は、演奏データをリアルタイムのMIDIデータとした場合、「ノート・オン・メッセージ」を入力した時点をノートオンタイミングとして解釈する。そのため、演奏データ出力部6は、変動値に応じて「ノート・オン・メッセージ」を出力する時点を制御する必要がある。
しかし、入力された「ノート・オン・メッセージ」のノートオンタイミングに変動値を加算する場合に、変動値がマイナスである(タイミングを過去の方向に戻す)ときがある。そのため、演奏データ処理部2がリアルタイム処理をする場合は、変動値がゼロのときでも、音符制御用演奏データをわずかであるが所定の時間だけ遅延したタイミングで出力するようにしておく。または、変動値がマイナスの場合にはゼロとみなし、処理を簡素化してもよい。
【0059】
図3(b)は、演奏データ処理部2に入力されて検出された所定の「コントロール・チェンジ・メッセージ」の一種であるノンレジスタード・パラメータ・ナンバー(以下、「CCM−NRPN」という)により指定する、ディレイビブラート開始タイミングの制御値を、この所定の「CCM−NRPN」が検出される毎にばらつかせる場合を示している。この場合の、ディレイビブラート開始タイミングは、特定の音符を制御するものではなく、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御するものとして機能する。
この場合、図1の変動値設定部5は、入力が検出された所定の「CCM−NRPM」が有しているディレイビブラート開始タイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、新たに制御値として有する、奏者系統1〜Nの同じ所定の「CCM−NRPM」を出力する。
この奏者系統1〜Nの所定の「CCM−NRPM」は、生成されたタイミングか、あるいは、入力されたタイミングから所定時間遅延したタイミングで出力する。出力するタイミングは、奏者毎に若干ずれても構わない。
【0060】
イベント発生タイミングデータを伴う所定の「CCM−NRPM」を出力する場合に、イベント発生タイミングの値は、原則として、入力された所定の「CCM−NRPM」に対するイベント発生タイミングと同じ値にする。
先に「ノート・オン・イベント・メッセージ」に関して説明したように、イベント発生タイミングデータには、種々の記述形式があるので、演奏データ出力部6は、この形式を考慮して演奏データのイベント発生タイミングデータを記述する。
なお、出力される複数の所定の「CCM−NRPM」の中には、入力された所定の「CCM−NRPM」が有していた制御値と同じ値を制御値として有するものがあってよい。
【0061】
図3(c)は、演奏データ処理部2に入力されて検出された「ノート・オン・メッセージ」の個々の音符に対するノートオンタイミングの制御値を、この「ノート・オン・メッセージ」が検出される毎(音符が検出される毎)にばらつかせるとともに、これに連動して、ノートオンタイミングとは異なる他の制御値、例えば、上述したディレイビブラート開始タイミングについても、所定値からばらつかせる場合を示している。
検出された「ノート・オン・メッセージ」に対して、図3(a)に示したように単純に「ノート・オン・メッセージ」を出力するか、この図3(c)に示すように、他の音符制御パラメータについてもばらつかせるかは、予め決めておけばよい。
【0062】
図1の演奏データ出力部6は、まず、その入力が検出された「ノート・オン・メッセージ」が有しているノートオンタイミングの制御値に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、ノートオンタイミングの新たな制御値として有する、奏者系統1〜Nの「ノート・オン・メッセージ」を出力する。さらに加えて、ディレイビブラート開始タイミングの基準となる所定値(通常は、ディレイビブラート開始タイミングの標準的な値とするか、ディレイビブラートをかけないゼロ値に決めておく)に、互いに異なる態様のばらつきを有する奏者系統1〜Nの変動値を加算するなどしてばらつかせた値を、ディレイビブラート開始タイミングの新たな制御値として有する、奏者系統1〜Nの所定の「CCM−NRPM」(図3(b)を参照して説明したもの)も出力する。
なお、出力される複数の「ノート・オン・メッセージ」の中には、入力された「ノート・オン・メッセージ」が有していた制御値と同じ値を制御値として有するものがあってよいし、出力される複数の「CCM−NRPM」の中には、ディレイビブラート開始タイミングの制御値がゼロ値であるものがあってもよい。
【0063】
図3(c)に示した、「CCM−NRPM」が、「ノート・オン・メッセージ」以前のタイミングで出力されるようにすれば、「ノート・オン・メッセージ」により発音される音符以降の音符に対してディレイビブラート開始タイミングを制御することができる。以後、同じ「ノート・オン・メッセージ」+「CCM−NRPM」、あるいは、単独の「CCM−NRPM」が出力される毎に、ディレイビブラート開始タイミングにばらつきを与えることになる。
ただし、この「CCM−NRPM」は、各奏者エレメントで処理する全ての音符の楽音特性を一律に制御するため、「ノート・オン・メッセージ」により制御される個々の音符が、さらに「CCM−NRPM」によっても制御されることになる。
同様にして、図3(c)に例示したディレイビブラート開始タイミングに代えて、音量やビブラート速さなどの、楽音特性を制御する他の音符制御パラメータを制御する「CCM−NRPM」を、「ノート・オン・メッセージ」とともに同時出力することにより、「ノート・オン・メッセージ」が検出される毎に所定値からばらつかせて出力する演奏データを同時出力するようにしてもよい。
あるいは、「CCM−NRPM」に代えて、「ポリフォニック・キー・プレッシャ・メッセージ」を用いて、「ノート・オン・メッセージ」により発音される音符のノート番号を指定して、その楽音特性を制御する演奏データとしてもよい。「ポリフォニック・キー・プレッシャ・メッセージ」は、発音されている音符に対する制御を行うものであるので、出力される「ポリフォニック・キー・プレッシャ・メッセージ」は、出力される「ノート・オン・メッセージ」以後のタイミングで出力されるようにする。
【0064】
図3(c)では、「ノート・オン・メッセージ」が入力されたときに、「ノート・オン・メッセージ」の他に、他の演奏データが出力されている。しかし、このような2つの演奏データをまとめたものとして、新たに定義された演奏データを出力してもよい。この場合も、実質的には2つの音符制御用演奏データが出力されていることになる。このようにすれば、本来音源制御パラメータであったものでも、この「ノート・オン・メッセージ」により発音される音符毎に、音源制御パラメータを制御して、その制御値をばらつかせることができるようになるので、確実に、音符制御パラメータとして機能させることができる。
MIDI規格では、新たに演奏データを定義することに制約があるが、独自規格においては、このような演奏データを任意に採用することができる。
なお、図3(c)の具体例の特別な場合として、入力された「ノート・オン・メッセージ」の方は、入力された「ノート・オン・メッセージ」が有する制御値をそのまま奏者系統1〜Nで用いることができるように出力するが、他方の所定の音符制御用演奏データは、奏者系統1〜N毎に互いに異なる制御値を有するようにしてもよい。
【0065】
上述した種々の音符制御パラメータおよび音源設定パラメータの内、最も合奏感に影響を与えていると考えられるのは、ノートオンタイミングのばらつきである。
そこで、以下の説明では、ノートオンタイミングについてのみばらつきを与える場合を具体例として詳細に説明する。各奏者の演奏データによって演奏される楽音信号の音高は同一(ユニゾン)の状態を保って出力される。
図4は、アコースティックバイオリンを演奏したときの、ノートオンタイミングのばらつきの実測値を示す第1の説明図である。4人の奏者1〜4の合奏であって、テンポ120で8分音符を4拍連続して演奏した場合を示している。
図中、縦線は、拍の正規のノートオンタイミング位置を示し、各奏者1〜4の8分音符の符頭の中心を各奏者のノートオンタイミング位置として示している。
【0066】
第1〜第4拍のノートオンタイミングは、正規のノートオンタイミングからずれてばらついている。
奏者1は、ノートオンタイミングのずれが比較的大きく、奏者2は比較的ずれが小さい。奏者3,4は、常にノートオンタイミングが早まっており、ずれの量が負になっている。このように、奏者の個性の違いが見受けられる。
また、奏者1〜4の全体を眺めれば、演奏開始後の最初の音符はタイミングが合わず、かつ、早まる傾向にあるが、奏者毎のばらつきが大きい。後の方の音符になるほど、合奏のタイミングが正規のタイミングに合う傾向が見られ、かつ、奏者毎のばらつきが小さくなっている。また、第1拍とともに第3拍も早まる傾向が見られる。
このように、演奏開始からの1フレーズ内の音符の順番によってばらつきが変動している。演奏途中においても、前の音符から所定時間以上経過した休符後は、上述した演奏開始と同じ傾向があった。
このような、演奏開始と同等に見ることができる休符の時間長は、数百msec以上であり、演奏テンポの影響は少ない。
【0067】
図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について、時間軸に沿って表したものである。
この図から、同じ奏者であっても、テイク毎に、ノートオンタイミングのずれが大きくばらついていることがわかる。
【0068】
図5に示したような複数の奏者の実演奏によってノートオンタイミングのずれを計測したものを、そのまま、あるいはさらに加工を施して「タイミングシーケンス」とする。
図1に示した、変動値設定部5においては、上述した「タイミングシーケンス」を予めROMなどの記憶装置に格納しておく。
演奏開始からのフレーズ内の音符の順番(時系列)で変動値が変化しているので、フレーズ内の音符検出毎に、ノートオンタイミングの変動値を順次切り替え選択することにより、変動値を設定する。演奏途中でも、所定時間以上の休符後は、新たなフレーズの演奏開始とみなす。
したがって、奏者毎のノートオンタイミングの変動値のばらつきを実現するアルゴリズムとして、出力される「ノート・オン・メッセージ」のノートオンタイミングは、入力されたノートオンタイミングを基準に変動値を与えるものとし、この変動値は、音符検出毎にばらつきを与え、フレーズが開始される毎に、最初の音符用の変動値に初期リセットさせる。
【0069】
このような多数の奏者によって合奏したテイクを複数回計測しておき、奏者毎に、「タイミングシーケンス(複数テイク)」を格納しておく。ユーザが、奏者数を選択するとき、奏者数に応じた個数の「タイミングシーケンス(複数テイク)」を選択して用いる。
しかし、奏者数Nによっても合奏感が変化するので、奏者数N毎に実演奏を行って計測したものを用いるのが望ましい。その際、所定の奏者数で計測したものの特徴を分析して、適宜、計測値を加工して、奏者数毎の「タイミングシーケンス」データを作成することも可能である。
【0070】
タイミングの変動値は、テイクによってばらついていることから、上述した「プレーヤーズタイミングシーケンス」データを、図5の系列0〜系列3のような複数テイク分を格納しておく。楽曲の進行とともに、新たなフレーズを検出する毎に、テイクを予め決めた順番か、あるいは、ランダムに切り替える。
その際、合奏感は、複数奏者が一体となって演奏する際の相互作用によって得られるものであるので、各奏者系統1〜Nの「プレーヤーズタイミングシーケンス」は、同一の変動値列(同一テイク)のものを用いる。
このような選択方法とは別に、フレーズの特徴パターンによって分類されたフレーズ種別ごとに、実演奏を行って計測した1テイクを格納しておけば、図1の演奏データ検出部4で検出されたフレーズ種別に応じて、これに適したテイクを選択して利用できる。
【0071】
なお、「タイミングシーケンス」内の、変動値の数は、1フレーズ中の音符の数だけ必要である。しかし、1フレーズ中の音符の数は、曲によって異なっている。
例えば、1フレーズは必ずしも4つの音符からなるわけでない。3音符以下であるときは、1フレーズの終了によって、「タイミングシーケンス」を初期値にリセットすればよい。ところが、4音符以上の長いフレーズであるときも、シーケンスデータを供給し続けなければならない。
【0072】
図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に示したシーケンスとなる。
【0073】
以上の説明は、図2に示した奏者キャラクタの設定に関するものである。この奏者キャラクタは、奏者キャラクタの修飾値を設定することによって、さらに調整される。ユーザが、これらの修飾値を指定することにより、実測に基づいた変動値を調整する。
ここで、演奏テンポが速いと、ノートオンタイミングの変動値が小さくなる傾向がある。したがって、演奏のテンポによっても、ノートオンタイミングのずれ倍率の修飾値といえるタイミング誇張係数値1を制御する。
図7は、演奏のテンポ(fTempo)とノートオンタイミングのタイミング誇張係数値1(fTempoTimingExp)との関係を示すグラフである。屈曲点を2つ設けている。
演奏テンポが60〜120では、タイミング誇張係数値1を1倍とする。演奏テンポが120〜240になるにしたがって、タイミング誇張係数値1を徐々に0.5倍まで減少させる。演奏テンポが240以上では、タイミング誇張係数値1を0.5倍とする。
【0074】
上述した説明では、図1に示した変動値設定部5が、複数の奏者の実演奏でタイミングずれを計測したものを変動値として格納する形態について説明した。実測に基づいているので、ノートオンタイミングのばらつきにリアリティがある。しかし、実測に手間がかかり、また、必要とする記憶容量も増してしまう。
そこで、制御値に与えるばらつきを、乱数を併用して与える方法を説明する。
この場合、合奏感のリアリティが低下するが、多数の実測データをとって格納する必要がなくなる。
図8は、音符制御パラメータに対するばらつきを、1テイクの実測データに対して乱数を併用して得る形態を示すブロック構成図である。
21は奏者1用テーブル、31は奏者2用テーブルであって、実測に基づいた1テイク(列)分の「タイミングシーケンス」テーブルである。22,32は設定部、23,33は乗算器、24,34は乱数発生器、25,35は乗算器、26,36はずれ倍率指定部、27,37は加算器、28,38はずれオフセット指定部である。
【0075】
ある特定の音符制御用演奏データ、この具体例では「ノート・オン・メッセージ」が初めて入力されて検出されると、設定部22,23は、奏者1用テーブル21,奏者2用テーブル31の読み出し位置を初期位置にリセットし、第1番目の音符に対応する第1番目の変動値を設定する。また、同時に、乱数発生器24,34の出力を更新する。
「ノート・オン・メッセージ」が検出される毎に、設定部22,32は、奏者1用テーブル21,奏者2用テーブル31の読み出し位置を順次進めて、ノートオンタイミングの変動値を出力する。
説明を簡単にするため、音符検出タイミングの直前に、フレーズ検出タイミングが入力されるものとして説明する。フレーズ検出タイミングが検出される毎に、設定部22,32は、奏者1用テーブル21,奏者2用テーブル31の読み出し位置を初期位置にリセットし、フレーズ内の音符数が多いときには、先に、図6に示したパターンで、変動値の一部を繰り返し読み出す。
【0076】
設定部22の出力は、乗算器23において、乱数発生器24の出力(−1〜1)と乗算される。奏者1用テーブル21に記憶されたノートオンタイミングの変動値は、ばらつきの最大値を与えるものであり、それ以下の値を乱数発生器24から出力される符号付きの乱数によって与える。
乱数発生器24は、フレーズが検出される毎に出力を更新するので、第1テイクとは異なるばらつきの態様を乱数によって生成していることになる。見方を変えれば、奏者1用テーブル21に記憶された値は、テイク毎の乱数値に与える、フレーズ内の音符のばらつきに対する重み係数ともいえる。
【0077】
この乗算器23の出力は、乗算器25において、ずれ倍率指定部26の出力と乗算される。この乗算器25の出力は、加算器27において、ずれオフセット指定部28の出力と加算されて、奏者1用のノートオンタイミングの変動値が生成される。この乗算器25と加算器27の演算順序を逆にして、加算後に乗算を行ってもよい。
奏者2用のノートオンタイミングの変動値も同様であり、奏者数が3以上の場合も同様である。
なお、乱数発生器24,33は1個の乱数発生器とし、奏者数分の乱数値を順次、分配して出力するものであってもよい。また、奏者1用テーブル21、奏者2用テーブル31は、多数の奏者用テーブルを用意して、その中から奏者1用、奏者2用に、ユーザが選択して使用してもよい。
【0078】
上述した説明では、合奏感のリアリティを高めるために、最低限、実測に基づいた1テイク(列)分のテーブルを奏者毎に使用している。
構成を簡略化するには、奏者1用テーブル21、奏者2用テーブル31に代えて、ばらつきの態様が異なる特性の乱数発生器を奏者毎に用いて、1フレーズ内の音符毎のノートオンタイミングにばらついた変動値を与えてもよい。その際、乱数発生器24,34から出力される乱数値よりも、変化範囲の絶対値は小さくするとよい。
さらに、簡略化するには、奏者1用テーブル21、奏者2用テーブル31に代えて、奏者毎に異なる1つの固定値のみを用いてもよい。この場合、乱数発生器24,34は、フレーズ検出タイミングだけではなく、「ノート・オン・メッセージ」が検出されるタイミング毎に、乱数出力を更新するようにすれば、フレーズ中の各音符においても、ノートオンタイミングの変動値をばらつかせることができる。その際、フレーズ検出タイミングで発生させる乱数値の変化範囲よりも、変化範囲の絶対値を小さくするとよい。
【0079】
以上、本発明の演奏データ処理方法の機能構成を説明したが、図1に示した演奏データ処理部2は、具体化に際して種々の形態で実施できる。
図9は、本発明の演奏データ処理方法の具体化例を示す第1の説明図である。
図9(a)は、本発明をシーケンサにおける編集機能として具体化した場合の説明図である。
、図9(b)は、本発明をMIDIイベントのフロントエンドプロセッサとして具体化した場合の説明図である。
図9(c)は、音源ドライバ機能モジュールとして具体化した場合の説明図である。
【0080】
図9(a)において、曲データ記憶部42、曲データ記憶部43は、例えば、電子楽器あるいはシーケンサソフトウエアが実行されるパーソナルコンピュータに内蔵のメモリあるいは外部記憶装置である。
演奏データ処理部41は、曲データ記憶部42に記憶された、曲データファイル、例えばSMF(Standard MIDI File)から、タイミングデータを伴う演奏データを読み出して入力する。
演奏データのフォーマットは、SMFのように演奏イベントの発生時刻を1つ前のイベントからの時間で表した「イベント+相対時間」のほか、演奏イベントの発生時刻を曲や小節内における絶対時間で表した「イベント+絶対時間」、音符の音高と符長,休符と休符長で演奏データを表した「音高(休符)+符長」、演奏の最小分解能毎にメモリの領域を確保し、演奏イベントの発生する時刻に対応するメモリ領域に演奏イベントを記憶した「ベタ方式」等のシーケンサソフトウエアの独自形式など、どのような形式でもよい。
【0081】
演奏データ処理装置41は、入力された演奏データに対して合奏効果を与えるために、奏者数分の演奏データを出力する。出力される演奏データも、タイミングデータを伴うものである。演奏パートおよび奏者エレメントの識別は、例えば、MIDIチャンネル番号で行えばよい。
「ノート・オン・メッセージ」が入力された場合、出力される奏者数分の「ノート・オン・メッセージ」のタイミングデータは、例えば、入力された「ノート・オン・メッセージ」のタイミング値に奏者毎に異なる変動値を加算して決定する。その際、相対時間を用いてイベントタイミングを指定する場合には、出力する「ノート・オン・メッセージ」が奏者数分あるので、それらが出力されるイベントタイミングに応じて、相対時間を計算することになる。
【0082】
曲データ記憶部43に記憶された演奏データは、曲データの処理中あるいは曲データの処理終了後に、読み出されて音源装置に出力されることにより、楽音信号が合成される。
曲データ記憶部43がハード磁気ディスクや半導体メモリカードなどの外部記憶装置である場合、演奏データは、入力された演奏データのMIDIチャンネル番号に応じたトラックに記憶する。各演奏パートの各奏者エレメントの演奏データが同一のトラックに記憶されてもよい。
曲データ記憶部42と楽曲データ記憶部43とは、同一のハードウエアでもよい。処理後の演奏データを異なる領域に記憶したり、処理前の演奏データを消去したりすることがユーザによって決定される。
リアルタイム処理ではないので、出力される「ノート・オン・メッセージ」のノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングよりも過去となる場合も特に問題がない。また、フレーズ種別を判定してから、そのフレーズ内の合奏効果の設定を制御することができる。
【0083】
次に、図9(b)に示した、MIDIイベントフロントエンドプロセッサ装置として、本発明を具体化する場合について説明する。
MIDI出力装置1は、例えば、外部接続されたMIDI鍵盤や電子楽器であって、演奏データとして、タイミングデータを伴わないリアルタイムのMIDIデータを出力する。接続ケーブルを介して行うほか、LANやインターネットなどの通信ネットワークを介して行われる場合もある。
演奏データ処理部44は、入力された演奏データに対して合奏効果を与えるために、奏者数分の演奏データを出力する。出力される演奏データは、タイミングデータを伴わないMIDIデータである。
演奏パートおよび奏者の識別は、例えば、MIDIチャンネル番号で行えばよい。
【0084】
音源装置3は、例えば、MIDIチャンネル番号に応じて演奏パートと奏者エレメントを割り当てて、各奏者毎に楽音信号を合成して出力する。
リアルタイム処理を行うので、出力されるノート・オン・メッセージのノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングより過去の時刻となる場合のために、所定の処理遅延を許容する必要がある。あるいは、負の時系列オフセットは一律に0に変換して、リアルタイム性を維持してもよい。
MIDI出力装置1に代えて、演奏データ処理部44を内蔵する電子楽器の鍵盤から出力される演奏データを用いる場合も同様である。この場合、演奏データは、MIDIデータである必要はなく、この電子楽器内部で使用される信号でよい。
同様に、音源装置3もこの電子楽器に内蔵されるものであれば、演奏データ処理部44が出力する演奏データも内部で使用される信号でよい。
演奏データ処理部44が、タイミングデータを伴う演奏データを出力すれば、図9(a)のような曲データ記憶部43に出力することもできる。
【0085】
次に、図9(c)に示した、演奏データ処理部45aを音源装置45の内部に設けて、本発明を具体化する場合について説明する。
MIDI出力装置1は、演奏データとして、タイミングデータを伴わないリアルタイムのMIDIデータ、あるいは、電子楽器内部で使用される信号を出力する。
演奏データ処理部45aは、音源装置45内部の音源ドライバ機能モジュールとして動作する。出力する演奏データの形式は、入力された演奏データの形式とは独立して決めることができ、音符制御パラメータまたは音源設定パラメータを、波形合成部45bに転送する。
この具体例でも、MIDI出力装置1がリアルタイムにMIDIデータを出力するので、処理遅延を伴うが、負の時系列オフセットは0に変換して、リアルタイム性を維持してもよい。
【0086】
図10は、本発明の具体化例を示す第2の説明図である。
プレイバック音源内部における音源ドライバ機能モジュールとして実施する場合の説明図である。
プレイバック音源とは、イベント処理が実際の発音タイミングに先行して行われる音源である。具体的に説明すると、現在発音中の一音(音符)が、いつ終了するか、その次の一音(音符)が、いつ始まるのかを予め音源装置に送り、時間の因果律にとらわれずに各種の奏法(アーティキュレーション)を実現できる音源装置である。例えば、特開2001−100758号公報に記載された「波形生成装置」である。
【0087】
図中、46はプレイバック音源装置、46aは奏法付き曲データ再生処理部、46bは楽譜解釈処理部、46cは演奏データ処理部、46dは奏法合成処理部、46eは波形合成処理部、46fは波形出力処理部である。
曲データ記憶部42は、奏法付き曲データを保持する。強弱、テンポ、スラー等の楽譜上で音楽記号として記述される奏法が「奏法記号」として、MIDIシーケンスデータ中に記録されている。
奏法付き曲データ再生処理部46aは、曲データを入力して再生する。楽譜解釈処理部46bは、楽譜上の記号(音楽記号や音符の並び方等)を解釈して、演奏データに変換し、時刻情報とともに演奏データ処理部46cに出力する。同時に、従来の通りのMIDIデータも時刻情報とともに出力する。
【0088】
演奏データ処理部46cは、本発明の演奏データ処理方法の一具体化例である機能モジュールである。
したがって、予め奏者数分の合奏効果設定がなされており、楽譜解釈処理された後の音符制御用演奏データあるいは音源設定用演奏データを入力して、複数奏者分の音符制御用演奏データあるいは音源設定用演奏データを出力する。出力する音符制御用演奏データあるいは音源設定用演奏データは、入力された制御値に対してばらつきが与えられる。
【0089】
奏法合成処理部46dは、各奏者系統毎に入力された演奏データから奏法指定情報を生成し、奏法指定情報で奏法テーブルを参照し、パケットストリーム(ベクトルストリーム)および奏法パラメータに応じた該ストリームに関するベクトルパラメータを生成し、波形合成処理部46eに出力する。パケットストリームは、ピッチ要素および振幅要素に関しては、パケットの時刻情報、ベクトルID、代表点値列などであり、波形要素に関しては、ベクトルID、時刻情報などである。
波形合成処理部46eでは、パケットストリームに応じてコードブックからベクトルデータを取り出し、このベクトルデータをベクトルパラメータに応じて変形し、変形したベクトルデータに基づいて楽音波形を合成する。
【0090】
波形出力処理部46fは、各奏者の合成楽音波形を加算合成して出力する。他の演奏パートの演奏データについて、図示しない従来型のリアルタイム音源で波形合成されている場合には、この波形出力部46fで加算合成してプレイバック音源装置46の出力とする。
この具体例では、リアルタイム処理をしないので、出力される「ノート・オン・メッセージ」のノートオンタイミングが、入力された「ノート・オン・メッセージ」のノートオンタイミングより過去の時刻となる場合についても特に問題がない。また、フレーズ種別を判定し、そのフレーズ内の合奏効果の設定を制御できる。
【0091】
以上、図9(a)〜図9(c),図10を参照して、本発明の演奏データ処理方法について、複数の具体化例を説明した。
上述した演奏データ処理部41,44は、パーソナルコンピュータのCPU(Central Processing Unit)にプログラムを実行させることによって実現することができる。この場合、プログラムは、オペレーティングシステムプログラムの下で実行されるアプリケーションプログラムとして作成する。記録媒体に記録し、パーソナルコンピュータにインストールして、パーソナルコンピュータのCPUにこのプログラムを実行させる。
あるいは、CPUを搭載し、パーソナルコンピュータのアーキテクチャに近い、独自のハードウエア基板を設計し、このCPUを制御する専用のプログラムをROMに記憶させて、シーケンサ装置あるいは、シーケンサ機能を有する電子楽器専用機として、本発明を実現してもよい。
【0092】
また、上述した演奏データ処理部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チップ音源として実現したりすることができる。
【0093】
次に、本発明の演奏データ処理方法の実施の一形態において、ユーザが行う合奏効果設定操作の一具体例を説明する。
この設定操作は、図10に示したようなプレイバック音源装置46内の音源ドライバ機能モジュールの場合を前提としたものである。しかし、図9(a)に示したシーケンサの編集機能、図9(b)に示したMIDIイベントフロントエンドプロセッサ、あるいは、図9(c)に示した音源装置として具体化する場合についても、同様に適用できる。
【0094】
図11は、合奏感のある演奏データを出力するための設定画面の説明図である。
図中、51はパーソナルコンピュータのディスプレイ上に表示される奏者の設定画面、52は楽団の構成を表示する左ペイン、53は奏者(1人分)の設定を行う右ペインである。
本発明の演奏データ処理装置においては、楽団(パフォーマンス)という形態で、音源の制御パラメータを管理する。
このパフォーマンス(楽団)は、階層的に定義され、ユーザによって編集可能である。その階層が左ペイン52に表示される。
【0095】
パフォーマンス「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」はセクションボイスであり、奏者数は図示しない別の画面で設定される。
【0096】
左ペイン52の奏者「Default0−0」をマウスボタンのクリックで選択することにより、右ペイン53に、奏者「Default0−0」の設定画面が表示される。
54は奏者名(Instrument Name)の表示領域である。
55は奏者の音色を指定する「奏者音色番号(Instrument Sample Number)」、56は奏者の奏者タイミング(演奏動作)を指定する「タイミングシーケンス番号(Timing Sequence Number)」、58はタイミングオフセット係数(TimingOffset)、59はタイミング誇張係数(TimingExpand、以後、この値をタイミング誇張係数値2という)を、それぞれ入力するための入力部である。
【0097】
図示の例では、ある奏者のキャラクタの設定を、奏者が演奏する楽器の音色の設定と、奏者の演奏動作の設定との2つの設定の組み合わせで行う方法をとっている。
すなわち、入力部55に入力されて設定される奏者の音色を規定する「奏者音色番号(Instrument Sample Number)」と、入力部56に入力されて奏者の演奏動作を規定する「タイミングシーケンス番号(Timing Sequence Number)」との、両者の独立した組み合わせで、1人の奏者のキャラクタを設定する。独立した組み合わせをとることによって、キャラクタの種類を増やすことができる。
もちろん、「タイミングシーケンス番号(Timing Sequence Number)」のみによって音色および演奏動作のキャラクタを同時に設定してもよい。先に説明した図1〜図10においては、奏者系統の番号1〜Nで、両方のキャラクタを設定するものであった。
奏者番号を図11のように、音色関係と演奏動作関係とで独立した奏者系統の番号を用いる場合には、図1〜図10におけるノートオンタイミングの変動値制御は、演奏動作関係の「タイミングシーケンス番号(Timing Sequence Number)」によって変動値を決定することになる。
【0098】
ノートオンタイミングのばらつきは、図示しないパラメータ設定画面で設定するタイミングテーブル番号で、複数奏者のタイミングシーケンスのセットが選ばれ、さらに、「タイミングシーケンス番号(Timing Sequence Number)」によって、標準的な「ばらつきのパターン」が指定され、入力部58,59に入力される「奏者キャラクタの修飾値」としての、タイミングオフセットおよび、タイミング誇張係数値2によって修飾される。
この修飾によって、標準的な「ばらつきのパターン」を、ユーザの好みに合わせて調整できる。
なお、この画面では、ある1人の奏者に関する、他の音源制御パラメータについても設定操作をするのであるが、本発明とは直接関係しないので、図示および説明を省略する。
【0099】
次に、合奏効果設定情報として、奏者キャラクタ等を設定したとき、図1に示した変動値設定部5が、具体的にどのような処理を行うかを、説明する。
図12は、各種のパラメータとそれらの相互関連を説明するためのパラメータ構成図である。
パフォーマンス(楽団)に関するパラメータは、パフォーマンスパックデータ61としてまとめられている。この図では、本発明に関連するものだけを示している。ノートオンタイミングの変動値は、タイミングデータ71にまとめられている。
パフォーマンスデータ62には、楽団名、パートデータ63等が含まれる。最大32個のパートを持つことができ、各パートには、voice#によってボイス番号が設定されており、ボイステーブル64で実体(ボイスデータ65)に変換される。
【0100】
ボイス番号がvoice0のボイスデータについて例示すると、ボイス名(Default0)、タイミングテーブル番号(tbl#)、エレメントデータ66等が含まれる。最大32個のエレメントデータ66を持つことができ、各エレメントデータ66には、インストゥルメント番号がinst.#で設定され、インストゥルメントテーブル67で実体(インストゥルメントデータ68)に変換される。
インストゥルメント番号がinst.0のインストゥルメントデータ68について例示すると、各インストゥルメントデータ68には、Default0−0、sample#,TimingSequence#,TimingOffset,TimingExpand等によってそれぞれ決まる、インストゥルメント名、インストゥルメントサンプル番号、タイミングシーケンス番号、タイミングオフセット、タイミング誇張係数値2、等を持つ。
ここで、インストゥルメントサンプル番号,タイミングシーケンス番号,タイミングオフセット,タイミング誇張係数値2は、図11に示した設定画面でユーザにより指定される。
【0101】
一方、タイミングデータ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を参照して説明した。
【0102】
タイミングテーブルデータ73中の、タイミング誇張係数テーブルでは、図7に示したような、テンポに対するタイミング誇張係数値1のテーブルが記述されている(NUMTABLEは、テーブルのブレークポイントの数であり、図7の屈曲点ポイントに対応)。このテーブルから120,1.00F,240,0.50Fの数値を読み出し、図7に示したように、テンポに対するタイミング誇張係数値1を記憶する。
タイミングオフセット係数に関しては、テンポに対する補正をしていない。
【0103】
同じ楽器音色の複数のボイスのそれぞれのタイミングテーブルデータを、1つのタイミングテーブルデータ73にまとめてもよい。例えば、トランペット1のタイミングテーブルデータとトランペット2のタイミングテーブルデータが含まれたものにしてもよい。
また、ボイスのカテゴリ別に、複数のボイスのそれぞれのタイミングテーブルデータを、1つのタイミングテーブルデータ73にまとめてもよい。例えば、ブラス系の、トランペット1、トランペット2、トロンボーン、シンセサイザトランペットの各タイミングテーブルデータが含まれている。
【0104】
次に、図12に示したパラメータを参照しながら、図13,図14のフローチャートを用いて、タイミング処理を具体的に説明する。
図13は、タイミング設定処理を説明するフローチャートである。
S81において、ボイスデータ65(図12ではvoiceOを示している)中のタイミングテーブル番号を参照し、そのtbl#を読む。
S82において、タイミングテーブル72のtbl#にアサインされたタイミングテーブルデータ73の0.ttb〜31.ttbの内、対応するものを読む。図12では、0.ttbの内容を示している。
S83において、エレメントデータ66のインストゥルメント番号inst.#を読む。インストゥルメントテーブル67のinst.#にアサインされた、インストゥルメントデータ68のinst.0〜inst.127の内、対応するものにおいて、ユーザによって指定されたタイミングシーケンス番号,タイミングオフセット,タイミング誇張係数値2を読み出す。図11では、inst.0の内容を示している。
【0105】
S84において、タイミングシーケンス番号に従い、タイミングテーブル72のtbl#にアサインされたタイミングテーブルデータ73の0.ttb〜31.ttbの内、対応するものの中のタイミングシーケンステーブルを引く。タイミングシーケンステーブルが示す文字列と同名のセクション(x0,x1,…,x32の内、対応するもの)に記述されている、タイミングシーケンスのNUMSERIESとNUMTIMINGSの値を読み出すとともに、変動値を読み出してメモリに格納する。
ここで、NUMSERIESは列の総数を意味し、図示の例では0〜3の4列あるので、NUMSERIES=4である。また、NUMTIMINGSは、タイミングシーケンス中の音符の個数(変動値の個数)であって、図示の例では4である。
図12では、シーケンス0=x0のタイミングシーケンスの内容を表示している。
S85において、上記対応するタイミングテーブルデータ中のタイミング誇張係数テーブルの、テンポとそれに対応するタイミング誇張係数値1を読み出す。
【0106】
次に、図14は、タイミング再生処理を説明するフローチャートである。Noteを検出した際にこの処理に入る。
S91において、休符を検出したか否かを判定し、休符を検出したときにはS92に処理を進め、検出しないときにはS94に処理を進める。ここで、休符とは、ノートオフから所定時間以上経過してもノートオンがない状態をいう。
S92において、フレーズ番号(nPhrase)のカウントを進め、S93に処理をを進める。ただし、カウントを進める前に、フレーズ番号(nPhrase)が(NUMSERIES−1)以上であれば、0にリセットする。もしくは、カウントを進めた際に、nPhraseがNUMSERIES−1を超えれば、0にリセットする。
【0107】
S93において、フレーズ内順番を0にセットする。
S95は、図6を参照して説明したように、フレーズ内順番を0→1→2→3→4→3→2→3→4とするための処理である。
フレーズ内順番のカウントを+1進める。ただし、カウントを進める前に、フレーズ内順番が(NUMTIMINGS−1)に到達していれば、以降は逆にカウントを1だけ戻す。カウントを戻す前に、1に戻っていれば、再びカウントを+1ずつ進めて行く。
【0108】
S96において、タイミングずれ(オフセット)を求める。
タイミングずれ(オフセット)=
(フレーズ番号とフレーズ内順番を与えてタイミングシーケンスをひいて求められるタイミングデータ)+(奏者毎に割り当てられているタイミングオフセット)
である。
S97は、図7を参照して説明したように、テンポに応じてタイミング誇張係数値1を求める処理である。テンポ対タイミング誇張係数テーブルを、現在のテンポfTempoを用いて補間した値(現在のテンポを与えて求められるタイミング誇張係数値1)を求める。
【0109】
S98において、タイミング誇張係数を求める。
タイミング誇張係数=
(現在のテンポを与えて求められるタイミング誇張係数値1)
*(奏者毎に割り当てられているタイミング誇張係数値2)
である。記号「*」は、乗算記号である。
S99において、奏者ごとに(タイミングずれ)および(タイミング誇張係数)を調整した後の最終的なノートオンタイミングを得ることになる。すなわち、
調整後のNoteOnTiming =
NoteOnTiming+(タイミングずれ)*(タイミング誇張係数)
このようにして、選択したタイミングシーケンスから得られたタイミングのばらつきに加えて、奏者毎に設定したタイミングオフセットおよびタイミング誇張係数が使用される結果、奏者毎に多様なタイミングのばらつきを持たせることができる。
なお、上述した演算では、(フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ)に(タイミングオフセット)を加算してから(タイミング誇張係数)を乗算しているが、(フレーズ番号とフレーズ内順番を与えて求められるタイミングデータ)に(タイミング誇張係数)を乗算してから(タイミングオフセット)を加算するような演算に代えてもよい。
【0110】
また、上述した演算において、(タイミングずれ)および(タイミング誇張係数)の値は、図1に示した演奏データ処理部2において設定される値であった。さらに、演奏データ処理部2に入力される演奏データとして、タイミングずれを与えるタイミングオフセットおよびまたはタイミング誇張係数を与えるタイミング誇張係数3を制御する演奏データを新たに定義して用いてもよい。このような新たな演奏データによって、演奏入力によって、(タイミングずれ)およびまたは(タイミング誇張係数)の値を動的に制御できるようにしてもよい。
すなわち、S96において、(演奏データにより制御されるタイミングオフセット)を加算する。およびまたは、S98において、(演奏データにより制御されるタイミング誇張係数3)を乗算すればよい。
上述したフローチャートの例は、ノートオンタイミングに関するものであったが、このような演奏入力による動的な制御は、制御対象とする任意の音符制御パラメータ、音源設定パラメータを指定することにより任意の音源設定パラメータに適用できる。さらに、制御対象とする音符も指定することにより任意の音符制御用パラメータに適用できる。
【0111】
上述した説明では、ボイス毎にインストゥルメント(奏者)が定義されている。ユーザは、ボイス(楽器音色)を指定した上で、奏者を指定することにより、所定の音符制御パラメータに、奏者毎に異なるばらつきの態様を有する変動値が設定される。楽器音色が異なれば、奏者のキャラクタにも独立したキャラクタを与えることにより、各楽器(音色)に適した変動値ばらつきを設定することができる。
一方、同じ奏者が異なる楽器を演奏することもあるので、すなわち、奏者1〜N系統に対して、ノートオンタイミングやディレイビブラート開始タイミングなどのばらつきを規定し、各奏者の選択する各楽器(音色名)毎に、楽器の種類に応じた修飾値を設定するようにしてもよい。
【0112】
図12〜図14を参照した処理の具体例では、あるボイスについて複数奏者化する場合、ユーザは、セッション(合奏)に参加する奏者の人数を決める。次に、32人分のタイミングシーケンス(4テイク分)の中から、参加する人数分のタイミングシーケンス(4テイク分)を選択している。
これに代えて、人数も含めた特定の奏者の組み合わせ毎に、タイミングシーケンス(4テイク分)が選択されるようにしてもよい。この場合、個々の奏者間の演奏の相関性が厳密に反映された変動値を与えることができる。
【0113】
図12〜図14を参照した処理の具体例では、各奏者毎にばらつきのあるタイミングシーケンスに基づいて生成された変動値に対し、奏者キャラクタのオフセット修飾値として、タイミングオフセットおよびタイミング誇張係数を、奏者毎に設定していた。
これに代えて、オフセット修飾値は、全奏者に共通の制御パラメータとしてもよい。すなわち、ユーザは、1セッション毎にまとめて、タイミングオフセットおよびタイミング誇張係数を設定するようにしてもよい。
上述した説明では、1パート(1ボイス)に対して合奏効果を与えていた。これに代えて、奏者に異なるボイスを割り当てることによって、異なるパート(ボイス)に属する複数の奏者が合奏するときの楽音信号を合成できるように演奏データを処理することも可能である。
【0114】
上述した説明では、演奏データ処理部2は、合奏効果を与えるために、音符制御用演奏データおよび音源設定用演奏データを、複数の奏者毎に生成して、音源装置3に出力していた。
しかし、ユーザが奏者系統数を1に設定するか、予め奏者系統数が1に固定されているものとしてもよい。この場合は、ソロ演奏に個性を付加するために使用できる、単一奏者のための音符制御用演奏データおよび音源設定用演奏データを出力する演奏データ処理方法、演奏データ処理プログラム、演奏データ処理装置、楽音信号合成方法となる。その際、奏者の個性に強烈なキャラクタを与えることによって、自己主張する演奏データを出力することができる。これに対して、合奏効果を付加する場合には、奏者の個性を弱くした方がよい。
【0115】
本発明で処理を行う演奏データは、楽譜通りの演奏データであることを前提に考えられたものであるが、必ずしもこの前提は必要ではない。入力された演奏データがどのようなものであっても、これを基にして、合奏感を付加したり個性ある表情を付けたりすることができる。
また、本発明で処理を行う演奏データは、電子楽器用の演奏データに限らない。音源を内蔵したパーソナルコンピュータや、カラオケ装置、ゲーム装置、着信メロディ音源を有する携帯電話等の携帯型通信端末などの演奏データであってもよい。ネットワークに接続されたパーソナルコンピュータや携帯型通信端末で演奏データを処理する場合、端末側のみで本発明の演奏データ処理機能が完結している場合に限らず、本発明の機能の一部をサーバ側に持たせ、端末とサーバとからなるネットワークシステム全体として本発明の機能を実現するようにしてもよい。
【0116】
【発明の効果】
本発明は、上述した説明から明らかなように、簡単な設定で、奏者の個性のある表情を有した楽音信号を合成できる演奏データを生成できるという効果がある。
【図面の簡単な説明】
【図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…曲データ記憶部
Claims (17)
- 一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力ステップ、
を有することを特徴とする演奏データ処理方法。 - 前記フレーズ検出ステップは、前記一連の演奏データ中の音符列の切れ目を検出することにより前記フレーズの区切りを検出する、
ことを特徴とする請求項1に記載の演奏データ処理方法。 - 前記音符に対する所定の楽音特性は前記音符の発音を開始するノートオンタイミングである、
ことを特徴とする請求項1または2に記載の演奏データ処理方法。 - 入力される前記一連の演奏データ、および、出力される任意の演奏データは、タイミングデータを伴う演奏データである、
ことを特徴とする請求項1から3までのいずれか1項に記載の演奏データ処理方法。 - 前記少なくとも1系統の変動値は、少なくとも1人の奏者により同一の楽譜を実演奏したときに分析された、前記音符に対する所定の楽音特性のばらつきの特徴パターンに基づいて得られたものである、
ことを特徴とする請求項1から4までのいずれか1項に記載の演奏データ処理方法。 - 前記変動値設定ステップは、互いにばらついた複数の変動値からなる変動値列を少なくとも1系統、記憶する変動値記憶手段から、前記フレーズの区切りが検出される毎に、記憶された少なくとも1系統の前記列の初期値を指定するとともに、前記所定の音符制御用演奏データが検出される毎に、前記記憶された少なくとも1系統の列の前記変動値を順番に読み出すものである、
ことを特徴とする請求項1から5までのいずれか1項に記載の演奏データ処理方法。 - 前記変動値設定ステップは、前記変動値記憶手段から読み出される前記少なくとも1系統の変動値に対して、前記フレーズの区切りが検出される毎にばらつきの態様を異ならせる演算をすることによって前記変動値を設定する、
ことを特徴とする請求項6に記載の演奏データ処理方法。 - 前記変動値記憶手段は、互いに異なる態様のばらつきを有する複数系統分の前記変動値列を記憶しており、
前記変動値設定ステップは、前記変動値記憶手段から、前記少なくとも1系統の変動値列を選択して設定する、
ことを特徴とする請求項6に記載の演奏データ処理方法。 - 前記フレーズの区切りにより分割された演奏区間毎に、該演奏区間中の前記所定の音符列の特徴パターンを検出する特徴パターン検出ステップを有し、
前記変動値設定ステップは、前記特徴パターンに応じて、前記複数系統の中から、前記特徴パターンに適した前記少なくとも1系統の変動値列を選択して設定する、
ことを特徴とする請求項8に記載の演奏データ処理方法。 - 前記変動値設定ステップは、各列が互いにばらついた複数の変動値からなり、かつ、列毎にばらつきの態様が異なる複数の変動値列を少なくとも1系統、記憶する変動値記憶手段から、前記フレーズが検出される毎に、少なくとも1系統の前記変動値列を順次切り替えて該列内の最初の前記変動値を指定し、前記所定の音符制御用演奏データが検出される毎に、該列内の前記変動値を順番に読み出すものである、
ことを特徴とする請求項1から5までのいずれか1項に記載の演奏データ処理方法。 - 前記変動値設定ステップは、前記所定の音符制御用演奏データが検出される毎に、前記少なくとも1系統の変動値列における前記変動値を順番に選択して行き、前記制御値の最後のものを読み出したときには、前記制御値を1つずつ逆方向に読み出して行き、前記初期値の次の順番のものを読み出したときには、再び、順方向に読み出して行き、以後、逆方向の読み出しと前記順方向の読み出しとを繰り返すものである、
ことを特徴とする請求項6から10までのいずれか1項に記載の演奏データ処理方法。 - 前記所定の音符制御用演奏データは、処理対象とする複数種類の音符制御用演奏データの1つであり、
前記変動値記憶手段は、前記処理対象とする複数種類の音符制御用演奏データに対応した複数種類の所定の楽音特性に対する個別の変動値を少なくとも1系統、記憶しており、
前記変動値設定ステップは、前記変動値記憶手段から、前記所定の音符制御用演奏データが制御する所定の楽音特性に対する少なくとも1系統の前記変動値を選択して設定する、
ことを特徴とする請求項6から11までのいずれか1項に記載の演奏データ処理方法。 - 前記変動値設定ステップは、設定された前記少なくとも1系統の変動値を、さらに調整して前記出力ステップが用いる前記少なくとも1系統の変動値とする、
ことを特徴とする請求項1から12までのいずれか1項に記載の演奏データ処理方法。 - 一連の演奏データを入力し、音源設定値を有した所定の音源設定用演奏データを検出する演奏データ種別検出ステップと、
前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、
前記所定の音源制御用演奏データが検出されるか、および、前記フレーズの区切りが検出される毎に前記音源設定値をばらつかせる少なくとも1系統の変動値を、前記所定の音源制御用演奏データが検出されたとき、および、前記フレーズの区切りが検出される毎に設定する変動値設定ステップと、
前記所定の音源制御用演奏データが検出されたときに、当該所定の音源制御用演奏データが有する音源設定値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音源設定値とし、当該所定の音源制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力するとともに、前記フレーズの区切りが検出される毎に、最後に検出された前記所定の音源設定用演奏データが有していた音源設定値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音源設定値とし、前記所定の音源制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力ステップ、
を有することを特徴とする演奏データ処理方法。 - 一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力ステップ、
をコンピュータに実行させることを特徴とする演奏データ処理プログラム。 - 一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出手段と、
前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出手段と、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定手段と、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値を、新たに前記音符に対する所定の楽音特性の制御値とし、当該所定の音符制御用演奏データと同一種類の少なくとも1系統の演奏データを生成して出力する演奏データ出力手段、
を有することを特徴とする演奏データ処理装置。 - 一連の演奏データを入力し、該演奏データを構成する音符に対する所定の楽音特性の制御値を有した所定の音符制御用演奏データを検出する演奏データ種別検出ステップと、
前記一連の演奏データ中のフレーズの区切りを検出するフレーズ検出ステップと、
前記音符に対する所定の楽音特性の制御値を前記所定の音符制御用演奏データが検出される毎にばらつかせるための少なくとも1系統の変動値を、前記所定の音符制御用演奏データが検出される毎に設定し、かつ、前記フレーズの区切りが検出される毎に、前記少なくとも1系統の変動値のばらつきの態様を異ならせる変動値設定ステップと、
前記所定の音符制御用演奏データが検出される毎に、当該所定の音符制御用演奏データが有する前記音符に対する所定の楽音特性の制御値を、設定された前記少なくとも1系統の変動値に応じてばらつかせた値に基づいて、少なくとも1系統の楽音信号を合成して出力する楽音信号出力ステップ、
を有することを特徴とする楽音信号合成方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002231560A JP3812510B2 (ja) | 2002-08-08 | 2002-08-08 | 演奏データ処理方法および楽音信号合成方法 |
US10/635,995 US6946595B2 (en) | 2002-08-08 | 2003-08-07 | Performance data processing and tone signal synthesizing methods and apparatus |
CA002436679A CA2436679C (en) | 2002-08-08 | 2003-08-07 | Performance data processing and tone signal synthesizing methods and apparatus |
DE60318282T DE60318282T2 (de) | 2002-08-08 | 2003-08-08 | Methoden und Vorrichtung zur Verarbeitung von Ausführungsdaten und zur Synthetisierung von Tonsignalen |
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 |
---|---|---|---|
JP2002231560A JP3812510B2 (ja) | 2002-08-08 | 2002-08-08 | 演奏データ処理方法および楽音信号合成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004070154A true JP2004070154A (ja) | 2004-03-04 |
JP3812510B2 JP3812510B2 (ja) | 2006-08-23 |
Family
ID=32017288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002231560A Expired - Fee Related JP3812510B2 (ja) | 2002-08-08 | 2002-08-08 | 演奏データ処理方法および楽音信号合成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3812510B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007187950A (ja) * | 2006-01-16 | 2007-07-26 | Casio Comput Co Ltd | 楽音編集装置および楽音編集処理のプログラム |
JP2010107931A (ja) * | 2008-10-03 | 2010-05-13 | Yamaha Corp | 電子鍵盤楽器 |
CN1794345B (zh) * | 2004-12-20 | 2011-08-10 | 冲电气工业株式会社 | 乐曲再生装置 |
JP2014164131A (ja) * | 2013-02-25 | 2014-09-08 | Yamaha Corp | 音響合成装置 |
JP2015148663A (ja) * | 2014-02-05 | 2015-08-20 | ヤマハ株式会社 | 楽曲処理装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04198994A (ja) * | 1990-11-29 | 1992-07-20 | Yamaha Corp | 電子楽器の楽音制御方法 |
JPH05249966A (ja) * | 1992-03-10 | 1993-09-28 | Yamaha Corp | 楽音発生装置 |
JP2000155572A (ja) * | 1998-11-24 | 2000-06-06 | Yamaha Corp | 音源装置 |
JP2001159892A (ja) * | 1999-08-09 | 2001-06-12 | Yamaha Corp | 演奏データ作成装置及び記録媒体 |
-
2002
- 2002-08-08 JP JP2002231560A patent/JP3812510B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04198994A (ja) * | 1990-11-29 | 1992-07-20 | Yamaha Corp | 電子楽器の楽音制御方法 |
JPH05249966A (ja) * | 1992-03-10 | 1993-09-28 | Yamaha Corp | 楽音発生装置 |
JP2000155572A (ja) * | 1998-11-24 | 2000-06-06 | Yamaha Corp | 音源装置 |
JP2001159892A (ja) * | 1999-08-09 | 2001-06-12 | Yamaha Corp | 演奏データ作成装置及び記録媒体 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794345B (zh) * | 2004-12-20 | 2011-08-10 | 冲电气工业株式会社 | 乐曲再生装置 |
JP2007187950A (ja) * | 2006-01-16 | 2007-07-26 | Casio Comput Co Ltd | 楽音編集装置および楽音編集処理のプログラム |
JP2010107931A (ja) * | 2008-10-03 | 2010-05-13 | Yamaha Corp | 電子鍵盤楽器 |
JP2014164131A (ja) * | 2013-02-25 | 2014-09-08 | Yamaha Corp | 音響合成装置 |
JP2015148663A (ja) * | 2014-02-05 | 2015-08-20 | ヤマハ株式会社 | 楽曲処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3812510B2 (ja) | 2006-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7563975B2 (en) | Music production system | |
US7750230B2 (en) | Automatic rendition style determining apparatus and method | |
JP2003241757A (ja) | 波形生成装置及び方法 | |
US7396992B2 (en) | Tone synthesis apparatus and method | |
US6946595B2 (en) | Performance data processing and tone signal synthesizing methods and apparatus | |
US7816599B2 (en) | Tone synthesis apparatus and method | |
JP4561636B2 (ja) | 楽音合成装置及びプログラム | |
JP3812510B2 (ja) | 演奏データ処理方法および楽音信号合成方法 | |
JP4407473B2 (ja) | 奏法決定装置及びプログラム | |
JP3812509B2 (ja) | 演奏データ処理方法および楽音信号合成方法 | |
JP4802947B2 (ja) | 奏法決定装置及びプログラム | |
JP2002297139A (ja) | 演奏データ変更処理装置 | |
JP2003271142A (ja) | 奏法表示編集装置及び方法 | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP3744247B2 (ja) | 波形圧縮方法及び波形生成方法 | |
JP4172509B2 (ja) | 奏法自動判定装置及び方法 | |
JPH10171475A (ja) | カラオケ装置 | |
Ayers | Synthesising Chinese flutes using Csound | |
JP5104415B2 (ja) | 自動演奏装置及びプログラム | |
JP4218566B2 (ja) | 楽音制御装置及びプログラム | |
JP3832422B2 (ja) | 楽音生成装置及び方法 | |
JP2003271139A (ja) | 奏法自動判定装置及び方法 | |
JP2006133464A (ja) | 奏法決定装置及びプログラム | |
JP2003216152A (ja) | 楽音生成装置及び方法 | |
JP2003233374A (ja) | 楽曲データの自動表情付け装置及びプログラム |
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 |