JP2006133342A - 楽音制御装置および楽音制御処理のプログラム - Google Patents

楽音制御装置および楽音制御処理のプログラム Download PDF

Info

Publication number
JP2006133342A
JP2006133342A JP2004320054A JP2004320054A JP2006133342A JP 2006133342 A JP2006133342 A JP 2006133342A JP 2004320054 A JP2004320054 A JP 2004320054A JP 2004320054 A JP2004320054 A JP 2004320054A JP 2006133342 A JP2006133342 A JP 2006133342A
Authority
JP
Japan
Prior art keywords
waveform data
time interval
pitch
address
musical
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.)
Abandoned
Application number
JP2004320054A
Other languages
English (en)
Inventor
Yoshinori Tachika
義則 田近
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2004320054A priority Critical patent/JP2006133342A/ja
Publication of JP2006133342A publication Critical patent/JP2006133342A/ja
Abandoned legal-status Critical Current

Links

Images

Abstract

【課題】 波形メモリに記憶された楽音波形データを読み出して発音する場合において、入力された音高が記憶されている楽音波形データの最低音高より低域側にずれた場合でも、発音する音のクオリティを高く維持できるようにする。
【解決手段】 ROM4は、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している。CPU1は、鍵盤2の演奏に応じて入力される音高によってROM4から楽音波形データを読み出す時間間隔を指定するが、その指定した時間間隔がROM4の所定の時間間隔以下である場合には、指定した時間間隔でROM4の楽音波形データを先頭アドレスから順に読み出し、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4の楽音波形データを先頭アドレスよりも後の開始アドレスから順に読み出す。
【選択図】 図1

Description

本発明は、楽音制御装置および楽音制御処理のプログラムに関し、特に、所定の時間間隔でサンプリングされた楽音波形データを波形メモリから読み出して発音を制御する楽音制御装置および楽音制御処理のプログラムに関するものである。
従来、自然楽器からの楽音信号をサンプリングした楽音波形データを波形メモリに記憶させて、シンセサイザー、電子ピアノ、電子オルガン、単体のキーボードなどの電子楽器の演奏に応じて、その波形メモリから楽音波形データを読み出して発音を制御する技術が知られている。自然楽器においては、楽音信号の波形は音の高さすなわち音高によって異なる。このため、自然楽器を摸擬して発音する電子楽器においては、各音色の楽器ごとに複数の音高に対応する楽音波形データを波形メモリに記憶する構成になっている。
ある提案の電子楽器においては、発明の実施の形態、図面に記載されているように、鍵盤などの演奏操作子の演奏が通常の演奏の場合には、波形メモリから読み出されるPCM波形データは、波形のスタートアドレスから読み出されて発音される。一方、演奏操作子の演奏がレガート演奏である場合、又は、鍵盤タッチの強さが一定以上の強い音である場合には、あらかじめ定められた読出しスタートポイントがROMから読み出されて、そのスタートポイントからのPCM波形データが波形メモリから読み出されて発音される。したがって、アコースティックなピアノやオルガンにおいて、音と音の間をなめらかに、切れ目なく感じさせるレガート演奏の発音が、電子楽器においても実現できる。(特許文献1参照)
特開9−44163号公報
上記特許文献1においては、レガート演奏のように特別な演奏が行われた場合に、波形メモリの読出ポイントを変更するものである。しかしながら、波形メモリに記憶されている楽音波形データを読み出して発音する従来の電子楽器においては、通常の演奏においても波形の先頭アドレスから順に読み出した場合に不具合が発生するという課題があった。
自然楽器の楽音信号又はソフトウェアによって生成した楽音信号をサンプリングして、各サンプリングの楽音波形データとして波形メモリに記憶する構成においては、サンプリングレートを高くしてサンプリングの時間間隔を小さくすればするほど、発音する音のクオリティを高くすることができる。しかし、波形メモリに記憶される楽音波形データが増加するのでメモリ容量を多く必要とし、製品のコストアップを招くことになる。このため、従来の電子楽器においては、音と音のつながりを考慮する必要度が大きい高域側の楽音波形データを密にして多く記憶し、音と音のつながりを考慮する必要度が小さい低域側の楽音波形データを疎にして少なく記憶している。そして、波形メモリに記憶されていない楽音波形データに対する音高を発音する場合には、発音すべき音高より高い音高で記憶されている楽音波形データを、読み出しの時間間隔を大きくして読み出すことにより、発音すべき音高の楽音波形データとして代行させることによって、音のクオリティと製品コストとのトレードオフを行っている。
しかしながら、このような従来の電子楽器の構成においては、演奏によって入力された音高、又は、MIDIデータのように外部機器から入力された音高が、記憶されている楽音波形データの最低音高より低域側にずれるほど、読み出し速度が遅くなるため発音開始タイミングが遅れたり、楽音波形の立ち上がりの部分であるアタックが間延びすることにより、音のクオリティが著しく低下していた。
本発明は、このような従来の課題を解決するためのものであり、波形メモリに記憶された楽音波形データを読み出して発音する場合において、入力された音高が記憶されている楽音波形データの最低音高より低域側にずれた場合でも、発音する音のクオリティを高く維持できるようにすることを目的とする。
請求項1に記載の楽音制御装置は、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している記憶手段(第1実施形態および第2実施形態においては、図1のROM4に相当する)と、入力される音高によって記憶手段から楽音波形データを読み出す時間間隔を指定する指定手段(第1実施形態および第2実施形態においては、図2の楽音波形生成部11の機能に相当する)と、指定手段によって指定された時間間隔が所定の時間間隔以下である場合には、指定された時間間隔で記憶手段の楽音波形データを先頭アドレスから順に読み出し、指定手段によって指定された時間間隔が所定の時間間隔よりも大きい場合には、記憶手段の楽音波形データを先頭アドレスよりも後の開始アドレスから順に読み出す読出手段(第1実施形態および第2実施形態においては、図2の楽音波形生成部11の機能に相当する)と、を備えた構成になっている。
請求項1の楽音制御装置において、請求項2に記載したように、指定手段によって指定された時間間隔が所定の時間間隔よりも大きい場合には、読出手段によって読み出された楽音波形データのエンベロープのパラメータを修正する修正手段(第1実施形態においては、図2のエンベロープ乗算部12の機能に相当する)をさらに備えたような構成にしてもよい。
請求項1の楽音制御装置において、請求項3に記載したように、読出手段は、指定手段によって指定された時間間隔が所定の時間間隔よりも大きい場合には、記憶手段の楽音波形データを先頭アドレスよりも後のアドレスで楽音波形データのゼロクロスの開始アドレスから順に読み出すような構成にしてもよい。
請求項1の楽音制御装置において、請求項4に記載したように、記憶手段は、記憶している楽音波形データの先頭アドレスから後のアドレスで楽音波形データがゼロクロスとなるアドレスと音高とを対応させたテーブル(実施形態においては、図10に示すテーブルに相当する)を記憶し、読出手段は、テーブルにおいて、入力された音高に応じた時間間隔に最も近く、且つ、音高に応じた時間間隔よりも小さい時間間隔の音高に対応したアドレスを指定し、そのアドレスから順に記憶手段の楽音波形データを読み出すような構成にしてもよい。
請求項5に記載の楽音制御処理のプログラムは、楽音の音高を入力する第1のステップと、第1のステップによって入力された音高に応じて、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している記憶手段(第1実施形態および第2実施形態においては、図1のROM4に相当する)から楽音波形データを読み出す時間間隔を、音高によって指定する第2のステップ(第1実施形態および第2実施形態においては、図7のステップSB2の処理に相当する)と、第2のステップによって指定された時間間隔が所定の時間間隔以下である場合には、指定された時間間隔で記憶手段の楽音波形データを先頭アドレスから順に読み出し、第2のステップによって指定された時間間隔が所定の時間間隔よりも大きい場合には、記憶手段の楽音波形データを先頭アドレスよりも後の開始アドレスから順に読み出す第3のステップ(第1実施形態および第2実施形態においては、図8の楽音波形アドレス設定処理に相当する)と、を実行する構成になっている。
請求項5の楽音制御処理のプログラムにおいて、請求項6に記載したように、第2のステップによって指定された時間間隔が所定の時間間隔よりも大きい場合には、第3のステップによって読み出された楽音波形データのエンベロープのパラメータを修正する第4のステップ(第1実施形態においては、図9のエンベロープのパラメータ設定処理に相当する)をさらに有するような構成にしてもよい。
請求項5の楽音制御処理のプログラムにおいて、請求項7に記載したように、第3のステップは、第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には、記憶手段の楽音波形データを先頭アドレスよりも後のアドレスで、楽音波形データのゼロクロスの開始アドレスから順に読み出すような構成(実施形態においては、図8のステップSC5およびステップSC6の処理に相当する)にしてもよい。
請求項5の楽音制御処理のプログラムにおいて、請求項8に記載したように、記憶手段は、記憶している楽音波形データの先頭アドレスから後のアドレスで楽音波形データがゼロクロスとなるアドレスと音高とを対応させたテーブル(第2実施形態においては、図10に示すテーブルに相当する)を記憶し、第3のステップは、テーブルにおいて、入力された音高に応じた時間間隔に最も近く、且つ、音高に応じた時間間隔よりも小さい時間間隔の音高に対応するアドレスを指定し、そのアドレスから順に記憶手段の楽音波形データを読み出すような構成(第2実施形態においては、図11の処理に相当する)にしてもよい。
本発明の楽音制御装置および楽音制御処理のプログラムによれば、波形メモリに記憶された楽音波形データを読み出して発音する場合において、入力された音高が記憶されている楽音波形データの最低音高より低域側にずれた場合でも、発音する音のクオリティを高く維持できるという効果が得られる。
以下、本発明による楽音制御装置の第1実施形態および第2実施形態について、電子鍵盤楽器を例に採って説明する。
図1は、第1実施形態における電子鍵盤楽器の構成を示すブロック図である。CPU1は、システムバスを介して、鍵盤2、スイッチ部3、ROM4、RAM5、表示部6、D/A変換器7に接続されており、これら各部との間で指令およびデータを授受して、この電子鍵盤楽器全体を制御する。
鍵盤2は、押鍵に応じてその鍵に対応する音高、押鍵の強弱に応じたベロシティなどをCPU1に入力する。スイッチ部3は、スタートスイッチ、音色指定スイッチなどで構成されている。ROM4には、CPU1によって実行される楽音制御処理のプログラム、複数種類の楽器の音色に対応し、各音色における複数の音高に対応した楽音波形データの群、発音のエンベロープのパラメータ、種々の変数の初期値などがあらかじめ記憶されている。RAM5は、CPU1のワークエリアであり、CPU1によって処理されるデータを一時的に記憶する。例えば、スイッチ部3で設定された音色、鍵盤2から入力された音高に対応するエンベロープのパラメータを一時的に記憶する。また、楽音制御処理の実行に必要なレジスタ、フラグ、および変数のエリアがRAM5に設けられている。表示部6は、スイッチ部3で設定された演奏モードや設定された発音の楽器などを表示する。D/A変換器7は、CPU1から入力された発音開始命令に応じて、ROM4から読み出された楽音波形データをディジタルからアナログに変換してサウンドシステム8に出力して発音させ、CPU1から入力された発音終了命令に応じてサウンドシステム8からの発音を停止させる。
図2は、楽音生成機能に関するブロック図である。楽音波形生成部11は、発音開始指令に応じて、音色(TONE)、音高(PITCH)に対応する楽音波形データ14を読み出してエンベロープ乗算部12に入力する。エンベロープ乗算部12は、楽音波形生成部11から入力された楽音波形データに対して、音色(TONE)、音高(PITCH)に応じたエンベロープのパラメータ15から形成されるエンベロープを乗算して楽音信号を増幅器13に入力する。増幅器13は、エンベロープ乗算部12から入力された楽音信号を増幅して発音する。図2において、楽音波形生成部11およびエンベロープ乗算部12はCPU1の機能であり、増幅器13はD/A変換器7およびサウンドシステム8の機能である。また、楽音波形データ14およびエンベロープのパラメータ15は、上記したように、ROM4にあらかじめ記憶されており、エンベロープのパラメータ15はRAM5に一時的に記憶される。
図3(A)、(B)は、ROM4に記憶されている楽音波形データ、および、エンベロープのパラメータの内容を示す図である。図3(A)において、TP[]は音色パラメータであり、種々の楽器に対応する複数の音色パラメータTP[0]、TP[1]…が記憶されている。図3(B)において、各TP[0]、TP[1]…に対応して、楽音波形データWAV[0]、WAV[1]…が記憶されている。図3(A)の各音色パラメータTP[0]、TP[1]…において、ADR_Sは対応する楽音波形データの先頭アドレス、PITCH_Sは対応する楽音波形データのオリジナルピッチ、ILないしRRは、対応するエンベロープのパラメータである。
このエンベロープのパラメータは、ADSR(アタック、ディケイ、サスティン、リリース)方式のパラメータであり、図4にアタック区間、ディケイ区間、サスティン区間、リリース区間におけるエンベロープの音量レベルの推移を示している。図4に示すように、波形のレベルの初期値であるイニシャルレベルIL、立ち上がりの波形のレベルの目標値であるアタックレベルAL、立ち上がりの傾きであるアタックレートAR、減衰のレベルの目標値であるディケイレベルDL、減衰の傾きであるディケイレートDR、発音持続中のレベルの目標値であるサスティンレベルSL、発音持続中の減衰の傾きであるサスティンレートSR、消音の減衰の傾きであるリリースレートRRで構成されている。このパラメータの中で特に、アタックレベルALおよびアタックレートARは、音のクオリティに最も影響を及ぼす重要な部分である。
図5は、RAM5に一時的に記憶されるデータエリアを示す図である。TONEはスイッチ部3にいて設定されて現在発音されている楽音波形データの音色、PITCHは鍵盤2の押鍵された鍵番号に応じて指定されて現在発音されている楽音波形データの音高、ADRは、現在発音されている楽音波形データのアドレスのエリアを示している。また、IL、AL、AR、DL、DR、SL、SR、RRは、現在発音されている楽音波形データに対して、図2のエンベロープ乗算部12において乗算されているエンベロープを形成するイニシャルレベル、アタックレベル、アタックレート、ディケイレベル、ディケイレート、サスティンレベル、サスティンレート、リリースレートのパラメータのエリアである。
図6は、CPU1によって実行されるメインルーチンのフローチャートである。初期処理(ステップSA1)の後、スイッチ部3をサーチするスイッチ処理(ステップSA2)、鍵盤2をサーチする鍵盤処理(ステップSA3)、表示処理などのその他の処理(ステップSA4)を繰り返し実行する。
図7は、メインルーチンにおけるステップSA3の鍵盤処理のフローチャートである。鍵盤2をサーチして、各鍵の状態が押鍵であるか、離鍵であるか、又は変化なしであるかを検出する(ステップSB1)。任意の鍵が押鍵がされたときは、その押鍵に対応するピッチすなわち音高を図5のPITCHにストアする(ステップSB2)。次に、楽音波形アドレスの設定処理(ステップSB3)、エンベロープのパラメータの設定処理(ステップSB4)、発音開始処理(ステップSB5)を行う。ステップSB1において、任意の鍵が離鍵されたときは、消音処理を行う(ステップSB6)。ステップSB5の発音開始処理の後、ステップSB6の消音処理の後、又は、ステップSB1において鍵盤2の状態に変化がない場合には、メインルーチンに戻る。
図8は、図7の鍵盤処理におけるステップSB3の楽音波形アドレス設定処理のフローチャートである。まず、ROMの対応する楽音波形データTP[TONE]の先頭アドレスTP[TONE].ADR_SをレジスタADR_Sにストアし、ROMの対応する楽音波形データTP[TONE]のオリジナルピッチTP[TONE].PITCH_SをレジスタPITCH_Sにストアする(ステップSC1)。そして、PITCHの音高がPITCH_Sの音高以上であるか否かを判別する(ステップSC2)。すなわち、押鍵された音高がROMから読み出した楽音波形データの音高以上であるか否かを判別する。PITCHの音高がPITCH_Sの音高以上である場合には、レジスタADR_Sの音高をRAMのADRにストアする(ステップSC3)。したがって、この場合にはROMの対応する楽音波形データの先頭アドレスを読み出しの開始アドレスとして指定する。
ステップSC2において、PITCHの音高がPITCH_Sの音高より小さい(低い)場合には、下記の演算式によって求めた値をRAMのADRにストアする(ステップSC4)。
ADR=ADR_S+(PITCH_S−PITCH)×C1
なお、この演算式において、C1はあらかじめ設定された係数である。
したがって、この場合にはROMの対応する楽音波形データの先頭アドレスよりも押鍵に応じた音高のピッチからオリジナルピッチの差に係数を乗算した値だけ後のアドレスをROMの対応する楽音波形データを読み出す開始アドレスとして指定する。次に、ADRの開始アドレスにおける楽音波形データがゼロクロスポイントであるか否かを判別する(ステップSC5)。ゼロクロスポイントでない場合には、ADRのアドレスを1つデクリメントして先頭アドレス側に戻し、読み出しの開始アドレスを更新する(ステップSC6)。そして、再びステップSC5においてADRの開始アドレスにおける楽音波形データがゼロクロスポイントであるか否かを判別する。ADRの開始アドレスの楽音波形データがゼロクロスポイントになったとき、又は、ステップSC3においてADRに楽音波形データの先頭アドレスをストアした後は、図7のフローチャートに戻って、ステップSB4に移行する。
図9は、図7におけるステップSB4のエンベロープのパラメータ設定処理のフローチャートである。まず、図3(A)に示したROMにおいて、現在の音色に対応するエンベロープTP[TONE]のパラメータであるILないしRRをRAMにコピーする(ステップSD1)。次に、指定ピッチで発音させる場合の、アタック領域の発音時間T1、および、図8の楽音波形アドレスでのアドレス修正分に対応する発音時間T2を下記の演算式で求める(ステップSD2)。
T1=((AL−IL)/AR)/FS×(PITCH_S/PITCH)
T2=(ADR−ADR_S)/FS×(PITCH_S/PITCH)
なお、この演算式において、FSはサンプリング周波数である。
T1を求める演算式において、(AL−IL)/ARは、図4に示したアタック領域において、レベル差(AL−IL)を傾き(AR)で除算した値であり、アタック領域の長さを、楽音波形データのサンプリングの時間間隔を単位として表わしたものとなる。したがって、この発音時間をサンプリング周波数FSで除算した値は、オリジナルピッチで発音させる場合のアタック領域の発音時間となる。そして、この発音時間にオリジナルピッチと発音の指定ピッチとの比(PITCH_S/PITCH)の値を乗算すると、指定ピッチで発音させる場合のアタック領域の発音時間T1が求まる。
また、T2を求める演算式において、(ADR−ADR_S)はアタック領域の区間において、図8の発音波形アドレスの設定処理で修正された開始アドレスから先頭アドレスまでの読み飛ばしたアドレス数である。このアドレス数をサンプリング周波数FSで除算した値は、オリジナルピッチで発音させる場合の、上記のアドレス数に対応した時間間隔である。この時間間隔にオリジナルピッチと発音の指定ピッチとの比(PITCH_S/PITCH)の値を乗算すると、指定ピッチで発音させる場合の、開始アドレスの修正分に対応する発音時間T2が求まる。
次に、T1の値がT2の値よりも大きいか否かを判別する(ステップSD3)。T1の値がT2の値よりも大きい場合には、ADRの変更によってアタックレベルの到達ポイントに対応する楽音波形データのアドレスが異ならないようにするために、下記の演算式によってアタックレートであるARの値を修正する(ステップSD4)。
AR=AR×T1/(T1−T2)
ただし、修正したアタックレートがこのシステムにおいて取り得る最大値であるAR_MAXより大きい場合には、ARをAR_MAXとする。
ステップSD3において、T1の値がT2の値以下である場合には、ARををAR_MAXとする。ステップSD4又はステップSD5において、ARの値を設定した後は、図7のフローチャートに戻り、ステップSB5の発音開始に移行する。
以上のように、この第1実施形態によれば、ROM4は、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している。CPU1は、鍵盤2の演奏に応じて入力される音高によってROM4から楽音波形データを読み出す時間間隔を指定するが、その指定した時間間隔がROM4の所定の時間間隔以下である場合には、指定した時間間隔でROM4の楽音波形データを先頭アドレスから順に読み出し、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4の楽音波形データを先頭アドレスよりも後の開始アドレスから順に読み出す。
したがって、ROM4に記憶された楽音波形データを読み出して発音する場合において、入力された音高が記憶されている楽音波形データの最低音高より低域側にずれた場合でも、発音開始タイミングが遅れたり、アタックが間延びすることがないので、発音する音のクオリティを高く維持できる。
また、上記第1実施形態によれば、CPU1は、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4から読み出した楽音波形データのエンベロープのパラメータを修正する。
したがって、指定した時間間隔で楽音波形データを読み出した場合と、所定の時間間隔で楽音波形データを読み出した場合とで、エンベロープにおけるレベルの目標値の到達ポイントに対応する楽音波形データのアドレスが異なることがない。
また、上記第1実施形態によれば、CPU1は、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4の楽音波形データを先頭アドレスよりも後のアドレスで、且つ、楽音波形データのゼロクロスの開始アドレスから順に読み出す。
したがって、楽音波形データを読み出す開始アドレスが先頭アドレスでない場合でも、楽音波形データのゼロクロスポイント以外のアドレスから発音が開始されることがないのでノイズを発生することがなく、発音する音のクオリティを高く維持できる。
次に、本発明の第2実施形態について説明する。第2実施形態における電子鍵盤楽器の構成は、図1に示した第1実施形態の構成と同じであり、ROM4の楽音波形データの構成は、図3に示した第1実施形態の場合と同じである。また、第2実施形態におけるADSR方式のエンベロープの特性およびRAM5のデータも図4および図5に示した第1実施形態と同じである。さらに、第2実施形態におけるメインルーチンのフローチャートおよび鍵盤処理のフローチャートも、図6および図7に示した第1実施形態の場合と同じである。ただし、ROM4には図10に示すテーブルがあらかじめ記憶されている。第1実施形態においては、図8および図9に示したように、楽音波形データの開始アドレスおよびエンベロープのパラメータを演算によって求めたが、第2実施形態においては、図10のテーブルを検索して楽音波形データの開始アドレスおよびエンベロープのパラメータを求める。なお、第1実施形態と同じ構成および同じ動作については説明を省略するとともに、第1実施形態の図面を適宜援用して第2実施形態を説明する。
図10において、PP[0]〜PP[PPN]は、複数の楽器の音色に対応する音色パラメータTP[0]、TP[1]、…において、各音色パラメータのピッチ領域ごとのパラメータである。各パラメータPP[]において、PITCHは領域境界のピッチであり、PP[]はピッチが小さい順すなわち音高が低い順に配列されている。最終データPP[PPN]においてはPITCHは−1になっている。ADRは、各ピッチ領域における楽音波形データの読み出しの開始アドレスであるゼロクロスポイントのアドレスであり、PITCHが小さいほど、楽音波形データの先頭アドレスから後に離れた値になっている。最終データPP[PPN]においては、ADRは楽音波形データの先頭アドレスになっている。ARは、各ピッチ領域のパラメータPP[]におけるエンベロープのアタックレートであり、例えば各ピッチ領域でのADRに対応して、アタックレベルの到達ポイントに対応する楽音波形データのアドレスが異ならないように調整された値が設定されている。
次に、第2実施形態における鍵盤処理において、図7のステップSB3の楽音波形アドレスの設定処理について、図11のフローチャートを参照して説明する。まず、PP[]を指定する変数nを0にセットして(ステップSE1)、nの値をインクリメントしながら、以下の処理を実行する。押鍵に応じた音色TONEに対応する音色パラメータTP[TONE]において、nで指定するピッチ領域ごとのパラメータPP[n]の領域境界のピッチPITCHが最終データPP[PPN]の−1であるか否かを判別する(ステップSE2)。PITCHが−1でない場合には、TP[TONE]におけるパラメータPP[n]のPITCHが、押鍵の音高に対応する指定ピッチPITCHよりも大きい(高い)か否かを判別する(ステップSE3)。
TP[TONE]におけるPP[n]のPITCHが指定ピッチPITCH以下である場合には、nの値をインクリメントして(ステップSE4)、次のPP[n]のPITCHを指定する。そして、ステップSE2においてPP[n]のPITCHが−1であるか否かを判別する。PITCHが−1でない場合にはステップSE3に移行して、PP[n]のPITCHが指定ピッチPITCHより大きいか否かを判別する。すなわち、変数nの値をインクリメントしながら、指定ピッチPITCHに最も近く、且つ、指定ピッチPITCHよりも大きいPP[n]のPITCHをテーブルから検索する。
ステップSE3において、PP[n]のPITCHが指定ピッチPITCHより大きい場合、すなわち、指定ピッチPITCHに最も近く、且つ、指定ピッチPITCHよりも大きいPP[n]のPITCHをテーブルから検索した場合には、ADRにそのPP[n]のPITCHのアドレスをストアする(ステップSE5)。そして、図7の鍵盤処理に戻り、ステップSB4に移行する。
図12は、第2実施形態における鍵盤処理のステップSB4のエンベロープのパラメータ設定処理のフローチャートである。この処理では、図10に示したROMのエンベロープのパラメータにおいて、アタックレートARを除く他のパラメータIL〜RRを図5に示したRAMの対応するエリアにコピーする(ステップSF1)。次に、図11で指定したアドレスのPP[n]のARをRAMの対応するエリアにコピーする(ステップSF2)。そして、図7の鍵盤処理に戻る。
以上のように、この第2実施形態によれば、第1実施形態と同様に、ROM4は、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している。CPU1は、鍵盤2の演奏に応じて入力される音高によってROM4から楽音波形データを読み出す時間間隔を指定するが、その指定した時間間隔がROM4の所定の時間間隔以下である場合には、指定した時間間隔でROM4の楽音波形データを先頭アドレスから順に読み出し、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4の楽音波形データを先頭アドレスよりも後の開始アドレスから順に読み出す。
したがって、ROM4に記憶された楽音波形データを読み出して発音する場合において、第1実施形態と同様に、入力された音高が記憶されている楽音波形データの最低音高より低域側にずれた場合でも、発音開始タイミングが遅れたり、アタックが間延びすることがないので、発音する音のクオリティを高く維持できる。
また、第1実施形態と同様に、CPU1は、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4から読み出した楽音波形データのエンベロープのパラメータを修正するとともに、ROM4の楽音波形データを先頭アドレスよりも後のアドレスで、且つ、楽音波形データのゼロクロスの開始アドレスから順に読み出す。
したがって、指定した時間間隔で楽音波形データを読み出した場合と、所定の時間間隔で楽音波形データを読み出した場合とで、エンベロープにおけるレベルの目標値の到達ポイントに対応する楽音波形データのアドレスが異なることがないとともに、楽音波形データを読み出す開始アドレスが先頭アドレスでない場合でも、楽音波形データのゼロクロスポイント以外のアドレスから発音が開始されることがないのでノイズを発生することがなく、発音する音のクオリティを高く維持できる。
さらに、第2実施形態によれば、ROM4から読み出した楽音波形データのエンベロープのパラメータを修正する処理、および、ROM4の楽音波形データを先頭アドレスよりも後のアドレスで、且つ、楽音波形データのゼロクロスの開始アドレスから順に読み出す処理を、演算によって行う代わりにROM4にあらかじめ記憶されたテーブルを検索して求めるので、処理時間を短縮することができる。
なお、上記第1実施形態および第2実施形態においては、指定した時間間隔が所定の時間間隔よりも大きい場合には、ROM4から読み出した楽音波形データのエンベロープのアタックレートを修正するようにしたが、変形例として、他のパラメータを修正するような構成にしてもよい。
また、上記第1実施形態および第2実施形態においては、音色および各音高に応じて複数の楽音波形データを使用する構成にしたが、さらに押鍵のベロシティに応じて複数の楽音波形データを使い分ける構成にしてもよい。
また、上記第1実施形態および第2実施形態においては、電子鍵盤楽器を例に採って本発明の楽音制御装置を説明したが、本発明の楽音制御装置は電子鍵盤楽器に限定されず、他の電子楽器にも適用することができる。変形例として、電子弦楽器、電子管楽器、電子打楽器に適用する構成でもよい。
また、上記実施形態においては、ROM4にあらかじめ記憶された楽音制御処理のプログラムをCPU1が実行する装置の発明について説明したが、汎用のパソコン、電子鍵盤装置、および外部音源を組み合わせたシステムによって本発明を実現することも可能である。すなわち、フレキシブルディスク(FD)、CD、MDなどの記憶媒体に記録されている楽音制御処理のプログラムをパソコンのハードディスクなどの不揮発性メモリにインストールしたり、インターネットなどのネットワークからダウンロードした楽音制御処理のプログラムを不揮発性メモリにインストールして、そのプログラムをパソコンのCPUが実行することも可能である。この場合には、プログラムの発明やそのプログラムを記録した記録媒体の発明を実現できる。
すなわち、本発明によるプログラムは、
楽音の音高を入力する第1のステップと、前記第1のステップによって入力された音高に応じて、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している記憶手段から楽音波形データを読み出す時間間隔を当該音高によって指定する第2のステップと、前記第2のステップによって指定された時間間隔が前記所定の時間間隔以下である場合には当該指定された時間間隔で前記記憶手段の楽音波形データを前記先頭アドレスから順に読み出し、前記第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には前記記憶手段の楽音波形データを前記先頭アドレスよりも後の開始アドレスから順に読み出す第3のステップと、を実行する。
前記第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には、前記第3のステップによって読み出された楽音波形データのエンベロープのパラメータを修正する第4のステップをさらに有する。
前記第3のステップは、前記第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には前記記憶手段の楽音波形データを前記先頭アドレスよりも後のアドレスで当該楽音波形データのゼロクロスの開始アドレスから順に読み出す。
前記記憶手段は、記憶している楽音波形データの先頭アドレスから後のアドレスで当該楽音波形データがゼロクロスとなるアドレスと音高とを対応させたテーブルを記憶し、前記第3のステップは、前記テーブルにおいて、前記入力された音高に応じた時間間隔に最も近く、且つ、音高に応じた時間間隔よりも小さい時間間隔の音高に対応するアドレスを指定し、そのアドレスから順に記憶手段の楽音波形データを読み出す。
本発明の実施形態における電子鍵盤楽器の構成を示すブロック図。 本発明の楽音生成機能に関するブロック図。 図1のROMに記憶されている楽音波形データおよびエンベロープのパラメータを示す図。 ADSR方式のエンベロープの音量レベルの推移を示す図。 図1のRAMに一時的に記憶されるデータエリアを示す図。 図1のCPUによって実行されるメインルーチンのフローチャート。 図6における鍵盤処理のフローチャート。 第1実施形態における鍵盤処理の楽音波形アドレス設定処理のフローチャート。 第1実施形態における鍵盤処理のエンベロープのパラメータ設定処理のフローチャート。 第2実施形態におけるROMのテーブルの構成を示す図。 第2実施形態における鍵盤処理の楽音波形アドレス設定処理のフローチャート。 第2実施形態における鍵盤処理のエンベロープのパラメータ設定処理のフローチャート。
符号の説明
1 CPU
2 鍵盤
3 スイッチ部
4 ROM
5 RAM
6 表示部
7 D/A変換器
8 サウンドシステム

Claims (8)

  1. 所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している記憶手段と、
    入力される音高によって前記記憶手段から楽音波形データを読み出す時間間隔を指定する指定手段と、
    前記指定手段によって指定された時間間隔が前記所定の時間間隔以下である場合には当該指定された時間間隔で前記記憶手段の楽音波形データを前記先頭アドレスから順に読み出し、前記指定手段によって指定された時間間隔が前記所定の時間間隔よりも大きい場合には前記記憶手段の楽音波形データを前記先頭アドレスよりも後の開始アドレスから順に読み出す読出手段と、
    を備えた楽音制御装置。
  2. 前記指定手段によって指定された時間間隔が前記所定の時間間隔よりも大きい場合には、前記読出手段によって読み出された楽音波形データのエンベロープのパラメータを修正する修正手段をさらに備えたことを特徴とする請求項1に記載の楽音制御装置。
  3. 前記読出手段は、前記指定手段によって指定された時間間隔が前記所定の時間間隔よりも大きい場合には前記記憶手段の楽音波形データを前記先頭アドレスよりも後のアドレスで当該楽音波形データのゼロクロスの開始アドレスから順に読み出すことを特徴とする請求項1に記載の楽音制御装置。
  4. 前記記憶手段は、記憶している楽音波形データの先頭アドレスから後のアドレスで当該楽音波形データがゼロクロスとなるアドレスと音高とを対応させたテーブルを記憶し、前記読出手段は、前記テーブルにおいて、前記入力された音高に応じた時間間隔に最も近く、且つ、当該音高に応じた時間間隔よりも小さい時間間隔の音高に応じたアドレスを指定し、そのアドレスから順に前記記憶手段の楽音波形データを読み出すことを特徴とする請求項1に記載の楽音制御装置。
  5. 楽音の音高を入力する第1のステップと、
    前記第1のステップによって入力された音高に応じて、所定の時間間隔でサンプリングされた楽音波形データを先頭アドレスから順に記憶している記憶手段から楽音波形データを読み出す時間間隔を当該音高によって指定する第2のステップと、
    前記第2のステップによって指定された時間間隔が前記所定の時間間隔以下である場合には当該指定された時間間隔で前記記憶手段の楽音波形データを前記先頭アドレスから順に読み出し、前記第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には前記記憶手段の楽音波形データを前記先頭アドレスよりも後の開始アドレスから順に読み出す第3のステップと、
    を実行する楽音制御処理のプログラム。
  6. 前記第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には、前記第3のステップによって読み出された楽音波形データのエンベロープのパラメータを修正する第4のステップをさらに有することを特徴とする請求項5に記載の楽音制御処理のプログラム。
  7. 前記第3のステップは、前記第2のステップによって指定された時間間隔が前記所定の時間間隔よりも大きい場合には前記記憶手段の楽音波形データを前記先頭アドレスよりも後のアドレスで当該楽音波形データのゼロクロスの開始アドレスから順に読み出すことを特徴とする請求項5に記載の楽音制御処理のプログラム。
  8. 前記記憶手段は、記憶している楽音波形データの先頭アドレスから後のアドレスで当該楽音波形データがゼロクロスとなるアドレスと音高とを対応させたテーブルを記憶し、前記第3のステップは、前記テーブルにおいて、前記入力された音高に応じた時間間隔に最も近く、且つ、当該音高に応じた時間間隔よりも小さい時間間隔の音高に対応したアドレスを指定し、そのアドレスから順に前記記憶手段の楽音波形データを読み出すことを特徴とする請求項5に記載の楽音制御処理のプログラム。
JP2004320054A 2004-11-04 2004-11-04 楽音制御装置および楽音制御処理のプログラム Abandoned JP2006133342A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004320054A JP2006133342A (ja) 2004-11-04 2004-11-04 楽音制御装置および楽音制御処理のプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004320054A JP2006133342A (ja) 2004-11-04 2004-11-04 楽音制御装置および楽音制御処理のプログラム

Publications (1)

Publication Number Publication Date
JP2006133342A true JP2006133342A (ja) 2006-05-25

Family

ID=36726968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004320054A Abandoned JP2006133342A (ja) 2004-11-04 2004-11-04 楽音制御装置および楽音制御処理のプログラム

Country Status (1)

Country Link
JP (1) JP2006133342A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160093571A (ko) * 2015-01-29 2016-08-08 제네럴 일렉트릭 컴퍼니 엔진의 동작 이벤트를 검출하기 위한 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160093571A (ko) * 2015-01-29 2016-08-08 제네럴 일렉트릭 컴퍼니 엔진의 동작 이벤트를 검출하기 위한 시스템 및 방법
KR102343214B1 (ko) * 2015-01-29 2021-12-24 에이아이 알파인 유에스 비드코 인크. 엔진의 동작 이벤트를 검출하기 위한 시스템 및 방법

Similar Documents

Publication Publication Date Title
US8106287B2 (en) Tone control apparatus and method using virtual damper position
JPH027078B2 (ja)
JP6176480B2 (ja) 楽音発生装置、楽音発生方法およびプログラム
EP3373289B1 (en) Electronic musical instrument, musical sound generating method, and storage medium
JP2583809B2 (ja) 電子楽器
JPH0720866A (ja) 電子楽器
JP2006133342A (ja) 楽音制御装置および楽音制御処理のプログラム
JPH0968980A (ja) 電子鍵盤楽器の音色制御装置
JP2009031457A (ja) 楽音発生装置および楽音発生処理プログラム
JP6410345B2 (ja) サウンドプレビュー装置及びプログラム
JP2722482B2 (ja) 楽音発生装置
JP2009025503A (ja) 電子楽器
JP2578327B2 (ja) 自動演奏装置
JP2953217B2 (ja) 電子楽器
JP5707673B2 (ja) 共鳴音付加装置および電子楽器
JPH0926787A (ja) 音色制御装置
JP2004361528A (ja) 楽音信号発生装置及びレガート処理プログラム
JP2007187949A (ja) 楽音発生装置および楽音発生処理のプログラム
JP2833485B2 (ja) 楽音発生装置
JP2939098B2 (ja) 電子楽器
JPH0683333A (ja) 空気流応答電子楽器
JP3231896B2 (ja) 電子楽器
JP3182098B2 (ja) 電子楽器
JPH07104753A (ja) 電子楽器の自動調律装置
JPH07219530A (ja) 電子楽器

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060210

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060314

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20080804