JP2001100762A - 波形記録、再生及び生成方法並びに装置 - Google Patents

波形記録、再生及び生成方法並びに装置

Info

Publication number
JP2001100762A
JP2001100762A JP27317699A JP27317699A JP2001100762A JP 2001100762 A JP2001100762 A JP 2001100762A JP 27317699 A JP27317699 A JP 27317699A JP 27317699 A JP27317699 A JP 27317699A JP 2001100762 A JP2001100762 A JP 2001100762A
Authority
JP
Japan
Prior art keywords
waveform
data
vector
time
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP27317699A
Other languages
English (en)
Other versions
JP3654083B2 (ja
Inventor
Hideo Suzuki
秀雄 鈴木
Genichi Tamura
元一 田邑
Satoshi Usa
聡史 宇佐
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 JP27317699A priority Critical patent/JP3654083B2/ja
Priority to US09/668,726 priority patent/US6873955B1/en
Priority to DE60033098T priority patent/DE60033098T2/de
Priority to EP00120846A priority patent/EP1087368B1/en
Publication of JP2001100762A publication Critical patent/JP2001100762A/ja
Application granted granted Critical
Publication of JP3654083B2 publication Critical patent/JP3654083B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/008Means for controlling the transition from one tone waveform to another
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 高品質な波形の生成を、簡素化された構成
でかつ制御性豊かに実現する。 【解決手段】 供給されたオリジナル波形データから、
波形形状の変化を代表する一部の波形データを抽出し、
抽出した一部の波形データをその時刻位置の情報と共に
記憶する。再生時に、該一部の波形データと時刻位置情
報を読み出し、時刻位置情報に従って該一部の波形デー
タを時間軸上に配置し、配置された波形データに基づい
て波形を生成する。一方、再生すべき演奏音波形に応じ
て、サンプル識別情報と時刻位置情報の組を取得し、サ
ンプル識別情報によりデータベースからサンプルデータ
を取得し、時刻位置情報に従って該サンプルデータを時
間軸上に配置し、配置されたサンプルデータに基づいて
波形を生成する。補正情報に応じて、時刻位置情報及び
/又はサンプルデータを補正するようにしてもよい。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、波形メモリ等か
らの波形データの読み出し等に基づき、楽音あるいは音
声若しくはその他任意の音の波形を生成する方法及び装
置に関し、特に、演奏者により行われた自然楽器固有の
各種奏法若しくはアーティキュレーションによる音色変
化を忠実に表現した波形を生成するものに関する。この
発明は、電子楽器は勿論のこと、自動演奏装置、コンピ
ュータ、電子ゲーム装置その他のマルチメディア機器
等、楽音あるいは音声若しくはその他任意の音を発生す
る機能を有するあらゆる分野の機器若しくは装置または
方法において広範囲に応用できるものである。なお、こ
の明細書において、楽音波形という場合、音楽的な音の
波形に限るものではなく、音声あるいはその他任意の音
の波形を含んでいてもよい意味合いで用いるものとす
る。
【0002】
【従来の技術】波形メモリにおいて、PCM(パルス符
号変調)あるいはDPCM(差分PCM)又はADPC
M(適応差分PCM)等の任意の符号化方式で符号化し
た波形データ(つまり波形サンプルデータ)を記憶して
おき、これを所望の音楽ピッチに対応して読み出すこと
により、楽音波形を形成するようにした、いわゆる「波
形メモリ読み出し」技術は既に公知であり、また、様々
なタイプの「波形メモリ読み出し方式」技術が知られて
いる。従来知られた「波形メモリ読み出し方式」技術の
ほとんどは、発音開始から終了までの1つの音の波形を
発生するためのものである。一例として、発音開始から
終了までの1音の全波形の波形データを記憶する方式が
ある。また、別の例として、変化の複雑なアタック部な
どについてはその全波形の波形データを記憶し、変化の
あまりないサステイン部などについては所定のループ波
形を記憶する方式がある。なお、本明細書において、
「ループ波形」とは繰り返し読出し(ループ読出し)さ
れる波形という意味で用いるものとする。
【0003】
【発明が解決しようとする課題】ところで、従来の発音
開始から終了までの1音の全波形の波形データを記憶す
る方式やアタック部などの波形の一部において全波形の
波形データを記憶する方式の「波形メモリ読み出し方
式」技術においては、各種奏法(若しくはアーティキュ
レーション)に対応する様々な波形データを多数記憶し
ておかなければならず、この多数の波形データを記憶す
るために大きな記憶容量が必要であった。また、上述の
全波形の波形データを記憶する方式では、自然楽器固有
の各種奏法(若しくはアーティキュレーション)による
音色変化を忠実に表現することが可能であるが、記憶し
た波形データの通りしか楽音を再生することができない
ので、制御性に乏しく、また、編集性にも乏しかった。
例えば、所望の奏法(若しくはアーティキュレーショ
ン)に対応する波形データを演奏データに応じた時間軸
制御等の特性制御を行うことが非常に困難であった。
【0004】本発明は上述の点に鑑みてなされたもの
で、様々な奏法(若しくはアーティキュレーション)に
対応する高品質な波形データを容易かつ簡便にまた制御
性豊かに生成することのできる波形生成技術を提供する
ことを目的とする。特に、本発明は、高品質な波形(す
なわち奏法又はアーティキュレーションを表現した波
形)に対応する波形データをそっくりそのまま記憶して
おくのではなく、波形形状の変化表現に必要な一部の波
形(サンプルデータ)のみを抽出して記憶しておき、こ
れを用いて波形生成を行うことによって、波形データを
記憶するために必要とする記憶量を節約することので
き、しかも波形再現性を確保すると共にその際の制御性
を豊かにした、波形記録、再生及び生成方法並びに装置
を提供しようとするものである。
【0005】
【課題を解決するための手段】本発明に係る波形記録方
法は、波形データを供給するステップと、供給された波
形データから、波形形状の変化を代表する一部の波形デ
ータを抽出するステップと、抽出した一部の波形データ
をその時刻位置の情報と共に記憶手段に記憶するステッ
プとを具備する。このように、波形形状の変化を代表す
る一部の波形データを抽出して記憶手段に記憶すること
により、波形形状の変化表現に必要な波形データを圧縮
して記憶することができ、波形データ記憶量を節約する
ことができる。また、抽出した一部の波形データをその
時刻位置の情報と共に記憶手段に記憶することで、波形
再生の際に、精巧な波形再現性を確保することができ
る。
【0006】また、本発明に係る波形再生方法は、波形
の再生を指示するステップと、前記指示に応じて、記憶
手段から波形形状の変化を代表する一部の波形データと
その時刻位置の情報とを読み出すステップと、読み出し
た時刻位置の情報に従って、前記一部の波形データを時
間軸上に配置するステップと、配置された一部の波形デ
ータに基づいて、該一部の波形データの間の波形データ
を含む全体の波形データを合成するステップとを具備す
る。これによって、波形形状の変化を代表する一部の波
形データは、それと組になって与えられる時刻位置の情
報に従って適切な時刻位置に配置されるので、楽音波形
の大事な部分、つまり波形形状の変化を代表する波形に
関して、適切な時刻位置で再現されることとなり、精巧
な波形再現性を確保することができる。
【0007】更に、本発明に係る波形生成方法は、サン
プル識別情報と時刻位置情報の組を順次受け取るステッ
プと、受け取ったサンプル識別情報によりデータベース
を参照してサンプルデータを取得するステップと、受け
取った時刻位置情報に従って、前記取得したサンプルデ
ータを時間軸上に配置するステップと、配置されたサン
プルデータに基づいて波形を生成するステップとを具備
する。この場合、時刻位置情報と組をなすのは、サンプ
ルデータそのものではなく、サンプル識別情報(サンプ
ルID、つまりサンプルデータを指示するデータ)であ
る。このサンプル識別情報によってデータベースからサ
ンプルデータが得られる。このサンプルデータは、時刻
位置情報に従って適切な時刻位置に配置される、従っ
て、この場合も、波形データの記憶量節約と精巧な波形
再現性の確保を実現することができる。
【0008】前記サンプルデータは、波形形状データ、
振幅データ、ピッチデータ、時間軸制御データのうちい
ずれかの要素についてのサンプルデータである。実施例
において、これらの各要素についてのサンプルデータは
ベクトルデータとも呼ばれている。すなわち、ベクトル
は、当該波形を生成するための異なる種類の基本的な要
素に対応している。その種の基本的な要素としては、例
えば、波形形状(音色若しくはティンバーを設定する波
形形状)、ピッチの時間的変化、あるいは振幅の時間的
変化などがあり、それらのベクトルを波形ベクトル、ピ
ッチベクトル、振幅ベクトルと呼ぶ。更には、波形の時
間軸の進行を伸縮制御するタイムベクトルが含まれてい
てもよい。このタイムベクトルによって、波形ベクト
ル、ピッチベクトル、振幅ベクトルなどの時間軸を制御
することができる。補正情報を受け取るステップを更に
具備し、波形生成のために使用する前記サンプルデータ
を該補正情報に応じて補正するようにしてもよい。そう
すれば、例えば、サンプル識別情報が指示する通りのサ
ンプルデータが予め用意(記憶)されていなかったとし
ても、サンプル識別情報の指示に近いサンプルデータを
とりあえず取得して、これを補正情報に応じて補正する
ことで希望のサンプルデータを得ることができる。よっ
て、サンプルデータを予め用意(記憶)するための構成
を簡略化することができる、すなわち記憶量を節約する
ことができる。また、サンプル識別情報が指示する通り
のサンプルデータが予め用意(記憶)されている場合で
あっても、補正情報に応じて補正することでサンプルデ
ータを自由に変形することができ、制御性に富むものと
なる。
【0009】更に、本発明に係る波形生成方法は、演奏
データを受け取るステップと、前記演奏データによって
テーブルを参照してサンプル識別情報と時刻位置情報の
組を取得するステップと、前記取得した時刻位置情報を
前記演奏データに応じて補正するステップと、前記取得
したサンプル識別情報によりデータベースを参照してサ
ンプルデータを取得するステップと、前記補正した時刻
位置情報に従って、前記取得したサンプルデータを時間
軸上に配置するステップと、配置されたサンプルデータ
に基づいて波形を生成するステップとを具備する。この
場合は、演奏データに基づき上記サンプル識別情報と時
刻位置情報の組が取得される。予め用意された(例えば
記憶された)サンプル識別情報と時刻位置情報の多数の
組の中に、演奏データが意図する演奏音に最適の組がな
いかもしれない。しかし、そのような場合でも、演奏デ
ータの意図するものに近い組を選択して、そこで取得し
た時刻位置情報を演奏データに応じて補正することで、
演奏データの意図する時刻位置情報を得ることができ
る。一方、演奏データがタッチやベロシティのような可
変制御ファクタを含む場合は、その可変制御ファクタに
応じて時刻位置情報を補正することで、演奏データに応
じた時刻位置情報の可変制御を行うことができる。従っ
て、時刻位置情報を予め用意(記憶)するための構成を
簡略化することができる、すなわち記憶量を節約するこ
とができる。また、波形を特徴づけるサンプルデータの
時刻位置を可変制御することができ、制御性に富むもの
となる。
【0010】実施例において、演奏データは、奏法識別
情報(以下、奏法IDともいう)を含む形態で与えられ
る。例えば、奏法識別情報は、演奏音の奏法的特徴に応
じて、アタックやボディあるいはリリース等の音の部分
的区間に対応して与えられることがあり、また、スラー
のような音と音のつなぎの区間(ジョイント部)に対応
して与えられることもあれば、ビブラートのような音の
特殊演奏部分に対応して与えられることもあり、また、
フレーズのように複数音符に対応して与えられることも
ある。再生すべき演奏に応じて、所要の奏法識別情報が
与えられる。本発明は、方法の発明として構成し実施す
ることができるのみならず、装置の発明として構成し実
施することができる。また、本発明は、コンピュータま
たはDSP等のプロセッサのプログラムの形態で実施す
ることができるし、そのようなプログラムを記憶した記
憶媒体の形態で実施することもできる。
【0011】
【発明の実施の形態】 以下、この発明の実施の形態を
添付図面に従って詳細に説明する。
【0012】図1は、この発明に係る波形生成装置のハ
ードウエア構成例を示すブロック図である。ここに示さ
れたハードウエア構成例はコンピュータを用いて構成さ
れており、そこにおいて、波形生成処理は、コンピュー
タがこの発明に係る波形生成処理を実現する所定のプロ
グラム(ソフトウエア)を実行することにより実施され
る。勿論、この波形生成処理はコンピュータソフトウエ
アの形態に限らず、DSP(ディジタル・シグナル・プ
ロセッサ)によって処理されるマイクロプログラムの形
態でも実施可能であり、また、この種のプログラムの形
態に限らず、ディスクリート回路又は集積回路若しくは
大規模集積回路等を含んで構成された専用ハードウエア
装置の形態で実施してもよい。また、この波形生成装置
は、電子楽器あるいはカラオケ装置又は電子ゲーム装置
又はその他のマルチメディア機器又はパーソナルコンピ
ュータ等、任意の製品応用形態をとっていてよい。
【0013】図1に示されたハードウエア構成例におい
ては、コンピュータのメイン制御部としてのCPU10
1に対して、バスラインBL(データあるいはアドレス
バス等)を介してリードオンリメモリ(ROM)10
2、ランダムアクセスメモリ(RAM)103、パネル
スイッチ104、パネル表示器105、ドライブ10
6、波形取込部107、波形出力部108、ハードディ
スク109、通信インタフェース111がそれぞれ接続
されている。CPU101は、後述する「波形データベ
ース作成」や「制作したデータベースに基づく楽音合成
(ソフトウエア音源)」等の処理を、所定のプログラム
に基づいて実行する。これらのプログラムは、通信イン
タフェース111を介したネットワークあるいはドライ
ブ106に装着されたCDやMO等の外部記憶メディア
106A等から供給されてハードディスク109に記憶
される。そして、実行時にハードディスク109からR
AM103にロードされる。あるいは、ROM102に
プログラムが記録されていてもよい。ROM102は、
CPU101により実行あるいは参照される各種プログ
ラムや各種データ等を格納するものである。ROM10
3は、演奏に関する各種情報やCPU101がプログラ
ムを実行する際に発生する各種データを一時的に記憶す
るワーキングメモリとして、あるいは現在実行中のプロ
グラムやそれに関連するデータを記憶するメモリとして
使用される。RAM103の所定のアドレス領域がそれ
ぞれの機能に割り当てられ、レジスタやフラグ、テーブ
ル、メモリなどとして利用される。パネルスイッチ10
4は、楽音をサンプリングする指示やサンプリングされ
た波形データ等のエディットや各種情報の入力等を行う
ための各種の操作子を含んで構成される。例えば、数値
データ入力用のテンキーや文字データ入力用のキーボー
ド、あるいはパネルスイッチ等である。この他にも音
高、音色、効果等を選択・設定・制御するための各種操
作子を含んでいてよい。パネル表示器105は、パネル
スイッチ104により入力された各種情報やサンプリン
グされた波形データ等を表示する、例えば液晶表示パネ
ル(LCD)やCRT等のディスプレイである。
【0014】波形取込部107はA/D変換器を内蔵
し、外部波形入力(例えば、マイクロフォンなどからの
入力)されたアナログ楽音信号をデジタルデータに変換
(サンプリング)してRAM103あるいはハードディ
スク109に該デジタル波形データをオリジナル波形デ
ータ(生成すべき波形データの素材となる波形データ)
として取り込むものである。CPU101によって実行
する「波形データベース作成」処理では、上記取り込ん
だオリジナル波形データを基にして本発明に従う「波形
データベース」の作成を行う。また、CPU101によ
って実行する「データベースに基づく楽音合成」処理で
は、上記「波形データベース」を使用して演奏情報に応
じた任意の楽音信号の波形データを生成する。勿論、複
数の楽音信号の同時発生が可能である。生成された楽音
信号の波形データはバスラインBLを介して波形出力部
108に与えられ、適宜バッファ記憶される。波形出力
部108ではバッファ記憶された波形データを所定の出
力サンプリング周波数にしたがって出力し、これをD/
A変換してサウンドシステム108Aに送出する。こう
して、波形出力部108から出力された楽音信号は、サ
ウンドシステム108Aを介して発音される。ハードデ
ィスク109は、波形データや奏法に応じた波形を合成
するためのデータ(後述する奏法テーブル、コードブッ
ク等のデータ)、各種音色パラメータ等からなる音色デ
ータなどのような演奏に関する複数種類のデータを記憶
したり、前記CPU101が実行する各種プログラム等
の制御に関するデータを記憶したりするものである。
【0015】ドライブ106は、波形データや奏法に応
じた波形を合成するためのデータ(後述する奏法テーブ
ル、コードブック等の各種データ)、多種多様な音色パ
ラメータ等からなる音色データなどのような演奏に関す
る複数種類のデータを記憶したり、前記CPU101が
実行する各種プログラム等の制御に関するデータを記憶
したりするための着脱可能なディスク(外部記憶メディ
ア106A)をドライブするものである。なお、前記ド
ライブ106によりドライブされる外部記憶メディア1
06Aはフロッピーディスク(FD)の他に、コンパク
トディスク(CD−ROM・CD−RAM)、光磁気デ
ィスク(MO)、あるいはDVD(Digital V
ersatile Diskの略)等の着脱自在な様々
な形態の記憶メディアであってよい。制御プログラムを
記憶した外部記憶メディア106Aをドライブ106に
セットし、その内容(制御プログラム)をハードディス
ク109に落とさずに、RAM103に直接ロードして
もよい。なお、外部記憶メディア106Aを用いて、あ
るいはネットワークを介して制御プログラムを提供する
やり方は、制御プログラムの追加やバージョンアップ等
を容易に行うことができるので好都合である。
【0016】通信インタフェース111は、例えばLA
Nやインターネット、電話回線等の通信ネットワーク
(図示せず)に接続されており、該通信ネットワークを
介して、サーバコンピュータ等(図示せず)と接続さ
れ、当該サーバコンピュータ等から制御プログラムや各
種データあるいは演奏情報などを波形生成装置側に取り
込むためのものである。すなわち、ROM102やハー
ドディスク109に制御プログラムや各種データが記憶
されていない場合に、サーバコンピュータから制御プロ
グラムや各種データをダウンロードするために用いられ
る。クライアントとなる波形生成装置は、通信インター
フェース111を介してサーバコンピュータへと制御プ
ログラムや各種データのダウンロードを要求するコマン
ドを送信する。サーバコンピュータは、このコマンドを
受け、要求された制御プログラムやデータなどを通信イ
ンタフェース111を介してハードディスク109に蓄
積することにより、ダウンロードが完了する。更に、M
IDIインタフェースを含み、MIDIの演奏情報を受
け取るようにしてもよいのは勿論である。また、音楽演
奏用キーボードや演奏操作機器をバスラインBLに接続
し、リアルタイム演奏によって演奏情報を供給するよう
にしてもよいのは言うまでもない。勿論、所望の音楽曲
の演奏情報を記憶した外部記憶メディア106Aを使用
して、演奏情報を供給するようにしてもよい。
【0017】図2は、上述した波形生成装置において実
行される「波形データベース作成処理」の一実施例を示
すフローチャートである。当該処理は、いろいろな奏法
(若しくはアーティキュレーション)に対応するため
に、いろいろな奏法(若しくはアーティキュレーショ
ン)で演奏された演奏音の波形を素材としてベクトルデ
ータを作成するための処理である。ステップS1では、
後述する奏法テーブル及びコードブックを記憶するため
のデータベースを準備する。このデータベースとなる媒
体としては、例えばハードディスク109を使用する。
そして、様々な自然楽器の様々な演奏態様による波形デ
ータを収集する(ステップS2)。すなわち、様々な自
然楽器の様々な実際の演奏音を外部波形入力(例えば、
マイクロフォン等)から波形取込部107を介して取り
込み、それらの演奏音の波形データ(オリジナル波形デ
ータ)をハードディスク109の所定のエリアに記憶す
る。この際に取り込む演奏音の波形データは演奏全体の
波形データであってもよいし、あるフレーズ、あるいは
1音、あるいはアタック部やリリース部といった特徴の
ある演奏の一部の波形データだけであってもよい。次
に、こうして得られた自然楽器固有の様々な演奏態様に
よる演奏音の波形データを特徴的な部分毎に切り分け
て、チューニング及びファイル名付けする(ステップS
3)。すなわち、取り込んだオリジナル波形データを波
形形状の変化を代表する一部の波形(例えば、アタック
部波形、ボディ部波形、リリース部波形、ジョイント部
波形等)毎に分離して(切り分け)、分離した1周期
乃至複数周期の波形データがそれぞれいかなるピッチで
あるかを判定し(チューニング)、さらにそれぞれ分
離した波形データに対してファイル名を付与する(フ
ァイル名付け)。ただし、アタック部分やリリース部分
といった演奏の一部の波形データを取り込んでいる場合
には、このような波形の分離(切り分け)を省略でき
る。次に、周波数分析による成分分離を行う(ステップ
S4)。すなわち、ステップS3で分離生成された一部
の波形データをFFT(高速フーリエ変換)分析して複
数成分に分離し(この実施例では、調和成分と調和外成
分に分離する)、さらに各成分(調和成分、調和外成分
等)から波形、ピッチ、振幅の各要素毎の特徴抽出、つ
まり特徴分離を行う(ただし、調和成分と調和外成分に
分離する場合、調和外成分はピッチを持たないものであ
ることから調和外成分についてのピッチ分離は行わなく
てよい)。例えば「波形」(Timbre)要素は、ピッチと
振幅をノーマライズした波形形状のみ特徴を抽出したも
のである。「ピッチ」(Pitch)要素は、基準ピッチに
対するピッチ変動特性を抽出したものである。「振幅」
(Amplitude)要素は、振幅エンベロープ特性を抽出し
たものである。
【0018】ステップS5では、ベクトルデータの作成
が行われる。すなわち、分離された各成分(調和成分、
調和外成分等)の波形(Timbre)やピッチ(Pitch)や
振幅(Amplitude)の各要素毎に複数のサンプル値を分
散的に又は必要に応じて連続的に抽出し、当該サンプル
値列に対して各々異なったベクトルID(識別情報)を
付与して、サンプル値の時刻位置のデータとともにコー
ドブックに記憶する(以下、このようなサンプルデータ
をベクトルデータと呼ぶ)。この実施例では、調和成分
の波形(Timbre)要素のベクトルデータ、ピッチ(Pitc
h)要素のベクトルデータ、振幅(Amplitude)要素のベ
クトルデータと、調和外成分の波形(Timbre)要素のベ
クトルデータ、振幅(Amplitude)要素のベクトルデー
タとがそれぞれ作成される。このように、これらの各成
分要素毎のベクトルデータは、時間軸の進行に伴い変化
しうるデータである。次に、奏法モジュールのデータ
(詳しい内容については後述する)を作成して奏法モジ
ュールを奏法テーブルに記憶する。こうして作成された
奏法モジュール及びベクトルデータは、データベースに
おける奏法テーブル及びコードブックへ書き込まれ(ス
テップS6)、データベースへのデータ蓄積がはかられ
る。上述したように、ベクトルデータは取り込んだオリ
ジナル波形データそのままではなく取り込んだオリジナ
ル波形の形状を代表する波形を各要素毎に分離したデー
タであって、このベクトルデータは各々が最終的には奏
法モジュールの単位となるデータである。このように、
コードブックには抽出した波形形状の変化を代表する一
部の波形データを圧縮した形で記憶する。一方、奏法テ
ーブルには、奏法モジュールのデータ(つまり、圧縮さ
れた形で記憶されたベクトルデータを元の波形形状の波
形データに戻すために必要な各種のデータや、コードブ
ックに記憶されたベクトルデータを指定するためのID
データ)などが記憶される(詳しくは後述する)。
【0019】上述した特徴分離(ステップS4参照)の
際に、振幅、ピッチ、波形要素の他に時間を要素として
特徴抽出を行う(以下、抽出された時間要素のベクトル
データのことを「タイムベクトルデータ」と呼ぶ)。こ
の時間要素については、分離生成された一部の波形デー
タの時間区間におけるオリジナル波形データの時間長を
そのまま用いる。従って、当該時間区間のオリジナルの
時間長(可変値である)を比「1」で示すこととすれ
ば、当該「波形データベース作成処理」時においてこの
時間長をあえて分析・測定する必要はない。その場合、
時間要素についてのデータ(すなわち、「タイムベクト
ルデータ」)はどの時間区間でも同じ値“1”であるか
ら、これをコードブックにあえて記憶しておかなくても
よい。勿論、これに限らず、この実際の時間長を分析・
測定し、これを「タイムベクトルデータ」としてコード
ブックに記憶するようにする変形例も実施可能である。
【0020】そして、データベース作成が充分に行われ
たか否かを判定する(ステップS7)。すなわち、外部
波形入力から得られた様々な自然楽器の様々な演奏態様
による演奏音のオリジナル波形データの収集を充分に行
って、様々な奏法モジュールのデータ及びベクトルデー
タを充分に得たか否かを判定する。この判定は自動判定
に限らず、ユーザによるスイッチ入力操作に基づく処理
続行可否指示に従って行うようにしてもよい。オリジナ
ル波形データの収集とそれに基づくベクトルデータの作
成が充分に行われたと判定されたならば(ステップS7
のYES)、当該処理を終了する。引き続き、オリジナ
ル波形データの収集とそれに基づくベクトルデータの作
成を行う場合(ステップS7のNO)、ステップS2の
処理へ戻り、上述した各処理(ステップS2〜ステップ
S7)を繰り返し実行する。上記「ベクトルデータの作
成が充分に行われたか否か」の判定(ステップS7)
は、「作成したベクトルデータを実際に使用して楽音を
生成してみる」ことにより行われてもよい。すなわち、
ステップS7で一旦「ベクトルデータを充分作成した」
(ステップS7のYES)と判断して図2に示すフロー
を抜けた後に、「その作成したベクトルデータを使用し
て楽音を再生してみたら満足できなかったので、再びス
テップS2以降の処理を行ってベクトルデータを追加す
る」というような処理を行ってもよい。つまり、「ベク
トルデータを作成してデータベースに追加する」という
処理は、必要に応じて随時行われる。なお、上述の「波
形データベース作成処理」において、奏法モジュールを
任意に追加・削除したり、あるいは奏法モジュールのデ
ータ等の編集を行うことができるようにしてもよい。
【0021】ここで、奏法モジュールのデータについて
具体的に説明する。奏法モジュールはハードディスク1
09上にデータベース化されて構成される奏法テーブル
に記憶され、1つの奏法モジュールは「奏法ID」と
「奏法パラメータ」の組み合わせによって指定すること
ができるようになっている。「奏法ID」は、その中に
楽器情報及びモジュールパーツ名を含む。例えば、「奏
法ID」は次のように定義される。例えば、1つの「奏
法ID」が32ビット(第0〜31ビット)列で表現さ
れているとすると、そのうちの6ビットを使用して楽器
情報を表現する。例えば、当該6ビット列が「0000
00」であればAltoSax(アルト・サックス)を示し、
「001000」であればViolin(バイオリン)を示す
楽器情報である。この楽器情報は前記6ビット列のうち
上位3ビット列を楽器種類の大分類に使用し、下位3ビ
ット列を楽器種類の小分類のために使用するなどしてよ
い。また、32ビット列の別の6ビットを使用してモジ
ュールパーツ名を表現する。例えば、当該6ビット列が
「000000」であればNormalAttack、「00000
1」であればBendAttack、「000010」であればGr
aceNoteAttack、「001000」であればNormalShort
Body、「001001」であればVibBody、「0010
10」であればNormalLongBody、「010000」であ
ればNormalRelease、「011000」であればNormalJ
oint、「011001」であればGraceNoteJointを示す
モジュールパーツ名である。勿論、上述した構成に限ら
れないことは言うまでもない。
【0022】上述したように、個々の奏法モジュール
は、上記「奏法ID」と「奏法パラメータ」との組み合
わせで特定される。すなわち、「奏法ID」に応じて所
定の奏法モジュールが特定され、その内容が「奏法パラ
メータ」に応じて可変設定される。この「奏法パラメー
タ」は該奏法モジュールに対応する波形データを特徴付
ける、若しくは制御するパラメータであり、各奏法モジ
ュール毎に所定の種類の「奏法パラメータ」が存在して
いる。例えば、AltoSax [NormalAttack]モジュールの場
合にはAttack直後の絶対音高やAttack直後の音量などの
種類の奏法パラメータが与えられてよいし、AltoSax [B
endUpAttack]モジュールの場合にはBendUpAttack終了時
の絶対音高、BendUpAttack時のBend深さの初期値、Bend
UpAttack開始(ノートオンタイミング)〜終了までの時
間、Attack直後の音量、あるいはBendUpAttack中のデフ
ォルトのカーブの時間的な伸縮などの種類の奏法パラメ
ータが与えられてよい。また、AltoSax [NormalShortBo
dy]モジュールの場合には当該モジュールの絶対音高、N
ormalShortBodyの終了時刻−開始時刻、NormalShortBod
y開始時のダイナミクス、NormalShortBody終了時のダイ
ナミクスなどの種類の奏法パラメータが与えられてよ
い。なお、奏法モジュールには、「奏法パラメータ」の
採りうる全ての値に対応するデータ(後述する要素デー
タ)を必ずしも有しない。「奏法パラメータ」の飛び飛
びの一部の値だけに応じたデータを記憶している場合も
ある。すなわち、例えばAltoSax [NormalAttack]モジュ
ールの場合、Attack直後の絶対音高やAttack直後の音量
の全ての値ではなく、一部のデータだけに対応したデー
タを記憶していてもよい。このように、奏法モジュール
を「奏法ID」と「奏法パラメータ」で指定できるよう
にすることで、例えばAltoSax [NormalAttack]であれば
アルトサックスのノーマルアタック部を示す複数データ
(後述する要素データ)の中から所望の奏法パラメータ
に応じたデータを指定することができるし、Violin[Ben
dAttack]であればバイオリンのベンドアタック部を示す
複数データ(後述する要素データ)の中から所望の奏法
パラメータに応じたデータを指定することができる。
【0023】奏法テーブルにおいては、個々の奏法モジ
ュールにつき、当該奏法モジュールに対応する波形を生
成するために必要なデータ、例えば各成分要素毎のベク
トルデータ(波形要素、ピッチ要素(ピッチエンベロー
プ)、振幅要素(振幅エンベロープ)等)を指定するた
めのベクトルIDや代表点値列(複数サンプル列の中の
補正のための代表的サンプル点を指示するデータ)ある
いは各成分要素毎のベクトルデータ(波形要素、ピッチ
要素(ピッチエンベロープ)、振幅要素(振幅エンベロ
ープ))の開始時間位置や終了時間位置などの情報等を
記憶している。つまり、ベクトルデータという圧縮され
た形でデータベースに記憶されている波形から通常形状
の波形を再生するために必要な各種のデータを記憶して
いる(以下、このようなデータを「要素データ」とも呼
ぶ)。奏法テーブルにおいて、1つの奏法モジュールに
対応して記憶する具体的なデータの一例をAltoSax [Nor
malAttack]モジュールの場合について説明すると、次の
通りである。 データ1:奏法モジュールのサンプル長。 データ2:ノートオンタイミングの位置。 データ3:調和成分の振幅(Amplitude)要素のベクト
ルIDと代表点値列。 データ4:調和成分のピッチ(Pitch)要素のベクトル
IDと代表点値列。 データ5:調和成分の波形(Timbre)要素のベクトルI
D。 データ6:調和外成分の振幅(Amplitude)要素のベク
トルIDと代表点値列。 データ7:調和外成分の波形(Timbre)要素のベクトル
ID。 データ8:調和成分の波形(Timbre)要素の塊部の開始
位置。 データ9:調和成分の波形(Timbre)要素の塊部の終了
位置(調和成分の波形(Timbre)要素のループ部の開始
位置)。 データ10:調和外成分の波形(Timbre)要素の塊部の
開始位置。 データ11:調和外成分の波形(Timbre)要素の塊部の
終了位置(調和外成分の波形(Timbre)要素のループ部
の開始位置)。 データ12:調和外成分の波形(Timbre)要素のループ
部の終了位置。
【0024】上記データ1〜12について、図3を参照
して説明する。図3は、当該奏法モジュールに対応する
実波形区間を構成する各成分及び要素の一例を模式的に
示す図であり、上から当該区間における調和成分の振幅
(Amplitude)要素、調和成分のピッチ(Pitch)要素、
調和成分の波形(Timbre)要素、調和外成分の振幅(Am
plitude)要素、調和外成分の波形(Timbre)要素の一
例を示す。なお、図に示している数字は上記各データの
番号に対応するように付してある。1は、当該奏法モジ
ュールに該当する波形のサンプル長(波形区間長)であ
る。例えば、当該奏法モジュールの基となったオリジナ
ル波形データの全体の時間長さに対応している。2はノ
ートオンタイミングの位置であり、当該奏法モジュール
のどの時間位置にも可変に設定することが可能である。
原則的には、このノートオンタイミングの位置から当該
波形に従った演奏音の発音が開始されるが、ベンドアタ
ックなどの奏法によってはノートオンタイミングよりも
波形成分の立ち上がり開始時点が先行する場合がある。
3は、コードブックに記憶された調和成分の振幅(Ampl
itude)要素のベクトルデータを指し示すためのベクト
ルID及び代表点値列を示す(図において、黒く塗りつ
ぶした正方形で示す2点が代表点を示す)。4は、調和
成分のピッチ(Pitch)要素のベクトルデータを指し示
すためのベクトルID及び代表点値列を示す。6は、調
和外成分の振幅(Amplitude)要素のベクトルデータを
指し示すためのベクトルID及び代表点値列を示す。代
表点値列データはベクトルIDによって指示されるベク
トルデータ(複数サンプル列からなる)を変更制御する
ためのデータであり、代表的サンプル点のいくつかを指
示(特定)するものである。特定された代表的サンプル
点に関してその時間位置(横軸)とレベル軸(縦軸)を
変更若しくは補正することにより、他の残りのサンプル
点も連動して変更し、もってベクトルの形状を変更す
る。例えば、そのサンプル数より少ない数の分散的サン
プルを示すデータであるが、勿論これに限らず、代表点
値列データはサンプルとサンプルの間の中間位置のデー
タであってもよいし、あるいは所定の範囲(連続的な複
数サンプル)にわたるデータであってもよい。また、サ
ンプル値そのものでなく、差分や乗数等のデータであっ
てもよい。この代表点を横軸及び/又は縦軸(時間軸)
に移動することによって、各ベクトルデータの形状を変
えることができる。つまり、エンベロープ波形の形状を
変えることができる。5は、調和成分の波形(Timbre)
要素のベクトルデータを指し示すためのベクトルIDで
ある。7は、調和外成分の波形(Timbre)要素のベクト
ルデータを指し示すためのベクトルIDである。8は、
調和成分の波形(Timbre)要素の波形の塊部の開始位置
である。9は、調和成分の波形(Timbre)要素の波形の
塊部の終了位置(あるいは、調和成分の波形(Timbre)
要素の波形のループ部の開始位置)である。すなわち、
8から開始する三角形は特徴のある波形形状が連続的に
記憶されているノンループ波形の部分を示し、その後に
続く9から開始する長方形は繰り返し読み出しすること
のできるループ波形の部分を示す。ノンループ波形は、
奏法(若しくはアーティキュレーション)等の特徴を有
する高品質な波形である。ループ波形は、1周期または
適当な複数周期分の波形からなる比較的単調な音部分の
単位波形である。10は、調和外成分の波形(Timbre)
要素の波形の塊部の開始位置である。11は、調和外成
分の波形(Timbre)要素の波形の塊部の終了位置(ある
いは、調和外成分の波形(Timbre)要素の波形のループ
部の開始位置)である。12は、調和外成分の波形(Ti
mbre)要素の波形のループ部の終了位置である。上記デ
ータ3〜データ7は各成分要素毎にコードブックに記憶
されているベクトルデータを指し示すための識別情報の
データであり、上記データ2及びデータ8〜データ12
はベクトルデータから元の(分離前の)波形を組み立て
るための時間情報のデータである。このように、奏法モ
ジュールのデータはベクトルデータを指し示すためのデ
ータと時間情報のデータとから構成される。このような
奏法テーブルに記憶されている奏法モジュールのデータ
を使用することにより、コードブックに記憶されている
波形の素材(ベクトルデータ)を使って、波形を自由に
組み立てることができることになる。つまり、奏法モジ
ュールは、奏法(若しくはアーティキュレーション)に
応じて生成する波形の挙動を表すデータである。なお、
奏法モジュールのデータの種類や数は各奏法モジュール
毎に異なっていてよい。また、上述したデータ以外にも
他の情報等を具えていてよい。例えば、波形の時間軸を
伸長/圧縮制御するためのデータなどを持っていてもよ
い。
【0025】また、上述の例では説明を理解しやすくす
るために、1つの奏法モジュールが調和成分の各要素
(波形、ピッチ、振幅)及び調和外成分の各要素(波
形、振幅)の全てを具備している例について説明した
が、これに限らず、奏法モジュールが調和成分の各要素
(波形、ピッチ、振幅)や調和外成分の各要素(波形、
振幅)の1つからなっていてもよいのは勿論である。例
えば、奏法モジュールが調和成分の波形(Timbre)要
素、調和成分のピッチ(Pitch)要素、調和成分の振幅
(Amplitude)要素、調和外成分の波形(Timbre)要
素、調和外成分の振幅(Amplitude)要素のいずれか1
つの要素からなっていてもよい。こうすると、各成分毎
に奏法モジュールを自由に組み合わせて使用することが
できることになり好ましい。
【0026】このように、様々な自然楽器の様々な演奏
態様による演奏音の波形データを全波形データで持つの
ではなく、波形形状の変化に必要な一部の波形(例え
ば、アタック部波形、ボディ部波形、リリース部波形、
ジョイント部波形等)のみを抽出し、さらに成分、要
素、代表点といった階層的な圧縮手法を用いて、データ
圧縮された形で波形データをハードディスク109に記
憶することから、波形データを記憶するために必要なハ
ードディスク109の記憶容量を削減することができる
ようになっている。
【0027】図1に示す波形生成装置において、波形の
合成はコンピュータがこの発明に係る波形合成処理を実
現する所定のプログラム(ソフトウエア)を実行するこ
とにより実施される。図4Aは、前記波形合成処理を実
現する所定のプログラム(「データベースに基づく楽音
合成処理」)のフローチャートの一実施例を示したもの
である。また、この種のプログラムの形態に限らず、波
形合成処理を専用ハードウエア装置の形態で実施するよ
うにしてもよい。図4Bは、図4Aと同様の波形合成処
理を専用ハードウエア装置の形態で構成した場合の一実
施例を示すブロック図である。主に、図4Bに従って説
明し、図4Aについては対応するステップを括弧書きし
て示す。曲データ再生部101Aは、奏法記号付き曲デ
ータの再生処理を行う(ステップS11)。最初に、曲
データ再生部101Aは奏法記号付き曲データ(演奏情
報)を受信する。通常の楽譜には、そのままではMID
Iデータとならないような強弱記号(クレッシェンドや
デクレッシェンド等)、テンポ記号(アレグロやリタル
ダンド等)、スラー記号、テヌート記号、アクセント記
号等の音楽記号が付されている。そこで、これらの記号
を「奏法記号」としてデータ化して、この「奏法記号」
を含むMIDI曲データが「奏法記号付き曲データ」で
ある。「奏法記号」は、チャートIDとチャートパラメ
ータとから構成する。チャートIDは楽譜に記載される
音楽記号を示すIDであり、チャートパラメータはチャ
ートIDで示される音楽記号の内容の程度を示すパラメ
ータである。例えば、チャートIDが“ビブラート”を
示す場合にはビブラートの速さや深さ等がチャートパラ
メータとして付与され、チャートIDが“クレッシェン
ド”を示す場合にはクレッシェンドのスタート時の音
量、クレシェンドのエンド時の音量、音量変化する時間
長等がチャートパラメータとして付与される。
【0028】楽譜解釈部(プレーヤー)101Bでは、
楽譜解釈処理を行う(ステップS12)。具体的には、
曲データに含まれるMIDIデータと上述した「奏法記
号」(チャートIDとチャートパラメータ)を奏法指定
情報(奏法IDと奏法パラメータ)に変換し、時刻情報
とともに奏法合成部(アーティキュレーター)101C
に出力する。一般的に、同じ音楽記号でも演奏家により
記号の解釈が異なって、演奏家毎に異なった演奏方法
(すなわち、奏法若しくはアーティキュレーション)で
演奏が行われることがある。あるいは、音符の並び方等
によっても、演奏家毎に異なった演奏方法で演奏が行わ
れることもある。そこで、そのような楽譜上の記号(音
楽記号や音符の並び方等)を解釈する知識をエキスパー
トシステム化したものが楽譜解釈部101Bである。楽
譜解釈部101Bにおける楽譜上の記号を解釈する際の
基準の一例としては、以下のようなものがある。例え
ば、ビブラートは8分音符以上でないとかけられない。
スタッカートでは自然にダイナミクスが大きくなる。テ
ヌート度で音符の減衰率が決まる。レガートは1音中で
減衰しない。8分音符ビブラートのスピードは音価でほ
ぼ決まる。音高によってダイナミクスは異なる。更に
は、1フレーズ内の音高の上昇又は下降によるダイナミ
クスの変化、減衰ダイナミクスはdbリニア、テヌート
やスタッカート等に応じた音符の長さの変化、アタック
部のベンドアップの記号に応じたベンドアップの幅とカ
ーブ、といったような各種の解釈基準がある。楽譜解釈
部101Bはこのような基準に従って解釈を楽譜に対し
て行うことにより、楽譜を音に変換する。更に、楽譜解
釈部101Bは、ユーザからのプレーヤー指定、すなわ
ちユーザにより誰の演奏か(奏法か)の指定に応じて上
述の楽譜解釈処理を行う。楽譜解釈部101Bは、この
プレーヤー指定に応じて楽譜の解釈方法を異ならせて楽
譜を解釈する。例えば、この複数プレーヤーに対応した
異なる楽譜解釈方法はデータベースに蓄積されており、
楽譜解釈部101Bはユーザからのプレーヤー指定に応
じて選択的に楽譜解釈方法を異ならせて楽譜の解釈を行
う。
【0029】なお、楽譜の解釈結果を示すデータを予め
含むように曲データ(演奏情報)を構成してもよい。そ
のような予め楽譜を解釈した結果のデータを含む曲デー
タを入力した場合には、上述した処理を行う必要がない
ことは言うまでもない。また、楽譜解釈部101B(ス
テップS12)における楽譜の解釈処理は全自動で行う
ようにしてもよいし、ユーザによる人為的入力操作を適
宜介在させて行うようにしてもよい。
【0030】奏法合成部(アーティキュレーター)10
1Cは楽譜解釈部(プレーヤー)101Bにより変換さ
れた奏法指定(奏法ID+奏法パラメータ)に基づいて
奏法テーブルを参照して、奏法指定(奏法ID+奏法パ
ラメータ)に応じたパケットストリーム(あるいはベク
トルストリームとも呼ぶ)及び奏法パラメータに応じた
該ストリームに関するベクトルパラメータを生成し、波
形合成部101Dに供給する(ステップS13)。パケ
ットストリームとして波形合成部101Dに供給される
データは、ピッチ(Pitch)要素及び振幅(Amplitude)
要素に関してはパケットの時刻情報、ベクトルID、代
表点値列などであり、波形(Timbre)要素に関してはベ
クトルID、時刻情報などである(詳しくは後述す
る)。次に、波形合成部101Dはパケットストリーム
に応じてコードブックからベクトルデータを取り出し、
該ベクトルデータをベクトルパラメータに応じて変形
し、変形したベクトルデータに基づいて波形を合成する
(ステップS14)。それから、他パートの波形生成処
理を行う(ステップS15)。ここで、他パートとは、
複数の演奏パートのうち奏法合成処理を行わない、通常
の楽音波形合成処理が適用される演奏パートである。例
えば、これらの他のパートは通常の波形メモリ音源方式
で楽音生成を行う。この「他パートの波形生成処理」
は、専用のハードウエア音源(外部の音源ユニットやコ
ンピュータに装着可能な音源カード)に行わせてもよ
い。説明を簡略化するために、この実施例では奏法(若
しくはアーティキュレーション)に応じた楽音生成を行
うのは1パートのみの場合とする。勿論、複数パートで
奏法再生してもよい。
【0031】図5は、上述した奏法合成部101Cにお
ける奏法合成処理の流れを説明するためのブロック図で
ある。ただし、図5では奏法モジュールとコードブック
が別々に記憶されているように図示したが、実際には両
方ともハードディスク109のデータベース内に記憶さ
れている。奏法合成部101Cは、楽譜解釈部101B
からの奏法指定(奏法ID+奏法パラメータ)と時刻情
報のデータに基づいて、波形合成部101Dに供給する
各種パケットストリームを作成する。奏法合成部101
Cで各音色毎に使用している奏法モジュールは固定的で
はなく、ユーザが新たに奏法モジュールを使用中の奏法
モジュールに追加したり、使用している奏法モジュール
の一部の奏法モジュールの使用を中止したりすることが
できる。また、奏法合成部101Cでは、選択された要
素データと奏法パラメータの値との間のズレ分を補正す
るための補正情報を作成する処理や、前後の奏法モジュ
ールの波形特性を滑らかに接続する接続部の平滑化など
の処理も行う(詳しくは後述する)。なお、標準的には
楽譜解釈部101Bから奏法合成部101Cに対してデ
ータが与えられるがそれに限らず、前述のとおり、楽譜
解釈部101Bにより既に解釈の終わっている奏法指定
付き曲データ乃至人間が楽譜の解釈をして奏法IDや奏
法パラメータを付与した奏法指定付き曲データを用意し
て、それを再生したデータを奏法合成部101Cに供給
するようにしてもよい。
【0032】図6は、奏法合成処理の一実施例を詳細に
示したフローチャートである。奏法合成部101Cは、
奏法ID及び奏法パラメータに応じて奏法テーブルから
奏法モジュールの選択を行う(ステップS21)。すな
わち、楽譜解釈部101Bから送信された奏法ID(楽
器情報+モジュールパーツ名)と奏法パラメータに応じ
て1つの奏法モジュールを選択する。この際に、楽譜解
釈部101Bは楽譜を解釈する前に楽器情報の示す音色
に対応してどのようなモジュールパーツが奏法テーブル
に存在するかを予めデータベースをチェックして確認
し、存在しているパーツの範囲で奏法IDを指定する。
なお、存在しないパーツが指定された場合には、その代
わりに類似の特性を有する奏法IDが選択されるように
してもよい。次に、該指定された奏法IDと奏法パラメ
ータに応じて複数の要素データを選択する(ステップS
22)。すなわち、指定された奏法IDと奏法パラメー
タとにより奏法テーブルを参照することにより、奏法モ
ジュールを特定し、該モジュールから該奏法パラメータ
に対応した複数の要素データを選択する。この際に、奏
法モジュール中に奏法パラメータに完全一致する要素デ
ータが存在しない場合には、その値に近い奏法パラメー
タに対応した要素データが選択される。
【0033】次に、時刻情報に応じて要素データ中の各
位置の時刻を算出する(ステップS23)。すなわち、
各要素データを、時刻情報に基づいて絶対的な時間位置
に配置する。具体的には、時刻情報に基づいて、各相対
的な時間位置を示す要素データから対応する絶対時間を
算出する。こうして、各要素データのタイミングを決定
する(図3参照)。そして、奏法パラメータに応じて各
要素データの値を補正する(ステップS24)。すなわ
ち、選択された要素データと奏法パラメータの値との間
のずれ分を補正する。例えば、楽譜解釈部101Bから
送信されたAltoSax [NormalAttack]モジュールのAttack
直後の音量(奏法パラメータ)が「95」であり、奏法
テーブルに存在するAltoSax [NormalAttack]モジュール
のAttack直後の音量が「100」である場合、奏法合成
部101CはAttack直後の音量が「100」であるAlto
Sax [NormalAttack]モジュールの要素データを選択す
る。しかし、このままではAttack直後の音量が「10
0」のままであることから、選択された要素データの代
表点に対して補正を行うことによってAttack直後の音量
を「95」に補正する。このように、選択された要素デ
ータの値を送信された奏法パラメータの値に近づけるよ
うにして補正を行う。また、設定されているマイクロチ
ューニング(楽器の調律)の値に応じた補正や楽器の音
量変化特性に応じた音量の補正等も行う。これらの補正
は各要素データの代表点値を変化することにより行わ
れ、代表点値を大きく変化することもある。すなわち、
補正を行うのに必要十分なデータが代表点であり、この
代表点をコントロールすることによって各種の補正を行
う。なお、上記ステップS23では、上記奏法パラメー
タのような補正情報によって、上記時刻情報が示す時間
位置を補正するようにしてもよい。例えば、演奏データ
に基づいて得られる時間位置と上記時刻情報が示す時間
位置とが一致しない場合に、演奏データに基づいて得ら
れる時間位置に近い時間位置を示す時刻情報を選択し
て、そこで取得した時刻位置情報を演奏データに応じて
補正することで、演奏データの意図する時刻位置情報を
得ることができる。また、演奏データがタッチやベロシ
ティのような可変制御ファクタを含む場合は、その可変
制御ファクタに応じて時刻位置情報を補正することで、
演奏データに応じた時刻位置情報の可変制御を行うこと
ができる。補正情報は、このような時刻位置補正を行う
ための情報を含む。
【0034】更に、各要素データを調整して隣り合う奏
法モジュールの接続部を平滑化するためにリンク処理を
行う(ステップS25)。すなわち、前後の奏法モジュ
ールにおける接続部の代表点を互いに接近させて接続す
ることによって、前後の奏法モジュールの波形特性が滑
らかになるようにする。このような接続若しくはリンク
処理は、調和成分の波形(Timbre)、振幅(Amplitud
e)、ピッチ(Pitch)等の各要素毎に、あるいは調和外
成分の波形(Timbre)、振幅(Amplitude)の各要素毎
に、別々に行われる。この際、前の奏法モジュールの
「リンク開始点」から、後の奏法モジュールの「リンク
終了点」までの範囲で調整を行う。すなわち、「リンク
開始点」から「リンク終了点」の範囲内にある代表点を
「歩みより率」に基づいて調整する。この「歩みより
率」は、前の奏法モジュールと後の奏法モジュールから
それぞれどれだけ歩み寄ったところで接続するかを制御
するためのパラメータであり、後述するように前後の奏
法モジュールの組み合わせに従って決定される。また、
前後の奏法モジュールを接続した際に、波形の接続がう
まく行かない場合には、前後いずれかの奏法モジュール
でその波形特性のベクトルIDを間引くことにより接続
を滑らかにする。この間引きを実現するために、「奏法
モジュール組み合わせテーブル」と、これから参照され
る「間引き実行パラメータ範囲テーブル」と、さらにこ
れから参照される「間引き時間テーブル」を用意する。
この他にも、以下のような楽譜解釈部101Bにおける
リンク処理により波形特性を滑らかに接続することがで
きる。例えば、奏法モジュールとは関係なく、奏法パラ
メータ(ダイナミクス値、ピッチパラメータ値等)の不
連続部分を滑らかに接続する。あるいは、ビブラートか
らリリースへと移行する場合にビブラートを早めに減少
させることにより、滑らかに接続する。
【0035】ここで、上述のリンク処理について詳しく
説明する。すなわち、前後の奏法モジュールの接続部を
平滑化する(ステップS25参照)ための各要素データ
の調整について簡単に説明する。まず、図7を用いて奏
法モジュールが振幅(Amplitude)要素又はピッチ(Pit
ch)要素と対応する場合のリンク処理について説明す
る。前の奏法モジュールと後の奏法モジュールとの接続
部における代表点の値の不連続により両者間の接続点に
段差が生じている場合、まずダイナミクス接続点(Ampl
itudeの場合)あるいはピッチ接続点(Pitchの場合)の
目標値を、前後どちらの奏法モジュール側の値により近
づけるかという指標の「歩みより率」を決定する。本実
施例では「歩みより率」が図示のようなテーブルによっ
て与えられるとする。例えば前の奏法モジュールのベク
トルIDが「3」であり、後の奏法モジュールのベクト
ルIDが「7」である場合の「歩みより率」はテーブル
から「30」と決定される。こうして決定された「歩み
より率」により前の奏法モジュールの「リンク開始点」
から「奏法モジュールの終了点」まで、徐々に目標値に
向けてエンベロープ形状を変形する。また、後の奏法モ
ジュールの「リンク終了点」から「奏法モジュール開始
点」まで、徐々に目標値に向けてエンベロープ形状を変
形する。例えば「歩みより率」が「30」と決定された
場合、前の奏法モジュールに対する目標値は「30」で
あり、前の奏法モジュールは後の奏法モジュール側に
「30」%歩みよりを行う(本実施例では、前の奏法モ
ジュールにおける最後の代表点が下方に「30」%歩み
よりする)。一方、後の奏法モジュールは前の奏法モジ
ュール側に「70」(100−30)%歩みよりを行う
(本実施例では、後の奏法モジュールにおける最初の代
表点が上方に「70」%歩みよりする)。また、リンク
開始点からリンク終了点までに存在する前後の奏法モジ
ュールの複数代表点が上記歩みよりに伴って各々上下に
歩みよりを行う。このように、歩みよりは前後する奏法
モジュールの複数の代表点で行われる。なお、リンク開
始点とリンク終了点は適宜定めてよいが、リンク開始点
やリンク終了点を所望の代表点と同一の点に設定する
と、図に示したようなリンク開始点やリンク終了点にお
けるエンベロープ形状の折れ曲がりがなくなるので望ま
しい。勿論、リンク開始点やリンク終了点を所望の代表
点と同一の点に設定していない場合でも、エンベロープ
形状に折れ曲がりが生じないように歩みよりを行うよう
にしてよいことは言うまでもない。
【0036】なお、「歩みより率」の決定は上述した例
に限られるものではない。例えば、接続点の前後で指定
された奏法パラメータに基づいて決定してもよい。また
は、奏法IDや奏法パラメータになる前の演奏データに
基づいて決定してもよい。あるいは、それらのデータの
組み合わせに基づいて決定してもよい。また、上述の例
では「歩みより率」により歩みよりする代表点は1つで
あり、その他の代表点はその歩みよりに伴って適量だけ
歩みよりするようにしたが、複数の代表点各々について
別々に「歩みより率」を決定し、それに従って複数の代
表点を各々「歩みより率」分だけ歩みよりするようにし
てもよい。
【0037】次に、奏法モジュールが波形(Timbre)要
素である場合のリンク処理について説明する。図8A〜
図8Dは、奏法モジュールが波形(Timbre)要素である
場合のリンク処理を説明するための概念図である。図8
Aはアタック部波形とボディ部波形とを接続した場合の
波形の間引きを説明するための概念図であり、図8Bは
ボディ部波形とリリース部波形とを接続した場合におけ
る波形の間引きを説明するための概念図である。図8A
では、ボディ部波形は5つのループ波形L1〜L5から
なり、各々所定の時間範囲でループ再生されるものとす
る。同様に、図8Bのボディ部波形は6つのループ波形
L1´〜L6´からなるものとする。波形に関する要素
データの調整(つまり、波形のリンク処理)の方法には
種々あるが、その一例として、例えばアタック部あるい
はジョイント部の奏法モジュールとボディ部の奏法モジ
ュールとの接続(あるいは、ボディ部の奏法モジュール
とリリース部あるいはジョイント部の奏法モジュールと
の接続)において、波形の部分的間引きにより滑らかに
接続する方法を提案する。波形と波形とを接続する際
に、クロスフェード合成することはよく知られている。
しかし、図8Aの例の場合のように、接続時点から最初
のループ波形L1の開始位置までの時間tが短い場合、
短い時間t内で急なクロスフェード合成をしなければな
らなくなる。そのような急なクロスフェード波形合成、
つまり接続する波形と波形との間の時間が非常に接近し
ている場合に当該波形間でクロスフェード波形合成を行
うと、それに伴って大きなノイズを発生する波形を生ず
ることになり、好ましくない。そこで、波形の一部を間
引き(削除)して接続する波形と波形との時間間隔を広
げることにより、急なクロスフェード波形合成を行わな
いようにする。この場合に、アタック部やリリース部あ
るいはジョイント部における波形は1つの塊であって、
波形を間引くことができないので、この場合はボディ部
側のループ波形の間引きを行う。図8A及び図8Bで
は、黒く塗りつぶした長方形で示したループ波形L1、
L6´を間引きする。例えば、図8Aでは接続時点から
の時間差が比較的長い2番目のループ波形L2とアタッ
ク部波形の末尾波形とをクロスフェード合成し、最初の
ループ波形L1は使用しない。同様に、図8Bではルー
プ波形L5´とリリース部波形との間でクロスフェード
合成を行い、波形L6´は使用しない。なお、ジョイン
ト部とは音と音の間(又は音部分と音部分の間)を任意
の奏法でつなぐ波形区間のことである。
【0038】また、アタック部の奏法モジュールとリリ
ース部あるいはジョイント部の奏法モジュールとの接続
を波形間引きにより滑らかにする。図8C及び図8D
は、アタック部波形とリリース部波形とを接続する場合
における波形の間引きを説明するための概念図である。
この場合には、アタック部あるいはリリース部等の奏法
モジュールが波形間引きできる場合とできない場合とが
ある。アタック部の奏法モジュールが波形間引きできる
例としてはベンドアタック部(後半にいくつかのループ
波形を持つ)がある。また、前半にいくつかのループ波
形を持つリリース部の場合も波形間引きが行える。この
ように、波形間引きできる側の奏法モジュールを波形間
引きする。例えば、ベンドアタック部とリリース部とを
接続する場合には、図8Cに示すようにベンドアタック
部側のループ波形を間引きする(図8Cでは、ベンドア
タック部側の黒く塗りつぶした長方形で示したループ波
形を1つ間引きする)。また、ノーマルアタック部とル
ープ波形を有するリリース部とを接続する場合には図8
Dに示すようにリリース部側のループ波形を間引きする
(図8Dでは、リリース部側の黒く塗りつぶした長方形
で示したループ波形を1つ間引きする)。なお、間引く
対象とするループ波形は奏法モジュールと奏法モジュー
ルとの接続部に最も近いループ波形(先頭あるいは最後
に位置するループ波形)とすることに限らず、複数ルー
プ波形から所定の優先順位に従って間引く対象とするル
ープ波形を特定するようにしてもよい。
【0039】このように、ある奏法モジュールの組み合
わせにおいて、ある奏法パラメータの範囲で接続がうま
く行かない場合に波形を間引くが、これを実現するため
に、例えば「奏法モジュール組み合わせテーブル」と、
これから参照される「間引き実行パラメータ範囲テーブ
ル」と、更にこれから参照される「間引き時間テーブ
ル」を用意する。「奏法モジュール組み合わせテーブ
ル」は、接続する前後の奏法モジュールの組み合わせに
より所定のパラメータを決定するためのテーブルであ
る。「間引き実行パラメータ範囲テーブル」は、上記パ
ラメータ毎に間引きを行う時間の範囲を決定するための
テーブルである。「間引き時間テーブル」は、間引き時
間を決定するためのテーブルである。接続時点と最初の
(又は最後の)ループ波形L1(又はL6´)との時間
差(図8A〜図8Dに示す時間t)が基準の間引き時間
より短い場合に、該ループ波形を間引く。
【0040】さらに、奏法モジュールのサンプル長が短
く、当該奏法モジュールの後に続く奏法モジュールが開
始されるよりも前に終了してしまう場合の波形接続につ
いて図9を用いて説明する。ただし、図9では、図の左
側から右側に時系列にA.Sax[BendUpAttack]、A.Sax[Nor
malShortBody]、A.Sax[VibratoBody]、A.Sax[NormalRel
ease]の4つの奏法モジュールで波形(Timbre)要素の
パケットストリームを形成している場合について説明す
る。各奏法モジュールのサンプル長(区間長)は、“le
ngth”で示す長さで表せられる。図9において、最上段
に記載されている「ノートオン」と「ノートオフ」は、
MIDIデータのイベントタイミングである。また、中
段に記載されているA.Sax[BendUpAttack]等はそれぞれ
奏法IDの発生タイミングであり、note、dynamics、de
pth等はそれぞれ奏法パラメータの発生タイミングを示
す。A.Sax [BendUpAttack]モジュールは、時刻t0から
開始される。また、時刻t1は当該モジュール内のノー
トオンのタイミングであり、指示されたノートオンタイ
ミングにあわせる。また、当該モジュールのパケットス
トリームの内容は、上記note、dynamics、depth等の奏
法パラメータに基づいて制御される。A.Sax[NormalShor
tBody]モジュールは、アタックモジュール直後の時刻t
2から開始される。時刻t3は、接続部において、その
途中からビブラート奏法がスタートしているタイミング
である。このタイミングは、例えば、曲データに付与さ
れたビブラート記号の開始タイミングに基づいて決定さ
れる。時刻t5は、A.Sax[NormalRelease] モジュール
内のノートオフタイミングであり、指示されたノートオ
フタイミングにあわせる。A.Sax[NormalRelease]モジュ
ールの始まりの時刻t4はそれに応じて特定される。す
なわち、時刻t1においてノートオンされ、時刻t5に
おいてノートオフされることから、実際に当該パケット
ストリームから生成される波形に従って発音される時間
は時刻t1から時刻t5までの時間である。このような
パケットストリームの場合に、時刻t2から時刻t4ま
での時間長と、その間のA.Sax[NormalRelease] モジュ
ールとA.Sax[VibratoBody] モジュールの各サンプル長l
engthの合計が合わないことが多く、適切に対処する必
要が生ずる。このような場合、同じ奏法モジュールを繰
り返すことによってサンプル長lengthの合計を前記時間
長にあわせるか、奏法モジュールのサンプル長を可変し
て前記時間長に合わせるか、あるいは前記両方を組み合
わせて用いて前記時間長を合わせる。このようにして、
各モジュール間で調節して波形接続を行うようになって
いる。上述の例では、A.Sax[NormalShortBody]モジュー
ルを繰り返すことにより、その後に続くA.Sax[VibratoB
ody] モジュールと波形接続を行っている。同様に、A.S
ax[VibratoBody] モジュールを繰り返すことにより、そ
の後に続くA.Sax[NormalRelease]モジュールとの波形接
続を行っている。
【0041】上記のように、奏法モジュールを複数回繰
り返して波形接続を行う場合、複数繰り返す側の奏法モ
ジュールの時間長を可変する。この時間長の可変制御
は、上述した例ではA.Sax[NormalShortBody]モジュール
あるいはA.Sax[VibratoBody]モジュールにおける代表点
を移動することによってなされる。すなわち、A.Sax[No
rmalShortBody]モジュールあるいはA.Sax[VibratoBody]
モジュールを構成する複数のループ波形間のクロスフ
ェード接続の時間を変化するなどの適宜の方法によって
実現する。ループ波形の場合は、ループ回数乃至ループ
継続時間を可変することによって、比較的簡単に、ルー
プ再生波形全体の時間長を可変制御することができる。
一方、ノンループ波形の場合は、時間軸上におけるその
存在長を可変制御することはそれほど簡単ではない。従
って、上記のように、ノンループ波形とループ波形とか
らなる一連の音の波形において、ループ読出区間の波形
データの時間軸を伸縮可変制御することで全体の発音時
間長を可変制御するように工夫することは、時間伸縮制
御を容易にするので極めて好ましい。そのために、特開
平10‐307586号で本出願人が先に提案した「Ti
me Stretch & Compress」制御(略して「TSC制
御」)を用いるとよい。特に、特殊な奏法に対応するノ
ンループ波形において時間軸の長さを可変するために、
上記「TSC制御」は好ましく応用できる。
【0042】このようにして作成されるパケットストリ
ームの一例を概念的に示すと、図10のようである。図
10では、上から順に調和成分の振幅(Amplitude)要
素、ピッチ(Pitch)要素、波形(Timbre)要素、調和
外成分の振幅(Amplitude)要素、波形(Timbre)要素
における各パケットストリームを示す。また、調和成分
の振幅(Amplitude)要素、ピッチ(Pitch)要素、調和
外成分の振幅(Amplitude)要素において、黒く塗りつ
ぶした正方形は代表点であり、これらを結ぶ曲線はパケ
ットストリームの中のパケットに含まれるベクトルID
で示されたベクトルの形状を示す。調和成分の波形(Ti
mbre)要素、調和外成分の波形(Timbre)要素におい
て、白抜きの長方形Lはループ波形を示すものであり、
その他の長方形NLはノンループ波形を示すものであ
る。なお、ノンループ波形のうち、斜線を引いたものは
特に特徴のあるノンループ波形を示すものである。さら
に、この実施例では、NormalAttackモジュールにおける
調和成分と調和外成分の波形(Timbre)要素をそれぞれ
2個のベクトルで構成し、調和成分の振幅(Amplitud
e)要素とピッチ(Pitch)要素及び調和外成分の振幅
(Amplitude)要素をそれぞれ1個のベクトルで構成し
ている。本実施例では、調和成分、調和外成分とも、波
形(Timbre)要素がノンループ波形となっている部分に
ついては、振幅(Amplitude)要素及びピッチ(Pitch)
要素がベクトルを持たないようになっている。しかしな
がら、波形(Timbre)要素がノンループ波形であるとこ
ろでも、振幅(Amplitude)要素、ピッチ(Pitch)要素
のベクトルを持ち生成波形を制御するようにしてもよ
い。VibratoBodyモジュールでは、調和成分の波形(Tim
bre)要素を5個のベクトルで構成し、調和成分の振幅
(Amplitude)要素とピッチ(Pitch)要素及び調和外成
分の波形(Timbre)要素と振幅(Amplitude)要素をそ
れぞれ1個のベクトルで構成している。ここで、Vibrat
oBodyモジュールは3回繰り返されているが、各繰り返
し毎に各ベクトルの形状が異なっていることに注意して
ほしい。これは各繰り返し毎に異なる奏法パラメータが
指定されたからである。異なる奏法パラメータに応じて
異なる要素データが選択されたり、異なる奏法パラメー
タに応じて異なるレベル制御、時間軸制御が行われたり
する。NormalJointモジュールでは、調和成分と調和外
成分の波形(Timbre)要素をそれぞれ3個のベクトルで
構成し、調和成分の振幅(Amplitude)要素とピッチ(P
itch)要素及び調和外成分の振幅(Amplitude)要素を
それぞれ2個のベクトルで構成している。なお、Normal
Bodyモジュールの説明は省略する。奏法合成部101C
は、上述したようにパケットストリームを各成分(調和
成分及び調和外成分)毎に生成する。これらのパケット
ストリームは複数個のパケットで構成されてなり、1個
1個のパケットはベクトルIDとパケットの時刻情報と
を具える。それに加えて、調和成分の振幅(Amplitud
e)要素、ピッチ(Pitch)要素、調和外成分の振幅(Am
plitude)要素の場合には各代表点の確定値などを具え
る。勿論、これに限られるものではなく、ベクトルID
とパケットの時刻情報に加えて他の情報を具えていてよ
い。このような1つ1つのパケットの内容に従って、各
成分毎にパケットストリームが構成されている。このよ
うに、パケットストリームには複数のパケット及びその
各パケットの時刻情報(開始時刻)が含まれる。なお、
楽器の種類等によってパケットストリームの数が異なっ
ていてよいことは言うまでもない。
【0043】波形合成部101Dは、奏法合成部101
Cから供給される各成分毎のパケットストリーム(ベク
トルID、時刻情報、補正情報等を含む複数のパケット
の列)に基づいて波形を合成する。図11は、波形合成
部101Dにおける動作を説明するために全体構成を示
した概念図である。図12〜図15は、波形合成部10
1Dにおける各動作を詳細に説明するためのブロック図
である。図12は、波形合成の全体の流れを簡単に示す
ブロック図である。図13は、ベクトルローダを説明す
るためのブロック図である。図14は、ベクトルオペレ
ータを説明するためのブロック図である。図15は、ベ
クトルデコーダを説明するためのブロック図である。奏
法合成部(アーティキュレーター)101Cで作成され
た各成分要素毎のパケットストリームは、波形合成部1
01Dにおける各成分要素毎に対応して設けられる所定
のパケットキューバッファ21〜25に順次にパケット
入力(つまり、パケット単位での入力)される。入力さ
れたパケットはパケットキューバッファ21〜25に蓄
積され、順次所定の順番でベクトルローダ20に送られ
る。ベクトルローダ20ではパケット内のベクトルID
を参照して、当該ベクトルIDに対応するオリジナルの
ベクトルデータをコードブック26から読出し(ロー
ド)する。読出しされたベクトルデータは、各成分要素
毎に対応して設けられる所定のベクトルデコーダ31〜
35へ送られ、ベクトルデコーダ31〜35で各成分要
素毎の波形が生成される。さらに、ベクトルデコーダ3
1〜35では、生成された各成分要素毎の波形を各ベク
トルデコーダ31〜35間で同期しながら各成分毎(調
和成分及び調和外成分)の波形を生成する。こうして生
成された各成分毎の波形は、ミキサ38に送られる。奏
法合成部(アーティキュレーター)101Cでは、パケ
ットキューバッファ21〜25に対してパケットを入力
する他、ストリーム管理(個々のベクトルデータの生成
や削除あるいはベクトルデータ間の接続に関する管理)
や再生コントロール(所望の波形生成の実行あるいは生
成された所望の波形の再生/停止などのコントロール)
などの各種の制御を波形合成部101Dに対して実行す
る。
【0044】上述したように、ベクトルローダ20には
パケットキューバッファ21に蓄積されたパケットスト
リームを構成するパケットを順次に入力され、ベクトル
デコーダ20は各パケット内のベクトルIDに基づい
て、コードブック26から当該ベクトルIDに対応する
ベクトルデータを読み出し、読み出したベクトルデータ
をベクトルデコーダ31に送る(図12参照)。この際
に、読み出した各パケット内に補正情報(例えば、代表
点に関する補正情報)が付されている場合がある。この
ような場合、ベクトルローダ20では読み出したオリジ
ナルのベクトルデータを補正情報に従って変形し、変形
したベクトルデータ(これをオリジナルのベクトルデー
タと区別するためにベクトル情報データと呼ぶ)を情報
として持つパケット(これを奏法合成部101Cから入
力されたパケットと区別するためにベクトルパケットと
呼ぶ)をベクトルデコーダ31〜35へ出力する。この
ように、ベクトルローダ20は奏法合成部(アーティキ
ュレーター)101Cから入力されたパケットのベクト
ルIDに基づきオリジナルのベクトルデータをコードブ
ック26から読出し、必要に応じて補正情報でベクトル
データの補正を行った上でベクトルデコーダ31〜35
にベクトルパケットを渡す(図13参照)。上述したよ
うなベクトルデータの代表点に関する補正情報には、例
えば乱数に基づいて時刻情報をずらすための補正情報等
いろいろな補正情報がありうる。
【0045】図14に示すように、ベクトルデコーダ3
1〜35は入力されたベクトルパケットを処理するため
のベクトルオペレータの生成や破棄、ベクトルオペレー
タ間の接続・同期管理、時刻管理、他ベクトルIDスト
リームからの入力のベクトルオペレータ毎のパラメータ
への変換設定などの各種のオペレータ動作管理を行うも
のである。ベクトルオペレータ36及び37では、ベク
トル情報データの読み出し、あるいはベクトル情報デー
タの読み出し位置制御(Speed入力)やゲイン制御(Gai
n入力)などが行われる。このベクトルオペレータ36
及び37に設定される各種のパラメータは、ベクトルデ
コーダ31〜35で管理される。各成分要素毎に対応す
るようにベクトルデコーダ31〜35が設けられてお
り、当該ベクトルデコーダ31〜35がベクトルパケッ
ト内のベクトル情報データを読み出して所望の波形の時
系列的生成を行う。例えば、図15に示すように、ベク
トルデコーダ31は調和成分の振幅(Amplitude)要素
のエンベロープ波形を生成し、ベクトルデコーダ32は
調和成分のピッチ(Pitch)要素のエンベロープ波形を
生成し、ベクトルデコーダ33は調和成分の波形(Timb
re)要素の波形を生成し、ベクトルデコーダ34は調和
外成分の振幅(Amplitude)要素のエンベロープ波形を
生成し、ベクトルデコーダ35は調和外成分の波形(Ti
mbre)要素のエンベロープ波形を生成する。ベクトルデ
コーダ33は、ベクトルデコーダ31及び32で生成さ
れた調和成分の振幅(Amplitude)要素のエンベロープ
波形と調和成分のピッチ(Pitch)要素のエンベロープ
波形を付与した調和成分の波形を生成してミキサ38へ
出力する。すなわち、ベクトルデコーダ33に対して、
調和成分の振幅(Amplitude)要素のエンベロープ波形
をゲイン制御(Gain入力)を行うためのベクトルオペレ
ータとして、調和成分のピッチ(Pitch)要素のエンベ
ロープ波形をベクトル情報データの読み出し位置制御
(Speed入力)を行うためのベクトルオペレータとして
入力する。また、ベクトルデコーダ35では、ベクトル
デコーダ34で生成された調和外成分の振幅(Amplitud
e)要素のエンベロープ波形を付与した調和外成分の波
形を生成してミキサ38へ出力する。すなわち、ベクト
ルデコーダ35に対しては、調和外成分の振幅(Amplit
ude)要素のエンベロープ波形をゲイン制御(Gain入
力)を行うための制御命令として入力する。
【0046】さらに、各成分、要素における波形の時系
列的生成の際には、各ベクトルデコーダ31〜35間で
波形の同期を行いながら波形生成が行われる。例えば、
波形(Timbre)要素のベクトルパケットと振幅(Amplit
ude)要素のベクトルパケットを入力した場合、波形(T
imbre)要素のベクトルパケットに基づく波形合生成の
時間を基準として、それに同期して振幅(Amplitude)
要素のベクトルパケットに基づく振幅波形を生成する。
該振幅波形により、波形(Timbre)要素のベクトルパケ
ットに基づいて生成される波形の振幅が制御される。波
形(Timbre)要素のベクトルパケットとピッチ(Pitc
h)要素のベクトルパケットを入力した場合、波形(Tim
bre)要素のベクトルパケットに基づく波形生成の時間
を基準として、それに同期してピッチ(Pitch)要素の
ベクトルパケットに基づくピッチ波形を合成する。該ピ
ッチ波形により、波形(Timbre)要素のベクトルパケッ
トに基づいて生成される波形のピッチが制御される。調
和成分の波形(Timbre)要素のベクトルパケットと調和
外成分の波形(Timbre)要素のベクトルパケットを入力
する場合、調和成分の波形(Timbre)要素のベクトルパ
ケットに基づく調和成分合成の時間を基準として、それ
に同期して調和外成分の波形(Timbre)要素のベクトル
パケットに基づく調和外成分が合成される。合成された
調和成分と調和外成分の波形を混合することにより、所
望の楽音波形を生成する。なお、この実施例において、
調和成分と調和外成分の同期または非同期を選択できる
ように構成し、同期が選択された場合にのみにおいて、
上述の調和成分の波形(Timbre)要素のベクトルパケッ
トに基づいて生成される調和成分の波形合成の時間を基
準として、それに同期して調和外成分の波形(Timbre)
要素のベクトルパケットに基づいて生成される調和外成
分の波形を合成するようにしてもよい。
【0047】上述したように、パケットストリームは複
数パケット列で構成されており、ベクトルバケットのパ
ケットストリームの場合、各パケットには各々ベクトル
データが含まれている。すなわち、パケットストリーム
とはベクトルデータが時間方向に並んだものであり、振
幅(Amplitude)要素のベクトルデータもピッチ(Pitc
h)要素のベクトルデータも波形(Timbre)要素のベク
トルデータもデータ構造や意味は違うが、ベクトルオペ
レータ36及び37から見た場合は基本的に同じもので
ある。図16は、ベクトルデータのデータ構造の一実施
例を概念的に示す概念図である。例えば、ベクトルデー
タの読み出し位置の単位は[SEC]で、読み出し速度を等
速とした場合、ベクトルデータ上での1サンプルは出力
波形の1サンプルと一致する。また、読み出し速度の単
位は1/1200[cent](=2のn乗)で、指数nが0
だと等速、1.0だと2倍(例えば、波形(Timbre)要素
の場合には1オクターブ上がる)、-1.0だと0.5倍(例
えば、波形(Timbre)要素の場合には1オクターブ下が
る)となる(図16の上段図参照)。また、コードブッ
ク26には実際のベクトルデータが格納される。例え
ば、振幅(Amplitude)要素のベクトルデータあるいは
ピッチ(Pitch)要素のベクトルデータはVECTORPOINT構
造体の配列と、代表点データとからなっている。VECTOR
POINT構造体の配列には各点のサンプル位置と値が順番
に入っており、例えば振幅(Amplitude)要素のベクト
ルデータの値は[db]単位であり、ピッチ(Pitch)要素
のベクトルデータの値はMIDIのノートナンバ0を0.0と
したときの1/1200[cent]単位である。また、代表点デー
タはDWORD型の配列で、代表点となるVECTORPOINT構造体
の配列のインデックス番号が格納されている(図16の
下段図参照)。勿論、上述した例に限られるものでない
ことは言うまでもない。
【0048】なお、上述したような波形生成装置を電子
楽器に用いた場合、電子楽器は鍵盤楽器の形態に限ら
ず、弦楽器や管楽器、あるいは打楽器等どのようなタイ
プの形態でもよい。また、その場合に、曲データ再生部
101A、楽譜解釈部101B、奏法合成部101C、
波形合成部101D等を1つの電子楽器本体内に内蔵し
たものに限らず、それぞれが別々に構成され、MIDI
インタフェースや各種ネットワーク等の通信手段を用い
て各構成部を接続するように構成されたものにも同様に
適用できることはいうまでもない。また、パソコンとア
プリケーションソフトウェアという構成であってもよ
く、この場合処理プログラムを磁気ディスク、光ディス
クあるいは半導体メモリ等の記憶メディアから供給した
り、ネットワークを介して供給するものであってもよ
い。さらに、自動演奏ピアノのような自動演奏装置など
にも適用してよい。
【0049】
【発明の効果】以上の通り、本発明によれば、波形形状
の変化を代表する一部の波形データを抽出して記憶手段
に記憶することにより、波形形状の変化表現に必要な波
形データを圧縮して記憶することができ、波形データ記
憶量を節約することができると共に、抽出した一部の波
形データをその時刻位置の情報と共に記憶手段に記憶す
ることで、波形再生の際に、精巧な波形再現性を確保す
ることができる、という優れた効果を奏する。また、波
形形状の変化を代表する一部の波形データは、それと組
になって与えられる時刻位置の情報に従って適切な時刻
位置に配置されるので、楽音波形の大事な部分、つまり
波形形状の変化を代表する波形に関して、適切な時刻位
置で再現されることとなり、精巧な波形再現性を確保す
ることができる、という優れた効果を奏する。また、サ
ンプル識別情報と時刻位置情報の組を使用して、サンプ
ルデータを時刻位置情報に従って適切な時刻位置に配置
するようにしたので、波形データの記憶量節約と精巧な
波形再現性の確保を実現することができる、という優れ
た効果を奏する。また、演奏データに基づき上記サンプ
ル識別情報と時刻位置情報の組を取得し、取得した時刻
位置情報を演奏データに応じて補正することで、演奏デ
ータの意図する時刻位置情報を得ることができると共
に、演奏データに応じた時刻位置情報の可変制御を行う
ことができるので、記憶量の節約と、制御性に富む波形
生成を実現できる、という優れた効果を奏する。こうし
て、奏法若しくはアーティキュレーションを考慮した高
品質な波形の生成を、簡素化された構成でかつ制御性豊
かに実現することができる。
【図面の簡単な説明】
【図1】 この発明に係る波形生成装置のハードウエア
構成例を示すブロック図。
【図2】 波形生成装置において実行される「波形デー
タベース作成処理」の一実施例を示すフローチャート。
【図3】 奏法モジュールに対応する実波形区間を構成
する各成分及び要素の一例を模式的に示す図。
【図4A】 「データベースに基づく楽音合成処理」の
一実施例を示すフローチャート。
【図4B】 図4Aと同様の波形合成処理を専用ハード
ウエアの形態で構成した場合の一実施例を示すブロック
図。
【図5】 上述した奏法合成部における奏法合成処理の
流れを説明するためのブロック図。
【図6】 奏法合成部で行われる奏法合成処理の一実施
例を詳細に示したフローチャート。
【図7】 奏法モジュールが振幅要素又はピッチ要素に
対応する場合におけるリンク処理を説明するための概念
図。
【図8A】 アタック波形とボディ波形とを接続した場
合の波形の間引きを説明するための概念図。
【図8B】 ボディ波形とリリース波形とを接続した場
合の波形の間引きを説明するための概念図。
【図8C】 ベンドアタック波形とリリース波形とを接
続した場合の波形の間引きを説明するための概念図。
【図8D】 ノーマルアタック波形とループ部を有する
リリース波形とを接続した場合の波形の間引きを説明す
るための概念図。
【図9】 後に続く奏法モジュールが開始されるよりも
前の奏法モジュールが終了してしまう場合の波形接続に
ついて説明するための概念図。
【図10】 奏法合成部で生成されるパケットストリー
ムを説明するための概念図。
【図11】 波形合成部における動作を説明するために
全体構成の一実施例を示した概念図。
【図12】 波形合成の全体の流れを簡単に示すブロッ
ク図。
【図13】 ベクトルローダを説明するためのブロック
図。
【図14】 ベクトルオペレータを説明するためのブロ
ック図。
【図15】 ベクトルレコーダを説明するためのブロッ
ク図。
【図16】 ベクトルデータのデータ構造の一実施例を
概念的に示す概念図。
【符号の説明】
101…CPU、102…リードオンリメモリ(RO
M)、103…ランダムアクセスメモリ(RAM)、1
04…パネルスイッチ、105…パネル表示器、106
…ドライブ、106A…外部記憶メディア、107…波
形取込部、108…波形出力部、108A…サウンドシ
ステム、109…ハードディスク、111…通信インタ
フェース、BL…バスライン、101A…曲データ再生
部、101B…楽譜解釈部、101C…奏法合成部、1
01D…波形合成部、20…ベクトルローダ、31(3
2〜35)…ベクトルデコーダ、36(37)…ベクト
ルオペレータ、38…ミキサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宇佐 聡史 静岡県浜松市中沢町10番1号 ヤマハ株式 会社内 Fターム(参考) 5D378 AD01 AD08 AD09 AD51 AD57 AD63 AD68 AD69 AD70 HB11

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 波形データを供給するステップと、 供給された波形データから、波形形状の変化を代表する
    一部の波形データを抽出するステップと、 抽出した一部の波形データをその時刻位置の情報と共に
    記憶手段に記憶するステップとを具備する波形記録方
    法。
  2. 【請求項2】 波形の再生を指示するステップと、 前記指示に応じて、記憶手段から波形形状の変化を代表
    する一部の波形データとその時刻位置の情報とを読み出
    すステップと、 読み出した時刻位置の情報に従って、前記一部の波形デ
    ータを時間軸上に配置するステップと、 配置された一部の波形データに基づいて、該一部の波形
    データの間の波形データを含む全体の波形データを合成
    するステップとを具備する波形再生方法。
  3. 【請求項3】 サンプル識別情報と時刻位置情報の組を
    順次受け取るステップと、 受け取ったサンプル識別情報によりデータベースを参照
    してサンプルデータを取得するステップと、 受け取った時刻位置情報に従って、前記取得したサンプ
    ルデータを時間軸上に配置するステップと、 配置されたサンプルデータに基づいて波形を生成するス
    テップとを具備する波形生成方法。
  4. 【請求項4】 前記サンプルデータは、波形形状デー
    タ、振幅データ、ピッチデータ、時間軸制御データのう
    ちいずれかの要素についてのサンプルデータである請求
    項3に記載の波形生成方法。
  5. 【請求項5】 補正情報を受け取るステップを更に具備
    し、波形生成のために使用する前記サンプルデータを該
    補正情報に応じて補正するようにした請求項3に記載の
    波形生成方法。
  6. 【請求項6】 演奏データを受け取るステップと、 前記演奏データによってテーブルを参照してサンプル識
    別情報と時刻位置情報の組を取得するステップと、 前記取得した時刻位置情報を前記演奏データに応じて補
    正するステップと、 前記取得したサンプル識別情報によりデータベースを参
    照してサンプルデータを取得するステップと、 前記補正した時刻位置情報に従って、前記取得したサン
    プルデータを時間軸上に配置するステップと、 配置されたサンプルデータに基づいて波形を生成するス
    テップとを具備する波形生成方法。
  7. 【請求項7】 サンプル識別情報と時刻位置情報の組を
    受け取る手段と、 前記サンプル識別情報によりデータベースを参照してサ
    ンプルデータを取得する手段と、 前記時刻位置情報に従って、前記取得したサンプルデー
    タを時間軸上に配置する手段とを具備し、時間軸上に配
    置されたサンプルデータに基づいて波形を生成すること
    を特徴とする波形生成装置。
JP27317699A 1999-09-27 1999-09-27 波形生成方法及び装置 Expired - Fee Related JP3654083B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP27317699A JP3654083B2 (ja) 1999-09-27 1999-09-27 波形生成方法及び装置
US09/668,726 US6873955B1 (en) 1999-09-27 2000-09-22 Method and apparatus for recording/reproducing or producing a waveform using time position information
DE60033098T DE60033098T2 (de) 1999-09-27 2000-09-25 Verfahren und Vorrichtung zur Aufnahme/Wiedergabe oder Erzeugung von Wellenformen mittels Zeitlageinformation
EP00120846A EP1087368B1 (en) 1999-09-27 2000-09-25 Method and apparatus for recording/reproducing or producing a waveform using time position information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27317699A JP3654083B2 (ja) 1999-09-27 1999-09-27 波形生成方法及び装置

Publications (2)

Publication Number Publication Date
JP2001100762A true JP2001100762A (ja) 2001-04-13
JP3654083B2 JP3654083B2 (ja) 2005-06-02

Family

ID=17524170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27317699A Expired - Fee Related JP3654083B2 (ja) 1999-09-27 1999-09-27 波形生成方法及び装置

Country Status (4)

Country Link
US (1) US6873955B1 (ja)
EP (1) EP1087368B1 (ja)
JP (1) JP3654083B2 (ja)
DE (1) DE60033098T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035031A (zh) * 2022-01-11 2022-02-11 南京宏泰半导体科技有限公司 一种基于数字向量测试实现模拟波形采集装置与方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3654083B2 (ja) * 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置
JP3975772B2 (ja) 2002-02-19 2007-09-12 ヤマハ株式会社 波形生成装置及び方法
TWI227010B (en) * 2003-05-23 2005-01-21 Mediatek Inc Wavetable audio synthesis system
US7565213B2 (en) * 2004-05-07 2009-07-21 Gracenote, Inc. Device and method for analyzing an information signal
JP3827317B2 (ja) * 2004-06-03 2006-09-27 任天堂株式会社 コマンド処理装置
JP2006018133A (ja) * 2004-07-05 2006-01-19 Hitachi Ltd 分散型音声合成システム、端末装置及びコンピュータ・プログラム
ATE373854T1 (de) * 2005-06-17 2007-10-15 Yamaha Corp Musiktonwellenformsynthesizer
US9251782B2 (en) 2007-03-21 2016-02-02 Vivotext Ltd. System and method for concatenate speech samples within an optimal crossing point
BRPI0808289A2 (pt) 2007-03-21 2015-06-16 Vivotext Ltd "biblioteca de amostras de fala para transformar texto em falta e métodos e instrumentos para gerar e utilizar o mesmo"
US8286081B2 (en) * 2009-04-30 2012-10-09 Apple Inc. Editing and saving key-indexed geometries in media editing applications
US8566721B2 (en) * 2009-04-30 2013-10-22 Apple Inc. Editing key-indexed graphs in media editing applications
CA3192322A1 (en) * 2020-09-09 2022-03-17 Sparrow Acoustics Inc. Method and system for performing time-domain processing of a waveform signal

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3890602A (en) * 1972-10-25 1975-06-17 Nippon Musical Instruments Mfg Waveform producing device
US4271486A (en) * 1979-07-30 1981-06-02 Tektronix, Inc. Waveform storage system
US4280196A (en) * 1979-11-14 1981-07-21 Hewlett-Packard Company Correction of zero drift, gain drift, and distortion errors in analog storage devices
EP0120846B1 (en) 1982-09-30 1987-05-20 Ford Motor Company Method of fabricating hot pressed ceramic bodies
JPS5996513A (ja) 1982-11-24 1984-06-04 Nippon Gakki Seizo Kk 波形の記録及び再生方法
US5300724A (en) 1989-07-28 1994-04-05 Mark Medovich Real time programmable, time variant synthesizer
JPH06110455A (ja) 1992-09-25 1994-04-22 Mitsubishi Electric Corp オーディオ信号の符号化/復号化方法およびこの方法を用いたオーディオ再生装置
US5792971A (en) 1995-09-29 1998-08-11 Opcode Systems, Inc. Method and system for editing digital audio information with music-like parameters
JP3407610B2 (ja) 1996-11-27 2003-05-19 ヤマハ株式会社 楽音生成方法および記憶媒体
DE69724919T2 (de) 1996-11-27 2004-07-22 Yamaha Corp., Hamamatsu Verfahren zur Erzeugung von Musiktönen
SG65729A1 (en) 1997-01-31 1999-06-22 Yamaha Corp Tone generating device and method using a time stretch/compression control technique
JP3008922B2 (ja) 1997-03-03 2000-02-14 ヤマハ株式会社 楽音発生装置および楽音発生方法
EP0907160B1 (en) 1997-09-30 2004-05-19 Yamaha Corporation Tone data making method and device and recording medium
JP3675184B2 (ja) 1997-09-30 2005-07-27 ヤマハ株式会社 波形形成装置及び方法
JP2001084000A (ja) * 1999-09-08 2001-03-30 Roland Corp 波形再生装置
JP2001100760A (ja) * 1999-09-27 2001-04-13 Yamaha Corp 波形生成方法及び装置
JP3654083B2 (ja) * 1999-09-27 2005-06-02 ヤマハ株式会社 波形生成方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035031A (zh) * 2022-01-11 2022-02-11 南京宏泰半导体科技有限公司 一种基于数字向量测试实现模拟波形采集装置与方法
CN114035031B (zh) * 2022-01-11 2022-03-15 南京宏泰半导体科技有限公司 一种基于数字向量测试实现模拟波形采集装置与方法

Also Published As

Publication number Publication date
DE60033098T2 (de) 2007-10-31
JP3654083B2 (ja) 2005-06-02
US6873955B1 (en) 2005-03-29
EP1087368B1 (en) 2007-01-24
EP1087368A1 (en) 2001-03-28
DE60033098D1 (de) 2007-03-15

Similar Documents

Publication Publication Date Title
US7259315B2 (en) Waveform production method and apparatus
JP2001100760A (ja) 波形生成方法及び装置
JP3601371B2 (ja) 波形生成方法及び装置
JP3654083B2 (ja) 波形生成方法及び装置
JP3654079B2 (ja) 波形生成方法及び装置
JP3654080B2 (ja) 波形生成方法及び装置
JP3654082B2 (ja) 波形生成方法及び装置
JP3654084B2 (ja) 波形生成方法及び装置
JP3674527B2 (ja) 波形生成方法及び装置
JP4007374B2 (ja) 波形生成方法及び装置
JP3933161B2 (ja) 波形生成方法及び装置
JP3933162B2 (ja) 波形生成方法及び装置
JP2002287757A (ja) 音データ転送方法、音データ転送装置およびプログラム
JP3630106B2 (ja) 音データ転送方法、音データ転送装置およびプログラム
JP3674526B2 (ja) 波形合成方法、音データ転送装置およびプログラム
JP3649141B2 (ja) 音データ転送方法、音データ転送装置およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050221

R150 Certificate of patent or registration of utility model

Ref document number: 3654083

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090311

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100311

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110311

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110311

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120311

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130311

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140311

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees