(57)【要約】【課題】楽音発生処理によって生じるマイクロコンピュータへの負荷を軽減し、効率的に楽音を発生することができる楽音発生装置を提供する。【解決手段】ＣＰＵ１０２は、サンプリング周期の２倍周期毎にインバータ３００から出力されるクロック信号Ｃに従って、格納領域２００＿１及び２００＿２に順にサンプルデータを格納する。一方、バッファ部２１は、サンプリング周期毎にタイマ５０１から出力されるクロック信号Ａに従って、先頭の格納領域２００＿１に格納されているサンプルデータをＤＡＣ６０１へと出力し、２番目の格納領域２００＿２に格納されているサンプルデータを先頭の格納領域２００＿１に転送する。【選択図】図１
2007101963.tif 000002
【特許請求の範囲】
【請求項１】
メモリに記憶されている楽音データをデコードすることによって、所定順序で得られる複数のサンプルデータを出力する楽音発生装置であって、
前記楽音データのサンプリング周期毎に第１クロック信号を出力する第１クロック信号生成部と、
前記サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に第２クロック信号を出力する第２クロック信号生成部と、
ｍ個（ただし、ｍは２以上の整数とする）以上の前記サンプルデータを格納し、前記第１クロック信号に従って、格納されている前記サンプルデータの各々を前記所定順序で１つずつ出力するバッファ部と、
前記メモリに記憶されている楽音データをデコードすることによって、複数の前記サンプルデータを生成し、前記第２クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）以上の前記サンプルデータを前記バッファ部に格納する演算部とを備える、楽音発生装置。
【請求項２】
前記第２クロック信号生成部は、前記サンプリング周期の２倍の周期毎に前記第２クロック信号を出力し、
前記バッファ部は、
前記サンプルデータを１つずつ格納する２つの格納領域を含み、
前記第１クロック信号に従って、先頭の前記格納領域に格納されている前記サンプルデータを出力し、かつ、２番目の前記格納領域に格納されている前記サンプルデータを先頭の前記格納領域に転送し、
前記演算部は、２つの前記サンプルデータを先頭の前記格納領域から前記所定順序で格納することを特徴とする、請求項１に記載の楽音発生装置。
【請求項３】
前記第２クロック信号生成部は、前記サンプリング周期のｍ倍（ただし、ｍは３以上の整数とする）の周期毎に前記第２クロック信号を出力し、
前記バッファ部は、
前記サンプルデータを１つずつ格納するｍ個（ただし、ｍは３以上の整数とする）の格納領域を含み、
前記第１クロック信号に従って、先頭の前記格納領域に格納されている前記サンプルデータを出力し、かつ、２番目以降の前記格納領域に格納されている前記サンプルデータの各々を、先頭の前記格納領域に向かって前記所定順序で１つずつ転送し、
前記演算部は、ｍ個（ただし、ｍは３以上の整数とする）の前記サンプルデータを先頭の前記格納領域から前記所定順序で格納することを特徴とする、請求項１に記載の楽音発生装置。
【請求項４】
前記第２クロック信号生成部は、前記サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に前記第２クロック信号を出力し、
前記バッファ部は、
前記サンプルデータを１つずつ格納する（ｍ＋１）個（ただし、ｍは２以上の整数とする）の格納領域を含み、
前記第１クロック信号に従って、先頭の前記格納領域に格納されている前記サンプルデータを出力し、かつ、２番目以降の前記格納領域に格納されている前記サンプルデータの各々を、先頭の前記格納領域に向かって前記所定順序で１つずつ転送し、
前記演算部は、ｍ個（ただし、ｍは２以上の整数とする）の前記サンプルデータを２番目の前記格納領域から前記所定順序で格納することを特徴とする、請求項１に記載の楽音発生装置。
【請求項５】
メモリに記憶されている楽音データをデコードすることによって、所定順序で得られる複数のサンプルデータを出力する楽音発生装置であって、
前記楽音データのサンプリング周期毎に第１クロック信号を出力する第１クロック信号生成部と、
前記第１クロック信号の周期の半分の周期毎に第２クロック信号を出力する第２クロック信号生成部と、
２つ以上の前記サンプルデータを格納し、前記第１クロック信号に従って、格納されている前記サンプルデータの各々を前記所定順序で１つずつ出力するバッファ部と、
前記メモリに記憶されている楽音データをデコードすることによって、複数の前記サンプルデータを生成し、前記第１クロック信号に従って、１つ以上の前記サンプルデータを前記バッファ部に格納する演算部と、
前記バッファ部に２つ以上の前記サンプルデータが格納されているときに、先頭から連続する２つの前記サンプルデータから補間データを生成し、前記補間データを出力する補間データ生成部と、
前記第２クロック信号に従って、前記バッファ部からの出力と、前記補間データ生成部からの出力とを交互に選択して出力する出力選択部とを備える、楽音発生装置。
【請求項６】
前記バッファ部は、
前記サンプルデータを１つずつ格納する２つの格納領域を含み、
前記第１クロック信号に従って、先頭の前記格納領域に格納されている前記サンプルデータを出力し、かつ、２番目の前記格納領域に格納されている前記サンプルデータを先頭の前記格納領域に転送し、
前記演算部は、前記第１クロック信号に従って、１つの前記サンプルデータを２番目の前記格納領域に前記所定順序で格納することを特徴とする、請求項５に記載の楽音発生装置。
【請求項７】
メモリに記憶されている楽音データをデコードすることによって、所定順序で得られる複数のサンプルデータを出力する楽音発生装置であって、
前記楽音データのサンプリング周期毎に第１クロック信号を出力する第１クロック信号生成部と、
前記第１クロック信号の周期の半分の周期毎に第２クロック信号を出力する第２クロック信号生成部と、
前記サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に第２クロック信号を出力する第２クロック信号生成部と、
ｍ個（ただし、ｍは２以上の整数とする）以上の前記サンプルデータを格納し、前記第１クロック信号に従って、格納されている前記サンプルデータの各々を前記所定順序で１つずつ出力するバッファ部と、
前記メモリに記憶されている楽音データをデコードすることによって、複数の前記サンプルデータを生成し、前記第３クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）以上の前記サンプルデータを前記バッファ部に格納する演算部と、
前記バッファ部に２つ以上の前記サンプルデータが格納されているときに、先頭から連続する２つの前記サンプルデータから補間データを生成し、前記補間データを出力する補間データ生成部と、
前記第２クロック信号に従って、前記バッファ部からの出力と、前記補間データ生成部からの出力とを交互に選択して出力する出力選択部とを備える、楽音発生装置。
【請求項８】
前記第３クロック信号生成部は、前記サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に、前記第３クロック信号を出力し、
前記バッファ部は、
前記サンプルデータを１つずつ格納する（ｍ＋１）個（ただし、ｍは２以上の整数とする）の格納領域を含み、
前記第１クロック信号に従って、先頭の前記格納領域に格納されている前記サンプルデータを出力し、かつ、２番目以降の前記格納領域に格納されている前記サンプルデータの各々を、先頭の前記格納領域に向かって前記所定順序で１つずつ転送し、
前記演算部は、前記第３クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）の前記サンプルデータを２番目以降の前記格納領域から前記所定順序で格納することを特徴とする、請求項７に記載の楽音発生装置。
【請求項９】
前記第３クロック信号生成部は、前記サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に、前記第３クロック信号を出力し、
前記バッファ部は、
前記サンプルデータを１つずつ格納する（ｍ＋２）個（ただし、ｍは２以上の整数とする）の格納領域を含み、
前記第１クロック信号に従って、先頭の前記格納領域に格納されている前記サンプルデータを出力し、かつ、２番目以降の前記格納領域に格納されている前記サンプルデータを、先頭の前記格納領域に向かって前記所定順序で１つずつ転送し、
前記演算部は、前記第３クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）の前記サンプルデータを３番目の前記格納領域から前記所定順序で格納することを特徴とする、請求項７に記載の楽音発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽音発生装置に関し、より特定的には、マイクロコンピュータによって楽音サンプルデータの作成と、サンプルデータ出力処理とを行うための楽音発生装置に関するものである。
【背景技術】
【０００２】
従来、ＣＤやＭＤ等を再生するオーディオ製品においては、楽音処理専用のハードウェアを備えるＬＳＩが楽音発生装置として使用されている。楽音処理専用の楽音発生装置は、音質を向上させるために、オーバーサンプリング処理や、より高いサンプリング周期でのサンプルデータの出力を行うことができる。
【０００３】
一方、報知器や冷蔵庫のような家電システムは、ユーザに操作説明を促す等の目的で、楽音データとして用意された音声を再生する場合がある。家電システムに音声再生機能を付加する場合、コスト抑制の観点から、オーディオ製品に用いられるような高価な専用ＬＳＩを使用することができない場合がある。
【０００４】
そこで、家電システム等においては、安価な汎用マイクロコンピュータを用いるソフトウェア処理によって、楽音データが再生される場合がある（例えば、特許文献１参照）。
【０００５】
図９は、従来の楽音発生装置の概略構成を示すブロック図であり、図１０は、図９に示される楽音発生装置のタイミングチャートである。
【０００６】
図９に示される楽音発生装置は、マイクロコンピュータによって実現され、圧縮された楽音データを記憶する楽音メモリ１０１と、ＣＰＵ１０２と、楽音データのサンプリング周期毎にクロック信号を出力するタイマ５０１と、ＤＡＣ６０１とを備える。
【０００７】
ＣＰＵ１０２は、タイマ５０１が出力するクロック信号毎に割り込み処理を実行することによって、楽音データの再生を行う。より詳細には、図１０のＡ欄に示されるように、楽音発生装置は、クロック信号Ａの立ち上がりタイミング毎に、ＣＰＵ１０２に対して割り込み要求を発行する。ＣＰＵ１０２は、割り込み要求に応答して、楽音メモリ１０１に記憶されている楽音データをデコードし、サンプルデータを生成する。次に、ＣＰＵ１０２は、図１０のＢ欄に示されるように、割り込み要求毎に、生成されたサンプルデータをＤＡＣ（Ｄ／Ａコンバータ）６０１に出力する。その後、ＤＡＣ６０１は、入力されたサンプルデータをアナログ変換することによって得られたアナログデータを、外部端子６０２を介して外部に出力する。
【０００８】
また、楽音データの再生音質を向上させるために、マイクロコンピュータを用いるソフトウェア処理によって、オーバーサンプリング処理が実行される場合がある。
【０００９】
図１１は、従来の楽音発生装置における割り込み処理を示すフローチャートである。尚、オーバーサンプリング処理が実行される場合、楽音発生装置は、オーバーサンプリング周期毎に、ＣＰＵに対して割り込み要求を発行する。
【００１０】
ＣＰＵは、割り込み要求に応答して、メモリに記憶されている楽音データをデコードする（ステップＳ１１０１）。次に、ＣＰＵは、サンプルデータと補間データとを交互に出力するために、割り込み要求のタイミングがサンプリング周期と一致するか否かを判定する（ステップＳ１１０２）。割り込み要求のタイミングがサンプリング周期と一致しない場合（ステップＳ１１０２でＮｏ）、ＣＰＵは、補間処理を行う（ステップＳ１１０３）。より詳細には、ＣＰＵは、前回の割り込み処理時に生成されたサンプルデータと、ステップＳ１１０１において生成されたサンプルデータとの補間データを作成する。その後、ＣＰＵは、作成された補間データを出力し（ステップＳ１１０５）、割り込み処理を終了する。
【００１１】
一方、割り込み要求のタイミングがサンプリング周期と一致する場合（ステップＳ１１０２でＹｅｓ）、ＣＰＵは、デコードされたサンプルデータを出力対象として選択する（ステップＳ１１０４）。そして、ＣＰＵは、ステップＳ１１０１において生成されたサンプルデータを出力し（ステップＳ１１０５）、割り込み処理を終了する。
【特許文献１】特開平５−０６１４６０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記の楽音発生装置のように、マイクロコンピュータによって楽音の出力を行うためには、メモリからの圧縮楽音データの読み出しと、読み出された圧縮楽音データのデコードと、デコードによって生成されたサンプルデータの出力とがソフトウェア処理によって実行される必要がある。
【００１３】
しかしながら、マイクロコンピュータは、楽音データのデコードによるサンプルデータの生成処理と、生成されたサンプルデータの出力処理のために、その処理能力の大部分を割り当てる。そのため、マイクロコンピュータは、楽音を出力する処理と、それ以外の他の処理とを同時に実行することが困難であった。
【００１４】
また、決められたサンプリング周期毎にサンプルデータを出力する必要があるため、サンプルデータを生成及び出力させるための割込み処理を最優先で実行できるようにシステムを構成する必要があった。そのため、サンプルデータ出力以外で時間的な制約のある処理（例えば、家電製品等の機能を実現するための制御処理）を同時に実行させることが困難であった。
【００１５】
一般に、ＣＰＵは、割り込み処理を実行するために、処理中のデータを一時的に待避して実行すべき処理を切り替えるためのオーバーヘッド時間を必要とする。上記のような従来の楽音発生装置は、サンプリング周期またはオーバーサンプリング周期毎に割り込み要求を発行するので、割り込み回数に応じて、必要なオーバーヘッド時間の占める割合が増加する。その結果、ＣＰＵの使用効率が低下する。
【００１６】
更に、マイクロコンピュータによって高品質な楽音を出力するために、オーバーサンプリング処理が実行される場合、マイクロコンピュータは、更に、補間データの作成処理と、デコードデータ及び補間データの出力の切り替え処理とをソフトウェア処理によって実行する必要がある。この結果、マイクロコンピュータへの負荷が更に増大する。
【００１７】
それ故に、本発明は、楽音発生処理によって生じるハードウェアへの負荷を軽減し、効率的に楽音を発生することができる楽音発生装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
第１の局面は、メモリに記憶されている楽音データをデコードすることによって、所定順序で得られる複数のサンプルデータを出力する楽音発生装置に向けられている。当該楽音発生装置は、楽音データのサンプリング周期毎に第１クロック信号を出力する第１クロック信号生成部と、サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に第２クロック信号を出力する第２クロック信号生成部と、ｍ個（ただし、ｍは２以上の整数とする）以上のサンプルデータを格納し、第１クロック信号に従って、格納されているサンプルデータの各々を所定順序で１つずつ出力するバッファ部と、メモリに記憶されている楽音データをデコードすることによって、複数のサンプルデータを生成し、第２クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）以上のサンプルデータをバッファ部に格納する演算部とを備える。
【００１９】
この場合、第２クロック信号生成部は、サンプリング周期の２倍の周期毎に第２クロック信号を出力し、バッファ部は、サンプルデータを１つずつ格納する２つの格納領域を含み、第１クロック信号に従って、先頭の格納領域に格納されているサンプルデータを出力し、かつ、２番目の格納領域に格納されているサンプルデータを先頭の格納領域に転送し、演算部は、２つのサンプルデータを先頭の格納領域から所定順序で格納しても良い。
【００２０】
あるいは、第２クロック信号生成部は、サンプリング周期のｍ倍（ただし、ｍは３以上の整数とする）の周期毎に第２クロック信号を出力し、バッファ部は、サンプルデータを１つずつ格納するｍ個（ただし、ｍは３以上の整数とする）の格納領域を含み、第１クロック信号に従って、先頭の格納領域に格納されているサンプルデータを出力し、かつ、２番目以降の格納領域に格納されているサンプルデータの各々を、先頭の格納領域に向かって所定順序で１つずつ転送し、演算部は、ｍ個（ただし、ｍは３以上の整数とする）のサンプルデータを先頭の格納領域から所定順序で格納しても良い。
【００２１】
あるいは、第２クロック信号生成部は、サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に第２クロック信号を出力し、バッファ部は、サンプルデータを１つずつ格納する（ｍ＋１）個（ただし、ｍは２以上の整数とする）の格納領域を含み、第１クロック信号に従って、先頭の格納領域に格納されているサンプルデータを出力し、かつ、２番目以降の格納領域に格納されているサンプルデータの各々を、先頭の格納領域に向かって所定順序で１つずつ転送し、演算部は、ｍ個（ただし、ｍは２以上の整数とする）のサンプルデータを２番目の格納領域から所定順序で格納しても良い。
【００２２】
第２の局面は、メモリに記憶されている楽音データをデコードすることによって、所定順序で得られる複数のサンプルデータを出力する楽音発生装置に向けられている。当該楽音生成装置は、楽音データのサンプリング周期毎に第１クロック信号を出力する第１クロック信号生成部と、第１クロック信号の周期の半分の周期毎に第２クロック信号を出力する第２クロック信号生成部と、２つ以上のサンプルデータを格納し、第１クロック信号に従って、格納されているサンプルデータの各々を所定順序で１つずつ出力するバッファ部と、メモリに記憶されている楽音データをデコードすることによって、複数のサンプルデータを生成し、第１クロック信号に従って、１つ以上のサンプルデータをバッファ部に格納する演算部と、バッファ部に２つ以上のサンプルデータが格納されているときに、先頭から連続する２つのサンプルデータから補間データを生成し、補間データを出力する補間データ生成部と、第２クロック信号に従って、バッファ部からの出力と、補間データ生成部からの出力とを交互に選択して出力する出力選択部とを備える。
【００２３】
この場合、バッファ部は、サンプルデータを１つずつ格納する２つの格納領域を含み、第１クロック信号に従って、先頭の格納領域に格納されているサンプルデータを出力し、かつ、２番目の格納領域に格納されているサンプルデータを先頭の格納領域に転送し、演算部は、第１クロック信号に従って、１つのサンプルデータを２番目の格納領域に所定順序で格納しても良い。
【００２４】
第３の局面は、メモリに記憶されている楽音データをデコードすることによって、所定順序で得られる複数のサンプルデータを出力する楽音発生装置であって、楽音データのサンプリング周期毎に第１クロック信号を出力する第１クロック信号生成部と、第１クロック信号の周期の半分の周期毎に第２クロック信号を出力する第２クロック信号生成部と、サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に第２クロック信号を出力する第２クロック信号生成部と、ｍ個（ただし、ｍは２以上の整数とする）以上のサンプルデータを格納し、第１クロック信号に従って、格納されているサンプルデータの各々を所定順序で１つずつ出力するバッファ部と、メモリに記憶されている楽音データをデコードすることによって、複数のサンプルデータを生成し、第３クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）以上のサンプルデータをバッファ部に格納する演算部と、バッファ部に２つ以上のサンプルデータが格納されているときに、先頭から連続する２つのサンプルデータから補間データを生成し、補間データを出力する補間データ生成部と、第２クロック信号に従って、バッファ部からの出力と、補間データ生成部からの出力とを交互に選択して出力する出力選択部とを備える。
【００２５】
この場合、第３クロック信号生成部は、サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に、第３クロック信号を出力し、バッファ部は、サンプルデータを１つずつ格納する（ｍ＋１）個（ただし、ｍは２以上の整数とする）の格納領域を含み、第１クロック信号に従って、先頭の格納領域に格納されているサンプルデータを出力し、かつ、２番目以降の格納領域に格納されているサンプルデータの各々を、先頭の格納領域に向かって所定順序で１つずつ転送し、演算部は、第３クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）のサンプルデータを２番目以降の格納領域から所定順序で格納しても良い。
【００２６】
あるいは、第３クロック信号生成部は、サンプリング周期のｍ倍（ただし、ｍは２以上の整数とする）の周期毎に、第３クロック信号を出力し、バッファ部は、サンプルデータを１つずつ格納する（ｍ＋２）個（ただし、ｍは２以上の整数とする）の格納領域を含み、第１クロック信号に従って、先頭の格納領域に格納されているサンプルデータを出力し、かつ、２番目以降の格納領域に格納されているサンプルデータを、先頭の格納領域に向かって所定順序で１つずつ転送し、演算部は、第３クロック信号に従って、ｍ個（ただし、ｍは２以上の整数とする）のサンプルデータを３番目の格納領域から所定順序で格納しても良い。
【発明の効果】
【００２７】
第１の局面に係る楽音発生装置によれば、演算部への割込み処理がサンプリング周期によって制限されないため、楽音出力処理の優先度に左右されない楽音発生装置を実現することが可能となる。また、割込み処理の回数が間引きされるため、割込み処理によって生じていた演算部の負荷を軽減することが可能となる。
【００２８】
第２の局面に係る楽音発生装置によれば、オーバーサンプリング処理が実行される際に、演算部への割り込み処理の回数がオーバーサンプリング周期によって制限されないため、楽音出力処理の優先度に左右されず、かつ、より高音質な楽音を再生する楽音発生装置を実現することが可能となる。また、補間処理がハードウェアによって実行されるため、オーバーサンプリング処理によって生じる演算部への負荷を軽減することができる。その結果、演算部は、楽音発生処理以外の他の処理を同時に効率的に実行することも可能となる。
【００２９】
第３の局面に係る楽音発生装置によれば、オーバーサンプリング処理が実行される際に、演算部への割り込み処理の回数をサンプリング周波数より少なくなるので、演算部の負荷を一層軽減し、かつ、より高音質な楽音を再生する楽音発生装置を実現することが可能となる。また、補間処理がハードウェアによって実行されるため、オーバーサンプリング処理によって生じる演算部への負荷を軽減することができる。その結果、演算部は、楽音発生処理以外の他の処理を同時かつ効率的に実行することも可能となる。
【発明を実施するための最良の形態】
【００３０】
以下、図面を参照しながら、各実施形態について説明する。また、各図面において、同一符号は、同一または相当部分を示す。
【００３１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る楽音発生装置の概略構成を示すブロック図であり、図２は、図１に示される楽音発生装置のタイミングチャートである。
【００３２】
図１に示される楽音発生装置１１は、タイマ５０１と、フリップフロップ５０２と、インバータ３００と、バッファ部２１と、ＣＰＵ１０２とを備える。
【００３３】
タイマ５０１は、楽音メモリ１０１に記憶されている楽音データのサンプリング周期毎に、第１クロック信号Ａを出力する。尚、本実施形態においては、タイマ５０１は、サンプリング周期毎に第１クロック信号Ａを出力する第１クロック信号生成部に相当する。
【００３４】
フリップフロップ（ＦＦ）５０２は、楽音データのサンプリング周期の２倍の周期毎にクロック信号Ｂを出力する。インバータ３００は、クロック信号Ｂを反転させることによって得られる第２クロック信号Ｃを出力する。尚、本実施形態において、フリップフロップ（ＦＦ）５０２と、インバータ３００とは、第２クロック信号Ｃを出力するための第２クロック信号生成部に相当する（ただし、ｎは、２以上の整数とする）。
【００３５】
バッファ部２１は、ＣＰＵ１０２によって生成される２つ以上のサンプルデータを、サンプルデータが生成された順に格納する。また、バッファ部２１は、第１クロック信号Ａに従って、格納されている２つのサンプルデータの各々を、サンプルデータが生成された順に１つずつ出力する機能を有する。
【００３６】
より特定的には、本実施形態に係るバッファ部２１は、サンプルデータを１つずつ格納する２つの格納領域２００＿１及び２００＿２を含む。バッファ部２１は、第１クロック信号Ａにしたがって、先頭の格納領域２００＿１に格納されているサンプルデータを出力し、かつ、２番目の格納領域２００＿２に格納されているサンプルデータを先頭の格納領域２００＿１へと転送する。
【００３７】
ＣＰＵ１０２は、楽音メモリ１０１に記憶されている楽音データをデコードすることによって複数のサンプルデータを生成する。そして、ＣＰＵ１０２は、第２クロック信号Ｃに従って、生成されたサンプルデータを格納領域２００＿１及び２００＿２の各々に、サンプルデータが生成された順に格納する。
【００３８】
本実施形態に係る楽音発生装置１１は、例えば家電装置等に制御装置として含まれるマイクロコンピュータを利用して実現される。したがって、ＣＰＵ１０２は、楽音発生処理に加えて、家電装置の機能を実現するために必要な制御処理を併せて実行することができる。
【００３９】
尚、楽音メモリ１０１は、楽音データを記憶する。また、ＤＡＣ（Ｄ／Ａコンバータ）６０１は、楽音発生装置１１から出力されたサンプルデータをアナログ変換することによって得られるアナログ信号を、外部端子６０２に出力する。
【００４０】
ここで、本実施形態に係る楽音発生装置１１による楽音出力動作について説明する。
【００４１】
まず、ＣＰＵ１０２は、処理の空き時間に楽音データをデコードすることによって予め所定数のサンプルデータを予め生成する。尚、ＣＰＵ１０２は、バッファ部２１に一度に格納する個数以上のサンプルデータを作成しておけばよい。次にＣＰＵ１０２は、時刻ｔ１において、第２クロック信号Ｃの立ち下がりに応答して、予め作成されたサンプルデータを格納領域２００＿１及び２００＿２の各々に格納する。
【００４２】
次に、バッファ部２１は、時刻ｔ１において、タイマ５０１から出力される第１クロック信号Ａの立ち上がりに応答して、先頭の格納領域２００＿１に格納されたサンプルデータをＤＡＣ６０１へと出力する。ほぼ同時に、バッファ部２１は、２番目の格納領域２００＿２に格納されているサンプルデータを先頭の格納領域２００＿１に転送する。
【００４３】
次に、バッファ部２１は、時刻ｔ２において、第１クロック信号Ａの立ち上がりに応答して、格納領域２００＿１に格納されているサンプルデータをＤＡＣ６０１へと出力する。
【００４４】
尚、時刻ｔ３以降においては、ＣＰＵ１０２及び楽音発生装置１１は、上記の時刻ｔ１〜ｔ２までの期間と同様の処理を繰り返す。これにより、楽音発生装置１１は、楽音データをデコードすることによって生成されたサンプルデータを、格納領域２００＿１及び２００＿２を介して連続してＤＡＣ６０１に連続して出力することができる。
【００４５】
尚、本実施形態においては、ＣＰＵ１０２は、第２クロック信号Ｃの立ち下がりに応答して、格納領域２００＿１及び２００＿２にサンプルデータを格納するが、ＣＰＵ１０２は、第２クロック信号Ｃの立ち下がりによって規定される期間（図２のＤ欄に示される更新期間）内に、格納領域２００＿１及び２００＿２の各々に順にサンプルデータを格納しても良い。
【００４６】
以上のように、本実施形態に係る楽音発生装置１１は、楽音データのサンプリング周期毎に、先頭の格納領域２００＿１に格納されているサンプリングデータをＤＡＣ６０１へと出力する。これに対して、ＣＰＵ１０２は、処理の空き時間に予め生成したサンプルデータを、第２クロック信号Ｃの周期、すなわち、サンプリング周期の２倍の周期毎に格納領域２００＿１及び２００＿２の各々に、サンプルデータが生成された順序で格納する。
【００４７】
したがって、本実施形態に係る楽音発生装置１１によれば、ＣＰＵ１０２への割り込み要求回数は、サンプリング周波数の半分に間引きされる。割り込み要求回数が減少するにつれて、ＣＰＵが割り込み処理を実行する時に生じるオーバーヘッド時間が減少する。よって、ＣＰＵ１０２は、必要な処理を効率的に実行することが可能となる。
【００４８】
また、本実施形態に係る楽音発生装置によれば、サンプルデータを生成し出力するための割込み処理は、サンプリング周期によって制限されない。したがって、楽音出力処理の優先度に左右されない楽音発生装置を実現することが可能となる。
【００４９】
（第２の実施形態）
図３は、本発明の第２の実施形態に係る楽音発生装置の概略構成を示すブロック図であり、図４は、図３に示される楽音発生装置のタイミングチャートである。
【００５０】
図３に示される楽音発生装置１２は、タイマ５０１と、カウンタ５０５と、分周数データ５０３が入力されるコンパレータ５０４と、インバータ３００と、バッファ部２２と、ＣＰＵ１０２とを備える。以下では、本実施形態と第１の実施形態との相違点を中心に説明する。
【００５１】
本実施形態に係るバッファ部２１は、サンプルデータを１つずつ格納する（ｍ＋１）個の格納領域２００＿１〜２００＿（ｍ＋１）を含む（ただし、ｍは２以上の整数とする）。バッファ部２１は、第１クロック信号Ａに従って、先頭の格納領域２００＿１に格納されているサンプルデータを出力し、かつ、２番目以降の格納領域２００＿２及び２００＿（ｍ＋１）に格納されているサンプルデータの各々を、先頭の格納領域２００＿１へ向かって、サンプルデータが生成された順序で１つずつ転送する。
【００５２】
カウンタ（ＣＮＴ）５０５は、タイマ５０１から入力される第１クロック信号Ａの立ち上がりをカウントする。コンパレータ５０４は、分周数データ５０３と、カウンタ５０５の出力とを比較し、カウンタ５０５の出力と分周数データ５０３とが一致するときに立ち上がるクロック信号Ｂをインバータ３００へと出力する。また、インバータ３００は、クロック信号Ｂを反転させることによって得られる第２クロック信号Ｃを出力する。尚、本実施形態においては、タイマ５０１と、カウンタ５０５と、分周数データ５０３が入力されるコンパレータ５０４とは、サンプリング周期のｍ倍の周期毎に第２クロック信号Ｃを生成する第２クロック信号生成部に相当する（ただし、ｍは２以上の整数とする）。
【００５３】
ＣＰＵ１０２は、楽音メモリ１０１に記憶されている楽音データをデコードすることによって複数のサンプルデータを生成する。そして、ＣＰＵ１０２は、第２クロック信号Ｃに従って、生成されたサンプルデータを順に、２番目以降の格納領域２００＿２〜２００＿（ｍ＋１）の各々に格納する。
【００５４】
ここで、本実施形態に係る楽音発生装置１２による楽音出力動作について説明する。尚、本実施形態においては、一例として、バッファ部２２が５つの格納領域２００＿１〜２００＿５を含み、かつ、分周数データが４に設定されている場合（ｍが４に設定されている場合）を想定する。
【００５５】
まず、ＣＰＵ１０２は、空き時間に楽音データをデコードすることによって複数のサンプルデータを生成する。次に、ＣＰＵ１０２は、時刻ｔ１において、第２クロック信号Ｃの立ち下がりに応答して、４つのサンプルデータの各々を、２番目以降の格納領域２００＿２〜２００＿５の各々に、当該サンプルデータが生成された順に格納する。
【００５６】
次に、バッファ部２２は、時刻ｔ１において、第１クロック信号Ａの立ち上がりに応答して、２番目以降の格納領域２００＿２〜２０３＿５の各々に格納されているサンプルデータを、先頭の格納領域に向かって、順に１つずつ転送する。すなわち、楽音発生装置１２は、格納領域２００＿２〜２００＿５に格納されているサンプルデータの各々を、それぞれ、格納領域２００＿１〜２００＿４へと順に転送する。
【００５７】
次に、バッファ部２２は、時刻ｔ２において、第１クロック信号Ａの立ち上がりに応答して、格納領域２００＿１に格納されているサンプルデータをＤＡＣ６０１へと出力する。ほぼ同時に、楽音発生装置１２は、２番目以降の格納領域２００＿２〜２００＿４に格納されているサンプルデータの各々を、それぞれ、格納領域２００＿１〜２００＿３に順に転送する。
【００５８】
以下同様に、バッファ部２２は、時刻ｔ３及びｔ４において、格納領域２００＿１に格納されているサンプルデータをＤＡＣ６０１に出力し、格納領域２００＿２及び２００＿３に格納されているサンプルデータの各々を順に先頭の格納領域２００＿１へと１つずつ転送する。この結果、時刻ｔ１において格納領域２００＿２〜２００＿５に格納された４つのサンプルデータの各々は、時刻ｔ２〜ｔ５の各々において順にＤＡＣ６０１へと出力される。
【００５９】
尚、以降においては、ＣＰＵ１０２及びバッファ部２２は、上記の時刻ｔ１〜ｔ４までの期間と同様の処理を繰り返す。これにより、楽音発生装置１２は、楽音データをデコードすることによって生成されたサンプルデータを、バッファ部２２を介して連続してＤＡＣ６０１に出力することができる。
【００６０】
尚、本実施形態においては、ＣＰＵ１０２は、第２クロック信号Ｃの立ち下がりに応答して、格納領域２００＿２〜２００＿（ｍ＋１）にサンプルデータを格納するが、ＣＰＵ１０２は、第２クロック信号Ｃの立ち下がりによって規定される期間（図４のＤ欄に示される更新期間）内に、格納領域２００＿２〜２００＿（ｍ＋１）の各々に順にサンプルデータを格納しても良い。
【００６１】
以上のように、本実施形態に係る楽音発生装置１２は、楽音データのサンプリング周期毎に、格納領域２００＿１に格納されているサンプリングデータをＤＡＣ６０１へと出力する。これに対して、ＣＰＵ１０２は、処理の空き時間に予め生成したサンプルデータを、第２クロック信号Ｃの周期、すなわち、サンプリング周期のｍ倍の周期毎にバッファ部２２へと格納する（ただし、ｍは２以上の整数とする）。したがって、楽音発生装置１２によれば、ＣＰＵ１０２への割り込み要求回数は、サンプリング周波数の１／ｍに間引きされる。割り込み要求回数が減少するにつれて、ＣＰＵ１０２が割り込み処理を実行する時に生じるオーバーヘッド時間の占める割合が減少する。よって、ＣＰＵ１０２は、楽音発生処理と他の必要な処理とを並列的かつ効率的に実行することが可能となる。
【００６２】
（第３の実施形態）
図５は、本発明の第３の実施形態に係る楽音発生装置の概略構成を示すブロック図であり、図６は、図５に示される楽音発生装置のタイミングチャートである。
【００６３】
図５に示される楽音発生装置１３は、逓倍器５０６と、補間データ生成器３０１と、セレクタ４０１とを更に備える点で、第１の実施形態と相違する。以下では、本実施形態と第１の実施形態との相違点を中心に説明する。
【００６４】
タイマ５０１は、第１の実施形態と同様に、楽音データのサンプリング周期毎クロック信号Ａを出力する。逓倍器５０６は、タイマ５０１から出力されたクロック信号Ａを逓倍することによって得られる第２クロック信号Ｅを出力する。より特定的には、逓倍器５０６は、クロック信号Ａの周期、すなわち、サンプリング周期を２倍にし、オーバーサンプリング周期を生成する。尚、本実施形態において、タイマ５０１と逓倍器５０６とは、第２クロック信号Ｅを出力するための第２クロック信号生成部に相当する。
【００６５】
フリップフロップ５０２は、逓倍器５０６から出力されたクロック信号Ｅを（１／２）に分周することによって得られるクロック信号Ｂを出力する。インバータ３００は、クロック信号Ｂを反転させることによって得られる第１クロック信号Ｃを出力する。尚、本実施形態において、フリップフロップ５０２及びインバータ３００は、サンプリング周期毎に第１クロック信号Ｃを出力するための第１クロック信号生成部に相当する。また、本実施形態においては、バッファ部２３は、第１クロック信号Ｃの代わりに、クロック信号Ａを用いても良い。
【００６６】
補間データ生成器３０１は、格納領域２００＿１及び２００＿２の各々に格納されているサンプルデータの各々を加算した後、加算されたデータを１／２にすることによって、直線補間サンプルデータを生成する。また、補間データ生成器３０１は、生成された補間サンプルデータをセレクタ４０１へと出力する。
【００６７】
セレクタ４０１は、第２クロック信号Ｅの立ち上がりに応答して、バッファ部２３から出力されたサンプルデータと、補間データ生成器３０１から出力された直線補間データとを交互に選択して出力する。
【００６８】
ＣＰＵ１０２は、楽音メモリ１０１に記憶されている楽音データをデコードすることによって複数のサンプルデータを順に生成する。そして、ＣＰＵ１０２は、第２クロック信号Ｃに従って、１つのサンプルデータを順に格納領域２００＿２に格納する。
【００６９】
ここで、本実施形態に係る楽音発生装置１３による楽音出力動作について説明する。
【００７０】
まず、ＣＰＵ１０２は、処理の空き時間に、楽音メモリ１０１に記憶されているデコードデータをデコードすることによって、所定数のサンプルデータを予め作成する。次にＣＰＵ１０２は、時刻ｔ１において、第２クロック信号Ｃの立ち下がりに応答して、予め作成されたサンプルデータを格納領域２００＿２に格納する。
【００７１】
次に、時刻ｔ１からサンプリング周期が経過した時刻ｔ３において、バッファ部２３は、第１クロック信号Ｃの立ち下がりに応答して、格納領域２００＿２に格納されているサンプルデータを格納領域２００＿１に転送する。
【００７２】
また、時刻ｔ３において、バッファ部２３は、格納領域２００＿１に格納されているサンプルデータを出力する。セレクタ４０１は、逓倍器５０６から出力される第２クロック信号Ｅの立ち上がりに応答して、バッファ部２３から出力されたサンプルデータをＤＡＣ６０１へと出力する。
【００７３】
一方、時刻ｔ３において、ＣＰＵ１０２は、第１クロック信号Ｃの立ち下がりに応答して、サンプルデータを格納領域２００＿２に格納する。補間データ生成器３０１は、格納領域２００＿１及び格納領域２００＿２の各々に格納されているサンプルデータから、補間サンプルデータを生成する。
【００７４】
次に、時刻ｔ４において、セレクタ４０１は、第１クロック信号Ｅの立ち上がりに応答して、補間データ生成器３０１からの出力を選択し、補間サンプルデータをＤＡＣ６０１へと出力する。
【００７５】
時刻ｔ５以降においては、楽音発生装置１３は、上記の時刻ｔ３〜ｔ５までの期間と同様の処理を繰り返す。これにより、楽音発生装置１３は、楽音データをデコードすることによって生成されたサンプルデータと補間サンプルデータとを、バッファ部２３を介してオーバーサンプリング周期毎に連続してＤＡＣ６０１に出力することができる。
【００７６】
尚、本実施形態においては、ＣＰＵ１０２は、第２クロック信号Ｃの立ち下がりに応答して、格納領域２００＿２にサンプルデータを格納しているが、ＣＰＵ１０２は、第３クロック信号Ｃの立ち下がりから、バッファ部２３が格納領域２００＿１に格納されているサンプルデータを次に出力するまでの期間（図６のＤ欄に示される更新期間）内に、格納領域２００＿２にサンプルデータを格納しても良い。
【００７７】
以上のように、本実施形態にセレクタ４０１は、オーバーサンプリング周期毎に、バッファ部２３から出力されたサンプリングデータと、補間データ生成器３０１から出力された補間サンプルデータとを交互に選択してＤＡＣ６０１へと出力する。これに対して、ＣＰＵ１０２は、処理の空き時間に予め生成したサンプルデータを、第１クロック信号Ｃの周期、すなわち、サンプリング周期毎に格納領域２００＿２に順に格納する。したがって、楽音発生装置１３によれば、ＣＰＵ１０２への割り込み要求回数は、オーバーサンプリング周波数の半分、すなわち、サンプリング周波数に間引きされる。割り込み要求回数が減少するにつれて、ＣＰＵが割り込み処理を実行する時に生じるオーバーヘッド時間の占める割合が減少する。よって、ＣＰＵ１０２は、必要な処理を効率的に実行することが可能となる。
【００７８】
また、本実施形態に係る楽音発生装置１３によれば、ＣＰＵ１０２への負荷を軽減し、かつ、オーバーサンプリング処理によって、より高音質で楽音データを再生することが可能となる。
【００７９】
（第４の実施形態）
図７は、本発明の第４の実施形態に係る楽音発生装置の概略構成を示すブロック図であり、図８は、図６に示される楽音発生装置のタイミングチャートである。
【００８０】
図７に示される楽音発生装置１４は、第２の実施形態に係る楽音発生装置１２に加えて、更に、逓倍器５０６と、補間データ生成器３０１と、セレクタ４０１とを更に備える。尚、本実施形態に係る逓倍器５０６と、補間データ生成器３０１と、セレクタ４０１との構成及び機能は、第３の実施形態に係るものと同様であるので、ここでは説明を繰り返さない。
【００８１】
本実施形態に係るバッファ部２４は、サンプルデータを１つずつ格納する（ｍ＋２）個の格納領域２００＿１〜２００＿（ｍ＋２）を含む（ただし、ｍは２以上の整数とする）。バッファ部２４は、第１クロック信号Ａに従って、先頭の格納領域２００＿１に格納されているサンプルデータを出力し、かつ、２番目以降の格納領域２００＿２〜２００＿（ｍ＋２）に格納されているサンプルデータの各々を、先頭の格納領域２００＿１へ向かって、サンプルデータが生成された順序で１つずつ転送する。
【００８２】
ＣＰＵ１０２は、楽音メモリ１０１に記憶されている楽音データをデコードすることによって複数のサンプルデータを生成する。そして、ＣＰＵ１０２は、第１クロック信号Ｃに従って、生成されたサンプルデータを３番目以降の格納領域第２００＿３〜２００＿（ｍ＋２）の各々に、サンプルデータが生成された順序で格納する。
【００８３】
また、本実施形態においては、コンパレータ５０４は、カウンタ５０５からの出力と、分周数データ２０３とを比較して、第２クロック信号Ｅの周期（サンプリング周期の半分）の２ｍ倍の周期のクロック信号Ｂをインバータ３００へと出力する（ただし、ｍは２以上の整数とする）。すなわち、本実施形態においては、カウンタ５０５と、分周数データ５０３が入力されるコンパレータ５０４と、インバータ３００とは、サンプリング周期のｍ倍の周期毎に第３クロック信号Ｃを生成する第３クロック信号生成部に相当する。
【００８４】
以下、本実施形態に係る楽音発生装置１４による楽音出力動作について説明する。尚、本実施形態においては、一例として、楽音発生装置１４は、６つの格納領域２００＿１〜２００＿６を含み、かつ、分周数データ５０３が８に設定されている場合（ｍが４に設定されている場合）を想定する。
【００８５】
まず、ＣＰＵ１０２は、空き時間に楽音データをデコードすることによって複数のサンプルデータを生成する。次に、ＣＰＵ１０２は、時刻ｔ１において、第３クロック信号Ｃの立ち下がりに応答して、４つのサンプルデータを３番目以降の格納領域２００＿３〜２００＿６の各々に順に格納する。
【００８６】
次に、時刻ｔ３において、バッファ部２４は、第１クロック信号Ａの立ち上がりに応答して、３番目以降の格納領域２００＿３〜２００＿６に格納されているサンプルデータの各々を、それぞれ、２番目以降の格納領域２００＿２〜２００＿５の各々に転送する。
【００８７】
次に、時刻ｔ５において、バッファ部２４は、第１クロック信号Ａの立ち上がりに応答して、２番目以降の格納領域２００＿２〜２００＿５の各々に格納されているサンプルデータを、それぞれ、格納領域２００＿１〜２００＿４の各々に転送する。
【００８８】
また、時刻ｔ５において、バッファ部２４は、タイマ５０１から出力される第１クロック信号Ａの立ち上がりに応答して、格納領域２００＿１に格納されているサンプルデータをセレクタ４０１へと出力する。セレクタ４０１は、第２クロック信号Ｅに応答して、バッファ部２４から出力されたサンプルデータを選択してＤＡＣ６０１へと出力する。尚、補間データ生成器３０１は、格納領域２００＿１及び２００＿２の各々に格納されているサンプルデータから補間サンプルデータを生成する。
【００８９】
次に、時刻ｔ６において、セレクタ４０１は、第２クロック信号Ｅに応答して、補間データ生成器３０１から出力された補間サンプルデータをＤＡＣ６０１へと出力する。
【００９０】
更に、バッファ部２４は、時刻ｔ７及びｔ９において、第１クロック信号Ａの立ち上がりに応答して、先頭の格納領域２００＿１に格納されているサンプルデータをセレクタ４０１へと出力する。セレクタ４０１は、時刻ｔ７及びｔ９において、第２クロック信号Ｅに応答して、バッファ部２４から出力されたサンプルデータを選択してＤＡＣ６０１へと出力する。また、セレクタ４０１は、時刻ｔ８において、補間データ生成器３０１から出力された補間サンプルデータを選択してＤＡＣ６０１へと出力する。
【００９１】
一方、時刻ｔ９において、ＣＰＵ１０２は、第３クロック信号Ｃの立ち下がりタイミングに応答して、４つのサンプルデータを３番目以降の格納領域２００＿３〜２００＿６の各々に順に格納する。
【００９２】
以降においては、ＣＰＵ１０２及び楽音発生装置１４は、上記と同様の処理を繰り返す。これにより、楽音発生装置１２は、バッファ部２４を介して、サンプルデータと補間サンプルデータとを、連続してＤＡＣ６０１に出力することができる。
【００９３】
尚、本実施形態においては、ＣＰＵ１０２は、第３クロック信号Ｃの立ち下がりに応答して、３番目以降の格納領域２００＿３〜２００＿（ｍ＋２）にサンプルデータを格納するが、ＣＰＵ１０２は、第３クロック信号Ｃの立ち下がりから、バッファ部２４が格納領域２００＿１に格納されているサンプルデータを次に出力するまでの期間（図８のＤ欄に示される更新期間）内に、格納領域２００＿３〜２００＿（ｍ＋２）に順にサンプルデータを格納しても良い。
【００９４】
以上のように、本実施形態に係る楽音発生装置１４は、オーバーサンプリング周期毎に、バッファ部２４から出力されたサンプルデータと、補間データ生成器３０１から出力された補間サンプルデータとを交互に選択してＤＡＣ６０１へと出力する。これに対して、ＣＰＵ１０２は、処理の空き時間に予め生成した２以上のサンプルデータを、第３クロック信号Ｃの周期（サンプリング周期のｍ倍）毎に、格納領域２００＿３〜２００＿（ｍ＋２）へと順に格納する。したがって、楽音発生装置１４によれば、ＣＰＵ１０２への割り込み要求回数は、サンプリング周波数の１／ｍに間引きされる。割り込み要求回数が減少するにつれて、ＣＰＵ１０２が割り込み処理を実行する時に生じるオーバーヘッド時間の累計が減少する。よって、ＣＰＵ１０２は、必要な処理を効率的に実行することが可能となる。
【００９５】
また、本実施形態に係る楽音発生装置によれば、ＣＰＵ１０２への負荷をより一層軽減し、かつ、オーバーサンプリング処理によって、より高音質で楽音データを再生することが可能となる。
【００９６】
尚、上記の各実施形態では、クロック信号を生成するための構成を特定しているが、第１〜第３クロック信号として必要な周期のクロック信号を生成することができれば、他の構成が採用されても良い。
【００９７】
また、上記の第２及び第４の実施形態においては、ＣＰＵからバッファ部へのサンプルデータの書き込み方法について、様々な変形を適用することができる。例えば、上記の第２の実施形態では、ＣＰＵは、２番目以降の格納領域に順にサンプルデータを書き込んでいるが、ＣＰＵは、第１の実施形態と同様に、先頭の格納領域から順にサンプルデータを格納しても良い。また、バッファ部が４以上の格納領域を含む場合には、ＣＰＵは、３番目以降の格納領域に順にサンプルデータを格納しても良い。また、上記の第４の実施形態において、ＣＰＵは、２番目以降の格納領域から順にサンプルデータを格納しても良い。
【００９８】
また、上記の第２及び第４の実施形態において、分周数データの値が予め定められているが、外部からの入力や、プログラムによる処理によって、分周数データの値が書き換え可能であっても良い。
【００９９】
更に、上記の第３及び第４の実施形態において、タイマと逓倍器との代わりに、オーバーサンプリング周期毎のクロック信号を生成するタイマが用いられても良い。
【産業上の利用可能性】
【０１００】
本発明に係る楽音発生装置は、マイクロコンピュータを用いて効率的に楽音を発生することができるので、例えば、音声案内等の楽音データを再生することができる家電製品の制御装置等に有用である。
【図面の簡単な説明】
【０１０１】
【図１】本発明の第１の実施形態に係る楽音発生装置の概略構成を示すブロック図
【図２】図１に示される楽音発生装置のタイミングチャート
【図３】本発明の第２の実施形態に係る楽音発生装置の概略構成を示すブロック図
【図４】図３に示される楽音発生装置のタイミングチャート
【図５】本発明の第３の実施形態に係る楽音発生装置の概略構成を示すブロック図
【図６】図５に示される楽音発生装置のタイミングチャート
【図７】本発明の第４の実施形態に係る楽音発生装置の概略構成を示すブロック図
【図８】図７に示される楽音発生装置のタイミングチャート
【図９】従来の楽音発生装置の概略構成を示すブロック図
【図１０】図９に示される楽音発生装置のタイミングチャート
【図１１】従来の楽音発生装置における割り込み処理を示すフローチャート
【符号の説明】
【０１０２】
１１、１２、１３、１４  楽音発生装置
２１、２２、２３、２４  バッファ部
１０１  楽音メモリ
１０２  ＣＰＵ
２００＿１〜２００＿ｎ  格納領域
３０１  補間データ生成器
４０１  セレクタ
５０１  タイマ
５０２  フリップフロップ
５０３  分周数データ
５０４  コンパレータ
５０５  カウンタ
６０１  ＤＡＣ
【図１】
2007101963.tif 000003
【図２】
2007101963.tif 000004
【図３】
2007101963.tif 000005
【図４】
2007101963.tif 000006
【図５】
2007101963.tif 000007
【図６】
2007101963.tif 000008
【図７】
2007101963.tif 000009
【図８】
2007101963.tif 000010
【図９】
2007101963.tif 000011
【図１０】
2007101963.tif 000012
【図１１】
2007101963.tif 000013