(57)【要約】【課題】低いサンプリングレートであってもエイリアスノイズが少なく、高域特性に優れた良質な矩形波を生成できる楽音発生装置を提供すること。【解決手段】本発明の楽音発生装置は、矩形波周期に依存しない過渡部と発生すべき楽音の音高に応じて可変長の平坦部とに基づいて、発生すべき楽音の音高に応じた目的矩形波を生成する。よって、低いサンプリングレートであっても、エイリアスノイズが少なく、高域特性に優れた良質な目的矩形波を生成することができるという効果がある。【選択図】        図７
2005003942.tif 000002
【特許請求の範囲】
【請求項１】
周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段と、
発生すべき楽音の音高に応じた長さの平坦部を形成する平坦部形成手段と、
その平坦部形成手段により形成される平坦部と前記記憶手段に記憶される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成手段とを備えていることを特徴とする楽音発生装置。
【請求項２】
周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段から読み出すことにより矩形波の過渡部を形成する過渡部形成過程と、
発生すべき楽音の音高に応じて矩形波の平坦部を形成する平坦部形成過程と、その平坦部形成過程により形成される平坦部と前記過渡部形成過程により形成される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成過程とを含むことを特徴とする楽音発生方法。
【請求項３】
前記矩形波生成過程は、前記記憶手段から読み出される過渡部のサンプリング値が所定のサンプリング周期に対応する時刻のサンプリング値となる理想矩形波を形成し得る読み出しテーブルを作成するテーブル作成過程と、そのテーブル作成手段により作成される読み出しテーブルに基づいて、発生すべき音高に応じた周期の目的矩形波を生成する目的矩形波生成過程とを含むことを特徴とする請求項２記載の楽音発生方法。
【請求項４】
前記目的矩形波生成過程は、前記テーブル作成手段により作成される読み出しテーブルに基づいて、前記目的矩形波の周期が発生すべき音高に対応する周期となるように、所定のサンプリング周期に対応する時刻のサンプリング値を補間により取得する補間過程を含むことを特徴とする請求項３記載の楽音発生方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】本発明は低いサンプリングレートであってもエイリアスノイズの少ない良質な信号（矩形波）を生成する楽音発生装置に関するものである。
【０００２】
【従来の技術】デジタル信号処理を用いて楽音波形として矩形波を生成する場合、最大値及び最小値の２値から矩形波を生成すると、エイリアスノイズ（折り返しノイズ）により、生成した矩形波のピッチが定まらなかったり、Ｓ／Ｎ比（信号対雑音比）が小さくなったり等、音楽的に好ましくない信号が得られる。そこで、音楽的に良質な信号を得るために、サンプリングレートを上げてサンプリングを行い、エイリアスノイズが人間の聴覚に影響しないようにするなどの対策がなされている。しかし、サンプリングレートを上げると、波形メモリのメモリサイズを大きくする必要が生じたり、時間あたりの処理量が増えるために同時発音数が減少するという弊害が生じる。
【０００３】
そのような弊害を回避するために、特公昭５９−１７８３８号公報には、１の鍵の押鍵に基づいて、その鍵の周波数情報Ｆに応じたアドレス信号の整数部によって指示される各基本サンプル点において隣接する基本サンプル点間を演算で内挿補間することによって、波形メモリのメモリサイズが小さくても量子化ノイズの少ない波形を生成できる電子楽器の波形発生装置が記載されている。
【０００４】
【特許文献１】特公昭５９−１７８３８号公報（例えば、請求項１）
【０００５】
【発明が解決しようとする課題】しかしながら、特許文献１に記載される波形発生装置は、波形メモリに予め記憶される波形振幅値を、押鍵された鍵に対応する周波数情報Ｆに応じた読み出しアドレスで読み出して基本サンプル点とするため、音高の低い波形（周期の長い波形）においては高域成分が失われてしまうという問題点があった。
【０００６】
本発明は、上述した問題点を解決するためになされたものであり、低いサンプリングレートであってもエイリアスノイズが少なく、高域成分に優れた良質な信号（矩形波）を生成できる楽音発生装置及び楽音発生方法を提供することを目的としている。
【０００７】
【課題を解決するための手段】この目的を達成するために、請求項１記載の矩形波発生装置は、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段と、発生すべき楽音の音高に応じた長さの平坦部を形成する平坦部形成手段と、その平坦部形成手段により形成される平坦部と前記記憶手段に記憶される過渡部とに基づいて、前記発生すべき楽音の音高に応じた矩形波を生成する矩形波生成手段とを備えている。
【０００８】
この請求項１記載の矩形波発生によれば、記憶手段に記憶される周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部と平坦部形成手段により発生すべき楽音の音高に応じた長さに形成される平坦部とに基づいて、矩形波生成手段により、該発生すべき楽音の音高に応じた矩形波が生成される。
【０００９】
請求項２記載の矩形波発生方法は、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段から読み出すことにより矩形波の過渡部を形成する過渡部形成過程と、発生すべき楽音の音高に応じて矩形波の平坦部を形成する平坦部形成過程と、その平坦部形成過程により形成される平坦部と前記過渡部形成過程により形成される過渡部とに基づいて、前記発生すべき楽音の音高に応じた目的矩形波を生成する矩形波生成過程とを含む。
【００１０】
この請求項２記載の矩形波発生方法によれば、過渡部形成過程により、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する記憶手段から読み出すことにより矩形波の過渡部が形成され、平坦部形成過程により、発生すべき楽音の音高に応じた矩形波の平坦部が形成される。過渡部形成過程及び平坦部形成過程により形成される過渡部及び平坦部に基づいて、矩形波生成過程により、前記発生すべき楽音の音高に応じた目的矩形波が生成される。
【００１１】
請求項３記載の矩形波方法は、請求項２記載の矩形波発生方法において、前記矩形波生成過程は、前記記憶手段から読み出される過渡部のサンプリング値が所定のサンプリング周期に対応する時刻のサンプリング値となる理想矩形波を形成し得る読み出しテーブルを作成するテーブル作成過程と、そのテーブル作成手段により作成される読み出しテーブルに基づいて、発生すべき音高に応じた周期の目的矩形波を生成する目的矩形波生成過程とを含む。
【００１２】
請求項４記載の矩形波発生方法は、請求項３記載の矩形波発生方法において、前記目的矩形波生成過程は、前記テーブル作成手段により作成される読み出しテーブルに基づいて、前記目的矩形波の周期が発生すべき音高に対応する周期となるように、所定のサンプリング周期に対応する時刻のサンプリング値を補間により取得する補間過程を含む。
【００１３】
【発明の効果】本発明の楽音発生装置及び楽音発生方法によれば、記憶手段に記憶される周波数帯域の制限された矩形波の周期に依存しない一定形状の過渡部と平坦部形成手段により発音すべき楽音の音高に応じて形成される平坦部とに基づいて、発音すべき楽音の音高に応じた矩形波（目的矩形波）が生成される。よって、低いサンプリングレートであっても、エイリアスノイズが少なく高域特性に優れた良質な目的矩形波を生成することができるという効果がある。
【００１４】
【発明の実施の形態】以下、本発明の好ましい実施例について、添付図面を参照して説明する。図１は、本発明の第１実施例における楽音発生装置１の電気的構成を概略的に示したブロック図である。
【００１５】
楽音発生装置１は、ＣＰＵ１０と、ＲＯＭ１１と、ＲＡＭ１２と、複数の鍵から構成される鍵盤１３と、これらの構成間を接続するバスライン１４と、ＣＰＵ１０により生成されたデジタル矩形波をアナログ信号に変換するＤ／Ａコンバータ（Ｄ／Ａ）１５と、Ｄ／Ａ１５により変換されたアナログ信号を増幅するアンプ１６と、アンプ１６により増幅されたアナログ信号を放音するスピーカ１７とを主に搭載している。
【００１６】
ＣＰＵ１０は、楽音発生装置１全体を制御する中央演算処理装置である。ＣＰＵ１０は、鍵盤１３を構成する鍵の押鍵が検出されると、ＲＯＭ１１に記憶される制御プログラムにより、その鍵が押鍵されている間、押鍵された鍵番号に応じた周波数の矩形波（目的矩形波）を生成する（図５及び図６参照）。
【００１７】
ＲＯＭ１１には、ＣＰＵ１０により実行される各種の制御プログラムや、その実行の際に参照される固定値データが格納されている。また、後述する矩形波読出処理（図６）において参照される過渡波形テーブルは、このＲＯＭ１１に予め記憶されている。ＲＡＭ１２は、ＲＯＭ１１内に記憶される制御プログラムの実行に当たって各種のデータなどを記憶するランダムにアクセスできる書き換え可能なメモリである。
【００１８】
次に、図２及び図３のフローチャートと図４から図７とを参照して、第１実施例の楽音発生装置１で行われる目的矩形波の生成について説明する。図２は、楽音発生装置１のＣＰＵ１０において実行される第１実施例の矩形波生成処理のフローチャートである。この矩形波生成処理プログラムは、鍵盤１３の押鍵がＣＰＵ１０により検出されると起動し、その鍵が離鍵されるまで、その鍵番号に応じた周波数の矩形波の生成及び出力を実行する。
【００１９】
鍵盤１３の鍵の押鍵に伴って、この矩形波生成処理が起動すると、先ず、押鍵された鍵に対応する周期の矩形波（目的矩形波）の１周期あたりのサンプリング値の数（目的矩形波サンプル数）を下記式により計算する（Ｓ１）：
目的矩形波サンプル数＝サンプリング周波数／目的矩形波周波数  …（１）なお、目的矩形波周波数は、目的矩形波の周期の逆数である。また、サンプリング周波数は、１秒あたりのサンプル数（例えば、４４．１ｋＨｚ）である。
【００２０】
Ｓ１の処理において、目的矩形波サンプル数が計算されると、そのサンプル数以下であって、且つ、目的矩形波サンプル数に最も近い偶数のサンプリング値の数を、理想矩形波の１周期あたりのサンプル数（理想矩形波サンプル数）として計算する（Ｓ２）。ここで、Ｓ２においては、下記式に基づいて理想矩形波サンプル数が計算される：
理想矩形波サンプル数＝［（目的矩形波の周期／２）の整数部］×２  …（２）
【００２１】
Ｓ２の処理によれば、例えば、図４に示すように、目的矩形波２０の１周期あたりのサンプル数が１５．５サンプルである場合（図４（ａ））、理想矩形波３０のサンプル数は１４サンプルであると計算される。Ｓ２の処理で計算されたサンプル数で過不足なく表される理想矩形波（図４（ｂ））はエイリアスのない矩形波である。なお、本実施例では、理想矩形波サンプル数を、目的矩形波のサンプル数以下、且つ、最も近い偶数であるとしたが、理想矩形波のサンプル数はこれに限定されず、エイリアスのない矩形波として適切なサンプル数（周期）であればよい。なお、理想矩形波の周期としては、好ましくは、目的矩形波の周期の０．８〜１．２倍程度であり、より好ましくは、０．９〜１．１倍程度である。
【００２２】
Ｓ２の処理後、アドレス変換テーブル５０（図６参照）を作成する（Ｓ３）。
ここで、「アドレス変換テーブル」とは、サンプリング周期毎に基準速度（基準歩進速度）で更新されるアドレスポインタ（歩進アドレス）に基づいて過渡波形テーブル（例えば、過渡波形テーブル４０）のデジタル波形振幅値を読み出し得るように、その過渡波形テーブルの読み出しアドレスと該アドレスポインタとを相関づけたテーブルである。
【００２３】
ここで、図５を参照して、過渡波形テーブル４０について説明する。「過渡波形テーブル」とは、周波数帯域が制限された矩形波（理想矩形波、目的矩形波）の周期に依存せず一定である過渡部の形状を記憶するテーブルであり、予めＲＯＭ１１に記憶されているテーブルである。
【００２４】
本実施例の過渡波形テーブル４０は、合計９サンプルのサンプリング値（デジタル波形振幅値）が読み出しアドレス「０」〜「８」に対応づけられて記憶されている。なお、帯域制限された矩形波は、本来、変化点においてリンギングが発生するが、本実施例の過渡波形テーブル４０には、そのようなリンギングを簡略化した波形形状が記憶されている。
【００２５】
この過渡波形テーブル４０において、読み出しアドレス「２」及び「６」に対応するサンプリング点は、矩形波（理想矩形波、目的矩形波）の過渡部と平坦部との連結点のデジタル波形振幅値に相当する。即ち、読み出しアドレス「２」及び「６」に対応するサンプリング点は、矩形波の平坦部のデジタル波形振幅値を表す。アドレス変換テーブル５０では、読み出しアドレス「２」及び「６」に対応するサンプリング点が理想矩形波の周期に応じて繰り返し読み出されるように補間されている。それによって、アドレス変換テーブル５０に基づいて過渡波形テーブル４０を読んだ場合に、矩形波（理想矩形波、目的矩形波）の平坦部が所望の理想矩形波の周期に応じた長さで生成される。即ち、本実施例の楽音発生装置１によれば、ＲＯＭ１１に予め記憶される過渡波形テーブル４０に基づいて、所望する周期の矩形波（理想矩形波、目的矩形波）を生成することができる。
【００２６】
ここで、第１実施例において、理想矩形波の周期に応じて繰り返される（補間される）サンプリング値の数（繰り返しサンプル数）は、「（理想矩形波サンプル数−６）／２」という式から計算される。従って、本実施例の場合、平坦部の繰り返しサンプル数は「（１４−６）／２＝４サンプル」と計算される。この計算に基づいて、アドレス変換テーブル５０では、読み出しアドレス「２」及び「６」のサンプリング点が、それぞれ、４サンプルとなるように補間されている（区間５１及び区間５２）。このアドレス変換テーブル５０をサンプリング周期毎に基準速度で読み出すと、区間５１及び区間５２に基づいて、それぞれ、理想矩形波３０における第１平坦部３１及び第２平坦部３２が生成される。このように、本実施例の楽音発生装置１では、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部を記憶する過渡波形テーブルを基に、平坦部を補間（延長）することにより理想矩形波を生成するので、低いサンプリングレートであっても、高域特性の劣化の少ない（高域特性に優れた）理想矩形波を生成することができる。
【００２７】
なお、Ｓ３の処理において、アドレス変換テーブル５０を作成する際、理想矩形波３０の理想矩形波サンプル数が、過渡波形テーブルを構成するサンプリング値の数（本実施例では９サンプル）より小さい場合は、理想矩形波３０の理想矩形波サンプル数を、過渡波形テーブルを構成するサンプリング値の数に等しい数とする。
【００２８】
図２に戻って説明する。Ｓ３の処理後、後述する矩形波読出処理（Ｓ４）を実行する。Ｓ４の処理後、この矩形波生成処理を終了する。
【００２９】
次に、図３のフローチャートを参照して、矩形波読出処理（Ｓ４）について説明する。この矩形波読出処理（Ｓ４）は、図７に示すように、Ｓ３の処理により作成されたアドレス変換テーブル５０に基づいて目的矩形波２０を生成するための処理である。
【００３０】
矩形波読出処理（Ｓ４）では、先ず、アドレスポインタ（歩進アドレス）の値を「０」クリアする（Ｓ１１）。Ｓ１１の処理後、サンプリング周期に達したか否かを確認する（Ｓ１２）。Ｓ１２の処理で確認した結果、サンプリング周期に達していなければ（Ｓ１２：Ｎｏ）、Ｓ１２の処理に戻り、サンプリング周期に達するのを待機する。
【００３１】
一方、Ｓ１２の処理において、サンプリング周期に達したことが確認された場合（Ｓ１２：Ｙｅｓ）、現在のアドレスポインタを、Ｓ３の処理で作成したアドレス変換テーブル５０に従って読み出しアドレスに変換する（Ｓ１３）。Ｓ１３の処理後、変換により得られた読み出しアドレスに従って、過渡波形テーブル４０の信号値（デジタル波形振幅値）を波形データのサンプリング点として読み出す（Ｓ１４）。なお、Ｓ１３の処理により得られた読み出しアドレスが整数値でない場合、その整数値でない読み出しアドレスに相当するデジタル波形振幅値は、過渡波形テーブル４０の対応する読み出しアドレス区間に対して比例計算を行うことにより算出する。Ｓ１４の処理によって読み出された信号値に対し、理想矩形波３０を参照して補間を施し、Ｄ／Ａ１５へ出力する（Ｓ１５）。
【００３２】
Ｓ１５の処理後、現在押鍵中の鍵が離鍵されたか否かを確認する（Ｓ１６）。
Ｓ１６の処理において、離鍵が確認されなかった場合（Ｓ１６：Ｎｏ）、アドレスポインタを、基準速度に［（理想矩形波の周期）／（目的矩形波の周期）］を乗じた値だけ進める（Ｓ１７）。
【００３３】
Ｓ１７の処理により、理想矩形波３０を読み出す速度（基準速度）の［（理想矩形波３０の周期）／（目的矩形波２０の周期）］倍の読み出し速度でアドレスポインタが更新される。ここで、理想矩形波３０は、目的矩形波２０の周期（サンプル数）以下、且つ、目的矩形波の周期に最も近い偶数のサンプリング値の数に相当する周期を有する。従って、Ｓ１７の処理では、アドレス変換テーブルに基づいて理想矩形波を生成するための基準読み出し速度（基準速度）よりやや遅い速度で、理想矩形波を読み出していることになる。このように、本実施例の楽音発生装置１は、エイリアスのない理想矩形波を、基準速度から大きく速度を変えることなく読み出すので、エイリアスノイズが少なく、また、高域特性の劣化の少ない矩形波を生成することができる。
【００３４】
Ｓ１７の処理後、現在のアドレスポインタが理想矩形波の周期（理想矩形波サンプル数）に達したか否かを確認する（Ｓ１８）。Ｓ１８の処理で確認した結果、現在のアドレスポインタの値が理想矩形波の周期に達していなければ、（Ｓ１８：Ｎｏ）、Ｓ１２の処理へ戻り、Ｓ１７の処理で更新されたアドレスポインタの値に基づいて、Ｓ１３〜Ｓ１９の処理を行う。
【００３５】
また、Ｓ１８の処理で確認した結果、現在のアドレスポインタの値が理想矩形波の周期に達している場合（Ｓ１８：Ｙｅｓ）、現在のアドレスポインタ（歩進アドレス）から理想矩形波サンプル数（本実施例では「１４」）を減じた値を、新たにアドレスポインタに設定し（Ｓ１９）、Ｓ１２の処理へ戻り、Ｓ１９の処理で設定されたアドレスポインタに基づいて、Ｓ１３〜Ｓ１９の処理を行う。
【００３６】
一方、Ｓ１６の処理で確認した結果、離鍵が確認されれば（Ｓ１６：Ｙｅｓ）、この矩形波読出処理（Ｓ４）を終了する。
【００３７】
上述のように、第１実施例の楽音発生装置１では、押鍵された鍵に対応する周期を有する目的矩形波を生成する場合、その目的矩形波の周期より短く、且つ、該目的矩形波に最も近い偶数の周期を有するエイリアスのない理想矩形波を基準して生成される。また、この理想矩形波は、周波数帯域が制限された矩形波の周期に依存しない一定形状の過渡部と押鍵された鍵に対応する目的矩形波の周期に応じて可変長の平坦部とから構成され、該過渡部を構成する各サンプリング値（デジタル波形振幅値）の間は予め補間されてＲＯＭ１１に記憶されている。更に、目的矩形波の生成は、基準速度（基準歩進速度）で更新されるアドレスポインタ（歩進アドレス）を読み出しアドレスに変換すると理想矩形波を生成するようなアドレス変換テーブルを、基準歩進速度よりやや遅い歩進速度でアドレスポイント（歩進アドレス）を更新することによって行われるので、高域特性に優れた目的矩形波を得ることができる。
【００３８】
次に、図８から図１０を参照して、第２実施例について説明する。上記第１実施例では、アドレス変換テーブルに従って読み出された過渡波形テーブル４０のデジタル波形振幅値に対し、所定の補間処理を施した後、出力信号として出力した。これに対して、第２実施例では、サンプリング値の間が予め２点（直線）補間された過渡波形テーブル８０を用いて楽音信号の生成を行う。なお、前記した第１実施例と同一の部分には同一の符号を付して、その説明は省略する。
【００３９】
図８は、第２実施例の過渡波形テーブル８０を模式的に示す図である。過渡波形テーブル８０もまた、前記第１実施例の過渡波形テーブル４０と同様に、周波数帯域が制限された矩形波の周期に依存せず一定である過渡部の形状を記憶するテーブルである。第２実施例の過渡波形テーブル８０は、合計１１サンプルのデジタル波形振幅値（サンプリング値）が読み出しアドレス「０」〜「１０Ｎ」に対応づけれられて記憶されている。また、この過渡波形テーブル８０は、隣接するサンプリング値の間が２点補間（直線補間）されると共に、Ｎ倍にオーバーサンプリングされている。なお、帯域制限された矩形波は、本来、変化点においてリンギングが発生するが、本実施例の過渡波形テーブル８０には、そのようなリンギングを簡略化した波形形状が記憶されている。また、この過渡波形テーブル８０はＲＯＭ１１に予め記憶されている。
【００４０】
この過渡波形テーブル８０において、読み出しアドレス「２Ｎ」と「３Ｎ」と「７Ｎ」と「８Ｎ」とに対応するサンプリング点は、矩形波（理想矩形波、目的矩形波）の過渡部と平坦部との連結点のデジタル振幅値に相当する。即ち、区間「２Ｎ〜３Ｎ」及び区間「７Ｎ〜８Ｎ」は矩形波（理想矩形波及び目的矩形波）の平坦部に相当する。
【００４１】
次に、図９を参照して、第２実施例のアドレス変換テーブル９０について説明する。アドレス変換テーブル９０において、第１実施例と同様に、理想矩形波７０の平坦部（第１平坦部７２及び第２平坦部７４）は、過渡波形テーブル８０の対応する部分を補間して延長することにより、理想矩形波７０の周期に応じた長さに生成される。つまり、アドレス変換テーブル９０では、過渡波形テーブル８０における区間「２Ｎ〜３Ｎ」及び区間「７Ｎ〜８Ｎ」を繰り返し読み出すことによって理想矩形波７０の平坦部（第１平坦部７２及び第２平坦部７４）が生成されるように構成されている。具体的には、アドレス変換テーブル９０がサンプリング周期毎に基準速度で読み出された場合に、区間９２及び区間９４により、それぞれ、理想矩形波７０における第１平坦部７２及び第２平坦部７４が生成される（図９参照）。
【００４２】
ここで、アドレス変換テーブル９０において、理想矩形波７０の平坦部（第１平坦部７２及び第２平坦部７４）を生成するために補間される（繰り返される）サンプル数「Ｂ」は下記式により計算される：
Ｂ＝［（理想矩形波サンプル数−８）／２］×Ｎ  …（３）
【００４３】
第２実施例では、楽音発生装置１において生成すべき目的矩形波６０の１周期あたりのサンプル数が１５．５サンプルであるとする。従って、式（２）によれば理想矩形波サンプル数は１４サンプルであるので、平坦部の繰り返しサンプル数「Ｂ」は「［（１４−８）／２］×Ｎ＝３Ｎ」と計算される。
【００４４】
繰り返しサンプル数「Ｂ」を考慮すると、理想矩形波７０における５つの領域（第１過渡部７１、第１平坦部７２、第２過渡部７３、第２平坦部７４、第３過渡部７５）はそれぞれ以下の区間に相当する：
第１過渡部７１    ０〜２Ｎ                  （０〜２Ｎ）
第１平坦部７２    ２Ｎ〜２Ｎ＋Ｂ            （２Ｎ〜５Ｎ）
第２過渡部７３    ２Ｎ＋Ｂ〜Ａ−２Ｎ−Ｂ    （５Ｎ〜９Ｎ）
第２平坦部７４    Ａ−２Ｎ−Ｂ〜Ａ−２Ｎ    （９Ｎ〜１２Ｎ）
第３過渡部７５    Ａ−２Ｎ〜Ａ              （１２Ｎ〜１４Ｎ）
なお、「Ａ」は理想矩形波サンプル数にＮを乗じた数を表す。また、括弧内は、本実施例の場合（理想矩形波サンプル数が１４サンプルである場合）の各領域を示す。
【００４５】
上記５つの領域に対し、アドレスポインタ（歩進アドレス）「ｘ」と読み出しアドレス（読出ＡＤ）との関係を下記式で表すことにより、アドレス変換テーブル９０が作成される：
０〜２Ｎ          読出ＡＤ＝ｘ  …（４）
２Ｎ〜５Ｎ        読出ＡＤ＝［（ｘ−２Ｎ）／Ｂ］＋２Ｎ  …（５）
５Ｎ〜９Ｎ        読出ＡＤ＝（ｘ−２Ｎ−Ｂ）＋３Ｎ  …（６）
９Ｎ〜１２Ｎ      読出ＡＤ＝［（ｘ−Ａ＋２Ｎ＋Ｂ）／Ｂ］＋７Ｎ  …（７）
１２Ｎ〜１４Ｎ    読出ＡＤ＝（ｘ−Ａ＋２Ｎ）＋８Ｎ  …（８）
なお、理想矩形波７０の理想矩形波サンプル数が、過渡波形テーブルを構成するサンプリング値の数（本実施例では１１サンプル）より小さい場合は、理想矩形波７０の理想矩形波サンプル数を、過渡波形テーブルを構成するサンプリング値の数に等しいものとする。
【００４６】
アドレス変換テーブル９０が作成されると、図１０に示すように、サンプリング周期毎に、理想矩形波を読み出す基準歩進速度の［（理想矩形波の周期）／（目的矩形波の周期）］倍の歩進速度で更新されるアドレスポインタ（初期値「０」）を読み出しアドレスに変換する。次いで、変換された読み出しアドレスに基づいて過渡波形テーブル８０のサンプリング値（デジタル波形振幅値）を目的矩形波６０のサンプリング値として読む。そして、隣接するサンプリング値間に対し、上記式（４）〜（８）に基づいて補間を施しながら、Ｄ／Ａ１５へ出力する。
【００４７】
上述のように、第２実施例では、隣接する２点のサンプリング値間に対し直線補間が施されていると共に、その隣接する２点のサンプリング間がＮ倍にオーバーサンプリングされた過渡波形テーブル８０が予めＲＯＭ１１に記憶されている。よって、低いサンプリングレートであっても、そのＮ倍のサンプリングレートでサンプリングした場合と同等の良質な目的矩形波を生成することができる。
【００４８】
次に、図１１から図１３を参照して、第３実施例について説明する。上記第２実施例では、サンプリング値間が予め２点（直線）補間された過渡波形テーブル８０を用いて目的矩形波６０を生成するよう構成した。これに対して、第３実施例では、隣接４点により予め補間された過渡波形テーブル１２０を用いて目的矩形波１００の生成を行う。なお、前記した第２実施例と同一の部分には同一の符号を付して、その説明は省略する。
【００４９】
図１１は、第３実施例の過渡波形テーブル１２０を模式的に示す図である。過渡波形テーブル１２０もまた、周波数帯域が制限された矩形波の周期に依存せず一定である過渡部の形状を記憶するテーブルである。第３実施例の過渡波形テーブル１２０は、合計１５サンプルのデジタル波形振幅値（サンプリング値）が読み出しアドレス「０」〜「１４Ｎ」に対応づけられて記憶されている。また、上記第２実施例の過渡波形テーブル８０では、隣接２点による直線補間が施されていたのに対し、第３実施例の過渡波形テーブル１２０では、隣接４点による補間が施されている。更に、過渡波形テーブル１２０における隣接するサンプリング値間はＮ倍にオーバーサンプリングされている。なお、帯域制限された矩形波は、本来、変化点においてリンギングが発生するが、本実施例の過渡波形テーブル１２０には、そのようなリンギングを簡略化した波形形状が記憶されている。また、この過渡波形テーブル１２０はＲＯＭ１１に予め記憶されている。
【００５０】
この過渡波形テーブル１２０において、読み出しアドレス「３Ｎ」と「４Ｎ」と「１０Ｎ」と「１１Ｎ」とに対応するサンプリング点は、矩形波（理想矩形波、目的矩形波）の過渡部と平坦部との連結点のデジタル波形振幅値に相当する。
即ち、区間「３Ｎ〜４Ｎ」及び区間「１０Ｎ〜１１Ｎ」は矩形波（理想矩形波、目的矩形波）の平坦部に相当する。
【００５１】
次に、図１２を参照して、第３実施例のアドレス変換テーブル１３０について説明する。アドレス変換テーブル１３０において、第２実施例と同様に、理想矩形波１１０の平坦部（第１平坦部１１２及び第２平坦部１１４）は、過渡波形テーブル１２０の対応する部分を補間して延長することにより、理想矩形波１１０の周期に応じた長さに生成される。つまり、アドレス変換テーブル１３０では、過渡波形テーブル１２０における区間「３Ｎ〜４Ｎ」及び区間「１０Ｎ〜１１Ｎ」を繰り返し読み出すことによって、理想矩形波１１０の平坦部（第１平坦部１１２及び第２平坦部１１４）が生成されるように構成されている。具体的には、アドレス変換テーブル１３０がサンプリング周期毎に基準速度で読み出された場合に、区間１３２及び区間１３４により、それぞれ、理想矩形波１１０における第１平坦部１１２及び第２平坦部１１４が生成される（図１２参照）。
【００５２】
ここで、アドレス変換テーブル１３０において、理想矩形波１１０の平坦部（第１平坦部１１２及び第２平坦部１１４）を生成するために補間される（繰り返される）サンプル数「Ｃ」は下記式により計算される：
Ｃ＝［（理想矩形波サンプル数−１２）／２］×Ｎ  …（９）
【００５３】
なお、第３実施例では、楽音発生装置１において生成すべき目的矩形波１００の１周期あたりのサンプル数が２１サンプルであるとする。従って、式（２）によれば理想矩形波サンプル数は２０サンプルであるので、平坦部の繰り返しサンプル数「Ｃ」は、「［（２０−１２）／２］×Ｎ＝４Ｎ」と計算される。
【００５４】
繰り返しサンプル数「Ｃ」を考慮すると、理想矩形波１１０における５つの領域（第１過渡部１１１、第１平坦部１１２、第２過渡部１１３、第２平坦部１１４、第３過渡部１１５）は以下の区間に相当する：
第１過渡部１１１    ０〜３Ｎ                  （０〜３Ｎ）
第１平坦部１１２    ３Ｎ〜３Ｎ＋Ｃ            （３Ｎ〜７Ｎ）
第２過渡部１１３    ３Ｎ＋Ｃ〜Ａ−３Ｎ−Ｃ    （７Ｎ〜１３Ｎ）
第２平坦部１１４    Ａ−３Ｎ−Ｃ〜Ａ−３Ｎ    （１３Ｎ〜１７Ｎ）
第３過渡部１１５    Ａ−３Ｎ〜Ａ              （１７Ｎ〜２０Ｎ）
なお、「Ａ」は理想矩形波サンプル数にＮを乗じた数を表す。また、括弧内は、本実施例の場合（理想矩形波サンプル数が２０サンプルである場合）の各領域を示す。
【００５５】
上記５つの領域に対し、アドレスポインタ（歩進アドレス）「ｘ」と読み出しアドレス（読出ＡＤ）との関係を下記式で表すことにより、アドレス変換テーブル１３０を作成する：
０〜３Ｎ        読出ＡＤ＝ｘ  …（１０）
３Ｎ〜７Ｎ      読出ＡＤ＝［（ｘ−３Ｎ）／Ｃ］＋３Ｎ  …（１１）
７Ｎ〜１３Ｎ    読出ＡＤ＝（ｘ−３Ｎ−Ｃ）＋４Ｎ  …（１２）
１３Ｎ〜１７Ｎ  読出ＡＤ＝［（ｘ−Ａ＋３Ｎ＋Ｃ）／Ｃ］＋１０Ｎ  …（１３）
１７Ｎ〜２０Ｎ  読出ＡＤ＝（ｘ−Ａ＋３Ｎ）＋１１Ｎ  …（１４）
なお、理想矩形波１１０の理想矩形波サンプル数が、過渡波形テーブルを構成するサンプリング値の数（本実施例では１５サンプル）より小さい場合は、理想矩形波１１０の理想矩形波サンプル数を、過渡波形テーブルを構成するサンプリング値の数に等しいものとする。
【００５６】
アドレス変換テーブル１３０が作成されると、図１３に示すように、サンプリング周期毎に、理想矩形波を読み出す基準歩進速度の［（理想矩形波の周期）／（目的矩形波の周期）］倍の歩進速度で更新されるアドレスポインタ（初期値「０」）を読み出しアドレスに変換する。次いで、変換された読み出しアドレスに基づいて過渡波形テーブル１２０のサンプリング値（デジタル波形振幅値）を目的矩形波１００のサンプリング値として読む。そして、隣接するサンプリング値の間に対し、上記式（１０）〜（１４）に基づいて補間を施しながら、Ｄ／Ａ１５へ出力する。
【００５７】
上述のように、第３実施例では、隣接４点補間が施されていると共に、その隣接２点のサンプリング値の間がＮ倍にオーバーサンプリングされた過渡波形テーブル１２０が予めＲＯＭ１１に記憶されている。よって、低いサンプリングレートであっても、そのＮ倍のサンプリングレートでサンプリングした場合と同等の良質な目的矩形波を生成することができる。
【００５８】
なお、請求項１記載の記憶手段としては、ＲＯＭ１１に記憶される過渡波形テーブルが該当する。また、請求項１記載の過渡部形成手段としては、矩形波生成処理（図２）におけるＳ３の処理において、「第１〜第３過渡部を生成する」部分が該当する。また、請求項１記載の平坦部形成手段としては、矩形波生成処理（図２）におけるＳ３の処理において、「過渡波形テーブルにおける対応するサンプリング点を補間し第１及び第２平坦部を生成する」部分が該当する。また、請求項１記載の矩形波生成手段としては、矩形波生成処理（図２）におけるＳ３の処理において「アドレス変換テーブルを作成する」部分と矩形波読出処理（Ｓ４、図３）とが該当する。
【００５９】
請求項２記載の過渡部形成過程としては、矩形波生成処理（図２）におけるＳ３の処理において、「第１〜第３過渡部を生成する」部分が該当する。また、請求項２記載の平坦部形成手段としては、矩形波生成処理（図２）におけるＳ３の処理において、「過渡波形テーブルにおける対応するサンプリング点を補間し第１及び第２平坦部を生成する」部分が該当する。また、請求項２記載の矩形波生成過程としては、矩形波生成処理（図２）におけるＳ３の処理において「アドレス変換テーブルを作成する」部分と矩形波読出処理（Ｓ４、図３）とが該当する。
【００６０】
請求項３記載のテーブル作成過程としては、矩形波生成処理（図２）におけるＳ３の処理において「アドレス変換テーブルを作成する」部分が該当する。また、請求項３記載の目的矩形波生成過程としては、図３に示される矩形波読出処理（Ｓ４）が該当する。
【００６１】
請求項４記載の補間過程としては、矩形波読出手段（図３）におけるＳ１４の処理が該当する。
【００６２】
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定される物ではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００６３】
例えば、上記実施例では、矩形波生成処理（図２）のＳ３の処理においてアドレス変換テーブルを作成してから、そのアドレス変換テーブルを参照して目的矩形波を生成し出力するように構成したが、アドレステーブルを作成しながら目的矩形波を生成し出力するように構成してもよい。
【００６４】
また、上記実施例では、上記実施例では、過渡波形テーブルをＲＯＭ１１に記憶させるよう構成したが、ＲＡＭ１２に記憶させるよう構成してもよい。また、ＲＯＭ１１に記憶された過渡波形テーブルが、目的矩形波生成処理の際にＲＡＭ１２に一時的に記憶されるように構成してもよい。
【図面の簡単な説明】
【図１】第１実施例の楽音発生装置の電気的構成を概略的に示したブロック図である。
【図２】第１実施例の楽音発生装置のＣＰＵにより実行される矩形波生成処理のフローチャートである。
【図３】第１実施例の楽音発生装置のＣＰＵにより実行される矩形波読出処理のフローチャートである。
【図４】鍵盤の押鍵に基づいて生成される目的矩形波とその目的矩形波に対応する理想矩形波とを示す図であり、（ａ）は目的矩形波であり、（ｂ）は理想矩形波である。
【図５】第１実施例で用いられる過渡波形テーブルを模式的に示す図である。
【図６】第１実施例で作成されるアドレス変換テーブル、及び、このアドレス変換テーブルに基づいて生成される理想矩形波を模式的に示す図である。
【図７】第１実施例で作成されたアドレス変換テーブルに基づく目的矩形波の生成を説明する図である。
【図８】第２実施例で用いられる過渡波形テーブルを模式的に示す図である。
【図９】第２実施例で作成されるアドレス変換テーブル、及び、このアドレス変換テーブルに基づいて生成される理想矩形波を模式的に示す図である。
【図１０】第２実施例で作成されたアドレス変換テーブルに基づく目的矩形波の生成を説明する図である。
【図１１】第３実施例で用いられる過渡波形テーブルを模式的に示す図である。
【図１２】第３実施例で作成されるアドレス変換テーブル、及び、このアドレス変換テーブルに基づいて生成される理想矩形波を模式的に示す図である。
【図１３】第３実施例で作成されたアドレス変換テーブルに基づく目的矩形波の生成を説明する図である。
【符号の説明】
１                        楽音発生装置
１０                      ＣＰＵ（矩形波生成手段の一部）
１１                      ＲＯＭ（記憶手段の一部）
２０，６０，１００        目的矩形波
３０，７０，１１０        理想矩形波
４０，８０，１２０        過渡波形テーブル（記憶手段の一部）
５０，９０，１３０        アドレス変換テーブル
【図１】
2005003942.tif 000003
【図２】
2005003942.tif 000004
【図３】
2005003942.tif 000005
【図４】
2005003942.tif 000006
【図５】
2005003942.tif 000007
【図６】
2005003942.tif 000008
【図７】
2005003942.tif 000009
【図８】
2005003942.tif 000010
【図９】
2005003942.tif 000011
【図１０】
2005003942.tif 000012
【図１１】
2005003942.tif 000013
【図１２】
2005003942.tif 000014
【図１３】
2005003942.tif 000015