JP2007011217A - 楽音合成装置及びプログラム - Google Patents
楽音合成装置及びプログラム Download PDFInfo
- Publication number
- JP2007011217A JP2007011217A JP2005195104A JP2005195104A JP2007011217A JP 2007011217 A JP2007011217 A JP 2007011217A JP 2005195104 A JP2005195104 A JP 2005195104A JP 2005195104 A JP2005195104 A JP 2005195104A JP 2007011217 A JP2007011217 A JP 2007011217A
- Authority
- JP
- Japan
- Prior art keywords
- waveform data
- acquired
- waveform
- unit
- vibrato
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/02—Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/46—Volume control
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/008—Means for controlling the transition from one tone waveform to another
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/155—Musical effects
- G10H2210/195—Modulation effects, i.e. smooth non-discontinuous variations over a time interval, e.g. within a note, melody or musical transition, of any sound parameter, e.g. amplitude, pitch, spectral response, playback speed
- G10H2210/201—Vibrato, i.e. rapid, repetitive and smooth variation of amplitude, pitch or timbre within a note or chord
Abstract
【課題】 ビブラート奏法などをより忠実に再現した楽音を高品質に合成する。
【解決手段】 所定の時間間隔で間欠的にダイナミクス値を取得し、記憶手段に記憶した持続音用の波形データの中から該取得したダイナミクス値に対応する持続音用の波形データを取得する。該取得した波形データを合成することで、1音の持続音部分にあたる範囲の楽音波形を生成する。このように、予め記憶しておいた複数の持続音用の波形データから使用すべき波形データを所定の時間間隔で間欠的にその時点におけるダイナミクス値に応じて取得し、これを用いて楽音を合成するので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるだけでなく、また入力ダイナミクス値に応じてその楽音特性を可変制御しうることから、持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる。
【選択図】 図5
【解決手段】 所定の時間間隔で間欠的にダイナミクス値を取得し、記憶手段に記憶した持続音用の波形データの中から該取得したダイナミクス値に対応する持続音用の波形データを取得する。該取得した波形データを合成することで、1音の持続音部分にあたる範囲の楽音波形を生成する。このように、予め記憶しておいた複数の持続音用の波形データから使用すべき波形データを所定の時間間隔で間欠的にその時点におけるダイナミクス値に応じて取得し、これを用いて楽音を合成するので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるだけでなく、また入力ダイナミクス値に応じてその楽音特性を可変制御しうることから、持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる。
【選択図】 図5
Description
この発明は、波形メモリ等に記憶した波形サンプルデータに基づいて楽音あるいは音声若しくはその他任意の音を合成する楽音合成装置及びプログラムに関し、特に、音の持続する持続音部で楽音音量レベル情報(ダイナミクス値)に応じて波形が変化する高品質な楽音合成を行う楽音合成装置及びプログラムに関する。また、ビブラート奏法など持続音部でのピッチ変動を含む奏法に従う楽音波形を音量レベル情報(ダイナミクス値)に応じて波形が変化するよう高品質に合成する楽音合成装置及びプログラムに関する。
波形メモリにおいて、PCM(パルス符号変調)又はDPCM(差分PCM)又はADPCM(適応差分PCM)等の任意の符号化方式で符号化した波形サンプルデータを記憶しておき、これを所望のピッチに対応して読み出すことにより楽音を合成する、所謂「波形メモリ読み出し」による楽音合成装置は既に公知である。この場合、同じ名目的な音色(例えば「ピアノ」や「バイオリン」など)に関して、種々のピッチ又は音域あるいはピッチ変調量などのピッチ変動要素に対応して、あるいは、ダイナミクス若しくはベロシティ又はタッチなどの音量レベル変動要素に対応して、各種の異なる波形を用意しておき、再生演奏時のピッチ変動要素あるいは音量レベル変動要素に応じて最適の波形を選択することで、高品質な楽音合成を行うようにすることが行われている。例えば下記に示す特許文献1又は特許文献2に記載されている発明がその一例である。
特許第2580761号公報
特許第2970438号公報
また、或る1つのノートに対応する1つの楽音の発音中にそのピッチが連続的に変化する例えばビブラート奏法又はベンド奏法などのピッチ変調奏法で楽音を再生する場合には、従来の典型例としては、ピッチ変調のかかっていない波形を使用し、リアルタイムに入力されるピッチ変調情報に従って前記波形の読み出しピッチを変調することにより楽音合成している。これに対して、下記の特許文献3,4,5,6においては、より高品質なビブラート奏法での楽音合成を実現するために、実際の自然楽器の演奏に基づいてサンプリングしたビブラート変調(ピッチ変調)のかかった連続的波形のビブラート1周期の範囲の中から、分散的に複数の波形を取り出して、それぞれテンプレート波形として記憶しておき、再生時にこれらのテンプレート波形を順々にループ読み出ししてクロスフェード合成することで、高品質なビブラート奏法波形を再生するようにしたことが記載されている。
特開平11−167382号公報
特開2000−56773号公報
特開2000−122664号公報
特開2001−100757号公報
ところで、上述した特許文献1又は2に示されたような従来の装置においては、例えばエクスプレッションやベロシティ等のコントロールに応じたレベル変動量を表すダイナミクス情報に応じて、使用する波形サンプルデータの切り替えを行いながら楽音を合成している。しかし、ダイナミクス情報に応じて波形サンプルデータの切り替えを行いながら楽音を合成する場合、従来では常時ダイナミクス情報の取得を行って該ダイナミクス情報に応じた波形サンプルデータに切り替えるようにしていることから、楽音の持続部であっても、波形サンプルデータの切り替えが頻繁に起こり易い。波形サンプルデータの切り替えが頻繁に起こると、それに伴い急激な波形変化が生じることが起こり易くなり、楽音の持続部でありながら不安定な印象を与えてしまうおそれがある。また、急激な波形変化を吸収するために波形の補間演算処理を行うのが普通であるが、頻繁な波形切り替え処理は補間演算処理に負担をかけてしまう。
また、上述した特許文献3〜6に示されたような高品質な楽音合成を可能にする従来の装置においては、楽音合成の最中において、ダイナミクス情報に応じて楽音特性を随時任意に変更できるようにはなっていなかった。
また、上述した特許文献3〜6に示されたような高品質な楽音合成を可能にする従来の装置においては、楽音合成の最中において、ダイナミクス情報に応じて楽音特性を随時任意に変更できるようにはなっていなかった。
本発明は上述の点に鑑みてなされたもので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるようにした楽音合成装置及びプログラムを提供しようとするものである。また、ビブラートやピッチベンドなど時間的にピッチ変化する楽音波形をその音色も微妙に変化させうるように高品質な特性で合成する場合に、入力ダイナミクス値に応じてその楽音特性を可変制御しうるようした楽音合成装置及びプログラムを提供しようとするものである。さらに、ビブラートの深さ制御を高品質に行うことができるようした楽音合成装置及びプログラムを提供しようとするものである。
本発明の請求項1に係る楽音合成装置は、持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶する記憶手段と、持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、取得したダイナミクス値に対応する波形データを前記記憶手段から取得し、該取得した波形データに基づき持続音部分の楽音波形を生成する楽音生成手段とを具える。
本発明によると、1音の持続音部分にあたる範囲の楽音を生成する際に、所定の時間間隔で間欠的にダイナミクス値を取得し、記憶手段から該取得したダイナミクス値に対応する持続音用の波形データを選択する。記憶手段は、持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶する。この記憶手段に記憶した持続音用の波形データの中から、所定の時間間隔で間欠的に取得したダイナミクス値に対応する波形データを選択する。そして、該取得した波形データを合成することで、1音の持続音部分にあたる範囲の楽音波形を生成する。このように、予め記憶しておいた複数の持続音用の波形データから使用すべき波形データを所定の時間間隔で間欠的にその時点におけるダイナミクス値に応じて取得し、これを用いて楽音を合成するので、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理が行えるだけでなく、また入力ダイナミクス値に応じてその楽音特性を可変制御しうることから、持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる。
本発明の請求項2に係る楽音合成装置は、異なるピッチずれに対応する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、発生すべき楽音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、発生すべき楽音のピッチ変調を制御するピッチ変調情報を取得する手段と、取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ変調情報に対応する波形データを取得し、該取得した波形データに基づき楽音波形を生成する楽音生成手段とを具える。これによると、取得したダイナミクス値に対応する、異なるピッチずれに対応する複数の波形データを含むユニットの中から、ピッチ変調情報に対応する波形データを取得し、これに基づき楽音波形を生成することから、ビブラートやピッチベンドなど時間的にピッチ変化する楽音波形をその音色も微妙に変化させうるように高品質な特性で合成することができる。
本発明の請求項3に係る楽音合成装置は、時間的にピッチが変動する特性を実現する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、時間的にピッチが変動する特性の楽音を発生すべきとき、該発生すべき楽音を制御するためのダイナミクス値を取得する手段と、取得したダイナミクス値に対応するユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データに基づき、時間的にピッチが変動する特性の楽音波形を生成する楽音生成手段とを具える。これによると、取得したダイナミクス値に応じて、時間的にピッチが変動する特性を実現する複数の波形データを含むユニットの波形データに基づき楽音波形を生成することから、ビブラートやピッチベンドなど時間的にピッチ変化する楽音波形をその音色も微妙に変化させうるように高品質な特性で合成することができる。
本発明の請求項6に係る楽音合成装置は、時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットを記憶する記憶手段と、ビブラートの深さを制御する深さ制御情報を取得する手段と、前記ユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データと前記取得した深さ制御情報に基づき、ビブラート特性の楽音波形を生成する楽音生成手段であって、前記取得した深さ制御情報に応じてビブラートの深さを浅くするよう制御する際には、前記取得したユニット内の前記複数の波形データのうち大きなピッチずれに対応する波形データを使用せずに前記楽音波形を生成するものとを具える。これによると、深さ制御情報に応じて、時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットのうち、大きなピッチずれに対応する波形データを使用せずに、ビブラートの深さを浅くするよう制御した楽音波形を生成することから、ビブラートの深さ制御を高品質に行うことができる。
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
本発明によれば、取得したダイナミクス情報に基づき使用すべき波形データの特定を予め記憶しておいた異なる音色の波形データの中から行い、これを用いて楽音を合成するようにした。こうすると、、楽音の持続部部分において入力ダイナミクス値に応じた楽音合成を行う場合に負担を軽減した処理によって、急激な波形変化を防ぎ波形の安定化を図ることができると共に、楽音合成中における楽音特性の制御性を確保することができるので、特に持続音部におけるビブラート奏法などの音色変化を忠実に表現した楽音を高品質に合成することができるようになる、という効果が得られる。
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。ここに示す電子楽器は、演奏者による演奏操作子5の操作に伴い演奏進行に応じて供給される演奏情報(ノートオンイベントやノートオフイベントなどの演奏イベントデータ、ダイナミクス情報やピッチベンド情報あるいはビブラートスピード情報・ビブラートデプス情報などの各種コントロールデータを含む)に基づいて電子的に楽音を発生させたり、あるいは演奏進行順に順次に供給される予め作成済みの演奏情報に基づいて自動的に楽音を発生する楽音合成機能を有する。また、前記楽音合成機能の実行時においては、1音のうち音が連続する部分である持続音部(ボディ部とも呼ぶ)について、演奏情報に含まれるダイナミクスに基づき新たに使用すべき波形サンプルデータ(以下、単に波形データとも呼ぶ)の選択を行い、該選択された波形データに従って楽音を合成することにより、前記持続音部の楽音として特にベンド奏法やビブラート奏法などの楽音を高品質に再現することのできるようにしている。こうした持続音部に対する楽音合成処理については、後述するように、本明細書では第1実施形態として「ノーマルダイナミクスボディ合成処理」(後述する図4及び図5参照)、第2実施形態として「マニュアルビブラートボディ合成処理」(後述する図6及び図7参照)、第3実施形態として「オートビブラートボディ合成処理」(後述する図8〜図10参照)などがあり、それぞれ図を分けて説明する。
なお、この実施例に示す電子楽器はここに示す以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。また、音源としては、例えば様々な楽器毎の特有な奏法に対応する波形データとして、アタック部、リリース部、持続音部あるいはジョイント部などの1音についての一部区間において奏法に対応した波形全体を記憶しておき(これを奏法モジュールと呼ぶ)、これらを時系列的に複数組み合わせることで1音又は連続する複数音の楽音を形成することにより、自然楽器固有の各種奏法若しくはアーティキュレーションによる音色変化を忠実に表現した奏法などのリアルな再現とその制御を目的としたAEM(Articulation Element Modeling)と称する楽音波形制御技術を用いた音源(所謂AEM音源)を用いた場合を例にして説明する。
図1に示した電子楽器はコンピュータを用いて構成されており、そこにおいて、上記したような楽音合成機能を実現する各種の「楽音合成処理」(後述する図4〜図10参照)は、コンピュータが各々の処理を実現する所定のプログラム(ソフトウエア)を実行することにより実施される。勿論、これらの各処理はコンピュータソフトウエアの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウエア装置の形態で実施してもよい。
本実施例に示す電子楽器は、マイクロプロセッサユニット(CPU)1、リードオンリメモリ(ROM)2、ランダムアクセスメモリ(RAM)3からなるマイクロコンピュータの制御の下に各種の処理が実行されるようになっている。CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、通信バス1D(例えば、データ及びアドレスバスなど)を介してROM2、RAM3、外部記憶装置4、演奏操作子5、パネル操作子6、表示器7、音源8、インタフェース9がそれぞれ接続されている。更に、CPU1には、タイマ割込み処理(インタラプト処理)における割込み時間や各種時間を計時するタイマ1Aが接続されている。すなわち、タイマ1Aは時間間隔を計数したり、所定の演奏情報に従って楽曲を演奏する際の演奏テンポを設定したりするためのテンポクロックパルスを発生する。このテンポクロックパルスの周波数は、パネル操作子6の中の例えばテンポ設定スイッチ等によって調整される。このようなタイマ1AからのテンポクロックパルスはCPU1に対して処理タイミング命令として与えられたり、あるいはCPU1に対してインタラプト命令として与えられる。CPU1は、これらの命令に従って各種処理を実行する。
ROM2は、CPU1により実行される各種プログラム、あるいは波形メモリとして様々な楽器毎の特有な奏法に対応する波形データ(例えば、ビブラート奏法などの音色変化の有る波形やストレートな音色を持つ波形等)などの各種データを格納するものである。RAM3は、CPU1が所定のプログラムを実行する際に発生する各種データを一時的に記憶するワーキングメモリとして、あるいは現在実行中のプログラムやそれに関連するデータを記憶するメモリ等として使用される。RAM3の所定のアドレス領域がそれぞれの機能に割り当てられ、レジスタやフラグ、テーブル、メモリなどとして利用される。外部記憶装置4は、自動演奏の元となる演奏情報や奏法に対応する波形データなどの各種データや、CPU1により実行あるいは参照される「楽音合成処理」(図4、図6、図8参照)などの各種制御プログラム等を記憶する。前記ROM2に制御プログラムが記憶されていない場合、この外部記憶装置4(例えばハードディスク)に制御プログラムを記憶させておき、それを前記RAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置4はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD−ROM・CD−RAM)、光磁気ディスク(MO)、あるいはDVD(Digital Versatile Disk)等の着脱自在な様々な形態の外部記録媒体を利用する記憶装置であってもよい。あるいは、半導体メモリなどであってもよい。
演奏操作子5は楽音の音高を選択するための複数の鍵を備えた、例えば鍵盤等のようなものであり、各鍵に対応してキースイッチを有しており、この演奏操作子5は演奏者自身の手弾きによる楽音のマニュアル演奏のために使用できるのは勿論のこと、自動演奏対象とする予め用意されている演奏情報を選択するなどの入力手段として使用することもできる。勿論、演奏操作子5は鍵盤等の形態に限らず、楽音の音高を選択するための弦を備えたネック等のような形態のものなど、どのようなものであってもよいことは言うまでもない。パネル操作子(スイッチ等)6は、例えば自動演奏対象とする演奏情報を選択するための演奏情報選択スイッチ、演奏の際に使用する音色・効果などの各種演奏パラメータを設定する設定スイッチ等、各種の操作子を含んで構成される。勿論、音高、音色、効果等を選択・設定・制御するために数値データ入力用のテンキーや文字データ入力用のキーボード、あるいは表示器7に表示された各種画面の位置を指定するポインタを操作するマウスなどの各種操作子を含んでいてもよい。表示器7は例えば液晶表示パネル(LCD)やCRT等から構成されるディスプレイであって、上記スイッチ操作に応じた各種画面を表示するのは勿論のこと、演奏情報や波形データなどの各種情報あるいはCPU1の制御状態などを表示することもできる。演奏者は該表示器7に表示されるこれらの各種情報を参照することで、演奏の際に使用する各種演奏パラメータの設定や自動演奏曲の選択などを容易に行うことができる。
音源8は複数のチャンネルで楽音信号の同時発生が可能であり、通信バス1Dを経由して与えられた演奏情報を入力し、この演奏情報に基づいて楽音を合成して楽音信号を発生する。ここに示す電子楽器においては、演奏情報内のダイナミクス情報に対応する波形データがROM2や外部記憶装置4などから読み出されると、該読み出された波形データはバスラインを介して音源8に与えられて適宜バッファ記憶される。そして、音源8ではバッファ記憶された波形データを所定の出力サンプリング周波数に従い出力する。この音源8から発生された楽音信号は、図示しない効果回路(例えばDSP(Digital Signal Processor))などにより所定のディジタル信号処理が施され、該信号処理された楽音信号はサウンドシステム8Aに与えられて発音される。
インタフェース9は該電子楽器と外部の演奏情報生成機器(図示せず)などとの間で各種情報を送受するための、例えばMIDIインタフェースや通信インタフェースなどである。MIDIインタフェースは、外部の演奏情報生成機器(この場合には、他のMIDI機器等)からMIDI規格の演奏情報を当該電子楽器へ供給したり、あるいは当該電子楽器からMIDI規格の演奏情報を他のMIDI機器等へ出力するためのインタフェースである。他のMIDI機器はユーザによる操作に応じてMIDI形式のデータを発生する機器であればよく、鍵盤型、ギター型、管楽器型、打楽器型、身振り型等どのようなタイプの操作子を具えた(若しくは、操作形態からなる)機器であってもよい。通信インタフェースは、例えばLANやインターネット、電話回線等の有線あるいは無線の通信ネットワーク(図示せず)に接続されており、概通信ネットワークを介して、外部の演奏情報生成機器(この場合には、サーバコンピュータ等)と接続され、当該サーバコンピュータから制御プログラムや演奏情報などの各種情報を該電子楽器に取り込むためのインタフェースである。すなわち、ROM2や外部記憶装置4等に制御プログラムや演奏情報などの各種情報が記憶されていない場合に、サーバコンピュータから各種情報をダウンロードするために用いられる。クライアントとなる電子楽器は、通信インターフェース及び通信ネットワークを介してサーバコンピュータへと制御プログラムや演奏情報などの各種情報のダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求された各種情報を通信ネットワークを介して本電子楽器へと配信し、本電子楽器が通信インタフェースを介して各種情報を受信して外部記憶装置4等に蓄積することにより、ダウンロードが完了する。
なお、上記インタフェース9をMIDIインタフェースで構成した場合、該MIDIインタフェースは専用のMIDIインタフェースを用いるものに限らず、RS232−C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインタフェースを用いてMIDIインタフェースを構成するようにしてもよい。この場合、MIDIイベントデータ以外のデータをも同時に送受信するようにしてもよい。MIDIインタフェースとして上記したような汎用のインタフェースを用いる場合には、他のMIDI機器はMIDIイベントデータ以外のデータも送受信できるようにしてよい。勿論、演奏情報に関するデータフォーマットはMIDI形式のデータに限らず、他の形式であってもよく、その場合はMIDIインタフェースと他のMIDI機器はそれにあった構成とする。
図1に示した電子楽器においては、演奏者による演奏操作子の操作に伴い発生される演奏情報、あるいは予め用意されたSMF(Standard MIDI File)形式等の演奏情報に基づいて楽音を連続的に発生させることのできる楽音合成機能を有すると共に、該楽音合成機能の実行時において、演奏者による演奏操作子5の操作に伴う演奏進行に応じて供給される演奏情報(あるいは、シーケンサーなどから演奏進行順に順次に供給される演奏情報)に含まれるダイナミクス情報に基づいて、持続音部について新たに使用すべき波形データの選択を行い、該選択された波形データに従って楽音を合成するようにしている。そこで、こうした楽音合成機能の概要について、図2を用いて説明する。図2は、当該電子楽器が有する楽音合成機能を説明するための機能ブロック図である。図2において、図中の矢印はデータの流れを表すものである。
楽音合成機能の開始に伴い、まず奏法合成部J3に対して入力部J2から演奏情報が演奏進行順に順次に供給される。入力部J2としては、演奏者による演奏操作に応じて適宜に演奏情報を発生する演奏操作子5や、予めROM2等に記憶した演奏情報を演奏進行順に供給するシーケンサー(図示せず)などの入力装置がある。こうした入力部J2から供給される演奏情報は、ノートオンイベントやノートオフイベント(これらを総称してノート情報と呼ぶ)などの演奏イベントデータと、ダイナミクスやピッチベンドあるいはビブラートスピード・ビブラートデプスなどのコントロールデータとを少なくとも含む。すなわち、入力部J2を介して入力されるダイナミクス情報には、演奏操作子5の演奏操作に基づきリアルタイムに発生されるもの(例えば鍵押圧時のアフタータッチセンサ出力データなど)もあれば、予め記憶又はプログラムされた自動演奏情報に基づくものもある。奏法合成部J3では演奏イベントデータやコントロールデータなどを受け取ると、例えばノート情報に対応する1音をアタック部、持続音部(ボディ部)、リリース部などの一部区間毎に区分したり、持続音部はどの時間から始まるかを特定したり、あるいはコントロールデータとして受け取った情報を変換したりするなどして、楽音を合成するために必要とされる各種情報を含む「奏法情報」を生成する。また、その際に、奏法合成部J3はデータベースJ1(波形メモリ)にあるデータテーブルなどを参照して、入力されたダイナミクス情報やピッチ情報に対応する持続音部に適用する後述するユニットを選択し、該選択したユニットを特定する情報を該当する「奏法情報」に加える。楽音合成部J4では奏法合成部J3が生成した前記「奏法情報」に基づき、データベースJ1から使用する波形データ(後述するノーマルユニットやビブラートユニットなど)を適宜に読み出して、楽音合成を行うことで楽音が出力される。すなわち、楽音合成部J4では、「奏法情報」に従って波形データの切り替えを行いながら楽音合成を行う。
ここで、上述したデータベースJ1(波形メモリ)に記憶される持続音部に適用するデータ構造について、図3を用いて簡単に説明する。図3(a)はデータベースのデータ構造を示す概念図であり、図3(b)〜(d)はユニット単位に記憶されている波形データの一実施例を示す概念図である。
データベースJ1においては、持続音部に適用する波形データとそれに関連するデータ群とを「ユニット」として記憶している。1つの「ユニット」は、楽音合成時において1つのかたまりとして処理できる波形単位である。図3(a)に示すように、各「ユニット」はダイナミクス値にそれぞれ対応付けられており、こうしたダイナミクス値に対応付けられた複数のユニットを1組として、各音高(図では便宜上C3、D3、E3のみ示している)毎に少なくとも1組ずつ記憶している。例えば、1つの音色(ピアノ等の楽器音色、つまり音色情報で選択可能な1つの音色)について、35種の音高(音階音)のそれぞれに対応して、20種のダイナミクス値に対応付けられたユニットを記憶するものとすると、データベース全体では当該音色について700個(35×20)のユニットを記憶することになる。この「ユニット」として記憶される波形データは、同じ音高であっても各ダイナミクス値に対応する各ユニットのそれぞれが異なる音色上の特徴を持つ楽音波形(つまり波形形状が異なる楽音波形)からなるものとすることができる。なお、個別の音高(音階音)毎にこのようなユニットをそれぞれ記憶することなく、2又はそれ以上の音高(例えばC3とC#3など)のグループに対応してこのようなユニットを記憶するようにしてよい。
さらに、持続音部における各種の奏法(ノーマルや、ビブラート、ピッチベンドなど)に対応して(すなわち、後述する各種「楽音合成処理」の実施形態(後述する図4〜図10参照)に対応して)、異なる内容の波形データを用いる(記憶する)。例えばノーマル奏法に対応する「ノーマルダイナミクスボディ合成処理」(後述する図4及び図5参照)では、図3(b)に示すような1周期分の波形を記録した「ユニット」(これをノーマルユニットと呼ぶ)を用いる。このようなノーマルユニットの1周期波形が、上述のように、同一音色につき、各種音高毎に複数のダイナミクス値に対応して記憶されている。この場合、同じダイナミクス値に対応するノーマルユニットの波形データを繰り返し読み出しても、その音色は時間変化せず、ストレートな音色特性を示す。しかし、ダイナミクス値が変化すると、使用されるノーマルユニットが変更されるので、それに応じて音色も微妙に変化する。
他方、オートビブラート奏法に対応する「オートビブラートボディ合成処理」(後述する図8〜図10参照)では、図3(c)に示すようなビブラート1周期にわたる複数周期(又は複数の区間)からなる波形データ(ビブラート付与された波形データ)を記録した「ユニット」(これをビブラートユニットと呼ぶ)を使用する。図3(c)では、ビブラート1周期において、n周期(又はn区間)分の波形データが存在することが示されている。このビブラートユニットの波形データは(オリジナルのビブラート波形同様に)ビブラート1周期の間で音色が微妙に又は複雑に時間変化し、勿論その各周期(又は区間)毎の波形ピッチも変化(ビブラート)している。なお、このビブラートユニットにおけるn周期(又はn区間)の波形データは、オリジナル波形において元々連続しているものであってもよいし、あるいは、連続していないものであってもよい。ビブラートユニットにおけるピッチずれを含む各波形データを有効に利用しうるようにするために、各波形データに付属してピッチ情報(ピッチずれ情報)を持たせるようにしている。このようなビブラートユニットが、上述のように、同一音色(例えばバイオリンのビブラート奏法のような奏法音色)につき、各種音高毎に複数のダイナミクス値に対応してそれぞれ記憶されている。
さらに、マニュアルビブラート(又はベンド)奏法に対応する「マニュアルビブラート(又はベンド)ボディ合成処理」(後述する図6及び図7参照)で使用する波形データとしては、図3(d)に示すように、1つのダイナミクス値に対応して複数m個の異なるピッチずれ(例えばセント値)にそれぞれ対応する複数のユニット(波形データ)を記憶する。例えば、或る音色の或る1つの音高(ノート)に対応する或る1つのダイナミクス値に対応して、ピッチずれなし(0セント)の波形データを含む−50セント乃至+50セントの範囲の複数ステップ(例えば10セントきざみ)のピッチずれに対応する波形データを、それぞれ個別の「ユニット」として記憶する。この場合、各ユニットは、その波形データに付属してピッチ情報(ピッチずれ情報)を持ち、指示されたピッチずれに対応するユニット(1周期波形)を検索/選択することができるようになっている。なお、「マニュアルビブラート(又はベンド)ボディ合成処理」用の波形データとして、図3(d)に示すような専用の波形データを記憶せずに、「オートビブラートボディ合成処理」用の波形データ(上述の「ビブラートユニット」のデータ)を使用するようにしてもよい。その場合は、図3(c)に示すような「ビブラートユニット」における各1周期波形データが持つピッチ情報(ピッチずれ情報)を参照して、必要なピッチずれに対応する波形データを「ビブラートユニット」から抽出するようにする。
なお、ノーマルユニット用の波形データは1周期に限らず、2又はそれ以上の複数周期の波形で構成してもよいし、あるいは、公知のように1/2周期等、1周期未満の波形をノーマルユニットの波形データとして記憶してもよい。また、マニュアルビブラート(又はベンド)用の波形データも同様に1周期からなるものに限らない。また、ビブラートユニットの波形データは、ビブラート1周期に限らず、複数のビブラート周期にわたるものであってもよく、あるいは、ビブラートの1/2周期など、ビブラート1周期未満からなるものであってもよい。
上記データベースJ1において、各「ユニット」毎に波形データと共に付加的に記憶されるデータ群としては、例えばその記憶しているオリジナルの波形データのダイナミクス値やピッチ情報(正規の音高ピッチ及びそれに対するピッチずれを示す情報)などの情報がある。さらに、ビブラート1周期にわたる全波形データを記録した「ビブラートユニット」においてはビブラート1周期の情報としてユニットの長さや平均パワー値などの情報が記録される。こうしたデータ群は、「データテーブル」として一括管理できるようにしている。なお、ビブラートユニットにおいては、前述の通り、該ビブラートユニット内の各波形データに付属してピッチ情報(ピッチずれ情報)をそれぞれ持たせており、所望のピッチずれに対応する波形データを検索することができるようになっている。
次に、上記データベースJ1に記憶したユニットを利用して持続音部の楽音を生成する楽音合成処理について、実施形態をわけてそれぞれ説明する。まず、ダイナミクス情報に応じて選択されたノーマルユニットの波形を用いて楽音を生成する「ノーマルダイナミクスボディ合成処理」について、図4及び図5を用いて説明する。図4は、「ノーマルダイナミクスボディ合成処理」の一実施例を示したフローチャートである。当該処理は演奏開始と共にカウントが開始されるタイマに応じて、該電子楽器におけるCPU1により例えば1ms(ミリ秒)毎に実行される割り込み処理である。この「ノーマルダイナミクスボディ合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、楽音の持続部を「ノーマルダイナミクスボディ」の特性で合成するよう指示されたモードにおいて実行される処理である。なお、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、このアタック部の波形合成処理に引き続いて、この「ノーマルダイナミクスボディ合成処理」が行われる。
ステップS1では、現在合成中の波形(アタック部波形)がアタック部の終端に到来したか否か、又はその後、所定の時間間隔(例えば25ms間隔)の境目のタイミングが到来したか否かを判定する。アタック部の終端に到達していない又はその後の所定の時間間隔(25ms毎)の境目のタイミングが到来していないと判定した場合には(ステップS1のNO)、当該処理を終了し、次の割り込みまでこの図4の処理は行われない。つまり、アタック部の終端のタイミングまでの間においてはアタック部の波形データに基づきアタック部の楽音合成が行われ、この「ノーマルダイナミクスボディ合成処理」はまだ実質的には行われない。また、アタック部以降における25ms間隔の境目のタイミングでない持続音部においても、後述するような新たなノーマルユニットを読み出す処理(S3)を行うことなく次の割り込み時刻(1ms後)まで待つ。したがって、その間は入力ダイナミクス値に応じた波形データの切り替えが行われない。他方、アタック部の終端が到来した又は所定の時間間隔(25ms毎)の境目のタイミングが到来したと判定した場合には(ステップS1のYES)、現在の最新の入力ダイナミクス値を取得する(ステップS2)。入力ダイナミクス値とは、前述のように入力されるダイナミクス情報の示す値のことである。ステップS3は、予め取得済みのノート情報と前記取得した入力ダイナミクス値に応じてデータベースを参照し、データベースから該当するノーマルユニットを1つ選択して、奏法情報を生成する。すなわち、まず、アタック部の終端において最新の入力ダイナミクス値を取得して該取得した入力ダイナミクス値に対応するノーマルユニットを選択し、奏法情報を生成する。その後、一定周期(25ms)間隔毎に最新の入力ダイナミクス値を取得し、取得した入力ダイナミクス値に対応するノーマルユニットを選択し、奏法情報を生成する。ステップS4は、生成された奏法情報に従って楽音を合成する。このようにして、「ノーマルダイナミクスボディ合成処理」では、持続音部に対する奏法情報の生成を、アタック部終了後から開始される持続音部の楽音合成中に一定周期間隔(25ms)で行い、その際には取得した最新の入力ダイナミクス値に対応するノーマルユニットの波形データをデータベースから選択し、これに基づき生成した奏法情報に従って楽音を合成するようにしている。
ここで、上記「ノーマルダイナミクスボディ合成処理」(図4参照)による楽音合成手順を、図5を用いて説明する。図5は、「ノーマルダイナミクスボディ合成処理」による楽音合成手順を模式的に説明するための概要図である。図5(a)は入力ダイナミクス値の時間変化を例示し、図5(b)は各ダイナミクス値に対応してデータベース内に記憶されているノーマルユニットの存在を例示しを、図5(c)は所定時間間隔25msで入力ダイナミクス値に応じて選択される各ノーマルユニットの時系列的組み合わせを例示する。なお、この例では、C3に対応する楽音を生成するものとし、アタック部の波形生成前に、当該発生すべき楽音「C3」のノート情報が取得済みであるものとする。
例えば、時刻aがアタック部の終端である場合、そのときの入力ダイナミクス値を取得し、既に取得済みのノート情報(音高「C3」)と該新たに取得した入力ダイナミクス値とに基づき、データベースに記憶された該当音高(C3)についての複数のノーマルユニット(A〜F・・・)の中から当該新たに取得した入力ダイナミクス値に対応するノーマルユニットBを1つ選択して奏法情報を生成する。該選択した奏法情報に基づいてノーマルユニットBの波形データを繰り返し読み出し、持続部の楽音波形を生成する。その際、先行するアタック部の終端の波形と後続する該ノーマルユニットBの波形を適宜クロスフェード合成するとよい。クロスフェード合成によって滑らかに波形を切り替えることができる。その後、時刻bで、所定の時間間隔(25ms間隔)の境目が到来すると、そのときの入力ダイナミクス値を取得し、該当する音高(C3)についての該新たに取得した入力ダイナミクス値に対応するノーマルユニットEをデータベースから1つ選択して奏法情報を生成する。該選択した奏法情報に基づいてノーマルユニットEの波形データを繰り返し読み出し、持続部の楽音波形を生成する。その際、先行するノーマルユニットBの波形と後続する該ノーマルユニットEの波形を適宜クロスフェード合成するとよい。さらに時間が経過して、所定の時間間隔(25ms間隔)の境目と一致する時刻cになると、そのときの入力ダイナミクス値を取得し、該当する音高(C3)のデータベースから該入力ダイナミクス値に対応するノーマルユニットDを1つ選択して奏法情報を生成する。該選択した奏法情報に基づいてノーマルユニットDの波形データを繰り返し読み出し、持続部の楽音波形を生成する。その際、先行するノーマルユニットEの波形と後続する該ノーマルユニットDの波形を適宜クロスフェード合成するとよい。このようにして、「ノーマルダイナミクスボディ合成処理」では、一定周期(25ms)間隔毎にダイナミクス情報に応じて使用するノーマルユニットを切り替えて持続部の楽音を合成するようにしている。なお、クロスフェード合成を行う期間は25msに限らず、もっと短くてもよいし、長くてもよい。
次に、ダイナミクス情報とピッチベンド情報との組み合わせによって持続部の波形データを選択することにより、ビブラート奏法あるいはピッチベンド奏法に従う持続部の楽音を合成する「マニュアルビブラート(又はベンド)ボディ合成処理」について、図6及び図7を用いて説明する。図6は「マニュアルビブラート(又はベンド)ボディ合成処理」の一実施例を示したフローチャートである。当該処理についても、演奏開始と共に該電子楽器におけるCPU1により例えば1ms(ミリ秒)毎に実行される割り込み処理である。この「マニュアルビブラート(又はベンド)ボディ合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、楽音の持続部を「マニュアルビブラート(又はベンド)ボディ」の特性で合成するよう指示されたモードにおいて実行される処理である。なお、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、このアタック部の波形合成処理に引き続いて、この「マニュアルビブラート(又はベンド)ボディ合成処理」が行われる。「マニュアルビブラート(又はベンド)ボディ合成処理」においては、ノート情報によって発生すべき楽音の音高(ノート)が指定され、かつ、ホイール等のピッチ変調操作手段の操作に応じてピッチ変調情報がリアルタイムで入力される。
図6において、ステップS11では、判定する時間間隔が50msである点を除き、図4のステップS1と略同様の処理を行う。ステップS12では、図4のステップS2と同様に、現在の最新の入力ダイナミクス値を取得する処理を行う。すなわち、まず、アタック部の終端で入力ダイナミクス値を取得し、その後、50ms間隔で最新の入力ダイナミクス値を取得する。ステップS13では、既に取得済みのノート情報と新たに取得した入力ダイナミクス値に基づき、データベースから該当する音高及びダイナミクス値のベンド用ユニット群(又はビブラートユニット)を選択する。ステップS14では、前記選択されたベンド用ユニット群(又はビブラートユニット)のうち、現在入力された(リアルタイムの)ピッチ変調情報に従って1つのベンド用ユニット(又はビブラートユニット中の1区間の波形データ)を選択し、これを加工して奏法情報を生成する。ここで、加工とは、ピッチ調整処理を含んでいてよい。すなわち、入力された(リアルタイムの)ピッチ変調情報が指示するピッチずれに一致するピッチずれを持つベンド用ユニット(又はビブラートユニット中の1区間の波形データ)が存在していない場合、最も近いピッチずれを持つベンド用ユニット(又はビブラートユニット中の1区間の波形データ)を選択し、その生成ピッチを調整することで、ピッチ変調情報が指示するピッチずれが得られるようにする。こうして必要な奏法情報が生成され、ステップS15では、生成された奏法情報に従って楽音を合成する。この場合、前述と同様に変化前後の波形をクロスフェードして滑らかに波形が切り替わるようにするのがよい。なお、図6の例では、ステップS14及びS15の処理は、ステップS11がYESに分岐したときに1回だけ実行されるようになっており、入力ピッチ変調情報の取り込みは入力ダイナミクス値の取り込みと同じ時間間隔で行われる。しかし、これに限らず、1ms又はその他適宜の割込み周期で、入力されたピッチ変調情報の変化を随時チェックし、該入力ピッチ変調情報に応じてピッチ変動する楽音合成を随時行うようにしてもよい。その場合は、例えば、図6において、アタック部の終端に達した後で所定時間間隔50msの境目に達していないときは、入力ピッチ変調情報が変化したか否かをチェックするようにステップS11の処理を変更し、入力ピッチ変調情報が変化したならばステップS14を実行するように、処理の流れを一部変更すればよい。
ここで、上記「マニュアルビブラート(又はベンド)ボディ合成処理」(図6参照)による楽音合成手順を、図7を用いて具体的に説明する。図7は、「マニュアルビブラート(又はベンド)ボディ合成処理」による楽音合成手順を例示的に説明するための模式図である。図7(a)は入力されたピッチ変調情報によって指示されるピッチベンド量の時間変化を例示し、図7(b)はデータベース内における1つの入力ダイナミクス値に応じて選択されたベンド用ユニット群(又はビブラートユニット内の複数の波形データ)とそれに付属するピッチずれ情報を例示し、図7(c)はピッチ変調情報及び所定時間間隔50msに取得する入力ダイナミクス値に応じて選択されるベンド用ユニット(又はビブラートユニット内の波形データ)の時系列的組み合わせを例示する。
例えば、時刻t1がアタック部の終端又はその後の所定の時間間隔(50ms間隔)の境目と一致するタイミングである場合に、最新の入力ダイナミクス値を取得し、予め取得済みのノート情報と該取得した入力ダイナミクス値に応じて、データベースにおける該当する音高についての複数組のベンド用ユニット群(又はビブラートユニット)の中から該取得した入力ダイナミクス値に対応する1組のベンド用ユニット群(又は1つのビブラートユニット)を選択する。次に、現時点での最新のピッチ変調情報に応じて、該選択された1組のベンド用ユニット群(又は1つのビブラートユニット)の中から該当するピッチずれを持つベンド用ユニット(又はビブラートユニット中の一部区間の波形データ)(例えば「2」)を選択して奏法情報を生成する。こうして生成された奏法情報に基づく新たな楽音波形(後続波形)は、前述のように、それまでの楽音波形(先行波形)とクロスフェード合成されて切り替えられる。演奏時間の経過に従い時刻t1の次に所定の時間間隔(50ms間隔)の境目と一致するタイミングである時刻t2になると、そのときの入力ダイナミクス値を取得し、該当する音高のデータベースから該入力ダイナミクス値に対応する1組のベンド用ユニット群(又は1つのビブラートユニット)を選択し、また、現時点での最新のピッチ変調情報に応じて、該選択された1組のベンド用ユニット群(又は1つのビブラートユニット)の中から該当するピッチずれを持つベンド用ユニット(又はビブラートユニット中の一部区間の波形データ)(例えば「4」)を選択して奏法情報を生成する。生成された奏法情報に基づく新たな楽音波形は、先行波形とクロスフェード合成されて滑らかに切り替えられる。なお、前述のように入力ピッチ変調情報の取り込みを随時行う場合は、既に取得済みの入力ダイナミクス値に応じたベンド用ユニット群(又は1つのビブラートユニット)を使用すればよい。例えば、時刻t1とt2の間で、入力ピッチ変調情報がベンド用ユニット(又はビブラートユニット中の一部区間の波形データ)の「3」を選択するものに変化したならば、時刻t1で取得した入力ダイナミクス値に対応する1組のベンド用ユニット群(又は1つのビブラートユニット)からそれに対応するもの(「3」)を選択する。この場合、所定時間間隔で取得した入力ダイナミクス値を適宜バッファ記憶しておくのは勿論である。
次に、「オートビブラートボディ合成処理」について、図8を用いて説明する。図8は、「オートビブラートボディ合成処理」の一実施例を示したフローチャートであり、当該処理についても、演奏開始と共に該電子楽器におけるCPU1により割り込み処理として例えば1ms(ミリ秒)毎に実行される。この「オートビブラートボディ合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、楽音の持続部を「オートビブラートボディ」の特性で合成するよう指示されたモードにおいて実行される処理である。前述同様、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、このアタック部の波形合成処理に引き続いて、この「オートビブラートボディ合成処理」が行われる。「オートビブラートボディ合成処理」においては、ノート情報によって発生すべき楽音の音高(ノート)が指定され、該音高と入力ダイナミクス値に応じて選択された「ビブラートユニット」の波形データを自動的に再生することでビブラートの付与された楽音波形の生成を行う。従って、自動演奏データに基づきビブラート音を発生するような場合に有利である。なお、この「オートビブラートボディ合成処理」においては、追って詳しく説明するように、「ビブラートユニット」に基づき再生されるビブラート音のビブラートスピード及びビブラート深さはそれぞれの制御データによって可変制御することができ、また、ピッチベンド情報に応じて当該ビブラート音全体をピッチシフトすることができる。また、この「オートビブラートボディ合成処理」では、入力ダイナミクス値によるユニット選択は、所定時間間隔を計測することによって行われるのではなく、「ビブラートユニット」の1サイクル分(例えばビブラート1周期分)の再生が終わるごとに行われる。すなわち、「ビブラートユニット」の1サイクル分の再生中は、入力ダイナミクス値の変化は無視される。
図8において、ステップS21では、現在合成中の波形(アタック部波形)がアタック部の終端に到来したか否か、又はその後、現在合成中の持続部波形として使用中のビブラートユニットの終端が到来したか否かを判定する。アタック部の終端に到達していない又は現在使用中のビブラートユニットの終端に到達していないと判定した場合には(ステップS21のNO)、当該処理を終了し、次の割り込みまでこの図8の処理は行われない。つまり、アタック部の終端のタイミングまでの間においてはアタック部の波形データに基づきアタック部の楽音合成が行われ、この「オートビブラートボディ合成処理」は実質的には行われない。また、アタック部以降においては、ビブラートユニットの1サイクル分の波形データの再生途中においては、該再生中のビブラートユニットを変更する処理を行うことなく、次の割り込み時刻(1ms後)まで待つ。したがって、その間は入力ダイナミクス値に応じた波形データ(ビブラートユニット)の切り替えが行われない。他方、アタック部の終端が到来した又は現在使用中のビブラートユニットの終端が到来した場合には(ステップS21のYES)、現在の最新の入力ダイナミクス値を取得する(ステップS22)。ステップS23は、予め取得済みのノート情報と前記取得した入力ダイナミクス値に応じてデータベースを参照し、データベースから該当するビブラートユニットを選択する。ステップS24は、選択されたビブラートユニットを入力されたピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報に基づき加工して、奏法情報を生成する。ここで、加工とは、例えば入力されたピッチベンド情報に応じて当該選択されたビブラートユニットの波形ピッチをまるごとピッチシフトしたり、入力されたビブラートスピードデータに応じてビブラート周期を増/減する設定を行ったり、入力されたビブラート深さデータに応じてビブラート深さを設定したりするなどである。ステップS25は、生成された奏法情報に従って楽音を合成する。なお、図8の例では、ステップS24及びS25の処理は、ステップS21がYESに分岐したときに1回だけ実行されるようになっており、入力ピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報の取り込みは入力ダイナミクス値の取り込みと同じタイミングで行われる。しかし、これに限らず、1ms又はその他適宜の割込み周期で、入力されたピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報の変化を随時チェックし、該情報の変化に応じてオートビブラートの設定変更を随時行うようにしてもよい。その場合は、例えば、図8において、アタック部の終端に達した後でかつビブラートユニットの再生中に、入力ピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報が変化したか否かをチェックするようにステップS21の処理を変更し、入力ピッチベンド情報、ビブラートスピード及びビブラート深さなどの情報が変化したならばステップS24を実行するように、処理の流れを一部変更すればよい。
ここで、上記「オートビブラートボディ合成処理」(図8参照)でのステップS24における加工処理例を、ビブラートスピードを加工する場合について図9を用いて、ビブラートの深さを加工する場合について図10を用いてそれぞれ具体的に説明する。
図9は、「オートビブラートボディ合成処理」においてビブラートスピードを加工する場合のビブラートユニットに対する加工手法を模式的に説明するための図である。図9(a)は予め取得済みのノート情報と取得した入力ダイナミクス値に応じて選択された元のビブラートユニットを示し、この元のビブラートユニットをそのまま再生した場合が基本のビブラートスピードであるとする。図9(b)はビブラートスピードをそれよりも遅くする場合の波形合成例を示し、図9(c)はビブラートスピードをそれよりも速くする場合の波形合成例を示す。図9(a)においては、理解しやすくするために、元のビブラートユニットにおける波形データが持つオリジナルの振幅エンベロープ及びピッチ変動状態も図示している。そして、図9(b)、(c)には、参考のために、ビブラートスピードの増/減調整に伴って時間軸方向に伸縮される振幅エンベロープ及びピッチ変動状態も示されている。
図9(a)に示す例では、元のビブラートユニットが番号1〜8の8個の区間の波形データからなる例を示しており、各区間の波形データ(1〜8)が所定の時間間隔で順次に切り替えられ、かつ、複数周期づつ繰り返して読み出され、かつ、隣り合う区間の波形データ同士がクロスフェード合成される。なお、この場合、前述のように、1区間の波形データは、典型的には1周期波形からなるが、それに限らず、複数周期波形又は1周期未満の波形でもよい。ビブラートスピードを遅くする(ビブラート周期を長くする)場合は、図9(b)に示すように、ビブラートユニットを構成する各区間の波形データ(1〜8)の順次切り替えの時間間隔を広くしてクロスフェード合成する。反対に、ビブラートスピードを速くする(ビブラート周期を短くする)場合は、図9(c)に示すように、ビブラートユニットを構成する各区間の波形データ(1〜8)の順次切り替えの時間間隔を狭くしてクロスフェード合成する。なお、ビブラートユニット中のすべての区間の波形データ(1〜8)を使用したのでは、望みの短いビブラート周期が得られない場合は、適当な区間の波形データを間引きすればよい。
なお、合成される波形のピッチと振幅エンベロープは、元のビブラートユニットが持つものをそのまま使用してもよい。あるいは、図9(b)、(c)に示したような時間軸伸縮制御された振幅エンベロープ及びピッチ変動エンベロープを別途生成し、この生成した振幅エンベロープ及びピッチ変動エンベロープに従って、上記クロスフェード合成する波形データのピッチと振幅を更に制御するようにしてもよい。このようなピッチ及び振幅の時間軸伸縮制御は、本出願人が提案済の公知技術を使用することで実現できるので、詳細説明は省略する。
図10は、「オートビブラートボディ合成処理」においてビブラート深さを加工する場合のビブラートユニットに対する加工手法を模式的に説明する図である。図10(a)に予め取得済みのノート情報と取得した入力ダイナミクス値に応じて選択された元のビブラートユニットを示し、この元のビブラートユニットをそのまま再生した場合が基本のビブラート深さであるとする。図10(b)はビブラート深さをそれよりも浅くした場合を示し、図10(c)はビブラート深さをそれよりも深くした場合を示す。なお、図10においては、元のビブラートユニットが番号1〜7の7個の区間の波形データからなる例を示しており、振幅エンベロープ及びピッチ変動状態をあわせて図示している。ビブラートユニットの持つビブラートの深さより浅くする場合には、浅いピッチずれに相当する区間の波形データをビブラートユニットから選択し、これを使いまわして浅い深さのビブラート楽音波形を合成する。例えば、−50セント〜0セント〜+50セントの範囲で変化するビブラートユニットを使用してその深さを2分の1の深さにする場合に、−25セント〜0セント〜+25セントの範囲のピッチずれの波形データを使用し、それよりもピッチずれの大きい波形データは使用しない。図10(b)では、ビブラートユニット内の各区間の波形データのうち、ピッチが−25セント〜0セント〜+25セントの範囲にある1番目、4番目、7番目の区間の波形データを選択して使用し、それよりもピッチずれの大きい2番目、3番目、5番目、6番目の区間の波形データは使用しないことが示されている。反対に、ビブラートユニットの持つビブラートの深さより深くする場合には、図10(c)に示すように、ビブラートユニット内の全ての区間の波形データを使用し、かつ、ピッチずれが深くなるように加工したピッチ変動エンベロープに従って各区間の波形データのピッチをより高く又はより低くするように制御すればよい。なお、これに限らず、当該ビブラートユニット内において浅いビブラートと深いビブラートの波形データなど各種の深さの波形データをそれぞれ予め記憶しておき、ビブラート深さ情報に応じていずれかの波形データを選択して(又は組み合わせてつまり補間して)用いるようにしてもよい。なお、図示のように、ビブラート深さを浅くした場合には振幅エンベロープの大小レベル変動幅が小さくなるように振幅エンベロープ制御し、他方、ビブラート深さを深くした場合には振幅エンベロープの大小レベル変動幅が大きくなるように振幅エンベロープ制御するとよい。
本発明においては持続音部分の楽音を発生するときに入力ダイナミクス値を所定の時間間隔で取得することを特徴としているが、この所定の時間間隔とは、1つの持続音の発生中に常に一定の間隔を保持するものでなくてもよく、最初は20ms間隔、何回か後は30ms間隔、更に何回か後は40ms間隔、というように適宜変化させてもよいものであり、それによっても本発明の目的を達成することができる。
なお、本発明において使用する波形データは、上述したような各種奏法に対応して「奏法モジュール」化されたものに限らず、その他のタイプのものであってもよい。また、各ユニットの波形データは、メモリに記憶したPCM、DPCM、ADPCMのような適宜の符号化形式からなる波形サンプルデータを単純に読み出すことで生成されるようなものであってもよいし、あるいは、高調波合成演算やFM演算、AM演算、フィルタ演算、フォルマント合成演算、物理モデル音源など、各種の公知の楽音波形合成方式を適宜採用したものであってもよいことは言うまでもない。すなわち、音源8における楽音信号発生方式は、いかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してよい。このように、音源回路8の方式は波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO+VCF+VCAのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源8を構成するものに限らず、DSPとマイクロプログラム、あるいはCPUとソフトウェアを用いて音源回路8を構成するようにしてもよい。さらに、共通の回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、各発音チャンネルがそれぞれ専用回路で構成されるようなものであってもよい。
なお、上述した第3の実施形態である「オートビブラートボディ合成処理」(図8参照)のように、ピッチのずれた複数区間の波形データを1ユニットとしてデータベースに記憶するものとしては、ビブラートユニットに限らず、その他の適宜のピッチ変動する楽音波形(例えばトリル奏法など)のユニットであってもよい。
なお、上述した各楽音合成処理における楽音合成の方式としては、既存の演奏情報を本来の演奏時間到来前に先行取得しておき、これを解析して楽音を合成する所謂プレイバック方式であってもよいし、リアルタイムに供給された演奏情報に基づき楽音を合成するリアルタイム方式のどちらであってもよい。
なお、時系列的に順次選択され生成された複数のユニットの波形同士を接続する手法は、クロスフェード合成に限らず、例えば生成されたユニットの各波形同士をフェーダーによるミックスする手法などであってもよい。
なお、上述した各楽音合成処理における楽音合成の方式としては、既存の演奏情報を本来の演奏時間到来前に先行取得しておき、これを解析して楽音を合成する所謂プレイバック方式であってもよいし、リアルタイムに供給された演奏情報に基づき楽音を合成するリアルタイム方式のどちらであってもよい。
なお、時系列的に順次選択され生成された複数のユニットの波形同士を接続する手法は、クロスフェード合成に限らず、例えば生成されたユニットの各波形同士をフェーダーによるミックスする手法などであってもよい。
なお、この奏法自動判定装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、演奏操作子、表示器、音源等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各機器を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置や自動演奏ピアノのような自動演奏装置、ゲーム装置、携帯電話等の携帯型通信端末などに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバコンピュータ側に持たせ、端末とサーバコンピュータとからなるシステム全体として所定の機能を実現するようにしてもよい。すなわち、本発明に従う所定のソフトウエア又はハードウエアを用いることによって、入力ダイナミクス値、ピッチ等に基づいて、データベースに記憶されたノーマルユニット又はビブラートユニットの中から適宜に用いるユニットを切り替えながら楽音を合成することのできるようにしたものであればどのようなものであってもよい。
1…CPU、1A…タイマ、2…ROM、3…RAM、4…外部記憶装置、5…演奏操作子(鍵盤等)、6…パネル操作子、7…表示器、8…音源、8A…サウンドシステム、9…インタフェース、1D…通信バス、J1…データベース、J2…入力部、J3…奏法合成部、J4…楽音合成部
Claims (10)
- 持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶する記憶手段と、
持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、
取得したダイナミクス値に対応する波形データを前記記憶手段から取得し、該取得した波形データに基づき持続音部分の楽音波形を生成する楽音生成手段と
を具えた楽音合成装置。 - 異なるピッチずれに対応する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、
発生すべき楽音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手段と、
発生すべき楽音のピッチ変調を制御するピッチ変調情報を取得する手段と、
取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ変調情報に対応する波形データを取得し、該取得した波形データに基づき楽音波形を生成する楽音生成手段と
を具えた楽音合成装置。 - 時間的にピッチが変動する特性を実現する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶する記憶手段と、
時間的にピッチが変動する特性の楽音を発生すべきとき、該発生すべき楽音を制御するためのダイナミクス値を取得する手段と、
取得したダイナミクス値に対応するユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データに基づき、時間的にピッチが変動する特性の楽音波形を生成する楽音生成手段と
を具えた楽音合成装置。 - 前記ユニットは、ビブラート特性を実現する複数の波形データを含むものである請求項3に記載の楽音合成装置。
- 前記記憶手段は、前記ユニット又は波形データを、個別の音高又は音域につき前記ダイナミクス値に対応づけてそれぞれ記憶するものである請求項1乃至4のいずれかに記載の楽音合成装置。
- 時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットを記憶する記憶手段と、
ビブラートの深さを制御する深さ制御情報を取得する手段と、
前記ユニットの波形データを前記記憶手段から取得し、該取得したユニットの前記複数の波形データと前記取得した深さ制御情報に基づき、ビブラート特性の楽音波形を生成する楽音生成手段であって、前記取得した深さ制御情報に応じてビブラートの深さを浅くするよう制御する際には、前記取得したユニット内の前記複数の波形データのうち大きなピッチずれに対応する波形データを使用せずに前記楽音波形を生成するものと
を具えた楽音合成装置。 - 持続音用の波形データをダイナミクス値に対応づけてそれぞれ記憶するメモリを使用して、コンピュータに、
持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手順と、
取得したダイナミクス値に対応する波形データを前記メモリから取得し、該取得した波形データに基づき持続音部分の楽音波形を生成する手順と
を実行させるプログラム。 - 異なるピッチずれに対応する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶するメモリを使用して、コンピュータに、
発生すべき楽音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手順と、
発生すべき楽音のピッチ変調を制御するピッチ変調情報を取得する手順と、
取得したダイナミクス値に対応するユニットを前記メモリから選択し、かつ、該選択されたユニット中から前記取得したピッチ変調情報に対応する波形データを取得し、該取得した波形データに基づき楽音波形を生成する手順と
を実行させるプログラム。 - 時間的にピッチが変動する特性を実現する複数の波形データを含むユニットを、ダイナミクス値に対応づけて、複数記憶するメモリを使用して、コンピュータに、
時間的にピッチが変動する特性の楽音を発生すべきとき、該発生すべき楽音を制御するためのダイナミクス値を取得する手順と、
取得したダイナミクス値に対応するユニットの波形データを前記メモリから取得し、該取得したユニットの前記複数の波形データに基づき、時間的にピッチが変動する特性の楽音波形を生成する手順と
を実行させるプログラム。 - 時間的にピッチが変動するビブラート特性を実現する複数の波形データを含むユニットを記憶するメモリを使用して、コンピュータに、
ビブラートの深さを制御する深さ制御情報を取得する手順と、
前記ユニットの波形データを前記メモリから取得し、該取得したユニットの前記複数の波形データと前記取得した深さ制御情報に基づき、ビブラート特性の楽音波形を生成する手順であって、前記取得した深さ制御情報に応じてビブラートの深さを浅くするよう制御する際には、前記取得したユニット内の前記複数の波形データのうち大きなピッチずれに対応する波形データを使用せずに前記楽音波形を生成するものと
を実行させるプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005195104A JP2007011217A (ja) | 2005-07-04 | 2005-07-04 | 楽音合成装置及びプログラム |
EP06116379A EP1742200A1 (en) | 2005-07-04 | 2006-06-30 | Tone synthesis apparatus and method |
US11/480,092 US20070000371A1 (en) | 2005-07-04 | 2006-06-30 | Tone synthesis apparatus and method |
CNA2006101011418A CN1892812A (zh) | 2005-07-04 | 2006-07-03 | 乐音合成设备和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005195104A JP2007011217A (ja) | 2005-07-04 | 2005-07-04 | 楽音合成装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007011217A true JP2007011217A (ja) | 2007-01-18 |
JP2007011217A5 JP2007011217A5 (ja) | 2008-08-14 |
Family
ID=37114592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005195104A Withdrawn JP2007011217A (ja) | 2005-07-04 | 2005-07-04 | 楽音合成装置及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20070000371A1 (ja) |
EP (1) | EP1742200A1 (ja) |
JP (1) | JP2007011217A (ja) |
CN (1) | CN1892812A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4702160B2 (ja) * | 2006-04-25 | 2011-06-15 | ヤマハ株式会社 | 楽音合成装置及びプログラム |
JP5651945B2 (ja) | 2009-12-04 | 2015-01-14 | ヤマハ株式会社 | 音響処理装置 |
US8183452B2 (en) * | 2010-03-23 | 2012-05-22 | Yamaha Corporation | Tone generation apparatus |
JP6019803B2 (ja) * | 2012-06-26 | 2016-11-02 | ヤマハ株式会社 | 自動演奏装置及びプログラム |
JP6176480B2 (ja) * | 2013-07-11 | 2017-08-09 | カシオ計算機株式会社 | 楽音発生装置、楽音発生方法およびプログラム |
CN104575474B (zh) * | 2013-10-10 | 2018-02-06 | 深圳市咪发发科技有限公司 | 电子乐器触发感应开关二合一检测的方法及装置 |
EP3250394B1 (en) * | 2015-01-28 | 2022-03-16 | Hewlett-Packard Development Company, L.P. | Printable recording media |
CN106409282B (zh) * | 2016-08-31 | 2020-06-16 | 得理电子(上海)有限公司 | 一种音频合成系统、方法及其电子设备和云服务器 |
CN106997769B (zh) * | 2017-03-25 | 2020-04-24 | 腾讯音乐娱乐(深圳)有限公司 | 颤音识别方法及装置 |
CN110444185B (zh) * | 2019-08-05 | 2024-01-12 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音乐生成方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS616689A (ja) * | 1984-06-20 | 1986-01-13 | 松下電器産業株式会社 | 電子楽器 |
US5018430A (en) * | 1988-06-22 | 1991-05-28 | Casio Computer Co., Ltd. | Electronic musical instrument with a touch response function |
US5140886A (en) * | 1989-03-02 | 1992-08-25 | Yamaha Corporation | Musical tone signal generating apparatus having waveform memory with multiparameter addressing system |
US5451710A (en) * | 1989-06-02 | 1995-09-19 | Yamaha Corporation | Waveform synthesizing apparatus |
SG65729A1 (en) * | 1997-01-31 | 1999-06-22 | Yamaha Corp | Tone generating device and method using a time stretch/compression control technique |
DE69836393T2 (de) * | 1997-09-30 | 2007-09-06 | Yamaha Corp., Hamamatsu | Verfahren, Vorrichtung und maschineslesbares Speichermedium zur Klangsynthesierung |
JP3744216B2 (ja) * | 1998-08-07 | 2006-02-08 | ヤマハ株式会社 | 波形形成装置及び方法 |
JP3654079B2 (ja) * | 1999-09-27 | 2005-06-02 | ヤマハ株式会社 | 波形生成方法及び装置 |
-
2005
- 2005-07-04 JP JP2005195104A patent/JP2007011217A/ja not_active Withdrawn
-
2006
- 2006-06-30 US US11/480,092 patent/US20070000371A1/en not_active Abandoned
- 2006-06-30 EP EP06116379A patent/EP1742200A1/en not_active Withdrawn
- 2006-07-03 CN CNA2006101011418A patent/CN1892812A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20070000371A1 (en) | 2007-01-04 |
CN1892812A (zh) | 2007-01-10 |
EP1742200A1 (en) | 2007-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3644263B2 (ja) | 波形形成装置及び方法 | |
JP2007011217A (ja) | 楽音合成装置及びプログラム | |
JP4702160B2 (ja) | 楽音合成装置及びプログラム | |
JP4274152B2 (ja) | 楽音合成装置 | |
JP4561636B2 (ja) | 楽音合成装置及びプログラム | |
JP4802857B2 (ja) | 楽音合成装置及びプログラム | |
JP3915807B2 (ja) | 奏法自動判定装置及びプログラム | |
JP4407473B2 (ja) | 奏法決定装置及びプログラム | |
JP3675184B2 (ja) | 波形形成装置及び方法 | |
JP4816441B2 (ja) | 楽音合成装置及びプログラム | |
JP4821558B2 (ja) | 楽音合成装置及びプログラム | |
JP4802947B2 (ja) | 奏法決定装置及びプログラム | |
JP4826276B2 (ja) | 楽音合成装置及びプログラム | |
JP3613191B2 (ja) | 波形生成方法及び装置 | |
JP2003271142A (ja) | 奏法表示編集装置及び方法 | |
JP3755468B2 (ja) | 楽曲データの表情付け装置及びプログラム | |
JP3726765B2 (ja) | 波形形成装置及び方法 | |
JP4007374B2 (ja) | 波形生成方法及び装置 | |
JP2003099053A (ja) | 演奏データ処理装置及びプログラム | |
JP3832422B2 (ja) | 楽音生成装置及び方法 | |
JP3933162B2 (ja) | 波形生成方法及び装置 | |
JP3933161B2 (ja) | 波形生成方法及び装置 | |
JP2006133464A (ja) | 奏法決定装置及びプログラム | |
JP2008003222A (ja) | 楽音合成装置及びプログラム | |
JP2003216152A (ja) | 楽音生成装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080630 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090616 |