以下、実施例に基づいて本発明を詳細に説明する。図1は、本実施例のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される前枠3とで構成されている。この前枠3には、遊技盤5が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。一方、ガラス扉6の上部の左右位置と、中部の左右位置と、遊技者の腹部に近い下側には、全5個のスピーカ(TL,TR,ML,MR,BTM)が配置されている(図2参照)。
上部位置に配置された2つのスピーカ(TL,TR)と、中部位置に配置された2つのスピーカ(ML,MR)は、各々、遊技者が認識する左右音を出力するが、必要時には、適宜なパンポット演出を実行している。ここで、パン(PAN)とは、左右のスピーカから聴こえる音の位置(定位)を意味し、パン動作は、具体的には、左右のスピーカの音量バランスを非対称に設定することで実現される。
パンポット演出は、例えば、適宜な予告動作として実行され、(1)左から右に、或いは、右から左に向けて予告音が移動するP1演出、(2)上から下に、或いは、下から上に向けて予告音が移動するP2演出、(3)傾斜方向下方に、或いは、傾斜方向上方に向けて予告音が移動するP3演出、(4)時計方向又は反時計方向に予告音が回転するP4演出などが、パン変位時間やパン変位態様などを変えて種々実行される。
また、ガラス扉6の下方には、遊技者による演出音の音量調整が可能な音量スイッチVSWが配置されている。この音量スイッチVSWは、左右に+接点と−接点を有する方向キーであって、例えば、10段階の音量調整を可能にしている。この音量調整のための操作は、音声演出が実行されていない演出待機中に限り許可されるが、音量スイッチVSWの操作に対応して、確認演出音が出力されると共に、その設定レベルが表示画面に表示されるようになっている。
本実施例において、各スピーカ(TL,TR,ML,MR,BTM)から出力される音量は、一次ボリュームV1と、二次ボリュームVs(=V2,V3)と、トータルボリュームTVの総合値(V1*Vs*TV)で規定されるが、係員や遊技者が人為的に規定する音量スイッチVSWの設定値は、最終段階のトータルボリューム値TVに反映される。なお、遊技者が設定した音量設定値(トータルボリューム値TV)は、遊技者が遊技機を離れたと思われるタイミングでは、設定スイッチSET(図3参照)による係員設定値に戻される。
また、遊技中であっても、重大な異常事態が検出された場合には、音量スイッチVSWの操作量に拘わらず、トータルボリューム値TVが最大レベルに変更されることで大音量の異常報知音が出力される。したがって、無音状態で違法行為を継続することはできない。なお、この異常報知タイミングでは、異常報知音以外の演出音に対する一次ボリューム値V1が最低レベルにマスクされる。
図8に関して後述するように、一次ボリュームV1は、各種の音声圧縮データをデコード再生するフレーズ再生チャンネルCHn(図8)ごとに設定可能であるが、通常時は、全てのフレーズ再生チャンネルCH0〜CH31において、規定レベル(最高レベル)に設定されている。但し、表示画面を暗転させるブラックアウト演出時などのマスク処理時には、全フレーズ再生チャンネルCHnにおいて、一次ボリュームV1を、最低レベルに変更することで消音化を実現している。なお、マスク処理時において、二次ボリュームVsの値は、それまでのレベルを維持する。
また、前記した異常報知時には、異常報知音を再生するフレーズ再生チャンネルCH28(図8)の一次ボリュームV1を、最高レベルに維持する一方で、その他のフレーズ再生チャンネルの一次ボリュームV1を、最低レベルに変更している。したがって、演出音に邪魔されることなく異常報知音だけを放音することができる。なお、異常報知音以外の音声演出に対する二次ボリュームVsの値は、それまでのレベルを維持する。
このように本実施例では、マスク処理時や異常報知時に、二次ボリュームVsを維持した状態で、一次ボリュームV1だけを変化させるので、二次ボリュームVs(V2,V3,V4)を全て変化させる必要がある先行文献1〜7の構成より、音量変化の制御が容易である。
また、二次ボリューム値Vs(=V2,V3)は、パンポット動作などを伴う予告演出や、その他の音声演出において、適切な音声演出を実現するべくソフトウェア設定される。したがって、各スピーカ(TL,TR,ML,MR,BTM)の音声演出時の音量は、通常時は、専ら、二次ボリューム値Vs(=V2,V3)の設定値を反映して、V1*Vs*TVの音量で出力されることになる。先に説明した通り、通常状態では、一次ボリュームV1は最大値、トータルボリュームTVは、係員や遊技者の設定値に対応した値である。
ところで、本実施例では、スピーカ音量を所定の速度で漸増又は漸減させるフェード動作についても、二次ボリュームVsを変化させることで実現される。そして、このフェード動作時には、複数個の二次ボリュームVs(V2,V3)が同一レベルを維持して変化するので、全てのスピーカ(TL,TR,ML,MR,BTM)の音量が、統一的にフェードされる。なお、パンポット動作やフェード動作については、図7や、図19に関して更に後述する。
図1に示す通り、前面板7には、発射用の遊技球を貯留する上皿8が装着され、前枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。
上皿8の外周面には、チャンスボタン11が設けられている。このチャンスボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなくチャンスボタン11を操作できる。このチャンスボタン11は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
図2に示すように、遊技盤5の表面には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その略中央には、中央開口HOが設けられている。中央開口HOの4頂点に対応して、ガラス扉6の内側には、4個のスピーカ(TL,TR,ML,MR)が配置され、中央開口HOの右下方には、低音用スピーカBTMが配置されている。なお、これらのスピーカは、図2において仮想的に示されている。
また、中央開口HOには、大型の液晶カラーディスプレイ(LCD)で構成された表示装置DSが配置されている。表示装置DSは、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置DSは、中央部に特別図柄表示部Da〜Dcと右上部に普通図柄表示部19とを有している。そして、特別図柄表示部Da〜Dcでは、大当り状態の招来を期待させるリーチ演出が実行されることがあり、特別図柄表示部Da〜Dc及びその周りでは、適宜な予告演出などが実行される。
遊技球が落下移動する遊技領域には、図柄始動口15、大入賞口16、普通入賞口17、及び、ゲート18が配設されている。これらの入賞口15〜18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。そして、遊技球が図柄始動口15を通過すると、遊技球が入賞したとして、特別図柄表示部Da〜Dcで特別図柄の変動動作を伴う一連の画像演出が開始される。また、この画像演出に対応して、背景音楽や演出音を伴う音声演出や、ランプが点滅するランプ演出が実行される。
図柄始動口15は、左右一対の開閉爪15aを備えた電動式チューリップで開閉されるように構成され、普通図柄表示部19の変動後の停止図柄が当り図柄を表示した場合には、所定時間だけ、若しくは、所定個数の遊技球を検出するまで、開閉爪15aが開放されるようになっている。
普通図柄表示部19は、普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止する。
大入賞口16は、前後方向に進退する開閉板16aを有して構成されている。大入賞口16の動作は、特に限定されないが、典型的な大当り状態では、大入賞口16の開閉板16aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板16aが閉じる。このような動作は、最大で例えば15回まで継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Da〜Dcの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態(確変状態)となるという特典が付与される。
図3は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図である。図示の通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧と電源異常信号ABN1,ABN2を出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出及び音声演出を実行する演出制御基板22と、演出制御基板22から受けた制御コマンドCMD’に基づいて表示装置DSを駆動する画像制御基板23と、主制御基板21から受けた制御コマンドCMD”に基づいて払出モータMを制御して遊技球を払い出す払出制御基板24と、遊技者の操作に応答して遊技球を発射させる発射制御基板25と、を中心に構成されている。
主制御基板21が出力する制御コマンドCMDは、中継基板を経由することなく演出制御基板22に伝送されるが、演出制御基板22が出力する制御コマンドCMD’は、画像インタフェイス基板28を経由して、画像制御基板23に伝送される。また、主制御基板21が出力する制御コマンドCMD”は、主基板中継基板32を経由して、払出制御基板24に伝送される。制御コマンドCMD,CMD’,CMD”は、何れも16ビット長であるが、主制御基板21や払出制御基板24が関係する制御コマンドは、8ビット長毎に2回に分けてパラレル送信されている。一方、演出制御基板22から画像制御基板23に伝送される制御コマンドCMD’は、16ビット長をまとめてパラレル伝送されている。そのため、可動予告演出を含む予告演出を、多様化して多数の制御コマンドを連続的に送受信するような場合でも、迅速にその処理を終えることができ、他の制御動作に支障を与えない。
本実施例では、画像インタフェイス基板28と画像制御基板23とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されて二枚の回路基板が積層されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。 これら主制御基板21、演出制御基板22、画像制御基板23、及び払出制御基板24には、ワンチップマイコンを備えるコンピュータ回路がそれぞれ搭載されている。そこで、これらの制御基板21〜24とインタフェイス基板28に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部22、画像制御部23、及び払出制御部24と言うことがある。すなわち、この実施例では、画像制御基板23と画像インタフェイス基板28とで画像制御部23を構成している。なお、演出制御部22、画像制御部23、及び払出制御部24の全部又は一部がサブ制御部である。
また、このパチンコ機GMは、図3の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された前枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材GM1を除く全てが、盤側部材GM2である。
図3の破線枠に示す通り、枠側部材GM1には、電源基板20と、払出制御基板24と、発射制御基板25と、枠中継基板35と、ランプ駆動基板36とが含まれており、これらの回路基板が、前枠3の適所に各々固定されている。
ランプ駆動基板36には、複数のLEDが接続されており、これらのLED群を駆動する駆動データSDATAは、シリアル信号として、演出制御基板22→枠中継基板34→枠中継基板35を経由して、ランプ駆動基板36に搭載された複数のLEDドライバに伝送されている。
遊技盤5の背面には、主制御基板21、演出制御基板22、画像制御基板23及び画像インタフェイス基板28が、表示装置DSやその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された接続コネクタC1〜C4によって電気的に接続されている。
電源基板20は、接続コネクタC2を通して、主基板中継基板32に接続され、接続コネクタC3を通して、電源中継基板33に接続されている。電源基板20の内部構成は、図4(a)に示す通りであり、外部から受けるAC24Vを全波整流するブリッジ型の整流回路61と、整流回路61の出力を受ける力率改善回路62と、整流回路の過渡電流を抑制する突入電流防止回路63と、4個のDC−DCコンバータRG1〜RG4及びその付属回路と、交流電源の遮断と直流出力電圧の異常を監視する交流監視回路64と、を有して構成されている。
力率改善回路62は、チョークコイルL1と、スイッチングトランジスタQ1,Q2と、2つのトランジスタをON/OFF制御してチョッパ動作を実現する昇圧タイプの力率制御回路PFCと、平滑コンデンサC1とを有して構成され、入力電圧のピーク値33.9V(=24*SQR2)を昇圧して、設計値DC35Vの直流電圧を出力している。そして、この直流電圧DC35Vは、主制御基板21と、払出制御基板24と、演出制御基板22に各々配電されている。
力率制御回路PFCは、トランジスタQ1,Q2を相補的にON/OFF制御することで、AC24Vの電源ラインに、低振幅ノコギリ波状の充放電流を流している(図4(d)参照)。すなわち、トランジスタQ1のON時(Q2がOFF)に、チョークコイルL1に蓄積されたエネルギーが、トランジスタQ2のON時(Q1がOFF)に、平滑コンデンサC1に充電されることで、AC24Vの電源ラインの入力電流を略正弦波状に改善している。
突入電流防止回路63は、NチャンネルMOS型のスイッチングトランジスタQ3と、トランジスタQ3のドレイン端子−ソース端子間に配置されたサーミスタTHと、トランジスタQ3のゲート電圧を規定するバイアス素子(ZD1,R1,R2,C2)とで構成されている。図示の通り、バイアス素子にはツェナーダイオードZD1が含まれているので、ツェナーダイオードZD1が降伏してON動作するまでの過渡状態では、ゲート端子にバイアス電圧が加わらず、トランジスタQ3がOFF状態となる。
そのため、電源投入直後は、AC24Vの電源ラインの入力電流が、整流回路61→力率改善回路62→サーミスタTH→整流回路61の経路を通ることになり、電源投入時の過渡電流(突入電流)がサーミスタTHによって最適に制限される。
交流監視回路64は、ダイオードD5,D6及び負荷抵抗R3で構成された全波整流回路と、電流制限抵抗R4と、コンバータRG4とで構成されている。負荷抵抗R3の両端電圧は、ピーク値34V程度の脈流波形となり(図4(b)参照)、この脈流電圧が電流制限抵抗R4を経由して、コンバータRG4の監視端子Sin1に供給されている。そして、コンバータRG4は、監視端子Sin1に供給される電圧に基づいて、交流電源AC24Vの遮断を判定している。
4個のコンバータRG1〜RG4は、同一レベルの直流電圧(DC35V)をDC入力端子Vin受けて動作して、不図示の受動素子(R,L,C)と共に機能することで、降下レベルの直流電圧(12V又は5V)を出力している。すなわち、コンバータRG1とコンバータRG2は、各々、12Vを生成して出力端子Voutに出力しており、コンバータRG1の出力電圧DC12Vは、演出制御基板22に配電され、コンバータRG2の出力電圧DC12Vは、主制御基板21と払出制御基板24に配電されている。
コンバータRG3は、演出制御基板22に配電されるDC5Vを生成してコンバータRG3の出力端子Voutから出力し、コンバータRG4は、主制御基板21と払出制御基板24に配電されるDC5Vを生成して、コンバータRG4の出力端子Voutから出力する。このように、本実施例の電源基板20では、3種類の直流電圧(35V,12V,5V)だけを生成し、これらの直流電圧の配電を受けた各制御基板20,21,22では、必要に応じて、降下レベルの一又は複数の電源電圧を生成する構成を採っており、遊技機全体として電源回路の構成に無駄がない。
なお、コンバータRG4の出力に基づいてDC5Vのバックアップ電源BAKが生成され、主制御基板21と払出制御基板24に配電されている。ここで、バックアップ電源BAKとは、営業終了や停電により交流電源24Vが遮断された後も、主制御部21と払出制御部24のワンチップマイコンの内蔵RAMのデータを保持するDC5Vの直流電源である。
また、コンバータRG1〜RG4には、各回路素子のDC−DC変換動作の許否を制御する制御端子CTLが設けられており、制御端子CTLがHレベルであることを条件に内部回路が機能してDC−DC変換動作が実行される。例えば、コンバータRG2とRG4の内部構成は、図4(c)に示す通りであり、制御端子CTLがHレベルであることを条件に内部回路(DC変換回路CNV)が機能してDC−DC変換動作が実行される。
更に説明すると、図4(a)に示す通り、コンバータRG2の出力端子Sout2は、自らの制御端子CTLと共に、コンバータRG1の制御端子CTLに接続されている。同様に、コンバータRG4の出力端子Sout2は、自らの制御端子CTLと共に、コンバータRG3の制御端子CTLに接続されている。そのため、直流電圧DC35Vが降下して、コンバータRG2やコンバータRG4の出力端子Sout2の出力電圧がLレベルに遷移すると、その後は、4つのコンバータRG1〜RG4が、一斉にDC−DC変換機能を停止することになる。このように、本実施例では、DC−DC変換すべき入力電圧(DC35V)が、異常レベルまで降下すると、DC−DC変換動作が自動的に停止されるので、その後の異常動作の発生のおそれがない。
ところで、本実施例の電源基板20では、交流電源の投入を示す電源リセット信号を生成しておらず、電源リセット信号が主制御基板21、払出制御基板24、演出制御基板22などに伝送されることはなく、各制御基板21,24,22は、配電された直流電圧(5V,12V)に基づいて電源リセット信号を生成している。そのため、電源リセット信号を電源基板から各制御基板に伝送する信号線にノイズが重畳することで、CPUが異常リセットされるおそれがない。
以上、電源基板20について説明したので、図3に戻って、遊技機GMの他の構成について説明する。図3に示す通り、主制御基板21は、主基板中継基板32を経由して電源基板20に接続されており、3種類の直流電圧DC35V,DC12V,DC5Vと、バックアップ電源BAKと、電源異常信号ABN1とを受けている。一方、払出制御基板24は、中継基板を介することなく、電源基板20に直結されており、主制御部21が受けると同様の電源異常信号ABN2や、バックアップ電源BAKを、3種類の直流電圧DC35V,DC12V,DC5Vと共に直接的に受けている。
この実施例では、RAMクリア信号CLRは、主制御部21で生成されて主制御部21と払出制御部24のワンチップマイコンに伝送されている。ここで、RAMクリア信号CLRは、各制御部21,24のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。
図3に示す通り、主制御部21は、主基板中継基板32を経由して、払出制御部24に制御コマンドCMD”を送信する一方、払出制御部24からは、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部24の初期動作が完了したことを主制御部21に通知する信号である。
また、主制御部21は、遊技盤中継基板31を経由して、遊技盤5の各遊技部品に接続されている。そして、遊技盤上の各入賞口16〜18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。
図3に示す通り、演出制御部22は、主制御部21から制御コマンドCMDとストローブ信号STBとを受けている。そして、演出制御部22は、ランプ駆動基板29やランプ/モータ駆動基板30に搭載されたLEDドライバに、ランプ駆動データSDATA(シリアル信号)を供給している。特に限定されるものではないが、ランプ駆動基板29やランプ/モータ駆動基板30に搭載されているLEDドライバは、ランプ駆動基板36に搭載されたLEDドライバと同一構成である。
また、本実施例では、同じLEDドライバを使用してステッピングモータを駆動しており、破線に示すように、ランプ/モータ駆動基板30を経由して、演出モータ群M1〜Mnを駆動している。この場合、モータ駆動データは、ランプ駆動データと同様のシリアル信号であり、演出内容を豊富化するべく演出モータ個数を増やしても、配線ケーブルが増加することがなく、機器構成が簡素化される。
演出制御部23は、電源基板20から3種類の直流電圧(12V,5V,32V)を受けており、直流電圧32Vは、そのままランプ/モータ駆動基板30に転送されて、演出モータなどの駆動電源として活用している。一方、直流電圧5Vは、演出制御基板22の各種デジタル回路の電源電圧として活用され、直流電圧12Vは、デジタルアンプ46a,46bの電源電圧とされると共に、駆動基板29,30にも転送されてランプ演出やモータ演出に活用される。
図3及び図5に示す通り、演出制御部22は、画像制御部23に対して、制御コマンドCMD’及びストローブ信号STB’と、2種類の直流電圧(12V,5V)と、システムリセット信号SYSを出力している。ここで、システムリセット信号SYSは、電源基板20から受けた直流電圧(12V,5V)に基づいて、演出制御部22のリセット回路RST&WDTにおいて生成された信号である。
そして、画像制御部23は、演出制御部22から受けるシステムリセット信号SYSに基づいて、各種の半導体IC素子を電源リセットし、演出制御部22から受ける制御コマンドCMD’に基づいて表示装置DSを駆動して各種の画像演出を実行している。なお、表示装置DSは、LEDバックライトによって発光しており、画像インタフェイス基板28から5対のLVDS(低電圧差動伝送Low voltage differential signaling)信号と、バックライト電源電圧(12V)とを受けて駆動されている(図5参照)。
続いて、上記した演出制御部22の構成を、図5に基づいて更に詳細に説明する。図5(a)に示す通り、演出制御部22は、音声演出・ランプ演出・演出可動体による予告演出・データ転送などの処理を実行するワンチップマイコン40(以下、演出制御CPU40と言うことがある)と、演出制御CPU40の制御プログラムや各種の演出データを記憶する制御メモリ(flash memory)41と、内蔵レジスタRG0〜RGnに設定された演出制御CPU40の指示に基づいて音声信号を再生して出力する音声プロセッサ(音声合成回路)42と、再生される音声信号の元データである圧縮音声データなどを記憶する音声メモリ43と、音声プロセッサ42から出力される音声信号を受けるデジタルアンプ46と、を有して構成されている。
また、演出制御部23は、3つのDC−DCコンバータ(CONV1〜CONV3)で構成された電源回路と、リセット回路RST&WDTとを有して構成されている。電源回路(CONV1〜CONV3)は、電源基板20から受ける直流電圧12Vに基づいて三種類の直流電圧(1.0V,1.8V,3.3V)を生成して、ワンチップマイコン40、制御メモリ41、音声プロセッサ42、及び音声メモリ43の電源電圧としている。そのため、ワンチップマイコン40、制御メモリ41、音声プロセッサ42、及び音声メモリ43の電源電圧の一部だけが、電圧降下する可能性が事実上ほぼゼロであって、局所的な機能停止の可能性が事実上生じない。
実施例のリセット回路RST&WDTは、システムリセット信号SYSを生成するだけでなく、ウォッチドッグタイマとしても機能している。そして、演出制御CPU40から受けるべきクリア信号CLRが途絶えた場合には、異常リセット信号RSETを出力して、演出制御CPU40、制御メモリ41、及び、音声プロセッサ42を強制リセットしている。したがって、演出制御CPU40が正常に機能しない異常時には、音声演出を直ちに初期状態に戻すことができる。
次に、本実施例の音声プロセッサ42は、演出制御CPU40から内蔵レジスタ(音声制御レジスタ)RG0〜RGnに受ける動作パラメータ(音声コマンドSNDによる設定値)に基づいて、音声メモリ43をアクセスして、必要な音声信号を再生して出力している。図5に示す通り、音声プロセッサ42と、音声メモリ43とは、26ビット長の音声アドレスバスと、16ビット長の音声データバスで接続されている。そのため、音声メモリ43には、1Gビット(=226*16)のデータが記憶可能となる。
本実施例の場合、音声メモリ43に記憶された圧縮音声データは、13ビット長のフレーズ番号NUM(000H〜1FFFH)で特定されるフレーズ(phrase)圧縮データであり、一連の背景音楽の一曲分(BGM)や、ひと纏まりの演出音(予告音)などが、最高8192種類(=213)、各々、フレーズ番号NUMに対応して記憶されている。そして、このフレーズ番号NUMは、演出制御CPU40から音声プロセッサ42の音声制御レジスタRG0〜RGnに伝送される音声コマンドSNDの設定値(動作パラメータ)によって特定される。
ところで、本明細書では、以下の説明において、一のフレーズ番号NUMで特定されるひと纏まりの演出音を、特に、「単位演出」ということがある。この意味では、一連の背景音楽の一曲分(BGM音)も「単位演出」の一種であり、遊技球の図柄始動口への入賞で開始され、当否抽選結果を報知して終了する一連の変動演出を構成する音声演出は、複数の「単位演出」を適宜に組み合わせて実現されることになる。
音声コマンドSNDは、音声プロセッサ42に内蔵された多数の音声制御レジスタRG0〜RGnの何れか一の音声制御レジスタ(RGi)に、1バイト長の設定値を伝送するIndividual Write用途か、又は、連続する一連N個の音声制御レジスタ群(RGi・・・)に、一群N個の設定値を伝送するBlock Write 用途で使用される。
また、本実施例の音声コマンドSNDは、フレーズ番号NUMなどの設定値を書込むWrite 用途だけでなく、所定の音声制御レジスタRGiからステイタス情報STS(エラー情報など)を読み出すRead用途でも使用される。なお、図6には、演出制御CPU40と、音声プロセッサ42の音声制御レジスタ51(RG0〜RGn)との関係が示されている。
何れにしても、アクセス対象となる音声制御レジスタRGiは、1バイト長のレジスタアドレスで特定され、各音声制御レジスタRGiの記憶容量は1バイトである。そして、本実施例では、7個のレジスタバンクBN0〜BN6に区分して、多数の音声制御レジスタ(RG0〜RGn)が確保されている。すなわち、レジスタバンクBN0〜BN6が7区分されていることから、音声制御レジスタRGiの総数は、原理的には最大7×256個となる。
本実施例では、全てのレジスタバンクBN0〜BN6において、特定のレジスタアドレス(FDH)は、レジスタバンク設定用の音声制御レジスタとなっている。そのため、7×256個の音声制御レジスタRGiの何れか一個を特定するには、先行する音声コマンドSNDによって、バンク設定用の音声制御レジスタ(レジスタアドレス=FDH)に、レジスタバンクBNjを書込んだ上で、そのレジスタバンクBNjに属する音声制御レジスタRGiを、1バイト長のレジスタアドレスで特定することになる。
ところで、音声制御レジスタRGiへの設定値の設定動作は、必ずしも、設定対象となる音声制御レジスタのレジスタアドレスを直接指定する必要はなく、音声メモリ43に格納されているSACデータ(Simple Access Code Data )や、シーケンスコード(Sequence Code )を指定して、一群の音声制御レジスタRGi〜RGjに対する、一連の設定動作を完了させることもできる。そして、このような動作を実現するため、音声プロセッサ42には、図6(b)に示すシンプルアクセスコントローラSAC(simple Access Controller)4個と、シーケンサSQ(Sequencer )16個とが内蔵されている。
シンプルアクセスコントローラSACを機能させるためのSAC(Simple Access Code)データから説明すると、SACデータは、音声制御レジスタRGiのレジスタアドレス(1バイト)と、その音声制御レジスタRGiへの設定値(1バイト)とを対応させた最大512組(=1024バイト)のデータ群であって、SAC終了コード(FFFFH)で終端される集合体を意味する(図6(b)参照)。
本実施例の場合、このようなSACデータを、音声メモリ43に、最高8192種類(=213)設けることができ、CPUは、13ビット長のSAC番号を、SAC制御用の音声制御レジスタRGj1(図6(b))に書込むことで、シンプルアクセスコントローラSACを機能させることができる。機能を開始したシンプルアクセスコントローラSACは、SAC番号で特定される一群のSACデータを、音声メモリ43から順番に読出し、SACデータが示す音声制御レジスタRGiに、SACデータが示す設定値を設定することになる。
そのため、CPUは、SAC制御用の音声制御レジスタRGj1に、SAC番号を書込むだけで足り、音声制御レジスタRGiのレジスタアドレスを個々的に指定することなく、一連の設定動作を指示することができる。後述するように、本実施例では、音声合成回路42の初期設定動作(図10のST10)や、複数の再生チャンネルCH0〜CH29に対するボリューム設定動作(図20(b)〜(e))などで、シンプルアクセスコントローラSACを活用している。
なお、SAC制御用の音声制御レジスタRGj1には、一連の設定動作の開始タイミングを規定する待機時間(付属データとしての待機情報)を設定することもでき、SAC制御用の音声制御レジスタRGj1へのSAC番号の書込みタイミングから、シンプルアクセスコントローラSACによる音声制御レジスタRGiへの設定開始タイミングを遅延させることもできる。
続いて、シーケンサSQを機能させるためのシーケンスコード(Sequence Code )について説明する。シーケンスコードも、SACデータと同様、音声制御レジスタRGiのレジスタアドレス(1バイト)と、その音声制御レジスタRGiへの設定値(1バイト)とを対応させた複数組のデータである(図6(b)参照)。但し、SACデータとは異なり、シーケンスコードは、所定の待機時間を経て、間欠的に実行可能な複数の動作ステップ(複数のシーケンスステップ)を規定することができる。
また、シーケンサ(Sequencer )制御用の音声制御レジスタRGj2には、各シーケンサSQ0〜SQ15について、一連のシーケンス動作を実現する複数(最高8個)のシーケンスコード番号を指定できる共に、各設定動作の開始タイミングを規定する待機時間(待機情報)や、繰り返し動作の有無、及びその繰り返し回数(ループ情報)を、含ませることができるようになっている。したがって、一又は複数のシーケンスコード番号は、所定時間を要して実行される一連の音声演出を特定することになる。
図6(b)に示す通り、一のシーケンスコード番号(13ビット)で特定される一群のシーケンスコードには、複数の動作ステップを規定できるよう構成されている。複数の動作ステップは、ステップ終了コード(FFFEH)で区切られ、複数の動作ステップの最後は、シーケンス終了コード(FFFFH)で終端されている。先に説明した通り、各シーケンサSQ0〜SQ15には、各々、最高8個のシーケンスコード番号を指定できるので、結局、各シーケンサSQkは、シーケンスコード番号で特定される一群のシーケンスコードの動作を、最高8組、連続的又は間欠的に実行できることになる。
本実施例の場合、音声メモリ43に、最高8192種類(=213)のシーケンスコードを格納することができるが、CPUは、13ビット長のシーケンスコード番号(最高8個)と、シーケンサの動作を規定する付属データとを、シーケンサ(Sequencer )制御用の音声制御レジスタRGj2に書込むことで、一連の設定動作を、シーケンサSQに指示できることになる。なお、シーケンサ制御用の音声制御レジスタRGj2に書込まれるデータは、20バイト程度であって煩雑であるので、この20バイトを、SACデータとして音声メモリ43に確保しておくのも好適である。
改めて確認すると、本実施例では、このようなSACデータやシーケンスコードが、必要組だけ、予め音声メモリ43に記憶されており、一群のSACデータや、一群のシーケンスコードは、SAC番号やシーケンスコード番号で特定される。したがって、本実施例の場合、Write 用途の音声コマンドSNDは、音声制御レジスタRGiへの直接的な設定動作を規定する場合だけでなく、シンプルアクセスコントローラSACやシーケンサSQを経由した間接的な設定動作を規定する場合も含まれる。
図5に戻って説明を続けると、上記の動作を実現するため、演出制御CPU40と音声プロセッサ42は、1バイトデータを送受信可能なパラレル信号線(データバス)CD0〜CD7と、動作管理データを送信可能な2ビット長の動作管理データ線(アドレスバス)A0〜A1と、読み書き(read/write)動作を制御可能な2ビット長の制御信号線WR,RDと、音声プロセッサ42を選択するチップセレクト信号線CSとで接続されている。
パラレル信号線CD0〜CD7は、ワンチップマイコン40に内蔵された演出制御CPU40のデータバスで実現され、また、動作管理データ線A0〜A1は、演出制御CPU40のアドレスバスで実現されている。そして、音声プロセッサ42には、上位6ビットが共通し、下位2ビットが00,01,10となる3個のポート番号PORTが付与されており、演出制御CPU40が、これらのポート番号PORTに対するI/OREAD命令や、I/OWRITE命令を実行すると、何れの場合も、チップセレクト信号CSがアクティブレベルになるよう回路構成されている。
そして、I/OREAD命令や、I/OWRITE命令の実行時にアドレスバスの下位2ビットA0〜A1に出力されるデータは、音声プロセッサ42に対する動作管理データA0〜A1となり、この2ビットA0〜A1に基づいて、その時のデータバスCD0〜CD7の1バイトデータが、レジスタアドレスであるか、それとも、書込みデータ又は読み出しデータであるかが特定されるようになっている。
すなわち、アドレスデータA0〜A1が、[00]であれば、そのタイミングのデータバスのデータCD0〜CD7が、レジスタアドレスと評価され、一方、アドレスデータA0〜A1が[01]であれば、そのタイミングのデータバスのデータCD0〜CD7が、書込みデータ又は読み出しデータとなる。なお、I/OREAD命令を実行した場合が読み出しデータ、I/OWRITE命令を実行した場合が書込みデータである。
したがって、所定の設定値を、所定の音声制御レジスタRGi,RGjに書込む音声コマンドSNDの送信動作は、図5(b)のタイムチャートに示す通りとなり、音声プロセッサ42のポート番号PORTの下位2ビットA0,A1を推移させつつ、I/OWRITE命令を連続的に実行することで実現される。具体的には、アドレスデータの下位2ビットA0〜A1を、[00]→[01]と推移させる一方で、データバスの1バイトデータを、[音声制御レジスタRGiのレジスタアドレス]→[音声制御レジスタRGiへの書込みデータ]と推移させることで、所定の音声コマンドSNDの送信動作が実現される。
SAC番号(13ビット)やシーケンスコード番号(13ビット)、及び、これに付随する制御データ(待機情報やループ情報など)を送信する場合のように、書込みデータが複数バイト長であって、制御レジタのレジスタアドレスが連続する場合には、[01]の動作管理データA0〜A1を、[00]→[01]→[01]→[01]と繰り返しつつ、複数バイトの書込みデータを送信する。
このようにして送信された音声コマンドは、通信異常がない限り、その後、音声プロセッサ42内部で実効化される。但し、複数バイト長のデータが互いに整合しないなど、通信異常が認められる場合には、その音声コマンドSNDが実効化させることはない。そして、音声制御レジスタRGnのエラーフラグがセットされるが、このエラーフラグ(ステイタス情報STS)は、アドレスバスの動作管理データA0〜A1を、[01]から[10]に推移させたI/OREAD命令の実行によって受信することができる(図5(d)参照)。
このように、この実施例では、動作管理データA0〜A1を、[00]→[01]→・・・[01]→[10]と推移させる最終サイクルにおいて、複数ビット長のエラー情報(異常時はFFH)を取得することができる。そして、正当にパラレル送信できなかった音声コマンドSNDを再送することで、音声演出を適切に進行させることができる。したがって、本実施例の構成によれば、音声演出が突然、途絶えるような不自然さを確実に解消されることができる。
一方、I/OREAD動作によるデータ読み込み動作は、図5(c)のタイムチャートに示す通りであり、音声プロセッサ42のポート番号PORTの下位2ビットA0,A1を推移させつつ、I/OWRITE命令と、I/OREAD命令を連続的に実行することで実現される。なお、読み出しデータが複数バイト長の場合には、必要バイト数だけI/OREAD命令を連続させる。
具体的に確認すると、先ず、I/OWRITE動作として、アドレスデータの下位2ビットA0〜A1が[00]となるポート番号PORTに対して、[動作ステイタスなどを記憶する音声制御レジスタRGiのレジスタアドレス(1バイト長)]を出力する。次に、アドレスデータの下位2ビットA0〜A1が[01]となるポート番号PORTに対して、I/OREAD命令を実行すれば、所定の音声制御レジスタから動作ステイタスなどの必要データを取得することができる。
以上のような構成を有する音声プロセッサ42が再生した音声は、音声プロセッサ42のデジタル音声信号として、5ビット信号(SCLK,LRO,SD0,SD1,SD2)の形式で、デジタルアンプ46a,46bに伝送され、各デジタルアンプでD級増幅され、アナログ音声信号として、各スピーカに供給される。具体的には、デジタルアンプ46aの増幅出力(アナログ音声信号)は、低音用の下方スピーカBTMに供給されており、デジタルアンプ46bの増幅出力(アナログ音声信号)は、遊技者に対して上下左右位置にほぼ整列配置された4個のスピーカTL,TR,ML,MRに供給されている。
次に、演出制御部22の他の回路構成について図5に基づいて説明する。先ず、ワンチップマイコン40には、係員が操作する設定スイッチSETから4ビット長のスイッチ信号が供給されている。また、ワンチップマイコン40には、図5に示す通り、複数のパラレル入出力ポートPIO(Pi+Pi’+Po+Po’)と、複数のシリアル出力ポートSIと、が内蔵されている。シリアル出力ポートSIは、より詳細には、3チャンネルのシリアルポート(S0〜S2)を含んで構成されており、ランプ駆動基板36、29、30に搭載された複数個のLEDドライバに、各々、シリアル駆動データSDATA0〜SDATA2を、クロック信号CK0〜CK2に同期して出力している。
すなわち、シリアルポートS0〜シリアルポートS2は、クロック同期方式に基づいて、対応するランプ駆動基板36、29、30に、シリアル駆動データSDATA0〜SDATA2を伝送している。なお、シリアル駆動データSDATA0〜SDATA2は、その殆どが、各LEDの発光輝度をPWM制御(pulse width modulation)によって輝度調整するため輝度データ(ランプ駆動データ)であるが、演出モータM1〜Mnを駆動するモータ駆動データも含まれている。
また、パラレル出力ポートPo’は、3ビット長の動作許可信号ENABLE0〜ENABLE2を、ランプ駆動基板36、29、30に出力しており、各ランプ駆動基板36、29、30に搭載されたLEDドライバは、動作許可信号ENABLE0〜ENABLE2の何れかに基づいて動作を開始している。また、出力ポートPo’からは、デジタルアンプ46a,46bの出力を消音するためのMUTE信号が出力されている。このMUTE信号は、例えば、動作が不安定となる可能性のある電源投入時や、音声プロセッサ42の異常動作が検出された場合などに使用される。
このような構成に対応して、演出制御基板22には、ワンチップマイコン40のパラレル出力ポートPo’や、シリアルポートSIや出力される各種の信号を伝送する出力バッファ回路47,48,49が設けられている。ここで、出力バッファ47は、第0チャンネルのLED群に関連しており、ワンチップマイコン40が出力するランプ駆動データSDATA0、クロック信号CK0、及び、動作許可信号ENABLE0を、枠中継基板34に出力している。そして、出力された3ビットの信号は、枠中継基板34、及び、枠中継基板35を経由して、ランプ駆動基板36のLEDドライバに伝送される。
同様に、出力バッファ48は、ワンチップマイコン40が出力するランプ駆動データSDATA1、クロック信号CK1、及び、動作許可信号ENABLE1をランプ駆動基板29のLEDドライバに伝送しており、出力バッファ49は、ランプ駆動データSDATA2、クロック信号CK2、及び、動作許可信号ENABLE2をランプ/モータ駆動基板30のLEDドライバに伝送している。なお、ランプ駆動基板29のLEDドライバは、第1チャンネルのLED群を駆動し、ランプ/モータ駆動基板30のLEDドライバは、第2チャンネルのLED群と、演出モータM1〜Mnとを駆動している。
一方、パラレル入出力ポートPIOの入力ポートPiには、入力バッファ44を経由して、主制御部21からの制御コマンドCMD及びストローブ信号STBが入力され、コマンド出力ポートPoからは、出力バッファ45を経由して、制御コマンドCMD’及びストローブ信号STB’が出力されるよう構成されている。
具体的には、入力ポートPiには、主制御基板21から出力された制御コマンドCMDとストローブ信号(割込み信号)STBとが、入力バッファ44において、ワンチップマイコン40の電源電圧3.3Vに対応する論理レベルに変換されて8ビット単位で、ワンチップマイコン40に供給される。割込み信号STBは、ワンチップマイコン40の割込み端子に供給され、受信割込み処理によって、演出制御部22は、制御コマンドCMDを取得するよう構成されている。
演出制御部22のワンチップマイコン40が取得する制御コマンドCMDには、(1)異常報知その他の報知用制御コマンドなどの他に、(2)図柄始動口への入賞に起因する各種演出動作の概要特定する制御コマンド(変動パターンコマンド)や、図柄種別を指定する制御コマンド(図柄指定コマンド)が含まれている。ここで、変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当たり抽選における当否結果とが含まれている。
また、図柄指定コマンドには、大当たり抽選の結果に応じて、大当たりの場合には、大当たり種別に関する情報(15R確変、2R確変、15R通常、2R通常など)を特定する情報が含まれ、ハズレの場合には、ハズレを特定する情報が含まれている。変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当り抽選における当否結果とが含まれている。なお、これらに加えて、リーチ演出や予告演出の有無などを含めて変動パターンコマンドで特定しても良いが、この場合でも、演出内容の具体的な内容は特定されていない。 そのため、演出制御部22(ワンチップマイコン40)では、変動パターンコマンドを取得すると、これに続いて演出抽選を行い、取得した変動パターンコマンドで特定される変動演出の演出概要を具体化している。例えば、リーチ演出や予告演出について、その具体的な内容を決定して一連の変動演出が特定される。そして、決定された具体的な遊技内容にしたがい、LED群などの点滅によるランプ演出や、スピーカによる音声演出の準備動作を行うと共に、画像制御部23に対して、ランプやスピーカによる演出動作に同期した画像演出に関する制御コマンド(演出コマンド)CMD’を出力する。
本実施例では、一連の変動演出の種類に対応して、複数のメインシナリオテーブルMj(図15(b)参照)が用意されており、演出抽選の結果に基づき、複数のメインシナリオテーブルMjの何れか一以上が特定される。例えば、一連の変動演出を実現するメインシナリオテーブルM0と、適宜なタイミングで機能する一又は複数の予告演出を実現するメインシナリオテーブルMx、My・・・が特定される。なお、変動パターンコマンド受信時に全てのメインシナリオテーブルMjを特定する必要はなく、例えば、図柄指定コマンドの受信時に、そのコマンドで指定された図柄に対応して、一又は複数のメインシナリオテーブルMjを特定してもよい。
何れにしても、メインシナリオテーブルMjには、互いに関連して実行されるべき音声演出、ランプ演出、及びモータ演出について、その演出内容を特定するシナリオ情報と、その演出の実行継続時間が記載されているが、図15(b)のメインシナリオテーブルMjには、便宜上、ランプ演出やモータ演出に関する記載を省略している。
図15(b)に例示するように、音声演出についてのシナリオ情報は、具体的には、サブシナリオテーブルSkのサブシナリオ番号である。そして、サブシナリオ番号で特定されるサブシナリオテーブルSkには、単位演出を特定するフレーズ番号NUMや、その単位演出の再生ボリューム値などが規定されている(図15(c)参照)。
ところで、演出制御部22の演出動作に同期した画像演出を実現するため、演出制御部22は、コマンド出力ポートPoを通して、画像制御部23に対するストローブ信号(割込み信号)STB’と共に、16ビット長の制御コマンドCMD’を画像インタフェイス基板28に向けて出力している。そして、演出抽選に関わる演出コマンドCMD’を受けた演出制御部22は、演出コマンドCMD’に対応する画像シナリオテーブルを特定し、その画像シナリオテーブルに規定された画像演出を開始する。
上記した演出制御基板22の構成に対応して、出力バッファ45が設けられており、16ビット長の制御コマンドCMD’と1ビット長の割込み信号STB’を画像インタフェイス基板28に出力している。そして、これらのデータCMD’,STB’は、画像インタフェイス基板28を経由して、画像制御基板23に伝送される。これらの信号は、ワンチップマイコン40の電源電圧3.3Vに対応する論理レベルである。
次に、図6(a)には、音声プロセッサ42の概略内部構成と共に、音声プロセッサ42と、ワンチップマイコン40(演出制御CPU)と、音声メモリ43と、の接続関係も示されている。
図6(a)に示す通り、音声プロセッサ42は、演出制御CPU40からアクセスされる多数の音声制御レジスタ51(RG0〜RGn)と、音声再生動作を統括的に制御するサウンドコントロールモジュール52と、音声メモリ43から読み出されたフレーズ圧縮データをデコードすると共に、複数のフレーズ再生チャンネルCH0〜CH31のデコードデータを適宜な音量比率で混合させるメインジェネレータ53と、デジタルフィルタ処理によって所望の周波数特性を実現するイコライザ機能や入出力ゲイン特性を変化させるコンプレッサ機能を実現するエフェクト部54と、最終音量を規定するトータルボリュームTVと、シリアル伝送用の5種類の信号SCLK,LRO,SD0,SD1,SD2を生成するデジタルIF部55と、を備えて構成されている。
図示の通り、メインジェネレータ53には、再生チャンネルCH0〜CH31に区分されて圧縮データを再生するデコーダ60と、音量を調整するボリュームV1〜V3と、デコーダ60の再生音を混合するチャンネルミックス部61と、再生音の放音位置を背面側や耳元側に変更した仮想音を生成するバーチャルサラウンド部VSと、最終的な混合動作を実行する再ミックス部RMと、を有して構成されている。
サウンドコントロールモジュール52は、音声制御レジスタ51(RGi)に書込まれた演出制御CPU40からの指示に基づいて機能するが、シンプルアクセスコントローラSAC(Simple Access Controller)と、シーケンサSQ(Sequencer )とを有して構成されている。先に説明した通り、シンプルアクセスコントローラSACや、シーケンサSQは、一群のSACデータや、一群のシーケンスコードを音声メモリ43から読み出して、所定の音声制御レジスタRGiに、設定データを設定する機能を有している。
図6(b)は、この関係を図示した図面であり、音声メモリ43には、最高8192種類のシーケンスコード群と、最高8192種類のSACデータ群が格納されている。そして、シーケンスコードや、SACデータは、各々、13ビット長のシーケンスコード番号やSAC番号で特定されており、8192=213の関係にある。
本実施例の場合、シーケンサSQとして、並列的に動作する16系列(SQ0〜SQ15)が設けられ、また、シンプルアクセルコントローラSACとして、並列的に動作する4系列(SAC0〜SAC3)が設けられている。この構成に対応して、音声制御レジスタRGiには、シーケンサ(SQ0〜SQ7)制御用の音声制御レジスタRGj2と、SAC(SAC0〜SAC3)制御用の音声制御レジスタRGj1とが設けられている。
そして、演出制御CPU40が、音声コマンドSNDの送信動作に基づいて、SAC制御用の所定の音声制御レジスタRGj1に、SAC番号と、その付属情報を書込むと、対応するシンプルアクセスコントローラSACが機能を開始し、そのシンプルアクセスコントローラSACは、SAC番号で特定される一群の設定データを、SACデータが指示する一群の音声制御レジスタに書込むことになる。この点は、既に説明した通りであり、本実施例では、煩雑な設定動作を一のSAC番号とその付属情報の送信で終えることができる。
一方、演出制御CPU40が、音声コマンドSNDの送信動作に基づいて、シーケンサ(SQ0〜SQ7)制御用の所定の音声制御レジスタRGj2に、シーケンスコード番号と、その付属情報を書込むと、対応するシーケンサSQiが機能を開始して、シーケンスコードで特定される一群の設定データを、シーケンスコードが指示する一群の音声制御レジスタに書込むことになる。
ここで、音声制御レジスタRGj2には、任意のシーケンサSQiに対して、複数(最高8個)のシーケンスコード番号と、各シーケンスコード番号の演出に対するループ情報を記入できるようになっている。したがって、例えば、シーケンサSQiに対して、n+1個のシーケンスコード番号(X0,X1,・・・,Xn)が指定された場合には、図7(a)に示す通り、シーケンスコード番号X0の設定動作→シーケンスコード番号X1の設定動作→・・・・シーケンスコード番号Xnの設定動作が順番に実行されることになり、設定動作に対応する音声演出が実行されることになる。 また、繰り返し回数などのループ情報は、シーケンスコード番号ごとに指定可能であるので、シーケンスコード番号で特定される音声演出を、所定回数繰り返した後に、次のシーケンスコード番号で特定される音声演出に移行することができる(図7(a))。
このように、シーケンサSQiに設定すべきデータは多岐にわたっており、これらシーケンスコード番号及び付随データを、シーケンサ制御用の音声制御レジスタRGj2に、適宜に設定する必要がある。そこで、本実施例では、シーケンスコード番号と付随データの全体を、1バイト単位で分割すると共に、分割された1バイトデータと、この1バイトデータを設定すべきシーケンサ制御用レジスタRGj2のレジスタアドレスと、を一組とする一群のSACデータを、音声メモリ43に確保している(以下、これをシーケンサ起動用SACデータという)。
そして、CPUは、SAC制御用の音声制御レジスタRGj1に、所定のSAC番号を指定することで、シンプルアクセスコントローラSACを起動させている。ここで、SAC番号は、シーケンサ起動用SACデータを特定しているのは勿論である。そして、SAC(Simple Access Controller)の動作に基づいて、必要なデータを、シーケンサ制御用レジスタRGj2に展開させている。したがって、シーケンサSQ0〜SQ15の起動用データの設定動作が容易である。
ところで、図6(b)に関して先に説明した通り、一のシーケンスコード番号で特定される一群のシーケンスコードには、ステップ終了コード(FFFEH)で区切った複数の動作単位(シーケンスステップ)が記載されているので、結局、一のシーケンスコード番号で特定される複数のシーケンスステップを全て実行した後に、次のシーケンスコード番号で特定される複数のシーケンスステップが実行されることになる。
そして、各シーケンサには待機時間を設定することもできるので、最初のシーケンスステップ(一群の設定データの書込み動作)は、CPUから指摘された待機時間後に開始され、ステップ終了コード(FFFEH)まで実行すると、更に、待機時間の後に、次の一群の設定データが一群の音声制御レジスタに書込まれる。なお、待機時間は、シーケンサ(SQ0〜SQ7)毎に、単一の時間情報が設定可能であるが、例えば、先行するシーケンスステップにおいて、これに連続する後続シーケンスステップに適用される待機時間を設定することで、シーケンスステップ毎の待機時間を任意に設定できる。
したがって、例えば、ステップ終了コード(FFFEH)で区切られた三群のシーケンスコードによって、図7(b)に示すようなパン動作を設定することもできる。図7(b)の場合には、(1)シーケンサの動作開始に対応して、左スピーカだけが放音する第1設定動作(Δ1の設定を含む)を実行し、(2)第1設定動作から待機時間Δ1後に、右スピーカだけが放音する第2設定動作(Δ2の設定を含む)を実行し、(3)第2設定動作から待機時間Δ2後に、左右スピーカが放音する動作を実現する第3設定動作(Δ3の設定を含む)を実行した後、待機時間Δ3後に、最初の左スピーカの放音動作に戻るようなシーケンス設定動作が可能となる。なお、図7(b)は、便宜上、Δ1=Δ2=Δ3と図示している。
パンポット比VL:VRについて具体的に確認すると、(1)左スピーカだけの放音は、左右パンポット比VL:VRを0:−∞dBに設定することで、(2)右スピーカだけの放音は、左右パンポット比VL:VRを−∞:0dBに設定することで、(3)左右スピーカの等比放音、左右の左右パンポット比VL:VRを0:0dBに設定することで実現される。ここで、パンポット比VL:VRは、例えば、VL=20*Log(SQR(2)*Cos(π/2*VL/128))と、VR=20*Log(SQR(2)*Sin(π/2*VR/128))とで与えられ、0dB:0dBは1:1を意味し、−∞dBは消音を意味している。また、Logは、10を底とする対数であり、SQR(2)は2の平方根を意味する。何れにしても、このような変則的な音量設定を個別の音声コマンドSNDで実現するのは非常に煩雑であるが、本実施例では、シーケンサSQを利用して、制御負担を大幅に軽減している。
また、16系列のシーケンサ(SQ0〜SQ15)は、互いに独立的に動作できるだけでなく、所定条件下、設定動作を一斉に開始することもできるよう構成されている。所定条件としては、特定の再生音が終わったことをトリガ条件とする「オフトリガ機能」を例示することができる。
したがって、例えば、図7(d)に示すように、(1)シーケンサSQ0を経由して再生されるボーカル音、(2)シーケンサSQ1を経由して再生されるギター音、(3)シーケンサSQ2を経由して再生されるベース音、(4)シーケンサSQ3を経由して再生される左コーラス音、(5)シーケンサSQ4を経由して再生される右コーラス音の5パートとで構成されている楽曲について、個別パートのフレーズ圧縮データを、別々に音声メモリ43に用意しておくと共に、先行する所定の再生動作が終わったことを条件(オフトリガ機能)に、シーケンサSQ0〜SQ4の設定動作を同期して開始させることで、個別パートのフレーズ圧縮データの再生動作を一斉に開始させることもできる。したがって、複数パートの音声を時間ズレなく再生することができる。なお、この点は、図9に関して更に後述する。
次に、メインジェネレータ53の内部構成を更に詳細に示すと、図8に示す通りである。図示の通り、メインジェネレータ53は、独立してデコード処理が可能な32個のフレーズ再生チャンネル(CH0〜CH31)に区分されたデコーダ60と、一次ボリュームV1、二次ボリュームVs(=V2,V3,V4)、及び、パンポット部を有して音声ボリュームや音量バランスを調整可能なチャンネルボリュームと、32個のフレーズ再生チャンネル(CH0〜CH31)の音声を混合するチャンネルミックス部61と、バーチャルサラウンド部VSと、再ミックス部RMと、を有して構成されている。
図8に示す通り、フレーズ再生チャンネル(CH0〜CH31)毎に、L0信号、R0信号、R1信号、L1信号、SUB0信号、SUB1信号が出力されるが、これら6種類(合計32×6個)の信号は、チャンネルミックス部61と再ミックス部RMで混合されて、混合L0信号、混合R0信号、混合R1信号、混合L1信号、混合SUB0信号、混合SUB1信号として出力される。
但し、本実施例では、低音スピーカBTMが一個であるので(図2参照)、SUB1信号や混合SUB1信号を使用していない。また、この構成に関連して、二次V3で低音スピーカBTMのボリューム調整をすることとし、もう一方の二次ボリュームV4を使用していない。
そして、混合L0信号と混合R0信号は、各々、デジタルアンプ46bでD級増幅された後、上部左右のスピーカTL,TRに供給され、また、混合L1信号と混合R1信号についても、各々、デジタルアンプ46bでD級増幅された後、中部左右のスピーカML,MRに供給される。一方、混合SUB0信号については、デジタルアンプ46aでD級増幅された後、低音用のスピーカBTMに供給される。
なお、6チャンネルの信号L0,R0,R1,L1,SUB0,SUB1は、メインジェネレータ53→エフェクト部54→トータルボリュームTV→デジタルIF部55を経由する過程では、何れもPCMデータであり、デジタルアンプ46a,46bを経由することでアナログ信号となる。また、6チャンネルの信号L0,R0,L1,R1,SUB0,SUB1が、3チャンネルの音声シリアル信号SO0〜SD2に纏められて、デジタルアンプ46a,46bに伝送される。但し、信号SUB1を使用していないことは先に説明した通りであり、信号SUB1は、無為に伝送される。
先に概略的に説明した通り、音声プロセッサ42の音声制御レジスタ51(RGi)は、音声プロセッサ42を意図通りに機能させるために、演出制御CPU40がWrite 処理する書込みレジスタと、音声プロセッサ42の動作状態を把握するために、演出制御CPU40がRead処理する読出しレジスタと、に区分されている。
書込みレジスタへの書込みデータには、(1)再生すべきBGM音や演出音の単位演出を特定するフレーズ番号NUM、(2)その再生音のボリューム(V1,V2,V3)指示、(3)再生回数を規定するループ指示、(4)再生開始や一時停止などの動作指示、(5)上下スピーカや左右スピーカの音量バランスであるパンポット比の指示、(6)最終的なボリューム(TV)指示などが含まれている。ここで、演出音には、一連の変動動作中に大当り状態に移行する可能性があることを所定の信頼度(≦100%)で予告する予告音が含まれる。
また、(1)フレーズ番号NUMの指定、(2)ボリューム(V1,V2,V3)指示、(3)ループ指示、(4)動作指示、及び(5)パンポット指示は、全て、デコーダ60のフレーズ再生チャンネルCH0〜CH31を指定して行われるよう構成されている。そのため、フレーズ再生チャンネルCH0〜CH31に対応して、最高32種類のフレーズ圧縮データが、各々、上記の指示(1)〜(5)に基づいて同時に独立して再生され、チャンネルミックス部61及び再ミックス部RMでミキシングされて出力されることになる。
なお、本実施例では、音声信号のボリューム値を段階的に遷移させるボリューム遷移動作を、CPU処理として、ソフトウェア的に実現しており、一次ボリュームV1、二次ボリュームV2,V3、及びトータルボリュームTVに対してボリューム遷移動作が可能となる。但し、本実施例では、制御負担を考慮して、主として、二次ボリュームV2,V3についてだけ、ボリューム遷移動作を実行している。
特に限定されるものではないが、一次ボリュームV1や二次ボリュームVs(V2,V3,V4)の設定値Viに対する信号の入出力比は、20*Log(Vi/128)となり、本実施例では、設定値Viを0≦Vi≦128に制限することで、入出力比は、実際には減衰比を意味して、−∞dB以上0dB以下の減衰率となる。ここで、Logは、10を底とする対数である。
そして、二次ボリュームV2,V3の遷移動作時には、音声演出用の全フレーズ再生チャンネルCHnにおいて、2つの二次ボリュームV2,V3は、常に同一値とされる。したがって、上部や中部のスピーカの音量が、漸増又は漸減しているときには、下部スピーカの音量も、それに追随することになり、遊技者に対して明確なボリューム遷移動作が実現される。
二次ボリュームV2,V3のボリューム遷移動作は、具体的には、フェードアウト動作やフェードイン動作を意味する。そして、ボリューム遷移動作は、後述するサブシナリオテーブルSkに記載されている指示値に基づき、(1)最終的なボリューム値である目標値と、(2)その目標値に至るまでの遷移速度とを先ず特定し、二次ボリュームV2,V3のボリューム指示値を段階的に推移させることで実現される。
なお、本実施例では、フェードアウト動作やフェードイン動作だけでなく、パンポット演出における左右パンポットや上下パンポットにおいて、急にパン(定位)が上下左右に変化する動作や、ゆっくりパンが変位する動作も含め、全てのボリューム遷移動作が、演出制御CPU40によるソフトウェア処理によって実現される。なお、このようなパンポット動作時のボリューム遷移は、左右パンポット比の遷移や、上下パンポット比の遷移によって実現されるので、二次ボリュームV2が変化することはなく、したがって、パンポット動作時も含め2つの二次ボリュームV2,V3は同一値とされる。
何れにしても、左右パンポットや上下パンポットにおいて、適宜な速度のボリューム遷移動作を実現するには、CPUの制御負担が増加する。しかし、本実施例では、シンプルアクセスコントローラSACやシーケンサSQ(図6(b))を利用することで、パンポット比の段階的な変化による、音量比の段階的遷移を実現している。図7(c)は、シーケンサSQによって実現される動作を例示したものであり、パンポット比をdBで図示している。
具体的に確認すると、図示例の場合、+3dB:−∞dB(一方だけ放音)から0dB:0dB(双方同じ音量)に至り、更に、−∞dB:+3dB(他方だけ放音)まで変化させる遷移動作となっている。その後は、0dB:0dB(双方同じ音量)を経由して、+3dB:−∞dB(一方だけ放音)に推移している。
なお、図7(b)や図9(b)に示すように、+0dB:−∞dB(一方だけ放音)や、−∞dB:+0dB(他方だけ放音)の音量比も可能であり、また、必要に応じて、−∞dB:−∞dB(双方が消音状態)を設定することもできる。したがって、上下左右のスピーカのパン設定を−∞dB:−∞dBに設定することで、例えば、二次ボリュームV2=V3の状態を維持しつつ、中段と上段のスピーカを消音化して、下部スピーカBTMだけが放音する遊技状態を作ることができる。何れにしても、本実施例では、必要に応じて、シンプルアクセスコントローラSACや、シーケンサSQを活用することで、複雑高度な音声演出を簡易に実現している。
以上のパンポット比の設定を踏まえて、シーケンサSQのオフトリガ機能による同期演奏について図9に基づいて確認的に説明する。図7(d)に関して説明した通り、シーケンサSQ0〜SQ4は、先行する単位演出が終わったことを条件に、並列的に動作を開始して、必要な動作パラメータを、所定の音声制御レジスタRGiに設定する。
そして、この動作パラメータには、先ず、(1)シーケンサSQ0が設定するボーカル音のフレーズ番号NUMa、(2)シーケンサSQ1が設定するギター音のフレーズ番号NUMb、(3)シーケンサSQ2が設定するベース音のフレーズ番号NUMc、(4)シーケンサSQ3が設定する左コーラス音のフレーズ番号NUMd、(5)シーケンサSQ4が設定する右コーラス音のフレーズ番号NUMeが含まれる(図9(a)参照)。
また、この楽曲演奏の再生では、ステレオ効果を高めるために、上下パンポットや左右パンポットのパンポット比を適宜に設定したフレーズ再生チャンネルCH14〜CH21を使用している(図9(b)参照)。その一例を説明すると、例えば、シーケンサSQ0は、フレーズ再生チャンネルCH14とCH15において、フレーズ番号NUMaのボーカル音を再生するよう設定すると共に、フレーズ再生チャンネルCH14のパンポット比を図示の通りに設定して、上部の左右スピーカと下部低音スピーカから放音させている。なお、一次ボリュームV1と二次ボリュームVs(V2,V3)は、全てのフレーズ再生チャンネルCHnにおいて、それまでの設定値と同じであり、入出力比は、例えば、全て0dBレベルとされる。
パンポット比について、具体的に確認すると、フレーズ再生チャンネルCH14の上下パンポット比を、0dB:−∞dBに設定することで、中部スピーカの音量をゼロにしている。また、上部スピーカに関して、左右パンポット比を、0dB:0dBに設定することで、左右スピーカの音量を同一レベルにしている。なお、中部スピーカに関して、左右パンポット比を−∞dB:−∞dBに設定しているが、この設定を省略しても良い。
その他のフレーズ再生チャンネルCH15〜CH21についても、上下パンポットや左右パンポットのパンポット比を適宜に設定することで、
CH14の再生音(ボーカル音)→上部左右スピーカTL,TRに放音、
CH15の再生音(ボーカル音)→中部左右スピーカML,MRに放音、
CH16の再生音(ギター音)→上部左スピーカTLに放音、
CH17の再生音(ギター音)→中部左スピーカMLに放音、
CH18の再生音(ベース音)→上部右スピーカTRに放音、
CH19の再生音(ベース音)→中部右スピーカMRに放音、
CH20の再生音(コーラス左音)→中部左スピーカMLに放音、
CH21の再生音(コーラス右音)→中部右スピーカMRに放音、の動作を実現している。
図9(c)は、この放音配置を図示したものであり、左側スピーカからギター音が再生され、右側スピーカからベース音が再生され、ステレオコーラス音が左右のスピーカから再生される。また、全てのフレーズ再生チャンネルCH15〜CH21において、二次ボリュームは有意レベルにおいてV2=V3であるので、下部スピーカBTNからは、全ての混合音が放音される。
このような楽曲演奏は、好適には、大当り中の遊技者を、効果的に盛り上げる用途で活用される。このようは楽曲演奏を実現するには、パンポット比の設定が煩雑であるが、本実施例では、シーケンサSQiやシンプルアクセスコントローラSACを活用することで、CPUの制御負担を抑制しつつ複雑高度な音声演出を実現している。
次に、図6(a)に戻って、メインジェネレータ53について更に説明する。図8に関し、先に説明した通り、メインジェネレータ53は、複数のフレーズ再生チャンネル(CH0〜CH31)に区分されたデコーダ60と、一次ボリューム部V1と二次ボリューム部Vs(=V2,V3)を有するチャンネルボリュームと、を有して構成されている。
そこで、このような構成に対応して、本実施例の演出制御CPU40は、BGM音の再生には、フレーズ再生チャンネルCH0〜CH1のデコーダを使用し、重大な異常事態の発生を報知するエラー報知には、フレーズ再生チャンネルCH29のデコーダを使用するようにしている。また、予告演出などを実現する演出音の再生には、25個のフレーズ再生チャンネルCH2〜CH26の何れか空き状態のデコーダを使用している。
一方、操作有効音の再生にはフレーズ再生チャンネルCH27を使用し、入賞音の再生にはフレーズ再生チャンネルCH28を使用するようにしている。ここで、操作有効音とは、例えば、チャンスボタン11の押下を許可するチャンス状態が招来したことを示す演出音、及び、その後に発生する演出音を意味する。また、入賞音とは、図柄始動口15に遊技球が入賞したことを示す演出音である。
本実施例では、演出内容が比較的画一的で、且つ、高頻度には発生しない操作有効音と入賞音について、専用のフレーズ再生チャンネルCH27,CH28を確保することで、音声制御の更なる容易化を図っている。なお、フレーズ再生チャンネルCH30〜31は製造検査の用途で使用しているが、本発明の趣旨に関連しないので説明を省略する。
このように、本実施例では、発生頻度が低く、且つ、音声パターンが、ほぼ画一化されているエラー報知音、操作有効音、及び、入賞音については、使用するフレーズ再生チャンネルを固定化している。一方、予告演出などを実行する場合には、多種類の音声(フレーズ番号NUMで特定される単位演出)を多重的に組み合わせる必要があるので、残り25個のフレーズ再生チャンネルCH2〜CH26のうち、その時に空き状態のデコーダを選択的に使用するようにしている。
但し、空き状態のデコーダの検索処理の円滑化すると共に、機種変更に拘わらず汎用的に転用可能なプログラム構成を実現するため、本実施例では、25個のフレーズ再生チャンネルCH2〜CH26を、(1)主に予告音を再生する効果音チャンネルSEと、(2)パンポット演出を含む高度な音声演出を実現する高度演出チャンネルPANと、(3)仮想音に変換されるべき演出音を再生するバーチャルチャンネルVSと、に区分している。後述するように、バーチャルチャンネルVSでは、遊技者の背面、又は耳元に音像定位制御された仮想音による音像可変演出が実行される。
また、本実施例では、遊技状態に応じて最適な音声演出を効果的に実現するべく、チャンネル区分を適宜に変更している。図10は、この関係を図示したものであり、通常時は、CH2〜CH21を効果音チャンネルSE、CH22〜CH23を高度演出チャンネルPAN、CH24〜CH26をバーチャルチャンネルVSとしている。
また、遊技者が盛り上がる確変動作中は、遊技者を更に盛り上げる音声演出を実現するべく、高度演出チャンネルPANをCH18〜CH23に増加させ、大当り中は、更に派手な音声演出を実現するべく、高度演出チャンネルPANをCH14〜CH23に増加させている。したがって、大当り中は、多数の楽器演奏や、ボーカル音声を個々的に再生した最高10チャンネルの多重音声演出(10種類のフレーズ圧縮データの重複再生)を実現することもできる。先に説明した図9の演出は、8チャンネル(CH14〜CH21)の多重音声演出である。
このように区分されたフレーズ再生チャンネルCHnを有効に機能させるには、フレーズ再生チャンネルCHnに対応する一群の音声制御レジスタRGiに、各々、最適な動作パラメータを設定する必要がある。そこで、本実施例では、効果音チャンネルSEに必要な動作パラメータの多くは、シンプルアクセスコントローラSACを機能させて設定される。なお、SAC機能を活用する点は、CH0,CH1,CH27,CH28などの専用チャンネルについても同様である。
一方、高度演出チャンネルPANや、バーチャルチャンネルVSに必要な動作パラメータは、シンプルアクセスコントローラSACやシーケンサSQを機能させて設定される。なお、シーケンサSQを機能させるには、CPU40は、シーケンサ制御用の音声制御レジスタRGj2に、シーケンスコード番号と、これに付属するデータを設定すれば足り、シーケンスコード番号及び付属データは、SACデータとしてシンプルアクセスコントローラSACによって設定されることは、先に説明した通りである。
ところで、CPUは、必要に応じて、音声制御レジスタを直接アクセスして、動作パラメータを設定するが(直設定)、高度演出チャンネルPANとバーチャルチャンネルVSについては、直設定の機会が皆無となるよう構成するのが好適である。このような構成にすれば、遊技機の開発において複数人が分担して遊技制御プログラムを構築する上で有効である。
また、本実施例では、効果音チャンネルSEを、演出優先度に応じて、上位チャンネルSE1(例えばCH2〜CH7)と下位チャンネルSE2(例えばCH8〜CH21)に二分している。なお、優先度とは、同時に再生される複数の単位演出の各ボリューム値の大小を意味し、優先度の高い単位演出を上位チャンネルで再生し、優先度の低い単位演出を下位チャンネルで再生することで、重複演出時におけるボリューム値の管理を容易化している。
すなわち、本実施例では、必要に応じて、上位チャンネルSE1のボリューム値を纏めて増大させ、逆に、下位チャンネルSE2のボリューム値を纏めて減少させることで、時間的に重複する複数の予告演出を効果的に再生している。また、必要に応じて、BGM音の音量を抑制することで、演出音の聞き漏らしを防止している。なお、以下の説明では、上位チャンネルSE1で再生される演出音を、予告音SE1又は演出音SE1と表現し、下位チャンネルSE2で再生される演出音を、予告音SE2又は演出音SE2と表現することがある。
さて、図6に戻って、音声プロセッサ42の内部構成の説明を続けると、図6(a)や図7に示すように、チャンネルミックス61の6チャンネルの出力信号(混合L0,混合R0,混合L1,混合R1,混合SUB0,混合SUB1)は、エフェクト部54において、所定の音声制御レジスタ51(RGi)に規定された動作パラメータに基づくデジタルフィルタ処理がされた後、トータルボリューム部TVに供給され、トータルボリューム値TVに基づいて増幅される。
トータルボリューム値TVは、対応する音声制御レジスタ51(RGi)に書込まれる動作パラメータで規定されるが、この動作パラメータは、先に説明した通り、本実施例では、原則として、係員が操作する設定スイッチSET(図3)に基づいて規定される。但し、遊技者が遊技動作中(但し、音声演出待機中)に、音量スイッチVSW(図1)を操作した場合には、その設定値に基づいてトータルボリュームTVが規定される。
以下、概念的に確認すると、各スピーカから出力される音声信号の音量は、演出制御CPUが規定する一次ボリュームV1及び二次ボリュームVsの積と、遊技者の意図に基づくトータルボリュームTVとの積で規定されるので、全ての音声演出は、遊技者の意図する音量で実現されることになる。
但し、重大な異常事態の検出時には、係員や遊技者の意図に拘わらず、トータルボリュームTVが最高レベルとなり、フレーズ再生チャンネルCH29以外の一次ボリュームV1は最小値となり、フレーズ再生チャンネルCH29の一次ボリュームV1及び2次ボリュームVsが最高レベルとなるので、違法行為時の警報音(異常報知音)を、音量スイッチVSWその他の操作で隠蔽することはできない。
ところで、本実施例では、トータルボリュームTVの値を、表1に示すように、スピーカの配置位置した値に設定している。すなわち、設定スイッチSETや音量スイッチVSWの設定値に基づき、以下の何れかの値が、チャンネルミックス61の出力信号(混合L0,混合R0,混合L1,混合R1,混合SUB0)に対して設定される。なお、混合SUB1を使用しないことは先に説明した通りである。
トータルボリュームTVは、詳細には、混合L0及び混合R0の音量を設定するTV0と、混合L1及び混合R1の音量を設定するTV1と、混合SUB0の音量を設定するTV2の合計3個であり、表1に示す設定値(VL<256)を、ボリューム設定用の音声制御レジスタRGiに設定することで、入出力比を、例えば、20*Log(VL/128)dBに設定することができる。
但し、本実施例では、CPUは、ボリューム設定用の音声制御レジスタRGiを、直接アクセスすることなく、シンプルアクセスコントローラSACを機能させてボリューム設定を終えている。具体的に説明すると、設定レベルは、ゼロレベルを含めて8段階であるので、これに対応して、音声メモリ43に、8種類のSACデータ(SACV0〜SACV7)を用意しており、CPUは、必要なタイミングでSAC制御用の音声制御レジスタRGj1に、SAC番号を設定することで、全てのトータルボリュームTV0〜TV2の設定処理を終えている。
ところで、表1に示す通り、最高音量時には、中段スピーカに対して上段スピーカが高レベルであり(TV0>TV1)、また、下部スピーカが上段スピーカより高レベルに規定されている(TV2>TV0)。また、全段階において、TV0≧TV1、TV2≧TV0であるので、遊技者の耳との位置関係において、最適な音量バランスが維持される。
先に説明した通り、本実施例では、二次ボリュームV2,V3は、原則として、常に同一値に維持されるが、トータルボリュームTVが、各スピーカの配置位置に対応して最適設定されているので、上下左右のパン演出を含んだ全ての音声演出が、遊技者にとって最適な音量バランスとなる。
このような意義を有するトータルボリューム部TVを経過した音声信号(混合L0,混合R0,混合L1,混合R1,混合SUB0,混合SUB1)は、出力バッファBUFに格納され、デジタルIF部55に基づいて3チャンネルのシリアル信号SD0,SD1,SD2に変換される。先に説明した通り、シリアル信号SD0とSD1は、遊技機の上部と中部に配置された左右スピーカTR,TL,MR、MLを駆動するステレオ信号R,Lに関するPCMデータを特定するシリアル信号であり、シリアル信号SD2は、遊技機下部に配置された低音用スピーカを駆動するモノラル信号に関するPCMデータを特定するシリアル信号である。そして、これらのシリアル信号SD0,SD1,SD2は、ビットクロック信号BCOに同期して、チャンネル制御信号(ワードクロック信号)LROと共に出力される(図8)。
最後に、チャンネルミックス61(図8)の後段に位置するバーチャルサラウンド部VSと再ミックス部RMについて説明する。図11は、前方又は後方からインパルス音源FR,BRを放音した場合の、右耳及び左耳位置でのインパルス応答h(n)を示す図面である(図11(a1)及び図11(b1))。
例えば、図11(a)のように、右前方のインパルス音源FRから放音した場合には、左耳より先に右耳に音波が伝わり、且つ、右耳に伝わる音波の方が、左耳に伝わる音波より減衰が少ないので、右耳位置でのインパルス応答h(n)は、早期に高レベルに現れる(図11(a1)参照)。なお、破線で示す対称位置の左前方から放音した場合には、左右の耳位置でのインパルス応答が逆転する。
この関係は、図11(b)のように、右後方のインパルス音源BRから放音した場合も同様であり、右耳位置でのインパルス応答h(n)は、早期に高レベルとなる(図11(b1)参照)。なお、対称位置の左後方から放音した場合には、左右の耳位置でのインパルス応答が逆転する。そして、人間は、この左右の音量差と、到達時間差とに基づいて、音源BRが、後方右側に位置するか、後方左側に位置すると認識できると言われている。
ところで、計測機により測定したインパルス応答h(n)を、入力x(n)と畳み込み演算することで、出力y(n)を、y(n)=Σx(k)*h(n−k)と特定することができる。そして、前式をZ変換することで、Y(z)=H(z)*X(z)の関係式から、伝達関数H(z)を特定することができる。そして、Y(z)=H(z)*X(z)に対応するデジタルフィルタ(例えばFIRフィルタ)を構築すれば、左耳や右耳への音響効果を実現することができることになる。
図11(c)は、Y(z)=H(z)*X(z)の関係式を実現するFIRフィルタであり、FIRフィルタのフィルタ係数(h(0)・・・h(N−1)が、例えば、右後方から右耳への伝達関数RR(z)と、左耳への伝達関数RL(z)とで相違することで、左耳や右耳への出力Yが相違する。実施例のバーチャルサラウンド部VSは、このフィルタ係数を適宜に設定することで、左後方や右後方から放音された仮想音を生成している。
なお、図11(a2)及び、図11(b2)は、z=exp(j2πft)の関係から、左右の耳への伝達関数G(z)を周波数領域に変換したものであり、伝達関数の周波数特性を示している。要するに、正しく特定された伝達関数H(z)の処理を施せば、入出力に図示の周波数特性が付与されることになる。
以下、図12に基づいて説明を続けると、先に説明した通り、図12に示す左後方位置からのインパルス音源SPLに対するインパル応答に基づいて、左右の耳位置における伝達関数LLとLRを特定することができる。同様に、右後方位置からのインパルス音源SPRに対するインパル応答に基づいて、左右の耳位置における伝達関数RLとRRを特定することができる。
したがって、(式1)に示すように、フレーズ再生チャンネルCHnで再生された左右の演出音GL,GRに、伝達関数LL,LR,RL,RRに対応するフィルタ処理を施せば(図11(c)参照)、後方からの左右耳用の仮想音SL,SRを生成でき、例えば、生成音SL,SRをイヤホンから聴く場合には、所定の距離感を発揮する仮想音を実現することができる。
しかし、遊技機の場合には、前方からのスピーカSPL,SPRからの放音しか実現できないので、仮想音SL,SRを、そのまま前方から放音すると、前方スピーカから左右の耳までの伝達関数F1〜F4に基づき、左右の耳に伝送されるのは(式2)の音声となる。
したがって、前方からの伝送で生じる影響を、予めキャンセルしておく必要があり、本実施例では、左右前方位置からのインパルス音源に対するインパルス応答に基づいて、4つの伝達関数F1,F2,F3,F4を特定し、適当なキャンセル演算を施すことで、伝達関数F1,F2,F3,F4の影響を排除している。
ここで、(式3)に示すように、キャンセル関数をA,B,C,Dとすると、キャンセル関数A〜Dによるキャンセル行列が、伝達関数F1〜F4による伝達行列の逆関数であれば良いことになる。そこで、本実施例では、(式4)からキャンセル関数A〜Dを特定し、予め仮想音SL,SRにキャンセル行列の処理(クロストークキャンセル処理)を施して左右の仮想音SL’,SR’を生成している。クロストークキャンセル処理を施して補正される仮想音SL’,SR’は、(式5)に示す通りである。
以上、実施例のバーチャルサラウンド部VSの原理的説明をしたので、続いて、図13に基づいて、更に具体的に説明する。図13(a)は、実施例のバーチャルサラウンド部VSが実現する仮想スピーカの仮想的な配置位置を示す図面である。 図示の通り、実施例では、遊技者の耳元左右の仮想スピーカLe,Reと、遊技者の背面側左右の仮想スピーカLs,Rsと、が仮想的に配置されている。特に限定されるものではないが、仮想スピーカLs,Rsは、遊技者からの背面仮想線に対して±60°の対称位置に配置され、遊技者との離間距離は、遊技ホールの騒音を考慮して、60cm以下とされる。なお、本明細書において、Le,Reは、耳元仮想スピーカと共に、耳元仮想スピーカ用の原音Le,Reを示している。同様に、Ls,Rsは、背面仮想スピーカLs,Rsと共に、背面仮想スピーカ用の原音Ls,Rsを示している。
何れにしても、各スピーカの配置位置は、あくまでも仮想的な配置であり、実際には、前方上側の左右スピーカTL,TRから(式1)及び(式5)のように変換した仮想音SL’,SR’を放音している。ここで、仮想音を放音する左右スピーカTL,TRの配置位置は、平均身長の遊技者の耳位置からの仰角が20〜30°程度であることが望ましい。
なお、仮想スピーカが二組あり、各々の仮想配置位置が異なることに対応して、(式1)の伝達関数LL,LR,RL,RRが、原理的には、二組用意されている。但し、耳元スピーカLe,Reと耳との離間距離がゼロであると割り切れば、耳元スピーカLe,Re用の伝達関数LL,LR,RL,RRは不要となる。
また、本実施例では、バーチャルサラウンド効果を実現する前方スピーカを、あえて上部スピーカTL,TRだけに限定しているので、キャンセル処理用の伝達関数F1〜F4は、耳元仮想スピーカLe,Reと、背面仮想スピーカLs,Rsとで共通化される。
図13(c)は、バーチャルサラウンド部VSの内部構成を示したものであり、耳元仮想スピーカLe,Re用の仮想音と、背面仮想スピーカLs,Rs用の仮想音を生成するデジタルフィルタが機能的に記載されている。図13(c)の上側は、背面仮想スピーカLs,Rs用の仮想音を生成するデジタルフィルタを示しており、原音(GL,GR)=(Ls,Rs)に対する(式1)の処理と、仮想音SL,SRに対する(式5)のキャンセル処理とが実現される。
また、図13(c)の下側は、耳元仮想スピーカLe,Re用の仮想音を生成するデジタルフィルタを示しており、原音(GL,GR)=(Le,Re)に対する(式1)の処理と、仮想音SL’,SR’に対する(式5)のキャンセル処理とが実現される。先に説明した通り、耳元スピーカLe,Reについては、耳との距離がゼロであると割り切る場合には、伝達関数LL’,LR’,RL’,RR’による演算が不要となる。
ところで、図13(b)は、図13(c)のバーチャルサラウンド部VSの周囲の回路構成を図示したものである。図示の通り、本実施例では、フレーズ再生チャンネルCH0〜31の何れかに、サランド動作を指定すると(サラウンド指定)、そのフレーズ再生チャンネルCHnは、図8に示す通常構成から、図13(b)の回路構成に切り替わるようになっている。
図13(b)に示す通り、サラウンド指定されたフレーズ再生チャンネルCHxでは、デコーダの出力は、一次ボリュームV1と二次ボリュームV2を経由した後、上下パンポット部に伝送される。そして、実スピーカTL,TRと、背面仮想スピーカLs,Rsとの音量比がパンポット処理された後、実スピーカ及び背面仮想スピーカについて、左右の音量比が、各々、パンポット処理されて4種類の音声信号となる。具体的には、実スピーカTL,TRに伝送される前方信号Lf,Rfと、バーチャルサラウンド部VSに供給される後方信号Ls,Rsと、が生成される。ここで、後方信号Ls,Rsは、背面仮想スピーカ用の原音Ls,Rsに他ならない。
また、二次ボリュームV2の出力は、耳元ゲイン部EVで音量ボリューム設定された後、耳元仮想スピーカLe,Reについて、左右音量比がパンポット処理されて、耳元スピーカ用の原音Le,Reが生成される。なお、耳元ゲイン部EVを使用しない場合には、破線で示す通りの回路構成となって、前後パンポット部の後方出力が、耳元ゲイン部EVの出力となる。
このようにして生成された耳元スピーカ用の原音Le,Reは、背面仮想スピーカ用の原音Ls,Rsと共に、バーチャルサラウンド部VSにおいて、図13(c)に示されるデジタルフィルタ処理を受けることで、各々、音像が、耳元と遊技者背面に定位される(音像定位制御)。そして、バーチャルサラウンド部VSの出力Lv,Rvは、再ミックス部RMにおいて、各々、所定レベル(S3、S4)に設定され、別レベル(S1、S2)に設定された前方信号Lf,Rfと混合されて、混合L0信号と混合R0信号として、エフェクト部54(図6、図8)に供給される。
ところで、図13(b)の構成において、各パンポット部のパンポット比は、先に説明した場合と同じである。すなわち、+3dB:−∞dBから−∞dB:+3dBまで設定できるだけでなく、+0dB:−∞dB(一方だけ放音)や、−∞dB:+0dB(他方だけ放音)、−∞dB:−∞dB(双方が消音状態)を設定することもできる。したがって、本実施例では、4種類の原音Ls,Rs,Le,Reに対して、各々、0dB又は−∞dBに設定をするようにしている。そして、各パンポット比を適宜に組み合わせることで、24=16通りの仮想音についての音声演出が可能となる。
典型例を説明すると、実スピーカTL,TRに伝送される前方信号Lf,Rfを消音レベル(−∞dB:−∞dB)にした状態で、背面仮想スピーカ用の原音Ls,Rsを同一レベル(0dB:0dB)にする一方、耳元仮想スピーカ用の原音Ls,Rsを消音レベル(−∞dB:−∞dB)にすれば、遊技者の後方だけから演出音が聴こえることになり、遊技者に極めて強いインパクトを与えることになる。
逆に、背面仮想スピーカ用の原音Ls,Rsを消音レベル(−∞dB:−∞dB)にして、耳元仮想スピーカ用の原音Ls,Rsを同一レベル(0dB:0dB)にすれば、遊技者の耳元だけから演出音が聴こえることになり、この場合も、遊技者に極めて強いインパクトを与えることができる。なお、この場合には、サラウンド指定されたフレーズ再生チャンネルCHxを除く他のフレーズ再生チャンネルCHnの一次ボリュームV1を最小設定(マスク処理)することで、仮想音の効果を高めることができる。この場合、更に、フレーズ再生チャンネルCHxの二次ボリュームV3を最小設定しても良い。
また、背面左側だけの放音、背面右側だけの放音、耳元左側だけの放音、耳元右側だけの放音、左スピーカTLだけの放音、右スピーカTRだけの放音、も可能であり、音声演出のバリエーションを大幅に増やすことができる。なお、これの動作の実現するためのパンポット設定は、非常に煩雑であるが、本実施例ではシンプルアクセスコントローラSACや、シーケンサSQを機能させるので、パンポット設定の処理が極めて簡易化される。なお、シーケンサSQを使用することで、異なる継続時間が適宜に設定された経時的なパンポット演出を、CPUが一気に設定できることは先に説明した通りである。
以上、高度な音声演出を簡易に実現する回路構成を詳細に説明したので、続いて、音声演出動作のうち、本実施例に特徴的な部分を中心に演出制御部22の動作を説明する。図14は、演出制御部22の動作内容の特徴部分を示すフローチャートである。演出制御部22の動作は、演出制御CPU40がリセットされた後、無限ループ状に実行されるメイン処理(図14(a))と、1mS毎に起動されるタイマ割込み処理(図14(b))と、主制御部21が送信する制御コマンドを受信する受信割込み処理(不図示)と、音声プロセッサ42から受ける割込み信号で起動される再生完了割込み処理(図14(c))と、を含んで実現される。
まず、図14(b)に示すタイマ割込み処理の要部を説明すると、タイマ割込み処理では、割込みカウンタをインクリメント(+1)すると共に(ST20)、送信すべき演出コマンドCMD’が準備されている場合には、その演出コマンドCMD’を画像制御部23に送信する(ST21)。そして、その他の処理を実行して割込み処理を終える(ST22)。その他の処理としては、演出モータを使用したモータ演出や、LEDランプを点滅させるランプ演出を進行させる処理が含まれている。
続いて、図14(a)に示すメイン処理を説明すると、CPUリセット後、演出制御CPUは、最初に、RAMワーク領域や、ワンチップマイコン40及び音声プロセッサ42の内部回路について適宜な初期設定動作を実行する(ST10)。先に説明した通り、音声プロセッサ42の初期設定動作は、SAC制御用の音声制御レジスタRGj1に、所定のSAC番号を設定することで完了するので、演出制御CPUの制御負担が大幅に緩和される。
次に、タイマ割込み処理で1ms毎に更新される割込みカウンタが16に達するのを待ち(ST11)、割込みカウンタが16に達すると、その割込みカウンタをゼロクリアした上で(ST12)、ステップST12〜ST19のループ処理を実行する。
したがって、ステップST12〜ST19のループ処理は16mS毎に繰り返し実行されることになる。ループ処理では、前回のスイッチ入力処理(ST15)で取得されたスイッチ信号や、受信割込み処理で取得した制御コマンド(エラーコマンド)に基づいてエラー処理が実行される(ST13)。このエラー処理には、エラーシナリオに基づいて実行されるエラー報知処理が含まれており、検出された異常事態に対応するエラーシナリオが、先ず、特定される。
次に、非遊技状態が所定時間継続しているか否かが判定され、遊技動作が認められない場合には、所定のデモシナリオに基づいてデモ処理が実行される(ST14)。続いて、係員が操作した設定スイッチSETや、遊技者が操作するチャンスボタン11の押圧操作を判定するスイッチ入力処理が実行される(ST15)。そして、このタイミングがボタンチャンス状態であれば、ボタンチャンス遊技のチャンスシナリオが特定され、そのシナリオに基づいてチャンス遊技が開始される。
次に、受信割込み処理で取得した制御コマンドCMDを解析するコマンド解析処理が実行される(ST16)。そして、所定の制御コマンド(変動パターンコマンド)を受けた場合には、具体的な演出内容を決定するための演出抽選を実行し、決定結果に対応して特定される演出シナリオに基づいて一連の変動演出が開始される(ST16)。
一連の変動演出は、表示装置DSを使用した画像演出と、ランプを点滅させるランプ演出と、スピーカを使用した音声演出と、が連動して同期的に実行され、必要に応じて役物演出が付加される。そのため、これらの一連の変動動作を特定する演出シナリオには、各種の演出の具体的内容が、その実行開始時間や実行継続時間と共に規定されている。なお、所定のシナリオに基づいて、画像演出、ランプ演出、及び音声演出が同期的に実行されることは、前記したエラーシナリオ、デモシナリオ、チャンスシナリオについても同様である。
そして、本実施例では、演出シナリオ、エラーシナリオ、デモシナリオ、チャンスシナリオに関し、一連の変動演出を特定する一又は複数のメインシナリオテーブルMjが用意されており、メインシナリオテーブルMjには、各々、その演出内容を特定するシナリオ情報(サブシナリオ番号)と、その演出の実行継続時間が記載されている。なお、便宜上、図15(b)のメインシナリオテーブルMjには、ランプ演出やモータ演出に関する記載が省略されていることは先に説明した通りである。
何れにしても、エラー報知、デモ演出、ボタン演出、変動演出が実行される場合には、その内容を、時間の経過と共に進行させる必要があるので、次に、そのためのシナリオ更新処理が実行される(ST17)。シナリオ更新処理は、16ms毎に実行されるので、必要な切換タイミングに達すると、次に実行すべき演出内容を特定するための処理を実行する。具体的には、実行中のシナリオについて、メインシナリオテーブルMjやサブシナリオテーブルSkの参照位置を更新することになる。
この点を、音声演出に関して説明すると、音声演出は、音声プロセッサ42が、演出制御CPU40から受ける音声コマンドSNDに基づいて実行される。すなわち、音声演出は、音声プロセッサ42が、音声コマンドSNDで特定される所定の単位演出を、所定の音量を再現することで実行される。したがって、音声演出の切換タイミングに達すると、演出制御CPU40は、新たな単位演出と、その再生音量を特定する音声コマンドを音声プロセッサに送信することになり、その一連の処理がシナリオ更新処理に他ならない(ST17)。
以上のような内容のシナリオ更新処理が終われば、次に、フェード処理が実行される(ST18)。ここで、フェード処理とは、実行中の音声演出に関し、その音量を変化させる音量変更処理を意味する。典型的には、重複して再生されるBGM音や演出音(予告音)に関して、互いの音量調整が実行される。例えば、(1)所定の予告音を再生するために、再生中のBGM音の音量を抑制する、(2)再生中の予告音に重ねて重要度(信頼度)の高い別の予告音を再生するため、再生中の予告音の音量を抑制する、(3)エラー報知のために、BGM音や演出音の音量を抑制する、などの動作が該当する。
なお、音量調整の態様には、一気に目標音量に変更する瞬時動作だけでなく、段階的の音量を変更するフェードイン動作やフェードアウト動作も含まれる。何れの場合も、フレーズ再生チャンネルCHnと、その再生チャンネルCHnにおける再生音量を特定する音声コマンドSNDを、演出制御CPU40が、音声プロセッサ42の所定の音声制御レジスタ51(RGi)に書込むことで実行される。
再生音量の特定は、一次ボリューム値V1又は二次ボリューム値Vsで特定されるが、BGM音や予告音SE1,SE2の再生音量は、瞬時動作及びフェード動作とも、二次ボリュームVs(V2,V3)の設定値で特定され、エラー報知音の再生音量は、一次ボリュームV1と二次ボリュームVsに対するボリューム設定値で特定される。ボリューム設定値は、適宜に設定されるが、エラー報知時には、フレーズ再生チャンネルCH29の一次ボリュームV1と二次ボリュームVs(V2,V3)を最大値に設定する一方、他のフレーズ再生チャンネルCH0〜28,CH30〜31の一次ボリュームV1を最小値に設定している。なお、これらの動作は、シンプルアクセスコントローラSACや、シーケンサSQによって実行されることは先に説明した通りである。
以上のような内容のフェード処理(ST18)が終われば、他の処理を実行した上でステップST11の処理に移行する。なお、他の処理には、シリアルポートSIからシリアル送信されるランプ駆動データSDATA0〜SDATA2の更新処理や、演出抽選用の乱数値の更新処理などが含まれる。
以上説明した通り、本実施例の演出動作は、エラーシナリオの登録(ST13)、デモシナリオの登録(ST14)、チャンスボタンシナリオの登録(ST15)、演出シナリオのシナリオ登録(ST16)などの登録処理でシナリオテーブルを特定すると共に、初期データを設定することから開始される。後述するように、この登録動作は、空き状態の進行管理チャンネルMCHmに、メインシナリオ番号と、待機時間を書込む処理である。そして、その後は、16mS毎に、演出制御CPU40が、各シナリオテーブルを参照し(ST17)、更新タイミングに達すると、シナリオテーブルの参照位置を推移させて演出動作を進行させることになる。
ここで、演出シナリオテーブルは、メインシナリオテーブルMj(図15(b))と、メインシナリオテーブルMjで特定されるサブシナリオテーブルSk(図15(c))と、に大別されるが、一連の変動演出は、その演出途中で複数のメインシナリオが並走状態となるのが一般的であり、その結果、演出制御CPU40は、複数のメインシナリオテーブルMj〜Mxと、これらに対応する複数のサブシナリオテーブルSk〜Syに基づいて、音声演出を多重的に進行させることになる。なお、本実施例では、シナリオ番号とシナリオテーブルが一対一に対応しているので、以下の説明では、メインシナリオテーブルMjを、メインシナリオ番号mcNoやメインシナリオと同一視し、サブシナリオテーブルSkを、サブシナリオ番号scNoやサブシナリオと同一視することがある。
以上の概略説明を踏まえて、演出シナリオ(ST16参照)を実効化する音声演出について更に詳細に説明する。先に説明した通り、本実施例では、音声プロセッサ42のフレーズ再生チャンネルCH0〜CH31の空きチャンネルCHnを適切に選択するための選択動作と、複数のメインシナリオテーブルMj〜Mx、及び、複数のサブシナリオテーブルSk〜Syに対する適切な参照動作とが必要となる。そこで、これらの動作を円滑化するため、本実施例では、図14(d)に示すような、シナリオ進行テーブルINFO_TBLと、図14(e)に示す使用CH管理テーブルPlayNow_TBL とを設けている。なお、図14(e)には、通常遊技中におけるフレーズ再生チャンネルCH0〜CH29の使用区分(SE,PAN,VS)も合わせて記載している。図10に関して説明した通り、本実施例において、各フレーズ再生チャンネルCH0〜CH29の使用区分は可変であり、確変中や大当り中では、図示の使用区分とは相違する。
図14(d)に示す通り、シナリオ進行テーブルINFO_TBLは、実行中のメインシナリオ番号Mjを特定するための進行管理チャンネルMCHmに、メインシナリオ番号Mjで特定される演出シナリオを進行させるための変数値を、書換え可能に構成された2次元配列となっている。特に限定されるものではないが、進行管理チャンネルMCHmは64チャンネル(m=0〜63)であり、演出シナリオを進行させるための変数値には、(1)メインシナリオ番号mcNo、(2)シナリオタイマscTm、(3)メインシナリオ実行ラインmcIx、(4)サブシナリオ実行ラインscIx、及び、(5)待機時間delay 、が含まれている。
ここで、(1)メインシナリオ番号mcNoは、メインシナリオテーブルMjを特定する番号情報、(2)シナリオタイマscTmは、メインシナリオ番号mcNoで特定される演出シナリオの進行を管理する時間情報、(3)メインシナリオ実行ラインmcIxは、メインシナリオテーブルMjの参照行を特定するライン情報、(4)サブシナリオ実行ラインscIxは、サブシナリオテーブルSkの参照行を特定するライン情報、(5)待機時間delay は、進行管理チャンネルMCHmに、メインシナリオ番号mcNoが書込まれてから、そのメインシナリオ番号mcNoの演出シナリオの実行を開始するまでの遅延時間であり、演出開始タイミングを特定することになる。なお、シナリオタイマscTmや遅延時間delay は、16mSを一単位とした時間情報である。
例えば、図14(d)に例示する進行管理チャンネルMCH0の登録情報は、進行管理チャンネルMCH0への情報登録後、60*16mS後に、メインシナリオM10が開始されることを意味する。また、進行管理チャンネルMCH1の登録情報によれば、進行管理チャンネルMCH1への情報登録後、直ちにメインシナリオM20が開始されることになる。そして、ステップST13,ST14,ST15,ST16の処理で実行されるシナリオ登録処理とは、空き状態の進行管理チャンネルMCHmの何れかに、メインシナリオ番号mcNoと、待機時間delay を書込むことを意味する。また、このシナリオ登録処理では、シナリオタイマscTm、メインシナリオ実行ラインmcIx、及びサブシナリオ実行ラインscIxに初期値を書込むが、これらの値は、シナリオ更新処理(ST17)で適宜に更新される。
図14(e)に示す通り、使用CH管理テーブルPlayNow_TBL は、音声プロセッサ42のフレーズ再生チャンネルCH0〜CH31の使用状態を管理する管理テーブルであり、この実施例では、フレーズ再生チャンネルCH0〜CH29について、「再生中」「停止中」「一時停止中」の何れの状態であるかを記憶している。これらの情報は、音声プロセッサ42の所定の音声制御レジスタ51(RGi)から、ステイタスフラグ値を読み出すことで把握できるが、本実施例では、「再生中」と「一時停止中」については、演出制御CPU40のプログラム制御に基づいて設定している。そのため、本実施例では、再生開始や一時停止の音声コマンドSNDを、音声プロセッサ42に発行してから、音声プロセッサ42が実際に反応するまでの時間遅れが問題となることがない。
この点は、シナリオ進行テーブルINFO_TBLの進行管理チャンネルMCHmを64チャンネル設け(m=0〜63)、各進行管理チャンネルMCHmにおける解析処理で必要となる音声コマンドSNDを連続して送信する本実施例では特に重要である。すなわち、音声コマンドSNDの送信に先行して、音声プロセッサ42をアクセスして、ステイタスフラグからフレーズ再生チャンネルCH0〜CH29の空き状況を調べたのでは、直前に発行した音声コマンドSNDが指定するフレーズ再生チャンネルCHnは、依然として、「停止中」を維持している場合が多く、そのため、直前に指定したフレーズ再生チャンネルCHnを重複して指定する可能性があり、これでは、先の単位演出を消滅させることになる。
一方、使用CH管理テーブルPlayNow_TBL における「停止中」の情報については、図14(c)に示す再生完了割込み処理に基づいて更新している。すなわち、演出制御CPU40は、音声プロセッサ42から割込み信号を受けると、音声プロセッサ42の所定の音声制御レジスタRGiをアクセスして、再生終了したフレーズ再生チャンネルCHnを特定する(ST25)。次に、再生終了したフレーズ再生チャンネルCHnについて、使用CH管理テーブルPlayNow_TBL のデータを、「再生中」から「停止中」に書き換える(ST26)。
そのため、本実施例によれば、その時々に使用可能なフレーズ再生チャンネルCHnの最新状況を、リアルタイムに把握することができ、最適なフレーズ再生制御を実現することができる。すなわち、空きチャンネルCHnの把握が適切でないと、例えば、通常遊技中、チャンネル数(=6)の限られた上位チャンネルSE1(CH2〜CH7)において、同時実行すべき単位演出の実行を回避せざるを得ない状況が発生するが(図10参照)、本実施例では、上位チャンネルSE1を有効活用して、最高6個の単位演出を適切に同時実行することができる。なお、先に説明した通り、本実施例で、単位演出とは、一のフレーズ番号NUMで特定されるひと纏まりの演出音やBGM音である。
続いて、図15に基づいてシナリオ更新処理(ST17)について更に説明する。このシナリオ更新処理では、シナリオ進行テーブルINFO_TBLの全ての進行管理チャンネルMCHm(m=0〜63)について、ステップST31〜ST43の処理を実行して、必要な音声コマンドSNDを、順次、音声プロセッサ42に送信している。このような動作を実現するため、シナリオ更新処理では、先ず、シナリオ進行テーブルINFO_TBLにおける、特定の進行管理チャンネルMCHmに、有意なメインシナリオ番号mcNoが記載されている否かを先ず判定する(ST31)。そして、m番目の進行管理チャンネルMCHmに、有意なメインシナリオ番号mcNoが記載されていない場合には、次のm+1番目の進行管理チャンネルMCHm+1について判定するべくステップST44にジャンプする。
一方、m番目の進行管理チャンネルMCHmに、有意なメインシナリオ番号mcNoが記載されている場合には、その進行管理チャンネルMCHmに記載されている待機時間delay の値を判定する(ST32)。先に説明した通り、待機時間delay の値は、進行管理チャンネルMCHmに、メインシナリオ番号mcNoが書込まれてから、そのメインシナリオ番号mcNoの演出シナリオの実行を開始するまでの遅延時間を意味する。そこで、待機時間delay ≠0の場合は、待機時間delay をデクリメント(−1)して処理を終える(ST33)。
逆に、待機時間delay =0であれば、その進行管理チャンネルMCHmに記載されているメインシナリオ番号mcNoに対応するメインシナリオテーブルMjにおいて、メインシナリオ実行ラインmcIxが特定する参照行を参照する(ST34)。図15(b)に例示する通り、メインシナリオテーブルMjには、そのメインシナリオMjを実現する一又は複数のサブシナリオ番号scNoと、各サブシナリオの実行継続時間が記載されている。そして、メインシナリオ実行ラインmcIxが参照行を特定し、16mS毎に更新されるシナリオタイマscTmの進行によって実行継続時間が管理されている。
例えば、メインシナリオ番号M01のメインシナリオは、サブシナリオ番号S02のサブシナリオを1500*16mS実行した後、サブシナリオ番号S20のサブシナリオを500*16mS実行し、最後に、サブシナリオ番号S21のサブシナリオを2000*16mS実行して処理を終える。なお、D_SEEND はデータ終了を意味する。なお、終了データに代えて、D_SELOP+0 などのループ指定が記載されている場合があり、この場合には、+以降で示すジャンプ行(図示例では先頭行が0である)にジャンプしてジャンプ行以下の処理を繰り返すことになる。
また、メインシナリオ番号M02のメインシナリオについても同様であり、サブシナリオ番号S01のサブシナリオを3000*16mS実行した後、サブシナリオ番号S25のサブシナリオを1000*16mS実行し、最後に、サブシナリオ番号S26のサブシナリオを1000*16mS実行して処理を終える。
メインシナリオテーブルMjによって特定されるサブシナリオテーブルSkは、図15(c)や、図18(b)及び図18(c)に例示する通りであり、サブシナリオ実行ラインscIxで管理される複数行に、シナリオタイマscTmで管理される演出開始タイミングを規定して、具体的な音声演出の内容が特定されている。すなわち、サブシナリオテーブルSkの各行には、(1)単位演出を特定するフレーズ番号NUM、(2)その再生態様を特定する再生態様情報、(3)音声演出の途中で生じるフェード偏移や瞬時偏移などのボリューム遷移態様(音コントロール情報)、の全部又は一部が規定されている。なお、再生態様は、再生音量(二次ボリュームVs)、ループ要求、ステレオ要求などで特定される。
例えば、図18(b)に示すサブシナリオテーブルSk(=001)の1行目及び2行目や、図18(c)に示すサブシナリオテーブルSk(=002)の2行目のタイミングのように、新規の単位演出が開始される場合には、(1)フレーズ番号NUM、及び(2)再生態様情報が必須的に記憶されている。そして、その開始タイミングに合わせて、他の単位演出の音量を変化させる場合には、更に、(3)音コントロール情報が記憶されている。
一方、図18(b)に示すサブシナリオテーブルSk(=001)の3行目や、図18(c)に示すサブシナリオテーブルSk(=002)の2行目や3行目のタイミングでは、新規の単位演出が開始されることはなく、それまでに実行されている単位演出についての音量が変化する。
図15(c)に戻って説明を続けると、本実施例のサブシナリオテーブルSkは、(1)単位演出を特定するフレーズ番号NUMと、(2)単位演出の再生態様情報については、単位演出の種別に対応して、区分して記憶されている。ここで、単位演出の種別とは、その単位種別が、BGM音か、演出音SE1か、演出音SE2か、高度演出音PANか、仮想音VSか、エラー報知音か、操作有効音か、入賞音かの8種別であり、この種別数(=8)に対応して、サブシナリオテーブルSkは、8区画されており、これに音コントロール情報の区画を加え、全体として9区画されている(図18(b)、図18(c)参照)。なお、先に説明した通り、BGM音、エラー報知音、操作有効音、及び、入賞音は、これを再生するために使用する音声プロセッサ42のフレーズ再生チャンネルCHnが予め固定的に規定されている。一方、上位の演出音SE1、下位の演出音SE2、高度演出音PAN、及び、仮想音VSは、空き状態のフレーズ再生チャンネルCHnから任意に選択される。
図15(b)と図15(c)に関して、更に具体的に確認すると、メインシナリオ番号M02で特定される演出シナリオでは、最初、サブシナリオ番号S01のサブシナリオが選択される。そして、サブシナリオ番号S01のサブシナリオでは、直ちに1行目の音声演出を開始し、シナリオタイマscTm=1000のタイミングで2行目の音声演出に移行し、更に、シナリオタイマscTm=1500のタイミングで、3行目の音声演出を開始する。そして、3行目の情報で規定される音声演出が終われば、サブシナリオS01の処理を終えることになる。以上の説明において、音声演出の開始とは、主として、サブシナリオテーブルSkの該当行に記載された単位演出が新規に開始されることを意味するが、図18(b)や図18(c)から確認される通り、実行中の単位演出のボリューム遷移動作の開始も含まれている。
何れにしても、サブシナリオS01の3行目の音声演出を開始した後は、図15(b)のメインシナリオテーブルM02に戻り、シナリオタイマscTm=3000のタイミングで、サブシナリオ番号S25のサブシナリオが選択され、実行継続時間1000*16msを要して、サブシナリオ番号S25の音声演出を実行することになる。なお、サブシナリオS01の3行目で特定される音声演出は、その単位演出の再生時間の満了や、ボリューム遷移動作の終了によって自動的に終了する。
図15(a)のステップST34以下の処理は、以上の動作を実現するものである。先に説明した通り、ステップST34の処理では、所定の進行管理チャンネルMCHmに記載されているメインシナリオ番号mcNoに対応するメインシナリオテーブルMj(図15(b)参照)において、メインシナリオ実行ラインmcIxが特定する参照行を参照するので、次に、その参照行のデータを判定することになる(ST35)。
そして、そのデータが最終データD_SEEND であれば、進行管理チャンネルMCHmに記載されているメインシナリオの実行が終了したとになるので、進行管理チャンネルMCHm(図14(b)参照)に記載されているメインシナリオ番号mcNoを削除してシナリオ更新処理を終える(ST36)。そのため、それまで使用されていた進行管理チャンネルMCHmは、その後に開始される他のメインシナリオのために解放されたことになり、新規のシナリオ登録時の初期データの設定処理によって、シナリオタイマscTm、サブシナリオ実行ラインscIx、及び、メインシナリオ実行ラインmcIxがクリアされる。
本実施例は、以上のように構成されているので、例えば、エラー報知音や操作有効音(図20〜図21)のように、単位演出を無現ループ状に繰り返す音声演出の場合には、そのメインシナリオの実行継続時間は、極めて短く設定されている。そのため、この種の単位演出のメインシナリオ番号mcNoは、進行管理チャンネルMCHm(図14(b)参照)から素早く削除される(ST36参照)。そして、無現ループ状に繰り返される音声演出は、その後、同じフレーズ再生チャンネルCH27,CH29で、他の単位演出が開始されること、又は、無音化処理が実行されること、などに対応して終了する。
一方、参照行のデータが最終データD_SEEND でなく、継続時間情報であれば、その参照行に記載されているサブシナリオ番号scNoと、シナリオタイマscTmと、サブシナリオ実行ラインscIxに基づいて、サブシナリオSkを更新し、必要な音声コマンドSNDを音声プロセッサ42に送信する(ST37)。なお、その詳細は、図18に基づいて後述する。
次に、シナリオタイマscTmを+1して更新し(ST38)、更新後のシナリオタイマscTmの値が、メインシナリオテーブルMjに記載されている継続時間以上であるか否かを判定する(ST39)。そして、シナリオタイマscTm≧継続時間となる場合には、メインシナリオ実行ラインmcIxを+1して更新する(ST40)。
そして、更新後のメインシナリオ実行ラインmcIxが指示する情報を判定し(ST41)、その情報が、「D_SELOP +ジャンプ先」で示すループ指定である場合には、メインシナリオ実行ラインmcIxをジャンプ先の行に変更する(ST42)。何れにしても、シナリオタイマscTm≧継続時間となったことは、サブシナリオ番号で特定される一のサブシナリオSk(メインシナリオMjの一単位)が終了したことを意味する。そこで、その進行管理チャンネルMCHmにおいて、シナリオタイマscTmと、サブシナリオ実行ラインscIxと、待機時間delay をクリアする(ST43)。なお、メインシナリオ実行ラインmcIxと、シナリオタイマscTmの値は、次のサブシナリオの実行のために維持される。
以上説明したステップST31〜ST43の処理は、m番目の進行管理チャンネルMCHm(m=0〜63)についての処理であるから、次に、m+1番目の進行管理チャンネルMCHm+1について同様の処理をするべく、処理をステップST31に移行させる(ST43)。そして、全64チャンネルについての処理が終われば、シナリオ更新処理(ST17)を終える。
続いて、ステップST37のサブシナリオ更新処理について図16(a)に基づいて説明する。先に説明した通り、サブシナリオ更新処理は、シナリオ進行テーブルINFO_TBLに登録されているメインシナリオ番号mcNoに対応するメインシナリオテーブルMjにおいて、メインシナリオ実行ラインmcIxで特定されるサブシナリオ番号scNoを特定した状態で開始される。そこで、サブシナリオ番号scNoに対応するサブシナリオテーブルSkにおいて、サブシナリオ実行ラインscIx(図14(d)参照)で特定されるアドレス値を取得する(ST50)。
ここで、そのアドレスの記憶データが終了データD_SEEND であれば、そのまま処理を終える。一方、終了データD_SEEND ではなく、開始タイミングを規定する開始時間であれば、その値を、シナリオタイマscTmと比較する(ST52)。そして、シナリオタイマscTm≧開始時間であれば、音声プロセッサ42のフレーズ再生チャンネルCHnを指定して、適宜な音声コマンドSNDを送信する音声コマンド出力処理を実行する(ST53)。なお、図15(c)に示す通り、サブシナリオテーブルSkには、単位演出を特定するフレーズ番号NUMや、その単位演出の再生ボリューム値(二次ボリュームVs)などが記憶されている。
音声コマンド出力処理(ST53)が終われば、シナリオ進行テーブルINFO_TBL(図14(d))に記憶されているサブシナリオ実行ラインscIxを+1して更新して、ステップST51の処理に戻る。したがって、図18(c)のサブシナリオ002の3行目や4行目のように、開始タイミングが一致する複数の音コントロール情報についても同タイミングで、この音コントロール情報を実効化することができる。
ステップST53で実行される音声コマンド出力処理は、図16(b)に示す通りであり、(1)新規に再生を開始すべき単位演出を特定する音声コマンドSND、又は、(2)実行中の単位演出の音声を変更するための音声コマンドSNDを送信することになる。そして、このような音声コマンド出力処理(ST53)が正常に終われば、サブシナリオ実行ラインscIxを更新してサブシナリオ更新処理を終える(ST54)。なお、空きチャンネルが検出されないで、無効データNULLが戻される場合には、サブシナリオ実行ラインscIxは元の値のままである。
続いて、図16(b)に示す音声コマンド出力処理(ST53)について説明する。音声コマンド出力処理では、先ず、サブシナリオテーブルSkで特定されるシナリオ再生チャンネルCHnが、固定チャンネルか否かが判定される(ST55)。先に説明した通り、BGM音、エラー報知音、操作有効音、及び入賞音は、予め規定されたフレーズ再生チャンネルCHnを使用するので、これら何れかの音声に関する音声コマンド出力処理であれば、音声コマンドSNDで指定すべきフレーズ再生チャンネルCHnを、各々、CH0+CH1,CH28,CH27,CH28と決定する(ST56)。
次に、決定されたフレーズ再生チャンネルCHnにおいて、サブシナリオテーブルSkに記載されている所定のフレーズ番号NUMの単位演出を、所定の二次ボリュームVs値で開始するべく、一又は複数の音声コマンドSNDを、音声プロセッサ42に送信する(ST57)。なお、音声コマンドSNDの送信は、原理的には、図16(c)に示す通りであり、音声プロセッサ42のフレーズ再生チャンネルCHnの動作を管理する所定の音声制御レジスタRGiに対して(1)フレーズ番号NUM、(2)二次ボリュームV2,V3、(3)左右パンポット、(4)上下パンポットなどの設定値を特定した一又は複数の音声コマンドSNDを送信する。なお、一次ボリュームV1やトータルボリュームTVの設定値が送信されることもある。
各設定値は、フレーズ再生チャンネルCHn毎に設定する必要があるので、音声コマンドSNDのデータ構造が複雑化し、且つ、音声コマンドSNDの送信回数が増える。そこで、このような場合は、図16(d)のように、シンプルアクセスコントローラSACや、シーケンサSQを経由して必要な設定処理を終える。このような場合は、SAC制御用の音声制御レジスタRGj1に、SAC番号と、SAC(Simple Access Controller)の動作を規定する付属データを設定する音声コマンドSNDを送信するか、或いは、シーケンサ制御用レジスタRGj2に、シーケンスコード番号と、シーケンサSQの動作を規定する付属データを設定する音声コマンドSNDを送信することなる。
一方、ステップST55の処理で、サブシナリオテーブルSkで特定されるシナリオ再生チャンネルCHnが、固定チャンネルではないと判定されると、ステップST56〜ST57の処理がスキップされ、サブシナリオテーブルSkの該当行に、演出音SE1/SE2/PAN/VSに関するデータが記載されているか否かを判定する(ST58)。なお、例えば、図18(b)のサブシナリオSk(=001)の3行目のように、演出音SE1/SE2/PAN/VSに関するデータが存在せず、音コントロールに関するデータだけが記載されている場合もある。
そして、サブシナリオテーブルSkの該当行に、演出音SE1/SE2/PAN/VSに関するデータが記載されている場合には、演出音SE1か演出音SE2か、高度演出音PANか、仮想音VSについて、これを再生するフレーズ再生チャンネルCHnを検出する(ST59)。この再生CH検出処理(ST59)は、図11(a)に示す通りであり、図14(e)に示す使用CH管理テーブルPlayNow_TBL を順番に検索して、空き状態のフレーズ再生チャンネルCHnを検出する。なお、再生CH検出処理(ST59)の戻り値として、空き状態のフレーズ再生チャンネルCHnが戻され、空きチャンネルが無い場合には無効データNULLが戻される。
図17(a)に示す通り、再生CH検出処理(ST59)では、演出音SE1の再生か、演出音SE2の再生か、高度演出音PANの再生か、仮想音VSの再生かで、検索範囲が異なる。すなわち、本実施例では、フレーズ再生チャンネルCH0〜CH29の使用区分(SE,PAN,VS)が可変であり、遊技状態に応じて、使用可能なフレーズ再生チャンネルが相違し、遊技状態に応じて初期値CHと最終CHが規定される。
例えば、遊技状態が普通遊技中であれば、演出音SE1を再生する場合は、設定CH=CH2のように初期設定され、演出音SE2の場合は、設定CH=CH8のように初期設定される(ST70)。そして、各々、シナリオ再生チャンネルCH2〜CH7か、シナリオ再生チャンネルCH8〜CH21の範囲内で、使用CH管理テーブルPlayNow_TBL の中で、空きチャンネルを探す。
なお、再生CH検出処理(ST59)では、再生すべき演出音SE1/SE2/PAN/VSがステレオ音の場合には、偶数チャンネルから始まる連続2チャンネル分を確保している(ST72〜ST77)。そして、検出された一又は二個の空きチャンネルについて、使用CH管理テーブルPlayNow_TBL の該当欄を「停止中」から「再生中」に書き換える(ST77)。
図14(c)に関して説明した通り、使用CH管理テーブルPlayNow_TBL は、音声プロセッサ42からの割込み処理で、各フレーズ再生チャンネルCHnが「停止中」か否かが常に更新されており、再生CH検出処理(ST59)では、最新状態の情報を参照することができ検出漏れがない。また、ステップST77のタイミングで、「停止中」のフレーズ再生チャンネルCHnが、「再生中」に書き換えられるので、その後も続く、別の進行管理チャンネルMCHm(m=0〜63)についてのサブシナリオ更新処理(再生CH検出処理)において、空きチャンネルを誤検出することがない。
図16(b)に戻って、音声コマンド出力処理(ST53)の説明を続けると、演出音SE1/SE2/PAN/VSについて、空きチャンネルCHnが検出されれば、そのフレーズ再生チャンネルCHnを使用して、新規の単位演出たる演出音SE1/SE2/PAN/VSの再生を開始させるべく、必要な音声コマンドSNDを音声プロセッサ42に送信する。図16(c)に示す通り、音声コマンドSNDは、音声プロセッサ42の音声制御レジスタRGiのレジスタ番号と設定値とを組み合わせた複数バイト長である。なお、シンプルアクセスコントローラSACや、シーケンサSQを活用する場合は、図16(d)の通りである。
演出音SE1/SE2/PAN/VSの再生についての設定値は、フレーズ番号NUMと、演出音SE1/SE2/PAN/VSの二次ボリュームVsとを必須値とし、必要に応じて、上下左右のパンポット設定値などが追加される。なお、本実施例では、音声プロセッサ42のフレーズ再生チャンネルCHnの動作状態、つまり、「停止中」「一時停止中」「再生中」の何れの状態かを、使用可能性のある全フレーズ再生チャンネルCHn(n=0〜29)について把握している(図14(e)参照)。
このようなステップST60が終われば、次に、サブシナリオテーブルSkの該当行に、音コントロールに関するデータが記載されているか否かを判定する。そして、音コントロールに関するデータが記載されている場合には、ボリューム遷移動作を実行するべく必要な音声コマンドを送信する音コントロール処理を実行する(ST62)。なお、ステップST62の音コントロール処理の動作内容は、図17(b)と図17(c)に示す通りであり、後述する。
また、図18(a)は、音コントロールに関するデータを例示したものであり、本実施例では、4バイト(Bit31-Bit0)構成の音コントロールデータとしている。先ず、最下位の3ビット(Bit2-Bit0 )は、ボリューム遷移動作の開始から終了までの遷移時間を1〜4の数値で示しており、各々、遷移時間0.5秒、1秒、1.5秒、2秒を意味している。次に、3バイト目の下位4ビット(Bit19-Bit16 )は、二次ボリュームVsの音量目標値を最小値(0x00)から最大値(0x80)まで4段階に指定している。なお、音コントロールデータにおいて、2バイト目と1バイトの上位で構成される13ビット(Bit15-Bit3)は、フレーズ番号NUM(000H〜1FFFH)を示している。なお、この実施例では、2つの二次ボリュームVsについて、V2=V3の状態で、ボリューム遷移動作を実行することは前記した通りである。
また、3バイト目の上位4ビット(Bit23-Bit20 )は、音量変更の対象となるフレーズ再生チャンネルCHnが、BGM音のCH0〜CH1か、演出音SE1用のフレーズ再生チャンネルか、演出音SE2用のフレーズ再生チャンネルか、高度演出音PAN用のフレーズ再生チャンネルか、仮想音VS用のフレーズ再生チャンネルか、全フレーズ再生チャンネル(CH2〜CH26)か、所定のフレーズ番号NUMの単位演出を再生しているフレーズ再生チャンネルCHnかを示している。先に説明した通り、演出音SE1/SE2/PAN/VSのフレーズ再生チャンネルCHnは可変であり、フレーズ番号NUMは、音コントロールデータのBit15〜Bit3の13ビットで特定される。
次に、音コントロールデータの4バイト目(Bit31-Bit24 )は、音量変更の制御種別を示しており、具体的には、二次ボリューム値Vsを遷移させるフェード動作か、2次ボリュー値を一気に遷移させる瞬時動作か、一次ボリューム値V1を幾らに設定するか、などの情報として使用されている。
この音コントロールデータに関し、図18(b)のサブシナリオテーブルSk(=001)を説明すると、開始時刻ゼロのタイミングで、BGM音(BG_T)について、二次ボリュームVsのボリューム目標値を0x20(V20 )とするフェード動作(SF)を、0.5秒(S05 )で実行することが規定されている。なお、SE1欄の登録データは、「フレーズ番号NUM=0001の単位演出を、二次ボリュームVs=0x80のレベルで、ステレオ再生すること」を指示しており、結局、開始時刻ゼロのタイミングでは、素早くBGM音を抑制しつつ、フレーズ番号NUM=0001の単位演出が、最高音量で開始されることになる(図18(d)参照)。
その後、フレーズ番号NUM=0002の単位演出が開始されるが、開始時刻5000*16mSのタイミングでは、BGM音(BG_T)について、二次ボリュームVsのボリューム目標値を0x80(V80 )とするフェード動作(SF)が2秒間(S20 )で実行される(図18(d)参照)。
一方、図18(c)のサブシナリオテーブルSk(=002)では、開始時刻ゼロのタイミングで、BGM音(BG_T)の一次ボリュームV1が0x00(SV00)に瞬時変化させると共に、フレーズ再生チャンネルCH2〜CH7(YK1_T )の一次ボリュームV1を、0x00(SV00)に瞬時変化させることが規定されている。なお、SE2欄の登録データは、「フレーズ番号NUM=0010の単位演出を、二次ボリュームVs=0x80のレベルで、ステレオ再生すること」を指示しており、結局、開始時刻ゼロのタイミングでは、演出音SE1とBGM音を素早く抑制して、フレーズ番号NUM=0010の単位演出が最高音量で開始されることになる(図18(e)参照)。
そして、その後、開始時刻5000*16mSのタイミングで、BGM音(BG_T)とフレーズ再生チャンネルCH2〜CH7(YK1_T )のについて、一次ボリュームV1が、0x80(V80 )に瞬時変更される(図18(e)参照)。なお、この実施例では一次ボリュームV1についてフェード動作を実行していないが、特に限定されるものではなく、一次ボリュームV1についてのフェード動作を設けるのも好適である。
何れにしても図18(d)に例示するようなフェード動作を実行するには、段階的に二次ボリュームの設定値Vs(V2=V3)を変化させた音声コマンドを、時間順次に送信する必要がある。そこで、本実施例では、図19(a)に示すフェード制御テーブルFDTBL と、図19(b)に示す更新周期テーブルと、図19(c)に示すボリューム変数VOLの管理テーブルとを設けている。なお、フェード制御テーブルFDTBL と更新周期テーブルは、ROMに固定的に記憶され、ボリューム変数VOLの管理テーブル(図19(c))は、RAMに書き換え可能に配置されている。
ボリューム変数VOLの管理テーブルVL_TBL(図19(c))は、本実施例で使用する音声プロセッサ42の全フレーズ再生チャンネルCH0〜CH29について、音声コマンドで設定した二次ボリュームV2=V3の値を記憶するボリューム管理テーブルであり、音声コマンド出力処理(ST53)におけるステップST57や、ステップ60の送信処理に対応して初期設定される。なお、ボリューム管理テーブルVL_TBLの更新周期WDの登録欄には、フェード動作をする場合に、ボリューム遷移の増減方向も含めて所定値が設定されるが、フェード動作を実行しない場合にはゼロが設定されている。
図19(a)のフェード制御テーブルFDTBL は、現在の二次ボリューム値VOLと目標値との128通りの差分値に対して、その差分値を10回のコマンド送信処理で埋めることを前提に、各回のコマンド送信処理でのボリューム偏移量を規定している。例えば、差分値が128の場合には、12+13+・・・+13+13の10回の処理で、目標値との差分128が埋まることで目標値に達することになる。なお、説明の都合上、図19(a)は直線的な変化を記載しているが、フェード制御テーブルFDTBL の登録データを変更することで、非直線的な所望のボリューム遷移動作を実現できることは勿論である。
図19(b)に示す更新周期テーブルは、遷移時間と更新周期との関係を規定したもので、例えば、音コントロールデータの下位3ビットが001(S05 )であって、遷移時間0.5秒の場合には、16mSの時間単位で換算して、3回に1回、つまり、16*3mS毎に、二次ボリューム値Vsを遷移させた音声コマンドSNDを送信すべきことになる。そして、二次ボリューム値Vsの遷移が、増加方向又は減少方向に、図19(a)の横軸の向きに10回繰り返されることで(図19(a)参照)、16*3*10mS後(≒0.5秒)には目標の音量になる。
以上を踏まえて、音コントロール処理(ST62)について説明する。この音コントロール処理は、図17(b)に示す非フェード処理と、図17(c)に示すフェード初期設定処理と、に区分されている。ここで、非フェード処理とは、フェード動作を伴わない瞬時設定処理であって、図18(a)の音コントロールデータにおける設定値SVOL、SVO8、SVO0、SVO2、SVO4、SVO8E 、SVO0E などを実効化するための処理である。
そして、サブシナリオテーブルSkにおける音コントロール欄の4バイト目のデータ(図18(a)参照)が、設定値SVOL、SVO8、SVO0、SVO2、SVO4、SVO8E 、SVO0E などである場合には、音コントロール欄の3バイト目の上位データに基づき、音量制御対象(BG_T、YK1_T 、YK2_T 、YKA_T 、FRZ )を特定し、音量変更の対象となるフレーズ再生チャンネルCHnと、そのボリューム値を特定した音声コマンドSNDを生成して、音声プロセッサ2に送信する(ST80)。
一方、フェード動作は、音コントロール処理(図16(b)のST62)に含まれるフェード初期設定処理(図17(c))と、図18及び図17(d)に示すフェード処理(ST18)とで実現される。先ず、フェード初期設定処理(図17(c))では、サブシナリオテーブルSkの音コントロール欄のコントロールデータで特定されるフレーズ再生チャンネルCHnについて、現在のボリューム値VOLを、図19(c)に示すボリューム管理テーブルVL_TBLから取得する(ST81)。
次に、サブシナリオテーブルSkの音コントロールデータが指定する音量目標値(Bit19-Bit16 )と、現在のボリューム値VOLとの差分を算出する(ST82)。なお、ステップST82の処理で算出された差分値によって、フェード制御テーブルFDTBL (図19(a))の参照行iが特定され、また、ボリューム遷移が増加方向か減少方向かが特定されることになる。そして、これらのデータは、図19(c)のボリューム管理テーブルVL_TBLの該当欄に記憶される。なお、以下の説明では、変数iがフェード制御テーブルFDTBL の行ポインタであるとする。
ところで、本実施例では、単に、音量目標値を特定するだけでなく、この音量目標値と、現在のボリューム値とを比較して、音量の偏移方向(±)を特定するので、現在値からの円滑な音量遷移を実現することができる。
すなわち、現在ボリューム値VOLを問題にすることなく、単純に、目標値だけを設定する構成では、所定の基準値(MIN値又はMAX値)から目標値に向かう一方向の遷移動作となるので、例えば、現在値がMIN値、基準値がMAX値の場合には、ゼロから最大音量へのMIN→MAXの瞬間偏移が生じる不都合がある。一方、現在値がMAX値、基準値がMIN値の場合には、MAX→MINに変化する瞬間的な消音が生じた後に音量偏移が開始される不自然が生じるが、本実施例では何れの不都合も生じない。
上記のような意義を有するステップST82の処理が終われば、サブシナリオテーブルSkの音コントロールデータが指定する遷移時間(Bit2-Bit0 )に基づいて、図19(b)の更新周期テーブルを参照して、更新周期WDを特定し、これをボリューム遷移方向と共に、図19(c)のボリューム管理テーブルVL_TBLの該当欄に記載する(ST83)。また、フェード制御テーブルFDTBL の列ポインタjをゼロに初期設定し、制御変数Bを更新周期WDの値に初期設定する(ST83)。なお、初期設定された列ポインタjや制御変数Bの値も、ボリューム管理テーブルVL_TBLの該当欄に記憶される(ST83)。
図19(b)の更新周期テーブルに示す通り、本実施例の場合、制御変数Bの初期値は、更新周期WDである3,6,9,12の何れかである。そして、図19(c)のボリューム管理テーブルVL_TBLの更新周期WDの記憶欄が、ゼロ以外の有意値に設定されたことで、その後のフェード処理の実行が指示されたことになる。
実際のフェード処理は、図17(d)に示す通りであり、図19(c)のボリューム管理テーブルVL_TBLで管理されている全てのフレーズ再生チャンネルCHnに対して、更新周期WDがゼロでないことで実行される(ST90)。
すなわち、更新周期WD>0であれば、更新周期WDに初期設定されている制御変数Bをデクリメントし(ST91)、制御変数Bがゼロになるか否かを判定する(ST92)。ここで、制御変数B=0であれば更新タイミングに達したことになるので、列ポインタjを更新し、フェード制御テーブルFDTBL のi行、j列の偏移量Δを取得する(ST93)。なお、制御変数Bと、行ポインタiと、列ポインタjは、原理上、フレーズ再生チャンネルCHnに対応して、各々、複数個(最高30個)必要となるが、実際には、個々のフレーズ再生チャンネルCHn毎に独立的なフェード動作を実行しないので、各々、それ程の数にはならない。
次に、ボリューム値VOLを変更し(VOL←VOL±Δ)、更新後のボリューム値VOLを指定する音声コマンドSNDを、音声プロセッサ42に送信する(ST95)。そして、ボリューム値VOLが目標値に達しているか否かを判定し(ST96)、列ポインタjが、フェード制御テーブルFDTBL の最終欄を指示している場合には、ボリューム管理テーブルVL_TBLの更新周期WDの記憶欄をゼロに設定する(ST97)。その結果、その後は、そのフレーズ再生チャンネルCHnに関するボリューム遷移処理が実行されることはない。
一方、ボリューム値VOLが目標値に達していない場合には、次の更新タイミングを検出するべく、制御変数Bを更新周期WDの値に初期設定する(ST98)。そして、ステップST90〜ST98の処理は、図19(c)のボリューム管理テーブルVL_TBLの全フレーズ再生チャンネルCH0〜CH29について実行される(ST99)。
なお、本実施例では、図18(a)の音コントロールデータにおける、3バイト目上位の制御対象FRZ に示すように、特定の単位演出について、フェード動作を指定することも可能になっている。特定の単位演出は、13ビット長のフレーズ番号NUMで特定されるが、特定の単位演出のフェード動作が指定された場合には、本実施例では、音声プロセッサ42に、所定の問合せコマンドSNDを送信することで、その単位演出を再生しているフレーズ再生チャンネルを特定するようにしている。
なお、問合せコマンドの送信は、フレーズ再生チャンネルCHnを特定した音声コマンドSNDのライト動作(図5(b)参照)で実行され、その後、所定の音声制御レジスタRGiを特定した音声コマンドSNDの受信処理(図5(c)のリードデータ処理)を実行することで、問題の単位演出を再生しているフレーズ再生チャンネルが特定される。
但し、本実施例では、フレーズ再生チャンネルCHnを特定してフレーズ番号NUMを送信しているので(図16のST57,ST60参照)、このタイミングで、フレーズ再生チャンネルCHnと、フレーズ番号NUMの関係を記憶しておく方法を採ることもでき、この場合には、問合せコマンドの送信が不要となる。
以上、実施例について詳細に説明したが、具体的な記載内容は、特に本発明を限定しない。例えば、実施例では、再生完了割込み処理を設けたが(図14(c))、制御負担を考慮して、これを省略するのも好適である。
この場合には、シナリオ更新処理(ST17)の先頭で、図5(c)の受信処理(リードデータ処理)に示すように、音声プロセッサ42をアクセスして、所定のステイタスフラグを参照して、使用CH管理テーブルPlayNow_TBL を最新値に更新すればよい。そして、この変更例では、一処理単位時間(16mS)の間は、これ以降、音声プロセッサ42をアクセスして、所定のステイタスフラグをチェックしない。そのため、その後、一処理単位時間の間に「再生中」から「停止中」に推移したフレーズ再生チャンネルを使用できないが、割込み処理プログラムを必要としない利点がある。
また、上記の実施例では、サブシナリオテーブルSkにおいて、フレーズ再生開始時に、フレーズ番号の設定に対応して、その再生音量を規定する二次ボリューム値V2,V3を設定したが(図15(c)参照)、このボリューム設定の処理を省略可能な構成を採るのも好適である。すなわち、フレーズ再生開始時のボリューム設定値は、通常、固定レベルであるので(最大値80H)、定期的に動作するリフレッシュ処理において、ボリュームを最大レベルに設定すれば、フレーズ再生開始時のボリューム設定を省略することができる。なお、安全のため、フレーズ再生開始時に、再度、ボリューム設定をしても良いのは勿論である。
図20(b)は、リフレッシュ処理Aを説明する図面であり、変動動作の開始時が、エラー報知中でなく、且つ、特殊予告演出中でない場合に機能する。図示の通り、リフレッシュ処理Aでは、全てのフレーズ再生チャンネルCH0〜CH29について、一次ボリュームV1と二次ボリュームV2,V3を最大値に設定している。したがって、それ以前の変動動作中のパン動作やフェーズ動作において、ボリューム設定値が如何なる値に設定されたとしても、変動開始時には、全てのボリューム値が固定値に再設定されることになる。
なお、ボリュームV1,V2,V3のリフレッシュ処理に加えて、全フレーズ再生チャンネルCH0〜CH29について、パンポット比についても、0dB:0dBにリフレッシュ設定するのが望ましい。何れにしても、リフレッシュ動作は、シンプルアクセスコントローラSACを経由して実行され、一連の設定処理を実現する一連のSACデータを、予め音声メモリ43に用意しておき、変動開始時の音声コマンドSNDによって、SAC制御用の音声制御レジスタRGj1に、SAC番号を設定することで実現される。
一方、エラー報知中である場合や、特殊予告演出中である場合には、リフレッシュ処理Aがスキップされるので、エラー報知動作や予告動作に悪影響を与えることはない。ここで、特殊予告演出とは、表示画面が暗転するブラックアウト演出など、意図的に消音させて(マスク処理)、大当り状態の招来を予告する動作を意味する。このような特殊予告演出では、フレーズ再生チャンネルCH0〜CH29の一次ボリュームV1を、00Hにマスク設定することで(図20(e)参照)、予告効果を高めている。
また、エラー報知動作では、トータルボリュームTV0〜TV2を、表1に示す最大値に設定し、フレーズ再生チャンネルCH0〜CH29の一次ボリュームV1を、00Hにマスク設定すると共に、フレーズ再生チャンネルCH29の全ボリュームV1〜V3を、最大値80Hに設定している(図20(d)参照)。
この動作に対応して、フレーズ再生チャンネルCH29には、サブシナリオテーブルSk(図15(c)参照)を経由して、エラー報知用の単位演出が、無現ループ指定されて特定される。なお、無現ループ状のエラー報知音は、エラー解除コマンドの受信に基づいて、フレーズ再生チャンネルCH29で無音化され、これに対応して、フレーズ再生チャンネルCH0〜CH28の一次ボリュームが、規定値(80H)に戻される。これら、エラー報知音の開始や終了の動作は、図20(d)や図20(e)の動作と同様、シンプルアクセスコントローラSACを活用して実現される。
ところで、リフレッシュ処理は、遊技機の種別A〜Cに応じて、適宜に変更使用するのが好適である。図20(1)〜図20(3)には、遊技機の3つの機種(A〜C)における変動動作を示している。機種Aでは、変動開始時に、必ず、新規のBGM音(BGMxやBGMy)についてのメインシナリオMjが、シナリオ進行テーブルINFO_TBLの進行管理チャンネルMCHmに登録される(図14(d)参照)。このBGM音の再生時間は、好適には、一連の変動動作の動作時間より長く設定されており、変動停止時にはフェードアウト動作を経てBGM音が消音し、また、シナリオ進行テーブルINFO_TBLに登録されたメインシナリオMjも消去される。
一方、機種Bと機種Cでは、変動開始時に、使用CH管理テーブルPlayNow_TBL (図14(e))を参照して、フレーズ再生チャンネルCH0,CH1で、何らかのBGM音が再生中か否かが判定される。そして、フレーズ再生チャンネルCH0,CH1が停止中、つまり、再生中のBGM音が存在しない場合には、機種Aと同様に、新規のBGM音についてのメインシナリオMjを、シナリオ進行テーブルINFO_TBLに登録する(図14(d))。
なお、このメインシナリオMjの実行継続時間Tm(図15(b))は、非常に短時間に設定されていることで、メインシナリオMjは、素早くシナリオ進行テーブルINFO_TBL(図14(d))から消滅する(図15のST36))。一方、このメインシナリオMjが特定するサブシナリオSkでは、フレーズ再生チャンネルCH0,CH1で無現ループ状に再生されるBGM0やBGM1が特定されているので、メインシナリオMjが消滅した後も、BGM0やBGM1の再生が継続する。
以上、機種Bや機種Cにおいて、新規にBGM0やBGM1の再生が開始される場合を説明したが、フレーズ再生チャンネルCH0,CH1で、何らかのBGM音が再生中であれば何もしない。それは、前記の通り、機種B,Cでは、BGM音が、サブシナリオテーブルSk(図15(b)において無限ループ指定され、繰り返しエンドレスに再生されているからである。
そして、これらのBGM音は、遊技者が席を離れたと判定されて送信されるデモコマンド受信に対応して無音化される。具体的には、デモコマンド受信に対応して登録されるメインシナリオMjに基づき、デモコマンド受信後、所定時間後に、フレーズ再生チャンネルCH0,CH1に、例えば、無音のフレーズデータが上書きされることで(無音化処理)、BGM0やBGM1の再生が終了する。
このように、機種Bと機種Cでは、遊技者が遊技を継続する限り、同じBGM音がエンドレスに再生されるが、機種Cでは、変動停止より少し早いタイミングからフェーズアウト動作を実行することで、変動停止時にはBGM音を消音させている。この消音状態でも、BGM音の再生は継続されているので、次の変動開始時に実行されるリフレッシュ処理A(図20(b))に基づいて、BGM音の放音が再開される。
以上、機種A〜Cについて説明したが、変動開始時以外にもリフレッシュ処理Aを実行しても良い。機種Aにおけるリフレッシュ処理Aの実行タイミングは、(1)変動開始時に加えて、(2)デモコマンド受信時、(3)デモコマンド受信から所定時間後、(4)更に時間経過してデモムービが開始されるタイミング、(5)更に所定時間経過した後などが考えられる。但し、機種B,Cでは、(2)デモコマンド受信時には、BGM音の再生が、有音又は無音で継続している可能性があるので、(1)及び(3)〜(5)のタイミングで、リフレッシュ処理Aが実行される。
なお、リフレッシュ処理Aとは別のリフレッシュ処理B(図20(c)参照)を実行するのも好適である。リフレッシュ処理Bは、全てのフレーズ再生チャンネルCH0〜CH29について、一次ボリュームV1を80Hに設定している。このようなリフレッシュ処理Bの実行タイミングは、上記した(2)、(3)、(4)、(5)が考えられる。これらのタイミングは、二次ボリュームV2,V3が変化する可能性はないので、エラー報知時に変化する一次ボリュームV1のみのリフレッシュ動作としている。
以上の通り、シンプルアクセスコントローラSACを活用することで、CPUに制御負担を課すことなく、必要なリフレッシュ動作やマスク動作を、必要なタイミングで繰り返すことができる。
次に、本実施例では、効果音チャンネルSE、高度演出チャンネルPAN、及び、バーチャルチャンネルVSについては、配置チャンネルを可変設定するのに対して、チャンスボタンの操作有効音や、遊技球の入賞音について、専用のフレーズ再生チャンネルを使用する意義について説明する。図21は、入賞音や操作有効音を、適宜に消音させるマスク処理を示すタイムチャートである。
先ず、フレーズ再生チャンネルCH28で再生される入賞音について説明する。入賞音は、遊技球が図柄始動口15に入賞したことを示す効果音であり、変動動作実行中の入賞であれば、この入賞に対応して、表示装置に表示される保留球数が増加するよう構成されている。なお、保留球数とは、変動動作実行中に入賞した遊技球の個数であって、大当り抽選処理の待機数を意味し、この保留球数は、主制御部21から演出制御部22に伝送される保留数コマンドCMDによって特定される。
入賞音の放音や、保留球数の増加は、遊技者が入賞を確認できる意義があるが、遊技球の入賞は、演出動作の進行とは無関係にランダムに発生するので、入賞音の放音や保留球数の表示が、かえって演出動作(音声演出)の邪魔になる場合もある。例えば、表示画面の広範囲を使用したいリーチ画像演出の場合は、保留球数の表示領域が邪魔であり、また、前記のリーチ画像演出に対応して特別の演出音を放音したい場合には、BGM音が邪魔になることもある。
図21(a)〜図21(c)は、このようなリーチ演出の動作状態を例示したものであり、所定のリーチ演出中は、保留球数の表示領域を消すと共に(保留非表示期間)、BMG音を消音させた状態で(図21(a))、演出チャンネルSEを経由して演出音SE1,SE2だけを放音している(図21(b)図21(c))。このような制御を採るのは、あえてBGM音を消音させることで、演出音SE1,SE2に集中してもらうためである。
そのため、もし、このタイミングで、入賞音が放音されると、遊技者の気が散ることになる。そこで、本実施例では、保留非表示期間は、フレーズ再生チャンネルCH28の一次ボリュームV1を00Hに維持することで、入賞音のマスク処理を実行している(図21(f))。このようなマスク処理を設けるので、無音状態で入賞音が放音されることになり(破線参照)、放音動作そのものを回避する必要がないので、制御負担が特段増加することはない。なお、BGM音についても、保留非表示期間の開始タイミングに合わせて、フレーズ再生チャンネルCH0,CH1の一次ボリュームV1を00Hに設定するマスク処理を実行している(図21(a))。
このように、本実施例では、保留非表示期間に対応するマスク処理を実行するので、遊技者は、演出チャンネルSEの演出音SE1,SE2に集中することができる。また、BMG音や入賞音の再生は、確定されたフレーズ再生チャンネル(CH0,CH1,CH28)を使用するので、マスク動作時に、マスク対象となるフレーズ再生チャンネルを探す必要がなく制御負担が増加することがない。
なお、図示の例では、入賞音のマスク処理は、保留非表示期間の終了と共に解消されるので、その後は、表示装置で保留球数の増加を確認できると共に、新規の入賞音を聴くことができる。一方、図示例では、BGM音のマスク処理が変動停止まで継続されるが、適宜なタイミングで実行されるリフレッシュ処理(図20)によって、一次ボリュームV1は規定レベルに復帰されるので何も問題は生じない。
続いて、フレーズ再生チャンネルCH27で再生される操作有効音について説明する。ボタン操作の操作有効音は、所定タイミングで、ボタン演出用のメインシナリオ1(表2)が、シナリオ進行テーブルINFO_TBLの進行管理チャンネルMCHmに登録されたことに基づいて放音可能となる(図14(d)参照)。また、チャンスボタンが押下されたことに対応して、別のメインシナリオ2(表2)が進行管理チャンネルMCHmに登録される。
特に限定されないが、メインシナリオ1は、2つのメインシナリオ1〜2で構成されている。具体的には、表2に示す通り、表示装置にボタン画像が出現することに対応して発生する効果音1「ピューン!!」を特定するサブシナリオ1と、その後の操作有効期間を示して繰り返される効果音2「ピコン、ピコン、ピコン、・・・」を特定するサブシナリオ2とで構成されている。なお、効果音2は、ループ指定されることで無限ループ状に繰り返される。
一方、メインシナリオ2は、チャンスボタン11が押下されて実行される効果音3と、無音化処理とを特定するサブシナリオ3で構成されている。ここで、効果音3は、ボタン押下に対応して下位チャンネルSE2で実行される音声演出を意味する。便宜上、図21(c)と図21(d)では、変動開始後とリーチ演出中に、同様の音声演出が実行されるようになっているが、あくまでも便宜上の記載であり、実際には、各局面に合わせた特徴ある音声演出が実行される。また、リーチ演出中は、メインシナリオ1の開始に対応して、それまでの音声演出Aが終了するよう構成されている。
何れにしても、表2に示す通り、本実施例では、サブシナリオ1〜サブシナリオ3を介在させて、各音声を再生するフレーズ再生チャンネルCHnを特定する必要がある。しかし、ボタン操作の操作有効音を再生するのは、フレーズ再生チャンネルCH27であると固定化されているので、空きチャンネルを探す手間が不要であり、また、新規のフレーズ番号NUMを、所定の音声制御レジスタRGiに上書するだけで、音声演出を簡単に切り替えることができる。
すなわち、サブシナリオ3の無音化処理は、極めて短時間(例えば10mS)の無音データのフレーズ番号NUMyを、フレーズ再生チャンネルCH27の再生フレーズ番号NUMを特定する音声制御レジスタRGiに上書きするだけで足り、この上書き動作によって、効果音2のフレーズ番号NUMxが消滅するので、無音再生が如何に短時間で終了しても、その後に、効果音2の再生が復帰するおそれはない。なお、この点は、フレーズ再生チャンネルCH0〜CH1におけるBGM音の無音化処理(図20の(2)(3))や、フレーズ再生チャンネルCH29におけるエラー報知音の無根化処理の場合も同様である。
また、本実施例では、操作有効音の再生処理が、必ず、フレーズ再生チャンネルCH27で実行されるので、(1)フレーズ再生チャンネルCH27の一次ボリュームV1を00Hに設定するマスク処理か、(2)フレーズ再生チャンネルCH27のフレーズ再生動作を強制終了させるのでも良い。但し、前者の場合には、所定時間後に一次ボリュームV1を80Hに復帰させるのが好ましい。何れの場合も、効果音2「ピコン」の繰返し放音動作を、(サブシナリオ2を経由して)間接的に指定するメインシナリオ1は、繰返し放音動作の開始から300*16mS後に進行管理チャンネルMCHmから消去される(図15のST36)。
ところで、上記の実施例に追加して、予告演出について、画像演出や役物演出と連動した音声演出を実行するのも好適である。図22は、このような予告演出を例示する図面であり、背景画像の前面側に描かれる予告画像の数や種類、及び、背景画像の前面側で可動する役物と、BGM音の音量とを関連させる実施例を示している。
この実施例では、予告演出の信頼度は、背景画像の残余面積や、役物の出現の有無や可動の有無に対応している。具体的には、(1)予告演出画像が大型化して、背景画像面積が少ないほど、また(2)役物が目立つほど、信頼度が高まるよう構成され、信頼度の高さに対応して、BGM音を小音化することで予告演出の価値をアピールしている。なお、信頼度とは、大当り抽選の抽選結果が当選状態である可能性を意味する。
図22は、具体的な演出内容の一例を概略的に図示したものであり、背景画像と共に、背景画像に重ねて表示される予告演出を示している。なお、縦方向は、信頼度の違いを示しており、信頼度の低い予告演出1から、高信頼度の予告演出9が順番に縦方向に図示されている。また、横方向は、予告演出の発展型を示しており、もし予告演出が右側に移行すれば、その分だけ信頼度が向上するようになっている。
この例では、女子高生が様々なアクションを起こす予告演出が図示されているが、予告演出1では、1人の女子高生が、吹き出し部分にメッセージを述べ、その後、発展的に、もう一人の女子高生が、別の吹き出し部分にメッセージを述べるようになっている。
また、予告演出2では、準備OK状態(STEP1)から始まり、STEP1からSTEP2に発展すると、女子高生が振り向き(STEP2)、更にSTEP3に発展すると、もう一人の女子高生と出会う予告演出となっている。本実施例の予告演出は、発展を重ねるたびに信頼度が上昇するが、その分だけ背景画像の面積が減ることに対応して、BGM音の音量を抑制している。
先に説明した通り、この実施例では、BGM音は、専用チャンネルたるフレーズ再生チャンネルCH0,CH1で再生されているので、その一次ボリュームV1を可変することで、適宜な音量に制御している。二次ボリュームV2,V3を一体的に制御するフェード演出とは異なり、本実施例では、予告演出時の音量抑制制御は、一次ボリュームV1を使用するので、短いタイミングで細かく音量制御しても、制御負担が特に増加することがない。
そして、予告キャラクタが増加するか大型化することで、背景画像が隠れることに対応して、BGM音が小音化されるので、発展型の予告演出の演出効果が更に高まる。もっとも、抑制されるのは、フレーズ再生チャンネルCH0,CH1のBGM音だけであり、その他の効果音は、予告演出に対応した適宜な音量で放音される。
次に、予告演出3では、四隅から中央のキャラクタにフラッシュが放たれるが、背景画像が殆ど隠れるので、予告演出2よりBGM音の音量が低く制御される。以下、同様であり、予告演出4〜予告演出6では、表示される予告画像の色彩や、予告画像の重複表示されるミニキャラの種類などで信頼度の高さを示唆するが、何れも、背景画像が隠れることに対応して、BGM音が小音化され、発展に応じて更に小音化され、背景画像が完全に隠れると無音化される。なお、予告演出5や予告演出6では、ボタンチャンス状態となり、遊技者がチャンスボタンを押下することに対応して、予告演出が右側に発展する可能性がある。
また、更に信頼度の高い予告演出7では、液晶表画面の左側に位置する表示枠が発光を始め、例えば、「リング」の文字が点灯又は点滅を始める。そして、信頼度が増加する予告演出8では、中央に役物(可動物)が出現して、「7」の文字が点灯する。そして、信頼度が最高ランクである予告演出9では、突然、表示画面が暗転した後(暗転予告)、真っ暗な画面の中央に不気味な文字が現れる。
そして、これら信頼度の非常に高い予告演出7〜予告演出9では、BGM音を無音化する一方で、予告画像に対応した効果音が、演出チャンネルSEで、放音されるようになっている。例えば、運命の日までの残り日時が7日間である場合には、可動物などの可動に対応して、緊迫感を煽る可動音(ドクンドクンなど)が、その音量を漸増させつつ再生される(フェーズ動作)。なお、暗転予告時には、全画面が消滅することに対応して、全てのフレーズ再生チャンネルCHiの再生音が無音化される。
上記した可動音の音量や、登場キャラクタの動作などに対応した効果音の音量は、何れの予告演出でも、演出チャンネルSEの二次ボリュームV2,V3を適宜に制御して設定される。一方、BGM音の小音化や無音化は、フレーズ再生チャンネルCH0,CH1の一次ボリュームV1で実行されるので、その制御が容易である。すなわち、一次ボリュームV1の設定値を変更するだけでBGM音の音量を抑制でき、予告演出が終われば、抑制音量を元のレベルに容易に復帰させることができる。
具体的には、本実施例では、20*Log(Vi/128)の減衰率において、設定値Viが80H未満に設定される。そのため、フレーズ再生チャンネルCH0,CH1の一次ボリュームV1は、予告演出時の信頼度に応じて、−0.07dBから−∞dB(無音)に至るまで、128段階の任意レベルに抑制することができる。もっとも、現実的には、−6dB以下の抑制レベル(減衰率)としている。
また、本実施例では、暗転予告時に、表示装置の画面が消滅することに対応して、全の再生音が無音化するが、この無音化処理は、全フレーズ再生チャンネルCHiについて、一次ボリュームV1を最小値に設定(−∞dB)することで実現するので、無音化制御も容易である。
以上、各種の実施例について詳細に説明したが、具体的な記載内容は、何れも、特に本発明を限定するものではない。
例えば、図9で説明した多重音声演出では、8チャンネル(CH14〜CH21)のフレーズ再生チャンネルを使用したが、特に限定されず、多重音声演出を実現する原音データ数(つまり、フレーズ番号の数)と、同数のフレーズ再生チャンネルを使用したのでも良い。
図23は、5個のフレーズ番号NUMa〜NUMeに対応して、5個のフレーズ再生チャンネルを使用した場合を示しており、ボーカル音声、ギター音、ベース音、左コーラス音、右コーラス音が、各々異なるフレーズ再生チャンネル(CH14,CH16,CH18,CH20,CH21)で再生されている。
フレーズ再生チャンネルCH14では、2つの左右パンが0dB:0dBに設定されている一方で、上下パンが0dB:−∞dBに設定されるので、上部左右のスピーカだけからボーカル音声が放音される(図23(c)参照)。
一方、フレーズ再生チャンネルCH16では、上下パンが0dB:0dBに設定され、2つの左右パンが、何れも0dB:−∞dBに設定されるので、上部スピーカと中部スピーカについて、左側のスピーカだけからギター音が放音される(図23(c)参照)。
逆に、フレーズ再生チャンネルCH18では、上下パンが0dB:0dBに設定され、2つの左右パンが、何れも−∞dB:0dBに設定されるので、上部スピーカと中部スピーカについて、右側のスピーカだけからベース音が放音される(図23(c)参照)。
他のフレーズ再生チャンネルCH20、CH21についても、上下パンや左右パンが適宜に設定されることで、図23(c)に示す多重的な楽曲演奏が実現される。なお、一次ボリュームV1や二次ボリュームVs(V2,V3)は、各々、規定値(例えば0dB)に維持されるので、下部スピーカからは、全パートの音声が纏めて出力され、この点は、図9の実施例の場合と同様である。
但し、図9の実施例とは異なり、図23の実施例では、上記したパン比の設定処理をシーケンサSQ経由ではなく、シンプルアクセスコントローラSACを経由して実行している。本実施例では、4個のシンプルアクセスコントローラSAC0〜SAC3を有しているので、SAC0〜SAC3を同時に機能させることで、CH14,CH16,CH18,CH20,CH21の上下パン比や左右パン比の設定を同タイミングで終えることができる。したがって、特に、シーケンサSQのオフトリガ機能を使用しなくても、楽曲演奏を同期して開始させることができる。
以上、各種の実施例について説明したが、具体的な記載内容は何ら本発明を限定するものではない。すなわち、実施例に例示した音声制御手法は、弾球遊技機だけでなく、回胴遊技機など他の遊技機にも好適に適用可能である。