(57)【特許請求の範囲】
【請求項１】
楽音の少なくとも立ち上がりのアタックフェーズの楽音波形データ及びアタックフェーズ以降の楽音波形データを記憶した楽音波形データ記憶手段と、
前記楽音波形データを、外部から与えられる発音指令の楽音ピッチに応じた速度でアタックフェーズの部分から連続して読み出す読出制御手段と、
外部から与えられる発音指令に従い、アタックフェーズ及びそれ以降のフェーズの楽音特性の時間変化を表すエンベロープ信号を発生するエンベロープ信号発生手段と、
前記読出制御手段が読み出した楽音波形データに前記エンベロープ信号を付与するエンベロープ付与手段と、
前記読出制御手段がアタックフェーズの楽音波形データの読出しの終了を検出すると、その検出信号を前記エンベロープ信号発生手段に与えて、前記エンベロープ信号発生手段が発生するエンベロープ信号をアタックフェーズからそれ以降のフェーズに移行させ、その移行のタイミングと、前記読出制御手段による前記楽音波形データの読み出しがアタックフェーズからそれ以降のフェーズへ移行するときの移行のタイミングとを連動させるフェーズ移行制御手段と、
を備えることを特徴とする音源装置。
【請求項２】
前記読出制御手段は、前記楽音波形データ記憶手段に記憶されているアタックフェーズの楽音波形データについては１回だけ、それ以降のフェーズの楽音波形データについては繰り返し読出し制御を行う請求項１記載の音源装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、楽音波形データをメモリから順次読みだして楽音を形成する音源装置に関し、特に、ピッチ変化があっても楽音波形データとエンベロープ信号のアタック部での読出しの同期を取ることのできる音源装置に関する。
【０００２】
【従来の技術】
楽音波形データ（サウンドデータ）メモリを使用する音源装置では、通常、サウンドデータを記憶するメモリとともにＥＧ（エンベロープジェネレータ）信号の発生部を備えており、メモリから読み出すサウンドデータに対してＥＧ信号を付与するようにしている。図９は、上記サウンドデータとＥＧデータ（信号）の一例を示している。サウンドデータは、図に示すように楽音のアタック部を構成するアタックデータと、その後方に配置されているループデータを含んでおり、ＥＧデータは、Ａ（アタックフェーズ）、Ｄ（ディケイフェーズ）、Ｓ（サスティンフェーズ）又はＤ２（第２ディケイフェーズ）、及びＲ（リリースフェーズ）に分けられ、一般に、図に示すような形状にある。そして、サウンドデータを読み出していく時に、同時にＥＧデータも形成し、サウンドデータに対してＥＧデータを付与する。なお、ループデータはＬＳＡ（ループスタートアドレス）とＬＥＡ（ループエンドアドレス）間に設定されており、読出アドレスがＬＥＡに達するとＬＳＡに戻り再びループデータを読み出すといった繰り返し読出しが行われるようになっている。
【０００３】
【発明が解決しようとする課題】
上記の楽音形成方法において、ピッチを変化させる場合にはサウンドデータの読出アドレスの変化幅を変える。たとえば、ピッチが高くなるとアドレスの変化幅を大きくし、ピッチが低くなるとアドレスの変化幅を小さくする。しかし、このように、ピッチの変化に応じて読出アドレスの変化幅を変えていくと、ＥＧデータの発生速度は一定であるために、ＥＧデータのアタックフェーズからディケイフェーズに移行するタイミングと、サウンドデータのアタックデータからループデータに切り変わるタイミングとが一致しなくなり、適正な楽音を形成できなくなる問題がある。
【０００４】
そこで、従来は、ピッチ変化に応じてアタックフェーズの傾きを変化させる、いわゆるキースケーリング手法が提案されていた。
【０００５】
しかしながら、上記のキースケーリング手法では、ＥＧデータのアタックフェーズとサウンドデータのアタックデータとを一応対応させることが出来ても、厳密な連動が難しく、しかもＥＧデータの形状を変えるための構成が複雑になる問題があった。
【０００６】
この発明の目的は、サウンドデータ（楽音波形データ）に厳密に連動するＥＧデータの形成を簡単な構成で実現することのできる音源装置を提供することにある。
【０００７】
【課題を解決するための手段】
この発明に係る音源装置は、楽音波形データの読出しを監視する手段を設け、アタックフェーズの楽音波形データの読出しの終了を検出した時に、強制的に、ＥＧデータをアタックフェーズからそれ以降のフェーズに移行させるようにしたものである。
【０００８】
すなわち、この発明の音源装置は、楽音の少なくとも立ち上がりのアタックフェーズの楽音波形データ及びアタックフェーズ以降の楽音波形データを記憶した楽音波形データ記憶手段と、
前記楽音波形データを、外部から与えられる発音指令の楽音ピッチに応じた速度でアタックフェーズの部分から連続して読み出す読出制御手段と、
外部から与えられる発音指令に従い、アタックフェーズ及びそれ以降のフェーズの楽音特性の時間変化を表すエンベロープ信号を発生するエンベロープ信号発生手段と、
前記読出制御手段が読み出した楽音波形データに前記エンベロープ信号を付与するエンベロープ付与手段と、
前記読出制御手段がアタックフェーズの楽音波形データの読出しの終了を検出すると、その検出信号を前記エンベロープ信号発生手段に与えて、前記エンベロープ信号発生手段が発生するエンベロープ信号をアタックフェーズからそれ以降のフェーズに移行させ、その移行のタイミングと、前記読出制御手段による前記楽音波形データの読み出しがアタックフェーズからそれ以降のフェーズへ移行するときの移行のタイミングとを連動させるフェーズ移行制御手段と、
を備えることを特徴とするものであり、
また、前記読出制御手段は、前記楽音波形データ記憶手段に記憶されているアタックフェーズの楽音波形データについては１回だけ、それ以降のフェーズの楽音波形データについては繰り返し読出し制御を行うようにしたものである。
【０００９】
【作用】
楽音発生の指令があると、楽音波形データ記憶手段の発音すべき楽音のスタートアドレスが設定され、アタックデータの読出しが開始される。それとともに、ＥＧ（エンベロープ）信号発生手段がＥＧ信号を発生し始める。このＥＧ信号を前記楽音波形データ記憶手段から読みだされる楽音波形データに付与することにより、ＥＧ制御された楽音波形データが形成される。このような制御中に、フェーズ移行制御手段が楽音波形データの読出しを監視しており、アタックフェーズの楽音波形データの読出しの終了を検出すると、前記ＥＧ信号をアタックフェーズからそれ以降のフェーズへ強制的に移行させる。発音すべき楽音のピッチが変わると、この楽音波形データの読出し速度が変化するが、このフェーズ移行制御によりピッチの高低に係わらず、アタックフェーズの楽音波形データの読出し終了と同時にＥＧ信号のアタックフェーズも終了し、その後ループデータの読出しとなる。したがって、楽音波形データのアタック部分とＥＧ信号のアタック部分はピッチの高低に係わらず、常に厳密に連動する。
【００１０】
アタック部の制御が上記のようにして行われた後は、公知のループ部の制御が行われる。すなわち、ループ部のスタートアドレスから順次楽音波形データを読みだしていき、ループエンドアドレスに達すると再びループスタートアドレスに戻りループデータの繰り返し読出しを行う。このループデータに対しては、キーオフされるまでＤ及びそれに続くＳ又はＤ２のフェーズのＥＧ信号が付与され、キーオフのタイミングでＲのフェーズのＥＧ信号が付与される。
【００１１】
【実施例】
以下、この発明に係る音源装置をテレビゲーム機に使用される音源ＬＳＩに適用した実施例について詳細に説明する。
【００１２】
図１は上記テレビケーム機の構成図である。ゲーム機本体１には、ディスプレイ４及びスピーカ５が接続されている。これらディスプレイ４及びスピーカ５としてはテレビ受像機に内蔵のものを用いることもできる。また、ゲーム機本体１には前記ディスプレイ４，スピーカ５の他に、ゲームプログラムを記憶したＲＯＭ１９を内蔵するゲームカートリッジ３、及び、ゲームを行うためにプレーヤーが操作するコントローラ２が接続されている。コントローラ２はケーブルを介してゲーム機本体１と接続され、ゲームカートリッジ３はゲーム機本体１に設けられたスロットに挿入される。ゲーム機本体１にはＭＣＰＵ１０が内蔵されており、このＭＣＰＵ１０はゲームの進行等装置全体の動作を制御する。ＭＣＰＵ１０には、前記コントローラ２、ゲームカートリッジ３内のＲＯＭ１９、表示制御用のディスプレイコントローラ１４、及び、効果音やＢＣＭ発生用の音源ＬＳＩ１１が接続されている。音源ＬＳＩ１１には発音制御用のサウンドＣＰＵ（ＳＣＰＵ）１２、ＳＣＰＵ１２のプログラムやＰＣＭ波形データ（楽音波形データ）等が記憶されるＤＲＡＭ１３、及び発生した楽音データをアナログの楽音信号に変換するＤ／Ａ変換回路１６が接続されている。Ｄ／Ａ変換回路１６には前記スピーカ５が接続されている。音源ＬＳＩ１１は外部入力端子を備えており、外部から外部音源装置１８を接続し、ディジタル音声データを入力することも可能である。また、ディスプレイコントローラ１４には画面表示データを記憶するＶＲＡＭ１５及び前記ディスプレイ４が接続されている。
【００１３】
このゲーム機本体１にゲームカートリッジ３がセットされ電源がオンされると、まずＭＣＰＵ１０は所定の画面データを読み込んでディスプレイコントローラ１４に送るとともに、効果音やＢＧＭを発生するためのプログラムや楽音波形データとしてのＰＣＭ波形データをＤＲＡＭ１３に書き込む。この後、コントローラ２の操作によってゲームがスタートし、ゲームの進行に従って、画面データの書換えや効果音，ＢＧＭの発音が行われる。ゲーム進行制御すなわち画面データの書換えはＭＣＰＵ１０が直接制御する。効果音やＢＧＭの発生は、ＭＣＰＵ１０がＳＣＰＵ１２に対して指示し、具体的な音声信号の合成は、ＤＲＡＭ１３に書き込まれたプログラム，ＰＣＭ波形データに基づいてＳＣＰＵ１２が行う。
【００１４】
図２は前記音源ＬＳＩ１１の内部ブロック図である。この音源ＬＳＩ１１ではＰＣＭ回路２３が、ＤＲＡＭ１３に記憶されたＰＣＭ波形データを順次読みだすことによってディジタル低周波信号を形成する。上述したように、ゲームカートリッジ３がスロットにセットされ電源がオンされるごとに、その内蔵ＲＯＭ１９からＤＲＡＭ１３に対して新たなデータが書き込まれる。これにより、ゲームごとに異なる独自の効果音やＢＧＭが発音される。ＤＲＡＭ１３にはメモリコントローラ２１を介してＭＣＰＵ１０，ＳＣＰＵ１２、及び、音源ＬＳＩ１１内のＰＣＭ回路２３，ＤＳＰ２４が接続されており、それぞれが時間をシェアしながらＤＲＡＭ１３をアクセス可能になっている。ＭＣＰＵ１０及びＳＣＰＵ１２はＣＰＵインターフェイス２０を介してメモリコントローラ２１と接続されている。ＣＰＵインターフェイス２０には、ＭＣＰＵ１０及びＳＣＰＵ１１がＰＣＭ回路２３やＤＳＰ２４にデータをセットするためのレジスタ２２が接続されている。図３は上記ＤＲＡＭ１３の内部構成図である。同図に示すように、ＤＲＡＭ１３には、ボイス波形データ記憶エリアが割り当てられている。また、その他、ＤＳＰリングバッファ等も設けられている。ボイス波形データ記憶エリアには、ＢＧＭや効果音用の音声信号を発生するための複数種類のボイス波形データ、すなわち、ＰＣＭ波形データが記憶される。ボイス波形データには、たとえば、サンプリングされた効果音や楽器音等の楽音波形データが記憶されるが、いわゆるループ読出しを可能にするために、スタートアドレスＳＡ，ループスタートアドレスＬＳＡ，ループエンドアドレスＬＥＡが設定されており、図の矢印で示すような順序によってループによるＬＳＡからＬＥＡまでの繰り返し読出しを可能にし、メモリの節約を図っている。
【００１５】
図２に示す音源ＬＳ１１１では、ＰＣＭ回路２３において３２スロット（３２チャンネル）の時分割処理が出来るようになっていて、ＰＣＭ回路２３の構成を工夫することより、任意のスロットの楽音信号を他の任意のスロットの楽音信号の変調用に使用することができたり、ＤＲＡＭ１３に変調用ＰＣＭ波形データを記憶しておいて、このＰＣＭ波形データを、ＰＣＭ内で生成される楽音信号の変調用に使用できるようになっている。
【００１６】
前記ＤＳＰ２４は、入力されたディジタル低周波信号のうち楽音信号に対してモジュレーションやフィルタリング等の種々の効果を付与して出力ミキシング回路ＯＭＩＸ２５に出力する。
【００１７】
図４は前記ＰＣＭ回路２３の内部構成を示す図である。このＰＣＭ回路２３は、位相発生器３０、アドレスポインタ３１、補間器３２、振幅変調用低周波発振器（ＡＬＦＯ）３５、エンベロープジェネレータ（ＥＧ）３６、乗算器３７、出力コントローラ３８からなっている。なお、以下に説明する動作は、時分割で３２スロット（チャンネル）並行に行われている。
【００１８】
位相発生器３０にはＳＣＰＵ１２から音名に対応するＦＮＳデータ及びオクターブデータＯＣＴが設定される。位相発生器３０は、これらのデータに基づいて所定のサンプリング周期（例えば３２ｋＨｚ）毎に位相データを発生出力する。この位相データはアドレスポインタ３１に入力される。アドレスポイント３１には、ＰＣＭ波形データを指定するデータとしてスタートアドレスＳＡ，ループスタートアドレスＬＳＡ，ループエンドアドレスＬＥＡがＳＣＰＵ１２から入力される。アドレスポインタ３１は位相発生器３０から入力された位相データに基づいてアドレスの歩進量を決定し、小数部を含むアドレスデータを出力する。小数部データＦＲＡは補間器３２に出力され、この小数部を挟む２つの整数アドレスＭＥＡはメモリコントローラ２１を介してＤＲＡＭ１３に出力される。
【００１９】
入力された２つの整数アドレスＭＥＡによってＤＲＡＭ１３から隣接する２つのＰＣＭ波形データが読みだされる。ＤＲＡＭ１３から読みだされたＰＣＭ波形データはメモリコントローラ２１を介して補間器３２に入力される。補間器３２は、入力された２個のＰＣＭ波形データをアドレスポインタ３１から入力された小数部データＦＲＡの値に応じて補間することにより該サンプリングタイミングのディジタル低周波信号を形成する。補間器３２の出力は乗算器３７に入力される。乗算器３７には、さらに、ＡＬＦＯ３５及びＥＧ３６から矩形波や鋸歯状波等の低周波信号又は図５に示すようなＥＧデータが供給される。乗算器３７では、各スロットの処理単位である１ワードごとに乗算を行って、出力コントローラ３８に出力する。このようにして、補間器３２の出力であるディジタル低周波信号はＡＬＦＯ３５又はＥＧ３６のデータでエンベロープ制御を受け、その信号が出力コントローラ３８を介してＤＳＰ２４に出力される。
【００２０】
ＤＳＰ２４では、そのように制御されたデータを、適当なフィルタ操作をしてから楽音出力のためにＤ／Ａ変換器１６に導く。
【００２１】
ＰＣＭ回路２３では、さらにアドレスポインタ３１からＥＧ３６に対して信号ＣＨＮＧを出力するための制御線が設けられている。この信号ＣＨＮＧは、アドレスポインタ３１において、アタックフェーズのＰＣＭ波形データの読出し終了を検出した時に発生する信号である。後述のように、ＥＧ３６では、この信号ＣＨＮＧを受けると、ＥＧ信号をアタックフェーズからそれ以降のフェーズに移行させる制御を行う。
【００２２】
図６は、ＰＣＭ回路２３内の位相発生器３０及びアドレスポインタ３１の詳細なブロック図を示している。
【００２３】
位相発生器３０は、シフト回路７０と累算器７１とで構成されている。シフト回路７０は、音名に対応するＦＮＳデータを、オクターブデータＯＣＴに対応する分シフトして周波数データを形成する。この周波数データは累算器７１に入力され位相データ、すなわちＰＣＭ波形データを読み出す相対アドレスデータ（スタートアドレスＳＡを０としたときのアドレス）となる。
【００２４】
アドレスポインタ３１は、上記累算器７１から出力される相対アドレスデータからループデータ部記憶エリアの（図３参照）ループエンドアドレスＬＥＡを減算する減算器８０と、この減算器８０の符号以外の出力とループスタートアドレスＬＳＡを加算する加算器８１と、該加算器８１の加算結果か上記累算器７１の出力のいずれかを選択するセレクタ８２と、このセレクタ８２の出力に絶対アドレスであるスタートアドレスＳＡを加算する加算器８３と、上記補間器３２において隣接するＰＣＭ波形データから小数部ＦＲＡに対応するデータを補間によって求めるための加算器８４及びセレクタ８５と、さらに、上記累算器７１の出力の相対アドレスデータとループスタートアドレスＬＳＡとを比較する比較器８６とで構成される。なお、スタートアドレスＳＡは絶対アドレスで与えられ、各ループアドレスＬＳＡとＬＥＡは、ループスタートアドレスＳＡからの相対アドレスで与えられる。
【００２５】
アドレスポインタ３１の動作を、図３のボイス波形データ記憶エリアのアドレスを参照しながら次に説明する。減算器８０は、累算器７１の出力の相対アドレスデータからループエンドアドレスＬＥＡのアドレスを減算するために、ＰＣＭ波形データ（ボイス波形データ）の読出しの開始時には減算器８０の出力の符号は負である。セレクタ８２は、この減算器８０の出力の符号が負である時には累算器７１の出力を選択して加算器８３に導く。したがって、読出し開始時においては、累算器７１の出力がそのまま加算器８３に出力され、ここで絶対アドレスであるスタートアドレスＳＡと加算されてＤＲＡＭ１３の実アドレスとして出力される。なお、加算器８３の加算結果は整数部アドレスＭＥＡと小数部アドレスＦＲＡに分離され、整数部アドレスは１スロット周期の最初のサイクルでセレクタ８５を介してそのまま出力され、同スロットの後半のサイクルで加算器８４で前記整数部アドレスに１が加算されてセレクタ８５を介して出力される。メモリコントローラ２１では、１スロット周期内に上記の２つの整数部アドレスＭＥＡを受けることにより、隣接する２つのアドレスのデータを読みだして補間器３２に出力し、ここで、上記小数部アドレスＦＲＡに対する補間を行う。
【００２６】
ＰＣＭ波形データの読出しが進んでいき、減算器８０による減算結果の符号が負から正に変わると、その瞬間にセレクタ８２を切り換える。また、上記減算器８０の符号出力端子が累算器７１のロード端子に接続されているために、上記符号が負から正に切り換わった瞬間に、累算器７１は加算器８１の出力をロードする。このロードの瞬間には、減算器８０の符号以外の出力は略０（＞０）であるから、累算器７１にはループスタートアドレスＬＳＡを僅かに上回る値ＬＳＡ′がロードされることになる。累算器７１にループスタートアドレスＬＳＡ′がロードされると、再び減算器８０の出力の符号が負になる。それゆえ、セレクタ８２は再び累算器７１の出力を選択する。したがって、セレクタ８２は、累算器７１の出力の相対アドレスがループエンドアドレスＬＥＡを越えた瞬間に加算器８１の出力を選択してループスタートアドレスＬＳＡ′を出力するが、その直後に再び累算器７１の出力を選択してループスタートアドレスＬＳＡ′からの歩進量を次段の加算器８３に出力する。このような動作により、図３に矢印で示すような繰り返し読出しを行う。
【００２７】
一方、比較器８６は累算器７１の出力の相対アドレスとループスタートアドレスＬＳＡとを比較しており、両者が一致した段階でＣＨＮＧ信号をＥＧ３６に対して出力する。この信号ＣＨＮＧが出るタイミングは、累算器７１の出力がスタートアドレスＳＡからループスタートアドレスＬＳＡに達した時のタイミングである。なお、ループ動作において、ループエンドアドレスＬＥＡからループスタートアドレスＬＳＡ′に戻った時には累算器７１の出力の相対アドレスはループスタートアドレスＬＳＡよりもわずかに進んでいるＬＳＡ′となっているから、この戻ったタイミングで信号ＣＨＮＧは出ない。後述のように、このＣＨＮＧが発生するとＥＧ３６においてＥＧデータのフェーズをアタックフェーズからそれ以降のフェーズに切り換える。
【００２８】
図７は、ＥＧ３６の詳細なブロック図である。セレクタ９０は、フェーズ移行制御回路９１の出力に応じて“０”，“Ｄ１Ｒ”，“Ｄ２Ｒ”，“ＲＲ”のいずれかのレートデータを選択して減算器９２に出力する。なお、これらのレート信号はＥＧデータ形成のための１クロック当たりのＥＧデータレート変化幅を示している。セレクタ９０で選択されたレートデータは減算器９２で最初は“０”から減算するデータとして使用され、次のクロックからは１クロックの遅延回路９３から減算するのに使用される。減算器９２の出力はＥＧ３６の出力であるＥＧデータとなり、また、後述のように、同ＥＧデータがディケイレベルＤＬに達したかどうかレベル監視を行うためにフェーズ移行制御回路９１に対して供給され、さらに上記遅延回路９３にも出力される。
【００２９】
上記の構成で、減算器９２の出力、すなわち、ＥＧ３６の出力は、セレクタ９０で選択されたレートデータに基づいて、階段状に減衰していく（もちろん、レートが“０”の場合には減衰することがない）。一方、減算器９２の出力がフェーズ移行制御回路９１に入力されることにより、この制御回路９１において、該出力と、第１ディケイから第２ディケイフェーズに移るときのディケイレベルＤＬとが比較され、両者が一致するかどうかの監視が行われる。一致した場合には、セレクタ９０に対しＤ２Ｒのレートデータが選択されるように指示する。このディケイレベルＤＬは予め設定されている値であり、ＫＯＮ等のようなイベント発生により入力されるものではない。フェーズ移行制御回路９１には、さらに、キーオン信号ＫＯＮ、キーオフ信号ＫＯＦＦ及びアドレスポインタ３１からの信号ＣＨＮＧが入力している。このフェーズ移行制御回路９１は、キーオン信号ＫＯＮを受けると、セレクタ９０に対し、“０”が選択されるように指示する。また、その後、アドレスポインタ３１から信号ＣＨＮＧを受けると、セレクタ９０に対し、Ｄ１Ｒが選択されるように指示する。さらに、キーオフ信号ＫＯＦＦを受けると、セレクタ９０に対しＲＲが選択されるように指示する。フェーズ移行制御回路９１がこのような制御動作を行うことにより、キーオン信号ＫＯＮが最初に入力されると、図８のアタックフェーズＡのＥＧデータが出力され、続いてアドレスポインタ３１より信号ＣＨＮＧが入力されると第１ディケイフェーズＤ１のＥＧデータが出力され、そのＥＧデータレベルがディケイレベルＤＬに達した段階で第２ディケイフェーズのＥＧデータが出力されるようになり、さらに続いてキーオフ信号ＫＯＦＦが入力されると、その時点からリリースフェーズＲのＥＧデータが出力される。
【００３０】
以上の制御において、アドレスポインタ３１から信号ＣＨＮＧが出力されるタイミングは、図６において説明したように、比較器８６が、累算器７１の出力の相対アドレスデータとループスタートアドレスＬＳＡとを比較し、両者が一致したことを検出した時である。従って、この信号ＣＨＮＧは、ＰＣＭ波形データの読出しがループスタートアドレスＬＳＡに達した時に発生するから、ＥＧ３６においてこのタイミングでアタックフェーズＡから第１ディケイフェーズＤ１に移行することにより、ＰＣＭ波形データとＥＧデータとのアタックフェーズの期間が正確に連動する。即ち、図８におけるＬのアタックフェーズの長さがＰＣＭ波形データのアタックフェーズの長さに連動し、発音すべき楽音のピッチに応じて正確に伸縮するようになる。
【００３１】
このように、アドレスポインタ３１において楽音波形データ（ＰＣＭ波形データ）のアタックフェーズの読出の完了を監視し、その読出が完了したことを検出すると、信号ＣＨＮＧをＥＧ３６に出力し、ＥＧ３６において、この信号ＣＨＮＧに基づいてＥＧデータのフェーズをアタックフェーズからそれ以降のフェーズに切り替えることにより、ＥＧデータと楽音波形データとのアタック部の連動を確実に行わせることができる。これにより、ピッチ変化があっても正しい楽音を発音することができる。
【００３２】
【発明の効果】
この発明では、アタックフェーズの楽音波形データの読み出し終了タイミングを検出することにより、エンベロープ信号をアタックフェーズからそれ以降のフェーズへ移行させるように制御するために、楽音波形データのアタックフェーズとエンベロープ信号のアタックフェーズとを正確に連動させることができる。このため、ピッチが変化しても常に正しい楽音の発音を実現できる。
【図面の簡単な説明】
【図１】この発明に係る音源装置を含む音源用ＬＳＩが適用されるゲーム機のブロック図。
【図２】同音源用ＬＳＩのブロック図。
【図３】同音源用ＬＳＩに接続されるＤＲＡＭの内部構成図。
【図４】同音源用ＬＳＩのＰＣＭ回路のブロック図。
【図５】ＥＧ３６が出力するエンベロープ波形の例を示す図。
【図６】同音源用ＬＳＩの位相発生器およびアドレスポインタの詳細なブロック図。
【図７】同音源用ＬＳＩのＥＧの詳細なブロック図。
【図８】上記ＥＧの動作を説明するための図。
【図９】従来の音源装置の欠点を説明するための図。
【符号の説明】
１３  ＤＲＡＭ（楽音波形データ記憶手段）
３６  ＥＧ（エンベロープ信号発生手段）
３７  乗算器（エンベロー付与手段）
９１  フェーズ移行制御回路
ＣＨＮＧ  （楽音波形データ読み出し終了時に発生する信号）
【図１】
0003588815.tif 000002
【図２】
0003588815.tif 000003
【図３】
0003588815.tif 000004
【図４】
0003588815.tif 000005
【図５】
0003588815.tif 000006
【図６】
0003588815.tif 000007
【図７】
0003588815.tif 000008
【図８】
0003588815.tif 000009
【図９】
0003588815.tif 000010