JP3919833B2 - 音源装置 - Google Patents

音源装置 Download PDF

Info

Publication number
JP3919833B2
JP3919833B2 JP30002494A JP30002494A JP3919833B2 JP 3919833 B2 JP3919833 B2 JP 3919833B2 JP 30002494 A JP30002494 A JP 30002494A JP 30002494 A JP30002494 A JP 30002494A JP 3919833 B2 JP3919833 B2 JP 3919833B2
Authority
JP
Japan
Prior art keywords
sound
musical score
data
information
score data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP30002494A
Other languages
English (en)
Other versions
JPH08160958A (ja
Inventor
文子 沖田
馨 山上
武 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP30002494A priority Critical patent/JP3919833B2/ja
Publication of JPH08160958A publication Critical patent/JPH08160958A/ja
Application granted granted Critical
Publication of JP3919833B2 publication Critical patent/JP3919833B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、指示された音階、音量等に基づいて音声を発生する音源装置に関し、特に、ビデオゲーム装置あるいは情報処理装置等において、演算結果あるいは使用者の操作に応じて音源装置を制御して効果音、背景音楽(BGM)等を発生させるために用いられる音源装置に関する。
【0002】
【従来の技術】
従来より、ビデオゲーム装置あるいはパーソナルコンピュータ等の情報処理装置においては、ゲームの進行あるいは使用者の操作に応じて楽音、効果音等を発生させることが行なわれている。
【0003】
このようなビデオゲーム装置あるいはパーソナルコンピュータ等では、例えば基本波とその高調波を合成した波形の周波数を可変することによって音程のある音を発生するいわゆるFM音源、あるいは基本となる基本波の波形データを記憶しておき、指示された音程等に応じて波形データの読み出し周期を可変して音程を発生させるいわゆるPCM音源等が音声を発生する音源装置として使用されている。
【0004】
例えばBGM等の再生においては、発生する音の音程、発音、消音、音色効果等の音楽情報を時間情報と共に時間順に並べた譜面データを予め用意しておき、これらをリアルタイムに解釈しながら、音源装置の音程、発音及び消音レジスタを逐次設定することによって行なわれている。
【0005】
このように、譜面データの形式でBGM等のデータを用意することは、プログラムの実行によって逐次音源装置の音程、発音及び消音等を制御する場合等に比較して、再生時に容易に音色、音量、音程等を変化させることができ、使用者の操作に高速に応答するリアルタイム性が重要となるマルチメディアコンピュータ、ゲーム等に適した方法である。
【0006】
また、このような譜面データに基づく音源装置の制御は、例えば図21に示すように、演算処理装置(CPU)として1つのCPU201のみを備えたビデオゲーム装置では、このCPU201を時分割で使用して、一定時間間隔毎に、譜面データを読み出し、読み出した譜面データに基づいて音源装置202の発音タイミング、発音期間、発音音程、音量等を制御してBGM等を発生させるようになっている。
【0007】
このように、CPU201を時分割で使用して譜面データを解釈する方法は、CPU201の処理能力が十分高ければ、特別な周辺装置等を必要としないためコストも安く、プログラムも作成しやすい。
【0008】
ところで、このようなビデオゲーム装置において、音源装置202として、上述のPCM音源を使用している場合では、実行されるゲーム毎に、あるいは、再生するBGM毎に使用する基本波の波形データ等を変更することが望まれている。
【0009】
このような場合、波形メモリを大きく設定し、複数のBGMで使用する波形データを全て記憶しておき、再生するBGM等に応じて波形データを変更することが考えられる。
【0010】
また、あるいは波形データをメモリ204上に記憶し、再生するBGM等に応じて、波形データを光学ディスク装置205等から読み出し、メモリ204に記憶されている波形データを書き換えることが考えられる。
【0011】
【発明が解決しようとする課題】
しかしながら、このようにメモリ204上に波形データを記憶する場合では、波形データの記憶のためにメモリ204に記憶領域を確保する必要があり、ゲームプログラム等を記憶する領域が減少する問題があった。
【0012】
本発明は、上述のような問題点に鑑みてなされたものであり、主記憶装置の使用可能な領域を減少させることなく、使用する波形データを変更することができる音源装置の提供を目的とする。
【0013】
本発明は、
波形データが格納されるサウンドバッファと、
トーンに関する情報と当該情報が適用される波形データの識別情報とを含むトーン属性情報が複数格納されるメインメモリと、
選択されたトーン属性情報を前記メインメモリから読み出す第 1 制御手段と、
前記第1制御手段の指示に応じて、前記第1制御手段が読み出したトーン属性情報に含まれる識別情報に対応する波形データを前記サウンドバッファから読み出して、当該トーン属性情報に基づき当該波形データを再生する第2制御手段と、
有することを特徴とする音源装置を提供する
また、本発明は、
サウンドバッファとメインメモリと第 1 及び第2制御手段とを有する音源装置の制御方法であって、
前記第1制御手段が、波形データと、トーンに関する情報及び前記波形データの識別情報を含むトーン属性情報とを補助記憶装置から読み出し、前記トーン属性情報を前記メインメモリに格納し、前記波形データを、前記メインメモリを介して前記サウンドバッファに格納する処理と、
前記第1制御手段が、選択されたトーン属性情報を前記メインメモリから読み出し、前記第2制御手段に、前記第1制御手段が読み出したトーン属性情報に含まれる識別情報に対応する波形データを前記サウンドバッファから読み出させ、当該トーン属性情報に基づき当該波形データを再生させる処理と、
を含むことを特徴とする、音源装置の制御方法を提供する。
【0016】
【作用】
本発明によれば、サウンドバッファに波形データが格納され、メインメモリに、トーンに関する情報と当該情報が適用される波形データの識別情報とを含むトーン属性情報が複数格納される。そして、前記第1制御手段は、選択されたトーン属性情報を前記メインメモリから読み出し、前記第2制御手段は、前記第1制御手段の指示に応じて、前記第1制御手段が読み出したトーン属性情報に含まれる識別情報に対応する波形データを前記サウンドバッファから読み出して、当該トーン属性情報に基づき当該波形データを再生する
【0017】
この音源装置に対して発音要求があると、振幅データとピッチ情報とが指定され、読み出し制御部は、識別情報を参照して指定された振幅データに対応する波形データの読み出しを制御する。ピッチ変換部は、読み出し制御部によってその読み出しが制御された波形データを読み出し、指定されたピッチ情報に基づいてピッチ変換し、振幅調整部は、ピッチ変換部によりピッチ変換された波形データの振幅を指定された振幅データに基づいて調整する。
【0018】
これにより、指定された振幅データとピッチ情報に応じた音声が発生される。
【0023】
【実施例】
以下、本発明に係る音源装置を、例えばビデオゲーム装置において、楽音、効果音等を発生する音源として適用した実施例について説明する。
【0024】
このビデオゲーム装置は、例えば光学ディスク等の補助記憶装置に記憶されているゲームプログラムを読み出して実行することにより、使用者からの指示に応じてゲームを行なうようになっており、図1に示すような構成を有している。
【0025】
すなわち、このビデオゲーム装置は、中央演算処理装置(CPU)及びその周辺装置等からなる制御系50と、フレームバッファに描画を行なうグラフィックプロセッシングユニット(GPU)等からなるグラフィックシステム60と、楽音、効果音等を発生するサウンドプロセッシングユニット(SPU)等からなるサウンドシステム70と、補助記憶装置である光学ディスクの制御を行なう光学ディスク制御部80と、使用者からの指示を入力するコントローラからの指示入力及びゲームの設定等を記憶する補助メモリからの入出力を制御する通信制御部90と、上記制御系50〜通信制御部90が接続されているバス100等を備えている。
【0026】
上記制御系50は、CPU51と、割り込み制御、ダイレクトメモリアクセス(DMA)転送の制御等を行なう周辺装置制御部52と、RAMからなる主記憶装置(メインメモリ)53と、メインメモリ53、グラフィックシステム60、サウンドシステム70等の管理を行なういわゆるオペレーティングシステム等のプログラムが格納されたROM54とを備えている。
【0027】
CPU51は、ROM54に記憶されているオペレーティングシステムを実行することにより装置全体の制御を行なう。
【0028】
上記グラフィックシステム60は、座標変換等の処理を行なうジオミトリトランスファエンジン(GTE)61と、CPU51からの描画指示に従って描画を行なう画像処理装置(GPU)62と、該GPU62により描画された画像を記憶するフレームバッファ63と、離散コサイン変換などの直行変換により圧縮されて符号化された画像データを復号化する画像デコーダ64とを備えている。
【0029】
GTE61は、例えば複数の演算を並列に実行する並列演算機構を備え、CPU51からの演算要求に応じて。座標変換、光源計算、行列あるいはベクトルの演算を高速に行なうことができるようになっている。
【0030】
具体的には、このGTE61は、1つの三角形状のポリゴンに同じ色で描画するフラットシェーディングを行なう演算の場合では、1秒間に最大150万程度のポリゴンの座標演算を行なうことができるようになっており、これによってこのビデオゲーム装置では、CPU51の負荷を低減すると共に、高速な座標演算を行なうことができるようになっている。
【0031】
GPU62は、CPU51からの描画命令に従って、フレームメモリ62に対して多角形(ポリゴン)等の描画を行なう。このGPU62は、1秒間に最大36万程度のポリゴンの描画を行なうことができるようになっている。
【0032】
フレームバッファ63は、いわゆるデュアルポートRAMからなり、GPU62からの描画あるいはメインメモリからの転送と、表示のための読み出しとを同時に行なうことができるようになっている。
【0033】
このフレームバッファ63は、1Mバイトの容量を有し、それぞれ16ビットの横1024で縦512の画素のマトリックスとして扱われる。
【0034】
このフレームバッファ63のうちの任意の領域をビデオ出力として出力することができるようになっている。
【0035】
また、このフレームバッファ63には、ビデオ出力として出力される表示領域の他に、GPU62がポリゴン等の描画を行なう際に参照するカラールックアップテーブル(CLUT)が記憶されるCLUT領域と、描画時に座標変換されてGPU62によって描画されるポリゴン等の中に挿入(マッピング)される素材(テクスチャ)が記憶されるテクスチャ領域が設けられている。これらのCLUT領域とテクスチャ領域は表示領域の変更等に従って動的に変更されるようになっている。
【0036】
なお、上記GPU62は、上述のフラットシェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーローシェーディングと、上記テクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行なうことができるようになっている。
【0037】
これらのグーローシェーディング又はテクスチャマッピングを行なう場合には、上記GTE61は、1秒間に最大50万程度のポリゴンの座標演算を行なうことができる。
【0038】
画像デコーダ64は、上記CPU51からの制御により、メインメモリ53に記憶されている静止画あるいは動画の画像データを復号化してメインメモリ53に記憶する。
【0039】
また、この再生された画像データは、GPU62を介してフレームバッファ63に記憶することにより、上述のGPU62によって描画される画像の背景として使用することができるようになっている。
【0040】
上記サウンドシステム70は、CPU51からの指示に基づいて、楽音、効果音等を発生する音声処理装置(SPU)71と、該SPU71により、波形データ等が記録されるサウンドバッファ72と、SPU71によって発生される楽音、効果音等を出力するスピーカ73とを備えている。
【0041】
上記SPU71は、16ビットの音声データを4ビットの差分信号として適応差分符号化(Adaptive defferential Pulse Code Moduretion :ADPCM)された音声データを再生するADPCM復号機能と、サウンドバッファ72に記憶されている波形データを再生することにより、効果音等を発生する再生機能と、サウンドバッファ72に記憶されている波形データを変調させて再生する変調機能等を備えている。
【0042】
このような機能を備えることによってこのサウンドシステム70は、CPU51からの指示によってサウンドバッファ72に記録された波形データに基づいて楽音、効果音等を発生するいわゆるPCM音源として使用することができるようになっている。
【0043】
上記光学ディスク制御部80は、光学ディスクに記録されたプログラム、データ等を再生する光学ディスク装置81と、例えばエラー訂正(ECC)符号化されて記録されているプログラム、データ等を復号するデコーダ82と、光学ディスク装置81からの再生データを一時的に記憶することにより、光学ディスクからの読み出しを高速化するバッファ83とを備えている。
【0044】
また、光学ディスク装置81で再生される光学ディスクに記録されている音声データとしては、上述のADPCMデータの他に音声信号をアナログ/デジタル変換したいわゆるPCMデータがある。
【0045】
ADPCMデータとして、例えば16ビットのデジタルデータ(PCMデータ)の差分を4ビットで表わして記録されている音声データは、デコーダ82で復号化された後、16ビットのデジタルデータに伸張されて上述のSPU71に供給される。
【0046】
また、PCMデータとして、例えば16ビットのデジタルデータとして記録されている音声データは、デコーダ82で復号化された後、上記SPU71に供給され、あるいは直接スピーカ73を駆動するために使用される。
【0047】
また、通信制御部90は、バス100を介してCPU51との通信の制御を行なう通信制御機91と、使用者からの指示を入力するコントローラ92と、ゲームの設定等を記憶するメモリカード93とを備えている。
【0048】
コントローラ92は、使用者からの指示を入力するために、例えば16個の指示キーを有し、通信制御機91からの指示に従って、この指示キーの状態を、同期式通信により、通信制御機91に毎秒60回程度送信する。そして、通信制御機91は、コントローラ92の指示キーの状態をCPU51に送信する。
【0049】
これにより、使用者からの指示がCPU51に入力され、CPU51は、実行しているゲームプログラム等に基づいて使用者からの指示に従った処理を行なう。
【0050】
また、CPU51は、実行しているゲームの設定等を記憶する必要があるときに、該記憶するデータを通信制御機91に送信し、通信制御機91はCPU51からのデータをメモリカード93に記憶する。
【0051】
このメモリカード93は、通信制御機91を介してバス100に接続されており、バス100から分離されているため、電源を入れた状態で、着脱することができる。これにより、ゲームの設定等を複数のメモリカード93に記憶することができるようになっている。
【0052】
また、このビデオゲーム装置は、バス100に接続されたパラレル入出力(I/O)101と、シリアル入出力(I/O)102とを備えている。
【0053】
そして、パラレルI/O101を介して周辺機器との接続を行なうことができるようになっており、また、シリアルI/O102を介して他のビデオゲーム装置との通信を行なうことができるようになっている。
【0054】
ところで、上記メインメモリ53、GPU62、画像デコーダ64及びデコーダ82等の間では、プログラムの読み出し、画像の表示あるいは描画等を行なう際に、大量の画像データを高速に転送する必要がある。
【0055】
このため、このビデオゲーム装置では、上述のようにCPU51を介さずに周辺装置制御部52からの制御により上記メインメモリ53、GPU62、画像デコーダ64及びデコーダ82等の間で直接データの転送を行なういわゆるDMA転送を行なうことができるようになっている。
【0056】
これにより、データ転送によるCPU51の負荷を低減させることができ、高速なデータの転送を行なうことができようになっている。
【0057】
このビデオゲーム装置では、電源が投入されると、CPU51が、ROM54に記憶されているオペレーティングシステムを実行する。
【0058】
このオペレーティングシステムの実行により、CPU51は、上記グラフィックシステム60、サウンドシステム70等の制御を行なう。
【0059】
また、オペレーティングシステムが実行されると、CPU51は、動作確認等の装置全体の初期化を行なった後、光学ディスク制御部80を制御して、光学ディスクに記録されているゲーム等のプログラムを実行する。
【0060】
このゲーム等のプログラムの実行により、CPU51は、使用者からの入力に応じて上記グラフィックシステム60、サウンドシステム70等を制御して、
画像の表示、効果音、楽音の発生等を制御するようになっている。
【0061】
ところで、このビデオゲーム装置は、ゲームの進行あるいは使用者の操作に応じて楽音、効果音等を発生させるために、効果音等の音声を発生する音源及び該音源の制御を行なう音源制御部を備えている。
【0062】
この音源は、上記CPU51及びSPU71によって実現されており、音源制御部は、上記CPU51によって実現されている。
【0063】
具体的には、上記SPU71は、図2に示すように、CPU51からの指示に応じてサウンドバッファ72に記録された波形データを読み出し、この読み出した波形データのピッチを変換するピッチ変換部111と、クロックを発生するクロックジェネレータ112と、該クロックジェネレータ112の出力に基づいてノイズを発生するノイズジェネレータ113と、ピッチ変換部111とノイズジェネレータ113との出力を切り換えるスイッチ114と、該スイッチ114の出力のレベルを調整して、出力波形の振幅を可変し、発生する音の包絡線(エンベロープ)を変換するエンベロープジェネレータ115と、発音を行なうか否かを切り換えるミュート処理部116と、音量及び左右のチャンネルのバランスを調整する左右のボリューム117L、117Rを備えている。
【0064】
サウンドバッファ72には、予め発音される音を構成する1周期分の波形データがいくつか記憶されている。この波形データは上述の4ビットのADPCMデータとして記憶されており、読み出し時にSPU71によって16ビットのPCMデータに変換された後、上記ピッチ変換部111に供給されるようになっている。
【0065】
このため、PCMデータをそのまま記憶する場合に比して、波形データを記憶するために要するサウンドバッファ72内の領域を低減させ、より多くの波形データを記憶することができる。
【0066】
また、メインメモリ53には、予めサウンドバッファ72に記憶された1周期分の波形データに対応する音のエンベロープ、すなわち、音の立ち上がり、立ち下がり等の情報が記録されている。
【0067】
なお、この図2には、1音声(1ボイス)分の回路構成を示したが、この音源は、合計で24ボイス分のピッチ変換部111〜ボリューム117L、117Rを備えており、各ボイスのボリューム117L、117Rの出力が合成されて、左右2チャンネル分の音声出力として出力されるようになっている。
【0068】
すなわち、この音源は、24ボイス分の発音を同時に行なうことができるようになっている。
【0069】
また、各ボイス毎に、上記サウンドバッファ72に記憶された波形データ、エンベロープ、音量、左右チャンネルのバランス等を独立に設定することができるようになっている。
【0070】
これにより、この音源は、複数のボイスを使用して、和音の発生あるいは複数の楽器による演奏等を行なうことができるようになっている。
【0071】
また、この音源は、音声出力に、時間を前後させた音声出力を合成するいわゆるリバーブ処理を行なうことができるようになっている。
【0072】
すなわち、上記SPU71は、24ボイス分の音声が合成された音声出力にリバーブ処理を行なうか否かを選択するスイッチ118L、118Rと、該スイッチ118Lから供給される音声出力を時間的に前後させるリバーブ処理部119と、時間的に前後させた音声出力の音量を調節するボリューム120と、該ボリューム120の出力を、時間的に前後させる前の音声出力に合成する加算部121bと、該加算部121の出力の音量を調節するマスターボリューム122とを備えている。
【0073】
また、この音源では、上述のように発生した音声出力に上記デコーダ82から供給される光学ディスクから読み出された音声信号を合成することができるようになっている。
【0074】
具体的には、上記SPU71は、光学ディスクからの音声信号を上述の音声出力に合成するか否かを選択するスイッチ123と、合成する音声信号の音量を調節して加算部121aに供給するミキシングボリューム124と、合成する音声信号にリバーブ処理を行なうか否かを選択するスイッチ125とを備えている。
【0075】
なお、上述の図2には、左チャンネルのみについてリバーブ処理部119、ボリューム120及びミキシングボリューム124等の構成を示したが、これらは、右チャンネルについても同様な構成を有する。
【0076】
ここで、この音源の動作を説明する。
【0077】
CPU51は、発音する必要が生じたときに、サウンドバッファ72に記憶された波形データの中から発音する波形データを選択する選択信号と、発音する音の音程とを上記ピッチ変換部111に供給すると共に、メインメモリ53に記憶されたエンベロープの中から発音する波形データに対応するエンベロープを読み出して上記エンベロープジェネレータ115に供給する。
【0078】
ピッチ変換部111は、指示された音程にしたがって、波形データの読み出しステップを可変して波形データを読み出す。また、ピッチ変換部111は、1周期分の波形データの読み出しが終了すると、発音の指示が供給されている期間中、同一の波形データを最初から繰り返し読み出す。
【0079】
これにより、発音の指示が供給されている間中、指示された音程に対応した波形データが再生される。このような波形データは、スイッチ114を介してエンベロープジェネレータ115に供給される。
【0080】
エンベロープジェネレータ115は、CPU51から供給されたエンベロープに基づいて、ピッチ変換部111からの波形データの振幅を変換する。
【0081】
これにより1ボイス分の音声が発生される。同様に残りの23ボイス分の音声が発生され、各々のボリューム117L、ボリューム117Rによって音量、左右チャンネルのバランスが調整された後、上述のようにリバーブ処理等の処理が行なわれた後、合成される。
【0082】
かくして、CPU51からの指示に応じた音声が発生される。
【0083】
上記各ボイスの音声を形成するための波形データ、エンベロープ等のデータは、いくつかの波形データ、エンベロープ等のデータの設定(プログラム)を集めて1つのファイルとしたバンクとして光学ディスク等に記録されている。そして、このバンク単位で、光学ディスク等からの読み出しが管理される。
【0084】
このバンクは、例えば図3に示すように、属性情報部(バンクヘッダ)VHと、波形情報部VBとからなり、波形情報部VBは、圧縮された波形データ(wave)の集合からなり、バンクヘッダVHは、圧縮された波形データ(VAG)に対応する属性情報(attribute)の集合からなる。
【0085】
上記属性情報は、1つの波形データに対して1対1に対応する必要がなく、1つの波形データに対して複数の属性情報を対応させることができる。このため、上述の図3に示すように、属性情報の数の方が多くなる。
【0086】
具体的には、上記バンクヘッダVHは、例えば図4に示すように、VABヘッダと、プログラムヘッダと、トーン属性テーブル(VAG属性テーブル)と、VAGオフセットテーブルとからなる。
【0087】
VABヘッダは、ファイルがバンクVABであることを識別するためのVAB識別子と、バージョンと、個々のバンクVABを識別するためのファイルIDと、バンクVABを構成するファイルのサイズを表わすファイルサイズと、バンクVABに含まれる上記プログラムの数を表わすプログラム数と、バンクに含まれる全VAG属性セットの数を示すトーン数と、バンクに含まれるVAGの数を示すVAG数と、マスタボリューム122の設定レベルを示すマスターボリューム(mvol)と、マスタパンレベルの設定を示すマスタパンレベル(pan)等からなる。
【0088】
プログラムヘッダは、複数の上記プログラムからなり、トーン属性テーブルは、複数のトーン属性からなる。
【0089】
また、1つのプログラムに対して、複数のトーン属性(VAG属性)が、例えば音域毎に割り当てられている。
【0090】
上記プログラムは、プログラムに含まれるVAG属性の数を示すトーン(tone)と、プログラムのマスターボリューム(vol)と、プログラムの優先度(prior)と、音源のモード(mode)と、プログラムのマスタパンレベル(pan)と、プログラムの属性(attribute)と、アドレス(address1、2)等からなる。
【0091】
また、上記VAG属性は、VAG属性の優先度(prior)と、ボリューム(vol)と、パンポット(pan)と、発音の中心となる音程であるセンターノート(crsc)と、ピッチ補正を行なうためのファインチューニング(fine)と、発音の最小値及び最大値(min、max)と、ビブラートの幅及び1周期の時間(vibW、vibT)と、ポルタメントの幅及び持続時間(porW、porT)と、ピッチを変化させるピッチベンドの最小値及び最大値(pbmin、pbmax)と、エンベロープの設定値(adsr1、2)と、当該VAG属性が含まれるプログラムの表示(program)と、当該VAG属性が使用する波形データ(VAG)の識別情報(vag)とからなる。
【0092】
上記エンベロープの設定値adsr1、2は、例えば図5に示すように、発生する音のエンベロープの立ち上がり(attack)、減少(decay)維持(sustain)、立ち下がり(release)を示している。
【0093】
このエンベロープの設定値adsr1、2は、上述のエンベロープジェネレータ115によって、ピッチ変換部111の出力のレベルを調整するために使用される。
【0094】
具体的には、上記各ボイスのエンベロープジェネレータ115は、図6に示すように、上記エンベロープの設定値adsr1、2を保持するadsrレジスタ115a、115bと、adsrレジスタ115a、115bに保持されているエンベロープの設定値adsr1、2に基づいてピッチ変換部111の出力の振幅レベルを発生するadsrコントローラ115cと、adsrコントローラ115cによって発生されたレベルとピッチ変換部111の出力との積を求める乗算器115d等からなる。
【0095】
そして、発音を行なう際には、上記CPU51が、選択されたVAG属性に対応するエンベロープの設定値adsr1、2をメインメモリ53から読み出して上記各ボイスのadsrレジスタ115a、115bに供給すると共に、選択されたVAG属性に対応する波形データの読みだしをサウンドバッファ72に指示する。
【0096】
サウンドバッファ72から読み出された波形データは、上述のようにピッチ変換部111でピッチ変化された後、スイッチ114を介して乗算器115dに供給される。
【0097】
一方、adsrコントローラ15cは、adsrレジスタ115a、115bに保持されているエンベロープの設定値adsr1、2に基づいて、例えば上記図5に示すような、エンベロープの値を発生して、乗算器115dに供給する。
【0098】
そして、乗算器115は、ピッチ変換部111の出力と、エンベロープの値との積を求めて出力する。これにより、エンベロープ111の出力がエンベロープの値によって振幅変調された音声波形が発生される。このような音声波形が発生が各ボイス毎に行なわれ、各ボイスの発音が行なわれるようになっている。
【0099】
また、上記VAGオフセットテーブルは、波形情報部VB中の個々のVAGの位置を示すvagoffsetからなる。このvagoffsetは、上述のVAGの識別情報vagによって指定されるVAGの位置を波形情報部VBの先頭からのオフセットとして表わしたものであり、発音を行なう際に、上記CPU51によって読み出されて上記SPU71に供給される。そして、SPU71は、発音を行なう際に、サウンドバッファ72のvagoffsetにより指定されるアドレスからVAGを読み出すようになっている。
【0100】
ここで、上述のバンクVABのデータは、使用に先だって、光学ディスク等から読み出され、メインメモリ53あるいは、サウンドバッファ72に記憶される。
【0101】
バンクヘッダVHは、光学ディスク等から読み出されてメインメモリ53に記憶され、波形情報部VBは、光学ディスク等から読み出されてメインメモリ53に記憶された後、サウンドバッファ72に転送されて記憶される。これらの読み出しあるいは転送はDMA転送によって行なわれる。
【0102】
具体的には、メインメモリ53には、例えば図7に示すように、バンクヘッダVHが記憶されるバンクヘッダ記憶領域53VHと、波形情報部VBを転送するためのチャンネル領域53cとが設けられている。このチャンネル領域53cは、図7中に波線で示す波形情報部VBのサイズより小さくなっている。
【0103】
このため、波形情報部VBは、チャンネル領域53c以下のサイズに分割されて、順次チャンネル領域53cに記憶された後、サウンドバッファ72に転送される。
【0104】
これにより、波形データの転送に要するメインメモリ53のチャンネル領域53cを低減することができ、ゲームプログラム等が格納されるメモリ領域を大きく設定することができる。
【0105】
また、チャンネル領域53cには波形情報部VBの読み出し、転送が終了すれば、他のゲームプログラム等を記憶することができるため、メインメモリ53を有効に使用することができる。
【0106】
ここで、上述のように発音要求があると、CPU51は、発音要求に応じてメインメモリから属性情報部の情報を読み出して、各ボイスの上記VAGの選択、ピッチ変換部111、エンベロープジェネレータ115、ボリューム117L、117R等の設定を行なう。これにより、サウンドバッファに記憶された波形データが読み出され、上述したように各ボイスの音声が発生される。
【0107】
この音源では、属性情報と、波形データをメインメモリ53に、サウンドバッファ72に各々独立に記憶し、発音要求に応じてメインメモリ53に記憶されている属性情報を参照して、サウンドバッファ72に記憶されている波形データを読み出して音声を発生する構成としているため、光学ディスク等から
属性情報及び波形データを読み出してメインメモリ53及びサウンドバッファ72に記憶することにより属性情報及び波形情報を変更することができる。
【0108】
これにより、再生するBGM等に対応させて発生する音声を変更することができる。
【0109】
上述のような音源の制御を行なう音源制御部は、CPU51が音源制御プログラムを実行することによって実現されている。
【0110】
このビデオゲーム装置では、発生させる効果音、背景音楽(BGM)等に使用する波形データ、発生する音の音程、発音、消音、音色効果等の音楽情報を時間情報と共に時間順に並べた譜面データを予めメインメモリ53に記憶しておき、音源制御部は、これらの譜面データを例えば一定時間間隔毎に、逐次読み出して、上記音源の音程、発音及び消音レジスタを逐次設定することによって効果音、BGM等を再生するようになっている。
【0111】
具体的には、この譜面データは、演奏される単位(シーケンス)の譜面データ毎に1つのファイルとされた単一譜面データあるいは、複数のシーケンスの譜面データが1つのファイルとされた連結譜面データからなる。
【0112】
上記単一譜面データは、例えば図8に示すように、1つのファイルヘッダ情報と、1シーケンス分の譜面データとからなり、1シーケンス分の譜面データは、当該譜面データの属性を表わす1つのデータヘッダ情報と、1つのシーケンスデータとからなる。
【0113】
ファイルヘッダ情報は、当該ファイルがサウンドデータであることを表わすサウンドIDと、バージョン等を表わすバージョン番号とからなる。
【0114】
データヘッダ情報は、当該譜面データのシーケンス情報の時間分解能、テンポ及び拍子を示す四分音符の分解能、曲のテンポ、拍子とからなる。
【0115】
シーケンスデータは、1つのシーケンス内の楽音を構成する楽音データとからなる。
【0116】
また、上記連結譜面データは、例えば図9に示すように、1つのファイルヘッダ情報と、複数のシーケンスの譜面データとからなり、個々のシーケンスの譜面データは、それぞれ、上述の単一譜面データと同様に、当該譜面データの属性を表わす1つのデータヘッダ情報と、1つのシーケンスデータとからなる。
【0117】
この連結譜面データの場合、上記データヘッダ情報は、連結譜面データ中の個々の譜面データを識別するための譜面データIDと、当該譜面データのシーケンス情報の時間分解能、テンポ及び拍子を示す四分音符の分解能、曲のテンポ、拍子とからなる。
【0118】
また、上記単一譜面データ及び連結譜面データの楽曲データは、例えば図10に示すように、あるボイスの発音を指示するキーオンと、あるボイスの消音を指示するキーオフと、あるボイスの音程を変更するピッチ属性の変更等のデータからなる。これらのデータは、CPU51によって解釈され、上述のようにCPU51によって音源の制御が行なわれる。
【0119】
上述のような単一譜面データ及び連続譜面データは、例えば図11に示すように、各シーケンス毎に形成された譜面データから構成される。
【0120】
すなわち、例えば譜面データA、Bにそれぞれ上記ファイルヘッダ情報が付加されて、単一譜面データが構成される。また、譜面データC、D、Eにそれぞれ譜面データIDとして、P−1、P−2、P−3が付加されて結合され、さらにファイルヘッダ情報が付加されて連結譜面データPが形成される。このとき、譜面データIDは、連結譜面データP内の結合順となっている。
【0121】
このように形成された単一譜面データ及び連続譜面データは、光学ディスク等に記録されており、再生に先だってメインメモリ53に読み出される。
【0122】
このような単一譜面データ及び結合譜面データは、CPU51によって実行される音源制御プログラムによって実現される音源制御部によって再生される。
【0123】
この音源駆動部は、例えば図12に示す構成を有し、単一譜面データ及び結合譜面データを再生して音源の制御を行なう。
【0124】
すなわち、この音源制御部は、上記コントローラ92等からなるコントローラ104と、メインメモリ53の譜面データ保持部53aに保持されている単一譜面データあるいは連続譜面データから、再生する譜面データを選択する譜面データ選択部105と、譜面データ選択部105で選択された譜面データを取得する譜面データ取得部106と、上記サウンドシステム70等からなる音源を制御する発音/消音情報制御部107等を備えている。
【0125】
上記譜面データ選択部105は、さらに、入力装置104からの入力に応じて選択される譜面データの選択情報を管理する譜面データ選択情報管理部105aと、譜面データの状態等を保持する譜面データ選択情報保持部105bと、譜面データ選択情報保持部105bに保持されている譜面データの状態等を解析する譜面データ選択情報制御部105cとからなる。
【0126】
ここで、上記単一譜面データA、B及び連結譜面データPは、例えば図13に示すように、ファイルヘッダ情報が削除され、各々独立に上記譜面データ保持部53aに保持されている。
【0127】
これらの単一譜面データA、Bには、それぞれを識別する譜面IDとして4、5が割り当てられ、この譜面IDにしたがって、そのアドレスが管理されている。
【0128】
また、連結譜面データPの各々の譜面データC、D、Eには、それぞれを識別する譜面IDとして1、2、3が割り当てられ、この譜面IDにしたがって、そのアドレスが管理されている。
【0129】
具体的には、例えば図14(a)に示すように、メインメモリ53に、これらの譜面IDに対して譜面データID、譜面データが記憶されているアドレス、ポインタ等が参照テーブルとして記憶されている。
【0130】
この参照テーブルには、例えば単一譜面データA、Bに対する譜面ID4、5に対応させて、譜面データA、Bが記憶されているアドレスADDR1、ADDR2とポインタpt4、pt5が保持されている。
【0131】
また、この参照テーブルには、例えば連結譜面データPの譜面データC、D、Eに対する譜面ID1、2、3に対応させて、譜面データC、D、Eの譜面データIDであるP−1、P−2、P−3と、ポインタpt1、pt2、pt3が記憶されている。
【0132】
これらの譜面データIDを構成する符号Pに対しては、メインメモリ53に、例えば図14(b)に示すように、この符号Pに対応する連結符号データPが記録されているスタートアドレスSADDR1がスタートアドレス参照テーブルとして記憶されている。
【0133】
また、上記譜面データIDであるP−1、P−2、P−3に対しては、メインメモリ53に、例えば図14(c)に示すように、連結譜面データPのスタートアドレスSADDR1に対する開始アドレス(オフセットアドレス)がオフセット参照テーブルとして記憶されている。
【0134】
具体的には、譜面データIDであるP−1に対応するオフセットアドレスは、対応する譜面データCが連結譜面データの最初の譜面データであるために0となり、譜面データIDであるP−2に対応するオフセットアドレスは、対応する譜面データDのスタートアドレスSADDR1に対する開始アドレスOADDR1となり、譜面データIDであるP−3に対応するオフセットアドレスは、対応する譜面データEのスタートアドレスSADDR1に対する開始アドレスOADDR2となる。
【0135】
すなわち、連結譜面データを構成する譜面データは、参照テーブル、スタートアドレス参照テーブル及びオフセット参照テーブルを参照することによって譜面IDを指定するだけで読み出される。
【0136】
これにより、連結譜面データを構成する譜面データの読み出しは、例えば図15に示すように、上記譜面IDを指定するだけで可能となり、実際のアドレスを指定して読み出す場合に比較してアドレスの指定が容易となる。
【0137】
ところで、この音源制御部では、上述の音源の24ボイスを各譜面データの再生処理に割り当てることにより、複数の譜面データの再生処理を行なうことができるようになっている。
【0138】
この複数の譜面データの再生処理は、各々の処理で再生している譜面データに対応する参照テーブル上のポインタに従って、その進行が制御されている。すなわち、このポインタは、各々の譜面データの現在再生されている位置を示していおり、再生が開始されていないときは、譜面データの先頭を示している。
【0139】
また、上記譜面データ保持部105bには、例えば図16に示すように、譜面IDに対する譜面データの再生状態が譜面データ選択情報属性テーブルとして保持されている。
【0140】
この譜面データの再生状態は、上述の入力装置104からの入力あるいはゲームの進行等による他のプログラムからの指示によって設定される。
【0141】
また、譜面データの再生状態は、例えば再生が開始されていないときはStopとなり、再生中であるときはPlayとなり、一時停止状態であるときはPauseとなる。
【0142】
すなわち、上述の図16に示す譜面データ選択情報属性テーブルは、譜面IDが1である譜面データが再生中で、譜面IDが2である譜面データが再生が開始されておらず、譜面IDが3である譜面データが一時停止状態で、譜面IDが4である譜面データが再生中で、譜面IDが5である譜面データが開始されていない状態を示している。
【0143】
ここで、この再生装置による譜面データの再生動作を、図17に示すフローチャートを用いて説明する。
【0144】
まず、譜面データの再生が開始されると、ステップS1に進み、ステップS1において、譜面データ選択情報管理部105aは、入力装置104からの入力があるか否かを確認し、入力があればステップS2に進み、入力がなければステップS6に進む。
【0145】
ステップS2において、譜面データ選択情報制御部105cは、上記入力が、指示された譜面IDに対する再生の要求か否かを判断し、再生の要求でなければステップS4に進み、再生の要求であれば続くステップS3に進み、譜面データ選択情報保持部105bの指示された譜面IDに対応する譜面データの状態をPlayとした後、ステップS6に進む。
【0146】
ステップS4において、譜面データ選択情報制御部105cは、上記入力が、指示された譜面IDに対する停止の要求か否かを判断し、停止の要求でなければステップS6に進み、停止の要求であれば続くステップS5に進み、譜面データ選択情報保持部105bの指示された譜面IDに対応する譜面データの状態をStopとした後、ステップS6に進む。
【0147】
ステップS6において、譜面データ選択情報制御部105cは、譜面データ選択情報保持部105bに保持されている各譜面IDに対応する譜面データの状態を解析し、続くステップS7において、再生状態となっている譜面IDが存在するか否かを判定し、再生状態となっている譜面IDがなければ上記ステップS1に戻り、入力を待機する。また、このステップS7において、再生状態となっている譜面IDがあれば、再生状態となっている譜面IDに対応する各々の譜面データの発音処理を開始して、ステップS8に進む。
【0148】
なお、このステップS8以降の処理は、周辺装置制御部52によって一定間隔毎に発生されるタイマ割り込みにしたがって各譜面データ毎に行なわれるが、以下の説明では、1つの譜面データについてのみ説明する。
【0149】
すなわち、このステップS8において、譜面データ取得部106は、再生状態となっている譜面IDに対応する譜面データの読み出しを譜面データ保持部53aに指示する。
【0150】
そして、続くステップS9において、譜面データ取得部106は、譜面データが終了したか否かを判断し、譜面データが終了していれば発音処理を終了し、譜面データが終了していなければ続くステップS10に進む。
【0151】
ステップS10において、譜面データ取得部106は、ステップS9において読み出された譜面データが、現在の割り込み期間中に再生するデータであるか否かを判断し、現在の割り込み期間中に再生するデータでなければ発音処理を終了し、現在の割り込み期間中に再生するデータであればステップS11に進む。
【0152】
ステップS11において、発音/消音情報制御部107は、現在の割り込み期間中に再生されるデータが、あるボイスの発音を指示するキーオンであるか否かを判断し、キーオンでなければステップS13に進み、キーオンであれば続くステップS12に進み、指定されたボイスの発音を音源に指示した後、ステップS8に戻り、次の割り込みを待機する。
【0153】
ステップS13において、発音/消音情報制御部107は、現在の割り込み期間中に再生されるデータが、あるボイスの消音を指示するキーオフであるか否かを判断し、キーオフでなければステップS8に戻り、次の割り込みを待機する。また、キーオフであれば続くステップS14に進み、指定されたボイスの消音を音源に指示した後、ステップS8に戻り、次の割り込みを待機する。
【0154】
これにより、上述の譜面データ選択情報属性テーブルに従って、その再生が選択されている譜面IDに対応する譜面データの再生が行なわれる。
【0155】
また、この音源制御部では、上述の参照テーブル等を参照することによって譜面IDを指定するだけで譜面データの特定を行なうことができ譜面データの管理が容易となる。
【0156】
譜面データ選択情報属性テーブルを変更することによって、各々の譜面IDに対する譜面データの再生状態を独立に設定できるため、他の譜面データの再生状態に関わらず、譜面データの再生を指示することができ、例えば使用者からの入力あるいは、他のプログラムからの要求等に対する応答時間を向上させることができる。
【0157】
ところで、上述の図12に示す音源制御部は、さらに具体的には、例えば図18に示すような構成を有する。なお、この図18は、オペレーティングシステム、音源制御プログラム及びゲームプログラム等の実行によって上記CPU51が行なう処理を等価的にブロック図で示したものである。
【0158】
この音源制御部は、上記周辺装置制御部52を制御して所定時間毎にCPU51に対するタイマ割り込みを発生させるタイマ割り込み制御部130と、周辺装置制御部52からのタイマ割り込みによって所定時間毎に起動され、上記譜面データに基づいて上記音源の制御を行なうサウンド制御部140と、ビデオゲーム装置全体の負荷状態を調べて上記タイマ割り込み制御部130に供給するシステム負荷情報制御部150と、上記コントローラ92の状態を調べる入力要求制御部160とを有する。
【0159】
また、オペレーティングシステム及びゲームプログラムの実行によって上記CPU51で上記サウンド制御部140の処理と同時に実行される処理としては、上記グラフィックシステム60による描画等を制御する描画制御部170と、使用者からの入力によって、発生する効果音、楽音等の選択、表示する画像の選択、ゲームの進行の制御等の処理を行なうメインルーチン部180とがある。
【0160】
上記タイマ割り込み制御部130は、タイマ割り込みを発生させる間隔を保持するタイマ割り込み間隔保持部131と、タイマ割り込み管理部132と、サウンド制御部140と上記メインルーチン部180との切り換えの制御を行なう制御切り換え管理部133とからなる。
【0161】
上記サウンド制御部140は、上述の譜面データを保持する譜面データ保持部141と、譜面データの読み出しを管理するデータ取得管理部142と、データ取得管理部142の動作を制御する時間情報管理部143と、読み出された譜面データに基づいて上記音源の発音/消音等を制御する発音/消音情報制御部144と、上記タイマ割り込み間隔保持部131からのタイマ割り込み間隔に応じた内部分解能を保持する内部分解能保持部145、上述の音源等からなる。
【0162】
上記音源は、上述のSPU71、サウンドバッファ72等から構成され、発音/消音情報制御部144の制御により、サウンドバッファ72からなる波形データ保持部146に記憶されている波形データを読み出して音声を発生させる発音部147と、発生した音声を増幅して音量等を調整する増幅部148等からなる。この発音部147、増幅部148は、上述のようにSPU71の一機能として実現されている。
【0163】
上記システム負荷情報制御部150は、システム負荷情報を取得するシステム負荷情報取得部151と、システム負荷を判断するシステム負荷判断部152と、システム負荷しきい値を保持するシステム負荷しきい値保持部153とからなる。
【0164】
入力要求制御部160は、上述のコントローラ92等からなる入力装置161と、入力装置161からの入力要求を解析する入力要求解析部162とからなる。
【0165】
上記描画制御部170は、上述のCPU51、GTE61、GPU62及びフレームバッファ63等から構成され、GTE61等からなる制御時描画情報保持部171と、CPU51等からなる描画情報制御部172と、GPU62等からなる描画装置173と、フレームバッファ63等からなる描画情報保持部174と、描画装置173からのビデオ出力に基づいて画像を表示する表示装置175等からなる。
【0166】
以下、この音源制御部の動作を説明する。
【0167】
この音源制御部では、予め、タイマ割り込み間隔保持部131に、システム負荷あるいは、入力要求に応じたタイマ割り込み間隔が保持されている。具体的には、例えばシステム負荷が軽いときのタイマ割り込み間隔として240分の1秒が、システム負荷が重いときのタイマ割り込み間隔として、システム負荷が軽いときのタイマ割り込み間隔より長い60分の1秒が保持されている。
【0168】
この音源制御部では、処理が開始されると、CPU51が実行するメインルーチン部180によって、入力装置161からの入力に応じた描画制御部170の制御、サウンド制御部140によって発生される楽音等の選択、システム負荷情報制御部150等の処理が並列に実行される。
【0169】
このとき、システム負荷情報取得部151は、CPU51の負荷情報を取得してシステム負荷判断部152に供給し、システム負荷判断部152は、システム負荷しきい値保持部153に保持されているしきい値と比較してシステム負荷を判断し、判断結果をタイマ割り込み間隔保持部131に供給する。
【0170】
タイマ割り込み間隔保持部131は、システム負荷判断部152からのシステム負荷判断あるいは入力要求解析部162の出力に基づいて、タイマ割り込み間隔を選択してタイマ割り込み管理部132及び内部分解能保持部145に供給する。
【0171】
具体的には、タイマ割り込み間隔保持部131は、システム負荷判断部152からの判断結果に基づいて、システム負荷が軽いときは、割り込み間隔を240分の1秒とし、システム負荷が重いときは、割り込み間隔を60分の1秒とする。
【0172】
タイマ割り込み管理部132は、タイマ割り込み間隔保持部131から供給されたタイマ割り込み間隔に基づいて周辺装置制御部52を制御し、一定間隔毎にタイマ割り込みを発生させ、制御切り換え管理部133は、タイマ割り込みに基づいて一定間隔毎にメインルーチン部180とサウンド制御部140の処理とを切り換え、サウンド制御部140の処理を開始する。
【0173】
制御切り換え管理部133の切り換えによって処理が開始されると、サウンド制御部140では、時間情報管理部143が、内部分解能保持部145に保持されている内部分解能すなわちタイマ割り込み間隔に応じて、データ取得管理部142を制御して譜面データ保持部141に保持されている譜面データからタイマ割り込み間隔分の読み出しを指示し、読み出された譜面データを発音/消音情報制御部144に供給する。
【0174】
発音/消音情報制御部144は、時間情報管理部143から供給された譜面データに基づいて、発音部147を制御する。これにより、発音部147は、波形データ保持部146に保持されている波形データに基づいて音声を発生する。
【0175】
具体的には、発音/消音情報制御部144の実行により、上述の説明と同様に、CPU51がピッチ変換部111、エンベロープジェネレータ115等を制御することによって音声の発生を制御する。このように発生された音声は、増幅部148によってレベルが調整された後、スピーカ73によって出力される。
【0176】
これによりタイマ割り込み間隔保持部131から供給されるタイマ割り込み間隔分の譜面データに基づく音が出力される。
【0177】
このサウンド制御部140は、上述のようにタイマ割り込み間隔保持部131によって設定されたタイマ割り込み間隔毎に起動され、これによって、タイマ割り込み間隔分の譜面データに基づく音声が順次発生される。
【0178】
すなわち、タイマ割り込み間隔が240分の1秒であるときは、例えば図19(a)に示すように、240分の1秒毎に譜面データが再生される。
【0179】
このとき、実際のサウンド処理部140の処理時間は、240分の1秒より短くなっている。
【0180】
例えば時刻t11から時刻t12まで、時刻t12から時刻t13まで、時刻t12から時刻t14まで、時刻t14から時刻t15までの間に、それぞれ、音符が2つ再生される。すなわち、時刻t11から時刻t15までの60分の1秒間に、音符が2つ再生される。
【0181】
また、タイマ割り込み間隔が60分の1秒であるときは、例えば図19(b)に示すように、60分の1秒毎に譜面データが再生される。例えば時刻t21から時刻t22までの60分の1秒間に、音符が8つ再生される。
【0182】
すなわち、上述のタイマ割り込み間隔を240分の1秒とした場合と同様に60分の1秒間に音符が8つ再生される。
【0183】
これにより、この音源処理装置では、同一の譜面データを用いて、タイマ割り込み間隔を変化させても、この変化させたタイマ割り込み間隔に応じて譜面データの読み出しを制御することにより、所定のテンポで譜面データが再生される。
【0184】
上述のようにサウンド制御部140を割り込みによって起動して処理を行なった場合、実際のCPU51の処理負荷は、タイマ割り込み間隔が240分の1秒であるときは、例えば図20(a)に示すように、サウンド制御部140の処理がCPU51の処理能力の25%を占めている。また、タイマ割り込み間隔が60分の1秒であるときは、例えば図20(b)に示すように、サウンド制御部140の処理がCPU51の処理能力の12.5%を占めている。
【0185】
すなわち、実際に音源を制御するためのCPU51の負荷はタイマ割り込み間隔が短くなってもさほど変化しないが、タイマ割り込み間隔が短くなると、タイマ割り込みが頻繁に発生すると、タイマ割り込みのための処理のオーバーヘッドが大きくなるため、サウンド制御部140の処理負荷が増大する。
【0186】
上述のように、この音源制御部では、タイマ割り込み間隔保持部131によって選択されたタイマ割り込み間隔は、システム負荷が軽いときは、割り込み間隔はサウンド制御部140の処理負荷が比較的大きくなる240分の1秒とされ、システム負荷が重いときは、サウンド制御部140の処理負荷が比較的小さくなる60分の1秒とされている。
【0187】
これにより、この音源制御装置では、何等譜面データを変更することなく、システム負荷に応じてサウンド制御部140の処理負荷を可変することができる。このため、システム負荷が重いときは、サウンド制御部140の処理負荷が小さくなり、例えば描画等の処理を円滑に行なうことができる。
【0188】
なお、上述の実施例では本発明の音源装置をビデオゲーム装置において楽音、効果音等を発生する音源に適用した例について説明したが、振幅データに基づいて波形データの振幅を調整して音声の発生を行なう構成となっていれば、例えば自動演奏装置、パーソナルコンピュータ等の装置にも適用することができ、その他、本発明の技術的思想を逸脱しない範囲であれば適宜変更することができることは勿論である。
【0189】
【発明の効果】
本発明に係る音源装置は、波形データと振幅データとを波形バッファと振幅メモリとに記憶し、保持部に振幅データに対応する波形データを識別する識別情報を保持しているため、識別情報を参照して指定された振幅データに対応する波形データの読み出しを制御することができ、波形データと振幅データとを独立に記憶しても発音を行なうことができる。
【図面の簡単な説明】
【図1】本発明に係る音源制御装置を適用したビデオゲーム装置の構成を示すブロック図である。
【図2】上記ビデオゲーム装置を構成するSPUの具体的な構成を示すブロック図である。
【図3】上記ビデオゲーム装置を構成する音源及び音源制御部で使用されるバンクのフォーマットを示す図である。
【図4】上記バンクを構成する属性情報部のフォーマットを示す図である。
【図5】上記属性情報部を構成するエンベロープの設定値を説明するための図である。
【図6】上記音源制御装置を構成するエンベロープジェネレータの構成を示すブロック図である。
【図7】上記属性情報部の具体的な記憶状態を示す図である。
【図8】上記ビデオゲーム装置を構成する音源を制御するための譜面データのフォーマットを示す図である。
【図9】上記ビデオゲーム装置を構成する音源を制御するための譜面データのフォーマットを示す図である。
【図10】上記譜面データを構成する楽曲データのフォーマットを示す図である。
【図11】上記譜面データの形成を説明するための図である。
【図12】上記譜面データに基づいて上記音源を制御する音源制御部の構成を示す図である。
【図13】上記音源制御部を構成する譜面データ保持部に保持されている譜面データの状態を示す図である。
【図14】上記譜面データの読み出しに際して参照される参照テーブルの構造を示す図である。
【図15】上記音源制御部による譜面データの再生動作を説明するための図である。
【図16】上記音源制御部による譜面データの管理を説明するための図である。
【図17】上記音源制御部による譜面データの再生動作を説明するためのフローチャートである。
【図18】上記音源制御部の詳細な構成を示すブロック図である。
【図19】上記音源制御部を構成するサウンド制御部が、タイマ割り込みによって行なう処理を説明するための図である。
【図20】上記サウンド制御部の処理と他の処理の負荷に比率を示す図である。
【図21】従来のビデオゲーム装置の構成を示すブロック図である。
【符号の説明】
50 制御系
51 CPU
52 周辺装置制御部
53 メインメモリ
53a 譜面データ保持部
53VH バンクヘッダ記憶領域
53c チャンネル領域
54 ROM
60 グラフィックシステム
61 GTE
62 GPU
63 フレームバッファ
64 画像デコーダ
65 ディスプレイ装置
70 サウンドシステム
71 SPU
72 サウンドバッファ
73 スピーカ
80 光学ディスク制御部
81 光学ディスク装置
82 デコーダ
83 バッファ
90 通信制御部
91 通信制御機
92 コントローラ
100 バス
104 入力装置
105 譜面データ選択部
105a 譜面データ選択情報管理部
105b 譜面データ選択情報保持部
105c 譜面データ選択情報制御部
106 譜面データ取得部
107 発音/消音情報制御部
111 ピッチ変換部
112 クロックジェネレータ
113 ノイズジェネレータ
114、118L、118R、123、125 スイッチ
115 エンベロープジェネレータ
115a、b adsrレジスタ
115c adsrコントローラ
115d 乗算器
116 ミュート処理部
117L、117R、120、124 ボリューム
119 リバーブ処理部
121a、121b 加算部
122 マスターボリューム
124 ミキシングボリューム
140 サウンド制御部
141 譜面データ保持部
142 データ取得管理部
143 時間情報管理部
144 発音/消音情報制御部
145 内部分解能保持部145
150 システム負荷情報制御部
151 システム負荷情報取得部
152 システム負荷判断部
153 システム負荷しきい値保持部
160 入力要求制御部
161 入力装置
162 入力要求解析
170 描画制御部
171 制御時描画情報保持部
172 描画情報制御部
173 描画装置
174 描画情報保持部
175 表示装置

Claims (3)

  1. 波形データが格納されるサウンドバッファと、
    音のエンベローを表すエンベロー情報と当該エンベロープ情報が適用される波形データの識別情報とを含むトーン属性情報が複数格納されるメインメモリと、
    波形データ及び複数のトーン属性情報光ディスクから読み出し、前記メインメモリを介しての前記サウンドバッファへの、当該波形データの転送と、前記メインメモリへの、当該複数のトーン属性情報の格納とを実行して、トーン属性情報が選択されると、当該選択されたトーン属性情報を前記メインメモリから読み出す第1制御手段と、
    前記第1制御手段の指示に応じて、前記第1制御手段により読み出されたトーン属性情報に含まれる識別情報に対応する波形データを前記サウンドバッファから読み出し、当該読み出されたトーン属性情報のエンベロープ情報に基づき当該波形データを再生する第2制御手段と、
    有することを特徴とする音源装置。
  2. 請求項1記載の音源装置であって、
    前記メインメモリには、前記光ディスクに格納された波形データを前記サウンドバッファに転送するための、当該波形データよりも容量の小さなチャネルが設けられ、
    前記第1制御手段は、前記光ディスクに記憶されている波形データを、前記チャネルの容量以下の容量ずつ読み出して、順次、前記チャネルを介して前記サウンドバッファに転送することを特徴とする音源装置。
  3. サウンドバッファとメインメモリと第1及び第2制御手段とを有する音源装置の制御方法であって、
    前記第1制御手段が、波形データと、音のエンベロープを表すエンベロープ情報及び前記波形データの識別情報を含む複数のトーン属性情報とを、ディスクから読み出し、前記トーン属性情報を前記メインメモリに格納し、前記波形データを、前記メインメモリを介して前記サウンドバッファに格納する処理と、
    前記第1制御手段が、選択されたトーン属性情報を前記メインメモリから読み出し、前記第2制御手段に、前記第1制御手段が読み出したトーン属性情報に含まれる識別情報に対応する波形データを前記サウンドバッファから読み出させ、当該読み出したトーン属性情報のエンベロープ情報に基づき当該波形データを再生させる処理と、
    を含むことを特徴とする、音源装置の制御方法。
JP30002494A 1994-12-02 1994-12-02 音源装置 Expired - Fee Related JP3919833B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30002494A JP3919833B2 (ja) 1994-12-02 1994-12-02 音源装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30002494A JP3919833B2 (ja) 1994-12-02 1994-12-02 音源装置

Publications (2)

Publication Number Publication Date
JPH08160958A JPH08160958A (ja) 1996-06-21
JP3919833B2 true JP3919833B2 (ja) 2007-05-30

Family

ID=17879796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30002494A Expired - Fee Related JP3919833B2 (ja) 1994-12-02 1994-12-02 音源装置

Country Status (1)

Country Link
JP (1) JP3919833B2 (ja)

Also Published As

Publication number Publication date
JPH08160958A (ja) 1996-06-21

Similar Documents

Publication Publication Date Title
US5824935A (en) Music apparatus for independently producing multiple chorus parts through single channel
KR100375329B1 (ko) 음원제어장치및음원제어방법
JP3625880B2 (ja) 音源装置
JP4561636B2 (ja) 楽音合成装置及びプログラム
JP4802857B2 (ja) 楽音合成装置及びプログラム
KR100384919B1 (ko) 음원데이터생성방법,기록매체,및음원데이터처리장치
JP3919833B2 (ja) 音源装置
JP3660379B2 (ja) 音源制御情報の記憶方法及び音源制御装置
JPH07121181A (ja) 音声情報処理装置
JP3799711B2 (ja) 楽音発生方法および楽音発生装置
JP3293521B2 (ja) 発音タイミング制御装置
JP3324409B2 (ja) 楽音処理方法及び装置
JP3552265B2 (ja) 音源装置および音声信号形成方法
JP3792742B2 (ja) 音声データ処理装置及び音声データ処理方法
JP3735172B2 (ja) 演奏情報処理方法
JP3363667B2 (ja) カラオケ装置
JP3293049B2 (ja) 楽音制御装置
JP2001092450A (ja) オーディオ・ファイルの生成処理方法
JPS6093489A (ja) 自動演奏装置
JP5648836B2 (ja) 楽音制御装置およびプログラム
JPH06149260A (ja) 楽音発生装置
JPH1011096A (ja) カラオケ装置
JPH11282460A (ja) 電子演奏装置
JPH08160956A (ja) 音源データ生成方法、記録媒体、及び音源データ処理装置
JP2008003222A (ja) 楽音合成装置及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041122

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20041222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050121

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20050307

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070214

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100223

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140223

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees