(57)【特許請求の範囲】
【請求項１】
波形情報記憶手段に記憶された波形サンプル値情報を読み出すことによって楽音信号を生成する電子楽器において、
前記波形情報記憶手段は、１つのアドレスに複数個の波形サンプル値情報を記憶しており、更に、
指示された音高に対応する周波数情報を累算することによって整数部と小数部とからなる位相情報を発生する位相情報発生手段と、
前記位相情報発生手段での前記周波数情報の累算開始時に、前記位相情報の整数部の下位に予め初期値を設定する設定手段と、
前記位相情報の整数部の上位に応じて前記波形情報記憶手段から複数個の波形サンプル値情報を一度に読み出す読み出し手段と、
前記波形情報記憶手段から過去に読み出された波形サンプル値情報の少なくとも一部を一時的に保存する一時記憶手段と、
前記位相情報の整数部の下位に応じて、前記累算開始時は前記読み出し手段の出力である波形サンプル値情報および位相情報に基づき、それ以後は前記読み出し手段および一時記憶手段の双方から出力される波形サンプル値情報および位相情報に基づき、補間演算を行う補間手段とを備え、
前記累算された位相情報は、１つのアドレスに対する波形のサンプル数の値で桁上げされるものであり、
前記読み出し手段では、読み出しアドレスの初期値が設定され、前記桁上げ毎に読み出しアドレスが歩進されるものであることを特徴とする電子楽器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子楽器に関し、特に波形メモリの同じ番地に波形データを複数個記憶し、波形データの読み飛ばしを可能にした電子楽器に関するものである。
【０００２】
【従来の技術】
従来のシンセサイザー、電子ピアノ、電子オルガン、シングルキーボード等の電子楽器においては、楽音波形のサンプル値を波形メモリの１つの番地に１つづつ記憶しておき、これを音高に対応した読み出し間隔で読み出すことにより、楽音を発生させていた。そして、ノイズを低減させるために、サンプル値の補間演算を行っていた。
【０００３】
サンプル値の補間演算を行うためには、位相情報（読み出し位置）の近傍の複数サンプル値を必要とする。しかし、近年では楽音発生回路において発生する楽音発生チャネル数が多くなっているため、各チャネルの時分割演算期間内に、必要とする全ての波形サンプル値を波形メモリから読み出すことは経済的でない。なぜならば、アクセス速度の非常に速いメモリを必要とするからである。
【０００４】
そこで、過去に読み出された位相情報近傍の複数波形サンプル値を一時的に記憶する記憶手段をチャネル毎に設け、該記憶手段の内容およびチャネル毎の時分割演算期間内に読み出された波形サンプル値を用いて補間演算を行う構成が提案されている。このような構成によって、波形メモリとしてアクセス速度のそれほど速くない低価格のメモリを利用可能となる。
【０００５】
【発明が解決しようとする課題】
上記したような、従来の電子楽器における楽音発生方式においては、一時的な記憶手段に蓄えられる複数の波形サンプル値は補間演算に使用するために連続したものでなければならない。従って、波形メモリの読み飛ばし、即ち読み出しアドレスを一度に２以上変化させて波形を読み出すことが不可能となる。よって、波形メモリから楽音波形を読み出して再生する際に、記憶されている楽音波形の原音の音高およびサンプリング周波数によって決まる固有の音高（周波数）より高い周波数では再生することができないという問題点があった。
【０００６】
本発明の目的は、前記のような従来技術の問題点を解決し、波形サンプル値の読み飛ばしが可能であり、前記楽音波形に固有の音高より高い周波数で再生が可能な電子楽器を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、波形情報記憶手段に記憶された波形サンプル値情報を読み出すことによって楽音信号を生成する電子楽器において、前記波形情報記憶手段は、１つのアドレスに複数個の波形サンプル値情報を記憶しており、更に、指示された音高に対応する周波数情報を累算することによって整数部と小数部とからなる位相情報を発生する位相情報発生手段と、前記位相情報発生手段での前記周波数情報の累算開始時に、前記位相情報の整数部の下位に予め初期値を設定する設定手段と、前記位相情報の整数部の上位に応じて前記波形情報記憶手段から複数個の波形サンプル値情報を一度に読み出す読み出し手段と、前記波形情報記憶手段から過去に読み出された波形サンプル値情報の少なくとも一部を一時的に保存する一時記憶手段と、前記位相情報の整数部の下位に応じて、前記累算開始時は前記読み出し手段の出力である波形サンプル値情報および位相情報に基づき、それ以後は前記読み出し手段および一時記憶手段の双方から出力される波形サンプル値情報および位相情報に基づき、補間演算を行う補間手段とを備え、前記累算された位相情報は、１つのアドレスに対する波形のサンプル数の値で桁上げされるものであり、前記読み出し手段では、読み出しアドレスの初期値が設定され、前記桁上げ毎に読み出しアドレスが歩進される点に特徴がある。
【０００８】
上記の特徴により、例えば１つの読み出しアドレスに４つの波形サンプル値データを格納しておくことによって、３つの波形サンプル値を読み飛ばしても、波形メモリからは全ての波形サンプル値が連続して読み出され、一時的な記憶手段に記憶されて補間演算が可能となる。従って、従来の方式に比べて４倍の周波数で再生が可能となる。また、発音開始時には、位相情報の整数部の下位に設定された初期値に従って波形情報記憶手段から読み出された波形サンプル値情報のみで補間演算が可能になるので、波形サンプル値情報のプリセットが不要である。
【０００９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。図１は、本発明を適用した電子ピアノの構成を示すブロック図である。ＣＰＵ１は、ＲＯＭ２に格納されている制御プログラムに基づき、電子ピアノ全体の制御を行う中央処理装置である。ＲＯＭ２には制御プログラム、音色パラメータ、周波数情報テーブル等が記憶されている。音色パラメータには波形メモリに記憶されている楽音波形のアドレス情報、楽音の波形サンプル初期値、楽音波形のサンプリングレート、エンベロープ制御情報等がある。周波数情報テーブルは、鍵盤で指示された音高（キーナンバ）情報と楽音波形のサンプリングレート（固有音高）情報から楽音波形の読み出し間隔を決定する際に使用される変換テーブルデータである。
【００１０】
ＲＡＭ３はワークエリアおよびバッファとして使用される。また、バッテリ等によりバックアップされていてもよい。キーボード４は、例えばそれぞれ２つのスイッチを有する複数の鍵からなる鍵盤、およびキーボードの各鍵のスイッチをスキャンし、状態変化情報やタッチ情報を検出してＣＰＵ１に通知するキーボードスキャン回路からなる。パネル回路５は、音色選択、自動演奏曲選択などのための各種スイッチ、液晶やＬＥＤにより文字等を表示する表示装置およびそれらのインターフェース回路からなる。
【００１１】
楽音発生回路６は、波形読み出し方式により所望の楽音信号を発生する回路であり、デジタル楽音波形サンプル値が記憶されている波形メモリ１２から、発音すべき音高に比例したアドレス間隔で順次データを読み出し、補間演算を行って楽音波形信号を発生させる。また、エンベロープ発生回路１５を有し、設定されたエンベロープパラメータに基づいて発生したエンベロープ信号を楽音波形信号に乗算してエンベロープを付与し、楽音信号を出力する。楽音発生回路６は、複数（例えば１２８）の楽音発生チャネルを有しているが、実際には、１つの楽音発生回路を時分割多重動作させることにより、同時に複数の楽音信号を独立して発生可能に構成されている。
【００１２】
楽音発生回路６内のインターフェース回路１０は、バス９を介してＣＰＵ１から送出される書き込み指令ＣＩＤを各回路に転送する。波形アドレス発生回路１１は、詳細は後述するが、ＣＰＵ１からの指示に基づき、波形メモリ１２の読み出しアドレスＩＡ、サンプル補間回路１３へ出力する補間に必要な情報ＦＲ、ＩＳ、ＣＹを発生する。波形メモリ１２は、１つのアドレスに４つの連続した波形サンプル値ＭＤを記憶している。
【００１３】
サンプル補間回路１３は、波形メモリ１２からの波形サンプル値データＭＤおよび波形アドレス発生回路１１からの情報に基づき補間演算を行って、波形値ＷＩＰを出力する。乗算器１４は、波形信号とエンベロープ発生回路１５から出力されるエンベロープ信号とを乗算し、楽音波形信号を出力する。累算回路１６は、サンプリング（演算）周期ごとに複数の楽音発生チャネルでそれぞれ発生された楽音信号を累算することによって、各チャネルの信号を合成した楽音信号を出力する。
【００１４】
Ｄ／Ａ変換器７はデジタル楽音信号をアナログ信号に変換し、アンプによって増幅された楽音信号は例えばスピーカユニットからなるサウンドシステム８によって発音される。バス９は電子ピアノ内の各回路を接続している。なお、必要に応じて、メモリカードインターフェース回路、フロッピィディスク装置、ＭＩＤＩインターフェース回路等を備えていてもよい。
【００１５】
図２は、波形アドレス発生回路１１の構成例を示すブロック図である。ＦＮ−ＲＡＭ２０は、楽音波形の読み出し間隔情報である周波数情報をチャネル毎に記憶する１２８語のＲＡＭであり、図示しないタイミング制御回路のチャネルカウンタ（１２８進カウンタ）によってアドレスを指定される（他のＲＡＭも同じ）。このＲＡＭ２０の内容である周波数情報はキーオン時にＣＰＵ１からセットされ、この実施例の場合には４未満の値を取る。なお、この場合には書き込みアドレスもＣＰＵから指示される。ＦＮ−ＲＡＭ２０から読み出されたデータは、一旦レジスタ２１に保持され、加算器２２に入力される。
【００１６】
加算器２２は、該データおよびΣＦ−ＲＡＭ２４から読み出され、レジスタ２５に保持されている情報ＩＳ（位相情報の整数部の下位２ビット）およびＦＲ（位相情報の小数部）とを加算する。加算器２２の出力は、新たなＩＳ、ＦＲとして、セレクタ２３を介して再びΣＦ−ＲＡＭ２４に書き込まれる。この処理によって周波数情報が累算される。なおセレクタ２３はＣＰＵ１からΣＦ−ＲＡＭ２４にデータが書き込まれる場合にはＣＩＤ側に切り替わる。
【００１７】
ΣＩ−ＲＡＭ２６は、波形メモリ１２の読み出しアドレス信号ＩＡを保持する１２８語のＲＡＭであり、キーオン時にはＣＰＵ１から初期値が設定される。そして、該ＲＡＭ２６から読み出されたＩＡはレジスタ２７に保持され、外部に出力されると共に＋１加算器２８にも出力される。一方、加算器２２の加算結果が４以上になった場合には、加算器２２から整数部の下から３ビット目への桁上がり信号ＣＹが出力される。＋１加算器２８は、ＣＹが１である場合には入力信号ＩＡに１を加算して出力し、ＣＹが０である場合には入力値をそのまま出力する。
【００１８】
＋１加算器２８の出力信号は比較器３３およびセレクタ３４に入力される。比較器３３は＋１加算器２８の出力信号と、ＬＥ−ＲＡＭ３１から読み出され、レジスタ３２に保持されている波形メモリ読み出しアドレスのループエンド（ＬＥ：繰り返し読み出し範囲の最後）値とを比較する。そして比較結果が一致した場合にのみ１を出力する。セレクタ３４は、比較器３３の出力値が０の場合には＋１加算器２８の出力信号を出力し、１の場合にはＬＴ−ＲＡＭ２９から読み出され、レジスタ３０に保持されている波形メモリ読み出しアドレスのループトップ（ＬＴ：繰り返し読み出し範囲の先頭）値を出力する。なお、ＬＥ−ＲＡＭ３１、ＬＴ−ＲＡＭ２９にはキーオン時にＣＰＵ１からループエンド値、ループトップ値がそれぞれセットされる。
【００１９】
以上のような構成により、波形メモリ読み出しアドレスＩＡおよび補間演算に必要な信号ＩＳ、ＦＲ、ＣＹが生成される。そして、ＩＡ、ＩＳ、ＦＲ全体で楽音波形の読み出し位相情報を表し、ＦＲはその小数部、ＩＳは整数部の下位２ビット、ＩＡは整数部のＩＳより上位のビットを表している。
【００２０】
図３、４は、サンプル補間回路１３の構成を示すブロック図である。波形メモリ１２は例えば１ワードが４８ビットで構成され、１つの番地に４つの連続した１２ビットの波形サンプル値データＭＤが記憶されている。補間用サンプル値記憶回路を示す図３において、波形メモリ１２から読み出された４つのサンプル値データは４つの１２ビットレジスタ４０〜４３にそれぞれ保持され、サンプル値Ｗ(2) 〜Ｗ(5) として出力される。また、レジスタ４０〜４２の出力値はそれぞれセレクタ５０〜５２にも入力されている。
【００２１】
Ｗ(1) ＲＡＭ４４、Ｗ(0) ＲＡＭ４５、Ｗ(-1)ＲＡＭ４６は、それぞれ波形メモリ読み出しアドレス更新信号であるＣＹ信号が１の時にレジスタ４０〜４２の出力値が書き込まれ、該値を記憶する１２８語のＲＡＭである。また発音開始時等にＣＰＵ１から値を設定することも出来る構成になっている。各ＲＡＭ４４〜４６から読み出されたサンプル値はそれぞれレジスタ４７〜４９によって保持され、Ｗ(1) 〜Ｗ(-1)として出力されると共に、ＣＹが０である場合には再度各ＲＡＭ４４〜４６に書き込まれる。
【００２２】
補間演算回路を示す図４において、各セレクタ６０〜６３はＩＳ値（０〜３）に基づき、図３の補間用サンプル値記憶回路から出力されるＷ(5) 〜Ｗ(-1)の内のいずれかのサンプル値を出力する。補間係数発生用のＣ(2) ＲＯＭ６８〜Ｃ(-1)ＲＯＭ７１は、位相情報の小数部ＦＲの値をアドレスとして、それぞれ対応する補間係数を読み出す。各乗算器６４〜６７は、各セレクタ６０〜６３から出力されるサンプル値と、補間係数発生用ＲＯＭ６８〜７１の出力係数とを乗算する。そして、各乗算器６４〜６７の出力値は加算器７２によって加算され、補間された波形信号ＷＩＰが出力される。
【００２３】
図５は、波形メモリ読み出しアドレスＩＡの変化を示すタイミング図である。Ｔscはサンプリング周期を表しており、例えば５０ｋＨｚであってもよい。Ｔacは波形メモリ１２のアクセス周期を表しており、例えば１５６ｎｓとなる。この例では１つのチャネルにおいては、１サンプリング周期に１回波形メモリにアクセスすればよいので、Ｔacは各楽音発生チャネルの処理時間と等しくなっている。従って、波形メモリとしてアクセスタイム１２０〜１５０ｎｓ程度の比較的安価なマスクＲＯＭを使用可能である。なお、図中の［ｎ］はｎ番目のチャネルの読み出しアドレスＩＡ（ｎ）を表している。
【００２４】
図６は、本発明を適用した楽音発生回路６の動作を示す説明図である。補間回路の出力値ＷＩＰは次式で表される。
0003651675.tif 000002
【００２５】
但し、Ｃ(-1)〜Ｃ(2) は、位相情報の小数値ＦＲにより決まる補間係数であり補間係数発生用ＲＯＭ６８〜７１から出力される。またＷ(IS-1)〜Ｗ(IS+2)はＩＳ値によって選択された位相情報現在値の前後２点づつのサンプル値である。図６において、直前の位相情報位置がＰであり、これが例えばＱの位置に移動したものとする。この場合、Ｐ点においてＩＳがすでに３であるので、図２の加算器２２による加算の結果、桁上げ信号ＣＹが発生する。このＣＹ信号によって、波形メモリの読み出しアドレスＩＡがＮ−１からＮに更新され、また図３の補間回路において、レジスタ４０〜４２にはＮ−１番地のサンプル値データＳ4 〜Ｓ2 が記憶されているが、このサンプル値がＷ(1) ＲＡＭ４４、Ｗ(0) ＲＡＭ４５、Ｗ(-1)ＲＡＭ４６にそれぞれ転送され、Ｗ(1) 、Ｗ(0) 、Ｗ(-1)として出力される。
【００２６】
更に、波形メモリ１２からはＮ番地のデータＳ8 〜Ｓ5 が読み出され、レジスタ４０〜４３に保持されて、Ｗ(5) 〜Ｗ(2) として出力される。図６は、この状態における各サンプル値Ｓと補間回路内の記憶状態Ｗとの関係を示している。図示されているように、位相情報（読み出しアドレスＩＡ）と波形メモリ内のサンプル値とは２サンプル分ずれている。これは、補間演算として位相情報の現在値よりも２サンプル先のサンプル値まで必要なためである。
【００２７】
図６において、位相情報が点Ｐから点Ｒに移動した場合も、前記説明と同様の動作により、正しい補間演算が可能となる。図示されているように、この実施例であれば、周波数情報が４未満の場合に波形サンプル値の読み飛ばし（飛び越し）が可能であり、この波形メモリを使用することによって、通常の場合（周波数情報が１未満）に比べて４倍の周波数まで再生が可能となる。
【００２８】
従来の１サンプル値づつ読み出す方式においては、発音開始時に補間回路に補間用のサンプル値をＣＰＵがプリセットする必要があった。しかし、本発明の構成によれば、発音開始時に、ＩＳとして、特定の値を予め設定することにより、サンプル値のプリセットが不要となる。すなわち、ＩＳの初期値を「３」にすることにより、波形メモリから読み出された４サンプル値のみから補間演算が可能となり、サンプル値のプリセットが不要となる。
【００２９】
波形メモリにサンプル値を例えばＡＤＰＣＭ方式により圧縮して記憶するような電子楽器に本発明を適用する場合には、図３のレジスタ４０〜４３の直後にＡＤＰＣＭデコーダを追加すればよい。
【００３０】
実施例においては、位相情報の前後２サンプルづつの４サンプル値を用いて補間演算を行う例を開示したが、補間演算に使用するサンプル数と波形メモリの１アドレスに記憶されるサンプル数とは一致している必要はなく、例えば前記実施例において、補間回路では前後１サンプルづつの２サンプルを用いて補間演算を行うようにしてもよい。
【００３１】
【発明の効果】
以上述べたように、本発明においては、波形情報記憶手段の１つのアドレスに連続した複数個の波形サンプル値情報を記憶しているので、例えば１つの読み出しアドレスに４つの波形サンプル値データを格納しておくことによって、３つの波形サンプル値を読み飛ばしても、波形メモリからは全ての波形サンプル値が連続して読み出され、一時的な記憶手段に記憶されて補間演算が可能となる。従って、波形メモリの１つのアドレスに記憶されているサンプル値の数をＮとすれば、該波形メモリを使用して、従来の方式に比べてＮ倍高い周波数まで再生が可能となるという効果がある。
【００３２】
また、発音開始時に、位相情報の整数部の下位に特定の値を予め設定することにより、波形情報記憶手段から複数の波形サンプル情報が読み出され、この波形サンプル値情報のみを使用して補間演算が可能である。したがって、サンプル値のプリセットが不要になるという効果がある。
【図面の簡単な説明】
【図１】本発明を適用した電子ピアノの構成を示すブロック図である。
【図２】波形アドレス発生回路１１の構成例を示すブロック図である。
【図３】サンプル補間回路１３の構成を示すブロック図１である。
【図４】サンプル補間回路１３の構成を示すブロック図２である。
【図５】波形メモリ読み出しアドレスの変化を示すタイミング図である。
【図６】本発明を適用した楽音発生回路６の動作を示す説明図である。
【符号の説明】
１…ＣＰＵ、２…ＲＯＭ、３…ＲＡＭ、４…キーボード回路、５…パネル回路、６…楽音発生回路、７…Ｄ／Ａ変換器、８…サウンドシステム、９…バス、１０…インターフェース回路、１１…波形アドレス発生回路、１２…波形メモリ、１３…サンプル補間回路、１４…乗算器、１５…エンベロープ発生回路、１６…累算回路
【図１】
0003651675.tif 000003
【図２】
0003651675.tif 000004
【図３】
0003651675.tif 000005
【図４】
0003651675.tif 000006
【図５】
0003651675.tif 000007
【図６】
0003651675.tif 000008