(57)【特許請求の範囲】
【請求項１】
音源制御情報からなる譜面データに、譜面データを識別するための譜面データＩＤを付加したものを複数連結して構成される連結譜面データを記録した記録媒体から、前記連結譜面データを読み出して、メモリに記憶する音源制御装置であって、
それぞれの譜面データＩＤに譜面ＩＤを割り当て、参照テーブルとして前記メモリに記憶し、
前記メモリにおける連結譜面データの記憶場所を示すアドレスをスタートアドレス参照テーブルとして前記メモリに記憶し、
各譜面データＩＤごとに、対応する譜面データの連結譜面データ内におけるアドレスをオフセット参照テーブルとして前記メモリに記憶するアドレス管理手段を備えることを特徴とする音源制御装置。
【請求項２】
請求項１に記載の音源制御装置であって、
再生すべき譜面データに対応する譜面ＩＤを指定を受け付けると、
前記参照テーブルに基づいて対応する譜面データＩＤを特定し、
前記スタートアドレス参照テーブルおよび前記オフセット参照テーブルに基づいて、前記特定された譜面データＩＤに対応する譜面データの開始アドレスを算出し、算出された開始アドレスに記憶された譜面データを読み出す読み出し手段とをさらに備えることを特徴とする音源制御装置。
【請求項３】
音源制御情報からなる譜面データに、譜面データを識別するための譜面データＩＤを付加したものを複数連結して構成される連結譜面データを記録した記録媒体から、前記連結譜面データを読み出して、メモリに記憶する音源制御装置における音源制御方法であって、
それぞれの譜面データＩＤに譜面ＩＤを割り当て、参照テーブルとして前記メモリに記憶するステップと、
前記メモリにおける連結譜面データの記憶場所を示すアドレスをスタートアドレス参照テーブルとして前記メモリに記憶するステップと、
各譜面データＩＤごとに、対応する譜面データの連結譜面データ内におけるアドレスをオフセット参照テーブルとして前記メモリに記憶するステップとを有することを特徴とする音源制御方法。
【請求項４】
請求項３に記載の音源制御装置における音源制御方法であって、
再生すべき譜面データに対応する譜面ＩＤを指定を受け付けるステップと、
前記参照テーブルに基づいて対応する譜面データＩＤを特定し、
前記スタートアドレス参照テーブルおよび前記オフセット参照テーブルに基づいて、前記特定された譜面データＩＤに対応する譜面データの開始アドレスを算出し、算出された開始アドレスに記憶された譜面データを読み出す読み出しステップとをさらに有することを特徴とする音源制御方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、発生する音の音程、発音、消音、音色効果等の音楽情報を時間順に記録した譜面データからなる音源制御情報の記憶方法に関する。
【０００２】
また、本発明は、記憶されている譜面データを所定の間隔で取り込んで、この取り込んだ譜面データに基づいて音源装置を制御して、楽曲等を自動演奏する音源制御装置に関し、特に、ビデオゲーム装置あるいは情報処理装置等において、演算結果あるいは使用者の操作に応じて音源装置を制御して効果音、背景音楽（ＢＧＭ）等を発生させる音源制御装置に関する。
【０００３】
【従来の技術】
従来より、ビデオゲーム装置あるいはパーソナルコンピュータ等の情報処理装置においては、ゲームの進行あるいは使用者の操作に応じて楽音、効果音等を発生させることが行なわれている。
【０００４】
このようなビデオゲーム装置あるいはパーソナルコンピュータ等では、例えば基本波とその高調波を合成した波形の周波数を可変することによって音程のある音を発生するいわゆるＦＭ音源、あるいは基本となる基本波の波形を記憶しておき、指示された音程等に応じて基本波の読み出し周期を可変して音程を発生させるいわゆるＰＣＭ音源等が音を発生する音源装置として使用されている。
【０００５】
そして、このようなビデオゲーム装置あるいはパーソナルコンピュータでは、例えば、使用者の操作等に応じて、発生させる効果音、背景音楽（ＢＧＭ）の演奏の開始及び停止、音量等を即座に実時間（リアルタイム）で変更することができるようになっている。
【０００６】
例えばＢＧＭ等の再生においては、発生する音の音程、発音、消音、音色効果等の音楽情報を時間情報と共に時間順に並べた譜面データを予め用意しておき、これらをリアルタイムに解釈しながら、音源装置の音程、発音及び消音レジスタを逐次設定することによって行なわれている。
【０００７】
このように、譜面データの形式でＢＧＭ等のデータを用意することは、プログラムの実行によって逐次音源装置の音程、発音及び消音等を制御する場合等に比較して、再生時に容易に音色、音量、音程等を変化させることができ、使用者の操作に高速に応答するリアルタイム性が重要となるマルチメディアコンピュータ、ゲーム等に適した方法である。
【０００８】
また、このような譜面データに基づく音源装置の制御は、例えば図１６に示すように、演算処理装置（ＣＰＵ）として１つのＣＰＵ２０１のみを備えたビデオゲーム装置では、このＣＰＵ２０１を時分割で使用して、一定時間間隔毎に、譜面データを読み出し、読み出した譜面データに基づいて音源装置２０２の発音タイミング、発音期間、発音音程、音量等を制御してＢＧＭ等を発生させるようになっている。
【０００９】
このように、ＣＰＵ２０１を時分割で使用して譜面データを解釈する方法は、ＣＰＵ２０１の処理能力が十分高ければ、特別な周辺装置等を必要としないためコストも安く、プログラムも作成しやすい。
【００１０】
ところで、上記譜面データは、図１７に示すように、ファイルを識別するファイルヘッダ情報と、譜面データからなるファイルとして光学ディスクに記録されている。
【００１１】
このような、譜面データは、使用に先だって光学ディスク装置２０５から読み出され、メモリ２０４の所定のアドレスに記憶されるようになっている。
【００１２】
【発明が解決しようとする課題】
しかしながら、このような譜面データの記憶を行なった場合には、個々の譜面データが記憶されているメモリ２０４上のアドレスを管理する必要があり、また、譜面データの再生を行なう際等に、譜面データを特定するためには、個々の譜面データが記憶されているメモリ２０４上のアドレスを指定する必要があった。
【００１３】
また、一般に、複数の譜面データの再生は同時には行なわれていなかったため、複数の譜面データの再生を独立に設定することができなかった。
【００１４】
しかしながら、実際のゲーム等の処理では、使用者からの入力等に対応させて、再生する譜面データを変更することが要求されるが、前の譜面データの再生が終了するまで待たなければならず、入力に対する応答時間が長くなる問題があった。
【００１５】
本発明は、上述のような問題点に鑑みてなされたものであり、譜面データの管理が容易な音源制御情報を記憶することができる音源情報の記憶方法を提供することを目的とする。
【００１６】
また、本発明は、入力に対する応答を高速化することができる及び音源制御装置を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明に係る音源制御情報の記憶方法は、音源を制御するための制御情報を時間情報と共に記録した音源制御情報を記憶装置に記憶する音源制御情報の記憶方法であって、１連の音源制御情報からなる譜面データに識別情報を付加し、識別情報を付加した複数の譜面データを連結した連結譜面データを記憶する際に、連結譜面データを構成する各々の譜面データに対して割り当てた譜面識別情報と、連結譜面データが記録されているアドレスを示す先頭アドレス情報と、連結譜面データを構成する個々の譜面データが記憶されているアドレスの先頭アドレス情報からの相対的な位置を示す相対アドレス情報と、譜面識別情報と先頭アドレス及び相対アドレスとの対応を示す対応情報とを記憶することを特徴とする。
【００１８】
また、本発明に係る音源制御装置は、譜面データを読み出して、読み出した譜面データに基づいて音源の制御を行なう音源制御装置であって、一連の音源制御情報からなる譜面データに識別情報を付加して連結した連結譜面データと共に、個々の譜面データを識別する譜面識別情報と、連結譜面データが記録されているアドレスを示す先頭アドレス情報と、連結譜面データを構成する個々の譜面データが記憶されているアドレスの先頭アドレス情報からの相対的な位置を示す相対アドレス情報と、譜面識別情報と先頭アドレス及び相対アドレスとの対応を示す対応情報とが記憶された記憶装置と、選択された譜面識別情報に対応する譜面データを対応情報を参照して記憶装置から読み出す読み出し制御部と、読み出し制御部によって読み出された譜面データに基づいて音源の制御を行なう再生部とを有することを特徴とする。
【００１９】
また、本発明に係る音源制御装置は、複数の譜面識別情報に対応する譜面データの再生状態を保持する再生状態保持部を有し、読み出し制御部が選択された複数の譜面識別情報に対応する譜面データを前記対応情報を参照して記憶装置から読み出し、再生部が、譜面データに基づいて音源の制御を行なうデータ再生部を複数有し、複数のデータ再生部によって上記再生状態保持部に保持された譜面データの再生状態に基づいて譜面データに基づく音源の制御を行なうことを特徴とする。
【００２０】
【作用】
本発明に係る音源制御情報の記憶方法では、１連の音源制御情報からなる譜面データに識別情報を付加し、識別情報を付加した複数の譜面データを連結した連結譜面データを記憶する際に、連結譜面データを構成する各々の譜面データに対して割り当てた譜面識別情報と、
連結譜面データが記録されているアドレスを示す先頭アドレス情報と、
連結譜面データを構成する個々の譜面データが記憶されているアドレスの先頭アドレス情報からの相対的な位置を示す相対アドレス情報と、
譜面識別情報と先頭アドレス及び相対アドレスとの対応を示す対応情報とを記憶する。
【００２１】
このように記憶された音源制御情報は、本発明の音源制御装置によって再生される。
【００２２】
この音源制御装置では、再生される譜面データの譜面識別情報が選択されると、読み出し制御部が選択された譜面識別情報に対応する譜面データを対応情報を参照して記憶装置から読み出し、再生部が読み出し制御部によって読み出された譜面データに基づいて音源の制御を行なう。
【００２３】
これによって、譜面識別情報を選択するだけで、選択された譜面識別情報に対応する譜面データの再生が行なわれる。
【００２４】
また、読み出し状態保持部は、複数の譜面識別情報に対応する譜面データの読み出し状態を保持する。そして、複数の譜面識別情報が選択されると、読み出し制御部は、選択された複数の譜面識別情報に対応する譜面データを対応情報を参照して記憶装置から読み出す。
【００２５】
再生部は、再生状態保持部に保持された譜面データの再生状態に基づいて複数のデータ再生部により音源の制御を行なう。
【００２６】
ここで、再生状態保持部のある識別情報に対応する再生状態は、各々独立に設定されるため、ある識別情報に対応する再生状態が設定されると、他の譜面データが再生されているか否かに関わらず、設定された再生状態に対応する譜面データの再生状態が変化し、例えば譜面データの再生が開始され、再生された譜面データに基づいて音源が制御される。
【００２７】
【実施例】
以下、本発明に係る音源制御装置を、例えばビデオゲーム装置において、楽音、効果音等を発生する音源制御部として適用した実施例について説明する。
【００２８】
また、本発明に係る音源制御情報の記憶方法は、この音源制御部によって使用される音源制御情報の記憶に適用されている。
【００２９】
このビデオゲーム装置は、例えば光学ディスク等の補助記憶装置に記憶されているゲームプログラムを読み出して実行することにより、使用者からの指示に応じてゲームを行なうようになっており、図１に示すような構成を有している。
【００３０】
すなわち、このビデオゲーム装置は、中央演算処理装置（ＣＰＵ）及びその周辺装置等からなる制御系５０と、フレームバッファに描画を行なうグラフィックプロセッシングユニット（ＧＰＵ）等からなるグラフィックシステム６０と、楽音、効果音等を発生するサウンドプロセッシングユニット（ＳＰＵ）等からなるサウンドシステム７０と、補助記憶装置である光学ディスクの制御を行なう光学ディスク制御部８０と、使用者からの指示を入力するコントローラからの指示入力及びゲームの設定等を記憶する補助メモリからの入出力を制御する通信制御部９０と、上記制御系５０〜通信制御部９０が接続されているバス１００等を備えている。
【００３１】
上記制御系５０は、ＣＰＵ５１と、割り込み制御、ダイレクトメモリアクセス（ＤＭＡ）転送の制御等を行なう周辺装置制御部５２と、ＲＡＭからなる主記憶装置（メインメモリ）５３と、メインメモリ５３、グラフィックシステム６０、サウンドシステム７０等の管理を行なういわゆるオペレーティングシステム等のプログラムが格納されたＲＯＭ５４とを備えている。
【００３２】
ＣＰＵ５１は、ＲＯＭ５４に記憶されているオペレーティングシステムを実行することにより装置全体の制御を行なう。
【００３３】
上記グラフィックシステム６０は、座標変換等の処理を行なうジオミトリトランスファエンジン（ＧＴＥ）６１と、ＣＰＵ５１からの描画指示に従って描画を行なう画像処理装置（ＧＰＵ）６２と、該ＧＰＵ６２により描画された画像を記憶するフレームバッファ６３と、離散コサイン変換などの直行変換により圧縮されて符号化された画像データを復号化する画像デコーダ６４とを備えている。
【００３４】
ＧＴＥ６１は、例えば複数の演算を並列に実行する並列演算機構を備え、ＣＰＵ５１からの演算要求に応じて。座標変換、光源計算、行列あるいはベクトルの演算を高速に行なうことができるようになっている。
【００３５】
具体的には、このＧＴＥ６１は、１つの三角形状のポリゴンに同じ色で描画するフラットシェーディングを行なう演算の場合では、１秒間に最大１５０万程度のポリゴンの座標演算を行なうことができるようになっており、これによってこのビデオゲーム装置では、ＣＰＵ５１の負荷を低減すると共に、高速な座標演算を行なうことができるようになっている。
【００３６】
ＧＰＵ６２は、ＣＰＵ５１からの描画命令に従って、フレームメモリ６２に対して多角形（ポリゴン）等の描画を行なう。このＧＰＵ６２は、１秒間に最大３６万程度のポリゴンの描画を行なうことができるようになっている。
【００３７】
フレームバッファ６３は、いわゆるデュアルポートＲＡＭからなり、ＧＰＵ６２からの描画あるいはメインメモリからの転送と、表示のための読み出しとを同時に行なうことができるようになっている。
【００３８】
このフレームバッファ６３は、１Ｍバイトの容量を有し、それぞれ１６ビットの横１０２４で縦５１２の画素のマトリックスとして扱われる。
【００３９】
このフレームバッファ６３のうちの任意の領域をビデオ出力として出力することができるようになっている。
【００４０】
また、このフレームバッファ６３には、ビデオ出力として出力される表示領域の他に、ＧＰＵ６２がポリゴン等の描画を行なう際に参照するカラールックアップテーブル（ＣＬＵＴ）が記憶されるＣＬＵＴ領域と、描画時に座標変換されてＧＰＵ６２によって描画されるポリゴン等の中に挿入（マッピング）される素材（テクスチャ）が記憶されるテクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は表示領域の変更等に従って動的に変更されるようになっている。
【００４１】
なお、上記ＧＰＵ６２は、上述のフラットシェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーローシェーディングと、上記テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行なうことができるようになっている。
【００４２】
これらのグーローシェーディング又はテクスチャマッピングを行なう場合には、上記ＧＴＥ６１は、１秒間に最大５０万程度のポリゴンの座標演算を行なうことができる。
【００４３】
画像デコーダ６４は、上記ＣＰＵ５１からの制御により、メインメモリ５３に記憶されている静止画あるいは動画の画像データを復号化してメインメモリ５３に記憶する。
【００４４】
また、この再生された画像データは、ＧＰＵ６２を介してフレームバッファ６３に記憶することにより、上述のＧＰＵ６２によって描画される画像の背景として使用することができるようになっている。
【００４５】
上記サウンドシステム７０は、ＣＰＵ５１からの指示に基づいて、楽音、効果音等を発生する音声処理装置（ＳＰＵ）７１と、該ＳＰＵ７１により、波形データ等が記録されるサウンドバッファ７２と、ＳＰＵ７１によって発生される楽音、効果音等を出力するスピーカ７３とを備えている。
【００４６】
上記ＳＰＵ７１は、１６ビットの音声データを４ビットの差分信号として適応差分符号化（Adaptive defferential Pulse Code Moduretion ：ＡＤＰＣＭ）された音声データを再生するＡＤＰＣＭ復号機能と、サウンドバッファ７２に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ７２に記憶されている波形データを変調させて再生する変調機能等を備えている。
【００４７】
このような機能を備えることによってこのサウンドシステム７０は、ＣＰＵ５１からの指示によってサウンドバッファ７２に記録された波形データに基づいて楽音、効果音等を発生するいわゆるＰＣＭ音源として使用することができるようになっている。
【００４８】
上記光学ディスク制御部８０は、光学ディスクに記録されたプログラム、データ等を再生する光学ディスク装置８１と、例えばエラー訂正（ＥＣＣ）符号化されて記録されているプログラム、データ等を復号するデコーダ８２と、光学ディスク装置８１からの再生データを一時的に記憶することにより、光学ディスクからの読み出しを高速化するバッファ８３とを備えている。
【００４９】
また、光学ディスク装置８１で再生される光学ディスクに記録されている音声データとしては、上述のＡＤＰＣＭデータの他に音声信号をアナログ／デジタル変換したいわゆるＰＣＭデータがある。
【００５０】
ＡＤＰＣＭデータとして、例えば１６ビットのデジタルデータ（ＰＣＭデータ）の差分を４ビットで表わして記録されている音声データは、デコーダ８２で復号化された後、１６ビットのデジタルデータに伸張されて上述のＳＰＵ７１に供給される。
【００５１】
また、ＰＣＭデータとして、例えば１６ビットのデジタルデータとして記録されている音声データは、デコーダ８２で復号化された後、上記ＳＰＵ７１に供給され、あるいは直接スピーカ７３を駆動するために使用される。
【００５２】
また、通信制御部９０は、バス１００を介してＣＰＵ５１との通信の制御を行なう通信制御機９１と、使用者からの指示を入力するコントローラ９２と、ゲームの設定等を記憶するメモリカード９３とを備えている。
【００５３】
コントローラ９２は、使用者からの指示を入力するために、例えば１６個の指示キーを有し、通信制御機９１からの指示に従って、この指示キーの状態を、同期式通信により、通信制御機９１に毎秒６０回程度送信する。そして、通信制御機９１は、コントローラ９２の指示キーの状態をＣＰＵ５１に送信する。
【００５４】
これにより、使用者からの指示がＣＰＵ５１に入力され、ＣＰＵ５１は、実行しているゲームプログラム等に基づいて使用者からの指示に従った処理を行なう。
【００５５】
また、ＣＰＵ５１は、実行しているゲームの設定等を記憶する必要があるときに、該記憶するデータを通信制御機９１に送信し、通信制御機９１はＣＰＵ５１からのデータをメモリカード９３に記憶する。
【００５６】
このメモリカード９３は、通信制御機９１を介してバス１００に接続されており、バス１００から分離されているため、電源を入れた状態で、着脱することができる。これにより、ゲームの設定等を複数のメモリカード９３に記憶することができるようになっている。
【００５７】
また、このビデオゲーム装置は、バス１００に接続されたパラレル入出力（Ｉ／Ｏ）１０１と、シリアル入出力（Ｉ／Ｏ）１０２とを備えている。
【００５８】
そして、パラレルＩ／Ｏ１０１を介して周辺機器との接続を行なうことができるようになっており、また、シリアルＩ／Ｏ１０２を介して他のビデオゲーム装置との通信を行なうことができるようになっている。
【００５９】
ところで、上記メインメモリ５３、ＧＰＵ６２、画像デコーダ６４及びデコーダ８２等の間では、プログラムの読み出し、画像の表示あるいは描画等を行なう際に、大量の画像データを高速に転送する必要がある。
【００６０】
このため、このビデオゲーム装置では、上述のようにＣＰＵ５１を介さずに周辺装置制御部５２からの制御により上記メインメモリ５３、ＧＰＵ６２、画像デコーダ６４及びデコーダ８２等の間で直接データの転送を行なういわゆるＤＭＡ転送を行なうことができるようになっている。
【００６１】
これにより、データ転送によるＣＰＵ５１の負荷を低減させることができ、高速なデータの転送を行なうことができようになっている。
【００６２】
このビデオゲーム装置では、電源が投入されると、ＣＰＵ５１が、ＲＯＭ５４に記憶されているオペレーティングシステムを実行する。
【００６３】
このオペレーティングシステムの実行により、ＣＰＵ５１は、上記グラフィックシステム６０、サウンドシステム７０等の制御を行なう。
【００６４】
また、オペレーティングシステムが実行されると、ＣＰＵ５１は、動作確認等の装置全体の初期化を行なった後、光学ディスク制御部８０を制御して、光学ディスクに記録されているゲーム等のプログラムを実行する。
【００６５】
このゲーム等のプログラムの実行により、ＣＰＵ５１は、使用者からの入力に応じて上記グラフィックシステム６０、サウンドシステム７０等を制御して、
画像の表示、効果音、楽音の発生等を制御するようになっている。
【００６６】
ところで、このビデオゲーム装置は、ゲームの進行あるいは使用者の操作に応じて楽音、効果音等を発生させるために、効果音等の音声を発生する音源及び該音源の制御を行なう音源制御部を備えている。
【００６７】
この音源は、上記ＣＰＵ５１及びＳＰＵ７１によって実現されており、音源制御部は、上記ＣＰＵ５１によって実現されている。
【００６８】
具体的には、上記ＳＰＵ７１は、図２に示すように、ＣＰＵ５１からの指示に応じてサウンドバッファ７２に記録された波形データを読み出し、この読み出した波形データのピッチを変換するピッチ変換部１１１と、クロックを発生するクロックジェネレータ１１２と、該クロックジェネレータ１１２の出力に基づいてノイズを発生するノイズジェネレータ１１３と、ピッチ変換部１１１とノイズジェネレータ１１３との出力を切り換えるスイッチ１１４と、該スイッチ１１４の出力のレベルを調整して、出力波形の振幅を可変し、発生する音の包絡線（エンベロープ）を変換するエンベロープジェネレータ１１５と、発音を行なうか否かを切り換えるミュート処理部１１６と、音量及び左右のチャンネルのバランスを調整する左右のボリューム１１７Ｌ、１１７Ｒを備えている。
【００６９】
サウンドバッファ７２には、予め発音される音を構成する１周期分の波形データがいくつか記憶されている。この波形データは上述の４ビットのＡＤＰＣＭデータとして記憶されており、読み出し時にＳＰＵ７１によって１６ビットのＰＣＭデータに変換された後、上記ピッチ変換部１１１に供給されるようになっている。
【００７０】
このため、ＰＣＭデータをそのまま記憶する場合に比して、波形データを記憶するために要するサウンドバッファ７２内の領域を低減させ、より多くの波形データを記憶することができる。
【００７１】
また、メインメモリ５３には、予めサウンドバッファ７２に記憶された１周期分の波形データに対応する音のエンベロープ、すなわち、音の立ち上がり、立ち下がり等の情報が記録されている。
【００７２】
なお、この図２には、１音声（１ボイス）分の回路構成を示したが、この音源は、合計で２４ボイス分のピッチ変換部１１１〜ボリューム１１７Ｌ、１１７Ｒを備えており、各ボイスのボリューム１１７Ｌ、１１７Ｒの出力が合成されて、左右２チャンネル分の音声出力として出力されるようになっている。
【００７３】
すなわち、この音源は、２４ボイス分の発音を同時に行なうことができるようになっている。
【００７４】
また、各ボイス毎に、上記サウンドバッファ７２に記憶された波形データ、エンベロープ、音量、左右チャンネルのバランス等を独立に設定することができるようになっている。
【００７５】
これにより、この音源は、複数のボイスを使用して、和音の発生あるいは複数の楽器による演奏等を行なうことができるようになっている。
【００７６】
また、この音源は、音声出力に、時間を前後させた音声出力を合成するいわゆるリバーブ処理を行なうことができるようになっている。
【００７７】
すなわち、上記ＳＰＵ７１は、２４ボイス分の音声が合成された音声出力にリバーブ処理を行なうか否かを選択するスイッチ１１８Ｌ、１１８Ｒと、該スイッチ１１８Ｌから供給される音声出力を時間的に前後させるリバーブ処理部１１９と、時間的に前後させた音声出力の音量を調節するボリューム１２０と、該ボリューム１２０の出力を、時間的に前後させる前の音声出力に合成する加算部１２１ｂと、該加算部１２１の出力の音量を調節するマスターボリューム１２２とを備えている。
【００７８】
また、この音源では、上述のように発生した音声出力に上記デコーダ８２から供給される光学ディスクから読み出された音声信号を合成することができるようになっている。
【００７９】
具体的には、上記ＳＰＵ７１は、光学ディスクからの音声信号を上述の音声出力に合成するか否かを選択するスイッチ１２３と、合成する音声信号の音量を調節して加算部１２１ａに供給するミキシングボリューム１２４と、合成する音声信号にリバーブ処理を行なうか否かを選択するスイッチ１２５とを備えている。
【００８０】
なお、上述の図２には、左チャンネルのみについてリバーブ処理部１１９、ボリューム１２０及びミキシングボリューム１２４等の構成を示したが、これらは、右チャンネルについても同様な構成を有する。
【００８１】
ここで、この音源の動作を説明する。
【００８２】
ＣＰＵ５１は、発音する必要が生じたときに、サウンドバッファ７２に記憶された波形データの中から発音する波形データを選択する選択信号と、発音する音の音程とを上記ピッチ変換部１１１に供給すると共に、メインメモリ５３に記憶されたエンベロープの中から発音する波形データに対応するエンベロープを読み出して上記エンベロープジェネレータ１１５に供給する。
【００８３】
ピッチ変換部１１１は、指示された音程にしたがって、波形データの読み出しステップを可変して波形データを読み出す。また、ピッチ変換部１１１は、１周期分の波形データの読み出しが終了すると、発音の指示が供給されている期間中、同一の波形データを最初から繰り返し読み出す。
【００８４】
これにより、発音の指示が供給されている間中、指示された音程に対応した波形データが再生される。このような波形データは、スイッチ１１４を介してエンベロープジェネレータ１１５に供給される。
【００８５】
エンベロープジェネレータ１１５は、ＣＰＵ５１から供給されたエンベロープに基づいて、ピッチ変換部１１１からの波形データの振幅を変換する。
【００８６】
これにより１ボイス分の音声が発生される。同様に残りの２３ボイス分の音声が発生され、各々のボリューム１１７Ｌ、ボリューム１１７Ｒによって音量、左右チャンネルのバランスが調整された後、上述のようにリバーブ処理等の処理が行なわれた後、合成される。
【００８７】
かくして、ＣＰＵ５１からの指示に応じた音声が発生される。
【００８８】
このような音源の制御を行なう音源制御部は、ＣＰＵ５１が音源制御プログラムを実行することによって実現されている。
【００８９】
このビデオゲーム装置では、発生させる効果音、背景音楽（ＢＧＭ）等に使用する波形データ、発生する音の音程、発音、消音、音色効果等の音楽情報を時間情報と共に時間順に並べた譜面データを予めメインメモリ５３に記憶しておき、音源制御部は、これらの譜面データを例えば一定時間間隔毎に、逐次読み出して、上記音源の音程、発音及び消音レジスタを逐次設定することによって効果音、ＢＧＭ等を再生するようになっている。
【００９０】
具体的には、この譜面データは、演奏される単位（シーケンス）の譜面データ毎に１つのファイルとされた単一譜面データあるいは、複数のシーケンスの譜面データが１つのファイルとされた連結譜面データからなる。
【００９１】
上記単一譜面データは、例えば図３に示すように、１つのファイルヘッダ情報と、１シーケンス分の譜面データとからなり、１シーケンス分の譜面データは、当該譜面データの属性を表わす１つのデータヘッダ情報と、１つのシーケンスデータとからなる。
【００９２】
ファイルヘッダ情報は、当該ファイルがサウンドデータであることを表わすサウンドＩＤと、バージョン等を表わすバージョン番号とからなる。
【００９３】
データヘッダ情報は、当該譜面データのシーケンス情報の時間分解能、テンポ及び拍子を示す四分音符の分解能、曲のテンポ、拍子とからなる。
【００９４】
シーケンスデータは、１つのシーケンス内の楽音を構成する楽音データとからなる。
【００９５】
また、上記連結譜面データは、例えば図４に示すように、１つのファイルヘッダ情報と、複数のシーケンスの譜面データとからなり、個々のシーケンスの譜面データは、それぞれ、上述の単一譜面データと同様に、当該譜面データの属性を表わす１つのデータヘッダ情報と、１つのシーケンスデータとからなる。
【００９６】
この連結譜面データの場合、上記データヘッダ情報は、連結譜面データ中の個々の譜面データを識別するための譜面データＩＤと、当該譜面データのシーケンス情報の時間分解能、テンポ及び拍子を示す四分音符の分解能、曲のテンポ、拍子とからなる。
【００９７】
また、上記単一譜面データ及び連結譜面データの楽曲データは、例えば図５に示すように、あるボイスの発音を指示するキーオンと、あるボイスの消音を指示するキーオフと、あるボイスの音程を変更するピッチ属性の変更等のデータからなる。これらのデータは、ＣＰＵ５１によって解釈され、上述のようにＣＰＵ５１によって音源の制御が行なわれる。
【００９８】
上述のような単一譜面データ及び連結譜面データは、例えば図６に示すように、各シーケンス毎に形成された譜面データから構成される。
【００９９】
すなわち、例えば譜面データＡ、Ｂにそれぞれ上記ファイルヘッダ情報が付加されて、単一譜面データが構成される。また、譜面データＣ、Ｄ、Ｅにそれぞれ譜面データＩＤとして、Ｐ−１、Ｐ−２、Ｐ−３が付加されて結合され、さらにファイルヘッダ情報が付加されて連結譜面データＰが形成される。このとき、譜面データＩＤは、連結譜面データＰ内の結合順となっている。
【０１００】
このように形成された単一譜面データ及び連結譜面データは、光学ディスク等に記録されており、再生に先だってメインメモリ５３に読み出される。
【０１０１】
このような単一譜面データ及び連結譜面データは、ＣＰＵ５１によって実行される音源制御プログラムによって実現される音源制御部によって再生される。
【０１０２】
この音源駆動部は、例えば図７に示す構成を有し、単一譜面データ及び連結譜面データを再生して音源の制御を行なう。
【０１０３】
すなわち、この音源制御部は、上記コントローラ９２等からなるコントローラ１０４と、メインメモリ５３の譜面データ保持部５３ａに保持されている単一譜面データあるいは連結譜面データから、再生する譜面データを選択する譜面データ選択部１０５と、譜面データ選択部１０５で選択された譜面データを取得する譜面データ取得部１０６と、上記サウンドシステム７０等からなる音源を制御する発音／消音情報制御部１０７等を備えている。
【０１０４】
上記譜面データ選択部１０５は、さらに、入力装置１０４からの入力に応じて選択される譜面データの選択情報を管理する譜面データ選択情報管理部１０５ａと、譜面データの状態等を保持する譜面データ選択情報保持部１０５ｂと、譜面データ選択情報保持部１０５ｂに保持されている譜面データの状態等を解析する譜面データ選択情報制御部１０５ｃとからなる。
【０１０５】
ここで、上記単一譜面データＡ、Ｂ及び連結譜面データＰは、例えば図８に示すように、ファイルヘッダ情報が削除され、各々独立に上記譜面データ保持部５３ａに保持されている。
【０１０６】
これらの単一譜面データＡ、Ｂには、それぞれを識別する譜面ＩＤとして「４」、「５」が割り当てられ、この譜面ＩＤにしたがって、そのアドレスが管理されている。
【０１０７】
また、連結譜面データＰの各々の譜面データＣ、Ｄ、Ｅには、それぞれを識別する譜面ＩＤとして「１」、「２」、「３」が割り当てられ、この譜面ＩＤにしたがって、そのアドレスが管理されている。
【０１０８】
具体的には、例えば図９（ａ）に示すように、メインメモリ５３に、これらの譜面ＩＤに対して譜面データＩＤ、譜面データが記憶されているアドレス、ポインタ等が参照テーブルとして記憶されている。
【０１０９】
この参照テーブルには、例えば単一譜面データＡ、Ｂに対する譜面ＩＤ４、５に対応させて、譜面データＡ、Ｂが記憶されているアドレスＡＤＤＲ１、ＡＤＤＲ２とポインタｐｔ４、ｐｔ５が保持されている。
【０１１０】
また、この参照テーブルには、例えば連結譜面データＰの譜面データＣ、Ｄ、Ｅに対する譜面ＩＤ１、２、３に対応させて、譜面データＣ、Ｄ、Ｅの譜面データＩＤであるＰ−１、Ｐ−２、Ｐ−３と、ポインタｐｔ１、ｐｔ２、ｐｔ３が記憶されている。
【０１１１】
これらの譜面データＩＤにより構成される符号Ｐに対しては、メインメモリ５３に、例えば図９（ｂ）に示すように、この符号Ｐに対応する連結譜面データＰが記録されているスタートアドレスＳＡＤＤＲ１がスタートアドレス参照テーブルとして記憶されている。
【０１１２】
また、上記譜面データＩＤであるＰ−１、Ｐ−２、Ｐ−３に対しては、メインメモリ５３に、例えば図９（ｃ）に示すように、連結譜面データＰのスタートアドレスＳＡＤＤＲ１に対する開始アドレス（オフセットアドレス）がオフセット参照テーブルとして記憶されている。
【０１１３】
具体的には、譜面データＩＤであるＰ−１に対応するオフセットアドレスは、対応する譜面データＣが連結譜面データの最初の譜面データであるために０となり、譜面データＩＤであるＰ−２に対応するオフセットアドレスは、対応する譜面データＤのスタートアドレスＳＡＤＤＲ１に対する開始アドレスＯＡＤＤＲ１となり、譜面データＩＤであるＰ−３に対応するオフセットアドレスは、対応する譜面データＥのスタートアドレスＳＡＤＤＲ１に対する開始アドレスＯＡＤＤＲ２となる。
【０１１４】
すなわち、連結譜面データを構成する譜面データは、参照テーブル、スタートアドレス参照テーブル及びオフセット参照テーブルを参照することによって譜面ＩＤを指定するだけで読み出される。
【０１１５】
これにより、連結譜面データを構成する譜面データの読み出しは、例えば図１０に示すように、上記譜面ＩＤを指定するだけで可能となり、実際のアドレスを指定して読み出す場合に比較してアドレスの指定が容易となる。
【０１１６】
ところで、この音源制御部では、上述の音源の２４ボイスを各譜面データの再生処理に割り当てることにより、複数の譜面データの再生処理を行なうことができるようになっている。
【０１１７】
この複数の譜面データの再生処理は、各々の処理で再生している譜面データに対応する参照テーブル上のポインタに従って、その進行が制御されている。すなわち、このポインタは、各々の譜面データの現在再生されている位置を示していおり、再生が開始されていないときは、譜面データの先頭を示している。
【０１１８】
また、上記譜面データ保持部１０５ｂには、例えば図１１に示すように、譜面ＩＤに対する譜面データの再生状態が譜面データ選択情報属性テーブルとして保持されている。
【０１１９】
この譜面データの再生状態は、上述の入力装置１０４からの入力あるいはゲームの進行等による他のプログラムからの指示によって設定される。
【０１２０】
また、譜面データの再生状態は、例えば再生が開始されていないときはＳｔｏｐとなり、再生中であるときはＰｌａｙとなり、一時停止状態であるときはＰａｕｓｅとなる。
【０１２１】
すなわち、上述の図１１に示す譜面データ選択情報属性テーブルは、譜面ＩＤが１である譜面データが再生中で、譜面ＩＤが２である譜面データが再生が開始されておらず、譜面ＩＤが３である譜面データが一時停止状態で、譜面ＩＤが４である譜面データが再生中で、譜面ＩＤが５である譜面データが開始されていない状態を示している。
【０１２２】
ここで、この再生装置による譜面データの再生動作を、図１２に示すフローチャートを用いて説明する。
【０１２３】
まず、譜面データの再生が開始されると、ステップＳ１に進み、ステップＳ１において、譜面データ選択情報管理部１０５ａは、入力装置１０４からの入力があるか否かを確認し、入力があればステップＳ２に進み、入力がなければステップＳ６に進む。
【０１２４】
ステップＳ２において、譜面データ選択情報制御部１０５ｃは、上記入力が、指示された譜面ＩＤに対する再生の要求か否かを判断し、再生の要求でなければステップＳ４に進み、再生の要求であれば続くステップＳ３に進み、譜面データ選択情報保持部１０５ｂの指示された譜面ＩＤに対応する譜面データの状態をＰｌａｙとした後、ステップＳ６に進む。
【０１２５】
ステップＳ４において、譜面データ選択情報制御部１０５ｃは、上記入力が、指示された譜面ＩＤに対する停止の要求か否かを判断し、停止の要求でなければステップＳ６に進み、停止の要求であれば続くステップＳ５に進み、譜面データ選択情報保持部１０５ｂの指示された譜面ＩＤに対応する譜面データの状態をＳｔｏｐとした後、ステップＳ６に進む。
【０１２６】
ステップＳ６において、譜面データ選択情報制御部１０５ｃは、譜面データ選択情報保持部１０５ｂに保持されている各譜面ＩＤに対応する譜面データの状態を解析し、続くステップＳ７において、再生状態となっている譜面ＩＤが存在するか否かを判定し、再生状態となっている譜面ＩＤがなければ上記ステップＳ１に戻り、入力を待機する。また、このステップＳ７において、再生状態となっている譜面ＩＤがあれば、再生状態となっている譜面ＩＤに対応する各々の譜面データの発音処理を開始して、ステップＳ８に進む。
【０１２７】
なお、このステップＳ８以降の処理は、周辺装置制御部５２によって一定間隔毎に発生されるタイマ割り込みにしたがって各譜面データ毎に行なわれるが、以下の説明では、１つの譜面データについてのみ説明する。
【０１２８】
すなわち、このステップＳ８において、譜面データ取得部１０６は、再生状態となっている譜面ＩＤに対応する譜面データの読み出しを譜面データ保持部５３ａに指示する。
【０１２９】
そして、続くステップＳ９において、譜面データ取得部１０６は、譜面データが終了したか否かを判断し、譜面データが終了していれば発音処理を終了し、譜面データが終了していなければ続くステップＳ１０に進む。
【０１３０】
ステップＳ１０において、譜面データ取得部１０６は、ステップＳ９において読み出された譜面データが、現在の割り込み期間中に再生するデータであるか否かを判断し、現在の割り込み期間中に再生するデータでなければ発音処理を終了し、現在の割り込み期間中に再生するデータであればステップＳ１１に進む。
【０１３１】
ステップＳ１１において、発音／消音情報制御部１０７は、現在の割り込み期間中に再生されるデータが、あるボイスの発音を指示するキーオンであるか否かを判断し、キーオンでなければステップＳ１３に進み、キーオンであれば続くステップＳ１２に進み、指定されたボイスの発音を音源に指示した後、ステップＳ８に戻り、次の割り込みを待機する。
【０１３２】
ステップＳ１３において、発音／消音情報制御部１０７は、現在の割り込み期間中に再生されるデータが、あるボイスの消音を指示するキーオフであるか否かを判断し、キーオフでなければステップＳ８に戻り、次の割り込みを待機する。また、キーオフであれば続くステップＳ１４に進み、指定されたボイスの消音を音源に指示した後、ステップＳ８に戻り、次の割り込みを待機する。
【０１３３】
これにより、上述の譜面データ選択情報属性テーブルに従って、その再生が選択されている譜面ＩＤに対応する譜面データの再生が行なわれる。
【０１３４】
また、この音源制御部では、上述の参照テーブル等を参照することによって譜面ＩＤを指定するだけで譜面データの特定を行なうことができ譜面データの管理が容易となる。
【０１３５】
譜面データ選択情報属性テーブルを変更することによって、各々の譜面ＩＤに対する譜面データの再生状態を独立に設定できるため、他の譜面データの再生状態に関わらず、譜面データの再生を指示することができ、例えば使用者からの入力あるいは、他のプログラムからの要求等に対する応答時間を向上させることができる。
【０１３６】
ところで、上述の図７に示す音源制御部は、さらに具体的には、例えば図１３に示すような構成を有する。なお、この図１３は、オペレーティングシステム、音源制御プログラム及びゲームプログラム等の実行によって上記ＣＰＵ５１が行なう処理を等価的にブロック図で示したものである。
【０１３７】
この音源制御部は、上記周辺装置制御部５２を制御して所定時間毎にＣＰＵ５１に対するタイマ割り込みを発生させるタイマ割り込み制御部１３０と、周辺装置制御部５２からのタイマ割り込みによって所定時間毎に起動され、上記譜面データに基づいて上記音源の制御を行なうサウンド制御部１４０と、ビデオゲーム装置全体の負荷状態を調べて上記タイマ割り込み制御部１３０に供給するシステム負荷情報制御部１５０と、上記コントローラ９２の状態を調べる入力要求制御部１６０とを有する。
【０１３８】
また、オペレーティングシステム及びゲームプログラムの実行によって上記ＣＰＵ５１で上記サウンド制御部１４０の処理と同時に実行される処理としては、上記グラフィックシステム６０による描画等を制御する描画制御部１７０と、使用者からの入力によって、発生する効果音、楽音等の選択、表示する画像の選択、ゲームの進行の制御等の処理を行なうメインルーチン部１８０とがある。
【０１３９】
上記タイマ割り込み制御部１３０は、タイマ割り込みを発生させる間隔を保持するタイマ割り込み間隔保持部１３１と、タイマ割り込み管理部１３２と、サウンド制御部１４０と上記メインルーチン部１８０との切り換えの制御を行なう制御切り換え管理部１３３とからなる。
【０１４０】
上記サウンド制御部１４０は、上述の譜面データを保持する譜面データ保持部１４１と、譜面データの読み出しを管理するデータ取得管理部１４２と、データ取得管理部１４２の動作を制御する時間情報管理部１４３と、読み出された譜面データに基づいて上記音源の発音／消音等を制御する発音／消音情報制御部１４４と、上記タイマ割り込み間隔保持部１３１からのタイマ割り込み間隔に応じた内部分解能を保持する内部分解能保持部１４５、上述の音源等からなる。
【０１４１】
上記音源は、上述のＳＰＵ７１、サウンドバッファ７２等から構成され、発音／消音情報制御部１４４の制御により、サウンドバッファ７２からなる波形データ保持部１４６に記憶されている波形データを読み出して音声を発生させる発音部１４７と、発生した音声を増幅して音量等を調整する増幅部１４８等からなる。この発音部１４７、増幅部１４８は、上述のようにＳＰＵ７１の一機能として実現されている。
【０１４２】
上記システム負荷情報制御部１５０は、システム負荷情報を取得するシステム負荷情報取得部１５１と、システム負荷を判断するシステム負荷判断部１５２と、システム負荷しきい値を保持するシステム負荷しきい値保持部１５３とからなる。
【０１４３】
入力要求制御部１６０は、上述のコントローラ９２等からなる入力装置１６１と、入力装置１６１からの入力要求を解析する入力要求解析部１６２とからなる。
【０１４４】
上記描画制御部１７０は、上述のＣＰＵ５１、ＧＴＥ６１、ＧＰＵ６２及びフレームバッファ６３等から構成され、ＧＴＥ６１等からなる制御時描画情報保持部１７１と、ＣＰＵ５１等からなる描画情報制御部１７２と、ＧＰＵ６２等からなる描画装置１７３と、フレームバッファ６３等からなる描画情報保持部１７４と、描画装置１７３からのビデオ出力に基づいて画像を表示する表示装置１７５等からなる。
【０１４５】
以下、この音源制御部の動作を説明する。
【０１４６】
この音源制御部では、予め、タイマ割り込み間隔保持部１３１に、システム負荷あるいは、入力要求に応じたタイマ割り込み間隔が保持されている。具体的には、例えばシステム負荷が軽いときのタイマ割り込み間隔として２４０分の１秒が、システム負荷が重いときのタイマ割り込み間隔として、システム負荷が軽いときのタイマ割り込み間隔より長い６０分の１秒が保持されている。
【０１４７】
この音源制御部では、処理が開始されると、ＣＰＵ５１が実行するメインルーチン部１８０によって、入力装置１６１からの入力に応じた描画制御部１７０の制御、サウンド制御部１４０によって発生される楽音等の選択、システム負荷情報制御部１５０等の処理が並列に実行される。
【０１４８】
このとき、システム負荷情報取得部１５１は、ＣＰＵ５１の負荷情報を取得してシステム負荷判断部１５２に供給し、システム負荷判断部１５２は、システム負荷しきい値保持部１５３に保持されているしきい値と比較してシステム負荷を判断し、判断結果をタイマ割り込み間隔保持部１３１に供給する。
【０１４９】
タイマ割り込み間隔保持部１３１は、システム負荷判断部１５２からのシステム負荷判断あるいは入力要求解析部１６２の出力に基づいて、タイマ割り込み間隔を選択してタイマ割り込み管理部１３２及び内部分解能保持部１４５に供給する。
【０１５０】
具体的には、タイマ割り込み間隔保持部１３１は、システム負荷判断部１５２からの判断結果に基づいて、システム負荷が軽いときは、割り込み間隔を２４０分の１秒とし、システム負荷が重いときは、割り込み間隔を６０分の１秒とする。
【０１５１】
タイマ割り込み管理部１３２は、タイマ割り込み間隔保持部１３１から供給されたタイマ割り込み間隔に基づいて周辺装置制御部５２を制御し、一定間隔毎にタイマ割り込みを発生させ、制御切り換え管理部１３３は、タイマ割り込みに基づいて一定間隔毎にメインルーチン部１８０とサウンド制御部１４０の処理とを切り換え、サウンド制御部１４０の処理を開始する。
【０１５２】
制御切り換え管理部１３３の切り換えによって処理が開始されると、サウンド制御部１４０では、時間情報管理部１４３が、内部分解能保持部１４５に保持されている内部分解能すなわちタイマ割り込み間隔に応じて、データ取得管理部１４２を制御して譜面データ保持部１４１に保持されている譜面データからタイマ割り込み間隔分の読み出しを指示し、読み出された譜面データを発音／消音情報制御部１４４に供給する。
【０１５３】
発音／消音情報制御部１４４は、時間情報管理部１４３から供給された譜面データに基づいて、発音部１４７を制御する。これにより、発音部１４７は、波形データ保持部１４６に保持されている波形データに基づいて音声を発生する。
【０１５４】
具体的には、発音／消音情報制御部１４４の実行により、上述の説明と同様に、ＣＰＵ５１がピッチ変換部１１１、エンベロープジェネレータ１１５等を制御することによって音声の発生を制御する。このように発生された音声は、増幅部１４８によってレベルが調整された後、スピーカ７３によって出力される。
【０１５５】
これによりタイマ割り込み間隔保持部１３１から供給されるタイマ割り込み間隔分の譜面データに基づく音声データが出力される。
【０１５６】
このサウンド制御部１４０は、上述のようにタイマ割り込み間隔保持部１３１によって設定されたタイマ割り込み間隔毎に起動され、これによって、タイマ割り込み間隔分の譜面データに基づく音声が順次発生される。
【０１５７】
すなわち、タイマ割り込み間隔が２４０分の１秒であるときは、例えば図１４（ａ）に示すように、２４０分の１秒毎に譜面データが再生される。
【０１５８】
このとき、実際のサウンド処理部１４０の処理時間は、２４０分の１秒より短くなっている。
【０１５９】
例えば時刻ｔ１１から時刻ｔ１２まで、時刻ｔ１２から時刻ｔ１３まで、時刻ｔ１２から時刻ｔ１４まで、時刻ｔ１４から時刻ｔ１５までの間に、それぞれ、音符が２つ再生される。すなわち、時刻ｔ１１から時刻ｔ１５までの６０分の１秒間に、音符が２つ再生される。
【０１６０】
また、タイマ割り込み間隔が６０分の１秒であるときは、例えば図１４（ｂ）に示すように、６０分の１秒毎に譜面データが再生される。例えば時刻ｔ２１から時刻ｔ２２までの６０分の１秒間に、音符が８つ再生される。
【０１６１】
すなわち、上述のタイマ割り込み間隔を２４０分の１秒とした場合と同様に６０分の１秒間に音符が８つ再生される。
【０１６２】
これにより、この音源処理装置では、同一の譜面データを用いて、タイマ割り込み間隔を変化させても、この変化させたタイマ割り込み間隔に応じて譜面データの読み出しを制御することにより、所定のテンポで譜面データが再生される。
【０１６３】
上述のようにサウンド制御部１４０を割り込みによって起動して処理を行なった場合、実際のＣＰＵ５１の処理負荷は、タイマ割り込み間隔が２４０分の１秒であるときは、例えば図１５（ａ）に示すように、サウンド制御部１４０の処理がＣＰＵ５１の処理能力の２５％を占めている。また、タイマ割り込み間隔が６０分の１秒であるときは、例えば図１５（ｂ）に示すように、サウンド制御部１４０の処理がＣＰＵ５１の処理能力の１２．５％を占めている。
【０１６４】
すなわち、実際に音源を制御するためのＣＰＵ５１の負荷はタイマ割り込み間隔が短くなってもさほど変化しないが、タイマ割り込み間隔が短くなると、タイマ割り込みが頻繁に発生すると、タイマ割り込みのための処理のオーバーヘッドが大きくなるため、サウンド制御部１４０の処理負荷が増大する。
【０１６５】
上述のように、この音源制御部では、タイマ割り込み間隔保持部１３１によって選択されたタイマ割り込み間隔は、システム負荷が軽いときは、割り込み間隔はサウンド制御部１４０の処理負荷が比較的大きくなる２４０分の１秒とされ、システム負荷が重いときは、サウンド制御部１４０の処理負荷が比較的小さくなる６０分の１秒とされている。
【０１６６】
これにより、この音源制御装置では、何等譜面データを変更することなく、システム負荷に応じてサウンド制御部１４０の処理負荷を可変することができる。このため、システム負荷が重いときは、サウンド制御部１４０の処理負荷が小さくなり、例えば描画等の処理を円滑に行なうことができる。
【０１６７】
なお、上述の実施例では本発明の音源制御情報の記憶方法及び音源制御装置をビデオゲーム装置において音源の制御を行なう音源制御部に適用した例について説明したが、音源の制御を行なう音源制御情報を記憶する記憶方法あるいは音源制御情報に基づいて音源の制御を行なう構成となっていれば、例えば自動演奏装置、パーソナルコンピュータ等の装置にも適用することができ、その他、本発明の技術的思想を逸脱しない範囲であれば適宜変更することができることは勿論である。
【０１６８】
【発明の効果】
本発明に係る音源制御情報の記憶方法は、連結譜面データを構成する各々の譜面データに対して割り当てた識別情報と、上記先頭アドレス及び相対アドレスとの対応を示す対応情報とを記憶する。
【０１６９】
これにより、対応情報を参照することにより、識別情報を指定するだけで対応する譜面データの記憶されているアドレスの指定が可能となり、譜面データの管理が容易な音源制御情報を記憶することができる。
【０１７０】
また、本発明に係る音源制御装置は、譜面識別情報を選択するだけで、
対応情報が参照されて、選択された譜面識別情報に対応する譜面データが読み出される。
【０１７１】
これにより、譜面データが連結されて連結譜面データとして記憶されている譜面データの読み出しを容易に行なうことができる。
【０１７２】
また、本発明に係る音源制御装置は、複数の識別情報に対応する譜面データに対して独立に再生状態を設定することができ、ある譜面データの再生が終了する前に、入力に対して即座に他の譜面データの再生を開始することができ、入力に対する応答を高速化することができる。
【図面の簡単な説明】
【図１】本発明に係る音源制御装置を適用したビデオゲーム装置の構成を示すブロック図である。
【図２】上記ビデオゲーム装置を構成するＳＰＵの具体的な構成を示すブロック図である。
【図３】上記ビデオゲーム装置を構成する音源を制御するための譜面データのフォーマットを示す図である。
【図４】上記ビデオゲーム装置を構成する音源を制御するための譜面データのフォーマットを示す図である。
【図５】上記譜面データを構成する楽曲データのフォーマットを示す図である。
【図６】上記譜面データの形成を説明するための図である。
【図７】上記譜面データに基づいて上記音源を制御する音源制御部の構成を示す図である。
【図８】上記音源制御部を構成する譜面データ保持部に保持されている譜面データの状態を示す図である。
【図９】上記譜面データの読み出しに際して参照される参照テーブルの構造を示す図である。
【図１０】上記音源制御部による譜面データの再生動作を説明するための図である。
【図１１】上記音源制御部による譜面データの管理を説明するための図である。
【図１２】上記音源制御部による譜面データの再生動作を説明するためのフローチャートである。
【図１３】上記音源制御部の詳細な構成を示すブロック図である。
【図１４】上記音源制御部を構成するサウンド制御部が、タイマ割り込みによって行なう処理を説明するための図である。
【図１５】上記サウンド制御部の処理と他の処理の負荷に比率を示す図である。
【図１６】従来の音源制御装置の構成を示すブロック図である。
【図１７】従来の音源制御装置で用いられている譜面データのフォーマットを示す図である。
【符号の説明】
５０  制御系
５１  ＣＰＵ
５２  周辺装置制御部
５３  メインメモリ
５３ａ  譜面データ保持部
５４  ＲＯＭ
６０  グラフィックシステム
６１  ＧＴＥ
６２  ＧＰＵ
６３  フレームバッファ
６４  画像デコーダ
６５  ディスプレイ装置
７０  サウンドシステム
７１  ＳＰＵ
７２  サウンドバッファ
７３  スピーカ
８０  光学ディスク制御部
８１  光学ディスク装置
８２  デコーダ
８３  バッファ
９０  通信制御部
９１  通信制御機
９２  コントローラ
１００  バス
１０４  入力装置
１０５  譜面データ選択部
１０５ａ  譜面データ選択情報管理部
１０５ｂ  譜面データ選択情報保持部
１０５ｃ  譜面データ選択情報制御部
１０６  譜面データ取得部
１０７  発音／消音情報制御部
１１１  ピッチ変換部
１１２  クロックジェネレータ
１１３  ノイズジェネレータ
１１４、１１８Ｌ、１１８Ｒ、１２３、１２５  スイッチ
１１５  エンベロープジェネレータ
１１６  ミュート処理部
１１７Ｌ、１１７Ｒ、１２０、１２４  ボリューム
１１９  リバーブ処理部
１２１ａ、１２１ｂ  加算部
１２２  マスターボリューム
１２４  ミキシングボリューム
１４０  サウンド制御部
１４１  譜面データ保持部
１４２  データ取得管理部
１４３  時間情報管理部
１４４  発音／消音情報制御部
１４５  内部分解能保持部１４５
１５０  システム負荷情報制御部
１５１  システム負荷情報取得部
１５２  システム負荷判断部
１５３  システム負荷しきい値保持部
１６０  入力要求制御部
１６１  入力装置
１６２  入力要求解析
１７０  描画制御部
１７１  制御時描画情報保持部
１７２  描画情報制御部
１７３  描画装置
１７４  描画情報保持部
１７５  表示装置
【図１】
0003660379.tif 000002
【図２】
0003660379.tif 000003
【図３】
0003660379.tif 000004
【図４】
0003660379.tif 000005
【図５】
0003660379.tif 000006
【図６】
0003660379.tif 000007
【図７】
0003660379.tif 000008
【図８】
0003660379.tif 000009
【図９】
0003660379.tif 000010
【図１０】
0003660379.tif 000011
【図１１】
0003660379.tif 000012
【図１２】
0003660379.tif 000013
【図１３】
0003660379.tif 000014
【図１４】
0003660379.tif 000015
【図１５】
0003660379.tif 000016
【図１６】
0003660379.tif 000017
【図１７】
0003660379.tif 000018