JP3832422B2 - Musical sound generating apparatus and method - Google Patents

Musical sound generating apparatus and method Download PDF

Info

Publication number
JP3832422B2
JP3832422B2 JP2002333676A JP2002333676A JP3832422B2 JP 3832422 B2 JP3832422 B2 JP 3832422B2 JP 2002333676 A JP2002333676 A JP 2002333676A JP 2002333676 A JP2002333676 A JP 2002333676A JP 3832422 B2 JP3832422 B2 JP 3832422B2
Authority
JP
Japan
Prior art keywords
segment
envelope
performance
segment template
sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002333676A
Other languages
Japanese (ja)
Other versions
JP2003216153A (en
Inventor
元一 田邑
康之 梅山
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 JP2002333676A priority Critical patent/JP3832422B2/en
Publication of JP2003216153A publication Critical patent/JP2003216153A/en
Application granted granted Critical
Publication of JP3832422B2 publication Critical patent/JP3832422B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、楽音あるいは音声若しくはその他任意の音の楽音を生成する楽音生成装置及び方法に関する。特に、波形データの各種エンベロープを奏法に対応して制御させることにより、表現力豊かな楽音波形を生成する楽音生成装置及び方法に関する。この発明は、電子楽器は勿論のこと、自動演奏装置、コンピュータ、電子ゲーム装置その他のマルチメディア機器等、楽音あるいは音声若しくはその他任意の音を発生する機能を有するあらゆる分野の機器若しくは装置または方法において広範囲に応用できるものである。なお、この明細書において、楽音波形という場合、音楽的な音の波形に限るものではなく、音声あるいはその他任意の音の波形を含んでいてもよい意味合いで用いるものとする。
【0002】
【従来の技術】
PCM(パルス符号変調)あるいはDPCM(差分PCM)又はADPCM(適応差分PCM)等の任意の符号化方式で符号化した1又は複数周期の波形データを波形メモリに記憶しておき、これを所望のピッチに対応して繰り返し読み出すことによって適宜の楽音波形を生成するようにした、いわゆる「波形メモリ読み出し」技術は既に公知であり、また、様々なタイプの「波形メモリ読み出し」技術が知られている。こうした「波形メモリ読み出し」技術を用いた音源においては、単にメモリに記憶した波形データをそのまま読み出したものを楽音として出力するだけでなく、読み出した波形データを音高、音量、音色などの楽音要素毎に制御することによって、表現力豊かな楽音波形を生成することが従来から行われている。こうした音源において波形制御を行うものとして、例えば音源に内蔵されるピッチEGやアンプ(振幅)EGあるいはフィルタEGなどの各種EG(Envelope Generator)がある。ピッチEGは音高(つまりピッチ)に関するピッチエンベロープを制御するものであり、任意のピッチエンベロープに従って波形データの読み出し速度を適宜に変更することによって、ピッチが経時変化する楽音波形を生成する。アンプEGは音量に関する所要のエンベロープ波形(つまり音量振幅エンベロープ)を形成し、読み出した波形データに該音量振幅エンベロープを付与することによって、発音開始から終了までの音量を制御する。また、フィルタEGは音色制御用のフィルタ特性を制御するものであり、読み出した波形データをその特性がフィルタEGで制御されたフィルタにより処理することによって、音色が経時変化する楽音波形を生成する。
【0003】
上述した各種EG以外に波形制御を行うものとして、曲中で演奏の抑揚(例えば、expression(エクスプレッション)、Pitch bend(ピッチベンド)、Modulation depth(モジュレーションデプス)、Modulation Speed(モジュレーションスピード)など)を変化させたい適宜の時間にユーザがその都度所定の操作子等(例えば、expression pedal(イクスプレッションペダル)、bend wheel(ベンドホイール)、modulation wheel(モジュレーションホイール)など)を操作することによって、音高・音量・音色等を連続的に変化するように制御を行うコンティニュアス・コントロールが従来から知られている。このコンティニュアス・コントロールにより設定された各種の制御値はシーケンサに記憶することができ、また記憶した各種の制御値をシーケンサ上で適宜に編集することができる。この他にも、シーケンサが独自機能として提供する奏法テンプレート機能による波形制御が従来から知られている。これは、音楽記号を指定すると、予め用意されている各音楽記号に対応するマクロパターンデータ(若しくは奏法テンプレートとも呼ぶ)を楽曲データに付加することによって、音高・音量・音色等を制御するものである。奏法テンプレートが用意される音楽記号としては、例えば強弱記号(例えばクレッシェンド、ディミニュエンド、ピアノ、メゾ・フォルテなど)や終止記号(例えばフェルマータなど)や速度変化記号(例えばアッチェレランド、リタルダンドなど)、あるいは演奏・奏法記号(例えばグリッサンド、ポルタメント、チョーキング、トレモロ、スタッカート、アクセントなど)などがある。さらに波形制御を行うものとして、1音の立ち上がりから立下りまでの全発音期間にわたる楽音のピッチ変調波形を予め複数記憶しておき(例えばアタックピッチ、ビブラート、ポルタメントなどに関してのピッチ変調波形)、オンされているピッチ変調波形のみを合成して、合成されたピッチ変調波形に基づき楽音の音高(つまりピッチ)を変更することによって制御を行うようにしたものが、本出願人により既に出願済みである(特開昭60−60693号)。
【0004】
【発明が解決しようとする課題】
しかし、上述したような各種の波形制御に従って楽音波形を生成するものは、以下の点においてそれぞれ問題がある。すなわち、各種EGによる波形制御においては、1音の立ち上がり立下りなどの1音単位の制御を行うのが普通であるために、フレーズ単位(例えば1小節単位など)における波形の緩やかな変化等をうまく制御することができない、という問題点がある。コンティニュアス・コントロールによる波形制御においては、コンティニュアス・コントロールは演奏される音符とは独立した制御であるために、音のアタック部といった所定の部分区間についてのみ制御を行ったり、1音や1つのフレーズについてのみ制御を行ったりすることが困難である、という問題点がある。シーケンサの奏法テンプレート機能による波形制御においては、全ての奏法テンプレートが同じ時間長さを持つものである(つまり、時間長さで階層化されたテンプレートを複数用いて変化カーブを合成するようなものではない)ために、所望の部分区間毎に表現を変えたいような場合に用いることができず柔軟性がない、という問題点がある。また、奏法テンプレートはコンティニュアス・コントロールを生成するものであるため、複数エレメントからなるボイス(音色波形)を制御する場合にはエレメント毎に個性ある奏法を付与することができない、という問題点もある。全発音期間にわたる楽音のピッチ変調波形による波形制御においては、オンオフできるピッチ変調波形はそれぞれ1音の立ち上がりから立下りまでの1音全体について制御を行うものであり、アタック部だけの制御とかフレーズにわたっての制御を行うことができない、という問題点がある。
このように、従来知られた音源のほとんどは1音内の所定区間毎に多くの変化をする楽音を生成するための波形制御や、複数の音にわたって適宜に変化する楽音を生成するための波形制御を行うことは非常に難しいことであった。
【0005】
本発明は上述の点に鑑みてなされたもので、1音単位での波形制御だけでなく、1音内における部分的区間に対しての波形制御、あるいは複数の音にわたっての波形制御を簡単に行いながら楽音を生成することのできる楽音生成装置及び方法を提供しようとするものである。例えば、1フレーズ内あるいは1音内における一部区間に付与すべき特性変化カーブからなるテンプレートを適宜に選択的に用いてエンベロープを合成し、該合成したエンベロープに従って楽音波形を生成する際に、これらのテンプレートを奏者毎若しくは楽器毎に予め用意しておくことによって、ユーザは奏者や楽器の特徴にあわせた波形制御を部分的区間毎に簡単に行うことができるようにした楽音生成装置及び方法に関する。
【0006】
【課題を解決するための手段】
本発明の請求項1に係る楽音生成装置は、演奏情報を供給する演奏情報供給手段と、楽器毎の音楽的特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを複数供給するセグメントテンプレート供給手段と、複数の楽器から1つの楽器を選択する選択手段と、演奏音の一部区間に配置すべきセグメントテンプレートを、前記セグメントテンプレート供給手段で供給される複数のセグメントテンプレートの中から、前記選択された楽器に応じて決定する決定手段と、前記決定されたセグメントテンプレートの特性変化カーブを、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に配置し、配置した特性変化カーブを含む合成エンベロープを形成するエンベロープ合成手段と、形成された合成エンベロープを用いて楽音を生成する楽音生成手段とを具える。
【0007】
この発明によれば、楽器毎の音楽的特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを供給するようにしてなり、演奏音の一部区間に配置すべきセグメントテンプレートを、ユーザにより選択された楽器に応じて決定し、決定されたセグメントテンプレートの特性変化カーブを含む合成エンベロープを形成するようにしたので、演奏音のエンベロープを形成するにあたり、演奏音の一部区間において、楽器毎に適切な特性変化カーブを用いることができ、よって、一部区間で各楽器毎に特有の音楽的特徴を反映した細かな制御を行うことが可能となる。例えば、演奏情報に基づき生成される基本エンベロープに対して、決定されたセグメントテンプレートの特性変化カーブを組み合わせることにより合成エンベロープを形成することで、基本エンベロープが持つ特徴に加えて、一部区間で個別楽器毎に特有の音楽的特徴を反映した細かな制御を行うことが可能となり、エンベロープ制御の幅が広がる。また、演奏音のエンベロープを形成するにあたり、複数の異なる一部区間において、それぞれ個別にセグメントテンプレートを決定しうるので、多様な組み合わせで合成エンベロープを形成することも可能となる。このように、楽器毎の音楽的特徴を表す特性変化カーブを持つセグメントテンプレートを用いて一部区間の合成エンベロープを発生し、該合成エンベロープに従い楽音を生成するようにしたことから、ユーザは一部区間において楽器毎の音楽的特徴を持つ楽音を簡単に生成することができるようになる。また、セグメントテンプレートが特性変化カーブと共に該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報を含んでおり、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に該特性変化カーブを配置するようにしているので、該位置情報に基づき時間軸上への該部分的な特性変化カーブの配置を容易に行うことができる。更には、特性変化カーブの各セグメントテンプレートにおいて格別に位置情報を含むようになっているが故に、位置情報を含む個々のセグメントテンプレートにつき、その特性変化カーブにおける任意の中間位置に対応付けて位置情報をもたせることができるものとなり、従来にない、多様な態様で、合成エンベロープを形成することができる。なお、演奏音の合成エンベロープは1音毎に形成してもよいし、複数音からなるフレーズ毎に形成してもよい。
【0008】
本発明の請求項2に係る楽音生成装置は、演奏情報を供給する演奏情報供給手段と、奏者毎の演奏特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを複数供給するセグメントテンプレート供給手段と、複数の奏者から1人の奏者を選択する選択手段と、演奏音の一部区間に配置すべきセグメントテンプレートを、前記セグメントテンプレート供給手段で供給される複数のセグメントテンプレートの中から、前記選択された奏者に応じて決定する決定手段と、前記決定されたセグメントテンプレートの特性変化カーブを、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に配置し、配置した特性変化カーブを含む合成エンベロープを形成するエンベロープ合成手段と、形成された合成エンベロープを用いて楽音を生成する楽音生成手段とを具える。この場合も、奏者毎の演奏特徴を表す特性変化カーブを持つセグメントテンプレートを用いて一部区間の合成エンベロープを発生し、該合成エンベロープに従い楽音を生成するようにしたことから、ユーザは一部区間において奏者毎の演奏特徴を持つ楽音を簡単に生成することができるようになる。また、セグメントテンプレートが特性変化カーブと共に該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報を含んでおり、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に該特性変化カーブを配置するようにしているので、該位置情報に基づき時間軸上への該部分的な特性変化カーブの配置を容易に行うことができる。更には、特性変化カーブの各セグメントテンプレートにおいて格別に位置情報を含むようになっているが故に、位置情報を含む個々のセグメントテンプレートにつき、その特性変化カーブにおける任意の中間位置に対応付けて位置情報をもたせることができるものとなり、従来にない、多様な態様で、合成エンベロープを形成することができる。
【0009】
本発明は、装置の発明として構成し実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【0010】
【発明の実施の形態】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【0011】
図1は、この発明に係る楽音生成装置のハードウエア構成例を示すブロック図である。ここに示されたハードウエア構成例はコンピュータを用いて構成されており、そこにおいて、楽音生成処理は、コンピュータがこの発明に係る楽音生成処理を実現する所定のソフトウエア・プログラムを実行することにより実施される。勿論、この楽音生成処理はコンピュータソフトウエアの形態に限らず、DSP(Digital Signal Processor)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。また、この楽音生成装置は、電子楽器あるいはカラオケ装置又は電子ゲーム装置又はその他のマルチメディア機器又はパーソナルコンピュータ等、任意の製品応用形態をとっていてよい。
なお、上記した楽音生成装置はこれら以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。
【0012】
図1に示されたハードウエア構成例においては、コンピュータのメイン制御部としてのCPU1に対して、バスラインBL(データあるいはアドレスバス等)を介してリードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3、入力装置4、表示装置5、ドライブ6、波形取込部7、音源部8、ハードディスク9、入出力インターフェース10がそれぞれ接続されている。CPU1は、「楽音生成処理」(後述する図2参照)などの各種処理を所定のプログラムに基づいて実行する。これらのプログラムは、入出力インターフェース10を介した通信ネットワークに接続された外部の電子楽器、あるいはドライブ6に装着されたCDやMO等の外部記憶メディア6A等から供給されてハードディスク9に記憶される。そして、実行時にハードディスク9からRAM3にロードされる。あるいは、ROM2にプログラムが予め記録されていてもよい。
【0013】
ROM2は、CPU1により実行あるいは参照される各種プログラムや各種データ等を格納するものである。RAM3は、CPU1がプログラムを実行する際に発生する各種データなどを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリとして使用されるものである。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。入力装置4は、楽音をサンプリングする指示やサンプリングされた波形データのエディット(つまり波形制御)や該波形制御の際に用いる各種セグメント・テンプレートの選択(詳しくは後述する)、あるいは各種情報の入力等を行うための各種の操作子を含んで構成される。例えば、各種セグメント・テンプレート選択用のスイッチや、数値データ入力用のテンキー、文字データ入力用のキーボード、あるいはマウス等のポインティングデバイスなどである。この他にも音高、音色、効果等を選択・設定・制御するための各種操作子を含んでいてよい。表示装置5は、入力装置4により入力された各種情報、サンプリングされた波形データや波形制御後の波形データ、あるいは各種セグメント・テンプレート等を表示する、例えば液晶表示パネル(LCD)やCRT等のディスプレイである。
【0014】
波形取込部7は図示しないA/D変換器を内蔵し、例えばマイクロフォンなどから外部波形入力されたアナログ楽音信号をサンプリングしてデジタルデータに変換し、該デジタルデータをオリジナル波形データ(つまり、生成すべき楽音波形の素材となる波形データ)としてハードディスク9上に取り込む。該取り込まれたオリジナル波形データは、所定の処理に従ってベクトルデータ及び奏法モジュールとして、それぞれ「波形データベース」と「奏法データベース」に記憶される。ベクトルデータは取り込んだオリジナル波形データをそのままではなく、取り込んだオリジナル波形の形状を代表する一部の波形(例えば、アタック部波形、ボディ部波形、リリース部波形、ジョイント部波形など)毎に、階層的な圧縮手法を用いてデータ圧縮した形で波形データベースに記憶したものである。奏法モジュールは、ベクトルデータを指定するためのデータと、圧縮された形で記憶されたベクトルデータを元の波形形状の波形データに戻すために必要なデータなどを具える。したがって、奏法モジュールは、Entrance(エントランス)系モジュール、Finish(フィニッシュ)系モジュール、Joint(ジョイント)系モジュール、Body(ボディ)系モジュールのいずれかとして奏法データベースに記憶される。すなわち、Entrance系モジュールはアタック部のような1音における立ち上がりの演奏区間を表すベクトルデータを指し示すものであって、Finish系モジュールはリリース部のような1音における立下りの演奏区間を表すベクトルデータを指し示すものであって、Joint系モジュールは音と音とをつなぐ演奏区間を表すベクトルデータを指し示すものであって、Body系モジュールは前記Entrance系モジュールと前記Finish系モジュールとの間の演奏区間を表すベクトルデータを指し示すものである。Entrance系、Finish系、Joint系の各奏法モジュールは奏法(若しくはアーティキュレーション)等の特徴を有する高品質な波形から生成されたベクトルデータを指し示すものであり、Body系モジュールはNSB(Normal Short Body:ノーマルショートボディ)やVB(Vibrato Body:ビブラートボディ)などといった1周期または適当な複数周期分の波形からなる比較的単調な音部分の単位波形(つまりループ波形)から生成されたベクトルデータを指し示すものである。なお、波形を形成するためのベクトルデータは、波形(timbre)ベクトル、振幅(amplitude)エンベロープベクトル、ピッチ(pitch)エンベロープベクトル、時間(time)ベクトル、などの要素で構成される。
【0015】
音源部8は、「波形データベース」から読み出したベクトルデータを複数接続して波形合成することで一連の楽音波形を生成することができ、生成した楽音波形をサウンドシステム8Aに送出する。この楽音生成の際に、音源部8は「セグメントデータベース」から読み出した各種セグメント・テンプレート(後述する)を用いて、1音内における一部区間に対する楽音波形の制御を行うことができるようになっている。これについての詳細は後述することから、ここでの説明を省略する。サウンドシステム8Aでは、音源部8から出力された楽音信号をD/A変換してアナログ信号に変換して外部に出力する。勿論、複数の楽音信号の同時出力が可能である。ハードディスク9は、各種奏法モジュールを蓄積した奏法データベースや各種セグメント・テンプレートを蓄積したセグメントデータベースやベクトルデータを蓄積した波形データベースなどの各種データベースや、前記CPU1が実行する各種プログラム等などを記憶する記憶装置である。
なお、前記音源部8は、ソフトウエアにより楽音を生成するいわゆるソフトウエア音源により実現するようにしてもよいことは言うまでもない。
【0016】
ドライブ6は、各種奏法モジュールや各種セグメント・テンプレートなどの各種データや、前記CPU1が実行する各種プログラム等を記憶するための着脱可能な外部記憶メディア6Aを駆動するものである。該ドライブ6により駆動される外部記憶メディア6Aは、フレキシブルディスク(FD)、コンパクトディスク(CD−ROM・CD−RW)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記憶媒体を利用するメディアであればどのようなものであってもよい。若しくは、半導体メモリなどであってもよい。各種プログラムを記憶した外部記憶メディア6Aをドライブ6にセットした場合、その記憶内容(つまりプログラム)をハードディスク9に落とすことなく直接RAM3にロードするようにしてもよい。なお、外部記憶メディア6Aを用いて、あるいは入出力インターフェース10を介してプログラムを提供するやり方は、プログラムの追加やバージョンアップ等を容易に行うことができるので好都合である。
【0017】
入出力インターフェース10は、例えばLANやインターネット、電話回線等の通信ネットワーク(図示せず)に接続されており、該通信ネットワークを介してサーバコンピュータ等(図示せず)と接続され、当該サーバコンピュータ等からプログラムや各種奏法モジュールや各種セグメント・テンプレート、あるいは演奏情報などを楽音生成装置側に取り込むための通信インターフェースである。すなわち、ROM2やハードディスク9にプログラムや各種奏法モジュールや各種セグメント・テンプレートなどが記憶されていない場合に、サーバコンピュータからプログラムや各種奏法モジュールや各種セグメント・テンプレートなどをダウンロードするために用いられる。クライアントとなる楽音生成装置は、入出力インターフェース10を介してサーバコンピュータへとプログラムや各種奏法モジュールや各種セグメント・テンプレートなどのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムや各種奏法モジュールや各種セグメント・テンプレートなどを入出力インターフェース10を介してハードディスク9に蓄積することにより、ダウンロードが完了する。なお、入出力インターフェース10はMIDIインターフェースであってもよく、そうした場合にはシーケンサや電子楽器などの外部MIDI機器との間でMIDI演奏情報の入出力を行う。また、MIDIインターフェースとした場合には、音楽演奏用キーボードや演奏操作機器を接続して、これらを用いてMIDI演奏情報をリアルタイムに該楽音生成装置に対して供給するようにしてもよい。
【0018】
上述の図1に示した楽音生成装置において、楽音生成はコンピュータが楽音生成処理を実現する所定のソフトウエア・プログラムを実行することにより実施される。あるいは、こうしたプログラムの形態に限らず、楽音生成処理を専用ハードウエア装置の形態で実施するようにしてもよい。そこで、本発明に係る楽音生成装置で実行する楽音生成処理について、図2を用いて説明する。図2は、楽音生成処理を専用ハードウエア装置の形態で構成した場合の一実施例を示すブロック図である。この図2を用いて、楽音生成処理全体の動作概要について簡単に説明する。
【0019】
曲データ再生部1Aは、奏法記号付き曲データの再生処理を行う。すなわち、まず最初に曲データ再生部1Aは奏法記号付き曲データ(つまり演奏情報)を受信する。通常の楽譜においては、そのままではMIDIデータとすることができないような強弱記号(例えばクレッシェンドやデクレッシェンド等)、テンポ記号(例えばアレグロやリタルダンド等)、スラー記号、テヌート記号、アクセント記号等の音楽記号が付されている。そこで、これらの音楽記号を「奏法記号」としてデータ化する。この「奏法記号」を含むMIDI曲データが「奏法記号付き曲データ」であり、曲データ再生部1Aはこのような奏法記号付き曲データを受信する。楽譜解釈部(プレーヤー)1Bでは、楽譜解釈処理を行う。具体的には、受信した奏法記号付き曲データに含まれるMIDIデータと上記「奏法記号」を所定の奏法指定情報(例えば、奏法IDと奏法パラメータ)に変換し、時刻情報とともに奏法合成部(アーティキュレーター)1Cに出力する。楽譜解釈部(プレーヤー)1Bでは奏法指定情報を生成する際に、演奏情報に基づくオリジナルなエンベロープ(これを「入力エンベロープ」または「基本エンベロープ」ということにする)を生成し、かつ、ユーザ選択あるいは自動選択処理に従ってセグメントデータベースから読み出された各種セグメント・テンプレートとこの「入力エンベロープ」(すなわち「基本エンベロープ」)とを加算して合成エンベロープを生成し、該生成した合成エンベロープを奏法合成部(アーティキュレーター)1Cに奏法パラメータとして出力する。一般的に、同じ音楽記号でも演奏者や楽器により該音楽記号の解釈が異なって、演奏者毎や楽器毎に異なった演奏方法(すなわち、奏法若しくはアーティキュレーション)で演奏が行われることがある。あるいは、音符の並び方等によっても、演奏者毎や楽器毎に異なった演奏方法で演奏が行われることもある。そこで、そのような楽譜上の記号(音楽記号や音符の並び方等)を解釈する知識をエキスパートシステム化したものが楽譜解釈部1Bであり、楽譜解釈部1Bは所定の基準に従った解釈を楽譜に対して行う。この際に、楽譜解釈部1Bは、ユーザからのプレーヤー指定(例えば、誰の演奏かあるいはどの楽器かなどの指定)に応じて、楽譜の解釈方法を異ならせて楽譜を解釈する。こうした複数プレーヤーに対応した異なる楽譜解釈方法の1つとして、セグメントデータベースに複数の各種セグメント・テンプレートが蓄積されており、楽譜解釈部1Bはユーザからのプレーヤー指定あるいは楽器指定に応じて用いるべきセグメント・テンプレートを決定する。
【0020】
奏法合成部(アーティキュレーター)1Cは楽譜解釈部(プレーヤー)1Bにより変換された所定の奏法指定情報(奏法IDと奏法パラメータ)に基づいて奏法データベースを参照して、該奏法指定情報に応じたパケットストリーム及び奏法パラメータに応じた該ストリームに関するベクトルパラメータを生成し、波形合成部1Dに供給する。パケットストリームとして波形合成部1Dに供給されるデータは、ベクトルID、時刻情報等である。この際に、奏法合成部(アーティキュレーター)1Cでは、所定の奏法指定情報に基づき奏法データベースから奏法モジュールを読み出し、該奏法モジュールを時間軸上に配置してパケットストリームを生成し、時間軸上に配置した奏法モジュールに対して楽譜解釈部(プレーヤー)1Bにより生成された合成エンベロープを配分する。奏法モジュールはハードディスク9上の「奏法データベース」に記憶されており、例えば1つの奏法モジュールは「奏法ID」によって特定される。「奏法ID」に応じて特定された所定の奏法モジュールの内容は、該奏法モジュールに対応する波形データを特徴付ける若しくは制御する奏法パラメータとして与えられる。波形合成部1Dは生成されたパケットストリームに応じて波形データベースからベクトルデータを順次に取り出し、該ベクトルデータをベクトルパラメータに応じて変形し、変形した各ベクトルデータを波形接続し、該接続した一連のベクトルデータに基づいて任意の楽音波形を生成する。サウンドシステム8Aでは、生成した楽音波形に基づき楽音を出力する。
【0021】
ここで、上述した楽譜解釈部(プレーヤー)1Bが入力エンベロープを合成する際に用いるセグメント・テンプレートについて、図3を参照しながら説明する。図3はセグメント・テンプレートのデータ構成の一実施例を示した概念図であり、図3(a)はNote(ノート)セグメント・テンプレートを示す。図3(b)はEntranceセグメント・テンプレートを指定するテーブル、図3(c)はFinishセグメント・テンプレートを指定するテーブルの一実施例を示したものである。これらの各セグメント・テンプレートは、テーブル化された「セグメントデータベース」としてそれぞれハードディスク9などに予め記憶されている。勿論、これらの実施例は一例であり、これに限られないことは言うまでもない。
【0022】
Noteセグメント・テンプレート(以下、単にNoteセグメントと呼ぶ)は1音全体の抑揚を表現するために用いる制御データであり、図3(a)に示すように、Noteセグメントはハードディスク9上にテーブル化されて構成される。テーブルを構成する1つ1つのNoteセグメントは、1音全体に付与すべき特性変化カーブからなる。すなわち、1つ1つのNoteセグメントは所定のテーブル番号毎に所定形状の特性変化カーブを持つデータである。各Noteセグメントは、それぞれが持つ特性変化カーブの形状にあわせていくつかのタイプ別に分類される。例えば、この実施例では大きく6つのタイプ別に分類されている。すなわち、テーブル番号0〜7まではほぼ真っ直ぐな形状の特性変化カーブを持つNoteセグメント、テーブル番号8〜15までは右肩上がりの形状の特性変化カーブを持つNoteセグメント、テーブル番号16〜23までは右肩下がりの形状の特性変化カーブを持つNoteセグメント、テーブル番号24〜31までは山型の形状の特性変化カーブを持つNoteセグメント、テーブル番号32〜39までは谷型の形状の特性変化カーブを持つNoteセグメント、テーブル番号40〜47までは飛ばし型の形状の特性変化カーブを持つNoteセグメントである。
【0023】
こうしたタイプ別に分類された各々のNoteセグメントは、それぞれのタイプに属する特徴的な形状の特性変化カーブをもつ。例えば、右肩上がりタイプに分類されたテーブル番号8のNoteセグメントは一定の傾きで右肩上がりの特性変化カーブを持つデータであるし、テーブル番号9のNoteセグメントは前半部分の傾斜に比較して後半部分から傾斜が急に右肩上がりとなる特性変化カーブを持つデータである。また、山型タイプに分類されたテーブル番号24のNoteセグメントは前半部分に山型のピークがある特性変化カーブを持つデータであるし、テーブル番号25のNoteセグメントは中央部分に山型のピークがある特性変化カーブを持つデータである。なお、この実施例におけるテーブル番号0のNoteセグメントはデフォルトで用いられるデータとして設定されるものであり、該Noteセグメントはその形状が完全なフラット形状である。つまり、テーブル番号0のNoteセグメントを入力エンベロープを変更する際に用いた場合には、オリジナルの入力エンベロープ波形が再現されることになる。
なお、図示しないPhraseセグメント・テンプレートは1つのフレーズ(例えば、1小節など)の抑揚を表現するために用いる制御データであり、上記Noteセグメント・テンプレートとは時間長が異なるだけのものであって、その他のデータ構成及び特性変化カーブ形状などは上記Noteセグメント・テンプレートと類似であることから説明を省略する。
【0024】
他方、Entranceセグメント・テンプレート及びFinishセグメント・テンプレート(以下、単にEntranceセグメント及びFinishセグメント)は、上述のNoteセグメント・テンプレートと比較してその時間長が短いデータであり、Entranceセグメントは1音の鳴り始め部分の所定区間における抑揚を表現するため、Finishセグメントは1音の鳴り終わり部分の所定区間における抑揚を表現するために用いる制御データであり、Entranceセグメント及びFinishセグメントは上述したNoteセグメントと同様にハードディスク9上にテーブル化されて構成される。テーブルを構成する1つ1つのEntranceセグメントは、1音内における鳴り初めの所定区間に付与すべき特性変化カーブと位置データ(詳しくはノートオンタイミング)とからなるデータである。一方、テーブルを構成する1つ1つのFinishセグメントは、1音内における鳴り終わりの所定区間に付与すべき特性変化カーブと位置データ(詳しくはノートオフタイミング)とからなるデータである。すなわち、1つ1つのEntranceセグメント及びFinishセグメントは、所定のテーブル番号毎に所定形状の特性変化カーブ(図示省略)を持つデータである。前記位置データは、Entranceセグメント及びFinishセグメントにおける各特性変化カーブの形状に応じた位置に設定されるデータである。例えば、Entranceセグメントにおいて、立ち上がりがゆっくりである音の場合における位置データはEntranceセグメントの後半よりの適宜の位置に設定されるし、立ち上がりが急である音の場合における位置データはEntranceセグメントの前半よりの適宜の位置に設定される。このように位置データを設定すると、Entranceセグメント及びFinishセグメントをそれぞれノートオン付近やノートオフ付近の時間軸上に配置することができ(後述する図6に示す各セグメント・テンプレートの時間軸上への配置参照)、これによりユーザがアタック音やリリース音などを感じる適切な位置でアタック音やリリース音などを発生させることができるようになっている。
【0025】
Entranceセグメントが持つ特性変化カーブは、Entranceセグメントにおいては音価(4分音符以下・2分音符以下・全音符以下・全音符以上)、前音との関係(Finish・Joint)及び引っ掛けの強さ(強・中・弱・スラー)によって指定される。引っ掛けの強さとは、バイオリンなどの弦楽器でいえば弓を弾き始める時に弦の上に弓を置く強さ、サックスなどの管楽器でいえばタンギングの強さ、ピアノなどの鍵盤楽器でいえば押鍵の強さを表す。図3(b)に示した実施例において、例えばEntranceセグメントを適用する対象となる音価が「4分音符以下」であり、前音との関係が「Joint」であり、引っ掛けの強さが「中」であるような場合には、テーブル番号68のEntranceセグメントが適用するEntranceセグメントとして選択されることになる。一方、Finishセグメントが持つ特性変化カーブは、音価(4分音符以下・2分音符以下・全音符以下・全音符以上)、後音との関係(Entrance・Joint)及びタイプ(ねっとり・ふつう・あっさり・スラー)によって指定される。図3(c)に示した実施例において、例えばFinishセグメントを適用する対象となる音価が「全音符以下」であり、後音との関係が「Entrance」であり、タイプが「あっさり」であるような場合には、テーブル番号48のFinishセグメントが適用するFinishセグメントとして選択されることになる。なお、Noteセグメント・テンプレートと同様に、Entranceセグメント・テンプレート及びFinishセグメント・テンプレートにおいても、それらテーブル番号0のEntrance及びFinishセグメントはデフォルトで用いられるデータとして設定されるものであり、該テーブル番号0のEntrance及びFinishセグメントを入力エンベロープを変更する際に用いた場合には、オリジナル波形が再現されることになる。
【0026】
これらPhrase/Note/Entrance/Finishの各セグメント・テンプレートは、dynamics(持続的演奏強度)/Pitch(ピッチ)/vibrato depth(ビブラートデプス)/vibrato Speed(ビブラートスピード)の各特性変化カーブをセットで持つ。ただし、上述した実施例では説明を簡単にするために、代表としてdynamicsに関してのセグメント・テンプレートのみを示した。すなわち、図3(a)はdynamicsを制御する特性変化カーブを例示的に示したものであり、このdynamicsに関する各セグメント・テンプレートに対応するようにして、各テーブル番号毎に図示を省略したPitch/vibrato depth/vibrato Speedに関する各セグメント・テンプレートが予めテーブル化されてハードディスク9上に記憶されている。Phrase/Note/Entrance/Finishの各セグメント・テンプレートがそれぞれdynamics/Pitch/vibrato depth/vibrato Speedの各特性変化カーブの計4種をセットで持つことによって、dynamicsを徐々に上げながらPitchを下げるといった、異なる楽音要素のエンベロープを相互に関連づけながら制御すること、を同時に行うことができるようになっている。こうしたdynamics/Pitch/vibrato depth/vibrato Speedに関する各特性変化カーブをセットで持つPhrase/Note/Entrance/Finishの各セグメント・テンプレートを、この実施例ではSAT(Segment Articulation Template)と呼び、こうしたSATを1奏者毎あるいは1楽器毎にそれぞれセグメントデータベースに記憶する。こうすると、同じテーブル番号のSATを指定しても奏者毎あるいは楽器毎に異なるSATを用いることができるし、また、Phrase/Note/Entrance/Finishの各セグメント・テンプレートを指定するだけでdynamics/Pitch/vibrato depth/vibrato Speedの各特性変化カーブを全て同時に指定することができることから、1つ1つをわざわざ指定しなくてよく便利である。
【0027】
上述したように、Phrase/Note/Entrance/Finishの各セグメント・テンプレートは時間長毎に階層的に構成されているデータであり、これらの各セグメント・テンプレートを適宜に組み合わせて、演奏情報が所持するオリジナルなエンベロープである入力エンベロープと合成することで、フレーズ毎や1音毎における細やかなエンベロープ制御を行うことができる。すなわち、本発明に係る楽音生成装置では、Phraseセグメント及びNoteセグメントを重ねて用いることによって各特性変化カーブを入力エンベロープと合成し、該合成エンベロープに基づいてフレーズ毎及び1音1音毎に波形制御を行い任意の楽音波形を生成する。また、EntranceセグメントをNoteセグメントの開始部分の所定区間に、FinishセグメントをNoteセグメントの終了部分の所定区間にそれぞれ重ねて用いることによって各特性変化カーブを入力エンベロープと合成し、該合成エンベロープに基づいて1音内における所定の部分区間毎に波形制御を行い任意の楽音波形を生成する。すなわち、異なる時間長さからなる階層的構造のセグメント・テンプレートを適宜に組み合わせて用いることで、フレーズ毎及び1音1音毎に、あるいは1音内における所定区間毎に波形制御を行うことができ、これにより微妙な変化のある楽音波形を生成することができるようになっている。そこで、こうしたセグメント・テンプレートによる波形制御について、具体例を用いて説明する。
【0028】
まず、各セグメント・テンプレートの決定処理について説明する。Phrase及びNoteセグメント・テンプレートは、ユーザ選択に従って決定される。Phraseセグメント・テンプレートの場合、Phraseセグメント・テンプレートを使用する指定があった後の所定演奏区間毎における最初(同時刻を含む)のノートオンイベントデータから始まる所定演奏区間に対してのみ該Phraseセグメント・テンプレートは有効であることから、ユーザは各演奏区間毎に用いるべきPhraseセグメント・テンプレートを適宜に選択する。こうした選択が行われなかった所定演奏区間に対しては、デフォルトとして予め決められたPhraseセグメント・テンプレートを使用する。一方、Noteセグメント・テンプレートの場合、Noteセグメント・テンプレートを使用する指定があった後の最初(同時刻を含む)のノートオンイベントデータから始まる1音に対してのみ該Noteセグメント・テンプレートは有効であることから、ユーザは1音1音の各音毎に用いるべきNoteセグメント・テンプレートを適宜に選択する。こうした選択が行われなかった1音に対しては、デフォルトとして予め決められたNoteセグメント・テンプレートを使用する。例えば、上述の図3(a)に示すようなテーブル番号0の完全なフラット形状の特性変化カーブを持つNoteセグメント・テンプレートがデフォルトとして決められている場合には、該Noteセグメント・テンプレートを使用する。
【0029】
他方、Entrance及びFinishセグメント・テンプレートは1音毎に、ユーザ選択が行われている場合には該選択に従って決定され、ユーザ選択が行われていない場合には所定の処理に従って自動的に決定される。そこで、こうしたEntrance及びFinishセグメント・テンプレートの決定処理について、図4及び図5を用いて説明する。Entranceセグメント・テンプレートを決定する処理について、図4を用いて説明する。図4は、「Entranceセグメント・テンプレート自動決定処理」の一実施例を示すフローチャートである。
【0030】
ステップS1では、Entranceセグメント・テンプレートがテーブル番号等により選択的に指定されているか否かを判定する。Entranceセグメント・テンプレートが指定されている場合には(ステップS1のYES)、指定されたテーブル番号等に従うEntranceセグメント・テンプレートに決定する(ステップS2)。Entranceセグメント・テンプレートが指定されていない場合には(ステップS1のNO)、該NoteにおいてEntranceセグメント・テンプレートが必要でないか否か、つまり音の立ち上がり区間に対する制御を行う必要がないか否かを判定する(ステップS3)。Entranceセグメント・テンプレートが必要でない、つまり該NoteにおいてEntranceセグメント・テンプレートによる波形制御を行う必要がない場合には(ステップS3のNO)、テーブル番号0のEntranceセグメント・テンプレート(つまりSATなし)に決定する(ステップS4)。すなわち、この場合には特性変化カーブが「フラット」であるEntranceセグメント・テンプレートに決定することから、音の立ち上がり区間に対する制御が行われないこととなる。一方、Entranceセグメント・テンプレートが必要である、つまり該NoteにおいてEntranceセグメント・テンプレートによる波形制御を行う必要がある場合には(ステップS3のYES)、Entranceセグメント・テンプレートの自動選択を実行するように設定されたか否かを判定する(ステップS5)。自動選択を実行するように設定されていなかった場合には(ステップS5のNO)、テーブル番号0のEntranceセグメント・テンプレート(つまりSATなし)に決定する(ステップS4)。自動選択を実行するように設定されていた場合には(ステップS5のYES)、前の音(Note)との関係がジョイントであるか否かを判定する(ステップS6)。前の音との関係がジョイントでない場合には(ステップS6のNO)、テーブルにおける前音との関係を「Finish」に設定する(ステップS9)。前の音との関係がジョイントである場合には(ステップS6のYES)、さらに前の音との関係がスラーであるか否かを判定する(ステップS7)。前の音との関係がスラーでない場合には(ステップS7のNO)、テーブルにおける前音との関係を「Joint」に設定する(ステップS10)。前の音との関係がスラーである場合には(ステップS7のYES)、テーブル番号1のEntranceセグメント・テンプレート(つまり、スラー制御を行うデータ)に決定する(ステップS8)。
【0031】
ステップS11では、Entranceセグメント・テンプレートの引っ掛けが自動選択であるか否かを判定する。Entranceセグメント・テンプレートの引っ掛けが自動選択である場合には(ステップS11のYES)、演奏強度(特にMIDIデータの場合には音のベロシティ)に従ってEntranceセグメント・テンプレートの引っ掛けを決定する(ステップS13)。Entranceセグメント・テンプレートのタイプが自動選択でない場合には(ステップS11のNO)、予めユーザが選択したEntranceセグメント・テンプレートの引っ掛けに決定する(ステップS14)。ステップS12では、Entranceセグメント・テンプレートの長さが自動選択であるか否かを判定する。Entranceセグメント・テンプレートの長さが自動選択である場合には(ステップS12のYES)、音の長さに従ってEntranceセグメント・テンプレートの長さを決定する(ステップS15)。Entranceセグメント・テンプレートの長さが自動選択でない場合には(ステップS12のNO)、予めユーザが選択したEntranceセグメント・テンプレートの長さに決定する(ステップS16)。こうして決定されたテーブルにおける前音との関係(ステップS9及びS10参照)、Entranceセグメント・テンプレートのタイプ(ステップS13及びS14参照)、Entranceセグメント・テンプレートの長さ(ステップS15及びS16参照)に従い、上述の図3(b)に示したようなEntranceセグメント・テンプレートに関するテーブルを参照することで、各Noteにおける音の立ち上り区間の波形制御に用いるべきEntranceセグメント・テンプレートを決定する。
【0032】
Finishセグメント・テンプレートを決定する処理について、図5を用いて説明する。図5は、「Finishセグメント・テンプレート自動決定処理」の一実施例を示すフローチャートである。
【0033】
ステップS21では、ユーザによりFinishセグメント・テンプレートがテーブル番号で選択的に指定されているか否かを判定する。Finishセグメント・テンプレートが指定されている場合には(ステップS21のYES)、指定されたテーブル番号に従うFinishセグメント・テンプレートに決定する(ステップS22)。Finishセグメント・テンプレートが指定されていない場合には(ステップS21のNO)、該NoteにおいてFinishセグメント・テンプレートが必要でないか否か、すなわち音の立下り区間に対する制御を行う必要がないか否かを所定パラメータに従って判定する(ステップS23)。Finishセグメント・テンプレートが必要でない、つまり該NoteにおいてFinishセグメント・テンプレートによる波形制御を行う必要がない場合には(ステップS23のNO)、テーブル番号0のFinishセグメント・テンプレート(つまりSATなし)に決定する(ステップS24)。すなわち、この場合には特性変化カーブが「フラット」であるFinishセグメント・テンプレートに決定することから、音の立下り区間に対する制御が行われないこととなる。一方、Finishセグメント・テンプレートが必要である、つまり該NoteにおいてFinishセグメント・テンプレートによる波形制御を行う必要がある場合には(ステップS23のYES)、Finishセグメント・テンプレートの自動選択を実行するように設定されているか否かを判定する(ステップS25)。自動選択を実行するように設定されていない場合には(ステップS25のNO)、テーブル番号0のFinishセグメント・テンプレート(つまりSATなし)に決定する(ステップS24)。自動選択を実行するように設定されている場合には(ステップS25のYES)、次の音(Note)との関係がジョイントであるか否かを判定する(ステップS26)。次の音との関係がジョイントでない場合には(ステップS26のNO)、テーブルにおける後音との関係を「Entrance」に設定する(ステップS29)。次の音との関係がジョイントである場合には(ステップS26のYES)、次の音との関係がスラーであるか否かを判定する(ステップS27)。次の音との関係がスラーでない場合には(ステップS27のNO)、テーブルにおける後音との関係を「Joint」に設定する(ステップS30)。次の音との関係がスラーである場合には(ステップS27のYES)、テーブル番号1のFinishセグメント・テンプレート(つまり、スラー制御を行うデータ)に決定する(ステップS28)。
【0034】
ステップS31では、Finishセグメント・テンプレートのタイプが自動選択であるか否かを判定する。Finishセグメント・テンプレートのタイプが自動選択である場合には(ステップS31のYES)、音のベロシティに従ってFinishセグメント・テンプレートのタイプを決定する(ステップS33)。Finishセグメント・テンプレートのタイプが自動選択でない場合には(ステップS31のNO)、予めユーザが選択したFinishセグメント・テンプレートのタイプに決定する(ステップS34)。ステップS32では、Finishセグメント・テンプレートの長さが自動選択であるか否かを判定する。Finishセグメント・テンプレートの長さが自動選択である場合には(ステップS32のYES)、音の長さに従ってFinishセグメント・テンプレートの長さを決定する(ステップS35)。Finishセグメント・テンプレートの長さが自動選択でない場合には(ステップS32のNO)、予めユーザが選択したFinishセグメント・テンプレートの長さに決定する(ステップS36)。こうして決定されたテーブルにおける前音との関係(ステップS29及びS30参照)、Finishセグメント・テンプレートのタイプ(ステップS33及びS34参照)、Finishセグメント・テンプレートの長さ(ステップS35及びS36参照)に従い、上述の図3(c)に示したようなFinishセグメント・テンプレートに関するテーブルを参照することで、各Noteにおける音の立下り区間の波形制御に用いるべきFinishセグメント・テンプレートを決定する。
【0035】
以上のように、Entrance/Finishの各セグメント・テンプレートはユーザによる指定が行われていない場合には、前後の隣り合う音(Note)との接続シーケンス関係を基準として、あるいは該セグメント・テンプレートを適用する区間における強度を基準として、あるいは該セグメント・テンプレートを適用する区間における音長を基準として自動的に選択される。なお、セグメント・テンプレートの自動選択基準はこれらに限定されることなく、そのセグメント・テンプレートを適用する区間における音高を基準としてもよい。このように、ユーザがセグメント・テンプレートを選択していない場合には波形制御に用いるべきセグメント・テンプレートを自動的に決定するようにしたことから、ユーザはわざわざ曲全体にわたって1音1音毎にEntrance/Finishの各セグメント・テンプレートを選択しなくてもよい。これにより、ユーザは効率的な波形制御を行うことができるようになる。
【0036】
上述のようにして、ユーザ選択あるいは自動処理により波形制御に用いるべき各セグメント・テンプレートが決定されると、次に、該決定された各セグメント・テンプレートを時間軸上に配置し、配置した各セグメント・テンプレートと入力エンベロープとを合成する。そして、合成した結果のエンベロープを各モジュールに適用することによって波形制御を行い、任意の楽音波形を生成する。そこで、上記決定済みの各セグメント・テンプレートの時間軸上への配置及び配置した各セグメント・テンプレートに基づいて行われる入力エンベロープの合成について、図6及び図7を用いて説明する。ただし、以下の説明では、1音(Note)に対してのEntrance/Finish/Noteの各セグメント・テンプレートの配置及び入力エンベロープとの合成について説明する。すなわち、こうした処理は各音毎に行われるものである。
【0037】
まず、各セグメント・テンプレートの時間軸上への配置について説明する。図6は、各セグメント・テンプレートの時間軸上への配置について説明するための概念図である。図6(a)はEntranceセグメント・テンプレート及びFinishセグメント・テンプレートの時間軸上への配置について説明するための概念図であり、図6(b)はNoteセグメント・テンプレートの時間軸上への配置について説明するための概念図である。
【0038】
図6(a)に示すように、まずEntranceセグメント・テンプレート及びFinishセグメント・テンプレートを時間軸上に配置する。Entranceセグメント・テンプレートに予め設定されているノートオンタイミングをノートオンイベント(Note On)に一致させることによって、Entranceセグメント・テンプレートをノートオン付近の時間軸上に配置する。一方、Finishセグメント・テンプレートに予め設定されているノートオフタイミングをノートオフイベント(Note Off)に一致させることによって、Finishセグメント・テンプレートをノートオフ付近の時間軸上に配置する。この際に、Entrance/Finishの各セグメント・テンプレートの時間長を所定のタイムコントロールパラメータなどを用いて拡大縮小することにより、各セグメント・テンプレートにおける特性変化カーブの形状を時間軸方向に伸ばしたり縮めたりすることができる。このタイムコントロールパラメータなどを用いてのEntrance/Finishの各セグメント・テンプレートの時間長の拡大縮小は、ノートオンタイミングあるいはノートオフタイミングを中心として拡大縮小する。例えば、Entrance/Finishの各セグメント・テンプレートにおけるノートオンタイミングあるいはノートオフタイミングよりも前半部分をプレタイム(Pre Time)、後半部分をポストタイム(Post Time)とした場合には、こうしたプレタイム及びポストタイムを別々にコントロールするようにして、Entrance/Finishの各セグメント・テンプレートの前半部分又は後半部分を別々に拡大縮小することができる。このようにユーザが時間長を適宜に編集できるようにすることにより、配置した各セグメント・テンプレートを時間軸方向にカスタマイズして、ユーザ所望の区間に対してEntrance/Finishの各セグメント・テンプレートを適用することができるようになる。
【0039】
Entrance及びFinishの各セグメント・テンプレートの時間軸上への配置が終了すると、次に、図6(b)に示すように、既に配置されたEntrance及びFinishの各セグメント・テンプレートに基づいてNoteセグメント・テンプレートを配置する。このNoteセグメント・テンプレートの配置は、Noteセグメント・テンプレートの開始位置をEntranceセグメント・テンプレートの開始点に、Noteセグメント・テンプレートの終了位置をFinishセグメント・テンプレートの終了点にそれぞれ一致するようにして行われる。すなわち、Noteセグメント・テンプレートに対しては、既に配置されたEntranceセグメント・テンプレートの開始点からFinishセグメント・テンプレートの終了点までの時間長にあわせて時間長の拡大縮小が行われる。こうして、Entrance及びFinishの各セグメント・テンプレートとNoteセグメント・テンプレートとが互いに重なり合うようにして時間軸上に配置される。
【0040】
次に、各セグメント・テンプレートを組み合わせて行われるエンベロープ合成について説明する。図7は、各セグメント・テンプレートを組み合わせて行われるエンベロープ合成について説明するための概念図である。この実施例では、dynamics/Pitch/vibrato depth/vibrato Speedの4種の楽音要素についてのエンベロープセグメントのうちのdynamics(振幅)を例にあげて説明する。すなわち、図7に示した各図は上から順に、MIDI入力に基づき生成される入力エンベロープ(基本エンベロープ)のdynamics値カーブ、該MIDI入力に基づく該dynamics値カーブから算出される入力dB値カーブ、Noteセグメント・テンプレートのdynamicsのdB値カーブ、Entrance及びFinishセグメント・テンプレートのdynamicsのdB値カーブ、合成された結果の入力dB値カーブをそれぞれ示すものである。
【0041】
MIDI情報の入力に基づくdynamics値カーブ(つまり入力エンベロープ又は基本エンベロープ)は、そのNoteのキー番号に従い、楽譜解釈部(プレーヤー)にアサインされているDynamicsスケールデータを用いてdB値に変換される(これを入力dB値カーブと呼ぶ)。この変換により算出された入力dB値カーブに対して、上述のようにして時間軸上に配置されたNote/Entrance/Finishの各セグメント・テンプレートを加算する。その際に、Note/Entrance/Finishの各セグメント・テンプレートの各レベルを所定のレベルコントロールパラメータにより拡大縮小することにより、各セグメント・テンプレートにおける特性変化カーブの形状をレベル方向に変化することができる。こうしたレベルコントロールパラメータの指定は、所定位置(例えば、予め決められた特性変化カーブの形状を特徴付ける代表点)において、ユーザが直接数値入力することによって指定するようにしてもよいし、あるいは表示装置5上に表示した特性変化カーブ上の前記代表点をユーザがマウスなどを用いて上下に動かすことによって指定するようにしてもよい。このようにレベルをユーザが編集することにより、各セグメント・テンプレートをレベル方向にカスタマイズすることができる。そして、入力dB値カーブに対してNote/Entrance/Finishの各セグメント・テンプレートを加算すると、各セグメント・テンプレートが相対的に合成されて特徴ある合成dB値カーブを生成する。生成された合成dB値カーブは、例えばAmplitude Shiftとして、あるいはDynamicsとして奏法合成部(アーティキュレーター)に入力される。
【0042】
勿論、上記dynamicsにおけるエンベロープの合成と同様にして、その他のPitch/vibrato depth/vibrato Speedにおいても、所定の入力エンベロープに対してNote/Entrance/Finishの各セグメント・テンプレートを演算することにより合成エンベロープが生成される。また、上記dynamicsにおけるエンベロープに対するレベルコントロールと同様に、その他のPitch/vibrato depth/vibrato Speedにおけるエンベロープに対するレベルコントロールをそれぞれ行うことができることは言うまでもない。
このように、Note/Entrance/Finish(あるいはPhrase)の各セグメント・テンプレートは、入力エンベロープに対して各々が相対的に作用することによって1つの合成エンベロープを生成するようになっている。
【0043】
楽譜解釈部(プレーヤー)1Bにより生成された合成エンベロープ、つまり入力エンベロープに対してNote/Entrance/Finishなどの各セグメント・テンプレートを演算することによって算出された合成エンベロープは奏法合成部(アーティキュレーター)1Cに対して奏法パラメータとして出力される。そして、奏法合成部1Cでは、所定の奏法指定情報(奏法IDと奏法パラメータ)に基づいて奏法データベースから奏法モジュールを読出し、該読み出した各々の奏法モジュールに対して楽譜解釈部1Bで生成された合成エンベロープを配分したパケットストリームを生成する(図2参照)。ここで、奏法合成部1Cによるパケットストリーム作成の際における各奏法モジュールの時間軸上への配置と各奏法モジュールに対する合成エンベロープの配分について、図8を用いて説明する。図8は、パケットストリーム作成の際における各奏法モジュールの時間軸上への配置と各奏法モジュールに対する合成エンベロープの配分について説明するための概念図である。図8(a)はEntrance系モジュール及びFinish系モジュールの時間軸上への配置について説明するための概念図であり、図8(b)はBody系モジュール若しくはJoint系モジュールの時間軸上への配置及び合成エンベロープの配分について説明するための概念図である。
【0044】
図8(a)に示すように、まず奏法合成部1Cは所定の奏法指定情報(奏法IDと奏法パラメータ)に基づいて奏法データベースからEntrance系モジュール及びFinish系モジュールを読出し、時間軸上の所定時間位置に配置する。Entranceセグメント・テンプレートの始点にEntrance系モジュールのサウンドオン・タイミングを一致させることによって、Entrance系モジュールを時間軸上の所定時間位置に配置する。ここでいうサウンドオン・タイミングとは、Entrance系モジュール内にその奏法モジュールの先頭からの時間として記録されているものである。一方、Finishセグメント・テンプレートの終点にFinish系モジュールのサウンドオフ・タイミングを一致させることによって、Finish系モジュールを時間軸上の所定時間位置に配置する。このサウンドオフ・タイミングとは、Finish系モジュール内にその奏法モジュールの先頭からの時間として記録されているものである。次に、図8(b)に示すように、時間軸上の所定時間位置に配置されたEntrance系モジュールとFinish系モジュールとの間にBody系モジュールを配置する。Entrance系モジュールとFinish系モジュールとの間が所定の規定値以下の時間間隔である場合にはBody系モジュールとしてNSB(Normal Short Body)を配置し、所定の規定値以上の時間間隔である場合にはBody系モジュールとしてVB(Vibrato Body)を配置する。ただし、既に配置されたEntrance系モジュールとFinish系モジュールとの間にBody系モジュールが入らない場合には、Body系モジュールを配置することなく省略してよい。そして、次のノートオフとノートオンとの間隔が所定の規定値以下の時間間隔である場合は、Body系モジュールと次のBody系モジュールとの間をジョイント化し、Joint系モジュールを挿入する。こうして各奏法モジュールを時間軸上に順次に配置する。なお、ユーザにより直接使用すべきモジュールが選択されているような場合には、それを使用してよいことは言うまでもない。
【0045】
そして、図8(b)から理解できるように、配置された各奏法モジュールの位置にあわせて、楽譜解釈部1Bにより生成された合成エンベロープ、つまり入力エンベロープに対してNote/Entrance/Finishなどの各セグメント・テンプレートを演算することによって算出された合成エンベロープを取得し、取得した合成エンベロープを各奏法モジュールに配分することによりパケットストリームを生成する。こうして生成されたパケットストリームは波形合成部1Dに供給され、波形合成部1Dでは該パケットストリームに基づき波形データベースから取り出したベクトルデータ(つまり、奏法モジュールが表す波形)を合成エンベロープに応じて変形することができ、こうして変形した個々の奏法モジュールが表す波形を波形接続することによって任意の楽音波形を生成することができる。すなわち、各奏法モジュールに配分された合成エンベロープに応じて各奏法モジュールを変形し、該変形した各奏法モジュールを波形接続することによって、セグメントテンプレートとして付与される各特性変化カーブに従う形状の楽音波形を生成することができるようになっている。
【0046】
なお、奏法合成部1Cは、上述のように楽譜解釈部1Bで生成された合成エンベロープをパケットストリームに反映するだけでなく、ベクトルデータとして反映するようにしてもよい。すなわち、奏法合成部1Cではベクトルパラメータを生成する際に、時間軸上の所定時間位置に配置した奏法モジュールに対して楽譜解釈部1Bにより生成された合成エンベロープを配分したベクトルパラメータを生成するようにしてもよい。こうした場合、波形合成部1Dは生成されたパケットストリームに応じて波形データベースからベクトルデータを順次に取り出し、該ベクトルデータをベクトルパラメータに応じて変形し、変形した各ベクトルデータを波形接続することで、dynamicsエンベロープが反映された音を生成することができる。勿論、Pitch/vibrato depth/vibrato Speedにおいても、dynamicsエンベロープと同様にして、各エンベロープが反映された音を生成することができる。
【0047】
以上のように、この実施例に示す楽音生成装置においては、Phrase/Note/Entrance/Finishセグメント・テンプレートといった時間長が異なる階層的なテンプレートを用いてフレーズ単位や1音単位での楽音表現を部分的に変更することが可能となることから、特に1音内におけるアタック部やリリース部などの一部区間において複雑な変化形状を持つ楽音波形を生成することが簡単にできるようになる。これらの各セグメント・テンプレートで表されるdynamicsについてのエンベロープを合成し、さらに1音毎に有するエンベロープと合成することで全体のdynamicsについてのエンベロープが形成される。また、上記Phrase/Note/Entrance/Finishの各セグメント・テンプレートは各々がdynamics/Pitch/vibrato depth/vibrato Speedに関する特性変化カーブ(つまりエンベロープカーブ)をセットで持つ構成とすることで、ユーザは奏法を指定するだけでdynamicsに加え、Pitch/vibrato depth/vibrato Speedに関しての波形制御も同時に行うことができるようになる。
なお、演奏情報に基づくオリジナルの入力エンベロープ(基本エンベロープ)を生成せずに、セグメントテンプレートの組合せのみに基づいてエンベロープを合成するようにすることも可能である。
【0048】
なお、上述したような楽音生成装置を電子楽器に用いた場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、その場合に、曲データ再生部1A、楽譜解釈部1B、奏法合成部1C、波形合成部1D等を1つの電子楽器本体内に内蔵したものに限らず、それぞれが別々に構成され、MIDIインターフェースや各種ネットワーク等の通信手段を用いて各構成部を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、自動演奏ピアノのような自動演奏装置などにも適用してよい。
【0049】
【発明の効果】
本発明によれば、楽器毎の又は奏者毎の音楽的特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを供給し得るようにしてなり、演奏音の一部区間に配置すべきセグメントテンプレートを、ユーザにより選択された楽器に応じて決定し、決定されたセグメントテンプレートの特性変化カーブを含む合成エンベロープを形成するようにしたので、演奏音のエンベロープを形成するにあたり、演奏音の一部区間において、楽器毎に又は奏者毎に適切な特性変化カーブを用いることができ、よって、一部区間で各楽器又は奏者毎に特有の音楽的特徴を反映した細かな制御を行うことが可能となる。例えば、演奏情報に基づき生成される基本エンベロープに対して、決定されたセグメントテンプレートの特性変化カーブを組み合わせることにより合成エンベロープを形成することで、基本エンベロープが持つ特徴に加えて、一部区間で個別楽器又は奏者毎に特有の音楽的特徴を反映した細かな制御を行うことが可能となり、エンベロープ制御の幅が広がる。また、演奏音のエンベロープを形成するにあたり、複数の異なる一部区間において、それぞれ個別にセグメントテンプレートを決定しうるので、多様な組み合わせで合成エンベロープを形成することも可能となる。このように、楽器又は奏者毎の音楽的特徴を表す特性変化カーブを持つセグメントテンプレートを用いて一部区間の合成エンベロープを発生し、該合成エンベロープに従い楽音を生成するようにしたので、ユーザは奏者若しくは楽器を指定するだけで対応するセグメントテンプレートを用いたエンベロープ波形制御を行うことができることから、簡単に1フレーズ内あるいは1音内における部分的区間毎に、指定した奏者若しくは楽器の各々が持つ特徴ある演奏を反映した楽音波形を生成することができるようになる、という優れた効果を奏する。また、セグメントテンプレートが特性変化カーブと共に該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報を含んでおり、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に該特性変化カーブを配置するようにしているので、該位置情報に基づき時間軸上への該部分的な特性変化カーブの配置を容易に行うことができる。更には、特性変化カーブの各セグメントテンプレートにおいて格別に位置情報を含むようになっているが故に、位置情報を含む個々のセグメントテンプレートにつき、その特性変化カーブにおける任意の中間位置に対応付けて位置情報をもたせることができるものとなり、従来にない、多様な態様で、合成エンベロープを形成することができる。
【図面の簡単な説明】
【図1】 この発明に係る楽音生成装置のハードウエア構成例を示すブロック図である。
【図2】 楽音生成処理を専用ハードウエア装置の形態で構成した場合の一実施例を示すブロック図である。
【図3】 セグメント・テンプレートのデータ構成の一実施例を示した概念図である。
【図4】 「Entranceセグメント・テンプレート自動決定処理」の一実施例を示すフローチャートである。
【図5】 「Finishセグメント・テンプレート自動決定処理」の一実施例を示すフローチャートである。
【図6】 各セグメント・テンプレートの時間軸上への配置について説明するための概念図である。
【図7】 各セグメント・テンプレートを組み合わせて行われるエンベロープ合成について説明するための概念図である。
【図8】 パケットストリーム作成の際における各奏法モジュールの時間軸上への配置と各奏法モジュールに対する合成エンベロープの配分について説明するための概念図である。
【符号の説明】
1...CPU、2...リードオンリメモリ(ROM)、3...ランダムアクセスメモリ(RAM)、4...入力装置、5...表示装置、6...ドライブ、6A...外部記憶メディア、7...波形取込部、8...音源部、8A...サウンドシステム、9...ハードディスク、10...通信インターフェース、BL...バスライン、1A...曲データ再生部、1B...楽譜解釈部(プレーヤー)、1C...奏法合成部(アーティキュレーター)、1D...波形合成部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a musical sound generating apparatus and method for generating musical sounds or sounds of voice or other arbitrary sounds. In particular, the present invention relates to a musical sound generating apparatus and method for generating a musical sound waveform rich in expressiveness by controlling various envelopes of waveform data in accordance with a performance style. The present invention is not limited to electronic musical instruments, but also in devices, apparatuses or methods in all fields having a function of generating musical sounds, voices, or other arbitrary sounds, such as automatic performance apparatuses, computers, electronic game apparatuses and other multimedia devices. It can be applied in a wide range. In this specification, the term “musical sound waveform” is not limited to a musical sound waveform, but is used in a sense that may include a sound waveform or any other sound waveform.
[0002]
[Prior art]
One or a plurality of periods of waveform data encoded by an arbitrary encoding method such as PCM (pulse code modulation), DPCM (differential PCM), or ADPCM (adaptive differential PCM) is stored in a waveform memory, A so-called “waveform memory reading” technique that generates an appropriate musical sound waveform by repeatedly reading in accordance with the pitch is already known, and various types of “waveform memory reading” techniques are known. . In a sound source using such “waveform memory reading” technology, not only the waveform data stored in the memory is read as it is, but also the musical tone elements such as pitch, volume, and tone are output. It has been conventionally performed to generate a musical sound waveform rich in expressiveness by controlling each time. Examples of waveform control in such a sound source include various types of EG (Envelope Generator) such as a pitch EG, an amplifier (amplitude) EG, or a filter EG incorporated in the sound source. The pitch EG controls the pitch envelope related to the pitch (that is, the pitch), and generates a musical sound waveform in which the pitch changes with time by appropriately changing the waveform data reading speed in accordance with an arbitrary pitch envelope. The amplifier EG forms a required envelope waveform (that is, a volume amplitude envelope) related to the volume, and controls the volume from the start to the end of sound generation by adding the volume amplitude envelope to the read waveform data. The filter EG controls filter characteristics for timbre control, and the read waveform data is processed by a filter whose characteristics are controlled by the filter EG, thereby generating a musical sound waveform whose timbre changes with time.
[0003]
In addition to the above-mentioned various EGs, waveform inflection is performed in the song (for example, expression (expression), pitch bend (pitch bend), modulation depth (modulation depth), modulation speed), etc.) When the user operates the specified controls (eg, expression pedal, bend wheel, modulation wheel, etc.) each time at the appropriate time Conventionally known is a continuous control that performs control so as to continuously change the tone color. Various control values set by the continuous control can be stored in the sequencer, and the stored various control values can be appropriately edited on the sequencer. In addition to this, waveform control by a performance template function provided by a sequencer as an original function is conventionally known. When music symbols are specified, the pitch, volume, tone, etc. are controlled by adding macro pattern data (also called rendition style templates) corresponding to each music symbol prepared in advance to the music data. It is. Musical symbols for which a performance template is prepared include, for example, dynamic symbols (for example, crescendo, diminuendo, piano, mezzo forte), end symbols (for example, fermata), speed change symbols (for example, accelerando, ritardando, etc.) There are performance and performance symbols (eg glissando, portamento, choking, tremolo, staccato, accent, etc.). For further waveform control, multiple pitch modulation waveforms of musical sounds over the entire pronunciation period from the rise to the fall of one sound are stored in advance (for example, pitch modulation waveforms for attack pitch, vibrato, portamento, etc.), and on The present applicant has already filed an application in which control is performed by synthesizing only the pitch-modulated waveform, and changing the pitch (ie, pitch) of the musical sound based on the synthesized pitch-modulated waveform. (Japanese Patent Laid-Open No. 60-60693).
[0004]
[Problems to be solved by the invention]
However, those that generate musical sound waveforms according to the various waveform controls described above have problems in the following respects. That is, in waveform control by various EGs, it is normal to perform control in units of one sound, such as the rise and fall of one sound, so that a gradual change in waveform in a phrase unit (for example, one bar unit) is performed. There is a problem that it cannot be controlled well. In continuous waveform control, continuous control is independent of the notes being played, so it can be used to control only a specific partial section such as the attack part of a sound, There is a problem that it is difficult to control only one phrase. In waveform control by the performance template function of the sequencer, all performance templates have the same time length (that is, in the case where a change curve is synthesized using a plurality of templates layered by time lengths). Therefore, there is a problem in that it cannot be used when it is desired to change the expression for each desired partial section and there is no flexibility. In addition, since the rendition style template generates continuous control, when controlling a voice (tone waveform) consisting of multiple elements, it is not possible to give a unique rendition style to each element. is there. In the waveform control by the pitch modulation waveform of the musical sound over the whole sound generation period, the pitch modulation waveform that can be turned on / off controls the entire one sound from the rising edge to the falling edge of each sound, and controls only the attack part or the phrase. There is a problem that it is impossible to control.
As described above, most of the sound sources known in the past are waveform control for generating a musical sound that changes a lot for each predetermined section in one sound, and a waveform for generating a musical sound that changes appropriately over a plurality of sounds. It was very difficult to control.
[0005]
The present invention has been made in view of the above points. In addition to waveform control in one sound unit, waveform control for a partial section in one sound or waveform control over a plurality of sounds can be easily performed. It is an object of the present invention to provide a musical sound generation apparatus and method capable of generating musical sounds while performing them. For example, when an envelope is synthesized using a template composed of a characteristic change curve to be given to a part of a phrase or a single note as appropriate, and a musical sound waveform is generated according to the synthesized envelope, these are used. The present invention relates to a musical sound generating apparatus and method in which a template can be prepared in advance for each player or instrument so that the user can easily perform waveform control in accordance with the characteristics of the player or instrument for each partial section. .
[0006]
[Means for Solving the Problems]
The musical tone generating apparatus according to claim 1 of the present invention indicates performance information supply means for supplying performance information, a characteristic change curve representing musical characteristics for each instrument, and a specific position on the time axis in the characteristic change curve. and segment template supply means for several supply segments template including the location information, selecting means for selecting one musical instrument from a plurality of musical instruments, the segment template to be disposed on a portion of the performance sounds interval, the segments template supplied Determining means for determining according to the selected musical instrument from a plurality of segment templates supplied by the means, and a characteristic change curve of the determined segment template in a section of the performance sound according to the performance information correspondingly, placed on a time axis according to said position information, synthetic envelope including placement characteristics change curve Comprising an envelope synthesis means for forming a flop, and a musical tone generating means for generating a musical tone with the formed synthesis envelope.
[0007]
According to the invention, we are supplied a segment template including the position information indicating a specific position on the time axis of the characteristic variation curve and the characteristic variation curve representing the musical characteristics of each instrument, performance sound The segment template to be placed in a part of the segment is determined according to the instrument selected by the user, and a composite envelope including the characteristic curve of the determined segment template is formed. In forming, it is possible to use an appropriate characteristic change curve for each instrument in some sections of the performance sound, and therefore perform fine control reflecting the musical characteristics peculiar to each instrument in some sections. Is possible. For example, a composite envelope is formed by combining the characteristic change curve of the determined segment template with the basic envelope generated based on performance information, so that in addition to the characteristics of the basic envelope, individual sections It is possible to perform fine control reflecting the musical characteristics peculiar to each instrument, and the range of envelope control is expanded. Further, since the segment templates can be individually determined in a plurality of different partial sections when forming the envelope of the performance sound, it is possible to form a composite envelope with various combinations. As described above, a segment envelope having a characteristic change curve representing a musical characteristic for each musical instrument is used to generate a synthetic envelope of a partial section, and a musical sound is generated according to the synthetic envelope. It becomes possible to easily generate musical sounds having musical characteristics for each instrument in the section. The segment template includes position information indicating a specific position on the time axis in the characteristic change curve together with the characteristic change curve, and corresponds to the partial section of the performance sound according to the performance information according to the position information. Since the characteristic change curve is arranged on the time axis, the partial characteristic change curve can be easily arranged on the time axis based on the position information. Further, since each segment template of the characteristic change curve includes position information exceptionally, each segment template including the position information is associated with an arbitrary intermediate position in the characteristic change curve. Therefore, a synthetic envelope can be formed in various ways that are not possible in the past. The performance sound synthesis envelope may be formed for each sound or may be formed for each phrase composed of a plurality of sounds.
[0008]
According to a second aspect of the present invention, there is provided a musical tone generating apparatus for indicating performance information supply means for supplying performance information, a characteristic change curve representing performance characteristics for each player, and a specific position on the time axis in the characteristic change curve. and segment template supply means for several supply segments template including the position information, and selecting means for selecting one of the players from a plurality of players, the segment template to be disposed on a portion of the performance sounds interval, the segments template supplied Determining means for determining according to the selected player from among a plurality of segment templates supplied by the means, and a characteristic change curve of the determined segment template in a partial section of the performance sound according to the performance information correspondingly, placed on a time axis according to said position information, synthetic envelope including placement characteristics change curve An envelope synthesis means for forming a using the formed synthetic envelope comprises a tone generating means for generating a musical tone. In this case as well, a segment envelope having a characteristic change curve representing the performance characteristics of each player is used to generate a composite envelope of a partial section, and a musical sound is generated according to the composite envelope. Therefore, it becomes possible to easily generate musical sounds having performance characteristics for each player. The segment template includes position information indicating a specific position on the time axis in the characteristic change curve together with the characteristic change curve, and corresponds to the partial section of the performance sound according to the performance information according to the position information. Since the characteristic change curve is arranged on the time axis, the partial characteristic change curve can be easily arranged on the time axis based on the position information. Further, since each segment template of the characteristic change curve includes position information exceptionally, each segment template including the position information is associated with an arbitrary intermediate position in the characteristic change curve. Therefore, a synthetic envelope can be formed in various ways that are not possible in the past.
[0009]
The present invention may be constructed and implemented not only as an apparatus invention but also as a method invention. Further, the present invention can be implemented in the form of a program of a processor such as a computer or a DSP, or can be implemented in the form of a storage medium storing such a program.
[0010]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
[0011]
FIG. 1 is a block diagram showing an example of the hardware configuration of a musical tone generating apparatus according to the present invention. The hardware configuration example shown here is configured using a computer, in which the tone generation processing is performed by the computer executing a predetermined software program for realizing the tone generation processing according to the present invention. To be implemented. Of course, this musical tone generation process is not limited to the form of computer software, but can also be implemented in the form of a microprogram processed by a DSP (Digital Signal Processor), and is not limited to this form of program. Alternatively, it may be implemented in the form of a dedicated hardware device configured to include an integrated circuit or a large-scale integrated circuit. The musical sound generation device may take any product application form such as an electronic musical instrument, a karaoke device, an electronic game device, another multimedia device, or a personal computer.
Note that the above-described musical tone generation apparatus may have hardware other than these, but here, a case where the minimum necessary resources are used will be described.
[0012]
In the hardware configuration example shown in FIG. 1, a read only memory (ROM) 2, a random access memory (through a bus line BL (data or address bus etc.), and a random access memory ( RAM) 3, input device 4, display device 5, drive 6, waveform capturing unit 7, sound source unit 8, hard disk 9, and input / output interface 10 are respectively connected. The CPU 1 executes various processes such as “musical tone generation process” (see FIG. 2 described later) based on a predetermined program. These programs are supplied from an external electronic musical instrument connected to a communication network via the input / output interface 10 or an external storage medium 6A such as a CD or MO attached to the drive 6 and stored in the hard disk 9. . Then, it is loaded from the hard disk 9 to the RAM 3 at the time of execution. Alternatively, the program may be recorded in the ROM 2 in advance.
[0013]
The ROM 2 stores various programs executed by or referred to by the CPU 1, various data, and the like. The RAM 3 is used as a working memory for temporarily storing various data generated when the CPU 1 executes a program, or as a memory for storing a program currently being executed and related data. A predetermined address area of the RAM 3 is assigned to each function and used as a register, flag, table, memory, or the like. The input device 4 instructs to sample a musical tone, edits sampled waveform data (that is, waveform control), selects various segment templates used in the waveform control (details will be described later), or inputs various information. It is comprised including various operators for performing. For example, there are a switch for selecting various segments and templates, a numeric keypad for inputting numeric data, a keyboard for inputting character data, or a pointing device such as a mouse. In addition to these, various operators for selecting, setting, and controlling the pitch, timbre, effect, and the like may be included. The display device 5 displays various information input by the input device 4, sampled waveform data, waveform data after waveform control, various segment templates, etc., for example, a display such as a liquid crystal display panel (LCD) or CRT It is.
[0014]
The waveform capture unit 7 includes an A / D converter (not shown), for example, samples an analog musical sound signal input from an external waveform from a microphone and converts it into digital data, and the digital data is converted into original waveform data (that is, generated). Waveform data to be a musical sound waveform material to be acquired) is taken in on the hard disk 9. The captured original waveform data is stored in a “waveform database” and a “performance method database” as vector data and a rendition style module, respectively, according to a predetermined process. The vector data is not the same as the original waveform data that has been imported, but rather a hierarchy for each part of the waveform that represents the shape of the imported original waveform (for example, the attack waveform, body waveform, release waveform, joint waveform, etc.) Stored in the waveform database in a compressed form using a conventional compression method. The rendition style module includes data for designating vector data, data necessary for returning vector data stored in a compressed form to waveform data of the original waveform shape, and the like. Therefore, the rendition style module is stored in the rendition style database as one of an entrance system module, a finish system module, a joint system module, and a body system module. That is, the entrance module points to vector data representing a rising performance section in one sound such as an attack section, and the finish module refers to vector data representing a falling performance section in one sound such as a release section. The Joint system module indicates vector data representing the performance section connecting the sounds, and the Body system module indicates the performance section between the Entrance system module and the Finish system module. The vector data to be represented is indicated. Each of the entrance, finish, and joint performance modules points to vector data generated from high-quality waveforms with characteristics such as performance (or articulation), and the body modules are NSB (Normal Short Body). : Normal short body) and VB (Vibrato Body), etc. This indicates vector data generated from a unit waveform (that is, loop waveform) of a relatively monotonous sound part consisting of waveforms for one cycle or appropriate multiple cycles. Is. The vector data for forming a waveform is composed of elements such as a waveform (timbre) vector, an amplitude envelope vector, a pitch envelope vector, and a time vector.
[0015]
The sound source unit 8 can generate a series of musical sound waveforms by connecting a plurality of vector data read from the “waveform database” and synthesizing the waveforms, and sends the generated musical sound waveforms to the sound system 8A. When generating the musical sound, the sound source unit 8 can control the musical sound waveform for a part of one sound using various segment templates (described later) read from the “segment database”. ing. Since details of this will be described later, the description thereof is omitted here. In the sound system 8A, the tone signal output from the sound source unit 8 is D / A converted into an analog signal and output to the outside. Of course, a plurality of musical sound signals can be output simultaneously. The hard disk 9 stores various databases such as a performance database storing various performance modules, a segment database storing various segment templates, a waveform database storing vector data, and various programs executed by the CPU 1. It is.
It goes without saying that the tone generator unit 8 may be realized by a so-called software tone generator that generates musical sounds by software.
[0016]
The drive 6 drives a removable external storage medium 6A for storing various data such as various performance style modules and various segment templates, various programs executed by the CPU 1, and the like. The external storage medium 6A driven by the drive 6 is detachable such as a flexible disk (FD), a compact disk (CD-ROM / CD-RW), a magneto-optical disk (MO), or a DVD (Digital Versatile Disk). Any medium that uses various forms of external storage media may be used. Alternatively, a semiconductor memory or the like may be used. When the external storage medium 6 A storing various programs is set in the drive 6, the stored content (that is, the program) may be directly loaded into the RAM 3 without being dropped on the hard disk 9. Note that the method of providing a program using the external storage medium 6A or via the input / output interface 10 is advantageous because the program can be easily added or upgraded.
[0017]
The input / output interface 10 is connected to a communication network (not shown) such as a LAN, the Internet, or a telephone line, and is connected to a server computer or the like (not shown) via the communication network. Is a communication interface for fetching programs, various performance style modules, various segment templates, performance information, and the like into the musical sound generating apparatus. That is, when a program, various performance style modules, various segment templates, etc. are not stored in the ROM 2 or the hard disk 9, it is used for downloading a program, various performance style modules, various segment templates, etc. from the server computer. A musical tone generation apparatus as a client transmits a command requesting download of a program, various performance style modules, various segment templates, and the like to the server computer via the input / output interface 10. Upon receiving this command, the server computer stores the requested program, various performance style modules, various segment templates, and the like in the hard disk 9 via the input / output interface 10 to complete the download. The input / output interface 10 may be a MIDI interface. In such a case, MIDI performance information is input / output to / from an external MIDI device such as a sequencer or an electronic musical instrument. In the case of a MIDI interface, a music performance keyboard or performance operation device may be connected and MIDI performance information may be supplied to the musical sound generating device in real time using these.
[0018]
In the musical tone generating apparatus shown in FIG. 1 described above, musical tone generation is performed by a computer executing a predetermined software program that realizes musical tone generation processing. Alternatively, the musical tone generation processing is not limited to such a program form, and may be performed in the form of a dedicated hardware device. Therefore, a tone generation process executed by the tone generator according to the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing an embodiment in the case where the tone generation processing is configured in the form of a dedicated hardware device. An outline of the overall operation of the musical tone generation process will be briefly described with reference to FIG.
[0019]
The music data playback unit 1A performs playback processing of music data with performance style symbols. That is, first, the music data reproducing unit 1A receives music data with performance style symbols (that is, performance information). In normal music scores, musical symbols such as dynamic symbols (such as crescendo and decrescendo), tempo symbols (such as allegro and ritardando), slur symbols, tenuto symbols, accent symbols, etc. that cannot be converted to MIDI data as they are. Is attached. Therefore, these music symbols are converted into data as “playing style symbols”. The MIDI music data including the “performance style symbols” is “music data with performance style symbols”, and the music data reproducing unit 1A receives such music data with performance style symbols. The score interpretation unit (player) 1B performs score interpretation processing. Specifically, the MIDI data included in the received music data with a rendition style symbol and the above “representation style symbol” are converted into predetermined rendition style designation information (for example, a rendition style ID and a rendition style parameter), and the rendition style composition unit (artistic) Curator) Output to 1C. When the performance interpretation information is generated in the score interpretation unit (player) 1B, an original envelope (hereinafter referred to as “input envelope” or “basic envelope”) based on performance information is generated, and user selection or Various segment templates read from the segment database according to the automatic selection process and this “input envelope” (ie, “basic envelope”) are added to generate a composite envelope, and the generated composite envelope is used as a rendition style synthesis unit (artistic unit). Curator) Output to 1C as performance parameters. In general, even with the same musical symbols, the interpretation of the musical symbols differs depending on the performer or the instrument, and the performance may be performed by a different performance method (ie, performance method or articulation) for each performer or instrument. . Alternatively, the performance may be performed by a different performance method for each performer or instrument depending on how the notes are arranged. Thus, the score interpretation unit 1B is an expert system that interprets such symbols on the score (music symbols, arrangement of notes, etc.) as an expert system. The score interpretation unit 1B interprets a score according to a predetermined standard. To do. At this time, the score interpretation unit 1B interprets the score by changing the score interpretation method according to the player designation from the user (for example, designation of who is performing or which instrument). As one of the different musical score interpretation methods corresponding to a plurality of players, a plurality of various segment templates are stored in the segment database, and the musical score interpretation unit 1B uses the segment / score to be used in accordance with player designation or instrument designation from the user. Determine the template.
[0020]
The rendition style composition unit (articulator) 1C refers to the rendition style database based on the predetermined rendition style designation information (performance style ID and rendition style parameters) converted by the score interpretation unit (player) 1B, and a packet corresponding to the rendition style designation information Vector parameters relating to the stream and the rendition style parameters are generated and supplied to the waveform synthesis unit 1D. Data supplied to the waveform synthesis unit 1D as a packet stream is a vector ID, time information, and the like. At this time, the rendition style synthesis unit (articulator) 1C reads out the rendition style module from the rendition style database based on the predetermined rendition style designation information, arranges the rendition style module on the time axis, generates a packet stream, and The composite envelope generated by the score interpretation unit (player) 1B is allocated to the arranged rendition style modules. The rendition style modules are stored in a “replay style database” on the hard disk 9. For example, one rendition style module is specified by “replay style ID”. The content of the predetermined rendition style module specified according to the “rendition style ID” is given as a rendition style parameter that characterizes or controls the waveform data corresponding to the rendition style module. The waveform synthesizer 1D sequentially extracts vector data from the waveform database according to the generated packet stream, deforms the vector data according to the vector parameters, connects the deformed vector data in a waveform, and connects the connected series An arbitrary musical sound waveform is generated based on vector data. The sound system 8A outputs a musical sound based on the generated musical sound waveform.
[0021]
Here, the segment template used when the above-described score interpretation unit (player) 1B synthesizes the input envelope will be described with reference to FIG. FIG. 3 is a conceptual diagram showing an example of the data configuration of the segment template. FIG. 3A shows a Note segment template. FIG. 3B shows an example of a table for designating an Entrance segment template, and FIG. 3C shows an example of a table for designating a Finish segment template. Each of these segment templates is stored in advance in the hard disk 9 or the like as a tabulated “segment database”. Needless to say, these embodiments are merely examples, and the present invention is not limited thereto.
[0022]
The Note segment template (hereinafter simply referred to as the Note segment) is control data used to express the inflection of the entire sound, and the Note segment is tabulated on the hard disk 9 as shown in FIG. Configured. Each Note segment constituting the table is composed of a characteristic change curve to be applied to the entire sound. That is, each note segment is data having a characteristic change curve of a predetermined shape for each predetermined table number. Each Note segment is classified into several types according to the shape of the characteristic change curve. For example, in this embodiment, there are roughly six types. That is, the note segments having a characteristic change curve having a substantially straight shape are used for the table numbers 0 to 7, the note segments having the characteristic change curve for the upwardly rising shape are used for the table numbers 8 to 15, and the table segments 16 to 23 are used for the table numbers 16 to 23. Note segments with a characteristic change curve with a downward-sloping shape, Note segments with a chevron-shaped characteristic change curve for table numbers 24-31, and valley-shaped characteristic change curves for table numbers 32-39. The note segment having table numbers 40 to 47 is a note segment having a skip-shaped shape characteristic change curve.
[0023]
Each Note segment classified by these types has a characteristic change curve of a characteristic shape belonging to each type. For example, the note segment of table number 8 classified as a type with a rising shoulder is data having a characteristic change curve with a constant slope with a certain slope, and the note segment with table number 9 is compared with the slope of the first half. The data has a characteristic change curve in which the slope suddenly rises from the latter half. The note segment of table number 24 classified into the mountain type is data having a characteristic change curve having a mountain-shaped peak in the first half portion, and the note segment of table number 25 has a mountain-shaped peak in the central portion. Data with a certain characteristic change curve. Note that the note segment of table number 0 in this embodiment is set as data used by default, and the note segment has a completely flat shape. That is, when the note segment of table number 0 is used when changing the input envelope, the original input envelope waveform is reproduced.
The phrase segment template (not shown) is control data used to express the inflection of one phrase (for example, one measure), and is different from the above note segment template only in time length. Since other data structures and characteristic change curve shapes are similar to the above Note segment template, description thereof will be omitted.
[0024]
On the other hand, the entrance segment template and the finish segment template (hereinafter simply referred to as the entrance segment and the finish segment) are data whose time length is shorter than that of the above note segment template, and the entrance segment starts to sound one note. The Finish segment is control data used to express the inflection in the predetermined section of the end of one sound, so that the inflection in the predetermined section of the part is expressed. The Entrance segment and the Finish segment are the hard disk in the same manner as the Note segment described above. 9 is configured as a table. Each Entrance segment constituting the table is data composed of a characteristic change curve and position data (specifically note-on timing) to be given to a predetermined section at the beginning of sounding within one sound. On the other hand, each Finish segment constituting the table is data composed of a characteristic change curve and position data (specifically note-off timing) to be given to a predetermined section at the end of ringing within one sound. That is, each Entrance segment and Finish segment are data having characteristic change curves (not shown) having a predetermined shape for each predetermined table number. The position data is data set at a position corresponding to the shape of each characteristic change curve in the entrance segment and the finish segment. For example, in the entrance segment, the position data in the case of a sound that rises slowly is set to an appropriate position from the second half of the entrance segment, and the position data in the case of a sound that has a steep rise is from the first half of the entrance segment. Are set at appropriate positions. When the position data is set in this way, the entrance segment and the finish segment can be arranged on the time axis near the note-on and the note-off, respectively (the segment template shown in FIG. As a result, it is possible to generate an attack sound or a release sound at an appropriate position where the user feels an attack sound or a release sound.
[0025]
The characteristic change curve of the Entrance segment is the note value (below quarter notes, less than half notes, less than all notes, more than all notes), the relationship with the previous sound (Finish, Joint), and the strength of the hook in the Entrance segment. (Strong / Medium / Weak / Slur) The strength of hooking is the strength of placing a bow on a string when starting to play a bow in a stringed instrument such as a violin, the strength of tongueing in a wind instrument such as a saxophone, and the key pressing in a keyboard instrument such as a piano Represents the strength of In the embodiment shown in FIG. 3B, for example, the note value to which the Entrance segment is applied is “quarter note or less”, the relationship with the preceding note is “Joint”, and the strength of the hook is In the case of “medium”, the entrance segment of the table number 68 is selected as the applicable entrance segment. On the other hand, the characteristic change curve of the Finish segment is the note value (below quarter notes, less than half notes, less than all notes, more than all notes), the relationship with the subsequent sound (Entrance / Joint) and the type (sticky / normal / Specified by light and slur). In the embodiment shown in FIG. 3C, for example, the note value to which the Finish segment is applied is “all notes or less”, the relationship with the subsequent sound is “Entrance”, and the type is “light” In some cases, the Finish segment of table number 48 is selected as the applied Finish segment. As with the Note segment template, in the Entrance segment template and Finish segment template, the entrance and finish segments of table number 0 are set as data used by default, and the table number 0 When the Entrance and Finish segments are used when changing the input envelope, the original waveform is reproduced.
[0026]
Each of these Phrase / Note / Entrance / Finish segment templates has dynamics (continuous performance intensity) / Pitch (pitch) / vibrato depth (vibrato depth) / vibrato speed (vibrato speed) characteristic change curves as a set. . However, in the embodiment described above, only the segment template related to dynamics is shown as a representative for the sake of simplicity. That is, FIG. 3 (a) exemplarily shows a characteristic change curve for controlling dynamics. Pitch / not shown for each table number so as to correspond to each segment template relating to the dynamics. Each segment template relating to vibrato depth / vibrato speed is tabulated in advance and stored on the hard disk 9. Each segment template of Phrase / Note / Entrance / Finish has a total of 4 types of characteristic change curves of dynamics / Pitch / vibrato depth / vibrato Speed, so that the pitch is lowered while gradually increasing the dynamics. It is possible to simultaneously control the envelopes of different musical tone elements while associating them with each other. Each Phrase / Note / Entrance / Finish segment template that has a characteristic change curve for dynamics / Pitch / vibrato depth / vibrato Speed as a set is called SAT (Segment Articulation Template) in this embodiment. Each segment or each musical instrument is stored in the segment database. In this way, different SATs can be used for each player or instrument even if SATs with the same table number are specified, and dynamics / Pitch can be specified simply by specifying each phrase template of Phrase / Note / Entrance / Finish. Since all the characteristic change curves of / vibrato depth / vibrato speed can be specified at the same time, it is convenient not to specify each one individually.
[0027]
As described above, each phrase template of Phrase / Note / Entrance / Finish is hierarchically structured for each time length, and performance information is possessed by appropriately combining these segment templates. By synthesizing with the input envelope which is the original envelope, it is possible to perform fine envelope control for each phrase or for each sound. That is, in the musical sound generating apparatus according to the present invention, the characteristic change curves are synthesized with the input envelope by using the Phrase segment and the Note segment in an overlapping manner, and the waveform control is performed for each phrase and for each tone based on the synthesized envelope. To generate an arbitrary musical sound waveform. In addition, each characteristic change curve is synthesized with the input envelope by using the entrance segment overlapped with the predetermined section of the start portion of the note segment and the finish segment over the predetermined section of the end portion of the note segment. Waveform control is performed for each predetermined partial section within one sound to generate an arbitrary musical sound waveform. In other words, by using a combination of segment templates with different time lengths in a hierarchical structure, waveform control can be performed for each phrase, for each sound, or for each predetermined section within a sound. As a result, it is possible to generate a musical sound waveform having a subtle change. Therefore, waveform control using such a segment template will be described using a specific example.
[0028]
First, the process for determining each segment template will be described. Phrase and Note segment templates are determined according to user selection. In the case of the Phrase segment template, the Phrase segment template is used only for the predetermined performance section starting from the first (including the same time) note-on event data after the specified use of the Phrase segment template. Since the template is effective, the user appropriately selects a phrase segment template to be used for each performance section. A predetermined phrase segment template is used as a default for a predetermined performance section in which such selection has not been made. On the other hand, in the case of a Note segment template, the Note segment template is valid only for one note starting from the first (including the same time) note-on event data after the use of the Note segment template. For this reason, the user appropriately selects a note segment template to be used for each sound of each sound. The default Note segment template is used as the default for one note that has not been selected. For example, when a Note segment template having a completely flat characteristic change curve with table number 0 as shown in FIG. 3A is determined as a default, the Note segment template is used. .
[0029]
On the other hand, the entrance and finish segment templates are determined for each sound according to the selection when the user is selected, and automatically determined according to a predetermined process when the user is not selected. . Therefore, the entry and finish segment template determination process will be described with reference to FIGS. 4 and 5. FIG. Processing for determining the Entrance segment template will be described with reference to FIG. FIG. 4 is a flowchart showing an embodiment of “Entrance segment template automatic determination processing”.
[0030]
In step S1, it is determined whether or not the Entrance segment template is selectively designated by a table number or the like. If the Entrance segment template is designated (YES in step S1), the entrance segment template is determined according to the designated table number or the like (step S2). If the Entrance segment template is not specified (NO in step S1), it is determined whether or not the Entrance segment template is not required in the note, that is, whether or not it is necessary to control the sound rising interval. (Step S3). If the entrance segment template is not required, that is, if it is not necessary to perform waveform control using the entrance segment template in the note (NO in step S3), the entry segment template of table number 0 (ie, no SAT) is determined. (Step S4). That is, in this case, since the entrance segment template whose characteristic change curve is “flat” is determined, the control for the sound rising section is not performed. On the other hand, when the entrance segment template is necessary, that is, when it is necessary to perform waveform control using the entrance segment template in the note (YES in step S3), the entry segment template is automatically selected. It is determined whether or not it has been done (step S5). If it is not set to execute automatic selection (NO in step S5), the entry segment template of table number 0 (that is, no SAT) is determined (step S4). If it is set to execute automatic selection (YES in step S5), it is determined whether or not the relationship with the previous sound (Note) is a joint (step S6). If the relationship with the previous sound is not a joint (NO in step S6), the relationship with the previous sound in the table is set to “Finish” (step S9). If the relationship with the previous sound is a joint (YES in step S6), it is further determined whether or not the relationship with the previous sound is a slur (step S7). If the relationship with the previous sound is not slur (NO in step S7), the relationship with the previous sound in the table is set to “Joint” (step S10). If the relationship with the previous sound is slur (YES in step S7), the entry segment template of table number 1 (that is, data for slur control) is determined (step S8).
[0031]
In step S11, it is determined whether or not the entry segment template is automatically selected. If the entrance segment template is automatically selected (YES in step S11), the entrance segment template is determined according to the performance intensity (especially the velocity of sound in the case of MIDI data) (step S13). If the type of the entrance segment template is not automatic selection (NO in step S11), the entrance segment template selected by the user is determined to be hooked (step S14). In step S12, it is determined whether the length of the Entrance segment template is automatically selected. When the length of the Entrance segment template is automatically selected (YES in Step S12), the length of the Entrance segment template is determined according to the length of the sound (Step S15). If the length of the Entrance segment template is not automatically selected (NO in Step S12), the length of the Entrance segment template selected by the user in advance is determined (Step S16). According to the relationship with the preceding sound in the table thus determined (see steps S9 and S10), the type of the entrance segment template (see steps S13 and S14), and the length of the entrance segment template (see steps S15 and S16) By referring to the table related to the entrance segment template as shown in FIG. 3B, the entrance segment template to be used for the waveform control of the sound rising section in each note is determined.
[0032]
Processing for determining the Finish segment template will be described with reference to FIG. FIG. 5 is a flowchart showing an embodiment of the “Finish segment / template automatic determination process”.
[0033]
In step S21, it is determined whether or not the Finish segment template is selectively designated by the table number by the user. If the Finish segment template is specified (YES in Step S21), the Finish segment template according to the specified table number is determined (Step S22). If the Finish segment template is not specified (NO in step S21), whether or not the Finish segment template is necessary in the note, that is, whether or not it is necessary to control the falling edge of the sound. A determination is made according to a predetermined parameter (step S23). When the Finish segment template is not necessary, that is, when it is not necessary to perform waveform control using the Finish segment template in the note (NO in step S23), the finish segment template of table number 0 (that is, no SAT) is determined. (Step S24). That is, in this case, since the finish segment template whose characteristic change curve is “flat” is determined, control for the falling edge of the sound is not performed. On the other hand, when the Finish segment template is necessary, that is, when it is necessary to perform waveform control by the Finish segment template in the note (YES in step S23), the automatic selection of the Finish segment template is performed. It is determined whether or not it has been performed (step S25). If it is not set to execute automatic selection (NO in step S25), it is determined to be the Finish segment template of table number 0 (that is, no SAT) (step S24). If it is set to execute automatic selection (YES in step S25), it is determined whether the relationship with the next sound (Note) is a joint (step S26). If the relationship with the next sound is not a joint (NO in step S26), the relationship with the subsequent sound in the table is set to “Entrance” (step S29). If the relationship with the next sound is a joint (YES in step S26), it is determined whether or not the relationship with the next sound is a slur (step S27). If the relationship with the next sound is not slur (NO in step S27), the relationship with the subsequent sound in the table is set to “Joint” (step S30). If the relationship with the next sound is slur (YES in step S27), the finish segment template of table number 1 (that is, data for performing slur control) is determined (step S28).
[0034]
In step S31, it is determined whether or not the type of the Finish segment template is automatic selection. If the type of the finish segment template is automatic selection (YES in step S31), the type of the finish segment template is determined according to the velocity of the sound (step S33). If the type of the finish segment template is not automatically selected (NO in step S31), the type of the finish segment template selected in advance by the user is determined (step S34). In step S32, it is determined whether or not the length of the Finish segment template is automatically selected. When the length of the Finish segment template is automatically selected (YES in Step S32), the length of the Finish segment template is determined according to the length of the sound (Step S35). If the length of the Finish segment template is not automatically selected (NO in Step S32), the length of the Finish segment template selected by the user in advance is determined (Step S36). According to the relationship with the previous sound in the table thus determined (see steps S29 and S30), the type of the finish segment template (see steps S33 and S34), and the length of the finish segment template (see steps S35 and S36). The finish segment template to be used for the waveform control of the sound falling section in each note is determined by referring to the table relating to the finish segment template as shown in FIG.
[0035]
As described above, each entry / entry segment template is applied on the basis of the connection sequence relationship with the adjacent sound (Note) before and after, if the user does not specify it. It is automatically selected based on the intensity in the section to be used or on the basis of the sound length in the section to which the segment template is applied. Note that the segment template automatic selection criteria are not limited to these, and may be based on a pitch in a section to which the segment template is applied. As described above, when the user does not select a segment template, the segment template to be used for waveform control is automatically determined. It is not necessary to select each segment template of / Finish. As a result, the user can perform efficient waveform control.
[0036]
As described above, when each segment template to be used for waveform control is determined by user selection or automatic processing, each determined segment template is then placed on the time axis and each segment is placed. -Synthesize the template and the input envelope. Then, waveform control is performed by applying the resultant envelope to each module to generate an arbitrary musical sound waveform. Therefore, the arrangement of the determined segment templates on the time axis and the synthesis of the input envelope performed based on the arranged segment templates will be described with reference to FIGS. However, in the following description, the arrangement of the entrance / finish / note segment templates for one note (Note) and the synthesis with the input envelope will be described. That is, such processing is performed for each sound.
[0037]
First, the arrangement of each segment template on the time axis will be described. FIG. 6 is a conceptual diagram for explaining the arrangement of each segment template on the time axis. 6A is a conceptual diagram for explaining the arrangement of the Entrance segment template and the Finish segment template on the time axis, and FIG. 6B is the arrangement of the Note segment template on the time axis. It is a conceptual diagram for demonstrating.
[0038]
As shown in FIG. 6A, first, the Entrance segment template and the Finish segment template are arranged on the time axis. By matching the note-on timing preset in the Entrance segment template with the note-on event (Note On), the Entrance segment template is arranged on the time axis near the note-on. On the other hand, the finish segment template is arranged on the time axis near the note-off by matching the note-off timing preset in the finish segment template with the note-off event (Note Off). At this time, the time length of each entrance / finish segment template is enlarged or reduced using a predetermined time control parameter, etc., so that the shape of the characteristic change curve in each segment template can be extended or reduced in the time axis direction. can do. The enlargement / reduction of the time length of each entrance / finish segment template using the time control parameter or the like is performed with the note-on timing or the note-off timing as the center. For example, if the first half of the entrance / finish segment template is pre-time (Pre Time) and the second half is post-time (Post Time), the pre-time and post-time are used. The first half or the second half of each Entrance / Finish segment template can be scaled separately so as to be controlled separately. In this way, by allowing the user to edit the time length appropriately, each placed segment template can be customized in the time axis direction, and each entry / finish segment template can be applied to the desired section. Will be able to.
[0039]
When the placement of the entrance and finish segment templates on the time axis is completed, as shown in FIG. 6 (b), the Note segment and the finish segment templates are already arranged based on the already placed entrance and finish segment templates. Place a template. This note segment template is placed so that the start position of the note segment template matches the start point of the entrance segment template, and the end position of the note segment template matches the end point of the finish segment template. . That is, for the Note segment template, the time length is enlarged or reduced in accordance with the time length from the start point of the already placed Entrance segment template to the end point of the Finish segment template. Thus, the entrance and finish segment templates and the note segment template are arranged on the time axis so as to overlap each other.
[0040]
Next, envelope synthesis performed by combining each segment template will be described. FIG. 7 is a conceptual diagram for explaining envelope synthesis performed by combining each segment template. In this embodiment, the dynamics (amplitude) of the envelope segments for the four musical tone elements of dynamics / Pitch / vibrato depth / vibrato speed will be described as an example. That is, in each figure shown in FIG. 7, from the top, the dynamics value curve of the input envelope (basic envelope) generated based on the MIDI input, the input dB value curve calculated from the dynamics value curve based on the MIDI input, The dynamics dB value curve of the Note segment template, the dynamics dB value curve of the Entrance and Finish segment templates, and the input dB value curve of the synthesized result are shown.
[0041]
The dynamics value curve based on the input of MIDI information (that is, the input envelope or basic envelope) is converted into a dB value using the Dynamics scale data assigned to the score interpretation unit (player) according to the key number of that Note ( This is called the input dB value curve). Each segment template of Note / Entrance / Finish arranged on the time axis as described above is added to the input dB value curve calculated by this conversion. At this time, the shape of the characteristic change curve in each segment template can be changed in the level direction by enlarging / reducing each level of each Note / Entrance / Finish segment template with a predetermined level control parameter. Such a level control parameter may be designated by a user directly inputting a numerical value at a predetermined position (for example, a representative point characterizing the shape of a predetermined characteristic change curve), or may be designated by the display device 5. The representative point on the characteristic change curve displayed above may be designated by the user moving it up and down using a mouse or the like. Thus, each segment template can be customized in the direction of the level by the user editing the level. When each segment template of Note / Entrance / Finish is added to the input dB value curve, the segment templates are relatively synthesized to generate a characteristic synthesized dB value curve. The generated synthesized dB value curve is input to the rendition style synthesis unit (articulator) as, for example, Amplitude Shift or Dynamics.
[0042]
Of course, in the same way as the envelope synthesis in dynamics above, the composite envelope can be obtained by calculating each segment template of Note / Entrance / Finish for a given input envelope at other pitch / vibrato depth / vibrato speed. Generated. It goes without saying that level control for envelopes at other pitch / vibrato depth / vibrato speeds can be performed in the same manner as the level control for envelopes in dynamics.
In this way, each segment template of Note / Entrance / Finish (or Phrase) generates a single composite envelope by acting relative to the input envelope.
[0043]
A composite envelope generated by calculating each segment template such as Note / Entrance / Finish on the composite envelope generated by the score interpretation unit (player) 1B, that is, the input envelope, is a rendition style composition unit (articulator) 1C. Are output as performance style parameters. Then, the rendition style composition unit 1C reads out the rendition style modules from the rendition style database based on the predetermined rendition style designation information (rendition style ID and rendition style parameters), and the composition generated by the score interpretation unit 1B for each read performance style module. A packet stream to which the envelope is allocated is generated (see FIG. 2). Here, the arrangement of each performance style module on the time axis and the distribution of the synthesis envelope for each performance style module when the rendition style synthesis unit 1C creates a packet stream will be described with reference to FIG. FIG. 8 is a conceptual diagram for explaining the arrangement of each performance style module on the time axis and the distribution of the composite envelope for each performance style module when creating a packet stream. FIG. 8A is a conceptual diagram for explaining the arrangement of the entrance system module and the finish system module on the time axis, and FIG. 8B is the arrangement of the body system module or the joint system module on the time axis. It is a conceptual diagram for demonstrating distribution of a synthetic | combination envelope.
[0044]
As shown in FIG. 8A, first, the rendition style composition unit 1C reads the entrance system module and the finish system module from the rendition style database based on predetermined rendition style designation information (rendition style ID and rendition style parameters), and a predetermined time on the time axis. Place in position. By matching the sound on timing of the entrance module with the start point of the entrance segment template, the entrance module is arranged at a predetermined time position on the time axis. The sound-on timing here is recorded as the time from the beginning of the performance module in the entrance system module. On the other hand, by matching the sound off timing of the Finish module with the end point of the Finish segment template, the Finish module is arranged at a predetermined time position on the time axis. The sound off timing is recorded as the time from the beginning of the rendition style module in the Finish system module. Next, as shown in FIG. 8B, a Body module is arranged between the Entrance module and the Finish module arranged at a predetermined time position on the time axis. If the time interval between the entrance system module and the finish system module is less than the specified value, NSB (Normal Short Body) is placed as the body module, and the time interval is greater than the specified value Arranges VB (Vibrato Body) as a body module. However, if no body module is inserted between the entrance module and the finish module that have already been arranged, the body module may be omitted without being arranged. Then, if the interval between the next note-off and the note-on is a time interval equal to or less than a predetermined specified value, the body module and the next body module are jointed, and the joint module is inserted. In this way, each performance style module is sequentially arranged on the time axis. Needless to say, when a module to be directly used by the user is selected, it may be used.
[0045]
As can be understood from FIG. 8B, each of the combined envelopes generated by the score interpretation unit 1B, that is, the input envelopes, such as Note / Entrance / Finish, in accordance with the positions of the arranged performance style modules. A composite envelope calculated by calculating a segment template is acquired, and a packet stream is generated by allocating the acquired composite envelope to each rendition style module. The packet stream generated in this way is supplied to the waveform synthesizer 1D, and the waveform synthesizer 1D transforms the vector data extracted from the waveform database based on the packet stream (that is, the waveform represented by the rendition style module) according to the synthesis envelope. An arbitrary musical sound waveform can be generated by connecting the waveforms represented by the individual rendition style modules thus transformed. That is, by transforming each performance style module according to the composite envelope allocated to each performance style module and connecting the deformed performance style modules in a waveform, a musical sound waveform having a shape according to each characteristic change curve given as a segment template is obtained. It can be generated.
[0046]
In addition, the rendition style synthesis unit 1C may reflect not only the synthesis envelope generated by the score interpretation unit 1B as described above but also vector data. That is, when the rendition style synthesis unit 1C generates a vector parameter, a vector parameter is generated by allocating the synthesis envelope generated by the score interpretation unit 1B to the rendition style module arranged at a predetermined time position on the time axis. May be. In such a case, the waveform synthesizer 1D sequentially extracts vector data from the waveform database according to the generated packet stream, deforms the vector data according to the vector parameter, and waveform connects the deformed vector data, Sounds that reflect the dynamics envelope can be generated. Of course, in Pitch / vibrato depth / vibrato Speed, a sound reflecting each envelope can be generated in the same manner as the dynamics envelope.
[0047]
As described above, in the musical sound generating apparatus shown in this embodiment, musical sound expression in phrase units or single sound units is partially performed using hierarchical templates having different time lengths such as Phrase / Note / Entrance / Finish segment templates. Therefore, it is possible to easily generate a musical sound waveform having a complicated change shape in a partial section such as an attack part or a release part in one sound. By synthesizing envelopes for dynamics represented by these segment templates and further synthesizing with envelopes for each sound, an envelope for the entire dynamics is formed. In addition, each segment template of Phrase / Note / Entrance / Finish has a characteristic change curve (ie, envelope curve) with respect to dynamics / Pitch / vibrato depth / vibrato Speed as a set so that the user can play In addition to dynamics, it is possible to perform waveform control for Pitch / vibrato depth / vibrato Speed at the same time by simply specifying it.
It is also possible to synthesize an envelope based only on a combination of segment templates without generating an original input envelope (basic envelope) based on performance information.
[0048]
When the above-described musical tone generating apparatus is used as an electronic musical instrument, the electronic musical instrument is not limited to a keyboard musical instrument, and may be any type of form such as a stringed musical instrument, a wind instrument, or a percussion instrument. In this case, the music data playback unit 1A, the score interpretation unit 1B, the performance style synthesis unit 1C, the waveform synthesis unit 1D, etc. are not limited to those built in one electronic musical instrument main body, and each is configured separately, and MIDI. Needless to say, the present invention can be similarly applied to a configuration in which each component is connected using communication means such as an interface or various networks. In addition, a configuration of a personal computer and application software may be used. In this case, the processing program may be supplied from a storage medium such as a magnetic disk, an optical disk, or a semiconductor memory, or may be supplied via a network. Furthermore, the present invention may be applied to an automatic performance device such as an automatic performance piano.
[0049]
【The invention's effect】
According to the present invention, it is possible to supply a segment template including a characteristic change curve representing a musical characteristic for each instrument or each player, and position information indicating a specific position on the time axis in the characteristic change curve. Since the segment template to be arranged in a part of the performance sound is determined according to the instrument selected by the user, and a synthetic envelope including the determined segment template characteristic change curve is formed, In forming the envelope of the performance sound, an appropriate characteristic change curve can be used for each instrument or for each player in a partial section of the performance sound, and therefore music specific to each instrument or player in the partial section. It is possible to perform fine control reflecting the special characteristics. For example, a composite envelope is formed by combining the characteristic change curve of the determined segment template with the basic envelope generated based on performance information, so that in addition to the characteristics of the basic envelope, individual sections It becomes possible to perform fine control reflecting the musical characteristics peculiar to each instrument or player, and the range of envelope control is expanded. Further, since the segment templates can be individually determined in a plurality of different partial sections when forming the envelope of the performance sound, it is possible to form a composite envelope with various combinations. In this way, a segment envelope having a characteristic change curve representing a musical characteristic of each instrument or player is used to generate a synthetic envelope of a partial section, and a musical tone is generated according to the synthetic envelope. Or, since the envelope waveform control using the corresponding segment template can be performed simply by specifying the musical instrument, the characteristics of each designated player or musical instrument for each partial section in one phrase or one note can be easily obtained. There is an excellent effect that a musical sound waveform reflecting a certain performance can be generated. The segment template includes position information indicating a specific position on the time axis in the characteristic change curve together with the characteristic change curve, and corresponds to the partial section of the performance sound according to the performance information according to the position information. Since the characteristic change curve is arranged on the time axis, the partial characteristic change curve can be easily arranged on the time axis based on the position information. Further, since each segment template of the characteristic change curve includes position information exceptionally, each segment template including the position information is associated with an arbitrary intermediate position in the characteristic change curve. Therefore, a synthetic envelope can be formed in various ways that are not possible in the past.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an example of a hardware configuration of a musical sound generating apparatus according to the present invention.
FIG. 2 is a block diagram showing an embodiment when the musical tone generation process is configured in the form of a dedicated hardware device.
FIG. 3 is a conceptual diagram showing an example of the data configuration of a segment template.
FIG. 4 is a flowchart showing an embodiment of “Entrance segment template automatic determination processing”.
FIG. 5 is a flowchart illustrating an example of “Finish segment template automatic determination processing”.
FIG. 6 is a conceptual diagram for explaining the arrangement of each segment template on the time axis.
FIG. 7 is a conceptual diagram for explaining envelope synthesis performed by combining each segment template.
FIG. 8 is a conceptual diagram for explaining the arrangement of each performance style module on the time axis and the allocation of the composite envelope to each performance style module when creating a packet stream.
[Explanation of symbols]
1 ... CPU, 2 ... Read only memory (ROM), 3 ... Random access memory (RAM), 4 ... Input device, 5 ... Display device, 6 ... Drive, 6A. ..External storage media, 7 ... Waveform acquisition unit, 8 ... Sound source unit, 8A ... Sound system, 9 ... Hard disk, 10 ... Communication interface, BL ... Bus line, 1A ... Song data playback unit, 1B ... Score interpretation unit (player), 1C ... Performance synthesis unit (articulator), 1D ... Waveform synthesis unit

Claims (11)

演奏情報を供給する演奏情報供給手段と、
楽器毎の音楽的特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを複数供給するセグメントテンプレート供給手段と、
複数の楽器から1つの楽器を選択する選択手段と、
演奏音の一部区間に配置すべきセグメントテンプレートを、前記セグメントテンプレート供給手段で供給される複数のセグメントテンプレートの中から、前記選択された楽器に応じて決定する決定手段と、
前記決定されたセグメントテンプレートの特性変化カーブを、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に配置し、配置した特性変化カーブを含む合成エンベロープを形成するエンベロープ合成手段と、
形成された合成エンベロープを用いて楽音を生成する楽音生成手段と
を具えた楽音生成装置。
Performance information supply means for supplying performance information;
And segment template supply means for several supply segments template including the position information indicating a specific position on the time axis of the characteristic variation curve and the characteristic variation curve representing the musical characteristics of each instrument,
Selecting means for selecting one instrument from a plurality of instruments;
A determining means for determining a segment template to be arranged in a partial section of the performance sound according to the selected musical instrument from a plurality of segment templates supplied by the segment template supplying means;
The characteristic change curve of the determined segment template is arranged on the time axis according to the position information corresponding to a part of the performance sound according to the performance information, and a composite envelope including the arranged characteristic change curve is formed. Envelope synthesis means;
A musical sound generating device comprising musical sound generating means for generating a musical sound using the formed synthetic envelope.
演奏情報を供給する演奏情報供給手段と、
奏者毎の演奏特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを複数供給するセグメントテンプレート供給手段と、
複数の奏者から1人の奏者を選択する選択手段と、
演奏音の一部区間に配置すべきセグメントテンプレートを、前記セグメントテンプレート供給手段で供給される複数のセグメントテンプレートの中から、前記選択された奏者に応じて決定する決定手段と、
前記決定されたセグメントテンプレートの特性変化カーブを、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に配置し、配置した特性変化カーブを含む合成エンベロープを形成するエンベロープ合成手段と、
形成された合成エンベロープを用いて楽音を生成する楽音生成手段と
を具えた楽音生成装置。
Performance information supply means for supplying performance information;
And segment template supply means for several supply segments template including the position information indicating a specific position on the time axis of the characteristic variation curve and the characteristic variation curve representing the performance characteristics of each player,
Selecting means for selecting one player from a plurality of players;
A determining means for determining a segment template to be arranged in a partial section of the performance sound from a plurality of segment templates supplied by the segment template supplying means according to the selected player;
The characteristic change curve of the determined segment template is arranged on the time axis according to the position information corresponding to a part of the performance sound according to the performance information, and a composite envelope including the arranged characteristic change curve is formed. Envelope synthesis means;
A musical sound generating device comprising musical sound generating means for generating a musical sound using the formed synthetic envelope.
前記セグメントテンプレートに含まれる前記位置情報が指示する時間軸上の位置の前後においてそれぞれ独立に前記特性変化カーブの時間長を拡大又は縮小することにより、前記特性変化カーブの時間長を変更する変更手段を更に備えたことを特徴とする請求項1又は2に記載の楽音生成装置。Changing means for changing the time length of the characteristic change curve by independently expanding or reducing the time length of the characteristic change curve before and after the position on the time axis indicated by the position information included in the segment template The music sound generating device according to claim 1, further comprising: 前記エンベロープ合成手段は、前記演奏情報に基づく基本エンベロープを生成し、該生成した基本エンベロープと前記一部区間に対応して時間軸上に配置した特性変化カーブとの組み合わせにより前記合成エンベロープを形成することを特徴とする請求項1乃至3のいずれかに記載の楽音生成装置。The envelope synthesizing unit generates a basic envelope based on the performance information, and forms the synthetic envelope by a combination of the generated basic envelope and a characteristic change curve arranged on the time axis corresponding to the partial section. tone generation apparatus according to any one of claims 1 to 3, characterized in that. 前記セグメントテンプレートは時間軸上の位置を示す位置情報を含み、前記エンベロープ合成手段は前記決定したセグメントテンプレートを前記位置情報に応じて演奏の時間軸上に配置することを特徴とする請求項1乃至のいずれかに記載の楽音生成装置。2. The segment template includes position information indicating a position on a time axis, and the envelope synthesizing unit arranges the determined segment template on a performance time axis according to the position information. 5. A musical sound generating device according to any one of 4 above. 前記セグメントテンプレートの各々は、複数種の楽音要素についての特性変化カーブをセットで持ち、前記エンベロープ合成手段は、該複数種の楽音要素毎の各特性変化カーブに基づき、各楽音要素毎の前記合成エンベロープをそれぞれ形成することを特徴とする請求項1乃至のいずれかに記載の楽音生成装置。Each of the segment templates has a characteristic change curve for a plurality of types of musical elements as a set, and the envelope synthesizing unit is configured to perform the synthesis for each musical element based on the characteristic change curves for the plurality of types of musical elements. tone generation apparatus according to any one of claims 1 to 5, characterized in that to form an envelope, respectively. 前記エンベロープ合成手段は、セグメントテンプレートの特性変化カーブを、演奏情報に含まれるノートオンあるいはノートオフタイミングに基づき配置することを特徴とする請求項1乃至のいずれかに記載の楽音生成装置。The envelope synthesis means, changes in the characteristics curve of the segment templates, tone generation apparatus according to any one of claims 1 to 6, characterized in that arranged on the basis of the note-on or note-off timing included in the performance information. 前記セグメントテンプレート供給手段は、
1音の演奏区間に基づくノートセグメントテンプレートと、1音内のアタック部分とリリース部分の少なくとも一方を特徴付ける特性変化カーブを持つセグメントテンプレート供給し得ることを特徴とする請求項1乃至のいずれかに記載の楽音生成装置。
The segment template supply means includes
A note segment template based on the performance interval of one tone, any one of claims 1 to 7, characterized in that may supply segment template having characteristics change curves that characterize at least one of the attack portion and release portion in one note The musical tone generator described in 1.
演奏情報を供給するステップと、
楽器毎の音楽的特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを複数供給するステップと、
複数の楽器から1つの楽器を選択するステップと、
演奏音の一部区間に配置すべきセグメントテンプレートを、前記供給される複数のセグメントテンプレートの中から、前記選択された楽器に応じて決定するステップと、
前記決定されたセグメントテンプレートの特性変化カーブを、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に配置し、配置した特性変化カーブを含む合成エンベロープを形成するステップと、
形成された合成エンベロープを用いて楽音を生成するステップと
を具える楽音生成方法。
Supplying performance information;
The method comprising a plurality supplying segment template including the position information indicating a specific position on the time axis of the characteristic variation curve and the characteristic variation curve representing the musical characteristics of each instrument,
Selecting one instrument from a plurality of instruments;
Determining a segment template to be arranged in a partial section of the performance sound according to the selected instrument from the plurality of segment templates supplied; and
The characteristic change curve of the determined segment template is arranged on the time axis according to the position information corresponding to a part of the performance sound according to the performance information, and a composite envelope including the arranged characteristic change curve is formed. Steps,
A musical sound generation method comprising: generating a musical sound using the formed synthetic envelope.
演奏情報を供給するステップと、
奏者毎の演奏特徴を表す特性変化カーブと該特性変化カーブにおける時間軸上の特定の位置を指示する位置情報とを含むセグメントテンプレートを複数供給するステップと、
複数の奏者から1人の奏者を選択するステップと、
演奏音の一部区間に配置すべきセグメントテンプレートを、前記供給される複数のセグメントテンプレートの中から、前記選択された奏者に応じて決定するステップと、
前記決定されたセグメントテンプレートの特性変化カーブを、前記演奏情報に従う演奏音の一部区間に対応して、前記位置情報に従って時間軸上に配置し、配置した特性変化カーブを含む合成エンベロープを形成するステップと、
形成された合成エンベロープを用いて楽音を生成するステップと
を具える楽音生成方法。
Supplying performance information;
The method comprising a plurality supplying segment template including the position information indicating a specific position on the time axis of the characteristic variation curve and the characteristic variation curve representing the performance characteristics of each player,
Selecting one player from a plurality of players;
Determining a segment template to be placed in a partial section of the performance sound according to the selected player from the plurality of segment templates supplied;
The characteristic change curve of the determined segment template is arranged on the time axis according to the position information corresponding to a part of the performance sound according to the performance information, and a composite envelope including the arranged characteristic change curve is formed. Steps,
A musical sound generation method comprising: generating a musical sound using the formed synthetic envelope.
請求項又は10に記載の楽音生成方法をコンピュータに実行させるための命令群からなるコンピュータプログラム。A computer program comprising a group of instructions for causing a computer to execute the musical sound generation method according to claim 9 or 10 .
JP2002333676A 2001-11-19 2002-11-18 Musical sound generating apparatus and method Expired - Fee Related JP3832422B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002333676A JP3832422B2 (en) 2001-11-19 2002-11-18 Musical sound generating apparatus and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001353009 2001-11-19
JP2001-353009 2001-11-19
JP2002333676A JP3832422B2 (en) 2001-11-19 2002-11-18 Musical sound generating apparatus and method

Publications (2)

Publication Number Publication Date
JP2003216153A JP2003216153A (en) 2003-07-30
JP3832422B2 true JP3832422B2 (en) 2006-10-11

Family

ID=27667334

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002333676A Expired - Fee Related JP3832422B2 (en) 2001-11-19 2002-11-18 Musical sound generating apparatus and method

Country Status (1)

Country Link
JP (1) JP3832422B2 (en)

Also Published As

Publication number Publication date
JP2003216153A (en) 2003-07-30

Similar Documents

Publication Publication Date Title
JP3675287B2 (en) Performance data creation device
US6881888B2 (en) Waveform production method and apparatus using shot-tone-related rendition style waveform
US7750230B2 (en) Automatic rendition style determining apparatus and method
JP2007011217A (en) Musical sound synthesizer and program
JP3601371B2 (en) Waveform generation method and apparatus
JP2001100760A (en) Method and device for waveform generation
JP3900188B2 (en) Performance data creation device
US20090158919A1 (en) Tone synthesis apparatus and method
US6835886B2 (en) Tone synthesis apparatus and method for synthesizing an envelope on the basis of a segment template
JP3654082B2 (en) Waveform generation method and apparatus
JP3829780B2 (en) Performance method determining device and program
JP4407473B2 (en) Performance method determining device and program
JP3654084B2 (en) Waveform generation method and apparatus
JP3760909B2 (en) Musical sound generating apparatus and method
JP3832421B2 (en) Musical sound generating apparatus and method
JP3832422B2 (en) Musical sound generating apparatus and method
JP3832419B2 (en) Musical sound generating apparatus and method
JP3832420B2 (en) Musical sound generating apparatus and method
JP3900187B2 (en) Performance data creation device
JP2002297139A (en) Playing data modification processor
JP3613191B2 (en) Waveform generation method and apparatus
JP2000003175A (en) Musical tone forming method, musical tone data forming method, musical tone waveform data forming method, musical tone data forming method and memory medium
JP2003271142A (en) Device and method for displaying and editing way of playing
JP4007374B2 (en) Waveform generation method and apparatus
JP2006133464A (en) Device and program of determining way of playing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060501

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: 20060627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060710

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: 20090728

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100728

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120728

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130728

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees