(57)【要約】【課題】  ビブラート奏法などをより忠実に再現した楽音を高品質に合成する。【解決手段】  所定の時間間隔で間欠的にダイナミクス値を取得し、記憶手段に記憶した持続音用の波形データの中から該取得したダイナミクス値に対応する持続音用の波形データを取得する。該取得した波形データを合成することで、１音の持続音部分にあたる範囲の楽音波形を生成する。このように、予め記憶しておいた複数の持続音用の波形データから使用すべき波形データを所定の時間間隔で間欠的にその時点におけるダイナミクス値に応じて取得し、これを用いて楽音を合成するので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるだけでなく、また入力ダイナミクス値に応じてその楽音特性を可変制御しうることから、持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる。【選択図】        図５
2007011217.tif 000002
【特許請求の範囲】
【請求項１】
持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶する記憶手段と、
持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、
取得したダイナミクス値に対応する波形データを前記記憶手段から取得し、該取得した波形データに基づき持続音部分の楽音波形を生成する楽音生成手段と
を具えた楽音合成装置。
【請求項２】
異なるピッチずれに対応する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、
発生すべき楽音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、
発生すべき楽音のピッチ変調を制御するピッチ変調情報を取得する手段と、
取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ変調情報に対応する波形データを取得し、該取得した波形データに基づき楽音波形を生成する楽音生成手段と
を具えた楽音合成装置。
【請求項３】
時間的にピッチが変動する特性を実現する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、
時間的にピッチが変動する特性の楽音を発生すべきとき、該発生すべき楽音を制御するためのダイナミクス値を取得する手段と、
取得したダイナミクス値に対応するユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データに基づき、時間的にピッチが変動する特性の楽音波形を生成する楽音生成手段と
を具えた楽音合成装置。
【請求項４】
前記ユニットは、ビブラート特性を実現する複数の波形データを含むものである請求項３に記載の楽音合成装置。
【請求項５】
前記記憶手段は、前記ユニット又は波形データを、個別の音高又は音域につき前記ダイナミクス値に対応づけてそれぞれ記憶するものである請求項１乃至４のいずれかに記載の楽音合成装置。
【請求項６】
時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットを記憶する記憶手段と、
ビブラートの深さを制御する深さ制御情報を取得する手段と、
前記ユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データと前記取得した深さ制御情報に基づき、ビブラート特性の楽音波形を生成する楽音生成手段であって、前記取得した深さ制御情報に応じてビブラートの深さを浅くするよう制御する際には、前記取得したユニット内の前記複数の波形データのうち大きなピッチずれに対応する波形データを使用せずに前記楽音波形を生成するものと
を具えた楽音合成装置。
【請求項７】
持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶するメモリを使用して、コンピュータに、
持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手順と、
取得したダイナミクス値に対応する波形データを前記メモリから取得し、該取得した波形データに基づき持続音部分の楽音波形を生成する手順と
を実行させるプログラム。
【請求項８】
異なるピッチずれに対応する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶するメモリを使用して、コンピュータに、
発生すべき楽音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手順と、
発生すべき楽音のピッチ変調を制御するピッチ変調情報を取得する手順と、
取得したダイナミクス値に対応するユニットを前記メモリから選択し、かつ、該選択されたユニット中から前記取得したピッチ変調情報に対応する波形データを取得し、該取得した波形データに基づき楽音波形を生成する手順と
を実行させるプログラム。
【請求項９】
時間的にピッチが変動する特性を実現する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶するメモリを使用して、コンピュータに、
時間的にピッチが変動する特性の楽音を発生すべきとき、該発生すべき楽音を制御するためのダイナミクス値を取得する手順と、
取得したダイナミクス値に対応するユニットの波形データを前記メモリから取得し、該取得したユニットの前記複数の波形データに基づき、時間的にピッチが変動する特性の楽音波形を生成する手順と
を実行させるプログラム。
【請求項１０】
時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットを記憶するメモリを使用して、コンピュータに、
ビブラートの深さを制御する深さ制御情報を取得する手順と、
前記ユニットの波形データを前記メモリから取得し、該取得したユニットの前記複数の波形データと前記取得した深さ制御情報に基づき、ビブラート特性の楽音波形を生成する手順であって、前記取得した深さ制御情報に応じてビブラートの深さを浅くするよう制御する際には、前記取得したユニット内の前記複数の波形データのうち大きなピッチずれに対応する波形データを使用せずに前記楽音波形を生成するものと
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、波形メモリ等に記憶した波形サンプルデータに基づいて楽音あるいは音声若しくはその他任意の音を合成する楽音合成装置及びプログラムに関し、特に、音の持続する持続音部で楽音音量レベル情報（ダイナミクス値）に応じて波形が変化する高品質な楽音合成を行う楽音合成装置及びプログラムに関する。また、ビブラート奏法など持続音部でのピッチ変動を含む奏法に従う楽音波形を音量レベル情報（ダイナミクス値）に応じて波形が変化するよう高品質に合成する楽音合成装置及びプログラムに関する。
【背景技術】
【０００２】
波形メモリにおいて、ＰＣＭ（パルス符号変調）又はＤＰＣＭ（差分ＰＣＭ）又はＡＤＰＣＭ（適応差分ＰＣＭ）等の任意の符号化方式で符号化した波形サンプルデータを記憶しておき、これを所望のピッチに対応して読み出すことにより楽音を合成する、所謂「波形メモリ読み出し」による楽音合成装置は既に公知である。この場合、同じ名目的な音色（例えば「ピアノ」や「バイオリン」など）に関して、種々のピッチ又は音域あるいはピッチ変調量などのピッチ変動要素に対応して、あるいは、ダイナミクス若しくはベロシティ又はタッチなどの音量レベル変動要素に対応して、各種の異なる波形を用意しておき、再生演奏時のピッチ変動要素あるいは音量レベル変動要素に応じて最適の波形を選択することで、高品質な楽音合成を行うようにすることが行われている。例えば下記に示す特許文献１又は特許文献２に記載されている発明がその一例である。
【特許文献１】特許第2580761号公報
【特許文献２】特許第2970438号公報
【０００３】
また、或る１つのノートに対応する１つの楽音の発音中にそのピッチが連続的に変化する例えばビブラート奏法又はベンド奏法などのピッチ変調奏法で楽音を再生する場合には、従来の典型例としては、ピッチ変調のかかっていない波形を使用し、リアルタイムに入力されるピッチ変調情報に従って前記波形の読み出しピッチを変調することにより楽音合成している。これに対して、下記の特許文献３，４，５，６においては、より高品質なビブラート奏法での楽音合成を実現するために、実際の自然楽器の演奏に基づいてサンプリングしたビブラート変調（ピッチ変調）のかかった連続的波形のビブラート１周期の範囲の中から、分散的に複数の波形を取り出して、それぞれテンプレート波形として記憶しておき、再生時にこれらのテンプレート波形を順々にループ読み出ししてクロスフェード合成することで、高品質なビブラート奏法波形を再生するようにしたことが記載されている。
【特許文献３】特開平11−167382号公報
【特許文献４】特開2000−56773号公報
【特許文献５】特開2000−122664号公報
【特許文献６】特開2001−100757号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上述した特許文献１又は２に示されたような従来の装置においては、例えばエクスプレッションやベロシティ等のコントロールに応じたレベル変動量を表すダイナミクス情報に応じて、使用する波形サンプルデータの切り替えを行いながら楽音を合成している。しかし、ダイナミクス情報に応じて波形サンプルデータの切り替えを行いながら楽音を合成する場合、従来では常時ダイナミクス情報の取得を行って該ダイナミクス情報に応じた波形サンプルデータに切り替えるようにしていることから、楽音の持続部であっても、波形サンプルデータの切り替えが頻繁に起こり易い。波形サンプルデータの切り替えが頻繁に起こると、それに伴い急激な波形変化が生じることが起こり易くなり、楽音の持続部でありながら不安定な印象を与えてしまうおそれがある。また、急激な波形変化を吸収するために波形の補間演算処理を行うのが普通であるが、頻繁な波形切り替え処理は補間演算処理に負担をかけてしまう。
また、上述した特許文献３〜６に示されたような高品質な楽音合成を可能にする従来の装置においては、楽音合成の最中において、ダイナミクス情報に応じて楽音特性を随時任意に変更できるようにはなっていなかった。
【０００５】
本発明は上述の点に鑑みてなされたもので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるようにした楽音合成装置及びプログラムを提供しようとするものである。また、ビブラートやピッチベンドなど時間的にピッチ変化する楽音波形をその音色も微妙に変化させうるように高品質な特性で合成する場合に、入力ダイナミクス値に応じてその楽音特性を可変制御しうるようした楽音合成装置及びプログラムを提供しようとするものである。さらに、ビブラートの深さ制御を高品質に行うことができるようした楽音合成装置及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【０００６】
本発明の請求項１に係る楽音合成装置は、持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶する記憶手段と、持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、取得したダイナミクス値に対応する波形データを前記記憶手段から取得し、該取得した波形データに基づき持続音部分の楽音波形を生成する楽音生成手段とを具える。
【０００７】
本発明によると、１音の持続音部分にあたる範囲の楽音を生成する際に、所定の時間間隔で間欠的にダイナミクス値を取得し、記憶手段から該取得したダイナミクス値に対応する持続音用の波形データを選択する。記憶手段は、持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶する。この記憶手段に記憶した持続音用の波形データの中から、所定の時間間隔で間欠的に取得したダイナミクス値に対応する波形データを選択する。そして、該取得した波形データを合成することで、１音の持続音部分にあたる範囲の楽音波形を生成する。このように、予め記憶しておいた複数の持続音用の波形データから使用すべき波形データを所定の時間間隔で間欠的にその時点におけるダイナミクス値に応じて取得し、これを用いて楽音を合成するので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるだけでなく、また入力ダイナミクス値に応じてその楽音特性を可変制御しうることから、持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる。
【０００８】
本発明の請求項２に係る楽音合成装置は、異なるピッチずれに対応する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、発生すべき楽音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、発生すべき楽音のピッチ変調を制御するピッチ変調情報を取得する手段と、取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ変調情報に対応する波形データを取得し、該取得した波形データに基づき楽音波形を生成する楽音生成手段とを具える。これによると、取得したダイナミクス値に対応する、異なるピッチずれに対応する複数の波形データを含むユニットの中から、ピッチ変調情報に対応する波形データを取得し、これに基づき楽音波形を生成することから、ビブラートやピッチベンドなど時間的にピッチ変化する楽音波形をその音色も微妙に変化させうるように高品質な特性で合成することができる。
【０００９】
本発明の請求項３に係る楽音合成装置は、時間的にピッチが変動する特性を実現する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、時間的にピッチが変動する特性の楽音を発生すべきとき、該発生すべき楽音を制御するためのダイナミクス値を取得する手段と、取得したダイナミクス値に対応するユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データに基づき、時間的にピッチが変動する特性の楽音波形を生成する楽音生成手段とを具える。これによると、取得したダイナミクス値に応じて、時間的にピッチが変動する特性を実現する複数の波形データを含むユニットの波形データに基づき楽音波形を生成することから、ビブラートやピッチベンドなど時間的にピッチ変化する楽音波形をその音色も微妙に変化させうるように高品質な特性で合成することができる。
【００１０】
本発明の請求項６に係る楽音合成装置は、時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットを記憶する記憶手段と、ビブラートの深さを制御する深さ制御情報を取得する手段と、前記ユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データと前記取得した深さ制御情報に基づき、ビブラート特性の楽音波形を生成する楽音生成手段であって、前記取得した深さ制御情報に応じてビブラートの深さを浅くするよう制御する際には、前記取得したユニット内の前記複数の波形データのうち大きなピッチずれに対応する波形データを使用せずに前記楽音波形を生成するものとを具える。これによると、深さ制御情報に応じて、時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットのうち、大きなピッチずれに対応する波形データを使用せずに、ビブラートの深さを浅くするよう制御した楽音波形を生成することから、ビブラートの深さ制御を高品質に行うことができる。
【００１１】
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはＤＳＰ等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
【発明の効果】
【００１２】
本発明によれば、取得したダイナミクス情報に基づき使用すべき波形データの特定を予め記憶しておいた異なる音色の波形データの中から行い、これを用いて楽音を合成するようにした。こうすると、、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理によって、急激な波形変化を防ぎ波形の安定化を図ることができると共に、楽音合成中における楽音特性の制御性を確保することができるので、特に持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる、という効果が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【００１４】
図１は、この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。ここに示す電子楽器は、演奏者による演奏操作子５の操作に伴い演奏進行に応じて供給される演奏情報（ノートオンイベントやノートオフイベントなどの演奏イベントデータ、ダイナミクス情報やピッチベンド情報あるいはビブラートスピード情報・ビブラートデプス情報などの各種コントロールデータを含む）に基づいて電子的に楽音を発生させたり、あるいは演奏進行順に順次に供給される予め作成済みの演奏情報に基づいて自動的に楽音を発生する楽音合成機能を有する。また、前記楽音合成機能の実行時においては、１音のうち音が連続する部分である持続音部（ボディ部とも呼ぶ）について、演奏情報に含まれるダイナミクスに基づき新たに使用すべき波形サンプルデータ（以下、単に波形データとも呼ぶ）の選択を行い、該選択された波形データに従って楽音を合成することにより、前記持続音部の楽音として特にベンド奏法やビブラート奏法などの楽音を高品質に再現することのできるようにしている。こうした持続音部に対する楽音合成処理については、後述するように、本明細書では第１実施形態として「ノーマルダイナミクスボディ合成処理」（後述する図４及び図５参照）、第２実施形態として「マニュアルビブラートボディ合成処理」（後述する図６及び図７参照）、第３実施形態として「オートビブラートボディ合成処理」（後述する図８〜図１０参照）などがあり、それぞれ図を分けて説明する。
【００１５】
なお、この実施例に示す電子楽器はここに示す以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。また、音源としては、例えば様々な楽器毎の特有な奏法に対応する波形データとして、アタック部、リリース部、持続音部あるいはジョイント部などの１音についての一部区間において奏法に対応した波形全体を記憶しておき（これを奏法モジュールと呼ぶ）、これらを時系列的に複数組み合わせることで１音又は連続する複数音の楽音を形成することにより、自然楽器固有の各種奏法若しくはアーティキュレーションによる音色変化を忠実に表現した奏法などのリアルな再現とその制御を目的としたＡＥＭ（Articulation Element Modeling）と称する楽音波形制御技術を用いた音源（所謂ＡＥＭ音源）を用いた場合を例にして説明する。
【００１６】
図１に示した電子楽器はコンピュータを用いて構成されており、そこにおいて、上記したような楽音合成機能を実現する各種の「楽音合成処理」（後述する図４〜図１０参照）は、コンピュータが各々の処理を実現する所定のプログラム（ソフトウエア）を実行することにより実施される。勿論、これらの各処理はコンピュータソフトウエアの形態に限らず、ＤＳＰ（ディジタル・シグナル・プロセッサ）によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
【００１７】
本実施例に示す電子楽器は、マイクロプロセッサユニット（ＣＰＵ）１、リードオンリメモリ（ＲＯＭ）２、ランダムアクセスメモリ（ＲＡＭ）３からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。ＣＰＵ１は、この電子楽器全体の動作を制御するものである。このＣＰＵ１に対して、通信バス１Ｄ（例えば、データ及びアドレスバスなど）を介してＲＯＭ２、ＲＡＭ３、外部記憶装置４、演奏操作子５、パネル操作子６、表示器７、音源８、インタフェース９がそれぞれ接続されている。更に、ＣＰＵ１には、タイマ割込み処理（インタラプト処理）における割込み時間や各種時間を計時するタイマ１Ａが接続されている。すなわち、タイマ１Ａは時間間隔を計数したり、所定の演奏情報に従って楽曲を演奏する際の演奏テンポを設定したりするためのテンポクロックパルスを発生する。このテンポクロックパルスの周波数は、パネル操作子６の中の例えばテンポ設定スイッチ等によって調整される。このようなタイマ１ＡからのテンポクロックパルスはＣＰＵ１に対して処理タイミング命令として与えられたり、あるいはＣＰＵ１に対してインタラプト命令として与えられる。ＣＰＵ１は、これらの命令に従って各種処理を実行する。
【００１８】
ＲＯＭ２は、ＣＰＵ１により実行される各種プログラム、あるいは波形メモリとして様々な楽器毎の特有な奏法に対応する波形データ（例えば、ビブラート奏法などの音色変化の有る波形やストレートな音色を持つ波形等）などの各種データを格納するものである。ＲＡＭ３は、ＣＰＵ１が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。ＲＡＭ３の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。外部記憶装置４は、自動演奏の元となる演奏情報や奏法に対応する波形データなどの各種データや、ＣＰＵ１により実行あるいは参照される「楽音合成処理」（図４、図６、図８参照）などの各種制御プログラム等を記憶する。前記ＲＯＭ２に制御プログラムが記憶されていない場合、この外部記憶装置４（例えばハードディスク）に制御プログラムを記憶させておき、それを前記ＲＡＭ３に読み込むことにより、ＲＯＭ２に制御プログラムを記憶している場合と同様の動作をＣＰＵ１にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置４はハードディスク（ＨＤ）に限られず、フレキシブルディスク（ＦＤ）、コンパクトディスク（ＣＤ−ＲＯＭ・ＣＤ−ＲＡＭ）、光磁気ディスク（ＭＯ）、あるいはＤＶＤ（Digital Versatile Disk）等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
【００１９】
演奏操作子５は楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子５は演奏者自身の手弾きによる楽音のマニュアル演奏のために使用できるのは勿論のこと、自動演奏対象とする予め用意されている演奏情報を選択するなどの入力手段として使用することもできる。勿論、演奏操作子５は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよいことは言うまでもない。パネル操作子（スイッチ等）６は、例えば自動演奏対象とする演奏情報を選択するための演奏情報選択スイッチ、演奏の際に使用する音色・効果などの各種演奏パラメータを設定する設定スイッチ等、各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示器７に表示された各種画面の位置を指定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。表示器７は例えば液晶表示パネル（ＬＣＤ）やＣＲＴ等から構成されるディスプレイであって、上記スイッチ操作に応じた各種画面を表示するのは勿論のこと、演奏情報や波形データなどの各種情報あるいはＣＰＵ１の制御状態などを表示することもできる。演奏者は該表示器７に表示されるこれらの各種情報を参照することで、演奏の際に使用する各種演奏パラメータの設定や自動演奏曲の選択などを容易に行うことができる。
【００２０】
音源８は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス１Ｄを経由して与えられた演奏情報を入力し、この演奏情報に基づいて楽音を合成して楽音信号を発生する。ここに示す電子楽器においては、演奏情報内のダイナミクス情報に対応する波形データがＲＯＭ２や外部記憶装置４などから読み出されると、該読み出された波形データはバスラインを介して音源８に与えられて適宜バッファ記憶される。そして、音源８ではバッファ記憶された波形データを所定の出力サンプリング周波数に従い出力する。この音源８から発生された楽音信号は、図示しない効果回路（例えばＤＳＰ（Digital Signal Processor））などにより所定のディジタル信号処理が施され、該信号処理された楽音信号はサウンドシステム８Ａに与えられて発音される。
【００２１】
インタフェース９は該電子楽器と外部の演奏情報生成機器（図示せず）などとの間で各種情報を送受するための、例えばＭＩＤＩインタフェースや通信インタフェースなどである。ＭＩＤＩインタフェースは、外部の演奏情報生成機器（この場合には、他のＭＩＤＩ機器等）からＭＩＤＩ規格の演奏情報を当該電子楽器へ供給したり、あるいは当該電子楽器からＭＩＤＩ規格の演奏情報を他のＭＩＤＩ機器等へ出力するためのインタフェースである。他のＭＩＤＩ機器はユーザによる操作に応じてＭＩＤＩ形式のデータを発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた（若しくは、操作形態からなる）機器であってもよい。通信インタフェースは、例えばＬＡＮやインターネット、電話回線等の有線あるいは無線の通信ネットワーク（図示せず）に接続されており、概通信ネットワークを介して、外部の演奏情報生成機器（この場合には、サーバコンピュータ等）と接続され、当該サーバコンピュータから制御プログラムや演奏情報などの各種情報を該電子楽器に取り込むためのインタフェースである。すなわち、ＲＯＭ２や外部記憶装置４等に制御プログラムや演奏情報などの各種情報が記憶されていない場合に、サーバコンピュータから各種情報をダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース及び通信ネットワークを介してサーバコンピュータへと制御プログラムや演奏情報などの各種情報のダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求された各種情報を通信ネットワークを介して本電子楽器へと配信し、本電子楽器が通信インタフェースを介して各種情報を受信して外部記憶装置４等に蓄積することにより、ダウンロードが完了する。
【００２２】
なお、上記インタフェース９をＭＩＤＩインタフェースで構成した場合、該ＭＩＤＩインタフェースは専用のＭＩＤＩインタフェースを用いるものに限らず、ＲＳ２３２−Ｃ、ＵＳＢ（ユニバーサル・シリアル・バス）、ＩＥＥＥ１３９４（アイトリプルイー１３９４）等の汎用のインタフェースを用いてＭＩＤＩインタフェースを構成するようにしてもよい。この場合、ＭＩＤＩイベントデータ以外のデータをも同時に送受信するようにしてもよい。ＭＩＤＩインタフェースとして上記したような汎用のインタフェースを用いる場合には、他のＭＩＤＩ機器はＭＩＤＩイベントデータ以外のデータも送受信できるようにしてよい。勿論、演奏情報に関するデータフォーマットはＭＩＤＩ形式のデータに限らず、他の形式であってもよく、その場合はＭＩＤＩインタフェースと他のＭＩＤＩ機器はそれにあった構成とする。
【００２３】
図１に示した電子楽器においては、演奏者による演奏操作子の操作に伴い発生される演奏情報、あるいは予め用意されたＳＭＦ（Standard MIDI File）形式等の演奏情報に基づいて楽音を連続的に発生させることのできる楽音合成機能を有すると共に、該楽音合成機能の実行時において、演奏者による演奏操作子５の操作に伴う演奏進行に応じて供給される演奏情報（あるいは、シーケンサーなどから演奏進行順に順次に供給される演奏情報）に含まれるダイナミクス情報に基づいて、持続音部について新たに使用すべき波形データの選択を行い、該選択された波形データに従って楽音を合成するようにしている。そこで、こうした楽音合成機能の概要について、図２を用いて説明する。図２は、当該電子楽器が有する楽音合成機能を説明するための機能ブロック図である。図２において、図中の矢印はデータの流れを表すものである。
【００２４】
楽音合成機能の開始に伴い、まず奏法合成部Ｊ３に対して入力部Ｊ２から演奏情報が演奏進行順に順次に供給される。入力部Ｊ２としては、演奏者による演奏操作に応じて適宜に演奏情報を発生する演奏操作子５や、予めＲＯＭ２等に記憶した演奏情報を演奏進行順に供給するシーケンサー（図示せず）などの入力装置がある。こうした入力部Ｊ２から供給される演奏情報は、ノートオンイベントやノートオフイベント（これらを総称してノート情報と呼ぶ）などの演奏イベントデータと、ダイナミクスやピッチベンドあるいはビブラートスピード・ビブラートデプスなどのコントロールデータとを少なくとも含む。すなわち、入力部Ｊ２を介して入力されるダイナミクス情報には、演奏操作子５の演奏操作に基づきリアルタイムに発生されるもの（例えば鍵押圧時のアフタータッチセンサ出力データなど）もあれば、予め記憶又はプログラムされた自動演奏情報に基づくものもある。奏法合成部Ｊ３では演奏イベントデータやコントロールデータなどを受け取ると、例えばノート情報に対応する１音をアタック部、持続音部（ボディ部）、リリース部などの一部区間毎に区分したり、持続音部はどの時間から始まるかを特定したり、あるいはコントロールデータとして受け取った情報を変換したりするなどして、楽音を合成するために必要とされる各種情報を含む「奏法情報」を生成する。また、その際に、奏法合成部Ｊ３はデータベースＪ１（波形メモリ）にあるデータテーブルなどを参照して、入力されたダイナミクス情報やピッチ情報に対応する持続音部に適用する後述するユニットを選択し、該選択したユニットを特定する情報を該当する「奏法情報」に加える。楽音合成部Ｊ４では奏法合成部Ｊ３が生成した前記「奏法情報」に基づき、データベースＪ１から使用する波形データ（後述するノーマルユニットやビブラートユニットなど）を適宜に読み出して、楽音合成を行うことで楽音が出力される。すなわち、楽音合成部Ｊ４では、「奏法情報」に従って波形データの切り替えを行いながら楽音合成を行う。
【００２５】
ここで、上述したデータベースＪ１（波形メモリ）に記憶される持続音部に適用するデータ構造について、図３を用いて簡単に説明する。図３（ａ）はデータベースのデータ構造を示す概念図であり、図３（ｂ）〜（ｄ）はユニット単位に記憶されている波形データの一実施例を示す概念図である。
【００２６】
データベースＪ１においては、持続音部に適用する波形データとそれに関連するデータ群とを「ユニット」として記憶している。１つの「ユニット」は、楽音合成時において１つのかたまりとして処理できる波形単位である。図３（ａ）に示すように、各「ユニット」はダイナミクス値にそれぞれ対応付けられており、こうしたダイナミクス値に対応付けられた複数のユニットを１組として、各音高（図では便宜上Ｃ３、Ｄ３、Ｅ３のみ示している）毎に少なくとも１組ずつ記憶している。例えば、１つの音色（ピアノ等の楽器音色、つまり音色情報で選択可能な１つの音色）について、３５種の音高（音階音）のそれぞれに対応して、２０種のダイナミクス値に対応付けられたユニットを記憶するものとすると、データベース全体では当該音色について７００個（３５×２０）のユニットを記憶することになる。この「ユニット」として記憶される波形データは、同じ音高であっても各ダイナミクス値に対応する各ユニットのそれぞれが異なる音色上の特徴を持つ楽音波形（つまり波形形状が異なる楽音波形）からなるものとすることができる。なお、個別の音高（音階音）毎にこのようなユニットをそれぞれ記憶することなく、２又はそれ以上の音高（例えばＣ３とＣ＃３など）のグループに対応してこのようなユニットを記憶するようにしてよい。
【００２７】
さらに、持続音部における各種の奏法（ノーマルや、ビブラート、ピッチベンドなど）に対応して（すなわち、後述する各種「楽音合成処理」の実施形態（後述する図４〜図１０参照）に対応して）、異なる内容の波形データを用いる（記憶する）。例えばノーマル奏法に対応する「ノーマルダイナミクスボディ合成処理」（後述する図４及び図５参照）では、図３（ｂ）に示すような１周期分の波形を記録した「ユニット」（これをノーマルユニットと呼ぶ）を用いる。このようなノーマルユニットの1周期波形が、上述のように、同一音色につき、各種音高毎に複数のダイナミクス値に対応して記憶されている。この場合、同じダイナミクス値に対応するノーマルユニットの波形データを繰り返し読み出しても、その音色は時間変化せず、ストレートな音色特性を示す。しかし、ダイナミクス値が変化すると、使用されるノーマルユニットが変更されるので、それに応じて音色も微妙に変化する。
【００２８】
他方、オートビブラート奏法に対応する「オートビブラートボディ合成処理」（後述する図８〜図１０参照）では、図３（ｃ）に示すようなビブラート１周期にわたる複数周期（又は複数の区間）からなる波形データ（ビブラート付与された波形データ）を記録した「ユニット」（これをビブラートユニットと呼ぶ）を使用する。図３（ｃ）では、ビブラート１周期において、ｎ周期（又はｎ区間）分の波形データが存在することが示されている。このビブラートユニットの波形データは（オリジナルのビブラート波形同様に）ビブラート１周期の間で音色が微妙に又は複雑に時間変化し、勿論その各周期（又は区間）毎の波形ピッチも変化（ビブラート）している。なお、このビブラートユニットにおけるｎ周期（又はｎ区間）の波形データは、オリジナル波形において元々連続しているものであってもよいし、あるいは、連続していないものであってもよい。ビブラートユニットにおけるピッチずれを含む各波形データを有効に利用しうるようにするために、各波形データに付属してピッチ情報（ピッチずれ情報）を持たせるようにしている。このようなビブラートユニットが、上述のように、同一音色（例えばバイオリンのビブラート奏法のような奏法音色）につき、各種音高毎に複数のダイナミクス値に対応してそれぞれ記憶されている。
【００２９】
さらに、マニュアルビブラート（又はベンド）奏法に対応する「マニュアルビブラート（又はベンド）ボディ合成処理」（後述する図６及び図７参照）で使用する波形データとしては、図３（ｄ）に示すように、１つのダイナミクス値に対応して複数ｍ個の異なるピッチずれ（例えばセント値）にそれぞれ対応する複数のユニット（波形データ）を記憶する。例えば、或る音色の或る１つの音高（ノート）に対応する或る１つのダイナミクス値に対応して、ピッチずれなし（０セント）の波形データを含む−５０セント乃至＋５０セントの範囲の複数ステップ（例えば１０セントきざみ）のピッチずれに対応する波形データを、それぞれ個別の「ユニット」として記憶する。この場合、各ユニットは、その波形データに付属してピッチ情報（ピッチずれ情報）を持ち、指示されたピッチずれに対応するユニット（１周期波形）を検索／選択することができるようになっている。なお、「マニュアルビブラート（又はベンド）ボディ合成処理」用の波形データとして、図３（ｄ）に示すような専用の波形データを記憶せずに、「オートビブラートボディ合成処理」用の波形データ（上述の「ビブラートユニット」のデータ）を使用するようにしてもよい。その場合は、図３（ｃ）に示すような「ビブラートユニット」における各１周期波形データが持つピッチ情報（ピッチずれ情報）を参照して、必要なピッチずれに対応する波形データを「ビブラートユニット」から抽出するようにする。
【００３０】
なお、ノーマルユニット用の波形データは1周期に限らず、２又はそれ以上の複数周期の波形で構成してもよいし、あるいは、公知のように１／２周期等、１周期未満の波形をノーマルユニットの波形データとして記憶してもよい。また、マニュアルビブラート（又はベンド）用の波形データも同様に1周期からなるものに限らない。また、ビブラートユニットの波形データは、ビブラート１周期に限らず、複数のビブラート周期にわたるものであってもよく、あるいは、ビブラートの１／２周期など、ビブラート１周期未満からなるものであってもよい。
【００３１】
上記データベースＪ１において、各「ユニット」毎に波形データと共に付加的に記憶されるデータ群としては、例えばその記憶しているオリジナルの波形データのダイナミクス値やピッチ情報（正規の音高ピッチ及びそれに対するピッチずれを示す情報）などの情報がある。さらに、ビブラート１周期にわたる全波形データを記録した「ビブラートユニット」においてはビブラート１周期の情報としてユニットの長さや平均パワー値などの情報が記録される。こうしたデータ群は、「データテーブル」として一括管理できるようにしている。なお、ビブラートユニットにおいては、前述の通り、該ビブラートユニット内の各波形データに付属してピッチ情報（ピッチずれ情報）をそれぞれ持たせており、所望のピッチずれに対応する波形データを検索することができるようになっている。
【実施例１】
【００３２】
次に、上記データベースＪ１に記憶したユニットを利用して持続音部の楽音を生成する楽音合成処理について、実施形態をわけてそれぞれ説明する。まず、ダイナミクス情報に応じて選択されたノーマルユニットの波形を用いて楽音を生成する「ノーマルダイナミクスボディ合成処理」について、図４及び図５を用いて説明する。図４は、「ノーマルダイナミクスボディ合成処理」の一実施例を示したフローチャートである。当該処理は演奏開始と共にカウントが開始されるタイマに応じて、該電子楽器におけるＣＰＵ１により例えば１ｍｓ（ミリ秒）毎に実行される割り込み処理である。この「ノーマルダイナミクスボディ合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、楽音の持続部を「ノーマルダイナミクスボディ」の特性で合成するよう指示されたモードにおいて実行される処理である。なお、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、このアタック部の波形合成処理に引き続いて、この「ノーマルダイナミクスボディ合成処理」が行われる。
【００３３】
ステップＳ１では、現在合成中の波形（アタック部波形）がアタック部の終端に到来したか否か、又はその後、所定の時間間隔（例えば２５ｍｓ間隔）の境目のタイミングが到来したか否かを判定する。アタック部の終端に到達していない又はその後の所定の時間間隔（２５ｍｓ毎）の境目のタイミングが到来していないと判定した場合には（ステップＳ１のＮＯ）、当該処理を終了し、次の割り込みまでこの図４の処理は行われない。つまり、アタック部の終端のタイミングまでの間においてはアタック部の波形データに基づきアタック部の楽音合成が行われ、この「ノーマルダイナミクスボディ合成処理」はまだ実質的には行われない。また、アタック部以降における２５ｍｓ間隔の境目のタイミングでない持続音部においても、後述するような新たなノーマルユニットを読み出す処理（Ｓ３）を行うことなく次の割り込み時刻（１ｍｓ後）まで待つ。したがって、その間は入力ダイナミクス値に応じた波形データの切り替えが行われない。他方、アタック部の終端が到来した又は所定の時間間隔（２５ｍｓ毎）の境目のタイミングが到来したと判定した場合には（ステップＳ１のＹＥＳ）、現在の最新の入力ダイナミクス値を取得する（ステップＳ２）。入力ダイナミクス値とは、前述のように入力されるダイナミクス情報の示す値のことである。ステップＳ３は、予め取得済みのノート情報と前記取得した入力ダイナミクス値に応じてデータベースを参照し、データベースから該当するノーマルユニットを１つ選択して、奏法情報を生成する。すなわち、まず、アタック部の終端において最新の入力ダイナミクス値を取得して該取得した入力ダイナミクス値に対応するノーマルユニットを選択し、奏法情報を生成する。その後、一定周期（２５ｍｓ）間隔毎に最新の入力ダイナミクス値を取得し、取得した入力ダイナミクス値に対応するノーマルユニットを選択し、奏法情報を生成する。ステップＳ４は、生成された奏法情報に従って楽音を合成する。このようにして、「ノーマルダイナミクスボディ合成処理」では、持続音部に対する奏法情報の生成を、アタック部終了後から開始される持続音部の楽音合成中に一定周期間隔（２５ｍｓ）で行い、その際には取得した最新の入力ダイナミクス値に対応するノーマルユニットの波形データをデータベースから選択し、これに基づき生成した奏法情報に従って楽音を合成するようにしている。
【００３４】
ここで、上記「ノーマルダイナミクスボディ合成処理」（図４参照）による楽音合成手順を、図５を用いて説明する。図５は、「ノーマルダイナミクスボディ合成処理」による楽音合成手順を模式的に説明するための概要図である。図５（ａ）は入力ダイナミクス値の時間変化を例示し、図５（ｂ）は各ダイナミクス値に対応してデータベース内に記憶されているノーマルユニットの存在を例示しを、図５（ｃ）は所定時間間隔２５ｍｓで入力ダイナミクス値に応じて選択される各ノーマルユニットの時系列的組み合わせを例示する。なお、この例では、Ｃ３に対応する楽音を生成するものとし、アタック部の波形生成前に、当該発生すべき楽音「Ｃ３」のノート情報が取得済みであるものとする。
【００３５】
例えば、時刻ａがアタック部の終端である場合、そのときの入力ダイナミクス値を取得し、既に取得済みのノート情報（音高「Ｃ３」）と該新たに取得した入力ダイナミクス値とに基づき、データベースに記憶された該当音高（Ｃ３）についての複数のノーマルユニット（Ａ〜Ｆ・・・）の中から当該新たに取得した入力ダイナミクス値に対応するノーマルユニットＢを１つ選択して奏法情報を生成する。該選択した奏法情報に基づいてノーマルユニットＢの波形データを繰り返し読み出し、持続部の楽音波形を生成する。その際、先行するアタック部の終端の波形と後続する該ノーマルユニットＢの波形を適宜クロスフェード合成するとよい。クロスフェード合成によって滑らかに波形を切り替えることができる。その後、時刻ｂで、所定の時間間隔（２５ｍｓ間隔）の境目が到来すると、そのときの入力ダイナミクス値を取得し、該当する音高（Ｃ３）についての該新たに取得した入力ダイナミクス値に対応するノーマルユニットＥをデータベースから１つ選択して奏法情報を生成する。該選択した奏法情報に基づいてノーマルユニットＥの波形データを繰り返し読み出し、持続部の楽音波形を生成する。その際、先行するノーマルユニットＢの波形と後続する該ノーマルユニットＥの波形を適宜クロスフェード合成するとよい。さらに時間が経過して、所定の時間間隔（２５ｍｓ間隔）の境目と一致する時刻ｃになると、そのときの入力ダイナミクス値を取得し、該当する音高（Ｃ３）のデータベースから該入力ダイナミクス値に対応するノーマルユニットＤを１つ選択して奏法情報を生成する。該選択した奏法情報に基づいてノーマルユニットＤの波形データを繰り返し読み出し、持続部の楽音波形を生成する。その際、先行するノーマルユニットＥの波形と後続する該ノーマルユニットＤの波形を適宜クロスフェード合成するとよい。このようにして、「ノーマルダイナミクスボディ合成処理」では、一定周期（２５ｍｓ）間隔毎にダイナミクス情報に応じて使用するノーマルユニットを切り替えて持続部の楽音を合成するようにしている。なお、クロスフェード合成を行う期間は２５ｍｓに限らず、もっと短くてもよいし、長くてもよい。
【実施例２】
【００３６】
次に、ダイナミクス情報とピッチベンド情報との組み合わせによって持続部の波形データを選択することにより、ビブラート奏法あるいはピッチベンド奏法に従う持続部の楽音を合成する「マニュアルビブラート（又はベンド）ボディ合成処理」について、図６及び図７を用いて説明する。図６は「マニュアルビブラート（又はベンド）ボディ合成処理」の一実施例を示したフローチャートである。当該処理についても、演奏開始と共に該電子楽器におけるＣＰＵ１により例えば１ｍｓ（ミリ秒）毎に実行される割り込み処理である。この「マニュアルビブラート（又はベンド）ボディ合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、楽音の持続部を「マニュアルビブラート（又はベンド）ボディ」の特性で合成するよう指示されたモードにおいて実行される処理である。なお、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、このアタック部の波形合成処理に引き続いて、この「マニュアルビブラート（又はベンド）ボディ合成処理」が行われる。「マニュアルビブラート（又はベンド）ボディ合成処理」においては、ノート情報によって発生すべき楽音の音高（ノート）が指定され、かつ、ホイール等のピッチ変調操作手段の操作に応じてピッチ変調情報がリアルタイムで入力される。
【００３７】
図６において、ステップＳ１１では、判定する時間間隔が５０ｍｓである点を除き、図４のステップＳ１と略同様の処理を行う。ステップＳ１２では、図４のステップＳ２と同様に、現在の最新の入力ダイナミクス値を取得する処理を行う。すなわち、まず、アタック部の終端で入力ダイナミクス値を取得し、その後、５０ｍｓ間隔で最新の入力ダイナミクス値を取得する。ステップＳ１３では、既に取得済みのノート情報と新たに取得した入力ダイナミクス値に基づき、データベースから該当する音高及びダイナミクス値のベンド用ユニット群（又はビブラートユニット）を選択する。ステップＳ１４では、前記選択されたベンド用ユニット群（又はビブラートユニット）のうち、現在入力された（リアルタイムの）ピッチ変調情報に従って１つのベンド用ユニット（又はビブラートユニット中の１区間の波形データ）を選択し、これを加工して奏法情報を生成する。ここで、加工とは、ピッチ調整処理を含んでいてよい。すなわち、入力された（リアルタイムの）ピッチ変調情報が指示するピッチずれに一致するピッチずれを持つベンド用ユニット（又はビブラートユニット中の１区間の波形データ）が存在していない場合、最も近いピッチずれを持つベンド用ユニット（又はビブラートユニット中の１区間の波形データ）を選択し、その生成ピッチを調整することで、ピッチ変調情報が指示するピッチずれが得られるようにする。こうして必要な奏法情報が生成され、ステップＳ１５では、生成された奏法情報に従って楽音を合成する。この場合、前述と同様に変化前後の波形をクロスフェードして滑らかに波形が切り替わるようにするのがよい。なお、図６の例では、ステップＳ１４及びＳ１５の処理は、ステップＳ１１がＹＥＳに分岐したときに１回だけ実行されるようになっており、入力ピッチ変調情報の取り込みは入力ダイナミクス値の取り込みと同じ時間間隔で行われる。しかし、これに限らず、１ｍｓ又はその他適宜の割込み周期で、入力されたピッチ変調情報の変化を随時チェックし、該入力ピッチ変調情報に応じてピッチ変動する楽音合成を随時行うようにしてもよい。その場合は、例えば、図６において、アタック部の終端に達した後で所定時間間隔５０ｍｓの境目に達していないときは、入力ピッチ変調情報が変化したか否かをチェックするようにステップＳ１１の処理を変更し、入力ピッチ変調情報が変化したならばステップＳ１４を実行するように、処理の流れを一部変更すればよい。
【００３８】
ここで、上記「マニュアルビブラート（又はベンド）ボディ合成処理」（図６参照）による楽音合成手順を、図７を用いて具体的に説明する。図７は、「マニュアルビブラート（又はベンド）ボディ合成処理」による楽音合成手順を例示的に説明するための模式図である。図７（ａ）は入力されたピッチ変調情報によって指示されるピッチベンド量の時間変化を例示し、図７（ｂ）はデータベース内における１つの入力ダイナミクス値に応じて選択されたベンド用ユニット群（又はビブラートユニット内の複数の波形データ）とそれに付属するピッチずれ情報を例示し、図７（ｃ）はピッチ変調情報及び所定時間間隔５０ｍｓに取得する入力ダイナミクス値に応じて選択されるベンド用ユニット（又はビブラートユニット内の波形データ）の時系列的組み合わせを例示する。
【００３９】
例えば、時刻ｔ１がアタック部の終端又はその後の所定の時間間隔（５０ｍｓ間隔）の境目と一致するタイミングである場合に、最新の入力ダイナミクス値を取得し、予め取得済みのノート情報と該取得した入力ダイナミクス値に応じて、データベースにおける該当する音高についての複数組のベンド用ユニット群（又はビブラートユニット）の中から該取得した入力ダイナミクス値に対応する１組のベンド用ユニット群（又は１つのビブラートユニット）を選択する。次に、現時点での最新のピッチ変調情報に応じて、該選択された１組のベンド用ユニット群（又は１つのビブラートユニット）の中から該当するピッチずれを持つベンド用ユニット（又はビブラートユニット中の一部区間の波形データ）（例えば「２」）を選択して奏法情報を生成する。こうして生成された奏法情報に基づく新たな楽音波形（後続波形）は、前述のように、それまでの楽音波形（先行波形）とクロスフェード合成されて切り替えられる。演奏時間の経過に従い時刻ｔ１の次に所定の時間間隔（５０ｍｓ間隔）の境目と一致するタイミングである時刻ｔ２になると、そのときの入力ダイナミクス値を取得し、該当する音高のデータベースから該入力ダイナミクス値に対応する１組のベンド用ユニット群（又は１つのビブラートユニット）を選択し、また、現時点での最新のピッチ変調情報に応じて、該選択された１組のベンド用ユニット群（又は１つのビブラートユニット）の中から該当するピッチずれを持つベンド用ユニット（又はビブラートユニット中の一部区間の波形データ）（例えば「４」）を選択して奏法情報を生成する。生成された奏法情報に基づく新たな楽音波形は、先行波形とクロスフェード合成されて滑らかに切り替えられる。なお、前述のように入力ピッチ変調情報の取り込みを随時行う場合は、既に取得済みの入力ダイナミクス値に応じたベンド用ユニット群（又は１つのビブラートユニット）を使用すればよい。例えば、時刻ｔ１とｔ２の間で、入力ピッチ変調情報がベンド用ユニット（又はビブラートユニット中の一部区間の波形データ）の「３」を選択するものに変化したならば、時刻ｔ１で取得した入力ダイナミクス値に対応する１組のベンド用ユニット群（又は１つのビブラートユニット）からそれに対応するもの（「３」）を選択する。この場合、所定時間間隔で取得した入力ダイナミクス値を適宜バッファ記憶しておくのは勿論である。
【実施例３】
【００４０】
次に、「オートビブラートボディ合成処理」について、図８を用いて説明する。図８は、「オートビブラートボディ合成処理」の一実施例を示したフローチャートであり、当該処理についても、演奏開始と共に該電子楽器におけるＣＰＵ１により割り込み処理として例えば１ｍｓ（ミリ秒）毎に実行される。この「オートビブラートボディ合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、楽音の持続部を「オートビブラートボディ」の特性で合成するよう指示されたモードにおいて実行される処理である。前述同様、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、このアタック部の波形合成処理に引き続いて、この「オートビブラートボディ合成処理」が行われる。「オートビブラートボディ合成処理」においては、ノート情報によって発生すべき楽音の音高（ノート）が指定され、該音高と入力ダイナミクス値に応じて選択された「ビブラートユニット」の波形データを自動的に再生することでビブラートの付与された楽音波形の生成を行う。従って、自動演奏データに基づきビブラート音を発生するような場合に有利である。なお、この「オートビブラートボディ合成処理」においては、追って詳しく説明するように、「ビブラートユニット」に基づき再生されるビブラート音のビブラートスピード及びビブラート深さはそれぞれの制御データによって可変制御することができ、また、ピッチベンド情報に応じて当該ビブラート音全体をピッチシフトすることができる。また、この「オートビブラートボディ合成処理」では、入力ダイナミクス値によるユニット選択は、所定時間間隔を計測することによって行われるのではなく、「ビブラートユニット」の１サイクル分（例えばビブラート１周期分）の再生が終わるごとに行われる。すなわち、「ビブラートユニット」の１サイクル分の再生中は、入力ダイナミクス値の変化は無視される。
【００４１】
図８において、ステップＳ２１では、現在合成中の波形（アタック部波形）がアタック部の終端に到来したか否か、又はその後、現在合成中の持続部波形として使用中のビブラートユニットの終端が到来したか否かを判定する。アタック部の終端に到達していない又は現在使用中のビブラートユニットの終端に到達していないと判定した場合には（ステップＳ２１のＮＯ）、当該処理を終了し、次の割り込みまでこの図８の処理は行われない。つまり、アタック部の終端のタイミングまでの間においてはアタック部の波形データに基づきアタック部の楽音合成が行われ、この「オートビブラートボディ合成処理」は実質的には行われない。また、アタック部以降においては、ビブラートユニットの１サイクル分の波形データの再生途中においては、該再生中のビブラートユニットを変更する処理を行うことなく、次の割り込み時刻（１ｍｓ後）まで待つ。したがって、その間は入力ダイナミクス値に応じた波形データ（ビブラートユニット）の切り替えが行われない。他方、アタック部の終端が到来した又は現在使用中のビブラートユニットの終端が到来した場合には（ステップＳ２１のＹＥＳ）、現在の最新の入力ダイナミクス値を取得する（ステップＳ２２）。ステップＳ２３は、予め取得済みのノート情報と前記取得した入力ダイナミクス値に応じてデータベースを参照し、データベースから該当するビブラートユニットを選択する。ステップＳ２４は、選択されたビブラートユニットを入力されたピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報に基づき加工して、奏法情報を生成する。ここで、加工とは、例えば入力されたピッチベンド情報に応じて当該選択されたビブラートユニットの波形ピッチをまるごとピッチシフトしたり、入力されたビブラートスピードデータに応じてビブラート周期を増／減する設定を行ったり、入力されたビブラート深さデータに応じてビブラート深さを設定したりするなどである。ステップＳ２５は、生成された奏法情報に従って楽音を合成する。なお、図８の例では、ステップＳ２４及びＳ２５の処理は、ステップＳ２１がＹＥＳに分岐したときに１回だけ実行されるようになっており、入力ピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報の取り込みは入力ダイナミクス値の取り込みと同じタイミングで行われる。しかし、これに限らず、１ｍｓ又はその他適宜の割込み周期で、入力されたピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報の変化を随時チェックし、該情報の変化に応じてオートビブラートの設定変更を随時行うようにしてもよい。その場合は、例えば、図８において、アタック部の終端に達した後でかつビブラートユニットの再生中に、入力ピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報が変化したか否かをチェックするようにステップＳ２１の処理を変更し、入力ピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報が変化したならばステップＳ２４を実行するように、処理の流れを一部変更すればよい。
【００４２】
ここで、上記「オートビブラートボディ合成処理」（図８参照）でのステップＳ２４における加工処理例を、ビブラートスピードを加工する場合について図９を用いて、ビブラートの深さを加工する場合について図１０を用いてそれぞれ具体的に説明する。
【００４３】
図９は、「オートビブラートボディ合成処理」においてビブラートスピードを加工する場合のビブラートユニットに対する加工手法を模式的に説明するための図である。図９（ａ）は予め取得済みのノート情報と取得した入力ダイナミクス値に応じて選択された元のビブラートユニットを示し、この元のビブラートユニットをそのまま再生した場合が基本のビブラートスピードであるとする。図９（ｂ）はビブラートスピードをそれよりも遅くする場合の波形合成例を示し、図９（ｃ）はビブラートスピードをそれよりも速くする場合の波形合成例を示す。図９（ａ）においては、理解しやすくするために、元のビブラートユニットにおける波形データが持つオリジナルの振幅エンベロープ及びピッチ変動状態も図示している。そして、図９（ｂ）、（ｃ）には、参考のために、ビブラートスピードの増／減調整に伴って時間軸方向に伸縮される振幅エンベロープ及びピッチ変動状態も示されている。
【００４４】
図９（ａ）に示す例では、元のビブラートユニットが番号１〜８の８個の区間の波形データからなる例を示しており、各区間の波形データ（１〜８）が所定の時間間隔で順次に切り替えられ、かつ、複数周期づつ繰り返して読み出され、かつ、隣り合う区間の波形データ同士がクロスフェード合成される。なお、この場合、前述のように、１区間の波形データは、典型的には1周期波形からなるが、それに限らず、複数周期波形又は1周期未満の波形でもよい。ビブラートスピードを遅くする（ビブラート周期を長くする）場合は、図９（ｂ）に示すように、ビブラートユニットを構成する各区間の波形データ（１〜８）の順次切り替えの時間間隔を広くしてクロスフェード合成する。反対に、ビブラートスピードを速くする（ビブラート周期を短くする）場合は、図９（ｃ）に示すように、ビブラートユニットを構成する各区間の波形データ（１〜８）の順次切り替えの時間間隔を狭くしてクロスフェード合成する。なお、ビブラートユニット中のすべての区間の波形データ（１〜８）を使用したのでは、望みの短いビブラート周期が得られない場合は、適当な区間の波形データを間引きすればよい。
【００４５】
なお、合成される波形のピッチと振幅エンベロープは、元のビブラートユニットが持つものをそのまま使用してもよい。あるいは、図９（ｂ）、（ｃ）に示したような時間軸伸縮制御された振幅エンベロープ及びピッチ変動エンベロープを別途生成し、この生成した振幅エンベロープ及びピッチ変動エンベロープに従って、上記クロスフェード合成する波形データのピッチと振幅を更に制御するようにしてもよい。このようなピッチ及び振幅の時間軸伸縮制御は、本出願人が提案済の公知技術を使用することで実現できるので、詳細説明は省略する。
【００４６】
図１０は、「オートビブラートボディ合成処理」においてビブラート深さを加工する場合のビブラートユニットに対する加工手法を模式的に説明する図である。図１０（ａ）に予め取得済みのノート情報と取得した入力ダイナミクス値に応じて選択された元のビブラートユニットを示し、この元のビブラートユニットをそのまま再生した場合が基本のビブラート深さであるとする。図１０（ｂ）はビブラート深さをそれよりも浅くした場合を示し、図１０（ｃ）はビブラート深さをそれよりも深くした場合を示す。なお、図１０においては、元のビブラートユニットが番号１〜７の７個の区間の波形データからなる例を示しており、振幅エンベロープ及びピッチ変動状態をあわせて図示している。ビブラートユニットの持つビブラートの深さより浅くする場合には、浅いピッチずれに相当する区間の波形データをビブラートユニットから選択し、これを使いまわして浅い深さのビブラート楽音波形を合成する。例えば、−５０セント〜０セント〜＋５０セントの範囲で変化するビブラートユニットを使用してその深さを２分の１の深さにする場合に、−２５セント〜０セント〜＋２５セントの範囲のピッチずれの波形データを使用し、それよりもピッチずれの大きい波形データは使用しない。図１０（ｂ）では、ビブラートユニット内の各区間の波形データのうち、ピッチが−２５セント〜０セント〜＋２５セントの範囲にある１番目、４番目、７番目の区間の波形データを選択して使用し、それよりもピッチずれの大きい２番目、３番目、５番目、６番目の区間の波形データは使用しないことが示されている。反対に、ビブラートユニットの持つビブラートの深さより深くする場合には、図１０（ｃ）に示すように、ビブラートユニット内の全ての区間の波形データを使用し、かつ、ピッチずれが深くなるように加工したピッチ変動エンベロープに従って各区間の波形データのピッチをより高く又はより低くするように制御すればよい。なお、これに限らず、当該ビブラートユニット内において浅いビブラートと深いビブラートの波形データなど各種の深さの波形データをそれぞれ予め記憶しておき、ビブラート深さ情報に応じていずれかの波形データを選択して（又は組み合わせてつまり補間して）用いるようにしてもよい。なお、図示のように、ビブラート深さを浅くした場合には振幅エンベロープの大小レベル変動幅が小さくなるように振幅エンベロープ制御し、他方、ビブラート深さを深くした場合には振幅エンベロープの大小レベル変動幅が大きくなるように振幅エンベロープ制御するとよい。
【００４７】
本発明においては持続音部分の楽音を発生するときに入力ダイナミクス値を所定の時間間隔で取得することを特徴としているが、この所定の時間間隔とは、１つの持続音の発生中に常に一定の間隔を保持するものでなくてもよく、最初は２０ｍｓ間隔、何回か後は３０ｍｓ間隔、更に何回か後は４０ｍｓ間隔、というように適宜変化させてもよいものであり、それによっても本発明の目的を達成することができる。
【００４８】
なお、本発明において使用する波形データは、上述したような各種奏法に対応して「奏法モジュール」化されたものに限らず、その他のタイプのものであってもよい。また、各ユニットの波形データは、メモリに記憶したＰＣＭ、ＤＰＣＭ、ＡＤＰＣＭのような適宜の符号化形式からなる波形サンプルデータを単純に読み出すことで生成されるようなものであってもよいし、あるいは、高調波合成演算やＦＭ演算、ＡＭ演算、フィルタ演算、フォルマント合成演算、物理モデル音源など、各種の公知の楽音波形合成方式を適宜採用したものであってもよいことは言うまでもない。すなわち、音源８における楽音信号発生方式は、いかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるＦＭ方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるＡＭ方式等の公知の方式を適宜採用してよい。このように、音源回路８の方式は波形メモリ方式、ＦＭ方式、物理モデル方式、高調波合成方式、フォルマント合成方式、ＶＣＯ＋ＶＣＦ＋ＶＣＡのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源８を構成するものに限らず、ＤＳＰとマイクロプログラム、あるいはＣＰＵとソフトウェアを用いて音源回路８を構成するようにしてもよい。さらに、共通の回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、各発音チャンネルがそれぞれ専用回路で構成されるようなものであってもよい。
【００４９】
なお、上述した第３の実施形態である「オートビブラートボディ合成処理」（図８参照）のように、ピッチのずれた複数区間の波形データを１ユニットとしてデータベースに記憶するものとしては、ビブラートユニットに限らず、その他の適宜のピッチ変動する楽音波形（例えばトリル奏法など）のユニットであってもよい。
なお、上述した各楽音合成処理における楽音合成の方式としては、既存の演奏情報を本来の演奏時間到来前に先行取得しておき、これを解析して楽音を合成する所謂プレイバック方式であってもよいし、リアルタイムに供給された演奏情報に基づき楽音を合成するリアルタイム方式のどちらであってもよい。
なお、時系列的に順次選択され生成された複数のユニットの波形同士を接続する手法は、クロスフェード合成に限らず、例えば生成されたユニットの各波形同士をフェーダーによるミックスする手法などであってもよい。
【００５０】
なお、この奏法自動判定装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、演奏操作子、表示器、音源等を１つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、ＭＩＤＩインタフェースや各種ネットワーク等の通信手段を用いて各機器を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置や自動演奏ピアノのような自動演奏装置、ゲーム装置、携帯電話等の携帯型通信端末などに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバコンピュータ側に持たせ、端末とサーバコンピュータとからなるシステム全体として所定の機能を実現するようにしてもよい。すなわち、本発明に従う所定のソフトウエア又はハードウエアを用いることによって、入力ダイナミクス値、ピッチ等に基づいて、データベースに記憶されたノーマルユニット又はビブラートユニットの中から適宜に用いるユニットを切り替えながら楽音を合成することのできるようにしたものであればどのようなものであってもよい。
【図面の簡単な説明】
【００５１】
【図１】この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。
【図２】楽音合成機能を説明するための機能ブロック図である。
【図３】データベースに記憶される持続音部に適用する波形データを示す概念図であり、（ａ）はデータベースのデータ構造図、（ｂ）〜（ｄ）は各種のユニットの一例を示す図である。
【図４】ノーマルダイナミクスボディ合成処理の一実施例を示したフローチャートである。
【図５】ノーマルダイナミクスボディ合成処理による楽音合成手順を具体的に説明するための概要図である。
【図６】マニュアルビブラート（又はベンド）ボディ合成処理の一実施例を示したフローチャートである。
【図７】マニュアルビブラート（又はベンド）ボディ合成処理による楽音合成手順を例示的に説明するための模式図である。
【図８】オートビブラートボディ合成処理の一実施例を示したフローチャートである。
【図９】オートビブラートボディ合成処理においてビブラートスピードを加工する場合のビブラートユニットに対する加工手法を模式的に説明するための図である。
【図１０】オートビブラートボディ合成処理においてビブラート深さを加工する場合のビブラートユニットに対する加工手法を模式的に説明する図である。
【符号の説明】
【００５２】
１…ＣＰＵ、１Ａ…タイマ、２…ＲＯＭ、３…ＲＡＭ、４…外部記憶装置、５…演奏操作子（鍵盤等）、６…パネル操作子、７…表示器、８…音源、８Ａ…サウンドシステム、９…インタフェース、１Ｄ…通信バス、Ｊ１…データベース、Ｊ２…入力部、Ｊ３…奏法合成部、Ｊ４…楽音合成部
【図１】
2007011217.tif 000003
【図２】
2007011217.tif 000004
【図３】
2007011217.tif 000005
【図４】
2007011217.tif 000006
【図５】
2007011217.tif 000007
【図６】
2007011217.tif 000008
【図７】
2007011217.tif 000009
【図８】
2007011217.tif 000010
【図９】
2007011217.tif 000011
【図１０】
2007011217.tif 000012