JP5217443B2 - 楽音生成装置及びプログラム - Google Patents

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

Info

Publication number
JP5217443B2
JP5217443B2 JP2008001575A JP2008001575A JP5217443B2 JP 5217443 B2 JP5217443 B2 JP 5217443B2 JP 2008001575 A JP2008001575 A JP 2008001575A JP 2008001575 A JP2008001575 A JP 2008001575A JP 5217443 B2 JP5217443 B2 JP 5217443B2
Authority
JP
Japan
Prior art keywords
sound
data
note
legato
event
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
JP2008001575A
Other languages
English (en)
Other versions
JP2008191657A (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 JP2008001575A priority Critical patent/JP5217443B2/ja
Publication of JP2008191657A publication Critical patent/JP2008191657A/ja
Application granted granted Critical
Publication of JP5217443B2 publication Critical patent/JP5217443B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、複数のエレメントデータに基づいて複数のエレメント音を生成し、その生成された複数のエレメント音を合成して1つの楽音を生成する楽音生成装置及び、コンピュータをこのような楽音生成装置として機能させるためのプログラムに関する。
従来から、1つの音色を規定するボイスデータ(音色データ)として、それぞれ波形やエンベロープ等の内容を示すエレメントデータを複数用意し、発音する際には、各エレメントデータに基づいてエレメント音を生成し、その各エレメント音を合成して、ボイスデータにより規定される音色の音として出力する楽音生成装置が知られている。
このような装置については、例えば特許文献1に記載がある。
特許第2842232号公報
また、上記のような複数のエレメントデータを使用可能な楽音生成装置において、各エレメント毎に、どの範囲のノートナンバ及びベロシティを持つノートオンイベントが発生した場合に発音に用いる(有効にする)かを規定しておき、ノートオンイベントが発生した場合に、そのノートナンバ及びベロシティに応じて楽音の生成に使用するエレメントデータを決定することも行われている。
そして、特許文献2には、このような機能を利用し、エレメントデータを有効にする範囲及び、そのエレメントデータによって指定される波形データの内容を適切に定めることにより、複数の奏法の波形データを、ノートナンバを横軸とし、ベロシティを縦軸として形成されるNV平面にマッピングすることが記載されている。このようなマッピングを行っておけば、1回の押鍵操作に応じて、その押鍵操作に係るノートナンバとベロシティにより、自動的に奏法を選択し、所望の奏法で演奏を行った場合の楽音を出力させることができる。
特開2005−107029号公報
また、電子オルガンやキーボード等の電子楽器においては、演奏内容や設定に応じて、見かけ上同じ音色が選択されている場合でも発生させる楽音の内容を変化させる機能を設けることも行われている。
このような機能としては、例えば、レガートの設定がなされている場合に、前後の押鍵のノートオン期間を一部重ねるレガート演奏が行われた場合、前のノートオンと対応する楽音から後のノートオンと対応する楽音に対し、ピッチをなめらかにつなぐポルタメント処理を行うと共に、後のノートオンと対応する楽音を、アタック感の少ないレガート音用のデータを用いて発生させる、レガート機能が知られている。
また、ノートオンに応じてノートオン音の発音を開始すると共に、ノートオフに応じて別のノートオフ音の発音を開始するノートオフ発音機能も知られている。この機能は、チェンバロの引っかき音等を再現するために用いられる。このようなノートオフ発音機能については、例えば特許文献3に記載されている。
また、ノートオンの度に、ランダム値に応じて周波数特性やピッチなどの特性が異なる楽音を生成する差替(ランダム)発音機能も知られている。この機能は、弾き損ない音等を再現するために用いられる。このような差替発音機能については、例えば特許文献4に記載されている。
また、奏法スイッチを設け、ノートオンに応じて、その時操作されていた奏法スイッチに応じた奏法の楽音を生成する奏法切換機能も知られている。このような奏法スイッチについては、例えば特許文献5に記載されている。
特公平05−46955号公報号公報 特許第2722665号公報 特許第3407610号公報
ところで、上述したような、演奏内容や設定に応じて、見かけ上同じ音色が選択されている場合でも発生させる楽音の内容を変化させる機能は、従来は、メーカーが作成した音色データを用いる場合にのみ利用できるものだった。そして、ユーザに音色データを作成させる場合に、その音色データを用いてレガート機能等を実現するための設定を行う機能を提供することは行われていなかった。
なお、特許文献2に記載の技術によれば、1つの音色データを用いて、異なる奏法に対応する波形を選択的に発音に使用させることができる。しかし、この技術では、奏法に対応する波形のマッピングを行うため、特定のノートナンバとベロシティの組み合わせには、1つの奏法しか対応させられず、音色作成の自由度が低いという問題があった。また、上記のレガート機能のように、複数のノートオンの関係に応じて波形を選択する動作や、ノートオフ発音機能のように、イベントの種類に応じて波形を選択する動作、そして、差替発音機能や奏法切換機能のように、ノートオンのノートナンバとベロシティが同じであっても場合によって波形を切り換える動作については、特許文献2に記載の技術では対応できないという問題があった。
また、音色データの編集ができるシンセサイザでは、音色データは、一般に複数エレメントで構成されていたが、何れのエレメントもノートオンに応じて発音開始されるようになっており、レガート発音、ランダム発音、ノートオフ発音のような、条件付きの発音制御ができるようにはなっていなかった。すなわち、複数のエレメントは、互いに独立して発音をするものであり、あるエレメントの発音を、他のエレメントの発音状態によって制御することはできなかった。
本発明は、このような背景に基づいてなされたものであり、複数のエレメント音を規定する複数のエレメントデータを有する音色データを編集可能な楽音生成装置において、異なる2以上のエレメント音を相互に関係付けて発音制御できるようにすることを目的とする。
この発明は、上記の目的を達成するため、複数のエレメントデータに基づいて複数のエレメント音を生成し、その生成された複数のエレメント音を合成して1つの楽音を生成する楽音生成装置において、1つの音色の楽音を構成する複数のエレメント音に対応する複数のエレメントデータであって、それぞれ、対応するエレメント音を発音すべきノートナンバの範囲を示すリミットデータと、対応するエレメント音の楽音特性を制御するための特性制御データとを含む複数のエレメントデータを記憶する記憶手段と、ノートナンバのデータを含み、1つの楽音の発音開始を指示するノートオンイベントの発生に応じて、その発生したノートオンイベントのノートナンバが上記リミットデータの示す範囲内であるエレメントデータの中から複数のエレメントデータを候補として選択する選択手段とその選択手段によって選択された候補となる複数のエレメントデータの中から、所定の規則に従って又はランダムで、いずれか1つのエレメントデータを上記発生したノートオンイベントに応じた新規エレメント音の生成に使用するエレメントデータとして決定するエレメント決定手段と、上記エレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づき、その特性制御データの示す楽音特性で、かつ上記発生したノートオンイベントに含まれるノートナンバに対応した音高のエレメント音を生成するエレメント音生成手段とを設けたものである。
また、このような楽音生成装置において、上記リミットデータを、対応するエレメント音を発音すべきベロシティの範囲を示すデータとし、上記ノートオンイベントを、ノートナンバに代えてベロシティのデータを含むものとし、上記選択手段が、新規エレメント音の生成に使用するエレメントデータの決定に上記ノートナンバに代えてそのベロシティを用い、上記エレメント音生成手段が、発生したノートオンイベントに含まれるベロシティに対応した音量のエレメント音を生成するようにするとよい。
また、上記の各楽音生成装置において、上記エレメント決定手段が新規エレメント音の生成に使用するエレメントデータを決定する際の、上記候補となる複数のエレメントデータの中から使用するエレメントデータを選択する選び方を指定する指定手段であって、その選び方として所定の規則に従うかランダムかを指定する指定手段を設けるとよい。
さらに、上記各エレメントデータにそれぞれ、対応するエレメント音が非差替音と差替音のいずれの発音タイプであるかを示す発音タイプデータを含め、上記エレメント決定手段を、上記選択手段によって選択された候補となるエレメントデータのうち、上記発音タイプが差替音であるエレメントデータの中から、新規エレメント音の生成に使用するエレメントデータを決定する手段とし、上記選択手段によって選択された候補となるエレメントデータのうち、上記発音タイプが非差替音であるエレメントデータを、新規エレメント音の生成に使用するエレメントデータとして決定する第2のエレメント決定手段をさらに設け、上記エレメント音生成手段が、上記エレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づくエレメント音の生成に加え、上記第2のエレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づくエレメント音の生成も行うようにするとよい。
さらに、ユーザからの指示に応じて、上記記憶手段の記憶する上記複数のエレメントデータの内容を編集する編集手段を設けるとよい。
さらにまた、上記各エレメントデータにそれぞれ、そのエレメントデータが複数のグループのうちいずれに属するかを示すグループ情報を含め、上記選択手段が、上記グループ毎にそのグループに属するエレメントデータの中から上記エレメントデータの候補の選択を行うようにし、上記エレメント決定手段が、上記グループ毎に、上記選択手段によって選択されたそのグループ内の候補となる複数のエレメントデータの中から、新規エレメント音の生成に使用するエレメントデータを決定するようにするとよい。
また、上記の各楽音生成装置において上記非差替音を、ノーマル音、レガート音、スイッチオン音、またはスイッチオフ音とするとよい。
また、この発明のプログラムは、コンピュータを上記のいずれかの楽音生成装置として機能させるためのプログラムである。
以上のようなこの発明の楽音生成装置によれば、複数のエレメント音を規定する複数のエレメントデータを有する音色データを編集可能な楽音生成装置において、異なる2以上のエレメント音を相互に関係付けて発音制御できるようにすることができる。
また、この発明のプログラムによれば、コンピュータを上記のような楽音生成装置として機能させてその特徴を実現し、同様な効果を得ることができる。
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、図1に、この発明の楽音生成装置の実施形態であるシンセサイザのハードウェア構成を示す。
図1に示すように、シンセサイザ10は、CPU11,ROM12,RAM13,MIDI(Musical Instruments Digital Interface:登録商標)I/F(インタフフェース)14,演奏操作子15,タイマ16,表示器17,パネル操作子18,記憶装置19,楽音信号生成回路20を備え、これらがシステムバス34により接続されている。また、この他に、波形メモリ31,DAC(デジタル・アナログ・コンバータ)32,サウンドシステム33も備えている。
そして、CPU11は、シンセサイザ10を統括制御する制御手段であり、ROM12又は記憶装置19に記憶された所要の制御プログラムを実行することにより、演奏操作子15及びパネル操作子18の操作内容検出、表示器17の表示制御、MIDI_I/F14を介したMIDIデータの送受信制御、楽音信号生成回路20における楽音信号生成処理の制御等の制御動作を行う。
ROM12は、CPU11が実行する制御プログラムや、変更する必要のないデータ等を記憶する記憶手段である。このROM12をフラッシュメモリ等の書き換え可能な不揮発性記憶手段によって構成し、これらのデータを更新できるようにすることも考えられる。
RAM13は、CPU11のワークメモリとして使用したり、一時的に使用するパラメータの値等を記憶したりする記憶手段である。
MIDI_I/F14は、外部装置との間でMIDIデータを送受信するためのインタフェースである。
演奏操作子15は、鍵盤やペダル等、ユーザによる演奏操作を受け付けるための操作子である。
タイマ16は、割り込み処理のタイミング制御等に使用する時間を計測するための計時手段である。
表示器17は、液晶ディスプレイ(LCD)や発光ダイオード(LED)ランプ等によって構成され、シンセサイザ10の動作状態や設定内容あるいはユーザへのメッセージ、ユーザからの指示を受け付けるためのグラフィカル・ユーザ・インタフェース(GUI)等を表示するための表示手段である。
パネル操作子18は、キー、つまみ、スライダ、ピッチベンド等、ユーザからの、シンセサイザ10の動作に関する設定の操作を受け付けるための操作子である。また、このパネル操作子18には、後述するエレメント選択のためのスイッチA,B(不図示)が含まれる。
記憶装置19は、HDD(ハードディスクドライブ)、CD−ROMドライブ、光磁気(MO)ディスクドライブ等によって構成され、CPU11が実行する制御プログラムや、編集により変更されるボイスデータや楽曲データ等のデータを記憶する不揮発性記憶手段である。
楽音信号生成回路20は、演奏操作子15の操作に従ってCPU11が発生させたり、楽曲の自動演奏時に楽曲データの内容に従ってCPU11が発生させたりしたMIDIイベント(楽音の生成を制御するための演奏イベント)に応じて楽音の波形を生成する波形生成手段である。
より具体的には、音源レジスタ21,波形データ読出処理部22,フィルタ処理部23,エンベロープ処理部24,ch(チャンネル)累算部25,エフェクト処理部26を備えている。
そして、音源レジスタ21は、複数の発音chにそれぞれ対応した複数組のレジスタを有し、その各レジスタは、システムバス34を介してCPU11により書き込まれた、楽音信号生成回路20の各構成要素22〜26を制御するための各種のデータを一時的に記憶する。このデータには、読み出すべき波形データの格納アドレス、フィルタやエンベロープを生成するためのパラメータ、波形データに施すエフェクト処理の内容等を指定するデータが含まれる。
波形データ読出処理部22は、波形メモリ31に記憶されている複数の波形データのうち、音源レジスタ21に設定されているアドレスから、発音に使用する波形データを読み出してフィルタ処理部23に出力する機能を有する。その際の読出アドレスは、発音すべき楽音のピッチに応じて指定された速度で進行し、さらに、折り返しノイズを抑えるために、サンプル間の補間が行われている。
なお、波形メモリ31には、後述するエレメントと対応する波形データを、複数記憶させておく。1つのエレメントに対して、所定の音域毎(各音高毎でもよい)や、ベロシティ範囲毎に、異なる波形データを用意しておいてもよい。また、波形データは、楽器等の音をサンプリングして得たり、計算により生成したりすることができる。また、波形メモリ31は、ROMによって構成しても、RAMによって構成してもよい。後者の場合、電源投入時等に、記憶装置19等に記憶させておいた波形データセットを読み出して波形メモリ31に記憶させる。
フィルタ処理部23は、波形データ読出処理部22が出力した波形データに対し、音源レジスタ21に設定されているパラメータの値に従って周波数特性を調整するためのフィルタ処理を行い、その結果をエンベロープ処理部24に出力する機能を有する。
エンベロープ処理部24は、音源レジスタ21に設定されているパラメータの値に基づいて、音量(Amplitude)の時間変化を示すエンベロープ波形を生成し、フィルタ処理部23が出力した波形データに対し、そのエンベロープ波形に従った、音量の調整処理を行う機能を有する。この処理後の波形データは、ch累算部25に出力する。
なお、波形データ読出処理部22,フィルタ処理部23,エンベロープ処理部24は、1つのサンプリング周期内に、複数の各発音chと対応する複数のタイミングで、時分割に各処理を実行する。シンセサイザ10においては、発音chを128ch設けており、この数だけの処理タイミングを設けている。また、後述するように、シンセサイザ10においては、1つの音色について複数のエレメントデータを用意しておき、各エレメントデータに基づいて発音させるエレメント音を合成して、ある音色の楽音を生成する。そして、1つのエレメントデータを用いた発音に1つの発音chを使用し、例えば4つのエレメント音を合成して1つの音色の音を発音させる場合、その音色の音を発音するための4つの発音chを使用する。
ch累算部25は、エンベロープ処理部24から、複数の発音chと対応するタイミングでそれぞれ出力される波形データを、1サンプリング周期分累算し、エフェクト処理部26に出力する機能を有する。
エフェクト処理部26は、ch累算部25から出力される波形データに、音源レジスタ21に設定されているパラメータの値に従って、コーラスやリバーブ等の音楽的効果を付与し、サンプリング周期毎にDAC32に出力する機能を有する。
DAC32は、楽音信号生成回路20(エフェクト処理部26)から出力されるデジタルの波形データを、アナログの楽音信号に変換し、サウンドシステム33に供給する機能を有する。
サウンドシステム33は、スピーカ等により構成され、DAC32から供給される楽音信号に従った音声を出力する音声出力手段である。
以上のようなシンセサイザ10は、ユーザの演奏操作に従い、ユーザが指定した音色の楽音を生成して出力することができる。自動演奏に従った楽音についても、同様に出力することができる。そして、この場合において、1つの音色の楽音を、複数のエレメント音を合成して生成することができる。
この場合、ノートオンイベント(楽音の発音開始を指示する発音制御イベント)の発生に応じて、CPU11が楽音信号生成回路20に対して所要のエレメント音の発音開始の指示を行い、そのエレメント音の生成を開始させる。そして、そのノートオンイベントと対応するノートオフイベント(楽音の減衰開始を指示する発音制御イベント)の発生に応じて、CPU11が楽音信号生成回路20に対して、ノートオンイベント時に発音開始したエレメント音の減衰開始(リリース開始)の指示を行い、そのエレメント音の減衰を開始させる。
そして、各エレメント音について、ノートオンイベントに応じて発音開始された後、ノートオフイベントに応じて減衰開始されるまでの期間を、そのエレメント音の「ノートオン状態」と呼ぶ。また、減衰開始された後、音が小さくなり消滅するまでの期間を、そのエレメント音の「リリース期間」と呼ぶ。なお、後述するように、ノートオフイベントの発生に応じてエレメント音の発音を開始させる場合もある。
また、シンセサイザ10においては、エレメント音の生成に用いるエレメントデータを複数有し、かつ、種々の規則に従って楽音生成に使用するエレメントデータを自動的に決定する規則の指定を含む音色データ(ボイスデータ)を、ユーザが容易に編集することができる。
以下、このボイスデータの構成及び、そのボイスデータに従った発音制御処理につき、詳細に説明する。なお、以下の説明において、ボイスデータを構成するある一部分としての「エレメントデータ」のことを、単に「エレメント」と呼ぶことにする。
まず、図2に、1音色分のボイスデータの構成を、データマップとして示す。
この図に示すボイスデータは、予め、複数音色分、ROM12又は記憶装置19に記憶させておく。そして、ユーザ(演奏者)の操作や自動演奏データの指定により、いずれかのボイスデータが発音に使用するものとして選択されると、CPU11は、そのボイスデータを読み出して、RAM13に確保した各パート毎のボイスバッファ領域に格納し、発音処理時に参照する。また、この格納により、後述するエレメントのグループ分けや発音タイプが設定され、この処理において、CPU11がグループ設定手段及びタイプ設定手段として機能する。
そして、ボイスデータは、図2に示すように、複数のエレメントデータと、ボイス全体の情報を示すコモンデータとによって構成される。ここでは、エレメントデータの数は8としている。
このうち、コモンデータには、ボイス名,ボイスセレクト番号,プログラムチェンジ番号,音律指定データ,エフェクトパラメータ,ポリ/モノデータ,その他データが含まれる。
そして、ボイス名は、ボイスの名称を示すデータである。
ボイスセレクト番号及びプログラムチェンジ番号は、ボイスを選択する際に、操作子又はMIDIプログラムチェンジイベントにより指定すべき番号を示すデータである。
音律指定データは、ボイスに固有の音律を指定するデータである。
エフェクトパラメータは、全てのエレメント音に対して付与する共通のエフェクトの内容を示すデータである。
ポリ/モノデータは、ボイスの発音を、複数音程の同時発音を許可するポリモードで行うか、許可しないモノモードで行うかを指定するためのデータである。ポリモードでは、鍵盤で複数の鍵が同時に(重なるタイミングで)押鍵された場合、それら全ての鍵と対応する音を発音するが、モノモードでは、ある鍵の押鍵後、次の鍵が押鍵された場合、前の鍵が離鍵前であっても、前の押鍵に対応する音は減衰開始(ノートオフ)する。
なお、あるボイスをポリ/モノの両方のモードに対応可能とし、演奏中にユーザの操作によりモードを切り替えられるようにしてもよい。
また、各エレメントデータは、エレメントオンオフ,発音タイプ,グループ番号,波形セット番号,ノートレンジ,ベロシティレンジ,ベロシティカーブ,フィルタパラメータ,EGパラメータ,その他データを含む。
そして、エレメントオンオフは、エレメントの有効(オン)/無効(オフ)を指定するデータである。これがオンのエレメントのみが、発音に使用される。
発音タイプは、エレメントを発音に使用するか否かを定める際に用いる規則を、エレメントのタイプとして指定するデータである。指定可能な発音タイプとしては、以下の表1に示すものを用意している。具体的な発音タイプ名の他に示したカッコ書きは、発音タイプの機能に応じた区分である。
Figure 0005217443
グループ番号は、エレメントのグループ分けを示すデータであり、発音タイプが示す規則は、そのグループ毎に適用する。ここでは、グループは1から8までの8グループを設定可能であり、1ボイス中の全てのエレメントを別々のグループにすることが可能である。
また、波形セット番号は、対応するエレメントを用いたエレメント音の生成に使用する波形セットデータの番号を示す。波形セットデータは、複数セットのデータにそれぞれ番号を付して波形メモリ31に格納しておき、エレメント音を生成する場合には、波形セット番号により指定された波形セットデータに含まれる複数の波形データの何れか1つを、ノートオン/オフイベントのノート(音高)に応じて選択し、波形データ読出処理部21に読み出させる。この波形セットデータを、ユーザが自由に編集できるようにしてもよい。また、波形データを選択する際に、ノートに加えて、またはこれに代えて、ノートオン/オフイベントのベロシティ(強度)も利用するようにしてもよい。
なお、波形セットデータには、複数の波形データを含め、ノートオン/オフイベントのレンジ範囲やベロシティ範囲に応じて、異なる波形データを使用するようにすることもできる。また、エレメントデータ中で、波形セット番号に代えて、波形メモリ31から波形データを読み出すアドレスを直接指定するようにしてもよい。
ノートレンジ及びベロシティレンジはそれぞれ、リミットデータであり、発生したノートオンイベント(発音タイプがキーオフ発音の場合にはノートオフイベント)のノートナンバ及びベロシティがどの範囲にある場合にエレメントを発音に使用するかを指定するデータである。そして、ノートナンバ又はベロシティが、これらのレンジから外れる場合には、レンジを設定したエレメントを発音に使用しない。
ベロシティカーブは、エレメント音の生成に使用するベロシティカーブを規定するデータである。
フィルタパラメータは、エレメント音の生成時にフィルタ処理部23で行うフィルタ処理の種類やその特性値を規定するデータである。
EGパラメータは、エレメント音の生成時にエンベロープ処理部24で施す各種処理に使用するエンベロープの特性を規定するデータである。
以上のうち、波形セット番号,ベロシティカーブ,フィルタパラメータ,EGパラメータは、エレメント音の楽音特性(振幅変化、ピッチ変化、波形形状等)を制御するための特性制御データである。
以上のようなボイスデータは、CPU11を編集手段として機能させ、シンセサイザ10のパネル操作子18を用いて編集したり、外部のPC(パーソナルコンピュータ)等で所要のアプリケーションを用いて編集し、その結果を記憶装置19に記憶させたりすることができる。
次に、図3に、CPU11が以上のようなボイスデータを用いて楽音信号生成回路20に発音を指示する際に使用する発音管理用データの構成を示す。
この図に示す発音管理用データは、CPU11が、RAM13に記憶領域を確保して記憶させ、発音に使用するボイスデータの内容や、発生したノートオン/オフイベントの内容に基づいて随時書き換え、これらの演奏イベントと対応する発音に使用するエレメントを決定(ボイスデータに含まれる複数のエレメントから選択)する際に参照するものである。
そして、シンセサイザ10は、複数パートでの発音を可能としているため、各パート毎に、そのパートで発生したイベントや、そのパートでの発音に使用するボイスデータに関する管理用データを記憶できるようにしている。なお、パートは、例えば、上鍵盤、下鍵盤、足鍵盤等の演奏操作子毎のパートとしたり、各鍵盤を複数の鍵域に分け、その鍵域毎のパートとしたり、自動演奏の各演奏トラック毎のパートとしたりすることが考えられる。そして、シンセサイザ10では、パート毎に、音色を設定することができる。また、あるパートの演奏イベント(MIDIイベント)が発生した場合、そのパートに設定されている音色を示すボイスデータ(音色データ)を用いて、生成する楽音を制御する。
また、各パートについての発音管理データは、ボイス番号,グループ発音状態フラグGS,有効エレメントフラグEE,レガート状態フラグLS,各グループに関するデータ,その他データを含む。
そして、ボイス番号は、対応するパートの発音に使用するボイスデータを示す番号である。
グループ発音状態フラグGSは、各グループにおいて、過去のノートオンイベントに応じて発音している非レガート又はレガートのエレメント音の中に、未だノートオン状態であるエレメント音があるか否かを記載するためのフラグデータである。また、GSは8ビットのデータであり、その各ビットがそれぞれ、1〜8番目のグループに対応し、そのグループに関する情報を示す。
有効エレメントフラグEEは、ノートオンイベントを検出した場合に、そのイベントに応じた発音に使用し得るエレメントがどれであるかを判定して一時的に記載するためのフラグデータである。この判定は、各エレメントのオンオフ及びリミットデータを参照し、また、発音タイプがスイッチ対応(全スイッチオフ、スイッチAオン又はスイッチBオンの発音タイプ)である場合には、発音タイプ及びそのスイッチの状態も参照して行う。また、EEも8ビットのデータであり、その各ビットがそれぞれ、1〜8番目のエレメントに対応し、そのエレメントに関する情報を示す。
レガート状態フラグLSは、ノートオンイベントを検出した場合に、そのイベントがレガート奏法に係るノートオンイベントか否か判定し、その結果を一時的に記載するためのフラグデータである。LSは、1ビットのデータでよい。
これらのGS,EE,LSの値は、ノートオンイベントがある度に更新される。
また、各グループに関するデータは、非レガートエレメントフラグNLE,レガートエレメントフラグLE,サイクルエレメントフラグCE,ランダムエレメントフラグRE,キーオフ発音エレメントフラグOSE,サイクル発音レジスタCXを含む。
これらのうち、サイクル発音レジスタCXを除く5つのフラグデータはそれぞれ、非レガート,レガート,サイクル,ランダム,キーオフ発音の5つの発音タイプに対応しており、ボイスデータの8つのエレメントのうちの、該当するグループに属し、かつ対応する発音タイプに設定されているエレメントを示す。なおここでは、ノーマル,全スイッチオフ,スイッチAオン,スイッチBオンの4つの発音タイプに設定されたエレメントは、ひとまとめにして非レガートのエレメントとして、非レガートエレメントフラグNLEにより示すようにしている。
そして、各フラグデータは8ビットのデータであり、その各ビットが、ボイスデータ中の各エレメントに対応する。そして、各グループの各フラグデータでは、該当グループに属し、かつフラグデータと対応する発音タイプに設定されているエレメントのビットが「1」に設定され、残りのビットは「0」に設定される。各エレメントは、1つのグループにしか属することができず、また、1つの発音タイプしか設定できないので、全グループの全フラグを通して、各ビットは1つのフラグデータでしか「1」にならない。ただし、1つのフラグデータで複数のビットが「1」になることはある。
すなわち、あるグループに、e番目のエレメントが属しており、そのエレメントがレガートのエレメントだとすると、そのグループのレガートエレメントフラグLEは、e番目のビットが「1」になるが、他のグループのものも含め、他の全てのフラグデータのe番目のビットは「0」になる。また、あるグループに、1番目と2番目のエレメントが属しており、その両方がサイクルのエレメントだとすると、そのグループのサイクルエレメントフラグCEは、1番目と2番目のビットが「1」になる。
これらのNLE,LE,CE,RE,OSEの各フラグは、各パートでボイスデータが選択された際に設定され、その後は、ボイスデータが変更されない限り変更されない。
また、サイクル発音レジスタCXは、最新のノートオンイベントに対応する発音に用いたサイクルのエレメントを記録するレジスタであり、次のノートオンイベントに対応する発音に使用するサイクルのエレメントを決定する際に参照する。サイクル発音レジスタCXの値は、ノートオンイベントがある度に更新される。また、CXは、1〜8番目のグループのグループデータ全てに設けても、サイクルのエレメントを含むグループのグループデータのみに設けてもよい。
以上が、発音管理用データの構成である。
次に、図4に、CPU11がノートオンイベントの検出時に実行する、そのイベントに応じた発音指示処理のフローチャートを示す。この処理は、図3に示した各データを参照したり、書き換えたりしながら進行するものである。
CPU11は、ユーザの演奏操作に応じて生成されたり、自動演奏処理により生成されたりしてノートオンイベントが発生したことを検出すると、図4のフローチャートに示す処理を開始する。
そしてまず、検出したノートオンイベントが持つ、パートp,ノートナンバn,ベロシティvのデータを取得する(S11)。ノートナンバは、基本的には発音させる音の音高と対応し、ベロシティは、基本的には演奏操作の強度と対応するが、必ずしもこれらに限られない。
次に、ステップS11で取得したパートpと対応するボイス番号を参照して、そのパートに設定されているボイスデータを選択し、以後の処理に使用することを決定する(S12)。
そして、有効性判定処理(S13)及びモノモード処理(S14)を実行して、有効エレメントフラグEE及びレガート状態フラグLSを設定する。
その後、グループ番号レジスタgを1から8まで順次増加させて、1〜8番目の各グループにつき、非レガート&レガート発音処理(S16),サイクル発音処理(S17),ランダム発音処理(S18)を実行し、そのグループに属するエレメントの発音タイプに応じて、発音に使用するエレメントを決定し、楽音信号生成回路20の発音chを割り当て、音源レジスタ21の割り当てた発音chのレジスタに対し発音に必要な設定を行う(S15〜S21)。
また、発音を設定したエレメントのうち1つを選択し、対応するノートオフ時の発音にエンベロープ情報を引き継がせるエレメントとして、今回のノートナンバnと、選択したエレメントが割り当てられた発音chとを示す引き継ぎ情報を、処理中のグループの引き継ぎリストHL(g)に追加する(S19)。このステップS19の処理において、CPU11はエレメント音特定手段として機能する。
引き継ぎリストHL(g)は、図3に示したグループデータ中に設けてもよいが、登録する引き継ぎ情報は1つとは限らず、基本的には同時にノートオンされている数だけ記憶し、データ量が変動するので、グループデータとは別に記憶するようにすることが好ましい。
また、引き継ぎ情報は、記載した発音chに減衰(リリース)開始が指示されたり、発音音量が下がりその発音chが開放されたりしたときに引き継ぎリストHL(g)から削除される。そして、エンベロープ情報を引き継がせるエレメントの選択は、エレメント番号の若い順等により自動的に行うようにしてもよいし、ユーザがエレメント選択の順番を指定できるようにしてもよい。なお、ここで選択されるエレメントは、ノートオンイベントに応じて同時に発音開始される複数のエレメント音のうち、発音持続時間が最も長いエレメント音とするのが好適である。
エンベロープ情報の引継ぎについては、後述する。
また、ステップS21でYESになると、楽音信号生成回路20に対しステップS16〜S18の各発音処理で発音を設定した全発音chの発音開始を指示し(S22)、処理を終了する。そして、この発音開始の指示に応じて、楽音信号生成回路20が、これらの発音chのレジスタに設定された各エレメントのエレメントデータに基づいて、ノートナンバnに対応した音高かつベロシティvに対応した音量のエレメント音を生成し、これらを合成することにより、検出したノートオンイベントに応じた楽音を生成することができる。この場合において、CPU11と楽音信号生成回路20がエレメント音生成手段として機能する。
次に、図4に示した各処理について、内容をより詳細に説明する。
まず、図5に、ステップS13の有効性判定処理のフローチャートを示す。
この処理においては、CPU11は、エレメント番号レジスタeの値を1ずつ増加させ、1〜8番目の各エレメントにつき、ステップS32〜S37の処理を順次実行する(S31,S38,S39)。
そして、この部分の処理においては、e番目のエレメントのエレメントオンオフがオンであるか(S32)、及び、図4のステップS11で取得したノートナンバnとベロシティvが、エレメントデータ中のノートレンジ及びベロシティレンジで規定される有効範囲に入っているか(S33)、を順次判定する。また、e番目のエレメントがスイッチ対応(全スイッチオフ、スイッチAオン又はスイッチBオンの発音タイプ)のエレメントである場合には(S34)、エレメント選択スイッチの押下状態(オンオフ状態)が、e番目のエレメントの要求を満たすものであるか否かも判定する(S35)。
そして、これらの判定が全てYESである場合(ステップS34でNOの場合も)、有効エレメントフラグEEのe番目のビットを「1」に設定し、e番目のエレメントが、今回検出されたノートオンイベントと対応する発音に使用され得ることを示す(S36)。
また、ステップS32,S33,S35のいずれかでNOの場合には、有効エレメントフラグEEのe番目のビットを「0」に設定し、e番目のエレメントを、今回検出されたノートオンイベントと対応する発音に使用しないことを示す(S37)。
そして、以上の処理を繰り返し、ステップS39でYESになると、元の処理に戻る。
以上の処理により、パートpの発音に使用するボイスデータに含まれるエレメントのうち、今回の発音に使用し得るエレメントがどれであるかを、有効エレメントフラグEEに記録することができる。
次に、図6に、ステップS14のモノモード処理のフローチャートを示す。
この処理においては、CPU11はまず、使用するボイスのポリ/モノデータを参照し、そのボイスがモノモードか否か判断する(S41)。そして、モノモードであれば、レガート機能を使えるため、パートpで前のノートオンが行われている間に今回のノートオンイベントがあったか否か判断する(S42)。
ここであれば、前の鍵が離される前に次の鍵が押下されたレガート奏法であることがわかるため、前のノートオンと対応する(同じパートで同じノートナンバの)ノートオフイベントを発生させ、楽音信号生成回路20において前のノートオンにより生成開始されていたエレメント音の減衰を開始させると共に(S43)、レガート状態フラグLSに「1」をセットしてレガート奏法が行われたことを示し(S44)、元の処理に戻る。
また、ステップS41でNOの場合には、ポリモードであり、レガート機能は使えないため、ステップS42でNOの場合には、レガート奏法は行われていないため、それぞれレガート状態フラグLSに「0」をセットして、レガート奏法が行われていないことを示し、元の処理に戻る。
以上の処理により、レガート機能が有効なモノモードの場合に、レガート奏法が行われたか否かをレガート状態フラグLSに記録することができる。
次に、図7に、ステップS16でg番目のグループに関して実行される、非レガート&レガート発音処理のフローチャートを示す。
この処理においては、CPU11はまず、図6に示した処理でセットしたレガート状態フラグLSが「0」であるか否か判断する(S51)。ここで「0」であれば、今回のノートオンがレガート奏法で行われていないことがわかるため、ステップS52以下の、非レガート音の発音に係る処理に進む。
そしてまず、ビット毎に、有効エレメントフラグEEと、処理中のg番目のグループに存在する非レガートエレメントフラグNLE(g)の論理積を取る(S52)。この論理積により結果が「1」になるビットが示すエレメントデータは、g番目のグループの非レガートエレメントのうち、発音に使用する条件が満たされているものである。
このフローで処理されるのはg番目のグループのエレメントであり、非レガートエレメントフラグNLE(g)のうち「1」のビットは、対応するエレメントが非レガートであることを示し、また、有効エレメントフラグEEのうち「1」のビットは、対応するエレメントがノートレンジ及びベロシティレンジ(及びスイッチ対応)の要求を満たした、今回の発音に使用し得るエレメントであることを示すためである。
そこで、結果が「1」になるビットがあれば(S53)、その各ビットと対応するエレメントを用いた発音を、楽音信号生成回路20の発音chに割り当て、各エレメント音を生成するための発音chを確保する(S54)と共に、割り当てた発音chに、その各エレメントのエレメントデータが規定する楽音の情報(発音用パラメータ)を設定する(S55)。
また、楽音の情報の設定は、波形セット番号が示す波形セットデータから、ノートナンバn等に対応した波形データを選んで、その読出開始アドレスやループの開始/終了アドレス、およびその波形データをノートナンバnに対応する音高にピッチシフトするための読出速度などを、音源レジスタ21のうち割り当てた発音chのレジスタの波形データ読出処理部22用の領域に設定したり、フィルタパラメータやEGパラメータに対しノートナンバnやベロシティvに応じた一部変更(エンベロープ波形の値をベロシティvに応じた音量を示す値とするためのEGパラメータの変更を含む)を施して、同発音chのレジスタのフィルタ処理部23用やエンベロープ処理部24用の領域に設定したりする処理である。そして、結果が「1」になるビットが複数あれば、その各々と対応する複数のエレメントについて、発音chの割り当てとレジスタの設定を行う。発音の開始自体は、後に図4のステップS22で行う。
その後、グループ発音状態フラグGSのgビット目であるGS(g)に「1」をセットして、g番目のグループで非レガート又はレガートのエレメントを用いた発音があったことを示し(S56)、元の処理に戻る。
一方、ステップS53で「1」のビットがなければ、g番目のグループには、発音に使用すべき非レガートエレメントがないことがわかるので、GS(g)に「0」をセットして、g番目のグループで非レガート又はレガートのエレメントを用いた発音がなかったことを示し(S57)、元の処理に戻る。
グループ発音状態フラグGSが使われるのはモノモードの場合のみであり、モノモードにおいてステップS53でNOと判断された場合は、非レガート音もレガート音もノートオン状態でなくなるので、それを示すためにGS(g)を「0」に設定している。
また、ステップS51でLS=0でなければ、今回のノートオンがレガート奏法で行われているので、ステップS58以下のレガート音の発音に係る処理に進む。
そしてまず、ビット毎に、有効エレメントフラグEEと、処理中のg番目のグループのレガートエレメントフラグLE(g)の論理積を取る(S58)。この論理積により結果が「1」になるビットが示すエレメントは、g番目のグループに存在するレガートのエレメントのうち、そのエレメントのノートレンジ及びベロシティレンジの要求を満たしたものである。
ここで、シンセサイザ10においては、レガートのエレメントは、同じグループで前のノートオンイベントと対応する発音が非レガート又はレガートのエレメントを用いて行われた場合のみ発音に使用し、これらのエレメントを用いた発音が、ノートナンバやベロシティの制限等により行われていなかった場合には、レガート奏法がなされた場合でも、非レガートのエレメントを発音に使用するようにしている。
そこで、ステップS58の論理積の結果が「1」のビットがあり、かつGS(g)=1の場合のみ(S59)、ステップS60以下に進んでレガートのエレメントを用いた発音を設定する処理を行う(S60,S61)。ここで行う処理は、ステップS54,S55と同様であるが、使用するエレメントは、レガートのエレメントとなる。
また、一般に、レガートのエレメントでは、アタックの弱い波形データを集めた波形セット番号を設定したり、ファーストディケイが小さいEGパラメータを設定したりすることにより、生成されるエレメント音のアタック感が小さくなるようにされている。また、ここでのGS(g)=1は、モノモードにおいて、g番目のグループに関して、非レガート音又はレガート音がノートオン状態を継続中であることを示す。
ステップS61の後は、元の処理に戻る。この場合、GS(g)は既に「1」であるから、改めて「1」を設定する処理は設けていないが、この処理を加えてもよい。
また、ステップS59でNOの場合には、非レガートのエレメントを用いた発音について検討すべく、ステップS52に進んで元の処理に戻る。
以上の処理により、g番目のグループに非レガート及び/又はレガートのエレメントがあれば、その中で発音に使用する条件を満たすものを検索し、そのエレメントを用いた発音に必要な設定を行うことができる。この場合において、レガート奏法が行われたか否かが、非レガートのエレメントとレガートのエレメントのいずれを発音に用いるかにつき、1つの基準となる。
次に、図8に、ステップS17のg番目のグループに関して実行される、サイクル発音処理のフローチャートを示す。
この処理においては、CPU11はまず、ビット毎に、有効エレメントフラグEEと、処理中のg番目のグループのサイクルエレメントフラグCE(g)の論理積を取る(S71)。この論理積により結果が「1」になるビットが示すエレメントデータは、g番目のグループに存在するサイクルのエレメントのうち、そのエレメントのノートレンジ及びベロシティレンジの要求を満たしたものである。
そこで、結果が「1」になるビットがあれば(S72)、g番目のグループのサイクル発音レジスタCX(g)を参照し、そこに記録されている、前回のノートオンイベントに対応する発音に用いたサイクルのエレメントが何であるかを示す値に基づいて、論理積の結果が「1」のエレメントから、今回の発音に用いるエレメントを選択する(S73)。
この選択の規則は、例えば、候補の中で、CX(g)の次に番号が若いものを選択し、それがない場合には最も番号が若いものを選択する、というものが考えられる。この場合、例えば1〜3番目の3つのエレメントが選択候補であれば、1→2→3→1というように、ノートオンがある度に各候補を順に周期的に選択していくことになる。また、あるノートオンの際にあるエレメントについてノートナンバやベロシティの制限等によりEEが「0」になった場合には、そのエレメントは、そのノートオンの際の選択候補からは除かれるため、そのエレメントを飛ばして次を選択することになる。
もちろん、選択の規則はこれに限られるものではなく、番号が小さくなる順に選択したり、選択回数をカウントするレジスタも設け、順に複数回ずつ選択したりすることも考えられる。あるいは、ユーザがエレメントの選択順を設定して、その順番に従って選択されるようにしてもよい。
そして、以上のような選択を行った後、選択したエレメントの番号を、次回ノートオンイベント検出時に参照するため、CX(g)に記録すると共に(S74)、図7のステップS54,S55の場合と同様に、選択したエレメントを用いた発音を行うための発音chの割り当て及び楽音の情報の設定を行う(S75,S76)。その後、元の処理に戻る。
以上の処理により、g番目のグループにサイクルのエレメントがあれば、その中から発音に使用するものを選択し、そのエレメントを用いた発音に必要な設定を行うことができる。
次に、図9に、ステップS18でg番目のグループに関して実行される、ランダム発音処理のフローチャートを示す。
この処理においては、CPU11はまず、ビット毎に、有効エレメントフラグEEと、処理中のg番目のグループのランダムエレメントフラグRE(g)の論理積を取る(S81)。この論理積により結果が「1」になるビットが示すエレメントデータは、g番目のグループに存在するランダムのエレメントのうち、そのエレメントのノートレンジ及びベロシティレンジの要求を満たしたものである。
そこで、結果が「1」になるビットがあれば(S82)、それらのエレメントから、今回の発音に用いるエレメントをランダムに選択する(S83)。この時、完全にランダムでなく、各選択候補が選択される比率を設定できるようにしてもよい。
そして、この選択の後、図7のステップS54,S55の場合と同様に、選択したエレメントを用いた発音を行うための発音chの割り当て及び楽音の情報の設定を行い(S85,S86)、元の処理に戻る。
以上の処理により、g番目のグループにランダムのエレメントがあれば、その中から発音に使用するものを選択し、そのエレメントを用いた発音に必要な設定を行うことができる。なお、ランダム及びサイクルの発音タイプが、選択音の発音タイプである。
以上で、ノートオンイベントの検出時に実行する処理の説明を終了するが、これらの処理により、各エレメントの発音タイプが示す規則に従い、検出したノートオンイベントと対応する楽音の生成に使用するエレメントデータを決定し、楽音信号生成回路20に対してそのエレメントデータに基づくエレメント音の波形の生成を指示することができる。この場合において、発音タイプが示す規則は、エレメントのグループ毎に適用する。そして、これらの処理において、CPU11がエレメント決定手段として機能する。
次に、図10に、CPU11がノートオフイベント(楽音の減衰開始を指示するイベント)の検出時に実行する、そのイベントに応じた発音指示処理のフローチャートを示す。この処理も、図3に示した各データを参照したり、書き換えたりしながら進行するものである。
CPU11は、ユーザの演奏操作に応じて生成されたり、自動演奏処理により生成されたりしてノートオフイベントが発生したことを検出すると、図10のフローチャートに示す処理を開始する。
そしてまず、検出したノートオフイベントが持つ、パートp及びノートナンバnのデータを取得する(S91)。そして、そのパートp及びノートナンバnと対応する発音を行っている発音ch及び、そのchで発音に使用しているエレメントの情報を取得する(S92)。この発音は、検出したノートオフイベントと対応するノートオンイベント(検出したノートオフイベントと同じパートで同じノートナンバの直前のノートオンイベント)に応じた発音であり、ステップS92で複数の発音ch及びエレメントが発見される場合もある。また、ノートオンイベントに応じた発音が既に全て停止されており、発音chが一つも発見されない場合もある。
ステップS92の後は、グループ番号レジスタgを1から8まで順次増加させて、1〜8番目の各グループにつき、キーオフ発音処理(S94)を実行してノートオフイベントに応じた発音に使用するエレメントを決定し、楽音信号生成回路20の発音chを割り当て、音源レジスタ21の割り当てた発音chのレジスタに対し発音に必要な設定を行う(S93〜S96)。
また、ステップS96でYESになると、楽音信号生成回路20に対しステップS94で発音を設定した全発音chの発音開始を指示する(S97)。この場合において、CPU11と楽音信号生成回路20がエレメント音生成手段として機能する。
そして、ステップS92で発音chが発見されていた場合には(S98)、楽音信号生成回路20に対しその発音chの減衰開始(リリース開始)を指示し(S99)、処理を終了する。
以上の処理により、楽音信号生成回路20に、ノートオフイベントに応じた楽音の生成を開始させると共に、対応するノートオンイベントに応じて生成中の楽音の、EGパラメータ中のリリースの設定に従う減衰を開始させることができる。
次に、図11に、ステップS94のキーオフ発音処理のフローチャートを示す。
この処理においては、CPU11はまず、g番目のグループのキーオフ発音エレメントフラグOSE(g)に「1」のビットがあるか否か判断する(S101)。すなわち、g番目のグループにキーオフ発音のエレメントがあるか否か判断する。
そして、あった場合には、その各エレメントの有効性を判定する(S102)。この判定基準は、対象エレメントのエレメントオンオフが「オン」であり、かつ、ノートナンバnがノートレンジに入っている場合に、有効であると判定するものである。ここでは、ベロシティについては考慮しないが、対応するノートオンイベントのベロシティvを記憶しておき、その値がベロシティレンジに入っていることも、有効の条件にしてもよい。
ここまでの処理において、CPU11がエレメント決定手段として機能する。
また、以上の判定後、有効なエレメントがあったか否か判断し(S103)、あった場合には、その各エレメントを順次処理対象として(S104,S112,S113)、ステップS105〜S111の発音設定に関する処理を実行する。
そして、この部分では、まず処理対象のエレメントを用いた発音を発音chに割り当てる(S105)。
その後、図4のステップS19で記憶した、g番目のグループの引き継ぎリストHL(g)の中に1以上の引き継ぎ情報があるか否か判断する(S106)。そして、これがない場合には、エンベロープ情報を引き継がずに、ステップS105で割り当てた発音chに、ノートナンバn、および処理対象のエレメントに基づく楽音の情報を設定する(S107)。この場合、ノートオフイベントに応じて、キーオフ発音のエレメントを用いた発音を独立して行うことになる。ノートオンイベントに対応する発音がない場合にも、ノートオフイベントに応じた発音は可能である。
一方、ステップS106で引き継ぎ情報があった場合には、さらに、その引き継ぎ情報の中にノートナンバnを示す引き継ぎ情報があるか否かを判定し(S108)、なければ処理対象のエレメントを用いた発音を中止するが(S109)、あればその引き継ぎ情報が示す発音chから現在のエンベロープ波形の値を取得し(S110)、ステップS105で割り当てた発音chに、取得したエンベロープ値、ノートナンバn及び、処理対象のエレメントに基づく楽音の情報を設定する(S111)。
そして、いずれの場合もステップS112に進み、ここでNOとなった場合に、元の処理に戻る。
以上の処理により、g番目のグループにキーオフ発音のエレメントがあれば、その中で発音に使用する条件を満たすものを検索し、そのエレメントを用いた発音に必要な設定を行うことができる。また、この場合において、ノートオンイベントに応じて発音されたg番目のグループのエレメント音のうちの、特定のエレメント音のエンベロープ波形の値を引き継ぐことができる。さらに、キーオフ発音に用いるエレメントが複数ある場合であっても、引き継ぎ元と引き継ぎ先との対応関係を、エレメントのグループ分けにより容易に設定することができる。
なお、ノートオフイベントに応じて発音させるキーオフ音は、一般に、発音時間が短いエレメント音であるので、減衰開始の指示がなくても、発音から所定時間後には自動的に消滅して発音chが開放される。
以上のようなキーオフ発音は、電子ピアノにおいてキーオフ時にダンパーを振動子に当てて振動を減衰させる際の、ダンパーが振動子に当たる音等、楽器演奏時に発音停止動作に応じて音が発生する場合があることから、これを再現するために設けた機能である。しかし、用途がこれに限られることはない。また、引き継ぐ楽音特性も、エンベロープ波形の値に限られることはない。
ここで、図12を用いて、エンベロープ情報の引継ぎについて説明する。
なお、この図におけるエンベロープの値は、デシベルスケール(13ビット〜16ビット:10000段階程度)のエンベロープ波形を、MIDIの音量パラメータのスケール(7ビット:128段階)に換算(スケールダウン)したものである。また、この図はエンベロープ波形の特徴的な部分を模式的に示したものであり、実際にキーオフ発音の長さは、キーオン発音より大分短く、各エンベロープ波形ももう少し複雑である。
まず、エンベロープ情報の引継ぎとは、発音中の音について、エンベロープ処理部24での処理に用いられているエンベロープ波形の値を、新たに発音する音についてエンベロープ処理部24での処理に用いるエンベロープ波形の値に反映させることである。
このためには、単純には、発音中の発音chから取得したエンベロープ波形の値(ノートオフイベント発生時の値)を、そのまま新たに発音する音の音量パラメータにしてもよい。この音量パラメータは、EGパラメータに含まれており、生成されるエンベロープ波形の最大値を制御する。また、取得したエンベロープ波形の値に所定の係数(0以上1以下)を乗算し、その乗算結果を音量パラメータとしてもよい。もちろん、これら以外の手法を用いてもよい。
図12に示したのは、前者の例、あるいは、後者で所定の係数が「1」の場合の例である。
(a)に示すのは、ノートオンイベントに応じた発音につき、実線41に示すように、エンベロープ値がノートオフまで最大値127(換算値)に保たれている場合の例である。この場合は、図11のステップS111において、最大値が127(換算値)のエンベロープ波形を生成するためのEGパラメータが設定される。太線42が示すのが、この場合のエンベロープの値の時間変化である。
一方、(b)に示すのは、ノートオンイベントに応じた発音につき、実線43に示すように、エンベロープ値がノートオフまでに最大値127(換算値)から64(換算値)まで減衰する場合の例である。この場合は、ステップS111において、最大値が64(換算値)のエンベロープ波形を生成するためのEGパラメータが設定される。太線44が示すのが、この場合のエンベロープの値の時間変化である。また、比較のため、破線45により、(a)の太線42と同じ時間変化を示した。
これらの図からわかるように、このような引継ぎを行うことにより、ノートオンイベントに応じて発音された音と、これと対応するノートオフイベントに応じて発音する音とで、特性を連続的なものにすることができ、自然な発音が実現できる。
また、以上説明してきた処理を行うことにより、シンセサイザ10においては、ボイスデータが有する複数のエレメントのうち、同一グループに属する一部のエレメント毎に、発音タイプに基づく発音制御を行い、異なる2以上のエレメントを相互に関連付けて発音の制御を行うことができる。特に、複数のエレメントのうちの、どの非レガート音のエレメントからどのレガート音のエレメントにレガートさせるか、どのノートオン音からどのノートオフ音に楽音特性を引き継ぐか、どのエレメントについて順番やランダムで選択して発音に用いるかを、グループの設定により容易に設定することができる。
また、エレメント毎にノートレンジやベロシティレンジを設定できるようにしたことにより、サイクル発音やランダム発音(差替発音)時に、発音候補になるエレメント音の数を、発音指示イベント(ノートオンイベント)の音高(ノートナンバ)や演奏強度(ベロシティ)の範囲に応じて異なるものとすることができる。また、非レガート発音させるエレメント音及びレガート発音させるエレメント音を、相互に独立に、発音指示イベントの音高や演奏強度の範囲に応じて切り換えることもできる上、数も自由に選択できる。エレメント選択スイッチの操作時に発音されるエレメントと、非操作時に発音されるエレメント音についても、同様である。従って、多様な音色変化を容易に得ることができる。
また、ノーマル音(非差替音)の発音タイプを用意しておけば、複数のエレメントのうち任意のエレメントのみについて、差替発音やスイッチ対応発音をさせることができる。
また、レガート奏法に係るノートオンイベントの発生時に、以前のノートオンイベントに応じたエレメント音がノートオン状態を継続しているか否かに応じて、発生したノートオンイベントに応じた発音をレガート発音と非レガート発音とするかを決定するようにしているため、ノートオンイベントがレガート奏法に係るものか否かだけでレガート発音の有無を決定する従来の方法に比べ、より自然なレガート発音を行わせることができる。
次に、図13乃至図16を用いて、図4に示した処理に従った、発音に使用するエレメントの選択の具体例について説明する。
これらの図において、「eleNO」はエレメントの番号、「GID」はグループID、「Type」はエレメントの発音タイプを示す。また、これらの列の右側に記載したボックスの並びは、ノートナンバ60(C3)から78(F#4)までの各ノートを示し、塗りつぶしたボックスは、そのノートの発音にエレメントが使用されることを示す。ハッチングを付したボックスは、その範囲を含まないようなノートレンジの設定が行われ、その範囲でエレメントが無効化されていることを示す。
また、これらの図においては、全てノートナンバの低い順に演奏操作を行う例を示しているが、実際の演奏操作においてノートの演奏順が任意であることは、もちろんである。
まず、図13及び図14に、レガートのエレメントが存在する場合の例を示した。これらの図には、A(64),B(71),C(76)の3つの位置のノート(E3,B3,E4)に、この順でレガート奏法のノートオンイベントが発生した場合のエレメント選択例を示している。
図13(a)に示すのは、最も典型的な例であり、1つのグループ内に、ノーマル(非レガート)とレガートのエレメントを1つずつ設けた例である。この場合、始めのノートオンイベント時には、ノーマルのエレメント1を用いて発音し、その後は、レガート奏法が行われたため、ノーマルに代えてレガートのエレメント2を用いて発音する。
(b)に示すのは、ノーマルのエレメントにノートレンジによる制限をかけた場合である。この場合でも、ノートオンイベントB,Cの時点でレガートのエレメントは使用可能であるし、前回ノートオンイベント時に非レガート又はレガートのエレメントを使用、という条件は満たされるので、(a)の場合と同様なエレメントを用いた発音となる。
(c)に示すのは、逆にレガートのエレメントにノートレンジによる制限をかけた場合である。この場合、ノートオンイベントB,Cの時点では、グループ内に有効なレガートのエレメントがなく、図7のステップS59の判断がNOとなるので、ノーマルのエレメントを用いた発音を行うことになる。
(d)に示すのは、ノーマルのエレメントとレガートのエレメントとでグループが違う場合である。エレメント選択の規則は、グループ毎に適用するため、グループ0には、有効なレガートのエレメントがないことになる。従って、(c)の場合と同様、レガート奏法が行われたとしても、全てノーマルのエレメントを用いて発音を行う。また、グループ1には、レガートのエレメント2しかない。従って、前回ノートオンイベント時に非レガート又はレガートのエレメントを使用、という条件が満たされることはないので、エレメント2を発音に使用することはない。
図14(a)には、グループ0に、ノーマルとレガートのエレメントを各2つずつ設けた例を、同(b)には、ノーマルのエレメント2つとレガートのエレメント3つを設けた例を示した。このように、グループ内のエレメントの数が変わっても、最初のノートオンイベントAに応じた発音にノーマルのエレメントを用い、レガート奏法によるノートオンイベントB,Cに応じた発音にレガートのエレメントを用いることに変わりはない。
そして、これらの(a),(b)の場合には、通常演奏時とレガート演奏時に、それぞれ複数のエレメント音を合成した異なる音色の楽音を生成可能である。また、各エレメントについてグループと発音タイプの設定を変更するだけで、通常演奏時とレガート演奏時について個別に、合成するエレメント音の数を変更することができ、ボイスデータの編集を、容易かつ高い自由度で行うことができると言える。
例えば、
エレメント1(グループ1、ノーマル):第1フルート ノーマル発音
エレメント2(グループ1、レガート):第1フルート レガート発音
のようなフルートの音色データがあった場合、これにエレメントを追加して、
エレメント1(グループ1、ノーマル):第1フルート ノーマル発音
エレメント2(グループ1、レガート):第1フルート レガート発音
エレメント3(グループ2、ノーマル):第2フルート ノーマル発音
エレメント4(グループ2、レガート):第2フルート レガート発音
のようなフルート2本の音色データに改変するような設定を、容易に行うことができる。
なお、この図には示していないが、キーオフ発音の発音タイプについても、各エレメントについてグループと発音タイプの設定を変更するだけで、ノートオン時とノートオフ時の発音について個別に合成するエレメント音の数を変更することができ、同様に、ボイスデータの編集を、容易かつ高い自由度で行うことができると言える。
(c)には、レガートのエレメントの一部にノートレンジによる制限をかけた例を示した。この場合には、レガート演奏時の発音には、ノートレンジ内に入るレガートのエレメントのみを用いることになる。従って、音域によってレガート演奏時に発音させる音の音色を変えるといった対応が可能である。
(d)には、グループ0とグループ1に、それぞれノーマルとレガートのエレメントを設けると共に、グループ1についてはノーマルのエレメントにノートレンジによる制限をかけた例を示した。エレメント選択の規則は、グループ毎に適用するため、この場合でも、グループ0に関する発音は、(a)の場合と同様に行われる。しかし、グループ1については、まず、初めのノートオンイベントAの際には、有効なノーマルのエレメントがないため、発音は行わない。そして、次のノートオンイベントBの際には、レガート演奏であっても、前回ノートオンイベント時に非レガート又はレガートのエレメントを使用、という条件が満たされていないため、ノーマルのエレメントを使用する。
次に、図15に、差替音であるサイクル及びランダムのエレメントが存在する場合の例を示した。これらの図には、A(61)〜H(77)の9つの位置のノート(C#3,D#3,F3,G3,A3,B3,C#4,D#4,F4)に、この順でノートオンイベントが発生した場合のエレメント選択例を示している。
(a)には、グループ0の4つのエレメントに、サイクルの発音タイプを設定した例を示した。この場合、ノートオンイベントが発生するたびに、グループ内で番号の若い方から順に、発音に使用するエレメントを選択し、番号が最大のエレメントを選択すると、番号が最小のエレメントに戻る。エレメントの番号が連続していなくても、動作には全く問題ない。
(b)には、グループ0にサイクルのエレメントを2つ設け、グループ1にはサイクルのエレメントを3つと、非差替音であるノーマルのエレメント1つを設けた例を示した。この場合、ノートオンイベントが発生するたびに、グループ毎に番号順に発音に使用するエレメントを選択する。サイクルのエレメントの数はグループ毎に異なるため、選択の周期もグループ毎に異なる。また、ノーマルのエレメントは、サイクルのエレメントとは無関係に、常に発音に使用する。
このように、シンセサイザ10では、単にエレメントに発音特性としてサイクルを指定するだけで、周期的に音色の変化する、新規性の高い音色での発音が可能となる。また、グループ内でサイクルのエレメントを設ける数を変えるだけで、エレメントの選択周期を変更することができる。さらに、グループ0による発音とグループ1による発音との組み合わせを考えると、5つのエレメントで、実質6つの音色を周期的に切り替えて発音させることができ、少ないデータ量で変化に富んだ発音が可能であると言える。
(c)には、サイクルのエレメントの一部にノートレンジによる制限をかけた例を示している。この場合、ノートレンジの設定によりエレメントが無効化されている範囲では、そのエレメントは存在しないものとしてエレメントの選択が行われている。従って、ノートオンイベントのノートナンバにより、選択候補が変化することになる。
(d)には、ランダムのエレメントを設けた例を示している。この場合には、動作としては、発音に用いるエレメントをランダムに選択する点以外は、サイクルの場合と同様である。しかし、このランダム性により、サイクルの場合よりも変化と意外性に富んだ発音を行うことができる。
なお、同一グループ内にサイクルのエレメントとランダムのエレメントを両方とも設けることは可能だが、この場合、サイクルはサイクル、ランダムはランダムで、同じ発音タイプが設定されているエレメントの中から、それぞれ1つずつ、発音に使用するエレメントを選択する。
次に、図16に、スイッチ対応のエレメントが存在する場合の例を示した。これらの図には、A(61)〜D(75)の4つの位置のノート(D#3,G3,B3,D#4)に、この順でノートオンイベントが発生した場合のエレメント選択例を示している。また、そのイベント発生時のエレメント選択スイッチA,Bの状態は、「SW_A」及び「SW_B」で示す通りであるとする。
(a)に示す例の場合、エレメント1〜6には、スイッチ対応の発音タイプを設定している。そして、これらのエレメントを発音に使用するか否かは、エレメント選択スイッチの状態に応じて決定する。また、ノーマルのエレメントについては、エレメント選択スイッチの状態は関係ない。もちろん、ノートレンジやベロシティレンジによる制約は反映させる。
(b)には、エレメント7,8にレガートの発音タイプを設定し、ノートオンイベントがレガート奏法によるものである場合の例を示した。スイッチ対応の発音タイプも、「非レガート」であるので、同じグループ内にレガートのエレメントがあり、その使用条件が満たされる場合には、スイッチ対応のエレメントに代えて、レガートのエレメントを発音に使用する。レガートの使用有無の決定には、エレメント選択スイッチの状態は関係ないが、ノートレンジやベロシティレンジによる制約は反映させる。
このようなスイッチ対応のエレメントを用いれば、奏法の弾き分け、コーラス効果のオン/オフ、演奏セクションへの楽器の追加等を、容易に再現できる。
例えば、ギター音色について、
エレメント1(グループ1、全スイッチオフ):アタックノイズ
エレメント2(グループ1、全スイッチオフ):ノーマル発音
エレメント3(グループ1、スイッチAオン):ハーモニクス発音
エレメント4(グループ1、スイッチBオン):ミュート発音
を設ければ、エレメント選択スイッチA,Bの操作により、ノーマル奏法,ハーモニクス奏法,ミュート奏法を、容易に切り替えて演奏可能な音色とすることができる。
また、オルガン音色において、
エレメント1(グループ1、ノーマル):パーカッション発音
エレメント2(グループ1、全スイッチオフ):コーラスオフ発音
エレメント3(グループ1、スイッチAオン):コーラスオン発音
を設ければ、パーカッション発音を基本としつつ、エレメント選択スイッチAのオンオフでコーラスのオンオフを切換え可能な音色とすることができる。
また、弦楽器セクション音色において、
エレメント1(グループ1、ノーマル):バイオリン音色
エレメント2(グループ1、スイッチAオン):チェロ音色
エレメント3(グループ1、スイッチBオン):コントラバス音色
を設ければ、バイオリン演奏を基本としつつ、エレメント選択スイッチA,Bの押下により、チェロやコントラバスを追加可能な音色とすることができる。
また、オケセクション音色において、
エレメント1(グループ1、ノーマル):弦楽器音色
エレメント2(グループ1、スイッチAオン):管楽器音色
エレメント3(グループ1、スイッチBオン):ティンパニ音色
を設ければ、弦楽器パートを基本としつつ、エレメント選択スイッチA,Bの押下により、管楽器パートやティンパニパートを追加可能な音色とすることができる。
また、いずれの場合にも、上記の例で1つのエレメントとした部分を、複数エレメントにより構成することができ、このようにすれば、1つの奏法、楽器、パート等と対応する発音を、複数のエレメント音を合成して行うことができる。
また、例えば上記の弦楽器セクション音色において、各楽器についてレガート音の発音を可能としたい場合には、エレメントのグループ分けを利用して、
エレメント1(グループ1、ノーマル):バイオリン音色(ノーマル)
エレメント2(グループ2、スイッチAオン):チェロ音色(ノーマル)
エレメント3(グループ3、スイッチBオン):コントラバス音色(ノーマル)
エレメント4(グループ1、レガート):バイオリン音色(レガート)
エレメント5(グループ2、レガート):チェロ音色(レガート)
エレメント6(グループ3、レガート):コントラバス音色(レガート)
を設ければ、エレメント選択スイッチの押下による楽器の追加を維持しつつ、レガート音の発音を実現できる。
このような設定変更も、単なるエレメントの追加や発音タイプ及びグループの変更により可能であり、この点でも、シンセサイザ10においては、ボイスデータの編集を、容易かつ高い自由度で行うことができると言える。
以上で実施形態の説明を終了するが、装置の構成、データの構成、ボイスデータやエレメントデータの内容、具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態では、エンベロープの値の引継ぎは、キーオフ発音のエレメントを発音に用いる場合のみ行うようにしたが、他のエレメントを発音に用いる場合(ノートオンイベントに応じた発音を行う場合)にも行うようにしてもよい。特に、レガート音を発音させる場合、ポルタメントが設定されている場合、モノモードのエレメントを用いた発音である場合に、エンベロープの値の引継ぎを行えるようにするとよい。
また、1つのボイスデータに含まれるエレメントの数や、設定可能なグループの数も、8に限られない。また、ボイスデータ毎にエレメントの数が可変であってもよい。グループ分け自体も、必須ではない。
さらに、エレメントの発音タイプ、すなわち、演奏イベントと対応する楽音の生成にそのエレメントデータを使用するか否かを決定する際に使用する規則も、上述したものに限られない。逆に、上述した全ての発音タイプを用意しなくてもよい。この場合でも、発音タイプ毎の効果を得ることができる。
また、リミットデータについて、必ずしもノートレンジとベロシティレンジの両方を用いる必要はなく、いずれか一方のみを用いるようにしてもよい。
また、ノートオン(オフ)イベントに、ノートナンバやベロシティ以外のパラメータ、例えばアタックレートデータ(立ち上がり速度を制御するためのデータ)、ブリリアンスデータ(明るさを制御するためのデータ)、デプスデータ(ゆらぎの深さを制御するデータ)を含めるようにしてもよい。そして、この場合、ノートとベロシティ以外のパラメータの値に基づきエレメントを発音に使用する範囲を制限するようにしてもよい。
あるいは、逆に、リミットデータを全く用いない、すなわち発音に使用するエレメントをリミットデータにより制限しない構成も可能である。
どの場合であっても、1音色分のボイスデータに含まれる複数のエレメントのうちどのエレメントを発音に使用するかを、発音毎に、発音タイプに応じた規則で、必要に応じて発音制御イベントの内容も参照して選択することにより、各発音毎にダイナミックに音色の変化する、変化に富んだ楽音を生成することができる。また、このため必要な設定や制御も、比較的簡単なものにすることができる。
また、上述した実施形態では、ノーマル及びスイッチ対応の発音タイプを非レガートとする一方、ランダムやサイクルの発音タイプは非レガートともレガートともしていない。しかし、どの発音タイプを非レガートとして、レガート音を発音させる際に発音を止めるか、あるいは、どの発音タイプをレガートとして、レガート奏法の際に発音させるかは、ここで説明したものに限らず、任意に定めることができる。
ユーザが、各発音タイプを非レガート、レガート、あるいはレガート奏法に無関係のいずれにするかを設定できるようにしてもよい。また、各発音タイプに対して設定する代わりに、各エレメントに対して非レガート、レガート、無関係のいずれかを設定できるようにしてもよい。
また、レガート音の発音につき、上述した実施形態では、レガート音のエレメントが存在しかつGS(g)=1であっても、ノートオンイベントに係るノートナンバがレガート音のエレメントに関するノートレンジの範囲外の場合(図7のステップS59でNOの場合)には、レガート音の代わりに非レガート音を発音させるようにしていた。しかし、この場合にレガート音も非レガート音も発音させないようにしてもよい。
また、発生したノートオンイベントがモノモードでのレガート演奏に係るものであった場合(図4のステップS42でYESの場合)、無条件で前の音をリリース開始させるようにしていた。しかし、リリース開始に代えて、ダンプ(急速減衰)させるようにしてもよい。また、レガート演奏であっても、ノートオンに応じた発音に使用すべきエレメントがなく、新たな発音を行わない場合(図7のステップS53及びS59,図8のステップS72,図9のステップS82の全てがNOの場合)には、前の音をリリース開始しないようにしてもよい。
また、上述した実施形態では、エレメント切替スイッチとして、スイッチA,Bの2つを設ける例について説明したが、スイッチの数は、1以上の任意の数であってよい。また、複数のスイッチが同時にオンされた場合には、発音タイプがそのいずれかのスイッチに関する「スイッチオン」である全てのエレメントを発音に用いるようにしていたが、オンされたスイッチの組み合わせに応じた「スイッチオン」の発音タイプを用意し、オンされたスイッチの組み合わせが発音タイプに完全一致するエレメントのみを、発音に用いるようにしてもよい。
また、発音タイプの分類につき、上述した実施形態では、非差替音(発音時に差替をしない音)は、サイクル発音やランダム発音の対象とならないノーマル音、レガート音、スイッチオン音(スイッチAオン音及びスイッチBオン音)、スイッチオフ音がこれに該当する。しかし、これらの発音タイプ全てを楽音生成装置に実装する必要はなく、これらのうち少なくとも1つが実装されていればよい。
非レガート音については、上述した実施形態では、ノーマル音、スイッチオン音、スイッチオフ音をひとまとめにして非レガート音としていた。しかし、非レガート音としては、これらのうち少なくとも1つが実装されていればよい。
また、ノートオン音は、ノートオフ音への特性(振幅エンベロープ等)の引き継ぎ元となる音であり、上述した実施形態では、ノーマル音、スイッチオン音、スイッチオフ音、レガート音、サイクル音、ランダム音がこれに該当する。しかし、これら全てを実装する必要はなく、これらのうち少なくとも1つが実装されていればよい。
また、常時音は、エレメント選択スイッチの操作状態に関係なく発音処理される音であり、上述した実施形態では、図5のステップS34でNOに分岐する発音タイプ、すなわちノーマル音、レガート音、サイクル音、ランダム音がこれに該当する。しかし、これら全てを実装する必要はなく、これらのうち少なくとも1つが実装されていればよい。
また、上述した実施形態では、ノートオフ時の発音にエンベロープ情報を引き継がせるエレメントの選択は、ノートオンイベント発生に応じた処理である図4のステップS19で行うようにしていた。しかし、その時点での選択は行わず、ノートオフイベント発生に応じた処理である図11のステップS106において、エレメントのグループ毎に、対応するノートオンイベント時に発音開始させたエレメント音のうちその時点でエンベロープ波形の値が最も大きいものを選択し、その値を引き継ぐようにしてもよい。
また、上述した実施形態では、鍵盤を有するシンセサイザ10を例に取って説明したが、この発明が、鍵盤以外の演奏操作子を有する電子楽器や、演奏操作子を有しない音源装置、あるいは楽音生成用の拡張ボードやチップ等の、他の楽音生成装置にも適用可能であることはもちろんである。また、楽音信号生成回路20を駆動するための演奏イベントとして、MIDI形式以外のデータを使用する装置であってもよい。
また、この発明のプログラムは、コンピュータを楽音生成装置として機能させて上述したような機能を実現させるためのプログラムであり、予めROMやHDD等に記憶させておくほか、CD−ROMあるいはフレキシブルディスク等の不揮発性記録媒体(メモリ)に記録して提供し、そのメモリからこのプログラムをRAMに読み出させてCPUに実行させたり、プログラムを記録した記録媒体を備える外部機器あるいはプログラムをHDD等の記憶手段に記憶した外部機器からダウンロードして実行させたりしても、同様の効果を得ることができる。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
以上の説明から明らかなように、この発明の楽音生成装置又はプログラムによれば、複数のエレメント音を規定する複数のエレメントデータを有する音色データを編集可能な楽音生成装置において、異なる2以上のエレメント音を相互に関係付けて発音制御できるようにすることができる。
従って、この発明を適用することにより、楽音生成装置の操作性や利便性を向上させることができる。
この発明の楽音生成装置の実施形態であるシンセサイザの概略を示す図である。 図1に示したシンセサイザにおける1音色分のボイスデータの構成を示す図である。 同じく発音管理用データの構成を示す図である。 図1に示したCPUが実行する、ノートオンイベントに応じた発音指示処理のフローチャートである。 図4に示した有効性判定処理のフローチャートである。
同じくモノモード処理のフローチャートである。 同じく非レガート&レガート発音処理のフローチャートである。 同じくサイクル発音処理のフローチャートである。 同じくランダム発音処理のフローチャートである。 図1に示したCPUが実行する、ノートオフイベントに応じた発音指示処理のフローチャートである。
図10に示したキーオフ発音処理のフローチャートである。 エンベロープ情報の引継ぎについての説明図である。 図4に示した処理に従った、発音に使用するエレメントの選択の具体例を示す図である。 その別の例を示す図である。 そのさらに別の例を示す図である。 そのさらに別の例を示す図である。
符号の説明
10…シンセサイザ、11…CPU、12…ROM、13…RAM、14…MIDI_I/F、15…演奏操作子、16…タイマ、17…表示器、18…パネル操作子、19…記憶装置、20…楽音信号生成回路、21…音源レジスタ、22…波形データ読出処理部、23…フィルタ処理部、24…エンベロープ処理部、25…ch累算部、26…エフェクト処理部、31…波形メモリ、32…DAC、33…サウンドシステム

Claims (8)

  1. 複数のエレメントデータに基づいて複数のエレメント音を生成し、該生成された複数のエレメント音を合成して1つの楽音を生成する楽音生成装置であって、
    1つの音色の楽音を構成する複数のエレメント音に対応する複数のエレメントデータであって、それぞれ、対応するエレメント音を発音すべきノートナンバの範囲を示すリミットデータと、対応するエレメント音の楽音特性を制御するための特性制御データとを含む複数のエレメントデータを記憶する記憶手段と、
    ノートナンバのデータを含み、1つの楽音の発音開始を指示するノートオンイベントの発生に応じて、該発生したノートオンイベントのノートナンバが前記リミットデータの示す範囲内であるエレメントデータの中から複数のエレメントデータを候補として選択する選択手段と
    該選択手段によって選択された候補となる複数のエレメントデータの中から、所定の規則に従って又はランダムで、いずれか1つのエレメントデータを前記発生したノートオンイベントに応じた新規エレメント音の生成に使用するエレメントデータとして決定するエレメント決定手段と、
    前記エレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づき、該特性制御データの示す楽音特性で、かつ前記発生したノートオンイベントに含まれるノートナンバに対応した音高のエレメント音を生成するエレメント音生成手段とを設けたことを特徴とする楽音生成装置。
  2. 複数のエレメントデータに基づいて複数のエレメント音を生成し、該生成された複数のエレメント音を合成して1つの楽音を生成する楽音生成装置であって、
    1つの音色の楽音を構成する複数のエレメント音に対応する複数のエレメントデータであって、それぞれ、対応するエレメント音を発音すべきベロシティの範囲を示すリミットデータと、対応するエレメント音の楽音特性を制御するための特性制御データとを含む複数のエレメントデータを記憶する記憶手段と、
    ベロシティのデータを含み、1つの楽音の発音開始を指示するノートオンイベントの発生に応じて、該発生したノートオンイベントのベロシティが前記リミットデータの示す範囲内であるエレメントデータの中から複数のエレメントデータを候補として選択する選択手段と
    該選択手段によって選択された候補となるエレメントデータの中から、所定の規則に従って又はランダムで、いずれか1つのエレメントデータを前記発生したノートオンイベントに応じた新規エレメント音の生成に使用するエレメントデータとして決定するエレメント決定手段と、
    前記エレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づき、該特性制御データの示す楽音特性で、かつ前記発生したノートオンイベントに含まれるベロシティに対応した音量のエレメント音を生成するエレメント音生成手段とを設けたことを特徴とする楽音生成装置。
  3. 請求項1又は2に記載の楽音生成装置であって、
    前記エレメント決定手段が新規エレメント音の生成に使用するエレメントデータを決定する際の、前記候補となる複数のエレメントデータの中から使用するエレメントデータを選択する選び方を指定する指定手段であって、該選び方として所定の規則に従うかランダムかを指定する指定手段を備える楽音生成装置。
  4. 請求項1乃至3のいずれか一項に記載の楽音生成装置であって、
    前記各エレメントデータはそれぞれ、対応するエレメント音が非差替音と差替音のいずれの発音タイプであるかを示す発音タイプデータを含み、
    前記エレメント決定手段は、前記選択手段によって選択された候補となるエレメントデータのうち、前記発音タイプが差替音であるエレメントデータの中から、新規エレメント音の生成に使用するエレメントデータを決定する手段であり、
    前記選択手段によって選択された候補となるエレメントデータのうち、前記発音タイプが非差替音であるエレメントデータを、新規エレメント音の生成に使用するエレメントデータとして決定する第2のエレメント決定手段をさらに備え、
    前記エレメント音生成手段は、前記エレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づくエレメント音の生成に加え、前記第2のエレメント決定手段が決定したエレメントデータに含まれる特性制御データに基づくエレメント音の生成も行うことを特徴とする楽音生成装置。
  5. 請求項1乃至4のいずれか一項に記載の楽音生成装置であって、
    ユーザからの指示に応じて、前記記憶手段の記憶する前記複数のエレメントデータの内容を編集する編集手段を備えることを特徴とする楽音生成装置。
  6. 請求項1乃至5のいずれか一項に記載の楽音生成装置であって、
    前記各エレメントデータはそれぞれ、当該エレメントデータが複数のグループのうちいずれに属するかを示すグループ情報を含み、
    前記選択手段は、前記グループ毎に該グループに属するエレメントデータの中から前記エレメントデータの候補の選択を行い、
    前記エレメント決定手段は、前記グループ毎に、前記選択手段によって選択されたそのグループ内の候補となる複数のエレメントデータの中から、新規エレメント音の生成に使用するエレメントデータを決定することを特徴とする楽音生成装置。
  7. 請求項に記載の楽音生成装置であって、
    前記非差替音が、ノーマル音、レガート音、スイッチオン音、またはスイッチオフ音であることを特徴とする楽音生成装置。
  8. コンピュータを請求項1乃至のいずれか一項記載の楽音生成装置として機能させるためのプログラム。
JP2008001575A 2007-01-09 2008-01-08 楽音生成装置及びプログラム Expired - Fee Related JP5217443B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008001575A JP5217443B2 (ja) 2007-01-09 2008-01-08 楽音生成装置及びプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007001804 2007-01-09
JP2007001804 2007-01-09
JP2008001575A JP5217443B2 (ja) 2007-01-09 2008-01-08 楽音生成装置及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008073168A Division JP4867940B2 (ja) 2007-01-09 2008-03-21 楽音生成装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2008191657A JP2008191657A (ja) 2008-08-21
JP5217443B2 true JP5217443B2 (ja) 2013-06-19

Family

ID=39751763

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2008001575A Expired - Fee Related JP5217443B2 (ja) 2007-01-09 2008-01-08 楽音生成装置及びプログラム
JP2008073168A Expired - Fee Related JP4867940B2 (ja) 2007-01-09 2008-03-21 楽音生成装置及びプログラム
JP2011148402A Expired - Fee Related JP5152373B2 (ja) 2007-01-09 2011-07-04 楽音生成装置及びプログラム

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2008073168A Expired - Fee Related JP4867940B2 (ja) 2007-01-09 2008-03-21 楽音生成装置及びプログラム
JP2011148402A Expired - Fee Related JP5152373B2 (ja) 2007-01-09 2011-07-04 楽音生成装置及びプログラム

Country Status (1)

Country Link
JP (3) JP5217443B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5509983B2 (ja) * 2010-03-26 2014-06-04 ヤマハ株式会社 楽音生成装置及びプログラム
JP5509982B2 (ja) * 2010-03-26 2014-06-04 ヤマハ株式会社 楽音生成装置
JP2011203582A (ja) * 2010-03-26 2011-10-13 Yamaha Corp 楽音生成装置及びプログラム
JP2016177277A (ja) * 2015-03-20 2016-10-06 ヤマハ株式会社 発音装置、発音方法および発音プログラム
KR102398315B1 (ko) 2015-08-11 2022-05-16 삼성전자주식회사 전자 장치 및 전자 장치에서 음을 재생하기 위한 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61120199A (ja) * 1984-11-16 1986-06-07 ヤマハ株式会社 楽音発生装置
JP2722665B2 (ja) * 1989-05-18 1998-03-04 ヤマハ株式会社 楽音発生装置
JPH04159599A (ja) * 1990-10-23 1992-06-02 Roland Corp 電子楽器
JP2747949B2 (ja) * 1991-07-10 1998-05-06 株式会社河合楽器製作所 電子楽器
JPH07271372A (ja) * 1994-04-01 1995-10-20 Kawai Musical Instr Mfg Co Ltd 電子楽器
JP3518716B2 (ja) * 1996-11-16 2004-04-12 ヤマハ株式会社 楽音合成装置
JP3407610B2 (ja) * 1996-11-27 2003-05-19 ヤマハ株式会社 楽音生成方法および記憶媒体
JP3347284B2 (ja) * 1998-03-09 2002-11-20 株式会社河合楽器製作所 楽音周波数変調装置及び楽音周波数変調方法
JP3719144B2 (ja) * 2001-01-19 2005-11-24 ヤマハ株式会社 電子楽器
JP3705144B2 (ja) * 2001-03-29 2005-10-12 ヤマハ株式会社 演奏データ変更処理装置
JP3873790B2 (ja) * 2002-03-19 2007-01-24 ヤマハ株式会社 奏法表示編集装置及び方法
JP3835443B2 (ja) * 2003-09-29 2006-10-18 ヤマハ株式会社 楽音生成装置
JP4407473B2 (ja) * 2004-11-01 2010-02-03 ヤマハ株式会社 奏法決定装置及びプログラム
JP4552769B2 (ja) * 2005-06-17 2010-09-29 ヤマハ株式会社 楽音波形合成装置

Also Published As

Publication number Publication date
JP2008191680A (ja) 2008-08-21
JP5152373B2 (ja) 2013-02-27
JP2011191794A (ja) 2011-09-29
JP4867940B2 (ja) 2012-02-01
JP2008191657A (ja) 2008-08-21

Similar Documents

Publication Publication Date Title
JP4107107B2 (ja) 鍵盤楽器
JP4321476B2 (ja) 電子楽器
JP5152373B2 (ja) 楽音生成装置及びプログラム
JP2007011217A (ja) 楽音合成装置及びプログラム
JP3838353B2 (ja) 楽音生成装置および楽音生成用コンピュータプログラム
US20130125734A1 (en) Musical sound generator and method for generating musical sound based on element data
JPH10214083A (ja) 楽音生成方法および記憶媒体
JP5897805B2 (ja) 楽音制御装置
EP1391873B1 (en) Rendition style determination apparatus and method
JP3835443B2 (ja) 楽音生成装置
JPWO2007015321A1 (ja) 楽音出力切り換え装置、楽音出力切り換え方法、楽音出力切り換えのためのコンピュータプログラム
JP4803042B2 (ja) 楽音生成装置及びプログラム
JP4803043B2 (ja) 楽音生成装置及びプログラム
JP5070842B2 (ja) 楽音生成装置及びプログラム
JP2002297139A (ja) 演奏データ変更処理装置
JP3587133B2 (ja) 発音長決定方法と装置及び記録媒体
JPH06195071A (ja) パート情報記録装置
JP5104414B2 (ja) 自動演奏装置及びプログラム
JP2000003175A (ja) 楽音生成方法、楽音デ―タ作成方法、楽音波形デ―タ作成方法、楽音デ―タ生成方法、および記憶媒体
JP3644362B2 (ja) 楽音生成装置
JP3861886B2 (ja) 楽音波形データ作成方法および記憶媒体
JP3758041B2 (ja) 楽音制御データ発生装置
JP2007065471A (ja) 電子楽音発生装置
JP2003233374A (ja) 楽曲データの自動表情付け装置及びプログラム
JP2009244339A (ja) 電子楽音発生装置及びコンピュータプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080321

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

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

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5217443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees