JP4232203B2 - 波形発生装置および波形発生処理プログラム - Google Patents
波形発生装置および波形発生処理プログラム Download PDFInfo
- Publication number
- JP4232203B2 JP4232203B2 JP2004267840A JP2004267840A JP4232203B2 JP 4232203 B2 JP4232203 B2 JP 4232203B2 JP 2004267840 A JP2004267840 A JP 2004267840A JP 2004267840 A JP2004267840 A JP 2004267840A JP 4232203 B2 JP4232203 B2 JP 4232203B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- slave
- master
- pitch
- generated
- 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
- Electrophonic Musical Instruments (AREA)
Description
そこで本発明は、このような事情に鑑みてなされたもので、耳障りな楽音を発生することなく、音楽的に自然なオシレータシンクロナイズ効果を得ることができる波形発生装置および波形発生処理プログラムを提供することを目的としている。
A.第1実施形態
(1)全体構成
図1は、本発明の第1実施形態による電子楽器100の全体構成を示すブロック図である。電子楽器100は、鍵盤1、スイッチ部2、ベンダホイール3、CPU4、表示部5、ROM6、RAM7、音源8、D/A変換器9およびサウンドシステム10を備える。鍵盤1は、押離鍵操作(演奏操作)に応じたキーオン/キーオフ信号、鍵番号およびベロシティ等からなる演奏情報を発生する。スイッチ部2は、楽器パネルに配設される各種スイッチを備え、操作されるスイッチ種に応じたスイッチイベントを発生する。スイッチ部2に配設される主要なスイッチとして、マスター波形選択スイッチ、スレーブ波形選択スイッチおよびDuty設定スイッチ等が有り、これらスイッチ操作に対応した処理動作については追って詳述する。
次に、図3を参照して音源8の構成について説明する。音源8は周知のDSPから構成される。したがって、図3はそのDSPにおいて実行されるマイクロプログラムの各機能をハードウェアイメージとして捉らえた機能ブロックを図示している。図3に図示する音源8は、マスター波形発生部、スレーブ波形発生部および波形合成部に大別される。以下、これら各部の構成について述べる。
マスター波形発生部は、マスター発振器200、アドレス発生器201、アドレス比較器202および波形発生器203から構成される。マスター発振器200は、CPU4から供給されるピッチPitchに対応した周波数のマスタークロックMCを発生する。アドレス発生器201は、CPU4から供給される波形テーブル先頭アドレスWT_M(後述する)から、マスタークロックMCに従って歩進される読み出しアドレスを発生する。アドレス比較器202は、アドレス発生器201が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰した時点でスレーブ波形発生部側のアドレス発生器207にリセット信号を送出して同期指示を与える。
スレーブ波形発生部は、スレーブ発振器A205,B206、セレクタSEL、アドレス発生器207、アドレス比較器208および波形発生器209から構成される。スレーブ発振器A205は、CPU4から供給されるピッチPitchに対応した周波数の、第1のスレーブクロックSC1を発生する。スレーブ発振器B206は、CPU4が設定する周波数の第2のスレーブクロックSC2を発生する。セレクタSELは、後述するアドレス比較器208が発生するセレクト信号に応じて、第1のスレーブクロックSC1又は第2のスレーブクロックSC2のいずれかを選択して次段のアドレス発生器207に供給する。
スレーブ波形発生部では、上述したように、デューティ比Dutyで指定される波形A区間では第1のスレーブクロックSC1に応じて歩進される読み出しアドレスに応じてスレーブ波形を発生し、波形A区間を過ぎて波形B区間に移行すると、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように、スレーブ波形の波形読み出し速度を変化させる。
また、例えば、スレーブ波形のデューティ比Dutyを「0.2」とした場合に、図7(a)に図示する矩形波状のマスター波形に対して同図(b)に図示する三角波のスレーブ波形を発生させるには、波形B区間においてマスター波形のゼロクロス点とスレーブ波形側のゼロクロス点とを同期させるように、第2のスレーブクロックSC2の周波数を下げてスレーブ波形の波形読み出し速度を下げる。
波形合成部は、係数乗算器204,210およびミキサ211から構成される。係数乗算器204は、波形発生器203が出力するマスター波形に、CPU4から供給されるマスター波形レベルLevel_Mを乗算して出力する。係数乗算器210は、波形発生器209が出力するスレーブ波形に、CPU4から供給されるスレーブ波形レベルLevel_Sを乗算して出力する。ミキサ211は、係数乗算器204から出力されるマスター波形と、係数乗算器210から出力されるスレーブ波形とを混合して出力する。
次に、上記構成による第1実施形態の動作を説明する。以下では、図8〜図12を参照してCPU4が実行するメインルーチン、スイッチ処理、鍵盤処理、オシレータ設定処理およびベンダ処理の各動作について述べる。
上記構成による電子楽器100をパワーオンすると、CPU4は図8に示すメインルーチンを実行し、ステップSA1に処理を進め、RAM7に格納される各種レジスタ/フラグ類をリセットしたり初期値セットする他、音源8に対して各種レジスタ・フラグを初期化するよう指示するイニシャライズを実行する。そして、イニシャライズが完了すると、ステップSA2に処理を進め、スイッチ部2のスイッチ操作に対応したスイッチ処理を行う。後述するように、スイッチ処理では、音源8に与えるマスター波形属性、スレーブ波形属性およびデューティ比Dutyを発生する。これらは、マスター波形選択スイッチ、スレーブ波形選択スイッチおよびDuty設定スイッチの操作に応じて設定される。
次に、図9を参照してスイッチ処理の動作について説明する。上述したメインルーチンのステップSA2を介して本処理が実行されると、CPU4は操作されるスイッチ種に対応した処理を実行する。以下では、音源8の波形発生に必要なパラメータを設定する「マスター波形選択スイッチ」、「スレーブ波形選択スイッチ」および「Duty設定スイッチ」が操作された場合の各動作を述べる。
マスター波形選択スイッチ操作が行われると、ステップSB1の判断結果が「YES」になり、ステップSB2に進む。ステップSB2では、当該スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタWF_Mにストアする。また、ステップSB2では、波形番号WF_Mで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタWT_Mにストアする。さらに、ステップSB2では、波形番号WF_Mで指定される波形テーブルのテーブルサイズをレジスタWTS_Mにストアする。加えて、ステップSB2では、音源8のアドレス比較器202(図3参照)に波形テーブル先頭アドレスWT_Mをセットした後、後述のステップSB8に処理を進める。
スレーブ波形選択スイッチ操作が行われると、ステップSB3の判断結果が「YES」になり、ステップSB4に進む。ステップSB4では、当該スイッチ操作で選択されたスレーブ波形の形状を指定する波形番号をレジスタWF_Sにストアする。また、ステップSB4では、波形番号WF_Sで指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスをレジスタWT_Sにストアする。さらに、ステップSB4では、波形番号WF_Sで指定される波形テーブルのテーブルサイズをレジスタWTS_Sにストアする。加えて、ステップSB4では、音源8のアドレス発生器207(図3参照)に波形テーブル先頭アドレスWT_Sをセットする。
なお、アドレス比較器208では、アドレス発生器207から供給される読み出しアドレスが、上記アドレス値(WT_S+WTS_S×Duty)に達した場合に第2のスレーブクロックSC2を選択し、それ以外は第1のスレーブクロックSC1を選択するセレクト信号を発生してセレクタSELに供給する。
Duty設定スイッチ操作が行われると、ステップSB6の判断結果が「YES」になり、ステップSB7に進み、ユーザにより数値入力されるデューティ比をレジスタDutyにストアする。この後、上記ステップSB5に進み、アドレス値(WT_S+WTS_S×Duty)をアドレス比較器208にセットする。
次に、図10を参照して鍵盤処理の動作を説明する。上述したメインルーチンのステップSA3(図8参照)を介して本処理が実行されると、CPU4は図10に図示するステップSC1に進み、鍵イベントを判別する。押離鍵操作が行われず、鍵イベントが発生しなければ、何も行わずに本処理を完了させる。押鍵操作に応じたキーンオンイベントが発生すると、ステップSC2に進み、一方、離鍵操作に応じたキーオフイベントが発生すれば、ステップSC6に進む。以下、押鍵時の動作と離鍵時の動作とに分けて説明を進める。なお、ここでは説明の簡略化を図る為、モノフォニック発音を前提としている。
押鍵操作に応じたキーオンイベントが発生すると、ステップSC2に進み、レジスタPitchの値が「−1」、つまり押鍵された鍵の音が消音済みであるかどうかを判断する。発音中であると、判断結果は「NO」となり、何も行わずに本処理を完了させるが、消音済みならば、判断結果が「YES」になり、ステップSC3に進む。ステップSC3では、音源8のアドレス発生器201に波形テーブル先頭アドレスWT_Mをセットする一方、レジスタPitchに押鍵された鍵のピッチ(鍵番号)をストアする。
離鍵操作に応じたキーオフイベントが発生すると、ステップSC6に進み、レジスタPitchに消音済みを表す値として「−1」をストアすると共に、音源8に消音を指示して本処理を終える。
次に、図11を参照してオシレータ設定処理の動作を説明する。上述した鍵盤処理のステップSC4(図10参照)を介して本処理が実行されると、CPU4は図11に示すステップSD1に処理を進め、ベンダホイール3の回動操作に応じて発生するベンダ操作値等に基づきレジスタPitchの値を修正して修正ピッチP_Mを発生する。具体的には、レジスタBenderに格納されるベンダ操作値を、当該ベンダ操作値に対応するマスター波形のピッチ変化幅BR_M、マスター波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_M、マスター波形のピッチをセント単位でチューニングする精チューニング値FT_Mにて補正し、補正されたベンダ操作値をレジスタPitchに加算して修正ピッチP_Mを発生する。
そして、ステップSD2では、上記ステップSD1にて発生した修正ピッチP_Mを音源8のマスター発振器200に設定する。これにより、マスター発振器200は、CPU4から供給される修正ピッチP_Mに応じた周波数のマスタークロックMCを発生する。
そして、ステップSD4では、上記ステップSD3にて発生したピッチP_S1をスレーブ発振器A205に設定する。これにより、スレーブ発振器A205は、CPU4から供給されるピッチP_S1に応じた周波数の第1のスレーブクロックSC1を発生する。
ここで、Dutyはデューティ比、WTS_Sは波形番号WF_Sで指定されるスレーブ波形テーブルのテーブルサイズ、P_Mはマスター発振器200に設定する修正ピッチ、P_S1はスレーブ発振器A205に設定するピッチ、WTS_Mは波形番号WF_Mで指定されるマスター波形テーブル先頭アドレスである。 そして、ステップSD6では、上記ステップSD5にて発生したピッチP_S2をスレーブ発振器B206に設定する。これにより、スレーブ発振器B206は、ピッチP_S2に応じた周波数の第2のスレーブクロックSC2を発生する。
こうしたオシレータ設定が行われると、音源8ではマスター波形とスレーブ波形とを混合して楽音波形を形成する。すなわち、音源8のマスター波形発生部では、CPU4により設定された修正ピッチP_Mに対応した周期で波形番号WF_Mにて指定される波形形状のマスター波形を発生する。
次に、図12を参照してベンダ処理の動作を説明する。前述したメインルーチンのステップSA4(図8参照)を介して本処理が実行されると、CPU4は図12に示すステップSE1に処理を進め、レジスタPitchの値が「−1」、つまり消音済みであるかどうかを判断する。消音済みならば、判断結果は「YES」になり、本処理を完了させてベンダホイール3の回動操作を無効にする。一方、発音中であると、判断結果が「NO」となり、ステップSE2に進み、ベンダホイール3の回動操作に応じて発生するA/D変換値をレジスタAにストアする。
次に、図13〜図16を参照して第2実施形態について説明する。第2実施形態の全体構成は前述の第1実施形態と同一なので、その説明については省略する。前述の第1実施形態では、デューティ比Dutyで指定される波形A区間を過ぎて波形B区間に移行した時点で、スレーブ波形の波形読み出し速度を変化させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるのに対し、第2実施形態ではマスター波形一周期の期間内に、スレーブ波形の波形読み出し速度を加速させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるようにした点で相違する。以下、こうした第2実施形態による音源8の構成について図13を参照して説明する。
第2実施形態による音源8は、マスター波形発生部、スレーブ波形発生部および波形合成部に大別される。マスター波形発生部は、マスター発振器200、アドレス発生器201、アドレス比較器202および波形発生器203から構成される。マスター発振器200は、CPU4から供給されるピッチPitchに対応した周波数のマスタークロックMCを発生する。アドレス発生器201は、CPU4から供給される波形テーブル先頭アドレスWT_Mから、マスタークロックMCに従って歩進される読み出しアドレスを発生する。アドレス比較器202は、アドレス発生器201が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰した時点でスレーブ波形発生部側のアドレス発生器207と発振加速器212とにリセット信号を送出して同期指示を与える。
次に、図15〜図16を参照して第2実施形態の動作について説明する。以下では、前述の第1実施形態と相違する第2実施形態によるスイッチ処理およびオシレータ設定処理の各動作について述べる。
前述した第1実施形態と同様にメインルーチンのステップSA2を介して第2実施形態によるスイッチ処理が実行されると、ステップSF1に進み、マスター波形選択スイッチ操作の有無を判断する。マスター波形選択スイッチ操作が行われると、判断結果が「YES」になり、ステップSF2に進む。ステップSF2では、当該スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタWF_Mにストアする。また、ステップSF2では、波形番号WF_Mで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタWT_Mにストアする。さらに、ステップSF2では、波形番号WF_Mで指定される波形テーブルのテーブルサイズをレジスタWTS_Mにストアする。加えて、ステップSF2では、アドレス比較器202(図13参照)に波形テーブル先頭アドレスWT_Mをセットした後、後述のステップSF5に処理を進める。
次に、図16を参照してオシレータ設定処理の動作を説明する。前述の第1実施形態と同様、鍵盤処理のステップSC4(図10参照)又はベンダ処理のステップSE5(図12参照)を介して第2実施形態によるオシレータ設定処理が実行されると、CPU4は図16に示すステップSG1に処理を進め、ベンダホイール3の回動操作で発生するベンダ操作値等に基づきレジスタPitchの値を修正して修正ピッチP_Mを発生する。
具体的には、レジスタBenderに格納されるベンダ操作値を、当該ベンダ操作値に対応するマスター波形のピッチ変化幅BR_M、マスター波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_M、マスター波形のピッチをセント単位でチューニングする精チューニング値FT_Mにて補正し、補正されたベンダ操作値をレジスタPitchに加算して修正ピッチP_Mを発生する。
次に、ステップSG3では、スレーブ発振器205(図13参照)に設定するピッチP_Sを発生する。すなわち、上記ステップSG1と同様、レジスタBenderに格納されるベンダ操作値を、ベンダ操作値に対応するスレーブ波形のピッチ変化幅BR_S、スレーブ波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_Sおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値FT_Sにて補正し、補正されたベンダ操作値をレジスタPitchに加算してピッチP_Sを発生する。
ステップSG5では、ACC=(2×P_M/WTS_M)×((WTS_S×P_M/WTS_M)−P_S)なる算出式に基づき加速値ACCを発生する。ここで、P_Mはマスター発振器200に設定する修正ピッチ、WTS_Mは波形番号WF_Mで指定されるマスター波形テーブル先頭アドレス、WTS_Sは波形番号WF_Sで指定されるスレーブ波形テーブルのテーブルサイズ、P_Sはスレーブ発振器205に設定するピッチである。この式は、時間変数をtとして、(ACC×t+P_S)を、tで0から(WTS_M/P_M)まで積分した結果がWTS_Sになることから導かれる。次いで、ステップSG6では、上記ステップSG5において発生した加速値ACCを発振加速器212(図13参照)に設定して本処理を終える。
次に、図17〜図20を参照して第3実施形態について説明する。
(1)音源8の構成
図17は、第3実施形態による音源8の構成を示すブロック図である。この図に示す音源8において、上述した第2実施形態の音源8と共通する構成要素には同一の番号を付し、その説明を省略する。第3実施形態の音源8が上述の第2実施形態と相違する点は、波形発生器209と係数乗算器210との間に、エンベロープ発生器213の出力に応じてスレーブ波形レベルを制御する係数乗算器214を設け、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるように当該スレーブ波形をエンベロープ制御することにある。
例えば、図18(a)に図示するように、エンベロープ発生器213がマスター周期(マスター波形一周期)に対応したエンベロープ出力を発生させた場合には、同図(b)に図示するように、本来一点鎖線で示されるスレーブ波形が変形されて実線で図示されるスレーブ波形出力が生成される。
次に、図19〜図20を参照して第3実施形態の動作について説明する。以下では、前述の第1実施形態と相違する第3実施形態によるスイッチ処理およびオシレータ設定処理の各動作について述べる。
前述した第1実施形態と同様にメインルーチンのステップSA2を介して第3実施形態によるスイッチ処理が実行されると、ステップSH1に進み、マスター波形選択スイッチ操作の有無を判断する。マスター波形選択スイッチ操作が行われると、判断結果が「YES」になり、ステップSH2に進む。ステップSH2では、当該スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタWF_Mにストアする。また、ステップSH2では、波形番号WF_Mで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタWT_Mにストアする。さらに、ステップSH2では、波形番号WF_Mで指定される波形テーブルのテーブルサイズをレジスタWTS_Mにストアする。加えて、ステップSH2では、アドレス比較器202(図17参照)に波形テーブル先頭アドレスWT_Mをセットした後、後述のステップSH7に処理を進める。
次に、図20を参照してオシレータ設定処理の動作を説明する。前述の第1実施形態と同様、鍵盤処理のステップSC4(図10参照)又はベンダ処理のステップSE5(図12参照)を介して第3実施形態によるオシレータ設定処理が実行されると、CPU4は図20に示すステップSJ1に処理を進め、ベンダホイール3の回動操作で発生するベンダ操作値等に基づきレジスタPitchの値を修正して修正ピッチP_Mを発生する。
具体的には、レジスタBenderに格納されるベンダ操作値を、当該ベンダ操作値に対応するマスター波形のピッチ変化幅BR_M、マスター波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_M、マスター波形のピッチをセント単位でチューニングする精チューニング値FT_Mにて補正し、補正されたベンダ操作値をレジスタPitchに加算して修正ピッチP_Mを発生する。
次に、ステップSJ3では、スレーブ発振器205(図17参照)に設定するピッチP_Sを発生する。すなわち、上記ステップSJ1と同様、レジスタBenderに格納されるベンダ操作値を、ベンダ操作値に対応するスレーブ波形のピッチ変化幅BR_S、スレーブ波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_Sおよびスレーブ波形のピッチをセント単位でチューニングする精チューニング値FT_Sにて補正し、補正されたベンダ操作値をレジスタPitchに加算してピッチP_Sを発生する。
次に、図21〜図25を参照して第4実施形態について説明する。第4実施形態の全体構成は前述の第1実施形態と同一なので、その説明については省略する。前述の第1実施形態では、デューティ比Dutyで指定される波形A区間を過ぎて波形B区間に移行した時点で、スレーブ波形の波形読み出し速度を変化させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるのに対し、第4実施形態では、少なくとも2系統のスレーブ波形発生部を設け、マスター波形一周期の期間内に、2系統のスレーブ波形発生部からそれぞれ交互にスレーブ波形を発生させてマスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させる点で相違する。以下、こうした処理を具現する音源8の構成について図21を参照して説明する。
第4実施形態による音源8は、マスター波形発生部、スレーブ波形発生部および波形合成部に大別される。マスター波形発生部は、マスター発振器200、アドレス発生器201、アドレス比較器202および波形発生器203から構成される。マスター発振器200は、CPU4から供給されるピッチPitchに対応した周波数のマスタークロックMCを発生する。アドレス発生器201は、CPU4から供給される波形テーブル先頭アドレスWT_Mから、マスタークロックMCに従って歩進される読み出しアドレスを発生する。アドレス比較器202は、アドレス発生器201が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰する毎に、第1スレーブ波形発生部のアドレス発生器207および第2スレーブ波形発生部のアドレス発生器216を交互に選択し、選択した側のアドレス発生器にリセット信号を送出して同期指示を与える。
このように、スレーブ波形発生部では、図22(a)に図示するように、マスター波形周期毎に、スレーブ1波形出力(同図(b))およびスレーブ2波形出力(同図(c))を交互に発生させることによって、マスター波形のゼロクロス点にスレーブ波形のゼロクロス点を一致させるようにしている。
説明の簡略化を図る為、上述した音源8では、2系統のスレーブ波形発生部を具備するものとして説明したが、以下に述べるCPU4の動作は、音源8がN系統(Nは2以上)のスレーブ波形発生部を備えたものを想定している。したがって、本実施形態では、RAM7が図23に図示する主要レジスタ構成を具備する。
図23に示すRAM7の主要レジスタ構成が前述した第1実施形態(図2参照)と相違する点は、ピッチ変化幅BR_S、粗チューニング値CT_S、精チューニング値FT_S、スレーブ波形レベルLevel_S、スレーブ波形番号WF_Sおよびスレーブ波形テーブル先頭アドレスWT_Sが、それぞれN系統のスレーブ波形発生部に対応した[1]〜[N]の配列要素を備えると共に、N系統のスレーブ波形発生部の起動順序を指定する起動順序ORD[1]〜[N]を備えることにある。以下、こうした第4実施形態のスイッチ処理およびオシレータ設定処理の各動作について図24〜図25を参照して説明する。
前述した第1実施形態と同様にメインルーチンのステップSA2を介して第2実施形態によるスイッチ処理が実行されると、CPU4は操作されるスイッチ種に対応した処理を実行する。以下では、マスター波形選択スイッチ操作、スレーブ波形選択スイッチ操作およびスレーブ起動順序設定スイッチ操作が行われた場合の各動作を述べる。
マスター波形選択スイッチ操作が行われると、ステップSK1の判断結果が「YES」になり、ステップSK2に進む。ステップSK2では、マスター波形選択スイッチ操作で選択されたマスター波形の形状を指定する波形番号をレジスタWF_Mにストアする。また、ステップSK2では、波形番号WF_Mで指定される形状のマスター波形を発生させる波形テーブルの先頭アドレスをレジスタWT_Mにストアする。さらに、ステップSK2では、波形番号WF_Mで指定される波形テーブルのテーブルサイズをレジスタWTS_Mにストアする。加えて、ステップSK2では、アドレス比較器202(図21参照)に波形テーブル先頭アドレスWT_Mをセットした後、後述のステップSK7に処理を進める。
スレーブ波形選択スイッチ操作が行われると、ステップSK3の判断結果が「YES」になり、ステップSK4に進む。ここで、n番目(1≦n≦N)のスレーブ波形発生部が選択されているものとする。ステップSK4では、起動順序ORD[1]〜[N]に従って起動された各スレーブ波形発生部のパラメータとして、スレーブ波形選択スイッチ操作で選択されたスレーブ波形の形状を指定する波形番号をレジスタWF_S[n]にストアする。また、ステップSK4では、波形番号WF_S[n]で指定される形状のスレーブ波形を発生させる波形テーブルの先頭アドレスをレジスタWT_S[n]にストアする。さらに、ステップSK4では、起動順序ORD[1]〜[N]に従って起動されたスレーブ波形発生部のアドレス発生器に波形テーブル先頭アドレスWT_S[n]をセットした後、後述のステップSK7に処理を進める。
スレーブ起動順序設定スイッチ操作が行われると、ステップSK5の判断結果が「YES」になり、ステップSK6に進み、当該スイッチ操作で設定されるスレーブ波形発生部[1]〜[N]の起動順序をレジスタORD[1]〜[N]に登録すると共に、レジスタORD[1]〜[N]に登録された起動順序をアドレス比較器202にセットする。これにより、アドレス比較器202は、アドレス発生器201が波形一周期分の読み出しアドレスを発生し終えて先頭アドレスに復帰する毎に、N系統のスレーブ波形発生部[1]〜[N]を順番に選択する。
次に、図25を参照して第4実施形態によるオシレータ設定処理の動作を説明する。前述の第1実施形態と同様、鍵盤処理のステップSC4(図10参照)又はベンダ処理のステップSE5(図12参照)を介して第4実施形態によるオシレータ設定処理が実行されると、CPU4は図25に示すステップSL1に処理を進め、ベンダホイール3の回動操作で発生するベンダ装置等に基づきレジスタPitchの値を修正して修正ピッチP_Mを発生する。
具体的には、レジスタBenderに格納されるベンダ操作値を、ベンダ操作値に対応するマスター波形のピッチ変化幅BR_M、マスター波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_M、マスター波形のピッチをセント単位でチューニングする精チューニング値FT_Mにて補正し、補正されたベンダ操作値をレジスタPitchに加算して修正ピッチP_Mを発生する。
すなわち、上記ステップSL1と同様、レジスタBenderに格納されるベンダ操作値を、ベンダ操作値に対応するスレーブ波形のピッチ変化幅BR_S[n]、スレーブ波形のピッチを半音(100セント)単位でチューニングする粗チューニング値CT_S[n]およびスレーブ波形のピッチをセント単位でチューニングする精チューニング値FT_S[n]にて補正し、補正されたベンダ操作値をレジスタPitchに加算してピッチP_S[n]を発生する。
次いで、ステップSL4では、上記ステップSL3にて発生したピッチP_S[n]を、対応するスレーブ発振器に設定して本処理を終える。これにより、N系統のスレーブ波形発生部[1]〜[N]がそれぞれ備える各スレーブ発振器は、CPU4から供給されるピッチP_S[n]に応じた周波数のスレーブクロックSCを発生する。
なお、第4実施形態の動作では、N系統のスレーブ波形発生部[1]〜[N]を同時に起動させるようにしたが、これに限らず、発生する楽音のピッチPitchに応じて、起動させるスレーブ波形発生部の系統数を可変させる態様としても構わない。
2 スイッチ部
3 ベンダホイール
4 CPU
5 表示部
6 ROM
7 RAM
8 音源
9 D/A変換器
10 サウンドシステム
100 電子楽器
Claims (4)
- 発生すべき音高に対応したマスター用読み出し速度に基づき、波形一周期終了時にゼロクロス点を有するマスター波形を発生するマスター波形発生手段と、
波形一周期を第1および第2の波形区間に区分けしておき、第1の波形区間では発生すべき音高に対応したスレーブ用読み出し速度に基づき、波形一周期終了時にゼロクロス点を有する第1のスレーブ波形を発生し、第2の波形区間では当該スレーブ用読み出し速度を変化させることにより、波形一周期終了時のゼロクロス点が前記マスター波形一周期終了時のゼロクロス点と一致する第2のスレーブ波形を発生するスレーブ波形発生手段と、
前記第1及び第2のスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段と
を具備することを特徴とする波形発生装置。 - 発生すべき音高に対応したマスター用読み出し速度に基づき、波形一周期終了時にゼロクロス点を有するマスター波形を発生するマスター波形発生手段と、
前記マスター波形の一周期の期間内に、発生すべき音高に対応したスレーブ用読み出し速度を変化させることにより、波形一周期終了時のゼロクロス点が前記マスター波形一周期終了時のゼロクロス点と一致するスレーブ波形を発生するスレーブ波形発生手段と、
前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成手段と
を具備することを特徴とする波形発生装置。 - 発生すべき音高に対応したマスター用読み出し速度に基づき、波形一周期終了時にゼロクロス点を有するマスター波形を発生するマスター波形発生処理と、
波形一周期を第1および第2の波形区間に区分けしておき、第1の波形区間では発生すべき音高に対応したスレーブ用読み出し速度に基づき、波形一周期終了時にゼロクロス点を有する第1のスレーブ波形を発生し、第2の波形区間では当該スレーブ用読み出し速度を変化させることにより、波形一周期終了時のゼロクロス点が前記マスター波形一周期終了時のゼロクロス点と一致する第2のスレーブ波形を発生するスレーブ波形発生処理と、
前記第1及び第2のスレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理と
をコンピュータで実行させることを特徴とする波形発生処理プログラム。 - 発生すべき音高に対応したマスター用読み出し速度に基づき、波形一周期終了時にゼロクロス点を有するマスター波形を発生するマスター波形発生処理と、
前記マスター波形の一周期の期間内に、発生すべき音高に対応したスレーブ用読み出し速度を変化させることにより、波形一周期終了時のゼロクロス点が前記マスター波形一周期終了時のゼロクロス点と一致するスレーブ波形を発生するスレーブ波形発生処理と、
前記スレーブ波形と前記マスター波形とを合成して楽音波形を形成する波形合成処理と
をコンピュータで実行させることを特徴とする波形発生処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004267840A JP4232203B2 (ja) | 2004-09-15 | 2004-09-15 | 波形発生装置および波形発生処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004267840A JP4232203B2 (ja) | 2004-09-15 | 2004-09-15 | 波形発生装置および波形発生処理プログラム |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008273695A Division JP2009042785A (ja) | 2008-10-24 | 2008-10-24 | 波形発生装置および波形発生処理のプログラム |
JP2008273694A Division JP4479847B2 (ja) | 2008-10-24 | 2008-10-24 | 波形発生装置および波形発生処理のプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006084611A JP2006084611A (ja) | 2006-03-30 |
JP4232203B2 true JP4232203B2 (ja) | 2009-03-04 |
Family
ID=36163198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004267840A Expired - Fee Related JP4232203B2 (ja) | 2004-09-15 | 2004-09-15 | 波形発生装置および波形発生処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4232203B2 (ja) |
-
2004
- 2004-09-15 JP JP2004267840A patent/JP4232203B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006084611A (ja) | 2006-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06195073A (ja) | 効果付与装置 | |
JPH027078B2 (ja) | ||
JP4702392B2 (ja) | 共鳴音発生装置および電子楽器 | |
JP6252642B1 (ja) | 効果付与装置、効果付与方法、プログラムおよび電子楽器 | |
JP2002366145A (ja) | 楽音生成装置 | |
JPS5925235B2 (ja) | 電子楽器 | |
JP4232203B2 (ja) | 波形発生装置および波形発生処理プログラム | |
JP4479847B2 (ja) | 波形発生装置および波形発生処理のプログラム | |
JP2009042785A (ja) | 波形発生装置および波形発生処理のプログラム | |
JP4561531B2 (ja) | 楽音制御装置および楽音制御処理のプログラム | |
JP6528752B2 (ja) | 楽音再生装置、楽音再生方法、プログラムおよび電子楽器 | |
JP6575585B2 (ja) | 効果付与装置、効果付与方法、プログラムおよび電子楽器 | |
JP5169753B2 (ja) | 共鳴音付加装置および電子楽器 | |
JP4088947B2 (ja) | 楽音発生装置 | |
JP2007140000A (ja) | 歌唱採点装置および歌唱採点処理のプログラム | |
JP5995054B2 (ja) | 波形発生装置、プログラム、波形発生方法および電子楽器 | |
JP4998565B2 (ja) | 歌唱採点装置および歌唱採点処理のプログラム | |
JP2018159734A (ja) | 音色制御装置、音色制御方法、プログラムおよび電子楽器 | |
JP3909693B2 (ja) | 楽音変調装置、楽音変調方法および楽音変調プログラム | |
JP2684833B2 (ja) | 楽音信号発生装置 | |
JP5035388B2 (ja) | 共鳴音発生装置および電子楽器 | |
JPH08211873A (ja) | 効果付与装置 | |
JP5099146B2 (ja) | 歌唱採点装置および歌唱採点処理のプログラム | |
JP4548327B2 (ja) | 楽音制御装置および楽音制御処理のプログラム | |
JP2684791B2 (ja) | 楽音制御用波形信号発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081024 |
|
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: 20081117 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081130 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4232203 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131219 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |