JP3649906B2 - 電子楽器のキーオンディレイ効果付加装置 - Google Patents
電子楽器のキーオンディレイ効果付加装置 Download PDFInfo
- Publication number
- JP3649906B2 JP3649906B2 JP12273298A JP12273298A JP3649906B2 JP 3649906 B2 JP3649906 B2 JP 3649906B2 JP 12273298 A JP12273298 A JP 12273298A JP 12273298 A JP12273298 A JP 12273298A JP 3649906 B2 JP3649906 B2 JP 3649906B2
- Authority
- JP
- Japan
- Prior art keywords
- envelope
- waveform
- phase
- key
- data
- 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
Links
Images
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、電子楽器のキーオンディレイ効果付加装置に関する。
【0002】
【従来の技術】
合奏を行っているような楽音を発音できる所謂アンサンブル効果が得られる一つの方法として、キーオンディレイという処理がある。このキーオンディレイ処理は、通常、音高と音色が同じである楽音を2つの系列でそれぞれ発生させ、この時の一方の系列の楽音を他方の系列の楽音より遅らせて発音させることにより、両系列の楽音波形を位相を異ならせて発音させることにより、両系列の楽音波形の位相を異ならせて合奏の効果を得るようにしたものである(例えば特開平2−181795号参照)。
【0003】
そのような構成の1つとして、上記特開平2−181795号に示される構成では、マイクロコントローラが楽音発生チャンネル毎のディレイタイムをカウントし、それぞれ異なるタイミングで、発音開始のための波形読出アドレスやエンベロープ係数を含む制御パラメータを送出し、キーオンディレイ効果を得ている。
【0004】
また同様な効果を得るための構成として、特開平5−216479号に示されるものがあり、同号の構成では、マイクロコントローラは一度に複数の楽音発生チャンネルを起動し、それぞれの波形読出アドレスをずらし、ディレイタイムに対応する読出波形にはゼロを記憶したものにしておくことで、キーオンディレイ効果を得るようにしている。
【0005】
【発明が解決しようとする課題】
特開平2−181795号の構成では、楽音を発生する音源LSIなどの楽音発生システムには負荷がかからず、シンプルな構成で済むが、マイクロコントローラに負担がかかり、高速なタイプを使用しても、楽音を発生できる楽音発生チャンネル数が限られてしまうという問題があった。
【0006】
また特開平5−216479号の構成では、マイクロコントローラや音源LSIなどには負荷がかからないが、波形データの記憶のために波形メモリに必要とされる記憶容量が増大することになり、且つコスト高にもつながってしまう。
【0007】
本発明は従来技術の以上のような課題に鑑み創案されたもので、マイクロコントローラや音源LSIなどには負荷がかからないようにして、できるだけ多くの楽音発生チャンネル数を確保できるようにし、且つ波形メモリに必要な記憶容量も少ないもので済む電子楽器のキーオンディレイ効果付加装置を提供せんとするものである。
【0008】
【課題を解決するための手段】
そのため本発明の電子楽器のキーオンディレイ効果付加装置の構成は、
1つのキーオン情報に基づき、複数の楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを、同時に書き込む制御手段と、
任意の楽音波形を記憶する波形記憶手段と、
制御手段から書き込まれ複数の楽音発生チャンネルに割り振られた制御パラメータに基づき、上記波形記憶手段からの楽音波形データの読出を行うと共に、この波形データにエンベロープの付与を行って楽音信号を生成する楽音信号生成手段と、
該楽音信号生成手段で楽音発生チャンネル毎に生成された楽音信号に基づいて楽音を発生する楽音発生手段とを少なくとも有しており、
前記制御手段が、制御パラメータとして、エンンベロープ値を略ゼロとしたフェイズを有するエンベロープを形成するエンベロープ係数と、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとする波形読出アドレスとを、楽音発生チェンネル毎に楽音信号生成手段に書き込むことを基本的特徴としている。
【0009】
上記構成では、制御手段により、楽音発生チャンネル毎に楽音信号生成手段にエンベロープ係数が書き込まれ、それによって生成されるエンベロープのフェイズを従来より1つ増やすことで、pre read phaseを設ける。そのpre read phaseのエンベロープ値を略ゼロとするようにすれば、その間に読み出された波形データは、上記エンベロープ値(略ゼロ)と乗算された結果、略ゼロとして出力されることになる。またpre read phaseの間は、ちょうどディレイタイムに相当するので、そのエンベロープ値が乗算される楽音波形についても、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出すことで、pre read phaseの間に読み出される楽音波形データはどんなものであっても上記乗算によって略ゼロとして出力され、特開平5−216479号のようにディレイタイムに対応する読出波形にゼロを記憶させなくても、楽音波形にディレイタイムが設定できるようになる。またCPUなどの制御手段で、ディレイタイムを設定する必要がなくなり、その分だけ負荷が少なくなる。
なお、後述する実施の形態で示されるように、前記制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数は、複数のフェーズで構成され、各々のフェーズがスピードデータとフェーズ終了値データによりフェイズ毎のエンベロープを形成し、複数のフェーズによって一つのエンベロープを形成するものであって、少なくとも最初のフェーズのスピードデータが楽音発生チャンネル間で異なっているように設定されると良い。そして、制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数のうち、少なくとも最初のフェーズの目標値であるフェーズ終了値データを略ゼロとするのが望ましい。
【0010】
【発明の実施の形態】
以下本発明の実施の形態を添付図面に基づき説明する。図1は本発明のキーオンディレイ効果付加装置の一実施形態の構成が適用された電子楽器のブロック図であり、この電子楽器は選択した音色に応じて所定の波形データを読み出して発音するようにした波形メモリ読出方式の電子楽器である。
【0011】
本構成は、制御手段1と、波形記憶手段2と、楽音信号生成手段3と、楽音発生手段4とを有する構成であり、これらの構成はバス100に接続され、上記電子楽器の構成として組み込まれている。さらにこのバス100には、上記電子楽器の構成として必要な構成が接続されている。すなわち、鍵盤インターフェース101aを介して鍵盤101が、パネルインターフェース102aを介してパネルスイッチ102が、さらにRAM103とROM104が当該バス100に接続されている。その他、該バス100には、MIDIインターフェース105とディスクドライブ106とが接続されている。
【0012】
鍵盤インターフェース101aは、鍵盤101を走査することにより押鍵(キーオン)と離鍵(キーオフ)の各イベントを検出し、イベントのあった鍵のキーコードを出力する。
【0013】
パネルスイッチ102は、複数種類の音色から所望の音色を選択するための音色選択スイッチとその他のスイッチを備えており、パネルインターフェース102aはパネルスイッチ102の各スイッチ操作のイベントを検出する。
【0014】
RAM103は、プログラムを実行する時に必要なデータを一時的に記憶し、ワーキングメモリとしての役割を果たしている。
【0015】
ROM104は、楽音信号生成手段3に音色を指定するための音色データ、波形データの読出アドレスを指定するアドレス情報、エンベロープ波形生成用のエンベロープ係数、及び制御プログラムなどが記憶されており、制御手段1は、バス100を介して各種情報のやりとりを行い、RAM103内に設定されたレジスタ等を用いながらROM103の制御プログラムに基づいて電子楽器全体の動作を制御する。
【0016】
制御手段1は、全体の制御と演算処理を行うCPUで構成されており、特に本構成では、キーオンディレイアサイナモードが起動されると、本キーオンディレイ効果付加装置が機能して、1つのキーオン情報に基づき、64の楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを、同時に転送する機能を果たしている。
【0017】
波形記憶手段2は、ROMで構成されており、図2に示すように、楽音波形をサンプリングして得た時系列な振幅情報からなる波形データが、複数種類の楽音について一続きに連続して記憶されている。図2は、波形ROMの記憶内容と読出アドレスとの関係を示しており、そこに例示されたものには、ストリングス、オルガン、ピアノなどがあるが、これらの波形形状は、ヘッド部分とループ部分とから成り立っている。そしてA、B、Cは読出スタートアドレスを、またLTはループトップアドレス、LEはループエンドアドレスを各示している。
【0018】
楽音信号生成手段3は、時分割多重化処理により64音同時発音可能な音源LSIで構成され、制御手段1からバスを介して64チャンネル分のアサインメントメモリ30に転送され、64の楽音発生チャンネルに割り振られた制御パラメータに基づき、上記波形記憶手段2からの楽音波形データの読出を行うと共に、この波形データにエンベロープの付与を行ってデジタル楽音信号を生成する。その詳細な構成については、後述する。
【0019】
楽音発生手段4は、デジタル・アナログコンバータ40とアンプ及びスピーカなどよりなるサウンド装置41で構成されており、楽音信号生成手段3から出力されたデジタル楽音信号がデジタル・アナログコンバータ40でD/A変換されて、サウンド装置41で楽音が発生させられる。
【0020】
本構成では、上記楽音信号生成手段3と楽音発生手段4の間に、デジタルシグナルプロセッサDSP5が設けられており、前記制御手段1により送られた係数等を基に、デジタル楽音信号に対し、リバーブなどの各種サウンドイフェクトがかけられるようになっている。
【0021】
上記楽音信号生成手段3は、図3に示すように、64チャンネル分のアサイメントメモリ30と、時分割処理を行う際に必要なクロックを供給するためのタイミングジェネレータ31と、波形データ読出しのための波形読出アドレスを発生するFナンバ累算器32と、波形記憶手段2から読み出された波形データの補間処理及び高調波成分の調整のためのフィルタ処理を行うサンプリング補間フィルタ33と、複数のフェーズからなるエンベロープを発生するエンベロープ累算器34と、補間処理及びフィルタ処理の行われた読出波形にエンベロープを乗算する第1の乗算器35と、エンベロープの乗算された読出波形にさらに2の補数を乗算する第2の乗算器36と、出力された64チャンネル分の楽音信号を累算する系列累算器37とを有している。
【0022】
上記構成で前記Fナンバ累算器32は、波形記憶手段2に格納されている波形データを読み出すために、スタートアドレスに対して、Fナンバ加算値(N)の累算の結果得られるフリークゥエンシィアキュムレート値(FACC)を加算して波形読出アドレスを決定し、これらをさらに64チャンネル分時分割で発生する。この波形読出アドレスのうち、その整数部を波形記憶手段2に供給し、またその小数部をサンプリング補間フィルタ33に出力する。サンプリング補間フィルタ33は、波形記憶手段2から読み出された波形データに基づいて、波形アドレスの小数部に対応した波形サンプリング値を補間演算により算出し、さらに高調波成分の調整のためのフィルタ処理を行い、出力する。エンベロープ累算器34は、スピードデータ(SPD)を累算(加算・減算の場合を含む)して得られるエンベロープアキュムレート値(EACC)とフェーズ終了値データ(PEP)及びエンベロープが上昇するのか減衰するのかを決定する−/+フラグデータ(−/+)から64チャンネル分の振幅エンベロープ信号を時分割で発生する。これらのSPDデータ、PEPデータ或いは−/+フラグデータは、ROM104から制御手段1に読み出されて与えられるエンベロープ波形生成用のエンベロープ係数等の制御パラメータである。第1の乗算器35は、サンプリング補間フィルタ33の出力する波形サンプル値と振幅エンベロープ信号とを乗算する。さらに第2の累算器36は、アサイメントメモリ30から送出された2の補数をエンベロープの乗算された読出波形にさらに乗算し、180°位相をずらして波形出力を開始することができるようにすることで、相対的な振幅の大きさは小さくても(大きなダイナミックレンジを必要とせずに)、所定のラウドネスが得られるようにしている。系列累算器36は、時分割出力される64チャンネル分の楽音信号を累算し、全チャンネルの出力を合成する。
【0023】
上記エンベロープ累算器34は、フェーズ分割方式のエンベロープ発生器であり、本構成では、これによって生成されるエンベロープを、キーオン時にph0〜ph3の4フェーズ、キーオフ時にph4〜ph7の同じく4フェーズに分割している。図4に示すように、上述のアサイメントメモリ30は、各チャンネル毎に、波形記憶手段2の波形データ読出用の領域と、エンベロープ制御用の領域と、ラウドネス用の領域と、FACCクリア、phクリア、EACCクリアなどの制御用フラグ及びフィルタ係数等の記憶領域に区分けされる。
【0024】
そのうち波形データ読出用の領域は、波形データ読出のためのスタートアドレス(STa、STb、STc)、Fナンバ加算値(N)、ループトップアドレス(LT)、ループエンドアドレス(LE)が記憶される。またエンベロープ制御用の領域には、キーオン時のph0〜ph3と、キーオフ時のph4〜ph7のそれぞれのフェーズにおいて、前述のスピードデータ(SPD)とフェーズ終了値データ(PEP)及び−/+フラグデータ(−/+)が記憶される。ラウドネス用の領域は、エンベロープのラウドネスをどの程度かけるのかを示す値が2の補数で記憶されている。本構成では、この2の補数を用いることにより、逆位相の波形を含めることができるようにし、それによりダイナミックレンジを大きくしなくてもラウドネスをかせげるようにしている。またFACCクリア、phクリア、EACCクリアは、制御手段1により、その値を1とすることで、楽音信号生成手段3がそれを認識すると、それまでFACC、フェーズ、EACCを記憶していたレジスタはクリアされ、FACCやEACCは0に、またフェーズはph0となる。
【0025】
ここでは、上記エンベロープ制御用の領域に記憶された各フェーズにおける、スピードデータ(SPD)とフェーズ終了値データ(PEP)及びエンベロープが上昇する(+で示される)のか減衰する(−で示される)のかを決定する−/+フラグデータ(−/+)、さらにSPDの累算値であるエンベロープアキュムレート値(EACC)との関係からどのようにエンベロープ波形が生成されるかについて以下に説明する。
【0026】
図5(a)は、これらの関係を示す説明図であり、エンベロープ累算器34内の演算は浮動小数点に則って行われており、エンベロープのフェーズデータは、指数部4ビット、仮数部12ビットからなる。SPDデータは仮数部8ビットからなり、上記−/+信号に従い加減算される。EACCデータは、指数部4ビット、仮数部12ビットからなり、−/+信号が0の時、すなわち”+”の時、各チャンネル毎に時分割されたタイムスロットで、このEACCデータにSPDデータが加算されていく。PEPデータは、上記のEACCデータの上位から7ビットに対応し、指数部4ビット、仮数部3ビットよりなり、EACCデータの上位7ビット(指数部4ビット、仮数部3ビット)と比較される。比較した結果、EACCデータ≧PEPデータとなっていれば、現在のフェーズから次のフェーズに移行する。以上は、−/+信号が”0”すなわち”+”の場合であるが、−/+信号が”1”すなわち”−”の時は、EACCデータからSPDデータが減算されると共に、EACCデータとPEPデータが比較され、比較した結果、EACCデータ≦PEPデータとなっていれば、現在のフェーズから次のフェーズに移行する。そしてこのフェーズの移行によりエンベロープ波形が形成される。また−/+信号が”1”の時リニア軸上で指数関数的形状になるように、−/+信号が”0”の時直線的形状になるように、SPDデータを左シフトする。これにより、図5(b)のような形状となる。
【0027】
これらのエンベロープパラメータは、キーオン時のph0〜3の4つのフェーズと、キーオフ時のph4〜7の4つのフェーズからなり、エンベロープ累算器34では各チャンネルのアサイメントメモリ30中のphクリアが1になると、上述したように、それまでのフェーズレジスタはクリアされ、ph=0となり、ph0又はph4のパラメータが採用される。各チャンネルのフェーズレジスタは、制御手段1によりphクリア=1に設定することにより、キーオン時によってもクリアされるが、キーオフ時にもph0〜3の内容をキーオフフェーズであるph4〜7の値に書き換えた後にクリアされて、ph0に対応するエリアに記憶されたph4のパラメータが採用されることになる。
【0028】
本構成では、エンベロープのフェイズを従来より1つ増やすことで、ph0のpre read phaseを設け、さらにそのpre read phaseによって、実質的にディレイタイムを創出させるため、そのエンベロープ値を略0とするようにする。その場合、エンベロープのフェーズデータは、Power(指数)は2P-16で、またMantissa(仮数)は1+M/212で表わされるため、このpre read phaseのエンベロープ値を略0とするためには、pre read phaseのPEPのPowerは、同時に発音を開始させるべき複数のチャンネルのいずれでも、P≦8にしておけばよい。Mantissaの値を一応0として、P=8の時のエンベロープ値は、下式数1に示されるようになる。
【0029】
【数1】
【0030】
この値はかなり小さな値であり、エンベロープの立ち上がり時には気にならないレベルである。但しもし発音する音色がフルート音のように高調波をほとんど含まず、立ち上がりもあまり早くない場合は、pre read phaseのPEPのPowerは、P≦6とすれば、どんな場合にもまったく問題はない。
【0031】
前述のように、pre read phaseの間は、ちょうどディレイタイムに相当するので、そのエンベロープ値が乗算される楽音波形についても、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出すようにする(以下その間に読み出された波形をpre read 波形という)。それによって、pre read phaseの間に読み出される楽音波形データはどんなものであっても、pre read phaseの間のほぼ0のエンベロープ値の乗算によって、略0として出力されようになり、楽音波形にディレイタイムが設定できるようになる。
【0032】
すなわちディレイタイムは、上記pre read phaseのSPDデータとPEPデータによって決定される(SPDデータが累算されたEACCデータがPEPデータ以上又は以下になった時点でフェーズが変わるため)が、同時に、図2に示すように、押鍵に基づく波形の読み出しスピード、すなわちFナンバ加算値(N)とpre read 波形の長さ、すなわちスタートアドレス(STa、STb、STc)〜ループトップアドレス(LT)によっても決まることになり、本構成では、これらは等しくなければならない。
【0033】
例えばディレイタイムが10msであり、エンベロープ累算器34のシステムクロック周波数が40KHz、すなわち1チャンネル当たりの演算周期が25μsとすると、10msかけてph0のEACCデータがそのPEPデータに到達するためには、下式数2から、400回の演算を必要とするように設定する必要がある。
【0034】
【数2】
10×103μs÷25μs=400(回)
【0035】
前記図5を参照して、PEPデータのPower=6、Mantissa=0、−/+=0(+)とするならば、EACC=6×212でフェーズ転換点となるため、SPDデータとしては、下式数3のように、その値を上記演算回数400で割った値となる。
【0036】
【数3】
SPD=6×212÷400
【0037】
このような値にしておけば、ph0の演算はほぼ10msで終了し、その後ph1に移行し、正規のアタックフェーズを開始するので、エンベロープ値も急速に立ち上がり、補間の行われた読出波形にエンベロープを乗算する第1の乗算器35による乗算結果の波形レベルも大きくなる。
【0038】
他方、上述のように、波形データの読み出しに関しては、Fナンバ加算値(N)とpre read 波形の長さを考慮して、ディレイタイム分、本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出さねばならない。その場合、波形ROMの記憶内容と読出アドレスとの関係を示す前記図2を参照して、図6に示されるピアノのアンサンブル効果を得るような例につき、説明する。
【0039】
図6は、1つのキーオン情報に基づき、制御手段1が、3つの楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを同時に転送し、楽音信号生成手段3が、各楽音発生チャンネルに割り振られた制御パラメータに基づき、波形記憶手段2からの楽音波形データの読出を行った状態と、この波形データに乗算するエンベロープ波形の生成を行った状態と、これらの乗算により生成された楽音波形の状態を時系列的に示す波形データの推移説明図である。図面の一番上の(a)には、演奏者の鍵盤操作によるキーオン及びキーオフのタイミングが示されている。次の(b)は、楽音発生チャンネルTGch1における、(c)は、楽音発生チャンネルTGch2における、さらに(d)は、楽音発生チャンネルTGch3における、夫々ピアノの読出波形、エンベロープ波形、第1の乗算器35による波形出力の推移が示されている。(a)のキーオン・オフタイミングは、どのチャンネルも共通であり、制御手段1の負荷を軽くしている。
【0040】
TGch1では、Delay0のディレイタイムはほぼ0であり、従って、ピアノの波形データの読み出しは図2のアドレスAから行われる。またそのエンベロープ波形を構成するph0のpre read phase(エンベロープ値ほぼ0)の占有時間もほぼ0であり、従ってキーオンとほぼ同時にph1のアタックフェーズに移行する。またキーオフでph4のリリースフェーズに移行する。上記読み出し波形とエンベロープ波形の乗算出力は、図面に示すようになり、キーオンと同時に楽音が生成される。
【0041】
TGch2では、Delay1のディレイタイムがあり、従って、ピアノの波形データの読み出しは図2のアドレスBから行われる。またそのエンベロープ波形を構成するph0のpre read phase(エンベロープ値ほぼ0)の占有時間もDelay1のディレイタイムと同一となり、従ってキーオンからこのディレイタイムだけ経過してph1のアタックフェーズに移行する。またキーオフと同時にph4のリリースフェーズに移行する。上記読み出し波形とエンベロープ波形の乗算出力は、図面に示すようになり、キーオンから上記ディレイタイム分遅れて楽音が生成される。
【0042】
TGch3では、Delay2のディレイタイムがあり、従って、ピアノの波形データの読み出しは図2のアドレスCから行われる。またそのエンベロープ波形を構成するph0のpre read phase(エンベロープ値ほぼ0)の占有時間もDelay2のディレイタイムと同一となり、従ってキーオンからこのディレイタイムだけ経過してph1のアタックフェーズに移行する。またキーオフと同時にph4のリリースフェーズに移行する。上記読み出し波形とエンベロープ波形の乗算出力は、図面に示すようになり、キーオンから上記ディレイタイム分遅れて楽音が生成される。
【0043】
以上のような波形データの推移とするためには、ph0のpre read phaseのSPDデータがTGch1〜TGch3の楽音発生チャンネルの間で異なっていなければならない。またph0のpre read phaseの目標値であるPEPにつき、当該フェイズのエンベロープ値を略0とすることができる値にしておく必要がある。本構成では、PEPのPOWERの値を前述のように、8以下に設定している。
【0044】
図7及び図8は、本構成による処理が行われる場合の制御手段1による処理フローを示すフローチャートである。電源スイッチがONされると、バス100に接続されている制御手段1、楽音信号生成手段3、楽音発生手段4、鍵盤インターフェース101a、パネルインターフェース102a、RAM103の初期化が行われる(ステップS101)。この時、初期設定としてアサイナモードをノーマルアサイナモード(ASN=normal)に設定すると共に、全アサイメントメモリ30をクリアし、またDSP5にプログラム及び必要な係数の転送も行われる。
【0045】
次にパネルスイッチのONイベントが検出され(ステップS102)、その中でアンサンブルONイベントがあるか否かの検出がなされる(ステップS103)。アンサンブルONイベントが検出された場合(ステップS103;Yes)、アサイメントメモリ30の対応チャンネルエリアをクリアし(ステップS104)、本発明のキーオンディレイ効果付加装置を機能させて、キーオンディレイアサイナモードを起動させる(ステップS105)。また前記アンサンブルONイベントが検出されなかった場合(ステップS103;No)、アンサンブルOFFイベントがあるか否かの検出がなされる(ステップS106)。アンサンブルOFFイベントが検出された場合(ステップS106;Yes)、アサイメントメモリ30の対応チャンネルエリアをクリアし(ステップS107)、ノーマルアサイナモードを起動させる(ステップS108)。アンサンブルOFFイベントが検出されなかった場合(ステップS106;No)、その他パネルスイッチに対応した処理が行われる(ステップS109)。
【0046】
上記ステップS105、108又は109の後、キーボードデータとMIDIデータがキー入力バッファに格納される(ステップS110)。そして鍵盤101のキーオンイベントを検出し(ステップS111)、このキーオンイベントが検出された場合(ステップS111;Yes)、いずれか1つの楽音発生チャンネルを決定し(TGch0)、そのチャンネル対応のアサイメントメモリ30に、図4に示されたスタートアドレスSTa、Fナンバ加算値(N)、ループトップアドレス(LT)、ループエンドアドレス(LE)、ph0〜ph3までのスピードデータ(SPD)、フェーズ終了値データ(PEP)及び−/+フラグデータ(−/+)、さらにFACCクリア=1、phクリア=1、EACCクリア=1などの制御用フラグ及びフィルタ係数等を書き込む(ステップS112)。
【0047】
さらにアサイナモードがキーオンディレイか否かがチェックされ(ステップS113)、キーオンディレイであれば(ステップS113;Yes)、上記チャンネル(TGch0)以外の2つの楽音発生チャンネルを決定し(TGch1,TGch2)、それらのチャンネルの対応するアサイメントメモリ30に、スタートアドレスSTa、エンベロープph0のSPDデータ、フィルタ係数以外の上記パラメータをコピーすると共に、TGch1にはスタートアドレスSTb、エンベロープph0のSPDデータ、フィルタ係数を、またTGch2にはスタートアドレスSTc、エンベロープph0のSPDデータ、フィルタ係数を演算によって求め、夫々書き込む(ステップS114)。前記ステップS113で、キーオンディレイでなければ(ステップS113;No)、後述するFDインターフェース制御に移行する(ステップS119)。
【0048】
他方前述のキーオンイベントが検出されなかった場合(ステップS111;No)、鍵盤101のキーオフイベントを検出する(ステップS115)。このキーオフイベントが検出された場合(ステップS115;Yes)、対応する楽音発生チャンネルのアサイメントメモリ30に、図4に示されたキーオフフェーズph4〜ph7までのスピードデータ(SPD)、フェーズ終了値データ(PEP)及び−/+フラグデータ(−/+)、さらにphクリア=1を書き込む(ステップS116)。
【0049】
さらにアサイナモードがキーオンディレイか否かがチェックされ(ステップS117)、キーオンディレイであれば(ステップS117;Yes)、上記チャンネル(TGch0)以外の2つの楽音発生チャンネルを検出して(TGch1,TGch2)、それらのチャンネルの対応するアサイメントメモリ30に、キーオフフェーズph4〜ph7までのスピードデータ(SPD)、フェーズ終了値データ(PEP)及び−/+フラグデータ(−/+)、さらにphクリア=1を書き込む(ステップS118)。前記ステップS117で、キーオンディレイでなければ(ステップS117;No)、後述するFDインターフェース制御に移行する(ステップS119)。
【0050】
加えてS115のキーオフイベントの検出で、キーオフイベントが検出されなかった場合(ステップS115;No)、S113でキーオンディレイでない場合(ステップS113;No)、前記ステップS117で、キーオンディレイでない場合(ステップS117;No)、さらにステップS114やステップS118の書き込みの後、FDインターフェース制御に移行し(ステップS119)、最後に上記ステップS102に復帰する。
【0051】
以上の本実施形態構成では、制御手段1により、楽音発生チャンネル毎に楽音信号生成手段3にエンベロープ係数が転送され、それによって生成されるエンベロープのフェイズを従来より1つ多い、pre read phaseが設けられる。そのpre read phaseのエンベロープ値を略0となるようにしているので、その間に読み出された波形データは、上記エンベロープ値(略0)と乗算された結果、略0として出力されることになる。
【0052】
またpre read phaseの間が、ディレイタイムに相当しており、そのエンベロープ値が乗算される楽音波形についても、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとして波形を読出している。それによって、pre read phaseの間に読み出される楽音波形データはどんなものであっても上記乗算によって略0として出力され、特開平5−216479号のようにディレイタイムに対応する読出波形にゼロを記憶させなくても、楽音波形にディレイタイムが設定できるようになる。またCPUなどの制御手段1で、ディレイタイムを設定する必要がなくなり、その分だけ負荷が少なくなる。
【0053】
【発明の効果】
以上詳述した本発明のキーオンディレイ効果付加装置の構成によれば、少ない記憶容量の波形メモリで済み、且つマイクロコントローラや音源LSIなどには負荷がかからないようにして、できるだけ多くの楽音発生チャンネル数を確保できるようにし、それによって、すばらしいアンサンブル効果の得られるキーオンディレイ効果を得ることができるようになる。
【図面の簡単な説明】
【図1】本発明のキーオンディレイ効果付加装置の一実施形態の構成が適用された電子楽器のブロック図である。
【図2】波形ROMの記憶内容と読出アドレスとの関係を示す説明図である。
【図3】楽音信号生成手段を主に示す本キーオンディレイ効果付加装置の構成が適用された電子楽器のブロック図である。
【図4】アサイメントメモリの記憶内容の一例を示す説明図である。
【図5】エンベロープ係数とそれによってどのようなエンベロープ波形が生成されるかの関係を示す説明図である。
【図6】波形記憶手段からの楽音波形データの読出状態と、エンベロープ波形の生成状態と、これらの乗算により生成された楽音波形の状態を時系列的に示す波形データの推移説明図である。
【図7】本構成による処理が行われる場合の制御手段による処理フローを示すフローチャートである。
【図8】制御手段による上記処理フローの続きを示すフローチャートである。
【符号の説明】
1 制御手段
2 波形記憶手段
3 楽音信号生成手段
4 楽音発生手段
5 DSP
30 アサイメントメモリ
31 タイミングジェネレータ
32 Fナンバ累算器
33 サンプリング補間フィルタ
34 エンベロープ累算器
35 第1の乗算器
36 第2の乗算器
37 系列累算器
40 デジタル・アナログコンバータ
41 サウンド装置
100 バス
101 鍵盤
101a 鍵盤インターフェース
102 パネルスイッチ
102a パネルインターフェース
103 RAM
104 ROM
105 MIDIインターフェース
106 ディスクドライブ
Claims (3)
- 1つのキーオン情報に基づき、複数の楽音発生チャンネルに対して、波形読出アドレスやエンベロープ係数を含む制御パラメータを、同時に書き込む制御手段と、
任意の楽音波形を記憶する波形記憶手段と、
制御手段から書き込まれ複数の楽音発生チャンネルに割り振られた制御パラメータに基づき、上記波形記憶手段からの楽音波形データの読出を行うと共に、この波形データにエンベロープの付与を行って楽音信号を生成する楽音信号生成手段と、
該楽音信号生成手段で楽音発生チャンネル毎に生成された楽音信号に基づいて楽音を発生する楽音発生手段とを少なくとも有しており、
前記制御手段が、制御パラメータとして、エンンベロープ値を略ゼロとしたフェイズを有するエンベロープを形成するエンベロープ係数と、当該エンベロープフェイズと同等の時間に相当する分だけ本来の読出波形のトップから遡ったアドレスをスタートアドレスとする波形読出アドレスとを、楽音発生チェンネル毎に楽音信号生成手段に書き込むことを特徴とする電子楽器のキーオンディレイ効果付加装置。 - 前記制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数は、複数のフェーズで構成され、各々のフェーズがスピードデータとフェーズ終了値データによりフェイズ毎のエンベロープを形成し、複数のフェーズによって一つのエンベロープを形成するものであって、少なくとも最初のフェーズのスピードデータが楽音発生チャンネル間で異なっていることを特徴とする請求項1記載の電子楽器のキーオンディレイ効果付加装置。
- 前記制御手段が複数の楽音発生チャンネルに対して書き込むエンベロープ係数のうち、少なくとも最初のフェーズの目標値であるフェーズ終了値データを略ゼロとしたことを特徴とする請求項2記載の電子楽器のキーオンディレイ効果付加装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12273298A JP3649906B2 (ja) | 1998-04-17 | 1998-04-17 | 電子楽器のキーオンディレイ効果付加装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12273298A JP3649906B2 (ja) | 1998-04-17 | 1998-04-17 | 電子楽器のキーオンディレイ効果付加装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11305775A JPH11305775A (ja) | 1999-11-05 |
JP3649906B2 true JP3649906B2 (ja) | 2005-05-18 |
Family
ID=14843225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12273298A Expired - Fee Related JP3649906B2 (ja) | 1998-04-17 | 1998-04-17 | 電子楽器のキーオンディレイ効果付加装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3649906B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7094965B2 (en) | 2001-01-17 | 2006-08-22 | Yamaha Corporation | Waveform data analysis method and apparatus suitable for waveform expansion/compression control |
-
1998
- 1998-04-17 JP JP12273298A patent/JP3649906B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11305775A (ja) | 1999-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0702348B1 (en) | Electronic musical instrument and signal processor having a tonal effect imparting function | |
JP2792368B2 (ja) | 電子楽器 | |
JPH09127941A (ja) | 電子楽器 | |
JPH0883066A (ja) | 電子楽器 | |
JP3649906B2 (ja) | 電子楽器のキーオンディレイ効果付加装置 | |
JP3660125B2 (ja) | 電子楽器の音像定位感制御装置 | |
JP3652504B2 (ja) | 電子楽器の残響効果付加装置 | |
US5550320A (en) | Electronic sound generating device for generating musical sound by adding volume fluctuation to predetermined harmonics | |
JP3530601B2 (ja) | 楽音信号の周波数特性制御装置及び周波数特性制御方法 | |
US5998723A (en) | Apparatus for forming musical tones using impulse response signals and method of generating musical tones | |
US5959231A (en) | Electronic musical instrument and signal processor having a tonal effect imparting function | |
JP2834347B2 (ja) | ステレオ装置及びステレオ方法 | |
JP3436806B2 (ja) | 楽音信号のエンベロープ制御装置 | |
JP3091343B2 (ja) | 電子楽器 | |
JP3018620B2 (ja) | 電子楽器 | |
JP3595676B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JPH10124050A (ja) | 電子楽器 | |
JPH11305768A (ja) | 電子楽器の残響効果付加装置 | |
JP3508139B2 (ja) | デジタル信号処理プロセッサ | |
JP3092250B2 (ja) | 楽音合成装置 | |
JP2606459B2 (ja) | 電子楽器のタッチレスポンス装置 | |
JP3673384B2 (ja) | 楽音のチャンネル割り当て装置及び楽音のチャンネル割り当て方法 | |
JP3637190B2 (ja) | 楽音生成装置及び楽音生成方法 | |
JP2802714B2 (ja) | 電子楽器 | |
JP2859073B2 (ja) | 電子楽器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050117 |
|
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: 20050215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050216 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090225 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |