(57)【特許請求の範囲】
【請求項１】
ゲームの進行中にＢＧＭおよび効果音を発生させるための複数のボイスが格納された音源と、
前記音源のボイスをＢＧＭに使用するか効果音に使用するかを割り当てる発音制御部と、を備え、
前記発音制御部は、複数のボイスのすべてが使用中の状態において効果音の発音命令を受けたときに、ＢＧＭとして使用されているボイスのうち所定のボイスを消音し、当該消音されたＢＧＭのボイスを効果音のボイスとして割り当て、この割り当てられたＢＧＭのボイスで効果音を発音させることを特徴とするゲーム機の発音制御装置。
【請求項２】
請求項１に記載のゲーム機の発音制御装置において、
効果音として使用するボイスの数があらかじめ決められており、
前記発音制御部は、効果音の発音命令を受けたときに、効果音として使用されているボイスが前記ボイス数に達しておらず、かつ、音源のボイスのすべてが使用中の状態であるときに、ＢＧＭとして使用されているボイスのうち所定のボイスを消音し、当該消音されたＢＧＭのボイスを効果音のボイスとして割り当て、この割り当てられたＢＧＭのボイスで効果音を発音させ、
効果音として使用されているボイスが前記ボイス数に達しておれば、当該効果音として使用中のボイスのうち最先に発音されたボイスを消音し、当該消音された効果音のボイスを新たな効果音のボイスとして割り当て、この割り当てられた効果音のボイスで効果音を発音させることを特徴とするゲーム機の発音制御装置。
【請求項３】
請求項２に記載のゲーム機の発音制御装置において、
前記発音制御部は、効果音として使用されているボイスが前記ボイス数に達しておらず、かつ、音源のボイスに未使用のものがあるときに、当該未使用のボイスを効果音のボイスとして割り当て、この割り当てられた未使用のボイスで効果音を発音させることを特徴とするゲーム機の発音制御装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のゲーム機の発音制御装置において、
前記発音制御部は、ＢＧＭの発音命令を受ける第１のポートと、効果音の発音命令を受ける第２のポートとを有するアサイナを備え、
前記第１のポートに対して、確保するボイス数と、当該ボイス数全部をＢＧＭとして使用している状態で新たなＢＧＭの発音命令が来た場合に、効果音として使用されていないボイスがあれば、そのボイスの使用を許可するか否かを示すフラグとが設定されており、
前記第２のポートに対して、確保するボイス数と、当該ボイス数全部を効果音として使用している状態で新たな効果音の発音命令が来た場合に、ＢＧＭとして使用されていないボイスがあれば、そのボイスの使用を許可するか否かを示すフラグとが設定されており、
前記アサイナは、前記第１および第２のポートに対して設定されている条件に基づいて、ボイスの割り当てを行うことを特徴とするゲーム機の発音制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲーム機においてＢＧＭ（Back Ground Music）や効果音などの複数の音の発音を制御するための発音制御装置に関するものである。
【０００２】
【従来の技術】
一般にゲーム機では、ゲームの進行中にＢＧＭや効果音が出力されるようになっている。ＢＧＭはゲームの開始から終了までほぼ連続して出力され、効果音はボタン操作や画面の状況に応じて所定の場合に出力される。たとえば、標的に対して銃弾を発射する際や、銃弾が標的に命中した際には、その場に応じた効果音が出力される。このようなＢＧＭや効果音を発生させるために、ゲーム機には複数のボイス（音のデータ）が格納された音源が内蔵されており、各ボイスは発音命令に従ってＢＧＭまたは効果音として割り当てられる。
【０００３】
【発明が解決しようとする課題】
しかしながら、音源に格納されるボイスの数には制限があるから、その数を超えるボイスを同時に発音することはできない。たとえば、音源の全ボイス数が１６である場合、ＢＧＭとして１３ボイスが発音中であり、効果音として３ボイスが発音中であれば、すべてのボイスが使用されていることになり、この状態で新たな発音命令が発生しても、１７音を同時に発音させることはできない。この場合、新たに発生した発音命令を無視すると、その発音命令が効果音の発音命令であったときに、ボタンを操作しても銃弾の発射音などの効果音が鳴らないなど、ゲーム機としての機能を考えたときに好ましくない結果を招く。
【０００４】
そこで、これを回避するためには、発音中のボイスのいずれかを消して、これを新たな効果音のボイスとして割り当てる必要がある。本発明は、このような場合の音の割り当ての手法に関する発明であり、ゲーム進行中に必要な音の欠落が生じず、かつ確保された数の必要な音を全部同時に発生させることが可能な発音制御装置を提供するものである。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、複数のボイスのすべてが使用中の状態において効果音に対する発音命令を受けたときに、ＢＧＭとして使用されているボイスのうち所定のボイスを消音し、当該消音されたＢＧＭのボイスを効果音のボイスとして割り当て、この割り当てられたＢＧＭのボイスで効果音を発音させるようにしたものである。
【０００６】
このようにすることで、すべてのボイスが使用中であっても、新たに発音命令を受けた効果音を割り当てることができるので、必要な時点において必ず効果音を発生することが可能となり、必要な効果音が欠落することによってゲーム機の機能が損なわれるのを回避できる。また、発音命令を受けた効果音のボイスをＢＧＭのボイスより優先して割り当てることで、必要な効果音を確保された数だけ同時に発生させることができる。
【０００７】
本発明の発音制御装置では、音源のボイスをＢＧＭに使用するか効果音に使用するかを割り当てる発音制御部が設けられる。また、各ボイスが使用中か否か、および複数の音のいずれに使用されているかを示す情報を記録した音源管理テーブルを設け、発音制御部は、この音源管理テーブルを参照してボイスの割り当てを行うようにしてもよい。ＢＧＭとして使用されているボイスを消音するには、いくつかの方法がある。たとえば、最先に発音されたボイスを消音したり（後着優先）、優先度が高い特定のボイスを除くボイスについて、最先に発音されたボイスを消音することが考えられる。このため、各ボイスの発音順序を管理するための発音履歴テーブルを設け、発音制御部は当該テーブルを参照することにより消音するボイスを決定するようにしてもよい。また、他の方法として、使用されているボイスのうち、最も出力レベルの低いボイスを消音するようにしてもよい。
【０００８】
効果音として使用するボイスの数があらかじめ決められている場合（たとえば３音）は、効果音として使用中のボイスがそのボイス数に達しておらず、かつ、音源のボイスのすべて（たとえば１６音）が使用中の状態であるときに、ＢＧＭに使用中のボイスを消音し、そのＢＧＭのボイスを効果音のボイスとして割り当て発音させる。一方、効果音として使用中のボイスが前記ボイス数に達しておれば、最先に発音された効果音のボイスを消音し、その消音されたボイスを新たな効果音のボイスとして割り当て発音させる。この場合は、最先の効果音は消えることになるが、最大ボイス数（３音）の効果音の発音は維持されるので、問題はない。また、効果音として使用中のボイスが前記ボイス数に達しておらず、かつ、音源のボイスに未使用のものがあるときは、その未使用のボイスを効果音のボイスとして割り当て発音させればよい。
【０００９】
【発明の実施の形態】
図１は、本発明の実施形態に係るゲーム機の正面図である。本実施形態では、ゲーム機１００が携帯型電話機として構成されており、携帯型電話機の１つの機能としてゲーム機能が備わったものを例に挙げている。図１において、１は各種の操作キーからなるキー入力部、２はマイクからなる音声入力部、８はスピーカからなる音声出力部、１１は液晶ディスプレイ等から構成される表示部、１３は通信を行うためのアンテナである。
【００１０】
図２は、ゲーム機１００のハードウエア構成を示す電気ブロック図である。１はキー入力部、２は音声入力部であって、これらは図１に示したものと同じものである。３は記憶部（メモリ）を構成するＲＯＭで、電話機やゲーム機として使用する場合に必要な各種のプログラムが格納されている。４は記憶部（メモリ）を構成するＲＡＭで、各種のデータが記憶される領域を有している。５はゲーム機１００の全体を制御する制御部としてのＣＰＵである。
【００１１】
６は音源６０を内蔵した音源ＬＳＩであって、音源６０にはゲームの進行中にＢＧＭおよび効果音を発生させるための複数のボイス（音のデータ）が格納されている。７はＤ／Ａ変換器であって、音源ＬＳＩ６から出力されるデジタル信号のボイスをアナログの音声信号に変換する。８は図１で述べた音声出力部であって、Ｄ／Ａ変換器からの音声信号をＢＧＭおよび効果音として出力する。９は電話機として使用する場合に音声を処理する音声処理部で、その出力は音声出力部８へ与えられる。１０は表示部１１に表示する画像を処理するための画像処理部、１１は図１で述べた表示部である。１２は電話機として使用する場合に送受信を行うための通信部であって、図１のアンテナ１３や送受信回路などを含んで構成される。なお、図示は省略しているが、以上のほかに、各部に電源を供給するための電源部が設けられる。
【００１２】
図３は、ゲーム機１００のソフトウエア構成を示す図である。２０はゲームを行う場合に必要なゲームプログラムであって、ＲＯＭ３に格納されている。このゲームプログラム２０は、ゲームの種類ごとに設けられている。２１はゲームの進行中にＢＧＭを演奏するためのＢＧＭデータであって、たとえばＭＩＤＩ（Musical  Instrument  Digital  Interface）のデータから構成される。２２はゲームの進行中に効果音を発生させるための効果音データであり、たとえば電子合成音から構成される。効果音データ２２をＭＩＤＩのデータから構成してもよい。これらの各データ２１，２２は音源６０に格納されている。２３はＢＧＭデータ２１を構成するＭＩＤＩデータを再生するためのプレーヤソフトで、ＲＯＭ３に格納されている。
【００１３】
２４は、音源６０のボイスをＢＧＭと効果音に割り当てるためのプログラムからなるアサイナであって、当該プログラムはＲＯＭ３に格納されている。このアサイナ２４とＣＰＵ５とによって、本発明の発音制御部が構成される。アサイナ２４は、ゲームプログラム２０に従う発音命令のうち、ＢＧＭの発音命令をポートＡで受け、効果音の発音命令をポートＢで受けて、音源６０のボイスをＢＧＭに使用するか効果音に使用するかを割り当てる発音制御を行なう。なお、ここでのポートＡおよびポートＢは、データを受け渡しするためのソフトウエア上のポート（ハンドル）を意味している。
【００１４】
図４は、アサイナ２４がボイスの割り当てを行うに際して参照する音源管理テーブル３０および発音履歴テーブル４０を示している。これらのテーブル３０，４０は、ＲＡＭ４の中に設けられている。
【００１５】
音源管理テーブル３０には、音源番号３１と、各音源番号ごとのステータス３２およびポート３３が記録される。音源番号３１は、音源６０に格納された各ボイスに対応しており、ここでは、１６個のボイスがある場合を例にしているので、音源番号３１は１〜１６となっている。ステータス３２は、各ボイスが使用中か否かを示す情報であり、「ＯＮ」はそのボイスが使用中であることを表し、「ＯＦＦ」はそのボイスが未使用であることを表している。ポート３３は、使用中のボイスについて、そのボイスがＢＧＭとして使用されているか効果音として使用されているかを示す情報である。上述のように、ＢＧＭの発音命令はポートＡへ与えられるので、「Ａ」はＢＧＭとして使用されていることを表し、効果音の発音命令はポートＢへ与えられるので、「Ｂ」は効果音として使用されていることを表している。
【００１６】
また、本実施形態では、音源番号の１〜１６のうち、１〜１３はポートＡ用の領域（以下、Ａ領域という）３４として割り当てられ、１４〜１６はポートＢ用の領域（以下、Ｂ領域という）３５として割り当てられている。すなわち、Ａ領域３４にはＢＧＭ用に１３個のボイスが確保され、Ｂ領域３５には効果音用に３個のボイスが確保されている。
【００１７】
発音履歴テーブル４０は、ポートＡの発音履歴テーブル４１と、ポートＢの発音履歴テーブル４２とからなり、それぞれのテーブルには、音源管理テーブル３０において使用中（ステータスＯＮ）のボイスの発音順序が記録される。発音順序は、左から右へ時系列的に記録される。たとえば、発音履歴テーブル４１においては、左端にある「３」が最先に発音した一番古いボイスであり、右端の「２」が最新に発音した一番新しいボイスであることを表している。発音履歴テーブル４２においても同様である。
【００１８】
図５は、ゲーム機１００の動作の概略を示したフローチャートである。最初にゲーム機１００の電源を入れると（ステップＳ１）、表示部１１に初期画面が表示される（ステップＳ２）。この初期画面には、各種の機能を選択するためのメニューが表示され、そのメニューの中からゲームを選択すると（ステップＳ３）、画面が切り替わって、ゲームのメニューが表示される（ステップＳ４）。続いて、いずれかのゲームをメニューから選択し（ステップＳ５）、キー入力部１のゲーム開始ボタンを押すと（ステップＳ６）、選択されたゲームの画面に切り替わって、ゲームが開始される（ステップＳ７）。ゲーム進行中は、音声出力部８からＢＧＭが流れ、また、キー入力部１のボタン操作や画面の状況に応じた効果音が音声出力部８から出力される。
【００１９】
ゲーム中に、アンテナ１３を介して通信部１２により電話の着信信号が受信されると（ステップＳ８；ＹＥＳ）、ゲームは中断され（ステップＳ１１）、通話が終了すると（ステップＳ１２；ＹＥＳ）、再びゲームが開始される（ステップＳ７）。そして、ゲーム終了ボタンが押されてゲームが終了するまで（ステップＳ９；ＮＯ）、ステップＳ７，Ｓ８，Ｓ１１，Ｓ１２を反復する。ゲーム終了ボタンが押されると（ステップＳ９；ＹＥＳ）、表示部１１にゲーム終了画面を表示して（ステップＳ１０）、一連の動作を終える。
【００２０】
図６および図７は、上記ステップＳ７でのゲーム実行中において、音源６０のボイスを割り当てる場合のフローチャートであって、ＣＰＵ５によって実行されるアサイナ２４のプログラムの手順を示したものである。以下、この手順について詳細に説明するが、その前に、ポートＡ，Ｂをオープンする（使用可能状態にする）ときの条件について述べる。本例では、ポートＡとポートＢが次の条件に設定されているものとする。
ＰｏｒｔＡ＝ｏｐｅｎ（１３，１）        （１）
ＰｏｒｔＢ＝ｏｐｅｎ（  ３，０）        （２）
【００２１】
上記（１）の括弧内の「１３」は確保するボイス数を表しており、図４で述べたとおり、Ａポートには１３ボイスが確保される。また、「１」は、１３ボイス全部をＢＧＭとして使用している状態で新たなＢＧＭの発音命令が来た場合に、効果音として使用されていないボイスがあれば、そのボイスの使用を許可するフラグである。したがって、Ａポートに１３音を超える発音命令が来た場合は、１４音以上が同時に発音されることがありうる。
【００２２】
同様に、（２）の括弧内の「３」は確保するボイス数を表しており、図４で述べたとおり、Ｂポートには３ボイスが確保される。また、「０」は、３ボイス全部を効果音として使用している状態で新たな効果音の発音命令が来た場合に、ＢＧＭとして使用されていないボイスがあっても、そのボイスの使用を禁止するフラグである。したがって、Ｂポートに３音を超える発音命令が来ても、４音以上が同時に発音されることはない。
【００２３】
以上の条件を前提として、図６，図７の手順を説明する。ゲームプログラム２０に従う発音命令をＣＰＵ５が受信すると（ステップＳ２１）、ＣＰＵ５はその命令がポートＡに来た命令か、ポートＢに来た命令かをまず判定する（ステップＳ２２）。ポートＢに来た命令であれば、それは効果音の発音命令であり、図７の手順へ移行する。これについては後述する。
【００２４】
ポートＡに来た命令であれば、それはＢＧＭの発音命令であり、次に、音源管理テーブル３０を参照して、Ａ領域３４に使用されていないボイスがあるか否かを判定する（ステップＳ２３）。Ａ領域３４に未使用ボイスがあれば（ステップＳ２３；ＹＥＳ）、これを今回の発音命令に対するＢＧＭ用のボイスとして割り当て、その未使用ボイスで発音処理を行う（ステップＳ２４）。その後、音源管理テーブル３０と、ポートＡの発音履歴テーブル４１とを更新して（ステップＳ２５）、最初（ステップＳ２１）に戻る。
【００２５】
図８は、上述したステップＳ２３〜Ｓ２５における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の音源管理テーブルと発音履歴テーブルを示している。（ａ）のように、Ａ領域３４には、音源番号１１〜１３の未使用（ステータスＯＦＦ）のボイスがあり、発音命令が来ると、音源番号１１のボイスが割り当てられる。その結果、（ｂ）のように、音源番号１１のステータスは「ＯＮ」（使用中）に変わり、また、ポートに「Ａ」が記録される。一方、ポートＡの発音履歴テーブル４１に、新たに割り当てられた音源番号「１１」が追加され、発音履歴テーブル４０が更新される。
【００２６】
Ａ領域３４に未使用ボイスがなければ（ステップＳ２３；ＮＯ）、次にＢ領域３５に未使用ボイスがあるか否かを判定する（ステップＳ２６）。Ｂ領域３５に未使用ボイスがあれば（ステップＳ２６；ＹＥＳ）、これを今回の発音命令に対するＢＧＭ用のボイスとして割り当て、その未使用ボイスで発音処理を行う（ステップＳ２７）。その後、音源管理テーブル３０と、ポートＡの発音履歴テーブル４１とを更新して（ステップＳ２８）、ステップＳ２１に戻る。
【００２７】
図９は、上述したステップＳ２６〜Ｓ２８における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の各テーブルを示している。（ａ）のように、Ａ領域３４には未使用のボイスがなく、１３個のボイスがすべて使用中（ステータスＯＮ）となっている。一方、Ｂ領域３５のボイスはすべて未使用（ステータスＯＦＦ）であり、効果音は発生していない。この状態でポートＡに発音命令が来た場合、ポートＡの前記条件（１）によって、未使用ボイスの使用が許可されているので、Ｂ領域３５の音源番号１４のボイスを割り当てて、これを発音させる。その結果、（ｂ）のように、音源番号１４のステータスは「ＯＮ」（使用中）に変わり、また、ポートに「Ａ」が記録される。一方、ポートＡの発音履歴テーブル４１に、新たに割り当てられた音源番号「１４」が追加され、発音履歴テーブル４０が更新される。
【００２８】
Ｂ領域３５にも未使用ボイスがない場合は（ステップＳ２６；ＮＯ）、ポートＡで使用中の１３個のボイスのうち、一番古い、すなわち最先に発音したボイスを消音し（ステップＳ２９）、そのボイスを今回の発音命令に対するＢＧＭ用のボイスとして割り当て、発音処理を行う（ステップＳ３０）。その後、ポートＡの発音履歴テーブル４１を更新して（ステップＳ３１）、ステップＳ２１に戻る。
【００２９】
図１０は、上述したステップＳ２９〜Ｓ３１における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の各テーブルを示している。（ａ）のように、Ａ領域３４の１３個のボイスはすべて使用中（ステータスＯＮ）であり、Ｂ領域３５の３個のボイスもすべて使用中（ステータスＯＮ）となっている。この状態でポートＡに発音命令が来た場合、Ｂ領域３５のボイスを使用することはできないので、発音履歴テーブル４０を参照して、ポートＡの一番古い音源番号「３」のボイスを消音し、これを新たなボイスに割り当てて発音させる。その結果、（ｂ）のように、音源管理テーブル３０の内容は変わらないが、ポートＡの発音履歴テーブル４１において、音源番号「３」が左端から右端へ移動し、発音履歴テーブル４０が更新される。
【００３０】
次に、ポートＢに効果音の発音命令が来た場合の処理手順を、図７のフローチャートに従って説明する。まず、ポートＢで使用中のボイスが３個あるか否かを判定する（ステップＳ４１）。使用中のボイスが３個あれば（ステップＳ４１；ＹＥＳ）、その３個のボイスのうち、一番古い、すなわち最先に発音したボイスを消音し（ステップＳ４２）、そのボイスを今回の発音命令に対する効果音用のボイスとして割り当て、発音処理を行う（ステップＳ４３）。その後、ポートＢの発音履歴テーブル４２を更新して（ステップＳ４４）、ステップＳ２１に戻る。
【００３１】
図１１は、上述したステップＳ４１〜Ｓ４４における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の各テーブルを示している。（ａ）のように、Ｂ領域３５の３個のボイスはすべてポートがＢであり、効果音として使用されている。一方、Ａ領域３４には未使用ボイスがあるが（音源番号１２，１３）、ポートＢの前記条件（２）によって、未使用ボイスの使用は禁止されている。したがって、この状態でポートＢに発音命令が来た場合、発音履歴テーブル４０を参照して、ポートＢの一番古い音源番号「１４」のボイスを消音し、これを新たな効果音のボイスに割り当てて発音させる。その結果、（ｂ）のように、音源管理テーブル３０の内容は変わらないが、ポートＢの発音履歴テーブル４２において、音源番号「１４」が左端から右端へ移動し、発音履歴テーブル４０が更新される。なお、この場合は最先の効果音が消えることになるが、効果音は最大数の３音が確保されてこれらが同時に発音されており、欠落しないので問題はない。
【００３２】
次に、ポートＢで使用中のボイスが２個以下の場合は（ステップＳ４１；ＮＯ）、１６個のボイスがすべて使用中であるか否かを判定する（ステップＳ４５）。１６個のボイスがすべて使用中であれば（ステップＳ４５；ＹＥＳ）、新たな発音命令による効果音を発生させるために、ポートＡで使用中のボイスを消音する。このとき消音するボイスはどれでもよいが、ここでは一番古い、すなわち最先に発音したボイスを消音し（ステップＳ４６）、そのボイスを今回の発音命令に対する効果音用のボイスとして割り当て、発音処理を行う（ステップＳ４７）。その後、音源管理テーブル３０と、ポートＡの発音履歴テーブル４１およびポートＢの発音履歴テーブル４２をそれぞれ更新して（ステップＳ４８）、ステップＳ２１に戻る。
【００３３】
図１２は、上述したステップＳ４５〜Ｓ４８における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の各テーブルを示している。（ａ）のように、音源１〜１４のボイスはすべてＡポートであってＢＧＭとして使用されており、音源１５，１６の２つのボイスはいずれもＢポートであって効果音として使用されている。この状態でポートＢに発音命令が来た場合、発音履歴テーブル４０を参照して、ポートＡの一番古い音源番号「３」のボイスを消音し、これを効果音のボイスに割り当てて発音させる。その結果、（ｂ）のように、音源管理テーブル３０の音源番号「３」のポートが「Ｂ」に変わり、効果音として音源番号３，１５，１６の３個のボイスが確保される。また、ポートＡの発音履歴テーブル４１において最先の音源番号「３」が削除され、代わりに、ポートＢの発音履歴テーブル４２において音源番号「３」が追加され、発音履歴テーブル４０が更新される。この場合、最先のＢＧＭ音が消えることになるが、たとえば、それまで鳴っていたピアノの音が消えるなど一部の音が鳴らなくなるだけで、大きな問題にはならない。
【００３４】
ステップＳ４１，Ｓ４５を経てステップＳ４６からステップＳ４８へ至る一連の手順は、本発明の特徴をなす部分である。このようにすることで、１６個のボイスが全部使用中であっても、新たな発音命令が来たときに効果音を割り当てることができる。また、３個の効果音を同時に発音させることができ、確保された最大数（ここでは３ボイス）の効果音を発生させることができる。
【００３５】
次に、１６個のボイスに使用中でないものがあれば（ステップＳ４５；ＮＯ）、Ｂ領域３５に未使用のボイスがあるか否かを判定する（ステップＳ４９）。Ｂ領域３５に未使用のボイスがあれば（ステップＳ４９；ＹＥＳ）、これを今回の発音命令に対する効果音用のボイスとして割り当て、そのボイスで発音処理を行う（ステップＳ５０）。その後、音源管理テーブル３０と、ポートＢの発音履歴テーブル４２とを更新して（ステップＳ５１）、ステップＳ２１に戻る。
【００３６】
図１３は、上述したステップＳ４９〜Ｓ５１における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の各テーブルを示している。（ａ）のように、ポートＡで使用中のボイスが１１個（音源番号１〜１１）、ポートＢで使用中のボイスが２個（音源番号１５，１６）あり、未使用のボイスが３個ある（音源番号１２〜１４）。この状態でポートＢに発音命令が来た場合、Ｂ領域３５に未使用のボイスが１個あるので（音源番号１４）、このボイスを割り当てて発音させる。その結果、（ｂ）のように、音源番号１４のステータスは「ＯＮ」に変わり、また、ポートに「Ｂ」が記録される。一方、ポートＢの発音履歴テーブル４２に、新たに割り当てられた音源番号「１４」が追加され、発音履歴テーブル４０が更新される。
【００３７】
一方、Ｂ領域３５に未使用のボイスがなければ（ステップＳ４９；ＮＯ）、Ａ領域３４に未使用のボイスがあることになるから、Ａ領域３４の未使用ボイスを今回の発音命令に対する効果音用のボイスとして割り当て、そのボイスで発音処理を行う（ステップＳ５２）。その後、音源管理テーブル３０と、ポートＢの発音履歴テーブル４２とを更新して（ステップＳ５３）、ステップＳ２１に戻る。
【００３８】
図１４は、上述したステップＳ４９，Ｓ５２，Ｓ５３における具体例を示しており、（ａ）は発音処理前、（ｂ）は発音処理後の音源管理テーブルと発音履歴テーブルを示している。（ａ）のように、Ｂ領域３５のボイスはすべて使用中であり、Ａ領域３４には、２個の未使用ボイスがある（音源番号１２，１３）。この状態でポートＢに発音命令が来た場合、音源番号１２のボイスが割り当てられる。その結果、（ｂ）のように、音源番号１２のステータスは「ＯＮ」に変わり、また、ポートに「Ｂ」が記録される。一方、ポートＢの発音履歴テーブル４２に、新たに割り当てられた音源番号「１２」が追加され、発音履歴テーブル４０が更新される。
【００３９】
本発明は上述した以外にも種々の形態を採用することができる。たとえば、上記実施形態においては、ゲームプログラム２０があらかじめＲＯＭ３に格納されている例を示したが、図１５のように、カード状もしくはスティック状の小型の記録媒体１４の記憶領域１５にゲームプログラムを格納しておき、この記録媒体１４を携帯型電話機１０１に装着して、電話機１０１をゲーム機として用いるものにも本発明は適用できる。また、インターネット等を通じてゲームプログラムの配信を受ける携帯型電話機にも本発明は適用が可能である。さらに、ゲーム機は上記のように携帯型電話機と兼用したものに限らず、ゲーム専用機であってもよい。
【００４０】
また、上記実施形態においては、音源番号１〜１３をポートＡ用領域に、音源番号１４〜１６をポートＢ用領域に、それぞれ固定的に割り当てたが、これは本発明にとって必須ではなく、各ポートを音源番号１〜１６にランダムに割り当ててもよい。また、音源のボイス数も勿論１６個に限定されるものではなく、任意の数を採用することができる。
【００４１】
さらに、上記実施形態においては、ポートＡおよびポートＢをオープンする条件として、前記の（１）および（２）のような条件を設定したが、これも一例であって、本発明がこの条件に限定されるわけではない。たとえば、ポートＡの条件（１）ではフラグを「１」としたが、これを「０」に設定することも自由である。この場合は、ＢＧＭのボイスが全部使用されている状態で、ポートＡに新たな発音命令が来た場合に、効果音として使用されていないボイスがあっても、そのボイスの使用は禁止される。また、ポートＢの条件（２）ではフラグを「０」としたが、これを「１」に設定することも自由である。この場合は、効果音のボイスが全部使用されている状態で、ポートＢに新たな発音命令が来た場合に、ＢＧＭとして使用されていないボイスがあれば、そのボイスの使用が許可される。さらに、ポートＡおよびポートＢの両方ともフラグを「０」に設定してもよく、あるいは、ポートＡおよびポートＢの両方ともフラグを「１」に設定してもよい。
【００４２】
また、上記実施形態では、ボイスを消音する場合に、後着優先に従って最先の（一番古い）ボイスを消音するようにしたが、これに代えて、発音中のボイスのうちで最も出力レベルの低いボイスを消音するようにしてもよい。ボイスの出力レベルは、音源ＬＳＩ６のレジスタ（図示省略）をＣＰＵ５が参照することにより検出できる。また、音源のボイスの中でも、メロディや、ドラム、ベースのボイスは優先度が高いので、これらについては最先のボイスであっても消音はせず、それ以外のボイスについて後着優先に従って消音をするようにしてもよい。
【００４３】
また、上記実施形態においては、ボイスを消音する場合に、Ａ領域とＢ領域とで独立して発音順序を管理しているが、Ａ領域とＢ領域とを区別せずに１６ボイス全体にわたって発音順序を管理するようにしてもよい。この場合は、音源管理テーブル３０において各ボイスごとに発音の順番を付与することにより、音源管理テーブルで発音履歴テーブルを兼用するようにしてもよい。
【００４４】
【発明の効果】
本発明によれば、すべてのボイスが使用中であっても、発音命令を受けた効果音を割り当てて発音させることができるので、ゲームの進行中に必要な効果音の欠落が起こらず、かつ、確保された数の必要な効果音を全部同時に発生させることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るゲーム機の正面図である。
【図２】ゲーム機のハードウエア構成を示す電気ブロック図である。
【図３】ゲーム機のソフトウエア構成を示す図である。
【図４】音源管理テーブルおよび発音履歴テーブルを示す図である。
【図５】ゲーム機の動作の概略を示したフローチャートである。
【図６】音源のボイスを割り当てる場合のフローチャートである。
【図７】図６の続きのフローチャートである。
【図８】ボイスを割り当てる場合の具体例を説明する図である。
【図９】ボイスを割り当てる場合の具体例を説明する図である。
【図１０】ボイスを割り当てる場合の具体例を説明する図である。
【図１１】ボイスを割り当てる場合の具体例を説明する図である。
【図１２】ボイスを割り当てる場合の具体例を説明する図である。
【図１３】ボイスを割り当てる場合の具体例を説明する図である。
【図１４】ボイスを割り当てる場合の具体例を説明する図である。
【図１５】他の実施形態に係るゲーム機の正面図である。
【符号の説明】
１    キー入力部
５    ＣＰＵ
６    音源ＬＳＩ
８    音声出力部
１１  表示部
２４  アサイナ
３０  音源管理テーブル
４０  発音履歴テーブル
６０  音源
１００  ゲーム機
【図１】
0003615143.tif 000002
【図２】
0003615143.tif 000003
【図３】
0003615143.tif 000004
【図４】
0003615143.tif 000005
【図５】
0003615143.tif 000006
【図６】
0003615143.tif 000007
【図７】
0003615143.tif 000008
【図８】
0003615143.tif 000009
【図９】
0003615143.tif 000010
【図１０】
0003615143.tif 000011
【図１１】
0003615143.tif 000012
【図１２】
0003615143.tif 000013
【図１３】
0003615143.tif 000014
【図１４】
0003615143.tif 000015
【図１５】
0003615143.tif 000016