(57)【要約】【課題】  電子楽器に使用される波形データ出力装置であって、１チャンネルあたり１回のアクセスしか取れない構成であっても、周波数ナンバが２以上に対応できる波形データ出力装置を提供する。【解決手段】  波形データの一部に、１ワードに２サンプル値のデータと、４サンプル値のデータを記憶している波形メモリ１０１と、指示された音高に対応する周波数ナンバを発生させる周波数情報発生部１０２と、周波数ナンバが２未満の時、該周波数ナンバを累算して、波形データメモリ１０１から１ワードに２サンプル値の波形データを読み出すための周波数アドレスを発生させ、他方周波数ナンバが２以上の時、周波数ナンバを累算して、波形データメモリ１０１から１ワードに４サンプル値の波形データを読み出すための周波数アドレスを発生させる周波数アドレス発生部１０３とを有している。【選択図】        図４
2005266552.tif 000002
【特許請求の範囲】
【請求項１】
１ワードにＮサンプル値を有している波形データと、Ｎより大きいＭサンプル値を１ワードに有している波形データを記憶している波形データ記憶手段と、
指示された音高に対応する周波数ナンバを発生させる周波数情報発生手段と、
周波数ナンバが所定の値未満の時、該周波数ナンバを累算して、上記波形データ記憶手段から１ワードにＮサンプル値を有している波形データを読み出すための位相情報である周波数アドレスを発生させ、他方周波数ナンバが所定の値以上の時、同じく周波数ナンバを累算して、上記波形データ記憶手段から１ワードにＭサンプル値を有している波形データを読み出すための周波数アドレスを発生させる周波数アドレス発生手段と
を少なくとも有することを特徴とする波形データ出力装置。
【請求項２】
上記周波数ナンバが２を境界として、それ未満とそれ以上に分けて波形データの読み出しを行うことを特徴とする請求項１記載の波形データ出力装置。
【請求項３】
上記波形データとして１ワードに有するＮサンプル値が２サンプル値であり、同じく波形データとして１ワードに有するＭサンプル値が４サンプル値であることを特徴とする請求項１又は２記載の波形データ出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子楽器に使用される波形データ出力装置に関し、特に波形メモリの同じ番地に波形データを複数個記憶しておいて、波形データの種々の読み出しを可能にした波形データ出力装置に関するものである。
【背景技術】
【０００２】
本出願人は、従来技術ではなく、先の出願で、図９及び図１０で示される構成を提案している（下記特許文献１参照）。
【０００３】
すなわち図９(ａ)は、楽音発生部２１０が単一で波形メモリ２１２も単一の構成を持つものを示している。このような１チップ構成において、同時発音数が仮に６４チャンネルとした場合に、１サンプリング時間内に、１チャンネル（任意のチャンネルをｎとしている）で1回アクセス（２サンプル値を得る）し、図１０（ａ）に示すように、ｎ−１、ｎ、ｎ＋１、ｎ＋２、ｎ＋３、…タイムスロットというように、１タイムスロットおきに、夫々の波形データが読み出される状態である。
【０００４】
また図９(ｂ)は、同じく１チップ構成において、同時発音数が６４チャンネルとした場合に、１サンプリング時間内に、１チャンネルで２回（ｎとｎ’で示す）アクセス（４サンプル値を得る）し、図１０(ｂ)に示すように、ｎ−１、ｎ−１’、ｎ、ｎ’、ｎ＋１、ｎ＋１’、ｎ＋２、ｎ＋２’、ｎ＋３、ｎ＋３’、…タイムスロットというように、全タイムスロットで、夫々２回のアクセスがあり、波形データが読み出されることになる。
【０００５】
さらに図９(ｃ)は、上記構成とは異なり２チップ構成（楽音発生部が２１０と２１１で、波形メモリ２１２が単一の構成）において、同時発音数が６４チャンネルとした場合に、１サンプリング時間内に、夫々のチャンネルｎ、６４＋ｎで１回アクセスし、図１０(ｃ)に示すように、ｎ−１、６４＋ｎ−１、ｎ、６４＋ｎ、ｎ＋１、６４＋ｎ＋１、ｎ＋２、６４＋ｎ＋２、ｎ＋３、６４＋ｎ＋３、…タイムスロットというように、全タイムスロットで、夫々のチャンネルの波形データが読み出されることになる（６４チャンネル分あるため、ｎの次は６４＋ｎとなる）。
【特許文献１】特願２００３−４０８３９３
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、１チャンネルあたり１回のアクセス（２サンプル値を得る）しか取れないような、図９（ｃ）や図１０（ｃ）で示される２チップの構成や、図示していないが、１チャンネルあたり１回のアクセスしか取ることができない構成の場合は、周波数ナンバが２未満にしか対応することができないという問題があった。
【０００７】
このような波形データのサンプル値の読み出しが行われた後に行われる補間処理で、仮に４ポイント補間が行われる場合、読み出されたポイントのサンプル値の他に、過去の３ポイントのサンプル値があって、その間の補間処理ができる。
【０００８】
１チャンネルあたり、１回のアクセスしかできない構成の場合は、４ポイント補間処理では、周波数ナンバは２未満でしか対応できない。もし周波数ナンバが４未満に対応できるようにするためには、倍のアクセススロットが必要になってしまう。
【０００９】
また１チャンネルあたり、１回のアクセスしか取れないような上記２チップの構成では、１アクセスで２サンプル値の波形データを読むことができ、波形サンプル値を読み飛ばしが可能となる。しかし、空きタイムスロットがないため、周波数ナンバは２未満にしか対応することができないことになる。
【００１０】
本発明は、以上のような問題に鑑み創案されたもので、電子楽器に使用される波形データ出力装置であって、１チャンネルあたり１回のアクセスしか取れない構成であっても、周波数ナンバが２以上に対応できる波形データ出力装置を提供せんとするものである。
【課題を解決するための手段】
【００１１】
そのため本発明に係る波形データ出力装置は、
１ワードにＮサンプル値を有している波形データと、Ｎより大きいＭサンプル値を１ワードに有している波形データを記憶している波形データ記憶手段と、
指示された音高に対応する周波数ナンバを発生させる周波数情報発生手段と、
周波数ナンバが所定の値未満の時、該周波数ナンバを累算して、上記波形データ記憶手段から１ワードにＮサンプル値を有している波形データを読み出すための位相情報である周波数アドレスを発生させ、他方周波数ナンバが所定の値以上の時、同じく周波数ナンバを累算して、上記波形データ記憶手段から１ワードにＭサンプル値を有している波形データを読み出すための周波数アドレスを発生させる周波数アドレス発生手段と
を少なくとも有することを基本的特徴としている。
【００１２】
本発明では、周波数ナンバが２以上にされる波形（高い周波数の波形）の場合、ビット精度を犠牲にしても問題がないということを前提にし、本発明者は上記のような構成を発案する。そして上記構成によれば、波形データ記憶手段の同じ番地に波形データを複数個記憶しており、周波数アドレス発生手段により、周波数ナンバが所定の値（例えば後述する実施形態構成の場合２）未満の時、上記波形データ記憶手段から１ワードにＮサンプル値（例えば後述する実施形態構成の場合２サンプル値）を有している波形データを読み出すための周波数アドレスを発生させ、他方周波数ナンバが所定の値以上の時、同波形データ記憶手段から１ワードにＭサンプル値（例えば後述する実施形態構成の場合４サンプル値）を有している波形データを読み出すための周波数アドレスを発生させ、これらのデータを読み出させるようにしているため、１チャンネルあたり１アクセスしか取れない構成の場合でも、例えば周波数ナンバが２以上にも対応できるようになるなど、これまでになく高い周波数の波形データの読み出しが可能となる。
【発明の効果】
【００１３】
本発明の請求項１〜請求項３記載の波形データ出力装置によれば、波形データ記憶手段の同じ番地に波形データが複数個記憶されており、波形データの種々の読み出し１チャンネルあたり１アクセスしか取れない構成の場合でも、例えば周波数ナンバが２以上にも対応できるようになるなど、これまでになく高い周波数の波形データの読み出しが可能となるという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図示例と共に説明する。
図１は、本発明に係る波形データ出力装置の構成を備えた電子楽器（例えば電子オルガン）の回路概略図である。
【００１５】
本電子楽器は、電子ピアノの鍵盤で任意の音色を演奏したり、電子オルガンの上下手鍵盤及び足鍵盤などに夫々異なる音色を割り当てることができるようになっており、しかも鍵盤は、左右でスプリットされ、夫々の位置で同じく違う音色が設定できるようになっている。従って、これらの鍵盤などを押鍵すると、夫々の楽音が同時に発生するのに必要なチャンネル数は、６４チャンネル数を超えることも多い。
【００１６】
本電子楽器は、図１に示すように、システムバス２００を介して、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、パネルスキャン回路２０４ａ、鍵盤スキャン回路２０５ａ、楽音発生部１００が相互に接続されて構成されている。システムバス２００は、アドレス信号、データ信号又は制御信号等を送受するために使用される（アドレスバス、データバス、コントロール信号ラインよりなる信号バス）。
【００１７】
ＣＰＵ２０１は、本電子楽器の制御をつかさどる中央演算装置であって、後述するＲＯＭ２０２に格納されているプログラムに従って、鍵盤スキャン回路２０５ａとパネルスキャン回路２０４ａを制御して鍵盤２０５のキー、操作パネル２０４の音色設定スイッチなどを走査し、鍵盤２０５の押鍵・離鍵に伴う押鍵データ［キーＯＮ・ＯＦＦ、キー識別情報（キー番号など）、キータッチレスポンス：キーデータ］の楽音発生部１００への割り当て処理、操作パネル２０４の音色設定スイッチ、ボリュームに応じて楽音発生部１００より所望の楽音信号を発生させるように制御する。
【００１８】
上記ＲＯＭ２０２は、上述したＣＰＵ２０１用のプログラムの他に、ＣＰＵ２０１が楽音発生に参照する種々のパラメータデータを格納する読み出し専用メモリである。
【００１９】
上記ＲＡＭ２０３は、ＣＰＵ２０１におけるプログラム処理での処理段階のデータを一時記憶しておいたり、エディット可能なパラメータデータを記憶しておく、読み書き可能でメモリである。一部はバッテリバックアップされており、操作パネル２０４の音色設定に応じた必要なデータを格納保持（電源がＯＦＦとなっても格納保持）しておくことができる。また、このＲＡＭには、必要に応じてレジスタ、カウンタ、フラグ機能等が定義されている。
【００２０】
パネルスキャン回路２０４ａは、ＣＰＵ２０１からの指令に応答して操作パネル２０４上の各スイッチをスキャンし、このスキャンにより得られた各スイッチの開閉状態を示す信号に基づいて、各スイッチを１ビットに対応させたパネルデータを作成する。各ビットは、例えば「１」でスイッチオン状態、「０」でスイッチオフ状態を表す。このパネルデータは、システムバス２００を介してＣＰＵ２０１に送られる。このパネルデータは、操作パネル２０４上のスイッチのオンイベント又はオフイベントが発生したかどうかを判断するために使用される。
【００２１】
また、パネルスキャン回路２０４ａは、ＣＰＵ２０１から送られてきた表示データを操作パネル２０４上のＬＥＤ表示器及びＬＣＤに送る。これにより、ＣＰＵ２０１から送られてきたデータに従って、ＬＥＤ表示器が点灯／消灯され、またＬＣＤにメッセージが表示される。
【００２２】
パネルスキャン回路２０４ａには、操作パネル２０４が接続されている。操作パネル２０４には、音色選択及び設定するためのスイッチやボリュームや、選択及び設定状態を表示する上記ＬＣＤ乃至ＬＥＤ表示器などより構成される表示部を有している。操作パネル２０４の音色選択により音色設定フラグの設定がなされる。また、演奏者の操作パネル２０４の操作により、音色設定フラグが直接変更される場合もある。特にピッチ変化の範囲が広い音色もあり、後述するように、周波数ナンバが２以上４未満の場合は、波形メモリ１０１において１ワードに４サンプル値が記憶された波形データの読み出しを行わせる場合がある。
【００２３】
上記鍵盤スキャン回路２０５ａは、鍵盤２０５で生成される押鍵データを検出する検出回路である。すなわち、これらの鍵盤２０５には、夫々２点スイッチが設けられており、任意の鍵盤２０５が所定以上の深さまで押し下げられたことを検出すると、その鍵盤の音高データ（キー番号）の押鍵信号を生成すると共に、２点スイッチ間を通過する速度からベロシティを生成し、それらを押鍵データとして、鍵盤スキャン回路２０５ａに送る。２点スイッチとしては、鍵が所定以上の深さまで押し下げられたことを検出できる光センサ、圧力センサ、その他のセンサを使用できる。鍵盤スキャン回路２０５ａは、２点スイッチからの押鍵データを受け取ると、それをＣＰＵ２０１に送る。
【００２４】
鍵盤スキャン回路２０５ａからの押鍵データは、ＣＰＵ２０１により、ＲＡＭ２０３上の音色設定フラグが参照され、夫々のチャンネルに対応する楽音発生部１００に送られることになる。
【００２５】
楽音発生部１００は、専用のＬＳＩで設計されており、上記操作パネル２０４で選択及び設定された音色で、鍵盤２０５で演奏されたキーに応じた読み出しアドレスを発生（後述する周波数アドレス生成器１１０による）して、本願の波形データ記憶手段に相当する後述の波形メモリ１０１から原データを読み出し、さらに、該原データの補間処理を行った（後述するデコーダ１０４の補間器１２１による）後、同じく同回路で生成された音色毎のエンベロープ（後述する振幅エンベロープ発生器１０８による）を乗算し（後述する乗算器１０７による）、夫々の音色の波形データを設定されたチャンネル分累算して、外部に楽音信号を発生する。この構成の詳細は後に説明する。また図示していないが、この楽音信号に所定の音響効果（残響効果を含む）を付加する音響効果付加構成も備えていても良い。さらに、楽音発生部１００から出力された楽音信号は、Ｄ／Ａ変換回路２０６に入力され、デジタル−アナログ変換され、アンプ２０７で増幅され、スピーカ２０８から外部に楽音として放出される。
【００２６】
波形メモリ１０１は、楽音波形データが音色及び音域（音高）に対応して記憶されており、音色選択及び押鍵データに応じて、所望の楽音周波数に従って上記楽音発生部１００からの読み出し信号で該データが読み出されることになる。
【００２７】
Ｄ／Ａ変換回路２０６は、上記楽音発生部１００で生成されたデジタル楽音信号をアナログ楽音信号に変換するデジタル−アナログ変換器である。
【００２８】
アンプ２０７は、アナログ処理されたアナログ楽音信号をスピーカ２０８で発生させるために増幅するパワーアンプである。
【００２９】
スピーカ２０８は、アナログ信号を可聴信号として放音するスピーカであり、１乃至複数個よりなる。
【００３０】
図２及び図３は、本願発明に係る波形データ出力装置構成の概要図を示している（図３の方がシステムバス２００側から送られてくる制御情報などが詳細に記載されている）。
【００３１】
そのうち波形メモリ１０１は、図１に示すものと同じであり、所望とする波形データが例えばヘッド部とループ部で構成される波形データ（後述するように、データ読み出し時にSTA→LEA→LTA→LEA→LTA→LEA→LTA→LEA…のように一度読み出しされる部分と繰り返し読み出される部分のある波形データ）として記憶されているメモリで、音色・音域に関連して所定のエリアに記憶されている。
【００３２】
楽音発生部１００の構成は、上述のように、専用のＬＳＩからなり、その内部構成は、図２に示すように、周波数情報発生部１０２、周波数アドレス発生部１０３、デコーダ１０４の構成を有している。
【００３３】
上記周波数情報発生部１０２は、後述する図６(ｂ)に示されるように、指示された音高に対応する周波数ナンバを発生させる構成であり、押鍵データ中のキー番号に応じたピッチパラメータを発生する。
【００３４】
上記周波数アドレス発生部１０３は、内部に加算器及びアキュムレータを備えていて、押鍵データ［キーＯＮ・ＯＦＦ、キー識別情報（キー番号など）、キータッチレスポンス：キーデータ］と音色情報に応答して、波形メモリ１０１から記憶されている所望の楽音波形データを所望とする楽音周波数に応じた速度で読み出すために、上記周波数情報発生部１０２から与えられた周波数ナンバを累算することにより位相情報である周波数アドレスを発生する。本構成では、後述するように、周波数ナンバが２（所定の値）未満の時、上記波形メモリ１０１から１ワードに２（Ｎ）サンプル値を有している波形データ（波形データａ、波形データｂ、波形データｃ、…）を読み出すためのアドレスを発生し、また周波数ナンバが２以上の時は、同波形メモリ１０１から１ワードに４（Ｍ）サンプル値を有している波形データ（波形データａ’）を読み出すためのアドレスを発生する。
【００３５】
上記デコーダ１０４は、上記周波数アドレス発生部１０３により生成された周波数アドレス（楽音周波数）に従って読み出された波形データを解凍復元したり、サンプル値補間したりする構成である。波形データが圧縮されている場合は、解凍復元した後でサンプル値補間したり、波形データがリニア値であれば、サンプル値補間のみを実施したりする。
【００３６】
その他、本実施例構成では、波形データ出力装置の構成中に、フィルタ１０５、フィルタ制御情報発生器１０６、乗算器１０７、振幅エンベロープ発生器１０８の構成を備えている。
【００３７】
上記フィルタ１０５は、上記デコーダ１０４より楽音周波数に応じて出力される波形データに含まれる周波数成分を後述のフィルタ制御情報発生器１０６より発生される制御情報に応答してフィルタ制御するフィルタ回路である。
【００３８】
上記フィルタ制御情報発生器１０６は、上記フィルタ１０５におけるフィルタ特性を制御するための制御情報を発生する回路であり、押鍵データ［キーＯＮ・ＯＦＦ、キー識別情報（キー番号など）、キータッチレスポンス：キーデータ］と音色情報により、このフィルタ制御情報が生成される。
【００３９】
上記乗算器１０７は、フィルタ１０５より出力される所望のフィルタ特性に制御された楽音波形データと後述する振幅エンベロープ発生器１０８からのエンベロープ信号を乗算し、エンベロープの付加された楽音波形データを出力する。
【００４０】
上記振幅エンベロープ発生器１０８は、フィルタ１０５より出力される所望のフィルタ特性に制御された楽音波形データの振幅を、押鍵データ［キーＯＮ・ＯＦＦ、キー識別情報（キー番号など）、キータッチレスポンス：キーデータ］と音色情報に応答して、制御するためのエンベロープ信号を発生する回路である。
【００４１】
図４は、本実施形態構成で使用される上記波形メモリ１０１の波形データの格納状態を示す説明図である。
【００４２】
同図(ａ)の波形メモリ１０１は、(ｂ)に示すように、波形データａ、波形データａ’、波形データｂ、波形データｃ、…のようにデータが格納されている。記憶されている楽音波形データは、音色及び音域（音高）に対応して記憶されている。ただし、波形データａ’は、本願の上述の構成を達成するために、（周波数ナンバが２以上の場合に読み出される波形データとして）波形データａに関連した波形データとして記憶されている。
【００４３】
また図４(ｃ)は、１アクセスで読み出すことができる各波形データの格納状態を示している。その読み出し単位は、波形データａ、波形データｂ、波形データｃ、…で２サンプル値であり、波形データａ’で４サンプル値である。すなわち、波形データａ、波形データｂ、波形データｃ、…では、１アクセスで２サンプル値の波形データを読み出すことができるようにするために、１ワードあたり、２サンプル値の波形データで構成されている。
【００４４】
しかしながら、後述するように、周波数ナンバが２以上で４未満になった場合でも、１アクセスで読み出し可能にする（対応させる）ために、波形データａ’では、１ワードあたり、４サンプル値の波形データで構成されるようにしている。後述するように、その場合１サンプル値あたりのビット精度は下げて記憶されている（例えば１ワード２サンプル値の上記波形データで、１サンプル値は１６bit構成であるが、１ワード４サンプル値の波形データａ’では、１サンプル値は８bit構成である）。このように、ビット精度が下げて記憶されているため、１アクセスで４サンプル値の波形データが読み出すことが可能となる。ただし、上述のように、このような構成にできるのは、周波数ナンバが２以上にされる波形（高い周波数の波形）の場合、ビット精度を犠牲にしても問題がないからである。
【００４５】
これに対し、図５に示される波形データでは、本願構成を用いていない波形メモリ１０１の波形データの格納状態が、その比較例として示されている。上記図４の場合とは、波形データａに関連した波形データとして、波形データａ’のような状態で格納されている波形データが存在しない。同図(ｂ)と(ｃ)の間の右側に示されたものは、波形データが基本的にどのような形式で記憶されているかが示されている。このように、１つの波形データは、ヘッド部分（一度のみ読み出される部分）とループ部分（一度読み出された後に繰り返し読み出される部分）とよりなる。その他図示していないがループ部分のみ繰り返し波形データとして記憶されている場合もある。またその図の下に、ヘッド部分＋ループ部分よりなる波形データを読み出すための楽音周波数に応答して発生されるアドレスの様子を示している。スタートアドレス（ＳＴＡ）、ループトップアドレス（ＬＴＡ）及びループエンドアドレス（ＬＥＡ）で読み出し箇所を指定する。従ってループ部分の繰り返し読み出しがあるため、ＳＴＡ→ＬＥＡ→ＬＴＡ→ＬＥＡ→ＬＴＡＬＥＡ→…となる。
【００４６】
図６は、上記周波数情報発生部１０２で発生される、周波数情報の基礎となる周波数ナンバと、その周波数ナンバを基に楽音周波数に応答して上記周波数アドレス発生部１０３で発生される周波数情報との関係を示す説明図である。
【００４７】
同図(ｂ)に示すように、周波数ナンバは、ＦN12、ＦN11、ＦN10、ＦN9、ＦN8、…で示されており、周波数ナンバ４未満まで対応できるようにするため小数点位置を、ＦN11とＦN10の間になるようにしている。すなわち、ＦN12、ＦN11、小数点、ＦN10、ＦN9、ＦN8、…で、１１.１１１…は約３.９…であり、４未満の数値である。尚同図に示すように、ＦN12＝０の場合、周波数ナンバは２未満であり（約１.９…である）、ＦN12＝１の場合、周波数ナンバは２以上である。これらの周波数ナンバは、上述のように、押鍵データ中のキー番号に応じたピッチパラメータとして予め決定されている。
【００４８】
また同図(ａ)に示すように、周波数情報は、上記周波数アドレス発生部１０３により生成され、周波数ナンバを累算して得られる楽音周波数に応答して発生されるものである。その情報は、整数部（…Ｉ5、Ｉ4、Ｉ3、Ｉ2、Ｉ1、Ｉ0）と小数部（Ｆ0、Ｆ-1、Ｆ-2、Ｆ-3、Ｆ-4、Ｆ-5、…）で構成される。
【００４９】
このうち、整数部の上位は波形メモリ１０１へのアクセス信号として、整数部の下位は、サンプル値の選択のために使用される。例えばＦN12＝１の、周波数ナンバが２以上の場合、〜Ｉ2までが波形メモリ１０１へのアクセスを行うための周波数情報として扱われ、波形データａ’の格納領域から、波形データが読み出される。またＦN12＝０の、周波数ナンバが２未満の場合、〜Ｉ1までが波形メモリ１０１へのアクセスを行うための周波数情報として扱われ、波形データａの格納領域から、波形データが読み出されることになる。
【００５０】
さらに、周波数情報の小数部上位（何ビット利用するかは補間精度をどのくらいにするかにかかっている）は、サンプル値補間で利用する補間係数を発生するための情報として使用される。
【００５１】
図７は、図２及び図３の波形メモリ１０１、周波数アドレス発生部１０３、デコーダ１０４の部分の構成を示す説明図である。
【００５２】
上記波形メモリ１０１は、上述した図４の通りである。この波形データａ、ｂ、ｃのうち、波形データｂ及びｃも係わる或る音域の或る音色は、周波数ナンバ２未満の対応で良いものであるので、１アクセスで２サンプル値でデータを読み出せる記憶形式だけであるが、波形データａに係わる或る音域の或る音色は、周波数ナンバ２以上でも読み出されることがあるので、その場合の対応として、波形データａ’を記憶している。この記憶領域を読み出すことで、周波数ナンバ２以上〜４未満まで対応できるようになっている。
【００５３】
上記周波数アドレス発生部１０３は、図７に示すように、周波数アドレス生成器１１０と選択器１１１の構成を有している。
【００５４】
そのうち、周波数アドレス生成器１１０は、図６(ａ)で示した楽音周波数に応答して生成される周波数情報を発生する回路である。すなわち、入力される周波数ナンバ（ＦN12、ＦN11、ＦN10、ＦN9、ＦN8、…）を累算して得られるものであって、その出力範囲は、前述したスタートアドレス（ＳＴＡ）、ループトップアドレス（ＬＴＡ）及びループエンドアドレス（ＬＥＡ）で設定された範囲で変化する。
【００５５】
また選択器１１１は、図面上のＳ端子に選択信号として供給される周波数ナンバＦN12が“０”の時（周波数ナンバが２未満の時）は、端子０に供給されている信号（エリアａ指定信号と周波数情報の整数部Ｉ1以上）を選択し、反対に上記周波数ナンバＦN12が“１”の時（周波数ナンバが２以上〜４未満の時）は、端子１に供給されている信号（エリアａ’指定信号と周波数情報の整数部Ｉ2以上）を選択する選択器の構成である。該選択器１１１の出力は、下記表１に示されるようになる。
【００５６】
【表１】
2005266552.tif 000003
【００５７】
上記デコーダ１０４は、図面に示すように、サンプル選択器１２０と補間器１２１の構成を有している。
【００５８】
そのうちサンプル選択器１２０は、周波数ナンバＦN12と周波数情報の整数部Ｉ1及びＩ0によって、波形メモリ１０１より読み出され１アクセス２サンプル値で記憶された波形データ及び１アクセス４サンプル値で記憶された波形データより、所望のサンプル値を選択すると共に、過去に読み出され記憶されているサンプル値と共に、補間器１２１に供給する。仮に補間器１２１で４ポイント補間が行われる場合、読み出された波形データのサンプル値の他に、過去の３ポイントのサンプル値があって、その間の補間処理ができることになる。
【００５９】
また補間器１２１は、サンプル選択器１２０より供給される４サンプル値を基に補間を行う構成であり、補間係数は周波数アドレス生成器１１０から小数部として生成される信号の上位ビットが供給される。本実施形態構成では、Ｆ0〜Ｆ-6の７ビットが供給されている。
【００６０】
図８は、上記図７のサンプル選択器１２０及び補間器１２１の詳細な構成を示す構成説明図である。
【００６１】
このうちサンプル選択器１２０は、データ保持器１０００と、選択器１００１及び１００２と、同じく選択器１００３〜１００５と、同じく選択器１００６と、サンプル保持レジスタ１００７〜１００９と、選択器１０１０〜１０１３と、選択器１０１４とを有している。これらの詳細は後述する。また補間器１２１は、乗算器１１００〜１１０３と、補間係数メモリ１１１０〜１１１３と、加算器１２００とを有している。これらの詳細も後述する。
【００６２】
上記サンプル選択器１２０のデータ保持器１０００は、波形メモリ１０１より読み出された波形データＷＤを保持しておくレジスタである。この場合波形メモリ１０１が３２ビットとした場合、３２ビットデータＤ31〜Ｄ0を保持することになる。３２ビットデータＤ31〜Ｄ0は、図４に示すように、波形データａ、ｂ及びｃの場合１サンプル値が１６ビットの波形データであり（従って１アクセス時に２サンプル値３２ビット読み出されることになる）、また波形データａ’の場合１サンプル値が８ビットの波形データになる（従って１アクセス時に４サンプル値３２ビット読み出されることになる）。
【００６３】
上記選択器１００１及び１００２の構成では、そのＳ端子に選択信号として供給される周波数ナンバＦN12が“０”の時（周波数ナンバが２未満の時）は、端子０に供給されている信号を選択（夫々Ｄ31〜Ｄ16とＤ15〜Ｄ0）し、反対に上記周波数ナンバＦN12が“１”の時（周波数ナンバが２以上〜４未満の時）は、端子１に供給されている信号を選択（夫々Ｄ15〜Ｄ8とＤ7〜Ｄ0）するセレクタであり、夫々の選択された波形データをＤb、Ｄaとして出力する。その他に必要とされる波形データもＤ31〜Ｄ24がＤdと、またＤ23〜Ｄ16がＤcとして供給される。
【００６４】
ここで、次の補間器１２１における補間演算に供給される波形データは、選択信号として与えられる周波数ナンバＦN12に応じて、下記表２に示すように、波形データＤ31〜Ｄ0として供給されることになる。
【００６５】
【表２】
2005266552.tif 000004
【００６６】
上記選択器１００３〜１００５は、夫々のＳ端子に選択信号として供給される周波数ナンバＦN12が“０”の時（周波数ナンバが２未満の時）は、端子０に供給されている信号を選択し、反対に上記周波数ナンバＦN12が“１”の時（周波数ナンバが２以上〜４未満の時）は、端子１に供給されている信号を選択するセレクタであり、後述する整数部の状態が変化した時に過去のサンプル値を記憶するサンプル保持レジスタ１００７〜１００９に、どのサンプル値を記憶させるかを選択する構成である。ここで、波形データＤd、Ｄc、Ｄb、Ｄaは、選択信号として与えられる周波数ナンバＦN12に応じて、下記表３に示すように、選択されることになる。
【００６７】
【表３】
2005266552.tif 000005
【００６８】
上記選択器１００６は、後述するサンプル保持レジスタ１００７〜１００９に過去のサンプル値として記憶するためのタイミングを供給するセレクタであり、そのＳ端子に選択信号として供給される周波数ナンバＦN12が“０”の時（周波数ナンバが２未満の時）は、整数部Ｉ0からＩ1に桁上がりが発生した時のタイミングを供給し、反対に上記周波数ナンバＦN12が“１”の時（周波数ナンバが２以上〜４未満の時）は、整数部Ｉ1からＩ2に桁上がりが発生した時のタイミングを供給する。
【００６９】
上記サンプル保持レジスタ１００７〜１００９は、整数部の状態が変化した時に過去に読み出されたサンプル値として記憶するレジスタであり、そのタイミングは、選択器１００６から供給されるタイミング信号による。
【００７０】
以上の構成までの信号の流れを整理すると、ＦN12が“０”の時、整数部Ｉ0からＩ1に桁上がりがあると、Ｚ3←Ｚ1out、Ｚ2←Ｄa、Ｚ1←Ｄbとなり、またＦN12が“１”の時、整数部Ｉ1からＩ2に桁上がりがあると、Ｚ3←Ｄb、Ｚ2←Ｄc、Ｚ1←Ｄdとなる。
【００７１】
さらに、選択器１０１０〜１０１３は、後述する選択器１０１４からの選択信号がＳ端子に入力され、そのＳ端子に入力された選択信号が“０(00b)”の時、端子０の信号が選択され、“１(01b)”の時、端子１の信号が選択され、“２(10b)”の時、端子２の信号が選択され、“３(11b)”の時、端子３の信号が選択されるセレクタである。そして選択された波形データのサンプル値は次段に接続されている乗算器１１００〜１１０３で補間係数（後述する補間係数メモリ１１１０〜１１１３中に格納されている係数）と乗算される。
【００７２】
上記選択器１０１４は、そのＳ端子に選択信号として供給される周波数ナンバＦN12が“０”の時（周波数ナンバが２未満の時）は、端子０に供給されている信号（Ｉ0）を選択し、反対に上記周波数ナンバＦN12が“１”の時（周波数ナンバが２以上〜４未満の時）は、端子１に供給されている信号（Ｉ0及びＩ1）を選択するセレクタである。従ってこのセレクタ出力につき、ＦN12が“１”の時はＩ1：Ｉ0の変化“11b”、“10b”、“01b”、“00b”が出力され、ＦN12が“０”の時はＩ0の変化“01b”、“00b”が出力される。
【００７３】
一方補間器１２１を構成する乗算器１１００〜１１０３は、上記選択器１０１０〜１０１３によって選択されたサンプル値と後述する補間係数メモリ１１１０〜１１１３中に格納されている補間係数を乗算する構成である。
【００７４】
同じく補間器１２１を構成する補間係数メモリ１１１０〜１１１３は、図６(ａ)に示した周波数情報の小数部の上位ビット（本実施形態構成の場合７ビットＦ0〜Ｆ-6）に応じて補間係数Ｃm、Ｃ0、…Ｃ2を、上記乗算器１１００〜１１０３に供給するメモリである。
【００７５】
同じく補間器１２１を構成する加算器１２００は、補間係数メモリ１１１０〜１１１３から供給された補間係数と選択されたサンプル値とが上記乗算器１１００〜１１０３で乗算して得られた４サンプル値を加算して補間されたサンプル値IpWを出力する構成である。その出力は、図２及び図３に示したフィルタ１０５に供給される。
【００７６】
上記選択器１０１０〜１０１４、乗算器１１００〜１１０３、補間係数メモリ１１１０〜１１１３、加算器１２００までの信号処理について整理すると、ＦN12が“０”の時（周波数ナンバが２未満の時）、Ｉ0の状態に応じて、Ｉ0＝“０”の場合は、上記加算器１２００の出力IpW＝Ｃm×Ｚ3＋Ｃ0×Ｚ2＋Ｃ1×Ｚ1＋Ｃ2×Ｄaとなり、Ｉ0＝“１”の場合は、上記加算器１２００の出力IpW＝Ｃm×Ｚ2＋Ｃ0×Ｚ1＋Ｃ1×Ｄa＋Ｃ2×Ｄbとなる。
【００７７】
他方ＦN12が“１”の時（周波数ナンバが２以上の時）、Ｉ1とＩ0の状態に応じて、Ｉ1Ｉ0＝“０”の場合は、上記加算器１２００の出力IpW＝Ｃm×Ｚ3＋Ｃ0×Ｚ2＋Ｃ1×Ｚ1＋Ｃ2×Ｄaとなり、Ｉ1Ｉ0＝“１”の場合は、上記加算器１２００の出力IpW＝Ｃm×Ｚ2＋Ｃ0×Ｚ1＋Ｃ1×Ｄa＋Ｃ2×Ｄbとなり、またＩ1Ｉ0＝“２”の場合は、上記加算器１２００の出力IpW＝Ｃm×Ｚ1＋Ｃ0×Ｄa＋Ｃ1×Ｄb＋Ｃ2×Ｄcとなり、さらに、Ｉ1Ｉ0＝“３”の場合は、上記加算器１２００の出力IpW＝Ｃm×Ｄa＋Ｃ0×Ｄb＋Ｃ1×Ｄc＋Ｃ2×Ｄdとなる。すなわち、これらのＩ1とＩ0の取る値によって、図４の格納エリアａ’から波形データが読み出されて、４サンプル補間処理が夫々なされて出力されることになる。
【００７８】
上述した本実施形態構成によれば、一部の波形データについては、波形メモリ１０１の同じ番地に波形データを複数個ａ、ａ’記憶しており、周波数アドレス発生部１０３により、周波数ナンバが２未満の時、上記波形メモリ１０１から１ワードに２サンプル値を有している波形データａを読み出すための周波数アドレスを発生させ、他方周波数ナンバが２以上の時、同波形メモリ１０１から１ワードに４サンプル値を有している波形データａ’を読み出すための周波数アドレスを発生させ、これらのデータを読み出させるようにしているため、１チャンネルあたり１アクセスしか取れなくても、周波数ナンバが２以上の場合にも対応できるようになり、これまでになく高い周波数の波形データの読み出しが可能となる。
【００７９】
尚、本発明の波形データ出力装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【００８０】
【図１】本発明に係る波形データ出力装置の構成を備えた電子楽器の回路概略図である。
【図２】本発明に係る波形データ出力装置の装置構成の概要図である。
【図３】同じく波形データ出力装置の装置構成の概要図である。
【図４】波形メモリ１０１の波形データの格納状態を示す説明図である。
【図５】比較例として示される本願構成を用いていない波形メモリ１０１の波形データの格納状態を示す説明図である。
【図６】周波数情報発生部１０２で発生される、周波数情報の基礎となる周波数ナンバと、その周波数ナンバを基に楽音周波数に応答して周波数アドレス発生部１０３で発生される周波数情報との関係を示す説明図である。
【図７】波形メモリ１０１、周波数アドレス発生部１０３、デコーダ１０４の部分の構成を示す説明図である。
【図８】サンプル選択器１２０及び補間器１２１の詳細な構成を示す構成説明図である。
【図９】本出願人の先の出願で提案された構成の概要説明図である。
【図１０】上記提案構成における波形データ読み出しタイミングを示すタイムチャートである。
【符号の説明】
【００８１】
１００            楽音発生部
１０１            波形メモリ
１０２            周波数情報発生部
１０３            周波数アドレス発生部
１０４            デコーダ
１０５            フィルタ
１０６            フィルタ制御情報発生器
１０７            乗算器
１０８            振幅エンベロープ発生器
１１０            周波数アドレス生成器
１１１            選択器
１２０            サンプル選択器
１２１            補間器
２０１            ＣＰＵ
２０２            ＲＯＭ
２０３            ＲＡＭ
２０４            操作パネル
２０４ａ          パネルスキャン回路
２０５            鍵盤
２０５ａ          鍵盤スキャン回路
２０６            Ｄ／Ａ変換回路
２０７            アンプ
２０８            スピーカ
２１０、２１１    楽音発生部
２１２            波形メモリ
１０００            データ保持器
１００１〜１００６  選択器
１００７〜１００９  サンプル保持レジスタ
１０１０〜１０１４  選択器
１１００〜１１０３  乗算器
１１１０〜１１１３  補間係数メモリ
１２００            加算器
【図１】
2005266552.tif 000006
【図２】
2005266552.tif 000007
【図３】
2005266552.tif 000008
【図４】
2005266552.tif 000009
【図５】
2005266552.tif 000010
【図６】
2005266552.tif 000011
【図７】
2005266552.tif 000012
【図８】
2005266552.tif 000013
【図９】
2005266552.tif 000014
【図１０】
2005266552.tif 000015