(57)【要約】【課題】同一フレーズグループのオーバーラップ再生時における仮想トラックのコンフリクトの解消を図る。【解決手段】トラック管理回路７は、コマンド解析回路６の解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、このコマンドを読み出した実行スロット５と、再生すべきフレーズに付加されている仮想トラックとに対応付ける。また、トラック管理回路７は、シーケンサ８におけるフレーズの再生処理が終了した場合、このフレーズによって使用状態にある実トラックに関する使用状況を空き状態に変更するとともに、この実トラックに関する対応付けを解消する。【選択図】図２
2011138122.tif 000002
【特許請求の範囲】
【請求項１】
それぞれに仮想トラックが付加されたフレーズを取得するフレーズ取得手段と、
前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う再生処理手段と、
前記再生処理手段での処理に従って音信号が出力される複数の実トラックと、
前記フレーズに関する前記実トラックへの割り当てを行う実トラック割当手段であって、前記フレーズ取得手段で取得された一つのフレーズに関する前記実トラックへの割り当て要求と、前記フレーズ取得手段で取得され前記一つのフレーズと同一の仮想トラックが付加された他の一つのフレーズに関する前記実トラックへの割り当て要求と、が重複する期間において発生したときには、前記一つのフレーズと前記他の一つのフレーズとを別の実トラックで再生すべきフレーズであるものと扱って割り当てを行う実トラック割当手段と、
を備えることを特徴とする音声処理装置。
【請求項２】
前記フレーズ取得手段は、
前記フレーズに関するコマンドを一時的に格納するスロットと、
前記フレーズのうち一まとまりのフレーズグループとして再生されるべき複数のフレーズに関するコマンド群を、前記複数のスロットのうち同じスロットに選択的に格納する手段と、
前記再生処理手段に提供するために、前記複数のスロットから、格納された前記コマンドを取り出す手段と、
を含み、
前記実トラック割当手段は、前記複数のスロットのうち異なるスロットに格納されたコマンドに応じたフレーズの再生を当該スロットごとに別の実トラックに割り当てる手段を、含むことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
フレーズグループの時系列的な再生手順を規定するコマンド群に基づいて、音声を再生する音声処理装置において、
それぞれが時系列な順序でコマンド群を格納し、当該格納されたコマンド群の読み出しが互いに同期して行われる複数の実行スロットと、
再生すべきフレーズグループに関するコマンド群を、前記複数の実行スロットのうちのいずれかに割り当てて書き込む書込調停回路と、
前記実行スロットのそれぞれに格納された前記コマンド群をコマンド毎に順次読み出し、当該読み出されたコマンドの解析結果に応じて、前記フレーズグループ中のフレーズの再生処理を指示するコマンド解析回路と、
前記コマンド解析回路からの指示に応じて、前記フレーズの再生処理を行うシーケンサと、
前記シーケンサによって生成された音信号がフレーズ単位でいずれかに出力される複数の実トラックと、
前記実トラックのそれぞれに関する使用状況を管理するとともに、前記フレーズに関する前記実トラックへの割り当てを、前記実行スロットのいずれかと、前記フレーズに付加されている仮想トラックとに対応付けて行うトラック管理回路あって、前記解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する前記使用状況を使用状態に変更するとともに、当該実トラックを、当該コマンドを読み出した実行スロットと、当該再生すべきフレーズに付加されている前記仮想トラックとに対応付けるトラック管理回路と、
を備えることを特徴とする音声処理装置。
【請求項４】
前記書込調停回路は、同一のフレーズグループを複数の実トラックで重複して再生する場合、当該フレーズグループに関するコマンド群を、第１の実行スロットと、前記第１の実行スロットとは異なる第２の実行スロットとにそれぞれ書き込み、
前記トラック管理回路は、
前記第１の実行スロットより読み出されたコマンドの前記解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する前記使用状況を使用状態に変更するとともに、当該実トラックを、前記第１の実行スロットと、当該再生すべきフレーズに付加されている前記仮想トラックとに対応付け、
前記第２の実行スロットより読み出されたコマンドの前記解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する前記使用状況を使用状態に変更するとともに、当該実トラックを、前記第２の実行スロットと、当該再生すべきフレーズに付加されている前記仮想トラックとに対応付けることを特徴とする請求項３に記載された音声処理装置。
【請求項５】
前記トラック管理回路は、前記実行スロットのいずれかより読み出されたコマンドによって指定された前記仮想トラックに割り当てられている前記実トラックを検索する場合、当該実行スロットと、当該仮想トラックとを検索キーとして、前記実トラックを検索することを特徴とする請求項３または４に記載された音声処理装置。
【請求項６】
前記トラック管理回路は、前記実トラックへの割り当てを、フレーズグループに対応付けて行うことを特徴とする請求項３乃至５のいずれか１項に記載された音声処理装置。
【請求項７】
前記シーケンサにおけるフレーズの再生処理が終了した場合、当該フレーズによって使用状態にある実トラックに関する前記使用状況を空き状態に変更して、当該実トラックを解放することを特徴とする請求項３乃至６のいずれか１項に記載された音声処理装置。
【請求項８】
それぞれに仮想トラックが付加された１つ以上のフレーズを含み、識別番号が付されたソングを取得するソング取得手段と、
前記ソングに含まれる前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う再生処理手段と、
前記再生処理手段での処理に従って音信号が出力される複数の実トラックと、
前記フレーズに関する前記実トラックへの割り当てを行う実トラック割当手段であって、一つのソングに含まれるフレーズに関する前記実トラックへの割り当て要求と、前記一つのソングに含まれるフレーズと同一の仮想トラックが付加されたフレーズを含む又は前記一つのソングと同一の識別番号を有する他の一つのソングに含まれるフレーズに関する前記実トラックの割り当て要求と、が重複する期間において発生したときには、前記一つのソングのフレーズと前記他の一つのソングのフレーズとを別の実トラックで再生すべきものと扱って割り当てを行う実トラック割当手段と、
を備えることを特徴とする音声処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想トラックが付加されたフレーズを実トラックに割り当てながら、フレーズ単位で音声を再生する音声処理装置に関する。
【背景技術】
【０００２】
従来より、音声の再生単位となるフレーズを実トラック数よりも多い仮想トラック数で作成し、仮想トラックから実トラックへの割り当てを行いながらフレーズを再生する手法が知られている。ハードウェアの実トラック数よりも多い仮想トラックをソフトウェア上で提供することで、有限な実トラックのリソースを気にせずに編集作業を進められるので、音製作者（サウンドクリエイター）の作業利便性を高めることができる。例えば、特許文献１には、オーディオミキサアプリケーション上で提供された仮想トラックのうち、ユーザによって指定されたものを、実トラックに自動的に割り当てるデータ信号処理装置が開示されている。また、特許文献２には、実トラック毎に設けられたレジスタには直接対応しない仮想トラックを備え、再生時に仮想トラックの音データを実トラック毎のレジスタに上書きするコンピュータゲーム装置が開示されている。
【０００３】
また、音声編集の分野では、音製作者によってグループ化された複数フレーズの時系列的な再生手順を予め規定しておき、このフレーズグループを見かけ上１つの連続したフレーズとして再生する手法も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１６８３１０号公報
【特許文献２】特許第２９１４８２８号公報
【特許文献３】特開平６−２７９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
仮想トラックを用いる音製作手法では、フレーズやフレーズグループの製作過程で、それぞれの仮想トラックに、個々の仮想トラックを区別するための識別番号が付与される。この識別番号は、通常は、例えば上記の特許文献２に記載されているように、複数の仮想トラックの間で番号が重複しないように付与される。作製されたフレーズやフレーズグループを実際に発音する音声処理装置（ハードウェア）も、このような識別番号の付与ルールのもとで編集作業がなされることを前提に、構築されている。従って、従来の音声処理装置にとって、同じタイミングで同一識別番号の仮想トラックについての再生指令を複数個受けるという事態は、通常想定している事態ではない。
【０００６】
しかしながら、仮想トラックの識別番号について重複を禁止する従来の音製作手法は、音製作者にとって大きな負担を強いるものである。例えばインタラクティブな遊技機やゲーム機では遊技やゲームの展開が予測できないので、その展開次第では、同じフレーズグループを同時に多数再生しなければならない状況が生じ得る。これに対処するために、従来の技術では、同一フレーズを複数の実トラックで時系列的にオーバーラップして再生できるように仮想トラックの割り当てのみを変えたフレーズグループを複数個用意するといった、特別の配慮が要求される。一方、音製作者は、音の作成のみを担当し、音を素材として用いた遊技やゲームのプログラムの作成自体には関与しないことが多い。音製作者が音作成以外のプログラミング技術等に精通していない場合も多い。こういった実情のもとでは、音製作者にとっては、展開に応じたオーバーラップ再生の最大数を見越した上でフレーズグループの作成・編集を要求されること自体、過度の負担となる。
【０００７】
そこで、上記のような音製作者の負担を軽減するために、音編集の場面において仮想トラックの識別番号が重複することを許容して、音製作者が音の製作に注力できる環境を提供するという考え方がある。この考え方は音製作者の負担を軽減できる画期的な手法ではあるものの、従来技術では同一識別番号の複数の仮想トラックの並存を正常な事態として想定していないので、従来の音声処理装置の構成（ハードウェア）上ではこの考え方で実際に音声処理を進めることができない。すなわち、従来の音声処理装置の構成では、同時に処理されるフレーズの仮想トラックの識別番号が同じ場合には、両者をハードウェア上区別することができない。従って、それらの仮想トラックについての再生を正常に完了することができず、同一フレーズグループ内の同一フレーズを複数の実トラックで時系列的にオーバーラップして再生することができない。こういった事態はいわば「仮想トラックのコンフリクト（競合）」であり、この「コンフリクト」は上記の新規な音製作手法のもとで生ずる独特の課題である。
【０００８】
本発明は、上記のような課題を解決するためになされたものであり、仮想トラックのコンフリクトを回避しつつ再生が可能な音声処理装置を提供することを目的とする。
【０００９】
なお、特許文献２には仮想トラックを備える技術が記載されているが、仮想トラックのコンフリクトについては記載も示唆もされていない。
また、特許文献３には、複数の系列と、系列の数よりも少ない数の効果付加チャンネルとを有する効果付与装置が記載されている。この効果付与装置は、効果付加チャンネルの数を越えて所定の系列への効果付加チャンネルの新たな割り当て要求がある場合に、重み付けに基づいて割り当ての関係を変更している。しかしながら、仮想トラックと実トラックとの割り当てについては記載がなく、仮想トラックのコンフリクトについては記載も示唆もされていない。
【課題を解決するための手段】
【００１０】
第１の発明は、上記の目的を達成すべく、音声処理装置であって、フレーズ取得手段と、再生処理手段と、複数の実トラックと、実トラック割当手段とを備えている。フレーズ取得手段は、それぞれに仮想トラックが付加された複数のフレーズを取得する。再生処理手段は、前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う。複数の実トラックには、前記再生処理手段での処理に従って音信号が出力される。実トラック割当手段は、前記フレーズに関する前記実トラックへの割り当てを行う。この実トラック割当手段は、前記フレーズ取得手段で取得された一つのフレーズに関する前記実トラックへの割り当て要求と、前記フレーズ取得手段で取得され前記一つのフレーズと同一の仮想トラックが付加された他の一つのフレーズに関する前記実トラックへの割り当て要求と、が重複する期間において発生したときには、前記一つのフレーズと前記他の一つのフレーズとを別の実トラックで再生すべきフレーズであるものと扱って割り当てを行う。
【００１１】
また、第２の発明は、上記第１の発明において、前記フレーズ取得手段は、前記フレーズに関するコマンドを一時的に格納する複数のスロットと、前記フレーズのうち一まとまりのフレーズグループとして再生されるべき複数のフレーズに関するコマンド群を、前記複数のスロットのうち同じスロットに選択的に格納する手段と、前記再生処理手段に提供するために、前記複数のスロットにそれぞれ格納された前記コマンドを取り出す手段と、を含んでいる。この第２の発明において、実トラック割当手段は、前記複数のスロットのうち異なるスロットに格納されたコマンドに応じたフレーズの再生を当該スロットごとに別の実トラックに割り当てる手段をさらに含んでいる。
【００１２】
第３の発明は、上記の目的を達成すべく、フレーズグループの時系列的な再生手順を規定するコマンド群に基づいて、音声を再生する音声処理装置を提供する。この音声処理装置は、複数の実行スロットと、書込調停回路と、コマンド解析回路と、シーケンサと、複数の実トラックと、トラック管理回路とを有する。それぞれの実行スロットは、時系列な順序でコマンド群を格納する。これらの実行スロットに格納されたコマンド群の読み出しは、実行スロット間で互いに同期して行われる。書込調停回路は、再生すべきフレーズグループに関するコマンド群を、複数の実行スロットのうちのいずれかに割り当てて書き込む。コマンド解析回路は、実行スロットのそれぞれに格納されたコマンド群をコマンド毎に順次読み出し、読み出されたコマンドの解析結果に応じて、フレーズグループ中のフレーズの再生処理を指示する。シーケンサは、コマンド解析回路からの指示に応じて、フレーズの再生処理を行う。複数の実トラックは、シーケンサによって生成された音声信号がフレーズ単位でいずれかに出力される。トラック管理回路は、実トラックのそれぞれに関する使用状況を管理するとともに、個々のフレーズに関する実トラックへの割り当てを、実行スロットのいずれかと、このフレーズに付加されている仮想トラックとに対応付けて行う。ここで、トラック管理回路は、コマンド解析回路の解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、解析されたコマンドを読み出した実行スロットと、再生すべきフレーズに付加されている仮想トラックとに対応付ける。
【００１３】
また、第４の発明は、上記第３の発明において、書込調停回路が、同一のフレーズグループを複数の実トラックで重複して再生する場合、このフレーズグループに関するコマンド群を、第１の実行スロットと、第１の実行スロットとは異なる第２の実行スロットとにそれぞれ書き込む。この場合、トラック管理回路は、第１の実行スロットより読み出されたコマンドの解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、第１の実行スロットと、再生すべきフレーズに付加されている仮想トラックとに対応付ける。また、トラック管理回路は、第２の実行スロットより読み出されたコマンドの解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、第２の実行スロットと、再生すべきフレーズに付加されている仮想トラックとに対応付ける。
【００１４】
また、第５の発明は、上記第３または第４の発明において、トラック管理回路は、実行スロットのいずれかより読み出されたコマンドによって指定された仮想トラックに割り当てられている実トラックを検索する場合、この実行スロットと、コマンドによって指定された仮想トラックとを検索キーとして、実トラックを検索する。
【００１５】
さらに、第６の発明は、上記第３乃至第５の発明において、トラック管理回路は、上記実トラックへの割り当てを、フレーズグループに対応付けて行う。
【００１６】
また、第７の発明は、上記第３乃至第６の発明において、トラック管理回路は、シーケンサにおけるフレーズの再生処理が終了した場合、このフレーズによって使用状態にある実トラックに関する使用状況を空き状態に変更して、この実トラックを解放する。
【００１７】
また、第８の発明は、上記の目的を達成すべく、音声処理装置であって、ソング取得手段と、再生処理手段と、複数の実トラックと、実トラック割当手段とを備えている。ソング取得手段は、それぞれに仮想トラックが付加された１つ以上のフレーズを含むソングを取得する。再生処理手段は、前記ソングに含まれる前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う。複数の実トラックには、前記再生処理手段での処理に従って音信号が出力される。実トラック割当手段は、前記フレーズに関する前記実トラックへの割り当てを行う。この実トラック割当手段は、一つのソングに含まれるフレーズに関する前記実トラックへの割り当てと、前記一つのソングに含まれるフレーズと同一の仮想トラックが付加されたフレーズを含む又は前記一つのソングと同一の識別番号を有する他の一つのソングに含まれるフレーズに関する前記実トラックの割り当てと、が重複する期間において発生したときには、前記一つのソングのフレーズと前記他の一つのソングのフレーズとを別の実トラックで再生すべきものと扱って割り当てを行う。
【発明の効果】
【００１８】
本発明によれば、仮想トラックのコンフリクトの問題を解消することにより、音編集ソフトウェア上で作業する音製作者の利便性の向上を図ることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】フレーズグループ（ソング）の一例を示す概念図
【図２】音声処理装置のブロック構成図
【図３】トラック割当テーブルの説明図
【図４】ソングのコマンド群の説明図
【図５】オーバーラップ再生時における音声再生処理のフローチャート
【図６】オーバーラップ再生時における音声再生処理のフローチャート
【図７】オーバーラップ再生時における音声再生処理のフローチャート
【発明を実施するための形態】
【００２０】
［実施の形態にかかる音製作手法、音声編集］
本実施形態にかかる音声処理装置の具体的構成の説明に先立って、まず、本実施形態に係る音声処理装置が取り扱うことができるフレーズグループである「ソング」の概念について説明する。ソングとは、音声の再生単位であるフレーズをまとめたフレーズグループの時系列的な再生順序を規定するシナリオ（曲）である。ソングは、複数のフレーズで構成してもよいし、単一のフレーズで構成してもよい。前者の例としては、図１に示すように、遊技やゲームでターゲットの破壊時に発音されるソング（ソング番号＝#8）が挙げられる。このソング#8は、爆発音のフレーズ（フレーズ番号＝#30）と、この爆発音に続いて発音される金属片の飛散音のフレーズ（フレーズ番号＝#66）とで構成されている。ここで、ソング番号は、フレーズグループ（ソング）を識別するグループ番号である。一方、後者の例としては、レーシングカーの騒音を発音するフレーズそのものよりなるソングが挙げられる。レーシングカーの騒音を発声するソングを複数同時に再生することにより、臨場感溢れるカーレースの状況を再現できる。
【００２１】
ソングの作成・編集は、音声編集アプリケーションを用いて、音製作者によって行われる。扱うことができるソング数の上限は、製品仕様として予め決められている。ハードウェアでは、通常、ソングを識別するインデックス（ソング番号）のビット長が予め決められている。したがって、インデックスが12ビットならば最大4096種類といった如く、ソングの上限数は有限となる。また、個々のフレーズには音製作者によって仮想トラックが割り当てられる。扱うことができる仮想トラック数の上限は、テーブルメモリのビット幅に依存し、音製作者の作業利便性を考慮した上で製品仕様として予め決められている（例えば64仮想トラック）。音声を作成する音製作者、および、音製作者の作成物を素材として遊技やゲームのプログラムを作成するプログラマの双方は、ハードウェアの実トラック数が有限で、同時再生できるフレーズ数に制限があることに留意する。
【００２２】
音製作者は、音声編集アプリケーションといった開発環境上で、一例として最大4096種類のソングを任意に作成することができる。１つのソングでは、仮想トラックを例えば64種類まで自由に扱うことができる。特定の仮想トラック番号を効果音や警告音に使うことで、フレーズの配置を柔軟かつ効率的に行うことができる。本実施形態において、音製作者は、あるソングを作成・編集する際、他のソングでどの仮想トラックを使用しているかを気にする必要はない。フレーズの再生、フレーズに対する発音開始タイミングの調整、ボリューム調整、音像調整などの作業は、すべて仮想トラックベースで行われる。音製作者によって作成されたソングは、次工程の作業を担当するプログラマに提供される。
【００２３】
プログラマは、ＢＧＭはソング#6、破壊音はソング#8といった曲情報を音製作者から受け取り、これに基づいてハードウェアを制御するプログラムを作成する。ソングを格納するハードウェア上の実行スロットは、ソングの再生に十分な数が用意されている（例えば64スロット）。したがって、通常、プログラマは、スロット不足に起因してソングが実行できない状況や、ソングがどの実行スロットで実行されているのかといった事項を意識する必要はない。また、本実施形態では、同じソングを複数オーバーラップして再生することも製品仕様として許容されている。このオーバーラップ再生は、同一ソングを同時に再生する場合、および、同一ソングの一部が時系列的に重複する場合の双方を含む。図１に示した例では、遊技やゲームの進行過程で２つのターゲットＡ，Ｂが連続して破壊された場合、同一のソング#8がオーバーラップ再生される。
【００２４】
上述したように、本実施形態において、音製作者は、あるソングを作成・編集する際、他のソングでどの仮想トラックを使用しているかを気にする必要はない。つまり、本実施形態にかかる音製作手法は、その前提として、音製作者の負担を軽減するために、音編集の場面において仮想トラックの識別番号が重複することを許容するものである。そして、本実施形態によれば、仮想トラックの識別番号の重複を許容した代わりに、音声処理装置が、仮想トラックのコンフリクトを避けるようにこの重複を区別し、適切に処理する。以下、上記のようなコンセプトに基づいて作製、編集されたソングを仮想トラックのコンフリクトを避けるように再生できる機能を備えた、音声処理装置の構成等について、詳細に説明する。
【００２５】
［実施の形態にかかる音声処理装置の構成及び動作］
図２は、上述したソングを再生する音声処理装置のブロック構成図である。この音声処理装置１は、外部システムとの間のデータ転送を調停するインターフェース群２，３と、コマンド処理系４〜７と、再生処理系８，９と主体に構成されている。ＭＰＵインターフェース２は、音声処理装置１の外部に接続されたＭＰＵ（図示せず）との間のデータ転送を調停し、ＭＰＵによって発行されたコマンド（例えばソングの起動コマンド）をコマンド解析回路６に供給する。また、ＲＯＭインターフェース３は、音声処理装置１の外部に接続された外部ＲＯＭ（図示せず）との間のデータ転送を調停し、ＲＯＭから読み出されたソングのコマンド群を書込調停回路４に供給するとともに、ＲＯＭから読み出されたフレーズデータをシーケンサ８に供給する。音声処理装置１は、ソングのコマンド群に基づいて、仮想トラック付のフレーズを有限な実トラックＴｒ1〜Ｔｒ8に割り当てながら音声をフレーズ単位で再生・出力する。本実施形態では、一例として、仮想トラック数が64個であるのに対して、実トラック数はそれよりも少ない8個である。
【００２６】
コマンド処理系は、書込調停回路４と、複数の実行スロット５と、コマンド解析回路６と、トラック管理回路７とによって構成されている。並列に設けられた実行スロット５の個数は、実トラック数（8個）よりも多ければ制御上支障はないが、処理過程でスロット不足が生じないような十分な数であることが好ましく、本実施形態では64個存在する。それぞれの実行スロット５は、ＲＯＭから読み出されたソングのコマンド群を時系列な順序で格納する。実行スロット５に格納されたコマンド群は、時系列的に早く書き込まれたものほど早く読み出され、コマンド毎に後段のコマンド解析回路６に順次供給される。64個の実行スロット５のそれぞれにはスロット番号#1〜#64が割り当てられている。これらの実行スロット５からのコマンド群の読み出しは互いに同期して行われ、具体的には、読み出すべき実行スロット５を順次シフトしながら１コマンドずつ順番に読み出される。また、それぞれの実行スロット５は、自己に格納されたソングを特定するために、ソング番号を記憶するソング番号記憶領域を備えている。この記憶領域に対するソング番号の書き込みは、ソングのコマンド群の格納時に書込調停回路４によって行われ、書き込まれたソングは、コマンド解析回路６によって随時読み出される。さらに、それぞれの実行スロット５は、スロット相互の実行時間を調整するためのタイマを個別に保持している。このタイマは、コマンドの一種である待機コマンドによって指定された待機時間の経過をカウントダウンする。ある実行スロット５のタイマが起動している場合、その待機時間の間、そこからのコマンドの読み出しが一時的に停止する。
【００２７】
ソングの起動は、ＭＰＵがコマンド解析回路６に直接指示することによって、或いは、実行スロット５内のコマンドをコマンド解析回路６が読み込むことによって行われる。これに応じて、コマンド解析回路６は、再生対象となるソングのソング番号を書込調停回路４に指示する。この指示を受けた書込調停回路４は、指定されたソングの読み出しをＲＯＭインターフェース３に要求する。それとともに、書込調停回路４は、ＲＯＭから読み出されたソングのコマンド群を実行スロット５のいずれかに割り当てて書き込む。その際、書込対象となる実行スロット５のソング番号記憶領域には、今回書き込まれるソングのソング番号が書き込まれる。書込調停回路４は、全ての実行スロット５の使用状況をリアルタイムで管理しており、コマンド群の書き込みは空きスロットに対して行われる。
【００２８】
ソングのデータサイズが実行スロット５の記憶容量よりも大きい場合には、ソングのコマンド群を複数に分割し、実行スロット５への書き込みを複数回行ってもよい。また、ＲＯＭへのアクセスが十分に高速な場合には、実行スロット５の記憶容量は少なくてよく、単なるバッファのようなものであってもよい。ただし、実行スロット５をどのように構成した場合であっても、あるソングを構成する一連のコマンド群は同じ実行スロット５に割り当てる必要がある。
【００２９】
コマンド解析回路６は、それぞれの実行スロット５に格納されたコマンド群を順次読み出してコマンドの内容を解析するとともに、その解析結果に応じて、実トラックＴｒを割り当てながらフレーズの再生処理をフレーズ処理系８，９に指示する。コマンドの解析および実トラック検索は仮想トラックベースで行われるが、フレーズ処理系８，９に対する指示は実トラックベースで行われる。
【００３０】
トラック管理回路７は、それぞれの実トラックＴｒ1〜Ｔｒ8の使用状況を管理するとともに、あるフレーズに関する実トラックＴｒへの割り当てを、このフレーズに付加されている仮想トラックのみならず、実行スロット５にも対応付けて行う。このような管理および対応付けを行うために、トラック管理回路７はトラック割当テーブル７ａを有する。
【００３１】
図３は、トラック割当テーブル７ａの説明図である。それぞれの実トラックＴｒ1〜Ｔｒ8に関する現在の使用状況は「使用フラグ（Flag）」によって管理され、実トラックＴｒが空き状態の場合には「空き」、使用状態の場合には「使用中」となる。「使用フラグ（Flag）」の内容は、実トラックＴｒの割り当てや、フレーズの再生終了（ＭＰＵによる強制終了を含む）によって随時更新される。また、トラック割当テーブル７ａは、それぞれの実トラックＴｒ1〜Ｔｒ8に関する管理内容として、「「スロット番号（Slot）」と、「ソング番号（Song）」と、「仮想トラック番号（仮想Tr）」とを対応付けて管理する。ここで、「スロット番号（Slot）」には、実行スロット毎に予め割り当てられたスロット番号のいずれか、「ソング番号（Song）」には、ソング毎に予め割り当てられたソング番号のいずれか、「仮想トラック番号（仮想Tr）」には、フレーズ毎に予め割り当てられた仮想トラック番号のいずれかがそれぞれ記述される。これにより、ある実トラックＴｒは、特定の仮想トラックのみならず、特定の実行スロット５および特定のソングにも対応付けられる。ただし、トラック割当という点だけに着目すると、仮想トラックおよび実行スロットへの対応付けは必須であるが、ソングへの対応付けは必ずしも必要ではない。ソングへの対応付けを行う理由は、ソング番号を検索キーとしたトラック割当テーブル７ａの検索を可能にするためである。同図に示した例において、「使用中」である実トラックＴｒ6は、実行スロット#37、ソング#3154および仮想トラック#32という３つの管理内容に対応付けられている。特定の実行スロット５への対応付けを行う理由は、仮想トラックが同じでも実行スロット５が異なれば、別個の実トラックＴｒに割り当てるべきものとして処理するためである。なお、実トラックＴｒに関する管理内容は、その実トラックＴｒの「使用フラグ（Flag）」が「使用中」の場合のみ有効とされる。したがって、「使用フラグ（Flag）」が「使用中」から「空き」に変更された時点で管理内容が無効または消去され、これにより、実トラックＴｒとの対応付けが解消される。
【００３２】
トラック管理回路７は、コマンド解析回路６の解析結果に応じて、再生すべきフレーズの実トラックＴｒへの割り当てを行う場合、空き状態にある実トラックＴｒに関する「使用フラグ（Flag）」を「使用中」に変更し、管理内容を更新する。これにより、この実トラックＴｒは、このコマンドを読み出した実行スロット５と、再生すべきフレーズに付加されている仮想トラックとに対応付けられる。また、シーケンサ８におけるフレーズの再生処理が終了した場合等において、トラック管理回路７は、このフレーズによって使用状態にある実トラックＴｒに関する「使用フラグ（Flag）」を「空き」に変更して、この実トラックＴｒを解放する。これにより、この実トラックＴｒに関する上記対応付けが解消される。
【００３３】
再生処理系は、シーケンサ８と、フェード／パン回路９とによって構成されている。シーケンサ８は、コマンド解析回路６によって指定されたフレーズ番号のフレーズデータをＲＯＭから読み出す。本実施形態において、ＲＯＭに格納されたフレーズデータは所定の圧縮形式に圧縮されているため、シーケンサ８は、ＲＯＭから読み出された圧縮フレーズデータを伸長するためのデコーダ８ａを内蔵している。シーケンサ８によって生成されたフレーズ（音声信号）は、コマンド解析回路６によって指示された実トラックＴｒにフレーズ単位で出力される。また、フェード／パン回路９は、フレーズに対するボリューム／音像定位の調整を行う。具体的には、コマンド解析回路６から実トラックＴｒの指定付でボリューム演算の適用指示を受け、これに基づいて実トラックＴｒ1〜Ｔｒ8のボリューム処理が行われる。そして、実トラックＴｒ1〜Ｔｒ8の複数フレーズは、スピーカー出力の単位にミキシングされ、更にイコライザ等のエフェクトが施された後、音声出力回路（図示せず）を介して外部に出力される。
【００３４】
［実施の形態にかかるオーバーラップ再生］
つぎに、図１に示したソング#8を一例に、ソングのオーバーラップ再生について詳述する。図４は、ソング#8のコマンド群の説明図であり、時系列的に先に実行すべきコマンドから順番に記述されている。ここで、「wait」は、実行スロット５のタイマに指定値をセットしてカウントダウンを行う待機コマンドである。この指定値は待機コマンドの引数として指定される。「Ｔｒ割当」は、指定された仮想トラックを実トラックＴｒに割り当て、トラック割当テーブル７ａを更新するコマンドである。仮想トラックの指定は、このコマンドの引数（仮想トラック番号）によって行われる。「フレーズ登録」は、指定された仮想トラックに割り当てられている実トラックＴｒを検索し、その実トラックＴｒに対して、指定されたフレーズを登録するコマンドである。仮想トラックおよびフレーズの指定は、このコマンドの引数（仮想トラック番号およびフレーズ番号）によって行われる。「再生実行」は、指定された仮想トラックに割り当てられている実トラックＴｒを検索し、その実トラックＴｒでの再生をシーケンサ８に開始させるコマンドである。仮想トラックの指定は、このコマンドの引数（仮想トラック番号）によって行われる。「フェード」および「パン」は、指定された仮想トラックに割り当てられている実トラックＴｒを検索し、その実トラックＴｒでフェード／パンを行うコマンドであり、処理に必要なパラメータを含む。仮想トラックの指定は、このコマンドの引数（仮想トラック番号）によって行われる。図示したコマンド群の概略的な流れとしては、ソング#8の開始１秒後にフレーズ#8の爆発音を発音させ、２秒待機した後にフレーズ#66の金属片の飛散音を発声させるという流れになる。
【００３５】
図５から図７は、図１に示したオーバーラップ再生時における音声再生処理のフローチャートである。まず、図５において、遊技やゲームの進行によりターゲットＡが破壊された状況になると、その時点で、ＭＰＵによってソング#8の起動が指示される（ステップ１）。この指示を受けたコマンド解析回路６は、書込調停回路４にソング#8を格納すべき実行スロット５の確保を指示する。実行スロット５の空き状況を随時モニタリングしている書込調停回路４は、64個の実行スロット５の中から現時点での空スロットを一つ特定し（例えば#64）、このスロット#64にソング#8を割り当てる（ステップ２）。空スロットの検索方法としては、例えば、直前に割り当てられたスロット番号をポインタで保持しておき、今回の検索時に、ポインタによって示されたスロット番号以降における直近の空スロット（昇順の場合）を選択するといった手法が挙げられる。そして、書込調停回路４は、ＲＯＭインターフェース３に対して、ソング#8のコマンド群の読み出しを要求し、これによって、ソング#8のコマンド群がＲＯＭから読み出される（ステップ３）。書込調停回路４は、読み出されたソング#8のコマンド群を実行スロット#64に格納するとともに、この実行スロット#64が備えるソング番号記憶領域にソング#8を書き込む。コマンド解析回路６は、実行スロット#1〜#64を順番に探索し、実行可能なスロット（ソングの割り当てがあり、かつ、タイマの値が０のもの）から１コマンドずつ時分割で読み出し、読み出したコマンドを解析する。ソング#8の格納直後の読出タイミングで、実行スロット#64から最先の「wait１秒」コマンドが読み出されると、実行スロット#64のタイマに１秒がセットされ、カウントダウンが開始する（ステップ５）。カウントダウン中の１秒間は、実行スロット#64から２番目以降のコマンドを読み出さない待機状態となる。
【００３６】
その後、遊技やゲームが更に進行してターゲットＢが破壊された状況になると、その時点で、ＭＰＵによってソング#8の起動が再び指示される（ステップ６）。この場合、書込調停回路４は、64個の実行スロット５の中から現時点での空スロットを特定し（#64は既に使用中なので例えば#2）、この実行スロット#2にソング#8を割り当てる（ステップ７）。そして、ソング#8のコマンド群がＲＯＭから読み出され（ステップ８）、これが実行スロット#2に格納される（ステップ９）。その際、この実行スロット#2が備えるソング番号記憶領域にはソング#8が書き込まれる。そして、ソング#8の格納直後の読出タイミングで、実行スロット#2から最先の「wait１秒」コマンドが読み出されると、実行スロット#2のタイマに１秒がセットされ、カウントダウンが開始する（ステップ１０）。カウントダウン中の１秒間は、実行スロット#2は待機状態となる。
【００３７】
図６において、実行スロット#64に関する待機時間の１秒が経過した時点で、実行スロット#64から２番目の「Ｔｒ割当」コマンドが読み出される（ステップ１１）。コマンド解析回路６は、このコマンドの解析結果に基づき、再生処理を開始すべき爆発音のフレーズ#30（仮想Ｔｒ＝#1）に関する実トラックＴｒへの割り当てをトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、トラック割当テーブル７ａを参照して、使用トラックＴｒ6を除く空トラックのいずれを特定する（例えば実トラックＴｒ7）。空トラックの検索方法としては、例えば、直前に割り当てられた実トラックＴｒの位置をポインタで保持しておき、今回の検索時に、ポインタによって示された実トラックＴｒ以降における直近の空きトラック（昇順の場合）を選択するといった手法が挙げられる。そして、この実トラックＴｒ7の「使用フラグ（Flag）」が「空き」から「使用中」に変更されるとともに、その管理内容が「Ｔｒ割当」コマンドを読み出した実行スロット番号#64と、「Ｔｒ割当」コマンドが属するソング番号#8と、再生処理を開始すべきフレーズの仮想トラック番号#1とに更新される（ステップ１２）。ソング番号#8の特定は、引数によるコマンド指定ではなく、実行スロット#64のソング番号記憶領域から記憶内容を読み出すことによって行われる。
【００３８】
つぎに、実行スロット#64から３番目の「フレーズ登録」コマンドが読み出される（ステップ１３）。コマンド解析回路６は、このコマンドの解析結果に基づき、トラック割当テーブル７ａの検索をトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、「フレーズ登録」コマンドによって指定された仮想トラック#1と、「フレーズ登録」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ7を特定する（ステップ１５）。実トラックＴｒの通知を受けたコマンド解析回路６は、「フレーズ登録」コマンドによって指定されたフレーズ#30を実トラックＴｒ7で再生すべき旨をシーケンサ８に指示する。これにより、シーケンサ８において、実トラックＴｒ7にフレーズ#30が登録される（ステップ１６）。
【００３９】
つぎに、実行スロット#64から４番目の「再生実行」コマンドが読み出される（ステップ１４）。コマンド解析回路６は、このコマンドの解析結果に基づき、トラック割当テーブル７ａの検索をトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、「再生実行」コマンドによって指定された仮想トラック#1と、「再生実行」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ7を特定する（ステップ１５）。実トラックＴｒの通知を受けたコマンド解析回路６は、実トラックＴｒ7の再生開始をシーケンサ８に指示する。これにより、シーケンサ８は、実トラックＴｒ7に登録されているフレーズデータ#30をＲＯＭインターフェース３を介してＲＯＭから取得し、このフレーズデータ#30の再生処理を実行し、実トラックＴｒ7に出力する（ステップ１７）。
【００４０】
つぎに、実行スロット#64から５番目の「フェード」コマンドが読み出される（ステップ１８）。コマンド解析回路６は、このコマンドの解析結果に基づき、トラック割当テーブル７ａの検索をトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、「フェード」コマンドによって指定された仮想トラック#1と、「フェード」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ7を特定する（ステップ２０）。実トラックＴｒ7の通知を受けたコマンド解析回路６は、実トラックＴｒ7のフェード処理をフェード／パン回路９に指示する。これにより、フェード／パン回路９は、フレーズデータ#30が出力される実トラックＴｒ7のフェード処理を実行する（ステップ２１）。
【００４１】
つぎに、実行スロット#64から６番目の「パン」コマンドが読み出される（ステップ１９）。コマンド解析回路６は、このコマンドの解析結果に基づき、トラック割当テーブル７ａの検索をトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、「パン」コマンドによって指定された仮想トラック#1と、「パン」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ7を特定する（ステップ２０）。実トラックＴｒ7の通知を受けたコマンド解析回路６は、実トラックＴｒ7のパン処理をフェード／パン回路９に指示する。これにより、フェード／パン回路９は、フレーズデータ#30が出力される実トラックＴｒ7のパン処理を実行する（ステップ２２）。
【００４２】
そして、実行スロット#64から７番目の「wait２秒」コマンドが読み出される（ステップ２３）。コマンド解析回路６は、このコマンドの解析結果に基づき、実行スロット#64のタイマに２秒がセットされ、カウントダウンを開始する。カウントダウン中の２秒間は、実行スロット#64は待機状態となる。待機時間の２秒が経過すると、実行スロット#64から８番目以降のコマンドが読み出され、フレーズ#66（仮想トラック#2）のトラック割当、フレーズ登録、再生実行およびフェード／パンが順次実行される。
【００４３】
一方、図７において、実行スロット#2に関する待機時間の１秒が経過した時点で、実行スロット#2から２番目の「Ｔｒ割当」コマンドが読み出される（ステップ３１）。コマンド解析回路６は、このコマンドの解析結果に基づき、再生処理を開始すべき爆発音のフレーズ#30（仮想Ｔｒ＝#1）に関する実トラックＴｒへの割り当てをトラック管理回路７に依頼する（ステップ３２）。この依頼を受けたトラック管理回路７は、トラック割当テーブル７ａを参照して、使用トラックＴｒ6，Ｔｒ7を除く空トラックのいずれかを特定する（例えば実トラックＴｒ3）。そして、この実トラックＴｒ3の使用フラグ（Flag）が「空き」から「使用中」に変更されるとともに、その管理内容が「Ｔｒ割当」コマンドを読み出した実行スロット番号#2と、「Ｔｒ割当」コマンドが属するソング番号#8と、再生処理を開始すべきフレーズの仮想トラック番号#1とに更新される。ソング番号#8の特定は、引数によるコマンド指定ではなく、実行スロット#2のソング番号記憶領域から記憶内容を読み出すことによって行われる。ここで留意すべきは、このステップ３２で割当対象となる仮想トラック#1は、先のステップ１２の仮想トラック#1と同じだが、両者を区別すべく実行スロット#2，#64が異なっている点である。
【００４４】
つぎに、実行スロット#2から３番目の「フレーズ登録」コマンドが読み出される（ステップ３３）。コマンド解析回路６は、このコマンドの解析結果に基づき、トラック割当テーブル７ａの検索をトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、「フレーズ登録」コマンドによって指定された仮想トラック#1と、「フレーズ登録」コマンドが読み出された実行スロット#2とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ3を特定する（ステップ３５）。実トラックＴｒ3の通知を受けたコマンド解析回路６は、「フレーズ登録」コマンドによって指定されたフレーズ#30を実トラックＴｒ3で再生すべき旨をシーケンサ８に指示する。これにより、シーケンサ８において、実トラックＴｒ3にフレーズ#30が登録される（ステップ３６）。ここで留意すべきは、このステップ３５で検索対象となる仮想トラック#1は、先のステップ１５の仮想トラック#1と同じだが、実行スロット#2，#64が異なるので、どちらの実トラックＴｒ3，Ｔｒ7に割り当てられているかを一義的に特定できる点である。
【００４５】
つぎに、実行スロット#2から４番目の「再生実行」コマンドが読み出される（ステップ３４）。コマンド解析回路６は、このコマンドの解析結果に基づき、トラック割当テーブル７ａの検索をトラック管理回路７に依頼する。この依頼を受けたトラック管理回路７は、「再生実行」コマンドによって指定された仮想トラック#1と、「再生実行」コマンドが読み出された実行スロット#2とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ3を特定する（ステップ３５）。実トラックＴｒ3の通知を受けたコマンド解析回路６は、実トラックＴｒ3の再生開始をシーケンサ８に指示する。これにより、シーケンサ８は、実トラックＴｒ3に登録されているフレーズデータ#30をＲＯＭインターフェース３を介してＲＯＭから取得し、このフレーズデータ#30の再生処理を実行し、実トラックＴｒ3に出力する（ステップ３７）。
【００４６】
実行スロット#2に関する５番目以降のコマンドの読み出しによって、上述したステップ１８〜２３と同様の処理が行われ、フェード、パン、待機２秒が順次実行される（ステップ３８〜４３）。そして、待機時間の２秒が経過すると、実行スロット#2から８番目以降のコマンドが読み出され、フレーズ#66（仮想トラック#2）のトラック割当、フレーズ登録、再生実行およびフェード／パンが順次実行される。
【００４７】
実トラックＴｒ7におけるフレーズ#30の再生処理が終了した場合、シーケンサ８は、実トラックＴｒ7の再生が終了した旨をトラック管理回路７に通知する。この通知を受けたトラック管理回路７は、トラック割当テーブル７ａを検索し、実トラックＴｒ7の使用フラグを「使用中」から「空き」に変更することによって、実トラックＴｒ7を解放する。また、実トラックＴｒ3におけるフレーズ#30の再生処理が終了した場合、シーケンサ８は、実トラックＴｒ3の再生が終了した旨をトラック管理回路７に通知する。この通知を受けたトラック管理回路７は、トラック割当テーブル７ａを検索し、実トラックＴｒ3の使用フラグを「使用中」から「空き」に変更することによって、実トラックＴｒ3を解放する。実トラックＴｒの解放は、それ以降のフレーズ#66についても同様の手順に従う。なお、遊技やゲームの展開によりシーンチェンジが生じた場合には、ＭＰＵからの指示によって、再生途中のソングを強制的に終了させることもできる。
【００４８】
なお、以上の音声再生処理に関する説明は、同一のフレーズがオーバーラップして再生される特殊なケースに関するものであるが、同一でないフレーズの再生であっても基本的な処理の流れは同じである。
つまり、本実施形態にかかる音声処理装置１によれば、オーバーラップして再生されるようなケース以外の、同一でないフレーズの再生においても、支障なく音声処理を行うことができる。
【００４９】
［実施の形態にかかる音声処理装置の効果］
このように、本実施形態によれば、あるソングに関するコマンド群は、いずれかの実行スロット５に割り当てて書き込まれる。このソングに属するフレーズの実トラックＴｒへの割り当ては、フレーズ自体に割り当てられた仮想トラックのみならず、実行スロット５にも対応付けて行われる。したがって、同一のソングを複数の実トラックでオーバーラップ再生する場合、フレーズの仮想トラックが同じであったとしても、実行スロット５の違いを以て、それぞれを異なる実トラックＴｒに割り当てるべきものとして処理できる。その結果、同一ソングのオーバーラップ再生時における仮想トラックのコンフリクトを解消できる。また、仮想トラックのコンフリクトの問題をハードウェア側で解消することにより、音編集ソフトウェア上で作業する音製作者の利便性の向上を図ることが可能になる。さらに、オーバーラップするフレーズ毎に別個の仮想トラックを割り当てる必要がないので、仮想トラックのリソースの浪費を抑制できる。
【００５０】
ここで、本実施形態にかかる効果である仮想トラックのコンフリクト解消について更に詳しく述べれば、下記のとおりである。
すなわち、本実施形態にかかる音製作手法では、その前提として、音製作者の負担を軽減するために、音編集の場面において仮想トラックの識別番号が重複することを許容している。これにより、音製作者が音の製作に注力できる環境を提供することができる。この本実施形態にかかる音製作手法は、音製作者の負担を軽減できる画期的な手法である。
しかしながら、従来の技術水準との関係で、上記の本実施形態にかかる音製作手法は、「仮想トラックのコンフリクト」という新たな問題を生じさせる。すなわち、従来技術では同一識別番号の複数の仮想トラックの並存を正常な事態として想定していないので、従来の音声処理装置の構成（ハードウェア）上ではこの考え方で実際に音声処理を進めることができない。すなわち、従来の音声処理装置の構成では、同時に処理されるフレーズの仮想トラックの識別番号が同じ場合には、両者をハードウェア上区別することができない。従って、それらの仮想トラックについての再生を正常に完了することができず、同一フレーズグループ内の同一フレーズを複数の実トラックで時系列的にオーバーラップして再生することができない。このような問題が「仮想トラックのコンフリクト（競合）」の問題である。
この仮想トラックのコンフリクトを解消するように、本実施形態にかかる音声処理装置は、上述したとおり、同一のソングを複数の実トラックでオーバーラップ再生する場合、フレーズの仮想トラックが同じであったとしても、実行スロット５の違いを以て、それぞれを異なる実トラックＴｒに割り当てるべきものとして処理している。従って、同一の識別番号が付された複数の仮想トラックについての音の再生を、仮想トラックのコンフリクトを避けつつ正常に実行できるように構成されている。その結果、本実施形態において、音製作者があるソングを作成・編集する際、他のソングでどの仮想トラックを使用しているかを気にする必要がない。具体的には、例えば、多数の同じ仮想トラック#2を含むソングについての割り当てが求められた場面でも、或いは、多数の同じソング#8を含むソングについての割り当てが求められた場面でも、それらの個々の仮想トラック#2やソング#8を別々のものと認識して、実トラックへの割り当てを進めることができる。
以上のように、本実施形態にかかる音製作手法、音声処理装置によれば、音製作者は、音作成以外のプログラミング技術等に精通していなくとも（或いは精通しているか否かによらず）、仮想トラック番号を任意に付与しながら音編集を行うことができる。その結果、音製作者は、仮想トラック番号の付与のされ方について特別な配慮、例えば展開に応じたオーバーラップ再生の最大数を見越した上でフレーズグループの作成・編集を行うといったような配慮をしなくてもよい。これにより、音製作者の負担が軽減され、音編集ソフトウェア上で作業する音製作者の利便性が向上し、音製作者が音の製作に注力できる環境を提供することができる。
【００５１】
また、本実施形態によれば、フレーズの再生処理が終了した時点で実トラックＴｒが解放されるので、解放後の仮想トラックベースの指示に対しては何も処理されないことが保証されるという効果がある。一般に、ＭＰＵは、ポーリングによって実トラックＴｒの使用状況を一定の間隔で随時取得している。ポーリングでは、トラック割当テーブル７ａが更新されてからＭＰＵがそれを取得するまでに時間差が生じる。この時間差に起因して、例えば、実際には再生が終了したフレーズに対して、ＭＰＵがボリューム調整やパン移動などを指示してしまうといった如く、ＭＰＵの指示と実際の状況との間に一時的な不整合が生じることがある。ここで、比較例として、ＭＰＵからの指示を実トラックベースで行う場合、たとえＭＰＵの指示に係るフレーズの再生が既に終了し、これに続く別のフレーズの処理が始まっていたとしても、指定された実トラックＴｒの処理が一律に実行されてしまう。このような誤った処理の実行を防止するためには、ポーリングを高頻度で行う必要がある。これに対して、本実施形態のように、ＭＰＵからの指示を仮想トラックベースで行う場合、フレーズの再生が終了した時点で実トラックＴｒとの対応付けが解消されるので、その後に、仮想トラックを指定しても、該当する実トラックＴｒが存在しないことになる。したがって、上述した誤った処理が実行されてしまうことを防止できる。その結果、ポーリングを高頻度で行う必要がないので、ポーリングに要するＭＰＵの負荷の軽減を図ることができるとともに、プログラマが実トラックＴｒの利用状況の詳細を把握することの煩雑さも解消できる。
【００５２】
なお、上述した実施形態では、ソングの起動を指示するＭＰＵ、および、ソングのコマンド群やフレーズデータを格納するＲＯＭが音声処理装置１の外部に存在するシステム構成について説明したが、音声処理装置１自体がＭＰＵやＲＯＭを内蔵してもよい。
【００５３】
また、上述した実施形態では、トラック割当テーブル７ａで「「スロット番号（Slot）」、「ソング番号（Song）」および「仮想トラック番号（仮想Tr）」の３項目を管理しているが、「ソング番号（Song）」および「仮想トラック番号（仮想Tr）」の２項目で本発明の目的は達成されるので、「ソング番号（Song）」については省略しても構わない。
ソング番号を省略した場合も、上記実施の形態と同様に、あるフレーズグループに関するコマンド群が、いずれかの実行スロットに割り当てて書き込まれるようにする。このフレーズグループに属するフレーズの実トラックへの割り当ては、フレーズ自体に付加されている仮想トラックのみならず、実行スロットにも対応付けて行われるようにする。したがって、フレーズの仮想トラックが重複していたとしても、実行スロットの違いを以て、別個の実トラックが割り当てられる。このような作用により、仮想トラックのコンフリクトを解消できるという効果を有する。
なお、管理内容に「ソング番号（Song）」を含めた場合には、ソング番号を検索キーとした実トラックＴｒの検索が可能になる。このような検索は、例えば、複数の実行スロット５で実行されている同一のソングを、ＭＰＵからのソング番号の指定にて強制終了させたい場合に実行される。この場合、ＭＰＵによって指定されたソング番号を検索キーにトラック割当テーブル７ａを検索することによって、同一のソングが割り当てられている実トラックＴｒを特定することができる。
【００５４】
なお、本実施形態では、「ソング」という概念を導入し、トラック割当テーブルにソング番号を含ませている。前述したとおり、ソングとは、音声の再生単位であるフレーズをまとめたフレーズグループの時系列的な再生順序を規定するシナリオ（曲）である。音声処理装置１によれば、複数のソングをオーバーラップして実行する際に、それら複数のソング間においてフレーズの仮想トラック番号が重複が生じた場合であっても、トラック管理回路７がフレーズと実トラックとの間の割り当てを支障なく進めることができる。このように、ソングに含まれる各フレーズの仮想トラック番号がどのように定められていても音声処理装置１上で実トラックの割当が正常に完了するから、プログラマは各ソング内の仮想トラック番号の内容（つまり仮想トラックのコンフリクト、競合）に特別な配慮をしなくともよく、ＲＯＭからのソング読出や、ソング単位での音の起動、再生を観念しつつプログラミングを行えばよい。その結果、プログラマの負担も極めて軽いもので済み、音製作者およびプログラマの両者の負担を軽減することができる。
【００５５】
なお、上述した実施の形態では、フレーズの仮想トラックが重複していたとしても、実行スロットの違いを以て別個の実トラックが割り当てられ、このような作用により仮想トラックのコンフリクトを解消している。
しかしながら、本発明はこれに限られるものではない。重複した時期に割当を行う必要が生じた、同一の識別番号の付された複数のフレーズ又はソング（実施の形態では、図１等に示された、オーバーラップして再生すべき２つのフレーズ#30、フレーズ#66、ソング#8）を、別々のフレーズやソングとして区別して認識するように、音声処理装置内部のハードウェアやソフトウェアを構築すればよい。連続して又は一定期間内に、同一の識別番号の付された複数のフレーズ又はソングについての実トラックへの割り当て要求が生じた場合には、後から生じた割り当て要求を、別の新たなフレーズ又はソングについての再生要求があったものと認識するように、音声処理装置内部のハードウェアやソフトウェアを構築すればよい。
このように、識別番号の重複を想定した上でそれらを区別できるように音声処理装置を構築しておけば、同時に処理されるフレーズの仮想トラックの識別番号が同じ場合であっても、両者を音声処理装置上でそれぞれ再生させることができる。
なお、上述した「実施の形態のオーバーラップ再生」の説明には、少なくとも下記（１）〜（５）の事項が明確に記載されている。少なくともこれらの事項に基づけば、上記の「同一の識別番号の付された複数のフレーズ又はソング（実施の形態では、図１等に示された、オーバーラップして再生すべき２つのフレーズ#30、フレーズ#66、ソング#8）を、別々のフレーズやソングとして区別して認識する」という技術的思想を把握することができる。
（１）スロット番号が異なる実行スロット５（つまりスロット#2とスロット#64）にそれぞれソング#8が割り当てられる点（ステップ２、ステップ７）。
（２）トラック管理回路７が、仮想トラック#1と実行スロット#64とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ7を特定する点（ステップ１５）。
（３）トラック管理回路７が、仮想トラック#1と実行スロット#2とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ3を特定する点（ステップ３５）。
（４）ステップ３２で割当対象となる仮想トラック#1は、先のステップ１２の仮想トラック#1と同じだが、両者を区別すべく実行スロット#2，#64が異なっている点。
（５）ステップ３５で検索対象となる仮想トラック#1は、先のステップ１５の仮想トラック#1と同じだが、実行スロット#2，#64が異なるので、どちらの実トラックＴｒ3，Ｔｒ7に割り当てられているかを一義的に特定できる点。
【００５６】
尚、上述した実施の形態では、ＲＯＭインターフェース３によるソングのコマンド群の読み出しやフレーズデータの読み出しにより、前記第１、第８の発明における「フレーズ取得手段」が実現され、コマンド解析回路６およびシーケンサ８が、前記第１、第８の発明における「再生処理手段」に相当している。
また、上述した実施の形態では、図１における紙面上方のソング＃８（つまり二つのソング＃８のうち先に再生開始されるソング＃８）が、前記第１の発明における「一つのフレーズ」に、図１における紙面下方のソング＃８（つまり二つのソング＃８のうち後に再生開始されるソング＃８）が、前記第１、第８の発明における「他の一つのフレーズ」に、それぞれ相当している。
そして、上述した実施の形態では、スロット番号が異なる実行スロット５（つまりスロット#2とスロット#64）にそれぞれソング#8が割り当てられ（ステップ２、ステップ７）、トラック管理回路７が、仮想トラック#1と実行スロット#64とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ7を特定し（ステップ１５）、トラック管理回路７が、仮想トラック#1と実行スロット#2とを検索キーとしてトラック割当テーブル７ａを検索し、実トラックＴｒ3を特定する（ステップ３５）ことにより、前記第１、第８の発明における「実トラック割当手段」が実現されている。
【産業上の利用可能性】
【００５７】
以上のように、本発明に係る音声処理装置は、フレーズグループに含まれる個々の仮想トラック付フレーズを実トラックに割り当てながら、フレーズ単位で音声を再生する処理に対して広く適用できる。
【符号の説明】
【００５８】
１  音声処理装置
２  ＭＰＵインターフェース
３  ＲＯＭインターフェース
４  書込調停回路
５  実行スロット
６  コマンド解析回路
７  トラック管理回路
７ａ  トラック割当テーブル
８  シーケンサ
８ａ  デコーダ
９  フェード／パン回路
【図１】
2011138122.tif 000003
【図２】
2011138122.tif 000004
【図３】
2011138122.tif 000005
【図４】
2011138122.tif 000006
【図５】
2011138122.tif 000007
【図６】
2011138122.tif 000008
【図７】
2011138122.tif 000009