(57)【要約】【課題】ＭＩＤＩデータに基づくパラメータ転送が途絶えたときに、出力音を徐々に低減して最終的に停止させる。【解決手段】音源ＣＰＵからのパラメータ転送が途絶え、フレーム周期中に書込制御信号ＷＥが検出できなかったとき、次のフレームの開始時にエラー検出部３０Ａからエラー検出信号ＥＲＲが出力される。これにより、音量制御部１０Ａでは、次のフレームの音量データＶＯＬ１を強制的に“０”に設定する。これにより、音量制御信号ＶＣの値は、現フレームの最初の音量データＶＯＬ０から、１フレーム期間をかけて直線的に“０”まで減少するように制御される。【選択図】図１
2007132965.tif 000002
【特許請求の範囲】
【請求項１】
ＭＩＤＩデータに基づいて生成されたパラメータが与えられるデータ入力手段と、
前記与えられたパラメータの内の音程データ及び音色データに基づいて楽音信号を生成する楽音生成手段と、
前記与えられたパラメータの内の音量データに基づいて、現フレームの音量データの値から次フレームの音量データの値までサンプリング周期毎に直線的に変化する音量制御信号を生成する音量制御手段と、
前記楽音信号のレベルを前記音量制御信号で制御して合成信号を出力する利得調整手段とを備えた音源ハードウエア・アクセラレータにおいて、
前記音量制御手段は、前記パラメータの入力が途絶えたときに、次フレームの音量データの値を０に設定するように構成したことを特徴とする音源ハードウエア・アクセラレータ。
【請求項２】
ＭＩＤＩデータに基づいて生成されたパラメータが与えられるデータ入力手段と、
前記与えられたパラメータの内の音程データ及び音色データに基づいて楽音信号を生成する楽音生成手段と、
前記与えられたパラメータの内の音量データに基づいて、現フレームの音量データの値から次フレームの音量データの値までサンプリング周期毎に直線的に変化する音量制御信号を生成する音量制御手段と、
前記楽音信号のレベルを前記音量制御信号で制御して合成信号を出力する利得調整手段とを備えた音源ハードウエア・アクセラレータにおいて、
前記音量制御手段は、前記パラメータの入力が途絶えたときに、次フレームの音量データの値を０に設定し、その後、該パラメータの入力が再開されたときには、現フレームの音量データの値を０に設定するように構成したことを特徴とする音源ハードウエア・アクセラレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＩＤＩ(Musical Instrument Digital Interface)データに基づいて生成されたパラメータを用いて、波形合成を行うに音源ハードウエア・アクセラレータに関するものである。
【背景技術】
【０００２】
図２は、従来の音源ハードウエア・アクセラレータの構成図である。
この音源ハードウエア・アクセラレータは、データ入力部１、波形データ読出制御部２、波形メモリ３、フィルタ部４、利得調整部５、加算部６、ディジタル・アナログ変換器（以下、「ＤＡＣ」という）７、タイミング制御部８、及び音量制御部１０を備えている。
【０００３】
データ入力部１は、図示しない音源ＣＰＵによってＭＩＤＩデータに基づいて生成されたパラメータＰＡＲＡを、書込制御信号ＷＥに従って入力するものである。データ入力部１は、例えば、１秒間に４４１００回の割合で行われるサンプリングの２５６回分に相当する時間を１フレームとして、１フレーム単位に、音程データＩＮＴ、音色データＴＯＮ、音量データＶＯＬ等のパラメータを入力し、波形データ読出制御部２、フィルタ部４、及び音量制御部１０に与えるようになっている。
【０００４】
波形データ読出制御部２は、波形メモリ３に予め記憶されている楽器毎の基本的な波形データＷＡＶを、サンプリング周期毎に読み出すためのアドレスＡＤＲを生成するものである。なお、複数の楽器を同時に演奏する場合、波形データ読出制御部２では、サンプリング周期毎に時分割で各楽器に対する読出アドレスＡＤＲを算出して出力するようになっている。波形メモリ３は、波形データ読出制御部２から与えられる読出アドレスＡＤＲに従い、波形データＷＡＶを読み出してフィルタ部４へ与えるものである。フィルタ部４は、波形メモリ３から与えられる波形データＷＡＶと、データ入力部１から与えられる音程データＩＮＴに従って雑音となる高調波成分を除去し、音程の調整と音質の向上を図るものである。
【０００５】
利得調整部５は乗算器で構成され、フィルタ部４から出力される信号Ｓ４に、音量制御部１０から与えられる音量制御信号ＶＣを掛け合わせ、出力レベルを調整するものである。利得調整部５から出力される信号Ｓ５は、加算部６へ与えられるようになっている。加算部６は、複数の楽器を同時に演奏する場合に、利得調整部５から楽器毎に出力された信号Ｓ５の瞬時値を加算し、サンプリング周期毎にその合計値を出力するものである。加算部６から出力される信号Ｓ６はＤＡＣ７に与えられ、アナログ信号Ｓ７に変換されるようになっている。なお、このアナログ信号Ｓ７は、図示しない増幅器に与えられ、スピーカ等から音響信号として出力されるようになっている。
【０００６】
タイミング制御部８は、書込制御信号ＷＥとシステムクロックＳＣＬＫ（例えば、１０ＭＨｚ）に基づいて、１フレームの開始を示すフレームパルスＦＲＭＰと、サンプリングのタイミングを示すサンプリング信号ＳＭＰＬ等のタイミング信号を生成するものである。音量制御部１０は、現在波形合成を行っているフレームの音量データＶＯＬ０から、次のフレームの音量データＶＯＬ１へ滑らかに音量を調整するための音量制御信号ＶＣを生成するものである。
【０００７】
この音量制御部１０は、データ入力部１から与えられた次のフレームの音量データＶＯＬ１を保持するフリップ・フロップ（以下、「ＦＦ」という）１１と、波形合成中のフレームの音量データＶＯＬ０を保持するＦＦ１２を有している。音量データＶＯＬ０，ＶＯＬ１は、減算器１３によってその差Δが算出され、更に、差Δは割算器１４によって１／２５６に割り算されて、ＦＦ１５に保持されるようになっている。なお、ＦＦ１５に保持された値Δ／２５６は、１サンプリング周期毎の音量変化の値に対応している。
【０００８】
ＦＦ１５の出力側は加算器１６の一方の入力側に接続され、この加算器１６の出力側がＦＦ１７に接続されている。ＦＦ１７は、サンプリング信号ＳＭＰＬに従って加算器１６の出力信号を音量制御信号ＶＣとして保持するもので、この音量制御信号ＶＣが利得調整部５へ与えられると共に、加算器１６の他方の入力側とセレクタ１８の第１入力側に与えられるようになっている。セレクタ１８は、フレームパルスＦＲＭＰが“Ｈ”のときに第１入力側を選択し、“Ｌ”のときには第２入力側を選択するものである。セレクタ１８の出力側は、ＦＦ１２の入力側に接続され、ＦＦ１２の出力側がセレクタ１２の第２入力側と減算器１３に接続されている。なお、ＦＦ１２，１５は、システムクロックＳＣＬＫに同期して動作するものである。
【０００９】
次に動作を説明する。
フレーム周期の開始毎に、フレームパルスＦＲＭＰが“Ｈ”になると、ＦＦ１１には、データ入力部１から次のフレームの音量データＶＯＬ１が与えられて保持される。一方、ＦＦ１２には、ＦＦ１７に保持されている音量制御信号ＶＣが、セレクタ１８を介して与えられ、音量データＶＯＬ０として保持される。これにより、ＦＦ１５には、音量データＶＯＬ０，ＶＯＬ１の差Δの１／２５６の値Δ／２５６が保持される。その後、フレームパルスＦＲＭＰが“Ｌ”になると、セレクタ１８は第２入力側に切り替えられ、ＦＦ１２，１５の値はそのまま保持される。従って、ＦＦ１５に保持されている値Δ／２５６も、そのまま保持される。
【００１０】
波形データ読出制御部２では、サンプリング信号ＳＭＰＬに従い、サンプリング周期毎に、音程データＩＮＴと音色データＴＯＮに基づいて、波形メモリ３の読出アドレスＡＤＲを算出して出力する。波形メモリ３から読み出された波形データＷＡＶは、フィルタ部４へ与えられて音程と音質の調整が行われた後、利得調整部５へ与えられる。
【００１１】
利得調整部５では、フィルタ部４から与えられた信号Ｓ５と音量制御部１０から与えられる音量制御信号ＶＣが乗算され、加算部６へ与えられる。加算部６では、複数の楽器を同時に演奏する場合に、利得調整部５から楽器毎に出力された信号Ｓ５の瞬時値を加算し、サンプリング周期毎にその合計値の信号Ｓ６を出力する。加算部６から出力される信号Ｓ６は、ＤＡＣ７に与えられ、アナログの信号Ｓ７に変換され、図示しない増幅器を介してスピーカ等から音響信号として出力される。
【００１２】
次のサンプリング周期に移ると、対応する波形データＷＡＶが波形メモリ３から読み出され、フィルタ部４を通して信号Ｓ４として利得調整部５に与えられる。
【００１３】
この時、音量制御部１０では、サンプリング信号ＳＭＰＬによってＦＦ１７の値が、加算器１６の加算結果に書き替えられる。即ち、加算器１６の入力側には、ＦＦ１７からそれまでの音量制御信号ＶＣと、ＦＦ１５から値Δ／２５６とが与えられている。従って、加算結果は、それまでの音量制御信号ＶＣが値Δ／２５６だけ増加した値となる。そして、この加算結果が、新しい音量制御信号ＶＣとしてＦＦ１７に保持され、利得制御部５に与えられる。これにより、２回目のサンプリング周期では、利得調整部５から出力される信号Ｓ５は、１回目のサンプリング周期よりもΔ／２５６だけ増加した値となる。
【００１４】
このような繰り返しにより、１フレーム分、即ち、２５６回のサンプリングが終了した時点では、ＦＦ１７に保持された音量制御信号ＶＣの値と、ＦＦ１１に保持された音量データＶＯＬ１の値は一致する。
【００１５】
従って、現在波形合成を行っているフレームの音量データＶＯＬ０から、次のフレームの音量データＶＯＬ１へ滑らかに音量を調整することができる。
【００１６】
【特許文献１】特開２００５−１０７１１５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
しかしながら、この音源ハードウエア・アクセラレータでは、音源ＣＰＵ等の誤動作によってパラメータＰＡＲＡの転送が途絶えると、波形合成を行うパラメータ、特に音量データＶＯＬが変化しないので、ブザー音のような音が鳴り続けるという問題があった。
【００１８】
本発明は、パラメータＰＡＲＡの転送が途絶えたときに、出力音を徐々に低減して最終的に停止させることを目的としている。
【課題を解決するための手段】
【００１９】
本発明は、ＭＩＤＩデータに基づいて生成されたパラメータが与えられるデータ入力手段と、前記与えられたパラメータの内の音程データ及び音色データに基づいて楽音信号を生成する楽音生成手段と、前記与えられたパラメータの内の音量データに基づいて、現フレームの音量データの値から次フレームの音量データの値までサンプリング周期毎に直線的に変化する音量制御信号を生成する音量制御手段と、前記楽音信号のレベルを前記音量制御信号で制御して合成信号を出力する利得調整手段とを備えた音源ハードウエア・アクセラレータにおいて、前記音量制御手段を、前記パラメータの入力が途絶えたときに、次フレームの音量データの値を０に設定するように構成したことを特徴としている。
【発明の効果】
【００２０】
本発明では、パラメータの入力が途絶えたときに、次フレームの音量データの値を０に設定しているので、音量が徐々に減少して最終的に停止されるという効果がある。
【発明を実施するための最良の形態】
【００２１】
音量制御手段を、パラメータの入力が途絶えたときに、次フレームの音量データの値を０に設定し、その後、パラメータの入力が再開されたときには、現フレームの音量データを０に設定するように構成すると、再開時の違和感をなくすことができる。
【００２２】
この発明の前記並びにその他の目的と新規な特徴は、次の好ましい実施例の説明を添付図面と照らし合わせて読むと、より完全に明らかになるであろう。但し、図面は、もっぱら解説のためのものであって、この発明の範囲を限定するものではない。
【実施例１】
【００２３】
図１は、本発明の実施例１を示す音源ハードウエア・アクセラレータの構成図であり、図２中の要素と共通の要素には共通の符号が付されている。
【００２４】
この音源ハードウエア・アクセラレータは、図２中の音量制御部１０に代えて構成が若干異なる音量制御部１０Ａを設けると共に、この音量制御部１０Ａに対する制御信号（エラー検出信号）を生成するためのエラー検出部３０Ａを設けたものである。
【００２５】
即ち、この音源ハードウエア・アクセラレータは、図示しない音源ＣＰＵ等によってＭＩＤＩデータに基づいて生成されたパラメータＰＡＲＡを、書込制御信号ＷＥに従って入力するデータ入力部１を有している。データ入力部１は、例えば、１秒間に４４１００回（４４．１ｋＨｚ）の割合で行われるサンプリングの２５６回分に相当する時間を１フレームとして、１フレーム単位に、音程データＩＮＴ、音色データＴＯＮ、音量データＶＯＬ等のパラメータＰＡＲＡを入力するようになっている。
【００２６】
入力されたパラメータＰＡＲＡの内、音程データＩＮＴと音色データＴＯＮは、波形データ読出制御部２に与えられるようになっている。波形データ読出制御部２は、波形メモリ３に予め記憶されている楽器毎の基本的な波形データＷＡＶを、サンプリング周期毎に読み出すためのアドレスＡＤＲを生成するものである。即ち、波形データ読出制御部２では、音色データＴＯＮによって演奏する楽器の種別を判定し、対応する楽器の波形データＷＡＶが存在する領域を調べ、更に音程データＩＮＴに従って指定された音程の波形が出力されるように読み出すアドレスを算出し、波形メモリ３へ読出アドレスＡＤＲとして出力するようになっている。なお、複数の楽器を同時に演奏する場合、波形データ読出制御部２では、サンプリング周期毎に時分割で各楽器毎の読出アドレスＡＤＲを算出して出力する。
【００２７】
波形メモリ３は、波形データ読出制御部２から与えられる読出アドレスＡＤＲに従って、波形データＷＡＶを読み出して出力するものである。波形メモリ３から読み出された波形データＷＡＶは、フィルタ部４へ与えられるようになっている。
【００２８】
フィルタ部４は、波形メモリ３から与えられる波形データＷＡＶと、データ入力部１から与えられる音程データＩＮＴに従って雑音となる高調波成分を除去することにより、音程の調整と音質の向上を図るものである。フィルタ部４の出力信号Ｓ４は、利得調整部５へ与えられるようになっている。
【００２９】
利得調整部５は乗算器で構成され、フィルタ部４から出力される信号Ｓ４に、後述する音量制御部１０Ａから与えられる音量制御信号ＶＣを掛け合わせて、出力レベルを調整するものである。利得調整部５から出力される信号Ｓ５は、加算部６へ与えられるようになっている。
【００３０】
加算部６は、複数の楽器を同時に演奏する場合に、利得調整部５から楽器毎に出力された信号Ｓ５の瞬時値を加算し、サンプリング周期毎にその合計値を出力するものである。加算部６から出力される信号Ｓ６はＤＡＣ７に与えられ、アナログ信号Ｓ７に変換されるようになっている。なお、このアナログ信号Ｓ７は、図示しない増幅器に与えられ、スピーカ等から音響信号として出力されるようになっている。
【００３１】
一方、データ入力部１に入力されたパラメータＰＡＲＡの内の音量データＶＯＬは、音量制御部１０Ａに与えられるようになっている。音量制御部１０Ａは、現在波形合成を行っているフレームの音量データＶＯＬ０から、次のフレームの音量データＶＯＬ１へ滑らかに音量を調整するための音量制御信号ＶＣを生成するものである。更に、この音量制御部１０Ａは、エラー検出部３０Ａからエラー検出信号が与えられたときには、音量制御信号ＶＣを徐々に０にさせる機能を有している。
【００３２】
この音量制御部１０Ａは、データ入力部１から入力された次のフレームの音量データＶＯＬ１を保持するＦＦ１１と、波形合成中のフレームの音量データＶＯＬ０を保持するＦＦ１２を有している。ＦＦ１１の音量データＶＯＬ１は、セレクタ１９の第１入力側に与えられ、このセレクタ１９の第２入力側には固定データ“０”が与えられている。セレクタ１９の出力側は、減算器１３の＋入力端子に接続され、この減算器１３の−入力端子にはＦＦ１２の出力側が接続されている。
【００３３】
減算器１３によって算出された差Δは、割算器１４によって除数２５６に割り算され、ＦＦ１５に保持されるようになっている。このＦＦ１５に保持された値Δ／２５６は、１サンプリング周期毎の音量変化の値に対応している。
【００３４】
ＦＦ１５の出力側は加算器１６の一方の入力側に接続され、この加算器１６の出力側がＦＦ１７に接続されている。ＦＦ１７は、サンプリング信号ＳＭＰＬに従って加算器１６の出力信号を音量制御信号ＶＣとして保持するもので、この音量制御信号ＶＣが利得調整部５へ与えられると共に、加算器１６の他方の入力側とセレクタ１８の第１入力側に与えられるようになっている。セレクタ１８は、フレームパルスＦＲＭＰが“Ｈ”のときに第１入力側を選択し、“Ｌ”のときには第２入力側を選択するものである。セレクタ１８の出力側は、ＦＦ１２の入力側に接続され、ＦＦ１２の出力側がセレクタ１２の第２入力側と減算器１３に接続されている。なお、ＦＦ１２，１５は、システムクロックＳＣＬＫ（例えば、１０ＭＨｚ）に同期して動作するようになっている。
【００３５】
エラー検出部３０Ａは、１フレーム期間内に、書込制御信号ＷＥが与えられなかった場合に、次のフレーム期間にエラー検出信号ＥＲＲを出力するものである。
【００３６】
このエラー検出部３０Ａは、書込制御信号ＷＥとフレームパルスＦＲＭＰを選択信号とするセレクタ３１、このセレクタ３１の出力信号を保持するＦＦ３２、フレームパルスＦＲＭＰを選択信号とするセレクタ３３、及びこのセレクタ３３の出力信号を保持するＦＦ３４を有している。
【００３７】
セレクタ３１は、書込制御信号ＷＥが“Ｈ”のときに入力信号“Ｌ”を選択し、書込制御信号ＷＥが“Ｌ”でフレームパルスＦＲＭＰが“Ｈ”のときに入力信号“Ｈ”を選択し、書込制御信号ＷＥとフレームパルスＦＲＭＰが共に“Ｌ”のときにＦＦ３２から出力される信号Ｓ３２を選択するものである。また、セレクタ３３は、フレームパルスＦＲＭＰが“Ｈ”のときにＦＦ３２の信号Ｓ３２を選択し、“Ｌ”のときにＦＦ３４から出力されるエラー検出信号ＥＲＲを選択するものである。なお、ＦＦ３２，３４は、システムクロックＳＣＬＫに同期して動作するようになっている。
【００３８】
更に、この音源ハードウエア・アクセラレータは、書込制御信号ＷＥと内部で生成されるシステムクロックＳＣＬＫに基づいて、フレームパルスＦＲＭＰとサンプリング信号ＳＭＰＬ等のタイミング信号を生成するタイミング制御部８を有している。
【００３９】
図３は、図１の動作を示す信号波形図であり、特に音量制御部１０Ａとエラー検出部３０Ａの動作を示している。以下、この図３を参照しつつ、図１の動作を説明する。
【００４０】
図３のフレーム周期Ｆ１の開始で、フレームパルスＦＲＭＰが“Ｈ”になると、音量制御部１０ＡのＦＦ１１には、データ入力部１から次のフレームの音量データＶＯＬ１（＝２００）が与えられて保持される。一方、ＦＦ１２には、ＦＦ１７に保持されている音量制御信号ＶＣが、セレクタ１８を介して与えられ、音量データＶＯＬ０（＝１００）として保持される。
【００４１】
この時、エラー検出信号ＥＲＲは“Ｌ”であるので、セレクタ１９ではＦＦ１１の音量データＶＯＬ１が選択され、減算器１３に与えられる。減算器１３には、ＦＦ１７の音量データＶＯＬ０が与えられているので、この減算器１３から音量データＶＯＬ０，ＶＯＬ１の差Δ（ＶＯＬ１−ＶＯＬ０＝１００）が出力される。差Δは、割算器１４によって１／２５６に割り算される。これにより、ＦＦ１５には、値Δ／２５６（＝１００／２５６）が保持される。その後、フレームパルスＦＲＭＰが“Ｌ”になると、セレクタ１８は第２入力側に切り替えられるので、ＦＦ１１，１２の値もそのまま保持される。従って、ＦＦ１５に保持されている値Δ／２５６も、変化せずにそのまま保持される。
【００４２】
波形データ読出制御部２では、サンプリング信号ＳＭＰＬに従い、サンプリング周期毎に、音程データＩＮＴと音色データＴＯＮに基づいて、波形メモリ３の読出アドレスＡＤＲを算出して出力する。波形メモリ３から読み出された波形データＷＡＶは、フィルタ部４へ与えられて音程と音質の調整が行われた後、利得調整部５へ与えられる。
【００４３】
利得調整部５では、フィルタ部４から与えられた信号Ｓ５と音量制御部１０から与えられる音量制御信号ＶＣが乗算され、加算部６へ与えられる。加算部６では、複数の楽器を同時に演奏する場合に、利得調整部５から楽器毎に出力された信号Ｓ５の瞬時値を加算し、サンプリング周期毎にその合計値の信号Ｓ６を出力する。加算部６から出力される信号Ｓ６は、ＤＡＣ７に与えられ、アナログ信号Ｓ７に変換され、図示しない増幅器を介してスピーカ等から音響信号として出力される。
【００４４】
次のサンプリング周期に移ると、波形データ読出制御部２によって、対応する波形データＷＡＶが波形メモリ３から読み出され、フィルタ部４を通して信号Ｓ４として利得調整部５に与えられる。
【００４５】
この時、音量制御部１０Ａでは、サンプリング信号ＳＭＰＬによってＦＦ１７の値が、加算器１６の加算結果に書き替えられる。即ち、加算器１６の入力側には、ＦＦ１７からそれまでの音量制御信号ＶＣと、ＦＦ１５から値Δ／２５６とが与えられている。従って、加算結果は、それまでの音量制御信号ＶＣが値Δ／２５６だけ増加した値（＝１０１）となる。そして、この加算結果が、新しい音量制御信号ＶＣとしてＦＦ１７に保持され、利得制御部５に与えられる。これにより、２回目のサンプリング周期では、利得調整部５から出力される信号Ｓ５は、１回目のサンプリング周期よりもΔ／２５６だけ増加した値となる。
【００４６】
このような繰り返しにより、１フレーム分、即ち、２５６回のサンプリングが終了した時点では、ＦＦ１７に保持された音量制御信号ＶＣの値は、ＦＦ１１に保持された音量データＶＯＬ１の値（＝２００）に一致する。従って、現在波形合成を行っているフレームの音量データＶＯＬ０から、次のフレームの音量データＶＯＬ１へ滑らかに音量を調整することができる。
【００４７】
このフレーム周期Ｆ１の期間内に、書込制御信号ＷＥが“Ｈ”になると、エラー検出部３０ＡのＦＦ３２の信号Ｓ３２は“Ｌ”となる。これにより、次のフレーム周期Ｆ２の開始時に、フレームパルスＦＲＭＰによってこの信号Ｓ３２がＦＦ３４に保持されると共に、信号Ｓ３２は“Ｈ”に変化する。従って、エラー検出信号ＥＲＲは“Ｌ”のまま変化せず、次のフレーム周期Ｆ２においても、フレーム周期Ｆ１と同様の動作が行われる。
【００４８】
ここで、フレーム周期Ｆ２の期間内に、書込制御信号ＷＥが“Ｈ”にならなかったとする。この場合、次のフレーム周期Ｆ３の開始時に、フレームパルスＦＲＭＰによってこの信号Ｓ３２がＦＦ３４に保持されると共に、信号Ｓ３２は“Ｈ”に変化する。このため、エラー検出信号ＥＲＲは“Ｈ”に変化する。
【００４９】
エラー検出信号ＥＲＲが“Ｈ”になると、音量制御部１０Ａのセレクタ１９によって固定データ“０”が選択され、次のフレームの音量データＶＯＬ１として出力される。これにより、フレーム周期Ｆ３の期間に、音量制御信号ＶＣは、値“５０”から値“０”に徐々に減少する。
【００５０】
以上のように、この実施例１の音源ハードウエア・アクセラレータは、１フレーム期間内に、書込制御信号ＷＥが与えられなかった場合に、次のフレーム期間にエラー検出信号ＥＲＲを出力するエラー検出部３０Ａと、このエラー検出信号ＥＲＲが与えられたときには、次のフレームの音量データＶＯＬ１を強制的に“０”に設定し、次のフレーム期間内に音量制御信号ＶＣを徐々に“０”まで低下させる音量制御部１０Ａを有している。これにより、パラメータＰＡＲＡの転送が途絶えたときに、出力音を徐々に低減して最終的に停止させることができるという利点がある。
【実施例２】
【００５１】
図４は、本発明の実施例２を示す音量制御部とエラー検出部の構成図である。これらの音量制御部１０Ｂとエラー検出部３０Ｂは、それぞれ図１中の音量制御部１０Ａとエラー検出部３０Ａに代えて用いられるもので、要素と共通の要素には共通の符号が付されている。
【００５２】
エラー検出部３０Ｂは、エラー検出信号ＥＲＲを１フレーム期間だけ遅らせた信号をゲイン値選択信号ＧＳとして出力するために、ＦＦ３４の後段にセレクタ３５とＦＦ３６からなるシフト回路を設けたものである。
【００５３】
一方、音量制御部１０Ｂは、ゲイン値選択信号ＧＳが“Ｈ”となっているフレームの最初の音量データＶＯＬ０を、強制的に“０”に設定する機能を付加したもので、ＦＦ１２の出力側と減算器１３の入力側の間にセレクタ２０を設けると共に、加算器１６の出力側とＦＦ１７の入力側の間にセレクタ２１を設けている。そして、これらのセレクタ２０，２１は、ゲイン値選択信号ＧＳが“Ｈ”の時に固定値“０”を選択するようになっている。その他の構成は、図１と同様である。
【００５４】
この実施例２では、音源ハードウエア・アクセラレータが、音源ＣＰＵからのデータ転送の異常を検出したときに、エラー検出信号ＥＲＲを音源ＣＰＵに送るようにしている。一方、音源ＣＰＵではエラー検出信号ＥＲＲに基づいてソフトウエアリセット等の処理によってシステムの初期化動作を行い、システムが回復した後、音源ハードウエア・アクセラレータに対して前回のフレーム時に転送したパラメータを再送することを前提としている。その結果、新たにノート・オンコマンドが入力されなくても、前回波形合成を行っていたパラメータがそのまま使用されるため、音源ＣＰＵの誤動作によって消音した音の再復帰が可能である。また、前回の音量データをそのまま使用した場合、急激に音量が大きくなり、人間の耳にはノイズとして聞こえる可能性があるため、現フレームの音量データを“０”から開始させることにより、なお良い効果が得られる。
【００５５】
図５は、図４の動作を示す信号波系図である。以下、この図５を参照しつつ図４の動作を説明する。
【００５６】
フレーム周期Ｆ１〜Ｆ３の動作は、図３と全く同じである。
即ち、フレーム周期Ｆ１，Ｆ２では、各フレーム周期の最初に、音源ＣＰＵから与えられた音量データＶＯＬ１に基づいて直線的に音量が変化するように音量制御信号ＶＣが制御される。フレーム周期Ｆ３では、フレーム周期Ｆ２の期間中にデータ転送のエラーが発生したため、エラー検出信号ＥＲＲが“Ｈ”となり、このフレーム周期Ｆ３の音量データＶＯＬ１が強制的に“０”に設定され、音量制御信号ＶＣの値は最終的に“０”となるように直線的に減少する。
【００５７】
フレーム周期Ｆ４では、エラー検出信号ＥＲＲが１フレーム周期遅れてゲイン値選択信号ＧＳとなるので、このゲイン値選択信号ＧＳは“Ｈ”となる。これにより、音量制御部１０Ｂのセレクタ２０，２１によって固定値“０”が選択され、音量データＶＯＬ０として減算器１３に“０”が与えられると共に、ＦＦ１７には音量制御信号ＶＣとして“０”が与えられる。これにより、音量制御信号ＶＣの値は“０”から最終的な音量データＶＯＬ１まで直線的に増加する。
【００５８】
以上のように、この実施例２の音量制御部１０Ｂは、エラー検出信号ＥＲＲがあった後のフレームの音量データＶＯＬ０と音量制御信号ＶＣを強制的に“０”に設定するようにしている。これにより、実施例１の利点に加えて、次のフレームでの演奏時に音源ＣＰＵに対して新たにノート・オンコマンドが入力されなくても、音源ハードウエア・アクセラレータに対して、前回と同様のパラメータを転送することにより、音が消滅した後、自動的に同様の演奏を行うことができるという利点がある。
【００５９】
なお、本発明は、上記実施例に限定されず、種々の変形が可能である。この変形例としては、例えば、次のようなものがある。
（１）  １フレームのサンプリング数を２５６として説明したが、このサンプリング数は任意である。なお、サンプリング数をＮとした場合、割算器１４の除数はＮとなる。
（２）  サンプリング周波数を４４．１ｋＨｚとして説明したが、このサンプリング周波数も任意である。
（３）  音量制御部１０Ａ，１０Ｂや、エラー検出部３０Ａ，３０Ｂの回路構成は一例であり、同様の機能を果たすものであれば、どのような回路構成でも適用可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施例を示す音源ハードウエア・アクセラレータの構成図である。
【図２】従来の音源ハードウエア・アクセラレータの構成図である。
【図３】図１の動作を示す信号波形図である。
【図４】本発明の実施例２を示す音量制御部とエラー検出部の構成図である。
【図５】図４の動作を示す信号波形図である。
【符号の説明】
【００６１】
１    データ入力部
２    波形データ読出制御部
３    波形メモリ
４    フィルタ部
５    利得調整部
６    加算部
７    ＤＡＣ
８    タイミング制御部
１０Ａ，１０Ｂ    音量制御部
３０Ａ，３０Ｂ    エラー検出部
【図１】
2007132965.tif 000003
【図２】
2007132965.tif 000004
【図３】
2007132965.tif 000005
【図４】
2007132965.tif 000006
【図５】
2007132965.tif 000007