Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4702160B2 - 楽音合成装置及びプログラム - Google Patents
[go: Go Back, main page]

JP4702160B2 - 楽音合成装置及びプログラム - Google Patents

楽音合成装置及びプログラム Download PDF

Info

Publication number
JP4702160B2
JP4702160B2 JP2006120530A JP2006120530A JP4702160B2 JP 4702160 B2 JP4702160 B2 JP 4702160B2 JP 2006120530 A JP2006120530 A JP 2006120530A JP 2006120530 A JP2006120530 A JP 2006120530A JP 4702160 B2 JP4702160 B2 JP 4702160B2
Authority
JP
Japan
Prior art keywords
waveform
time
waveform data
dynamics
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006120530A
Other languages
English (en)
Other versions
JP2007293013A (ja
Inventor
元一 田邑
康之 梅山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006120530A priority Critical patent/JP4702160B2/ja
Priority to US11/788,553 priority patent/US7432435B2/en
Priority to DE602007001553T priority patent/DE602007001553D1/de
Priority to EP07008239A priority patent/EP1850320B1/en
Priority to CN2007100982630A priority patent/CN101064101B/zh
Publication of JP2007293013A publication Critical patent/JP2007293013A/ja
Application granted granted Critical
Publication of JP4702160B2 publication Critical patent/JP4702160B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/46Volume control
    • 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
    • G10H2210/00Aspects 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/155Musical effects
    • G10H2210/195Modulation 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 or playback speed
    • G10H2210/221Glissando, i.e. pitch smoothly sliding from one note to another, e.g. gliss, glide, slide, bend, smear or sweep
    • G10H2210/225Portamento, i.e. smooth continuously variable pitch-bend, without emphasis of each chromatic pitch during the pitch change, which only stops at the end of the pitch shift, as obtained, e.g. by a MIDI pitch wheel or trombone
    • 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
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/025Envelope processing of music signals in, e.g. time domain, transform domain or cepstrum domain
    • G10H2250/035Crossfade, i.e. time domain amplitude envelope control of the transition between musical sounds or melodies, obtained for musical purposes, e.g. for ADSR tone generation, articulations, medley, remix

Landscapes

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

Description

この発明は、波形メモリ等に記憶した波形サンプルデータに基づいて、楽音あるいは音声若しくはその他任意の音を合成する楽音合成装置及びプログラムに関する。特に、音が持続的に続く持続音部での楽音波形を、波形切り替え時間(所謂クロスフェード期間)を可変制御しながら合成する楽音合成装置及びプログラムに関する。
従来から、実際の自然楽器の演奏に基づいてサンプリングした、ビブラート変調(ピッチ変調)のかかった連続的波形のビブラート1周期の範囲の中から、分散的に複数の波形を取り出し、該取り出した複数波形それぞれをテンプレート波形として記憶しておき、楽音再生時にはこれらのテンプレート波形を、所定のシーケンス順に従って順々に切り替えながら繰り返し読み出すことによって、複数ビブラート周期にわたるビブラート奏法波形を高品質に合成する楽音合成装置が知られている。例えば、下記に示す特許文献1に記載されている発明がその一例である。この特許文献1に示されたような従来の装置において、テンプレート波形を切り替える際には、隣り合うテンプレート波形同士を、予め設定されている所定の波形切り替え時間(所謂クロスフェード期間)に従ってクロスフェード合成することで、波形の遷移が滑らかに行われるようにしている。
特許第3669177号公報
しかし、特許文献1に示されたような高品質な楽音合成を可能にする従来の装置においては、所定のシーケンス順に従ってテンプレート波形を読み出すのみであり、楽音合成の最中に随時に入力されるダイナミクス情報(楽音音量レベル情報)やピッチベンド情報(ピッチ変調情報)などに応じて、その楽音特性を随時任意に変更できるようになってはいない。また、クロスフェード合成の際に用いるクロスフェード期間には、経験的に所定の基準時間(例えば50ms(ミリ秒))が音色変化を反映したバランスのとれた時間として用いられており、楽音合成の最中に随時に入力されるダイナミクス情報やピッチベンド情報などの音色変化を伴う波形切り替えの契機(トリガ)となる情報に従って、個々の波形切り替えに最適なクロスフェード期間を設定できるようになっていない。そのため、例えば「スフォルツァンド(sforzando)」から「ピアノ(piano)」などのように入力ダイナミクス値が急激に変化したような場合には、波形の切り替えが時間的に遅れる、つまり入力ダイナミクス値の変化に音色変化が時間的に十分に追従しないことが生じてしまい都合が悪い。反対に、入力ダイナミクス値が時間的にゆっくりと変化したような場合には、波形の切り替えが本来よりも早い時間に完了してしまうことによって、当該箇所において階段状の音色変化が現れることとなり、こうした階段状の音色変化はユーザの耳につきやすく耳障りである、という不都合があった。
本発明は上述の点に鑑みてなされたもので、楽音の持続音部における時間的な音色変動を含む奏法に従う楽音波形を高品質に合成する際に、入力ダイナミクス情報や入力ピッチベンド情報に応じてその楽音特性を可変制御しうるとともに、個々の波形遷移に最適な波形切り替え時間を動的に設定することができる楽音合成装置及びプログラムを提供しようとするものである。
本発明の請求項1に係る楽音合成装置は、持続音用の波形データをダイナミクス値に対応付けて記憶する記憶手段と、持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する取得手段と、前記取得したダイナミクス値に対応する波形データを前記記憶手段から特定する特定手段と、前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき、波形切り替え時間を決定する決定手段と、前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、持続音の楽音波形を生成する楽音合成手段とを具える。
本発明によると、ダイナミクス値を所定の時間間隔で間欠的に取得し、記憶手段から該取得したダイナミクス値に対応する持続音用の波形データを特定する。記憶手段は、持続音用の波形データをダイナミクス値に対応付けて複数記憶している。また、特定した波形データへと波形を切り替えながら楽音波形を生成する際には、前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき波形切り替え時間の決定を行い、該決定した波形切り替え時間を用いて適宜に波形合成を実行する。このように、予め記憶しておいた複数の波形データから音色変化を実現するために使用すべき波形データを、所定の時間間隔で間欠的に取得されるダイナミクス値に応じて特定するとともに、ダイナミクス変化量に基づき波形切り替え時間を適宜に決定し動的に変更さながら楽音を合成するようにしたことから、適宜に入力されるダイナミクス値に応じて楽音特性を可変制御しうることができるだけでなく、そうした制御を行う際において、音色変化の反応(追従性)が良く、また音色変化に階段感が生じないようにして、時間的な音色変動を忠実に再現した楽音を高品質に合成することができるようになる。
本発明の請求項2に係る楽音合成装置は、異なるピッチに対応した複数の波形データを含むユニットを、ダイナミクス値に対応付けて複数記憶する記憶手段と、発生すべき楽音を制御するためのダイナミクス値及び該発生すべき楽音のピッチを制御するピッチ情報を所定の時間間隔で間欠的に取得する取得手段と、前記取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ情報に対応する波形データを特定する特定手段と、前記ダイナミクス値及びピッチ情報の取得時よりも所定時間前から前記ダイナミクス値及びピッチ情報の取得時までにおけるダイナミクス変化量又はピッチ変化量に基づき、波形切り替え時間を決定する決定手段と、前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、時間的に音色が変動する特性の楽音波形を生成する楽音合成手段とを具える。このように、予め記憶しておいた複数の波形データから音色変化を実現するために使用すべき波形データを、所定の時間間隔で間欠的に取得されるダイナミクス値及びピッチ情報に応じて特定するとともに、それらダイナミクス変化量又はピッチ変化量に基づき音色変化にかける波形切り替え時間を適宜に決定動的に変更さながら楽音を合成するようにしたことから、適宜に入力されるダイナミクス値やピッチ情報に応じて楽音特性をより細やかに可変制御しうることができるだけでなく、そうした制御を行う際において、音色変化の反応(追従性)が良く、また音色変化に階段感が生じないようにして、時間的な音色変動を忠実に再現した楽音を高品質に合成することができるようになる。
本発明は、装置の発明として構成し、実施することができるのみならず、方法の発明として構成し実施することができる。また、本発明は、コンピュータまたはDSP等のプロセッサのプログラムの形態で実施することができるし、そのようなプログラムを記憶した記憶媒体の形態で実施することもできる。
本発明によれば、楽音合成に使用すべき持続音用の波形データを、間欠的に取得されるダイナミクス値に基き特定するとともに、該特定した波形データへと波形を切り替える際に用いる波形切り替え時間を、前記ダイナミクス値の取得時におけるダイナミクス変化量に応じて動的に変更できるようにしたことから、音色変化の反応(追従性)が良く、また音色変化に階段感が生じないようにして、時間的な音色変動を忠実に再現した楽音を高品質に合成することができるようになる、という効果が得られる。
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
図1は、この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。ここに示す電子楽器は、演奏者による演奏操作子5の操作に伴い演奏進行に応じて供給される演奏情報(ノートオンイベントやノートオフイベントなどの演奏イベントデータ、ダイナミクス情報やピッチ情報などの各種コントロールデータを含む)に基づいて電子的に楽音を発生させたり、あるいは演奏進行順に順次に供給される予め作成済みの演奏情報に基づいて、自動的に楽音を発生する楽音合成機能を有する。また、前記楽音合成機能の実行時においては、1音のうち音が連続する部分である楽音の持続音部(ボディ部とも呼ばれる)について、演奏情報に含まれるダイナミクス値及びピッチベンド値(ピッチ情報)に基づき、新たに使用すべきオリジナルの波形サンプルデータ(以下、単に波形データと呼ぶ)の選択を行い、該選択された波形データに従って楽音を合成することにより、前記持続音部の楽音として、特にビブラート奏法やピッチベンド奏法などの少なくとも時間的な音色変動及びピッチ変化を含む奏法の楽音を高品質に再現することのできるようにしている。こうした楽音の持続音部に関する楽音合成処理の詳細な説明については、後述する。
なお、この実施例に示す電子楽器はここに示す以外のハードウェアを有する場合もあるが、ここでは必要最小限の資源を用いた場合について説明する。また、音源としては、例えば様々な楽器毎の特有な奏法に対応する波形データとして、アタック部、リリース部、持続音部あるいはジョイント部などの1音についての一部区間において所定の奏法に対応した波形全体を記憶しておき(所謂奏法モジュール)、これらを時系列的に複数組み合わせることで1音又は連続する複数音の楽音を形成することにより、自然楽器固有の各種奏法若しくはアーティキュレーションによる音色変化を忠実に表現した奏法などのリアルな再現とその制御を目的としたAEM(Articulation Element Modeling)と称する楽音波形制御技術を用いた音源(所謂AEM音源)を用いた場合を例にして説明する。
図1に示した電子楽器はコンピュータを用いて構成されており、そこにおいて、上記したような楽音合成機能を実現する各種の楽音合成処理(後述する図4に示す「持続音部合成処理」など)は、コンピュータが各々の処理を実現する所定のプログラム(ソフトウエア)を実行することにより実施される。勿論、これらの各処理はコンピュータソフトウエアの形態に限らず、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参照)などの各種制御プログラム等を記憶する。前記ROM2に制御プログラムが記憶されていない場合、この外部記憶装置4(例えばハードディスク)に制御プログラムを記憶させておき、それを前記RAM3に読み込むことにより、ROM2に制御プログラムを記憶している場合と同様の動作をCPU1にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。なお、外部記憶装置4はハードディスク(HD)に限られず、フレキシブルディスク(FD)、コンパクトディスク(CD)、光磁気ディスク(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(波形メモリ)にあるデータテーブルなどを参照して、持続音部に適用するための多数のユニット(後述する図3参照)の中から入力されたダイナミクス情報に対応する1組のユニットを選択し、さらに該選択した1組のユニット内に定義されている複数の波形データの中から、入力されたピッチベンド情報に対応する波形データを1つ選択する。
そして、奏法合成部J3は上記したような波形データの選択にあわせて、選択した波形データと時間的に先行する1つ前の波形データとを滑らかに接続するクロスフェード合成を行う際に用いる「波形切り替え時間」(クロスフェード期間)を、入力されたダイナミクス情報やピッチベンド情報などに応じて適宜に変更しながら設定する。こうして、選択した波形データに付されている固有の波形番号(ID)や前記設定した「波形切り替え時間」などを含む「奏法情報」を生成する。こうした持続音部に係る楽音合成処理については、後述する。楽音合成部J4では奏法合成部J3が生成した前記「奏法情報」に基づき、データベースJ1から使用する波形データなどを適宜に読み出して楽音合成を行う。この際に、楽音合成部J4では、「奏法情報」に従って波形切り替え時間を適宜に変更しながら波形データの切り替えを行うことで、持続音部の楽音を合成していく。このようにして、時間的な音色変動を含む奏法に従う楽音を出力する。
ここで、上述したデータベースJ1(波形メモリ)に記憶されるデータのうち、持続音部に適用する波形データのデータ構造について、図3を用いて説明する。図3は、データベースにおける持続音部に適用する波形データのデータ構造を示す概念図である。縦軸はピッチシフトなし(0cent)を基準とするピッチシフト量を表すピッチベンド値を、横軸は楽音音量レベルを表すダイナミクス値を示す。なお、図中において楕円で表す範囲の各ユニット下部には、便宜的に各ユニット固有のユニット番号「U1〜U5」を付してあり、またこれらの各ユニットU1〜U5に含まれる(定義されている)1乃至複数の波形データを、楕円内に黒く塗りつぶした丸で表している。すなわち、この図3に示す実施例は、ユニットU1〜U5のそれぞれが5つの波形データを含むものを例示している。
データベースJ1においては、持続音部に適用する波形データとそれに関連するデータ群とを「ユニット」として記憶している。図3に示すように、各ユニットU1〜U5はダイナミクス値にそれぞれ対応付けられており、こうしたダイナミクス値に対応付けられたユニットを、各音高(図では便宜上C3、D3、E3のみ示している)毎に1乃至複数個記憶している。例えば、1つの名目的な音色(ピアノやギター等の楽器音色、つまり音色情報で選択可能な1つの音色)について、35種の音高(音階音)のそれぞれにダイナミクス値に対応付けられた5組のユニットを記憶するものとすると、データベースJ1全体では当該名目的な音色について175組(35×5)のユニットを記憶することになる。
1つのダイナミクス値に対応する1組のユニットU1〜U5には、ピッチシフト量(例えばセント単位)に対応する複数個の異なる音色の波形データが含まれる。この1組のユニットU1〜U5に含まれる個々の波形データは、同じ音高であっても各ダイナミクス値に対応する各ユニットのそれぞれで異なる音色上の特徴を持つ楽音波形(つまり波形形状が異なる楽音波形)からなる。波形データを記憶する際には、例えばそれぞれのダイナミクスで演奏されたビブラート1周期にわたる複数波形周期からなる波形データ(ビブラート付与された波形データ)のうち、多様に音色変化する複数の一部波形を適宜に選んで取り出し、該取り出した波形を1組の「ユニット」として使用する(記憶する)。具体的な一例としては、或る名目的な音色(例えばサックス)の或る1つの音高(ノート)に対応する或る1つのダイナミクス値に対応して、ピッチシフトなし(0セント)の波形データを含む−20セント乃至+20セントの範囲の複数ステップ(例えば10セントきざみ)のピッチシフトに対応し、かつ音色が異なる一部範囲の波形データを選び、該選んだ波形データを1組の「ユニット」として使用する(記憶する)。したがって、図3に示すように、この実施例では音高(音階音)毎に複数の異なる音色の波形データを、ダイナミクスとピッチ(ピッチシフト量)とで管理することのできるように、データベースJ1(外部記憶装置4など)の記憶領域において、2次元のマトリックス状にデータマッピングするようにしている。こうした場合には、上記データベースJ1において、各ユニットU1〜U5毎に波形データと共に付加的に記憶されるデータ群として、例えばその記憶している波形データに付属して基準とするダイナミクス情報及びピッチベンド情報(ピッチシフト量)を持たせる。こうすることにより、記憶済みの波形データの中から、指示された入力ダイナミクス値及び入力ピッチベンド値に対応する波形データを検索/選択することができるようになる。また、こうしたデータ群は、「データテーブル」として一括管理することができるようにしている。
なお、上記各ユニットU1〜U5に含まれる波形データは、1周期の波形を記憶するものに限らず、2又はそれ以上の複数周期の波形を記憶するものであってもよいし、あるいは、公知のように1/2周期等の1周期未満の波形を記憶するものであってもよい。
なお、図3においては、各ユニットU1〜U5に含まれる波形データがダイナミクス方向において均等の間隔毎に並ぶようにデータマッピングされていない例を示したが、各ユニットU1〜U5に含まれる波形データがダイナミクス方向において均等の間隔毎に並ぶようにデータマッピングしてあってよい。また、各ユニットU1〜U5に含まれる波形データがピッチ方向において均等の間隔毎に並ぶようにデータマッピングされている例を示したが、各ユニットU1〜U5に含まれる波形データがピッチ方向において均等の間隔毎に並ばないようにデータマッピングするようにしてあってよい。そうなるように、複数周期からなる波形データのうち、多様に音色変化する複数の一部波形を適宜に選んで記憶する。例えば、ユニットU1は10セントきざみ、ユニットU2は5セントきざみなどのようにして、各ユニットU1〜U5毎に、ピッチシフトなし(0セント)を基準とした所定範囲の複数ステップのセントきざみの大きさを変えて波形データを選び、これを記憶するようにするとよい。なお、その際の基準とするピッチシフト量を、ピッチシフトなし(0セント)以外の任意のピッチシフト量に設定できるようにしてもよい。
なお、個別の音高(音階音)毎にこのようなユニットをそれぞれ記憶することなく、2又はそれ以上の音高(例えばC3とC#3など)のグループに対応して上記したユニットを記憶するようにしてもよい。
次に、持続音部の楽音波形を合成する「持続音部合成処理」を実現する具体的な処理動作について、図を用いて説明する。図4は、「持続音部合成処理」の一実施例を示したフローチャートである。当該処理は、演奏開始と共にカウントが開始されるタイマ1Aに応じて、該電子楽器におけるCPU1により例えば1ms(ミリ秒)毎に実行される割り込み処理である。この「持続音部合成処理」は、演奏者の操作に応じてあるいは演奏情報などに応じて、例えばビブラート奏法あるいはピッチベンド奏法などによって1つの楽音の発音中にそのピッチ及び音色が微妙に又は複雑に時間的に変化する特性で、楽音の持続音部を合成するために実行される処理である。なお、楽音のアタック部の波形は、図示しないアタック部波形合成処理によって別途行われるようになっており、こうしたアタック部の波形合成処理に引き続いて、ここに示す「持続音部合成処理」が行われる。また、この「持続音部合成処理」においては、ノート情報によって発生すべき楽音の音高(ノート)が指定され、かつ、ピッチベンドホイール等のピッチ操作手段の操作に応じて、ピッチベンド情報がリアルタイムで入力される。なお、ノート情報は当該音のノートオン時にRAM3に記憶された情報を用い、ダイナミクス情報及びピッチベンド情報は、当該操作子から入力がされた際に奏法合成部J3において最新値としてRAM3に記憶された情報を用いる。
ステップS1は、現在合成中の波形(アタック部波形)がアタック部の終端に到来したか否か、又はその後において所定の時間間隔(例えば10ms間隔)の境目のタイミングが到来したか否かを判定する。アタック部の終端に到達していない、又はその後における所定の時間間隔(10ms毎)の境目のタイミングが到来していないと判定した場合には(ステップS1のNO)、当該処理を終了し、次の割り込みまでこの図4の処理は行われない。つまり、アタック部の終端のタイミングまでの間においては、アタック部の波形データに基づきアタック部の楽音合成が行われて、この「持続音部合成処理」はまだ実質的には行われることがない。また、アタック部以降における10ms間隔の境目のタイミングでない持続音部においても、後述するような新たな波形データを特定する処理(ステップS4参照)を行うことなく、次の割り込み時刻(1ms後)まで待つ。したがって、その間については、入力ダイナミクス値及び入力ピッチベンド値に応じた波形データの切り替えが行われることがない。
他方、アタック部の終端が到来した、又は所定の時間間隔(10ms毎)の境目のタイミングが到来したと判定した場合には(ステップS1のYES)、記憶されている最新の入力ダイナミクス値及び入力ピッチベンド値を取得する(ステップS2)。ステップS3は、予め取得済みのノート情報と前記取得した入力ダイナミクス値に応じてデータベースを参照し、データベースJ1から該当するユニットを1つ選択する。この入力ダイナミクス値に基くユニットの選択については、後述する(図8参照)。ステップS4は、前記選択されたユニットから、前記取得した入力ピッチベンド値に従って波形データを1つ特定する。
ステップS5は、波形の切り替え処理中であるか否かを判定する。すなわち、現在実行中の楽音合成が隣り合う2つの波形データのクロスフェード合成によるものであるか否かを判定する。波形の切り替え中であると判定した場合には(ステップS5のYES)、当該処理を終了する。すなわち、既に波形の切り替えを行いながら楽音を合成している最中である場合には、以下に示すような入力ダイナミクス値及び入力ピッチベンド値に応じた波形データへの切り替えを行わない。他方、波形の切り替え中でないと判定した場合、つまり1つの波形データを繰り返し読み出しながら楽音を合成している場合には(ステップS5のYES)、前記ステップS4において特定した波形データの音色が、現在合成中の波形データの音色と異なるか否かを判定する(ステップS6)。なお、ステップS5の処理はステップS2の直前に行ってもよい。特定した波形データの音色が現在合成中の波形データの音色と同じ音色であると判定した場合には(ステップS6のNO)、ステップS8の処理へジャンプする。特定した波形データの音色が現在合成中の波形データの音色と異なる音色であると判定した場合には(ステップS6のYES)、「波形切り替え時間制御処理」を実行する(ステップS7)。この「波形切り替え時間制御処理」については、後述する(後述の図5参照)。
ステップS8は、選択された波形データを加工するための奏法情報を生成する。すなわち、選択された波形データの時間的な配置位置などを決定すると共に、入力されたピッチベンド情報などに基づき波形データを加工するための奏法情報を生成する。ここで、加工とはピッチ調整処理を含む。例えば、入力されたピッチベンド情報に対応する波形データが、前記ピッチベンド情報が指示するピッチシフト量に一致していないような場合に、該選択した波形データの生成ピッチを調整することで、ピッチベンド情報が指示するピッチシフトが得られるように調整するための情報を生成する。こうして必要な奏法情報が生成され、ステップS9は、該生成された奏法情報に従って持続音部の楽音を合成する。この際に、波形切り替え前後の波形をクロスフェード合成することにより、滑らかに波形が切り替わるようにする。
次に、上述した「持続音部合成処理」(図4参照)において実行する「波形切り替え時間制御処理」について、図5を用いて説明する。図5は、「波形切り替え時間制御処理」の一実施例を示すフローチャートである。
ステップS11は、同じユニット内にある他の波形データ(音色は異なる)への波形切り替えであるか否かを判定する。すなわち、上記特定した波形データと現在合成中の波形データとが共に、同一のユニットに含まれる波形データであるか否かを判定する。現在の楽音合成中にダイナミクス値が変化しておらず、上記特定した波形データが同じユニット内にある他の波形データへの切り替えであると判定した場合には(ステップS11のYES)、特定した波形データと時間的に先行する1つ前の波形データとを滑らかに接続するクロスフェード合成を行う際に用いる「波形切り替え時間」(クロスフェード期間)を50msに決定し、該決定した「波形切り替え時間」(ここでは基準時間である50ms)を奏法情報に設定する(ステップS14)。他方、現在の楽音合成中にダイナミクス値が変化しており、上記特定した波形データが同じユニット内にある波形データへの切り替えでないと判定した場合、つまり波形データを選択したユニットそのものが変更されている場合には(ステップS11のNO)、一例として現在時点よりも100ms前の時点において記録された100ms前の入力ダイナミクス値と、上記図4のステップS2において現在時点で取得された現在の入力ダイナミクス値との差の絶対値を計算する(ステップS12)。そして、後述する図6に示すようなテーブル等を参照することにより、該計算した絶対値に応じた「波形切り替え時間」を決定し、該決定した「波形切り替え時間」を奏法情報に設定する(ステップS13)。
ここで、上記「波形切り替え時間制御処理」(図5参照)において、100ms前の時点における入力ダイナミクス値と現在時点で取得された入力ダイナミクス値との差の絶対値(つまりダイナミクス変化量)に基いて、「波形切り替え時間」を決定する際に参照するテーブルについて、図6を用いて説明する。図6は、ダイナミクス変化量(前記絶対値(ΔD))に基き波形切り替え時間を決定する際に参照するテーブルの一実施例である。図6に示すテーブルにおいては、左側にダイナミクス変化量(ここでは一例として、100ms前の入力ダイナミクス値と取得された入力ダイナミクス値との差の絶対値(ΔD))を示し、右側に前記絶対値毎に適用すべき波形切り替え時間を示している。
図6に示すテーブルにおいては、100ms前のダイナミクス値と取得された入力ダイナミクス値との差の絶対値(ΔD)が「1〜5dB(デシベル)」である場合に、波形切り替え時間を「50ms」に対応付ける。この「50ms」という時間は従来知られた通常の波形切り替え時間、すなわち通常演奏時において音色変化の反応が良いことに加えて音色の階段感を目立たせることなく、バランス良く波形切り替えを行うのに最も適した波形切り替え時間であることから、この実施例ではこの「50ms」を基準時間としている。ここで、通常演奏とは、時間的に急激にダイナミクスを変化させたり、時間的にゆっくりと徐々にダイナミクスを変化させたりすることのない演奏である。これに対して、前記絶対値(ΔD)が「5dB以上」である場合、つまり短い時間内に急激にダイナミクスが大きく変化する演奏が行われた場合には、波形切り替え時間を「10ms」に対応付ける。この「10ms」という規定時間は前記通常演奏の場合に比較して基準時間よりも短縮された時間であり、こうして波形切り替え時間を短縮すると通常演奏時よりも音色変化の切り替えが早く完了されるので、ダイナミクス変化に対する音色変化の追従性がよくなる。一方、前記絶対値(ΔD)が「1dB未満」である場合、つまり長い時間をかけてゆっくりと徐々にダイナミクスが変化する演奏が行われた場合には、波形切り替え時間を「200ms」に対応付ける。この「200ms」という規定時間は前記通常演奏の場合に比較して基準時間よりも伸張された時間であり、こうして波形切り替え時間を伸張すると通常演奏時よりも音色変化の切り替えがゆっくりと進行されるので、音色の階段感が軽減される。
勿論、上記テーブルを参照して、前記絶対値(ΔD)に応じて図示した「10ms」、「50ms」、「200ms」のように、段階的に波形切り替え時間を対応付けることに限らず、前記絶対値(ΔD)に応じて連続的に波形切り替え時間を対応付けるようにしてもよい。そうした場合の一例を示すと、図7のようになる。図7は、波形切り替え時間とダイナミクス変化量(絶対値(ΔD))との連続的な相関関係を模式的に示す概念図である。この図7に示すように、前記絶対値(ΔD)が「1dB未満」である場合には波形切り替え時間を「200ms」に対応付け、前記絶対値(ΔD)が「5dB以上」である場合には波形切り替え時間を「10ms」に対応付けている。これは図6に示した場合と同様である。これに対して、前記絶対値(ΔD)が「1〜5dB」である場合には、波形切り替え時間を200ms〜10msの間で連続的にリニア(又は図示していないが所望の曲線)状に変化させるようにして、前記絶対値(ΔD)に対応付ける。こうすると、前記絶対値(ΔD)に段階的に波形切り替え時間を対応付けた場合よりも、入力ダイナミクス値の変化に応じた音色変化のタイミングをより細やかに制御することができる。なお、ここに示した波形切り替え時間は一例であり、これに限らない。
なお、上述した実施例では波形切り替え時間を決定する際に、100ms前の時点におけるダイナミクス値と現在時点において取得されたダイナミクス値との差を計算し、この計算値の絶対値(ΔD)を用いる例を示したがこれに限らず、前記計算値の符号付きを用いるようにして、前記絶対値(ΔD)が同じ値であっても前記符号付きの計算値が正値(つまり、100ms前に比べてダイナミクスが増加)である場合と、前記符号付の計算値が負値(つまり、100ms前に比べてダイナミクスが減少)である場合とで、波形切り替え時間を異ならせるようにしてあってもよい。また、計算値を求める際に用いるダイナミクス値は、通常演奏時において音色変化の反応が良く、また音色の階段感が目立たない、バランスのとれたクロスフェード期間として経験的に用いられる基準時間「50ms」の2倍である「100ms」前のダイナミクス値を用いるのが適当であるが、これに限られるものでないことは言うまでもない。
なお、ダイナミクス値の差を求める際に、100ms前の時点における値との差に限らず、任意の一定時間前の時点における値でもよく、また一定時間でなく任意の時間前の値でもよい。
なお、ここではダイナミクス値の変化量(上記絶対値(ΔD)など)に応じて波形切り替え時間を決定する例を示したがこれに限らず、ダイナミクス値の変化量に基く場合と同様にして、例えば100ms前の時点におけるピッチと現在時点におけるピッチとの変化量(つまりピッチ変化量)に応じて、波形切り替え時間を決定するようにしてもよい。前記ピッチは、演奏情報に含まれるノート(音高)情報とピッチベンド値とにより求まる。
なお、データベースに記憶したユニット毎に代表的なダイナミクス値(例えば、該ユニット内に含まれる波形データの平均ダイナミクス値など)を1つデータテーブルに記憶しておき、波形切り替え時において、波形切り替え前のユニットの前記ダイナミクス値と、特定された波形切り替え後のユニットの前記ダイナミクス値との差を計算し、該計算値に基き適用すべき波形切り替え時間を決定するようにしてもよい。
なお、図6に示したテーブルなどの代わりに、データベースに記憶したユニット毎に付与されるユニット番号(U1、U2、…など)差と波形切り替え時間とを対応付けたテーブルを用意しておき、波形切り替え時に、波形切り替え前のユニットに付されているユニット番号と、特定された波形切り替え後のユニットに付されているユニット番号との差を計算し、該計算値に基き前記テーブルを参照して適用すべき波形切り替え時間を決定するようにしてもよい。
次に、上記「持続音部合成処理」(図4参照)による持続音部における楽音合成手順について、図8及び図9を参照しながら説明する。図8は、「持続音部合成処理」による楽音合成手順のうち、ユニット選択及び波形データ選択(図4のステップS3及びステップS4参照)について模式的に説明するための概要図である。ここで、図8(a)は入力ダイナミクス値の時間変化を例示した図であり、縦軸は入力ダイナミクス値、横軸は時間を示す。図8(b)は、入力ダイナミクス値及び入力ピッチベンド値に対応して、データベース内に記憶されている波形データの選択について説明するための図である。図9は、入力ダイナミクス値及び入力ピッチベンド値に応じて選択される、各波形データの時系列的組み合わせを例示したものである。図9(a)は、1波構成の波形データを用いた場合の時系列的組み合わせを図示したものである。図9(b)は、複数波構成の波形データを用いた場合の時系列的組み合わせを図示したものである。ここで、図9(b)では便宜的に隣り合う波形データを上下2段に分けて別々に図示することで、隣り合う波形データそれぞれのフェードイン/フェードアウトが重なり合うことのないように図示している。なお、以下の説明では、音高「C3」に対応する楽音を生成するものとし、波形生成前に当該発生すべき音高「C3」に対応する楽音に関してのノート情報を取得済みであるものとする。また、時刻aよりも前の時点では、ユニットU1の波形データ「1」を用いた楽音合成が繰り返しなされているものとする。なお、ここでは図中に示すようにして、ユニット番号(U1〜U5など)と波形番号(1〜5など)との組み合わせからなる「U1−1」の表示により、波形データを表記する。
まず、図8(a)に示す時刻aがアタック部の終端、又はその後の所定の時間間隔(10ms間隔)の境目と一致するタイミングであるような場合には、その時点で最新の入力ダイナミクス値及び入力ピッチベンド値を取得する。そして、既に取得済みの音高「C3」に関するノート情報と前記取得した入力ダイナミクス値とに基づき、データベースに記憶された該当音高「C3」に対応付けられたユニットU1〜ユニットU5の中から、ユニットを1つ選択する。図8(b)に示す例では、取得した入力ダイナミクス値が閾値「d1未満」であるならばユニットU1、入力ダイナミクス値が閾値「d1以上d2未満」であるならばユニットU2、入力ダイナミクス値が閾値「d2以上d3未満」であるならばユニットU3、入力ダイナミクス値が閾値「d3以上d4未満」であるならばユニットU4、入力ダイナミクス値が閾値「d4以上」であるならばユニットU5がそれぞれ選択されるようになっている。ここでは、時刻aの時点で取得した入力ダイナミクス値が「d1以上d2未満」であることから、時刻aの時点ではユニットU2が選択される。
上記ユニットU2の選択後、時刻aの時点で取得した入力ピッチベンド値に基き、前記選択したユニットU2内に含まれる複数の波形データ(波形1〜波形5)の中から、波形データを1つ特定する。図8(b)に示す例では、取得した入力ピッチベンド値が閾値「p1未満」であるならば波形1、入力ピッチベンド値が閾値「p1以上p2未満」であるならば波形2、入力ピッチベンド値が閾値「p2以上p3未満」であるならば波形3、入力ピッチベンド値が閾値「p3以上p4未満」であるならば波形4、入力ピッチベンド値が閾値「p4以上」であるならば波形5のデータがそれぞれ選択されるようになっている。ここで、時刻aの時点で取得された入力ピッチベンド値が一例として「p1未満」であるとすると、前記選択されたユニットU2から波形1(U2−1)を特定する。
現在の楽音合成が波形切り替え中でない、つまり同じ波形データ(ここでは便宜的にユニットU1の波形1とする)を繰り返し読み出すことによる楽音合成であり、また前記選択されたユニットU2の波形1の音色が先行する波形(U1−1)の音色と異なる場合には、波形切り替え時間の設定を行う。この際に、先行する波形(U1−1)と前記特定された波形(U2−1)とが同じユニットに含まれる波形データへの切り替えでなく、また、時刻aから100ms前のダイナミクス値と、時刻aの時点において取得された入力ダイナミクス値との差の絶対値が一例として「5dB」以上であるような場合には、上記図6に示したテーブルを参照して、波形切り替え時間を「10ms」に設定する。そして、ユニットU2の波形1(U2−1)を繰り返し読み出し、持続音部の楽音波形を生成する。その際には、先行するユニットU1の波形1(U1−1)と後続する前記選択したユニットU2の波形1(U2−1)とを、前記設定した10msだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音を合成していく。ここで、1波構成(1周期分)の波形データを用いた場合には該波形データをループ読み出しするクロスフェード期間として、複数波構成の波形データを用いた場合には隣り合う波形データ同士のクロスフェード期間として、前記設定した波形切り替え時間がそれぞれ適用される。
前記時刻aから10ms後にあたる時刻bの時点において、それまでの間に更新された新たな入力ダイナミクス値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択する。ここでは、時刻bの時点で取得した入力ダイナミクス値が「d1以上d2未満」であることから、時刻bの時点ではユニットU2が選択される。また時刻bの時点で取得した入力ピッチベンド値に基き、該選択したユニットから対応する波形データを1つ特定する。取得された入力ピッチベンド値が一例として「p1以上p2未満」であるとすると、前記選択されたユニットU2から波形2(U2−2)を特定する。この場合における波形切り替え時間の設定では、先行する波形(U2−1)と前記特定された波形(U2−2)とが同じユニット(ここではU2)に含まれる波形データへの切り替えであることから、図6に示したテーブルを参照することなく波形切り替え時間を「50ms」に設定する(図5のステップS14参照)。したがって、先行するユニットU2の波形1(U2−1)と後続する前記選択したユニットU2の波形2(U2−2)とを、前記設定した50msだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音合成を開始する。
前記時刻bの時点から10msの時間が経過した時点(図示を省略)において、それまでの間に更新された新たな入力ダイナミクス値及び入力ピッチベンド値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択し、該選択したユニットから該取得した入力ピッチベンド値に対応する波形データを1つ特定する処理を行わない。これは、前記時刻bにおいて設定された波形U2−1から波形U2−2への波形切り替え時に用いられる波形切り替え時間として「50ms」が設定されており、時刻bの時点から10msの時間が経過した時点においては未だ前記波形間の波形切り替え中であることから、波形切り替えに係る上記処理を実行しない(図4のステップS5のYES参照)。前記時刻bの時点から20ms、30ms、40msの時間が経過したそれぞれの時点(図示を省略)においても、上記10ms経過時点と同様であり、波形切り替えに係る上記処理を実行しない。
時刻bから50ms後の時刻cにおいては、前記時刻bにおいて設定された波形U2−1から波形U2−2への波形切り替えが完了する。そこで、時刻cの時点でそれまでの間に更新された新たな入力ダイナミクス値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択する。ここでは、時刻cの時点で取得した入力ダイナミクス値が「d3以上d4未満」であることから、時刻cの時点ではユニットU4が選択される。また時刻cの時点で取得した入力ピッチベンド値が一例として「p1未満」であるとすると、前記選択されたユニットU4から波形1(U4−1)を特定する。この場合における波形切り替え時間の設定では、先行する波形(U2−2)と前記特定された波形(U4−1)とが同じユニットに含まれる波形データへの切り替えでないことから、図6に示したテーブルを参照して波形切り替え時間を一例として「50ms」に設定する。そして、先行するユニットU2の波形2(U2−2)と後続する前記選択したユニットU4の波形1(U4−1)とを、前記設定した50msだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音合成を開始する。
アタック部終端から所定の時間間隔(10ms間隔)の境目と一致するタイミングであり、前記先行する波形(U2−2)から後続する波形(U4−1)への切り替えが完了する時点となる、前記時刻cから50ms後にあたる時刻dの時点において、それまでの間に更新された新たな入力ダイナミクス値が取得された場合には、該取得した入力ダイナミクス値に対応するユニットをデータベースから選択する。ここでは、時刻dの時点で取得した入力ダイナミクス値が「d2以上d3未満」であることから、時刻dの時点ではユニットU3が選択される。また時刻dの時点で取得した入力ピッチベンド値が一例として「p1未満」であるとすると、前記選択されたユニットU3から波形1(U3−1)を特定する。この際に、先行する波形(U4−1)と前記特定された波形(U3−1)とが同じユニットに含まれる波形データへの切り替えでなく、また、時刻aから100ms前のダイナミクス値と、時刻aの時点において取得された入力ダイナミクス値との差の絶対値が一例として「1dB」未満であるような場合には、上記図6に示したテーブルを参照して、波形切り替え時間を「200ms」に設定する。そして、先行するユニットU4の波形1(U4−1)と後続する前記特定したユニットU3の波形1(U3−1)とを、前記設定した200msだけクロスフェード合成するようにして、滑らかに波形を切り替えながら楽音合成を開始する。
以上のようにして、持続音部に対する奏法情報の生成を、アタック部終了後から開始される持続音部の楽音合成中に一定周期間隔(10ms)で行い、その際には取得した最新の入力ダイナミクス値に対応するユニットに含まれる複数の音色の異なる波形データの中から、取得したピッチベンド値に対応する波形データを特定し、これに基づき生成した奏法情報に従って楽音を合成する。また、先行する波形データと後続する前記特定された波形データとをクロスフェード合成する場合に、ダイナミクス値の変化量、先行する波形データと後続する特定された波形データとの関係に基き、クロスフェード合成を行う際に用いる波形切り替え時間(クロスフェード期間)を適宜の時間に調整して、これに基き楽音を合成するようにしている。こうすることにより、ダイナミクスが短い時間内に急激に変化した場合における音色変化の反応(追従性)を良くすることができ、またダイナミクスが長い時間をかけてゆっくりと変化した場合における音色変化の階段感をなくすことができることから、従って音が持続する持続音部での時間的な音色変動を含む奏法を忠実に再現した楽音を高品質に合成することができるようになる。
なお、上記「持続音部合成処理」(図4参照)において、波形選択した際に波形切り替え中であった場合には、「波形切り替え時間制御処理」を処理しないようにしたが(図4のステップS5のYES)、そうした場合には現在実行中の波形切り替えに係るクロスフェード合成を加速させて、本来設定されていた波形切り替え時間よりも早い時間に波形の切り替えが完了するようにしてもよい(所謂加速フェード処理)。これによると、ダイナミクス変化に対する音色変化の追従性がさらに上がるという利点がある。なお、加速フェード処理については公知であることから、ここでの説明を省略する。
なお、上記実施例では、波形切り替えが必要か否かに応じて、波形切り替えに係る波形切り替え時間を変更する処理を行うようにしたがこれに限らない。例えば、10ms間隔毎にダイナミクス変化量を求め、その値に応じて波形切り替え時間を変更するようにしてもよい。こうすることによっても、ダイナミクス変化に対する音色変化の追従性を上げることができる。
なお、上述した実施例では、ダイナミクス値に対応付けられたユニットの中から、ピッチ情報に対応付けられた異なるピッチの波形データを特定するようにしたがこれに限らず、持続音用の波形データをダイナミクス値に対応付けて記憶しておき、取得したダイナミクス値に応じて波形データを直接特定できるようにしてもよい。ただし、上記実施例のようにすると、ダイナミクス値及びピッチ情報により波形データが特定されて、ダイナミクス変化量又はピッチ変化量に基いて、音色変化にかける波形切り替え時間を適宜に変更設定して楽音を合成することから、ダイナミクス値のみに対応付けることに比べて楽音特性をより細やかに可変制御しうるので有利である。
なお、本発明において使用する波形データは、上述したような各種奏法に対応して「奏法モジュール」化されたものに限らず、その他のタイプのものであってもよい。また、各ユニットの波形データは、メモリに記憶したPCM、DPCM、ADPCMのような適宜の符号化形式からなる波形サンプルデータを単純に読み出すことで生成されるようなものであってもよいし、あるいは、高調波合成演算やFM演算、AM演算、フィルタ演算、フォルマント合成演算、物理モデル音源など、各種の公知の楽音波形合成方式を適宜採用したものであってもよいことは言うまでもない。すなわち、音源8における楽音信号発生方式は、いかなるものを用いてもよい。例えば、発生すべき楽音の音高に対応して変化するアドレスデータに応じて波形メモリに記憶した楽音波形サンプル値データを順次読み出す波形メモリ読み出し方式、又は上記アドレスデータを位相角パラメータデータとして所定の周波数変調演算を実行して楽音波形サンプル値データを求めるFM方式、あるいは上記アドレスデータを位相角パラメータデータとして所定の振幅変調演算を実行して楽音波形サンプル値データを求めるAM方式等の公知の方式を適宜採用してよい。このように、音源回路8の方式は波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO+VCF+VCAのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源8を構成するものに限らず、DSPとマイクロプログラム、あるいはCPUとソフトウェアを用いて音源回路8を構成するようにしてもよい。さらに、共通の回路を時分割で使用することによって複数の発音チャンネルを形成するようなものでもよいし、各発音チャンネルがそれぞれ専用回路で構成されるようなものであってもよい。
なお、上述した各楽音合成処理における楽音合成の方式としては、既存の演奏情報を本来の演奏時間到来前に先行取得しておき、これを解析して楽音を合成する所謂プレイバック方式であってもよいし、リアルタイムに供給された演奏情報に基づき楽音を合成するリアルタイム方式のどちらであってもよい。
なお、この楽音合成装置を電子楽器に適用する場合、電子楽器は鍵盤楽器の形態に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの形態でもよい。また、演奏操作子、表示器、音源等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別々に構成され、MIDIインタフェースや各種ネットワーク等の通信手段を用いて各機器を接続するように構成されたものにも同様に適用できることはいうまでもない。また、パソコンとアプリケーションソフトウェアという構成であってもよく、この場合処理プログラムを磁気ディスク、光ディスクあるいは半導体メモリ等の記憶メディアから供給したり、ネットワークを介して供給するものであってもよい。さらに、カラオケ装置や自動演奏ピアノのような自動演奏装置、ゲーム装置、携帯電話等の携帯型通信端末などに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバコンピュータ側に持たせ、端末とサーバコンピュータとからなるシステム全体として所定の機能を実現するようにしてもよい。すなわち、本発明に従う所定のソフトウエア又はハードウエアを用いることによって、入力ダイナミクス値、入力ピッチベンド値等に基づいて、データベースに記憶されたユニットの中から適宜に用いるユニット、さらには該ユニットに含まれる波形データを切り替えながら、楽音を合成することのできるようにしたものであればどのようなものであってもよい。
この発明に係る楽音合成装置を適用した電子楽器のハードウエア構成例を示すブロック図である。 楽音合成機能を説明するための機能ブロック図である。 データベースにおける持続音部に適用する波形データのデータ構造を示す概念図である。 持続音部合成処理の一実施例を示したフローチャートである。 波形切り替え時間制御処理の一実施例を示すフローチャートである。 ダイナミクス変化量に基き波形切り替え時間を決定する際に参照するテーブルの一実施例である。 波形切り替え時間とダイナミクス変化量との連続的な相関関係を模式的に示す概念図である。 ユニット選択及び波形データ選択について模式的に説明するための概要図であり、図8(a)は入力ダイナミクス値の時間変化を示す図であり、図8(b)は波形データの選択について説明するための図である。 入力ダイナミクス値及び入力ピッチベンド値に応じて選択される、各波形データの時系列的組み合わせを例示した図であり、図9(a)は1波構成の波形データを用いた場合、図9(b)は複数波構成の波形データを用いた場合である。
符号の説明
1…CPU、1A…タイマ、2…ROM、3…RAM、4…外部記憶装置、5…演奏操作子(鍵盤等)、6…パネル操作子、7…表示器、8…音源、8A…サウンドシステム、9…インタフェース、1D…通信バス、J1…データベース、J2…入力部、J3…奏法合成部、J4…楽音合成部

Claims (7)

  1. 持続音用の波形データをダイナミクス値に対応付けて記憶する記憶手段と、
    持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する取得手段と、
    前記取得したダイナミクス値に対応する波形データを前記記憶手段から特定する特定手段と、
    前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき、波形切り替え時間を決定する決定手段と、
    前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、持続音の楽音波形を生成する楽音合成手段と
    を具えた楽音合成装置。
  2. 異なるピッチに対応した複数の波形データを含むユニットを、ダイナミクス値に対応付けて複数記憶する記憶手段と、
    発生すべき楽音を制御するためのダイナミクス値及び該発生すべき楽音のピッチを制御するピッチ情報を所定の時間間隔で間欠的に取得する取得手段と、
    前記取得したダイナミクス値に対応するユニットを前記記憶手段から選択し、かつ、該選択されたユニット中から前記取得したピッチ情報に対応する波形データを特定する特定手段と、
    前記ダイナミクス値及びピッチ情報の取得時よりも所定時間前から前記ダイナミクス値及びピッチ情報の取得時までにおけるダイナミクス変化量又はピッチ変化量に基づき、波形切り替え時間を決定する決定手段と、
    前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、時間的に音色が変動する特性の楽音波形を生成する楽音合成手段と
    を具えた楽音合成装置。
  3. 同一のユニット内に含まれる波形データに基づく波形切り替えであるか否かを判定する判定手段をさらに備えてなり、
    前記決定手段は、前記判定に従って同一のユニット内に含まれる波形データに基づく波形切り替えである場合と、同一のユニット内に含まれる波形データに基づく波形切り替えでない場合とで、波形切り替え時間を異ならせることを特徴とする請求項2に記載の楽音合成装置。
  4. 前記決定手段は、前記ダイナミクス変化量又はピッチ変化量が所定値よりも大きい場合に、波形切り替え時間を基準時間よりも短い時間に決定し、前記ダイナミクス変化量又はピッチ変化量が所定値よりも小さい場合に、波形切り替え時間を基準時間よりも長い時間に決定することを特徴とする請求項1乃至3のいずれかに記載の楽音合成装置。
  5. 持続音用の波形データをダイナミクス値に対応付けて記憶するメモリを使用して、コンピュータに、
    持続音を発生すべきとき、該発生すべき持続音を制御するためのダイナミクス値を所定の時間間隔で間欠的に取得する手順と、
    前記取得したダイナミクス値に対応する波形データを前記メモリから特定する手順と、
    前記ダイナミクス値の取得時よりも所定時間前から前記ダイナミクス値の取得時までにおけるダイナミクス変化量に基づき、波形切り替え時間を決定する手順と、
    前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、持続音の楽音波形を生成する手順と
    を実行させるためのプログラム。
  6. 異なるピッチに対応した複数の波形データを含むユニットを、ダイナミクス値に対応付けて複数記憶するメモリを使用して、コンピュータに、
    発生すべき楽音を制御するためのダイナミクス値及び該発生すべき楽音のピッチを制御するピッチ情報を所定の時間間隔で間欠的に取得する手順と、
    前記取得したダイナミクス値に対応するユニットを前記メモリから選択し、かつ、該選択されたユニット中から前記取得したピッチ情報に対応する波形データを特定する手順と、
    前記ダイナミクス値及びピッチ情報の取得時よりも所定時間前から前記ダイナミクス値及びピッチ情報の取得時までにおけるダイナミクス変化量又はピッチ変化量に基づき、波形切り替え時間を決定する手順と、
    前記決定した波形切り替え時間に従って、合成中の波形データから前記特定した波形データへと波形を切り替えて、時間的に音色が変動する特性の楽音波形を生成する手順と
    を実行させるためのプログラム。
  7. 同一のユニット内に含まれる波形データに基づく波形切り替えであるか否かを判定する手順をさらに備えてなり、
    前記波形切り替え時間を決定する手順は、前記判定に従って同一のユニット内に含まれる波形データに基づく波形切り替えである場合と、同一のユニット内に含まれる波形データに基づく波形切り替えでない場合とで、波形切り替え時間を異ならせることを特徴とする請求項6に記載のプログラム。
JP2006120530A 2006-04-25 2006-04-25 楽音合成装置及びプログラム Expired - Fee Related JP4702160B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006120530A JP4702160B2 (ja) 2006-04-25 2006-04-25 楽音合成装置及びプログラム
US11/788,553 US7432435B2 (en) 2006-04-25 2007-04-19 Tone synthesis apparatus and method
DE602007001553T DE602007001553D1 (de) 2006-04-25 2007-04-23 Vorrichtung und Verfahren zur Tonsynthese
EP07008239A EP1850320B1 (en) 2006-04-25 2007-04-23 Tone synthesis apparatus and method
CN2007100982630A CN101064101B (zh) 2006-04-25 2007-04-25 乐音合成装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006120530A JP4702160B2 (ja) 2006-04-25 2006-04-25 楽音合成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2007293013A JP2007293013A (ja) 2007-11-08
JP4702160B2 true JP4702160B2 (ja) 2011-06-15

Family

ID=38197902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006120530A Expired - Fee Related JP4702160B2 (ja) 2006-04-25 2006-04-25 楽音合成装置及びプログラム

Country Status (5)

Country Link
US (1) US7432435B2 (ja)
EP (1) EP1850320B1 (ja)
JP (1) JP4702160B2 (ja)
CN (1) CN101064101B (ja)
DE (1) DE602007001553D1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7915514B1 (en) * 2008-01-17 2011-03-29 Fable Sounds, LLC Advanced MIDI and audio processing system and method
JP5104418B2 (ja) * 2008-03-10 2012-12-19 ヤマハ株式会社 自動演奏装置、プログラム
US9196235B2 (en) 2010-07-28 2015-11-24 Ernie Ball, Inc. Musical instrument switching system
US8723011B2 (en) * 2011-04-06 2014-05-13 Casio Computer Co., Ltd. Musical sound generation instrument and computer readable medium
JP6019803B2 (ja) * 2012-06-26 2016-11-02 ヤマハ株式会社 自動演奏装置及びプログラム
US8927847B2 (en) * 2013-06-11 2015-01-06 The Board Of Trustees Of The Leland Stanford Junior University Glitch-free frequency modulation synthesis of sounds
JP6252088B2 (ja) * 2013-10-09 2017-12-27 ヤマハ株式会社 波形再生を行うためのプログラム、波形再生装置及び方法
CN107195289B (zh) * 2016-05-28 2018-06-22 浙江大学 一种可编辑的多级音色合成系统及方法
CN107146598B (zh) * 2016-05-28 2018-05-15 浙江大学 一种多音色混合的智能演奏系统和方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559298A (en) 1993-10-13 1996-09-24 Kabushiki Kaisha Kawai Gakki Seisakusho Waveform read-out system for an electronic musical instrument
JP3520931B2 (ja) * 1994-06-03 2004-04-19 ヤマハ株式会社 電子楽器
TW282537B (ja) * 1994-11-02 1996-08-01 Seikosha Kk
US5672836A (en) * 1995-05-23 1997-09-30 Kabushiki Kaisha Kawai Gakki Seisakusho Tone waveform production method for an electronic musical instrument and a tone waveform production apparatus
JP3520781B2 (ja) * 1997-09-30 2004-04-19 ヤマハ株式会社 波形生成装置及び方法
US6150598A (en) 1997-09-30 2000-11-21 Yamaha Corporation Tone data making method and device and recording medium
JP3744216B2 (ja) 1998-08-07 2006-02-08 ヤマハ株式会社 波形形成装置及び方法
TWI228704B (en) * 2001-03-23 2005-03-01 Yamaha Corp Music sound synthesis with waveform caching by prediction
JP3876767B2 (ja) * 2002-06-06 2007-02-07 ヤマハ株式会社 報知音発生方法および装置、並びに報知音発生プログラム
JP4381703B2 (ja) * 2003-03-19 2009-12-09 ヤマハ株式会社 電子楽器
US7547839B2 (en) * 2005-03-22 2009-06-16 Yamaha Corporation Performance data processing apparatus, performance data processing method, and computer readable medium containing program for implementing the method
JP4274152B2 (ja) 2005-05-30 2009-06-03 ヤマハ株式会社 楽音合成装置
JP2007011217A (ja) 2005-07-04 2007-01-18 Yamaha Corp 楽音合成装置及びプログラム

Also Published As

Publication number Publication date
US20070256542A1 (en) 2007-11-08
CN101064101B (zh) 2011-05-11
EP1850320B1 (en) 2009-07-15
US7432435B2 (en) 2008-10-07
DE602007001553D1 (de) 2009-08-27
CN101064101A (zh) 2007-10-31
EP1850320A1 (en) 2007-10-31
JP2007293013A (ja) 2007-11-08

Similar Documents

Publication Publication Date Title
JP3975772B2 (ja) 波形生成装置及び方法
US7432435B2 (en) Tone synthesis apparatus and method
JP3915807B2 (ja) 奏法自動判定装置及びプログラム
US7816599B2 (en) Tone synthesis apparatus and method
JP2007011217A (ja) 楽音合成装置及びプログラム
JPH10214083A (ja) 楽音生成方法および記憶媒体
JP4407473B2 (ja) 奏法決定装置及びプログラム
JP3829780B2 (ja) 奏法決定装置及びプログラム
JP3873790B2 (ja) 奏法表示編集装置及び方法
JP3656584B2 (ja) 演奏データ処理装置及びプログラム
JP4816441B2 (ja) 楽音合成装置及びプログラム
JP4821558B2 (ja) 楽音合成装置及びプログラム
JP4802947B2 (ja) 奏法決定装置及びプログラム
JP4826276B2 (ja) 楽音合成装置及びプログラム
JP3755468B2 (ja) 楽曲データの表情付け装置及びプログラム
JP4172509B2 (ja) 奏法自動判定装置及び方法
JP3642028B2 (ja) 演奏データ処理装置及び方法並びに記憶媒体
JP2002287759A (ja) 波形生成方法及び装置
JP4007374B2 (ja) 波形生成方法及び装置
JP4218566B2 (ja) 楽音制御装置及びプログラム
JP2006133464A (ja) 奏法決定装置及びプログラム
JP4067007B2 (ja) アルペジオ演奏装置及びプログラム
JP3876896B2 (ja) 波形生成方法及び装置
JP2002287760A (ja) 波形生成方法及び装置
JP2008003222A (ja) 楽音合成装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110221

R150 Certificate of patent or registration of utility model

Ref document number: 4702160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees