説明

音声処理装置

【課題】同一フレーズグループのオーバーラップ再生時における仮想トラックのコンフリクトの解消を図る。
【解決手段】トラック管理回路7は、コマンド解析回路6の解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、このコマンドを読み出した実行スロット5と、再生すべきフレーズに付加されている仮想トラックとに対応付ける。また、トラック管理回路7は、シーケンサ8におけるフレーズの再生処理が終了した場合、このフレーズによって使用状態にある実トラックに関する使用状況を空き状態に変更するとともに、この実トラックに関する対応付けを解消する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想トラックが付加されたフレーズを実トラックに割り当てながら、フレーズ単位で音声を再生する音声処理装置に関する。
【背景技術】
【0002】
従来より、音声の再生単位となるフレーズを実トラック数よりも多い仮想トラック数で作成し、仮想トラックから実トラックへの割り当てを行いながらフレーズを再生する手法が知られている。ハードウェアの実トラック数よりも多い仮想トラックをソフトウェア上で提供することで、有限な実トラックのリソースを気にせずに編集作業を進められるので、音製作者(サウンドクリエイター)の作業利便性を高めることができる。例えば、特許文献1には、オーディオミキサアプリケーション上で提供された仮想トラックのうち、ユーザによって指定されたものを、実トラックに自動的に割り当てるデータ信号処理装置が開示されている。また、特許文献2には、実トラック毎に設けられたレジスタには直接対応しない仮想トラックを備え、再生時に仮想トラックの音データを実トラック毎のレジスタに上書きするコンピュータゲーム装置が開示されている。
【0003】
また、音声編集の分野では、音製作者によってグループ化された複数フレーズの時系列的な再生手順を予め規定しておき、このフレーズグループを見かけ上1つの連続したフレーズとして再生する手法も知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第4168310号公報
【特許文献2】特許第2914828号公報
【特許文献3】特開平6−27951号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
仮想トラックを用いる音製作手法では、フレーズやフレーズグループの製作過程で、それぞれの仮想トラックに、個々の仮想トラックを区別するための識別番号が付与される。この識別番号は、通常は、例えば上記の特許文献2に記載されているように、複数の仮想トラックの間で番号が重複しないように付与される。作製されたフレーズやフレーズグループを実際に発音する音声処理装置(ハードウェア)も、このような識別番号の付与ルールのもとで編集作業がなされることを前提に、構築されている。従って、従来の音声処理装置にとって、同じタイミングで同一識別番号の仮想トラックについての再生指令を複数個受けるという事態は、通常想定している事態ではない。
【0006】
しかしながら、仮想トラックの識別番号について重複を禁止する従来の音製作手法は、音製作者にとって大きな負担を強いるものである。例えばインタラクティブな遊技機やゲーム機では遊技やゲームの展開が予測できないので、その展開次第では、同じフレーズグループを同時に多数再生しなければならない状況が生じ得る。これに対処するために、従来の技術では、同一フレーズを複数の実トラックで時系列的にオーバーラップして再生できるように仮想トラックの割り当てのみを変えたフレーズグループを複数個用意するといった、特別の配慮が要求される。一方、音製作者は、音の作成のみを担当し、音を素材として用いた遊技やゲームのプログラムの作成自体には関与しないことが多い。音製作者が音作成以外のプログラミング技術等に精通していない場合も多い。こういった実情のもとでは、音製作者にとっては、展開に応じたオーバーラップ再生の最大数を見越した上でフレーズグループの作成・編集を要求されること自体、過度の負担となる。
【0007】
そこで、上記のような音製作者の負担を軽減するために、音編集の場面において仮想トラックの識別番号が重複することを許容して、音製作者が音の製作に注力できる環境を提供するという考え方がある。この考え方は音製作者の負担を軽減できる画期的な手法ではあるものの、従来技術では同一識別番号の複数の仮想トラックの並存を正常な事態として想定していないので、従来の音声処理装置の構成(ハードウェア)上ではこの考え方で実際に音声処理を進めることができない。すなわち、従来の音声処理装置の構成では、同時に処理されるフレーズの仮想トラックの識別番号が同じ場合には、両者をハードウェア上区別することができない。従って、それらの仮想トラックについての再生を正常に完了することができず、同一フレーズグループ内の同一フレーズを複数の実トラックで時系列的にオーバーラップして再生することができない。こういった事態はいわば「仮想トラックのコンフリクト(競合)」であり、この「コンフリクト」は上記の新規な音製作手法のもとで生ずる独特の課題である。
【0008】
本発明は、上記のような課題を解決するためになされたものであり、仮想トラックのコンフリクトを回避しつつ再生が可能な音声処理装置を提供することを目的とする。
【0009】
なお、特許文献2には仮想トラックを備える技術が記載されているが、仮想トラックのコンフリクトについては記載も示唆もされていない。
また、特許文献3には、複数の系列と、系列の数よりも少ない数の効果付加チャンネルとを有する効果付与装置が記載されている。この効果付与装置は、効果付加チャンネルの数を越えて所定の系列への効果付加チャンネルの新たな割り当て要求がある場合に、重み付けに基づいて割り当ての関係を変更している。しかしながら、仮想トラックと実トラックとの割り当てについては記載がなく、仮想トラックのコンフリクトについては記載も示唆もされていない。
【課題を解決するための手段】
【0010】
第1の発明は、上記の目的を達成すべく、音声処理装置であって、フレーズ取得手段と、再生処理手段と、複数の実トラックと、実トラック割当手段とを備えている。フレーズ取得手段は、それぞれに仮想トラックが付加された複数のフレーズを取得する。再生処理手段は、前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う。複数の実トラックには、前記再生処理手段での処理に従って音信号が出力される。実トラック割当手段は、前記フレーズに関する前記実トラックへの割り当てを行う。この実トラック割当手段は、前記フレーズ取得手段で取得された一つのフレーズに関する前記実トラックへの割り当て要求と、前記フレーズ取得手段で取得され前記一つのフレーズと同一の仮想トラックが付加された他の一つのフレーズに関する前記実トラックへの割り当て要求と、が重複する期間において発生したときには、前記一つのフレーズと前記他の一つのフレーズとを別の実トラックで再生すべきフレーズであるものと扱って割り当てを行う。
【0011】
また、第2の発明は、上記第1の発明において、前記フレーズ取得手段は、前記フレーズに関するコマンドを一時的に格納する複数のスロットと、前記フレーズのうち一まとまりのフレーズグループとして再生されるべき複数のフレーズに関するコマンド群を、前記複数のスロットのうち同じスロットに選択的に格納する手段と、前記再生処理手段に提供するために、前記複数のスロットにそれぞれ格納された前記コマンドを取り出す手段と、を含んでいる。この第2の発明において、実トラック割当手段は、前記複数のスロットのうち異なるスロットに格納されたコマンドに応じたフレーズの再生を当該スロットごとに別の実トラックに割り当てる手段をさらに含んでいる。
【0012】
第3の発明は、上記の目的を達成すべく、フレーズグループの時系列的な再生手順を規定するコマンド群に基づいて、音声を再生する音声処理装置を提供する。この音声処理装置は、複数の実行スロットと、書込調停回路と、コマンド解析回路と、シーケンサと、複数の実トラックと、トラック管理回路とを有する。それぞれの実行スロットは、時系列な順序でコマンド群を格納する。これらの実行スロットに格納されたコマンド群の読み出しは、実行スロット間で互いに同期して行われる。書込調停回路は、再生すべきフレーズグループに関するコマンド群を、複数の実行スロットのうちのいずれかに割り当てて書き込む。コマンド解析回路は、実行スロットのそれぞれに格納されたコマンド群をコマンド毎に順次読み出し、読み出されたコマンドの解析結果に応じて、フレーズグループ中のフレーズの再生処理を指示する。シーケンサは、コマンド解析回路からの指示に応じて、フレーズの再生処理を行う。複数の実トラックは、シーケンサによって生成された音声信号がフレーズ単位でいずれかに出力される。トラック管理回路は、実トラックのそれぞれに関する使用状況を管理するとともに、個々のフレーズに関する実トラックへの割り当てを、実行スロットのいずれかと、このフレーズに付加されている仮想トラックとに対応付けて行う。ここで、トラック管理回路は、コマンド解析回路の解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、解析されたコマンドを読み出した実行スロットと、再生すべきフレーズに付加されている仮想トラックとに対応付ける。
【0013】
また、第4の発明は、上記第3の発明において、書込調停回路が、同一のフレーズグループを複数の実トラックで重複して再生する場合、このフレーズグループに関するコマンド群を、第1の実行スロットと、第1の実行スロットとは異なる第2の実行スロットとにそれぞれ書き込む。この場合、トラック管理回路は、第1の実行スロットより読み出されたコマンドの解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、第1の実行スロットと、再生すべきフレーズに付加されている仮想トラックとに対応付ける。また、トラック管理回路は、第2の実行スロットより読み出されたコマンドの解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する使用状況を使用状態に変更するとともに、この実トラックを、第2の実行スロットと、再生すべきフレーズに付加されている仮想トラックとに対応付ける。
【0014】
また、第5の発明は、上記第3または第4の発明において、トラック管理回路は、実行スロットのいずれかより読み出されたコマンドによって指定された仮想トラックに割り当てられている実トラックを検索する場合、この実行スロットと、コマンドによって指定された仮想トラックとを検索キーとして、実トラックを検索する。
【0015】
さらに、第6の発明は、上記第3乃至第5の発明において、トラック管理回路は、上記実トラックへの割り当てを、フレーズグループに対応付けて行う。
【0016】
また、第7の発明は、上記第3乃至第6の発明において、トラック管理回路は、シーケンサにおけるフレーズの再生処理が終了した場合、このフレーズによって使用状態にある実トラックに関する使用状況を空き状態に変更して、この実トラックを解放する。
【0017】
また、第8の発明は、上記の目的を達成すべく、音声処理装置であって、ソング取得手段と、再生処理手段と、複数の実トラックと、実トラック割当手段とを備えている。ソング取得手段は、それぞれに仮想トラックが付加された1つ以上のフレーズを含むソングを取得する。再生処理手段は、前記ソングに含まれる前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う。複数の実トラックには、前記再生処理手段での処理に従って音信号が出力される。実トラック割当手段は、前記フレーズに関する前記実トラックへの割り当てを行う。この実トラック割当手段は、一つのソングに含まれるフレーズに関する前記実トラックへの割り当てと、前記一つのソングに含まれるフレーズと同一の仮想トラックが付加されたフレーズを含む又は前記一つのソングと同一の識別番号を有する他の一つのソングに含まれるフレーズに関する前記実トラックの割り当てと、が重複する期間において発生したときには、前記一つのソングのフレーズと前記他の一つのソングのフレーズとを別の実トラックで再生すべきものと扱って割り当てを行う。
【発明の効果】
【0018】
本発明によれば、仮想トラックのコンフリクトの問題を解消することにより、音編集ソフトウェア上で作業する音製作者の利便性の向上を図ることが可能になる。
【図面の簡単な説明】
【0019】
【図1】フレーズグループ(ソング)の一例を示す概念図
【図2】音声処理装置のブロック構成図
【図3】トラック割当テーブルの説明図
【図4】ソングのコマンド群の説明図
【図5】オーバーラップ再生時における音声再生処理のフローチャート
【図6】オーバーラップ再生時における音声再生処理のフローチャート
【図7】オーバーラップ再生時における音声再生処理のフローチャート
【発明を実施するための形態】
【0020】
[実施の形態にかかる音製作手法、音声編集]
本実施形態にかかる音声処理装置の具体的構成の説明に先立って、まず、本実施形態に係る音声処理装置が取り扱うことができるフレーズグループである「ソング」の概念について説明する。ソングとは、音声の再生単位であるフレーズをまとめたフレーズグループの時系列的な再生順序を規定するシナリオ(曲)である。ソングは、複数のフレーズで構成してもよいし、単一のフレーズで構成してもよい。前者の例としては、図1に示すように、遊技やゲームでターゲットの破壊時に発音されるソング(ソング番号=#8)が挙げられる。このソング#8は、爆発音のフレーズ(フレーズ番号=#30)と、この爆発音に続いて発音される金属片の飛散音のフレーズ(フレーズ番号=#66)とで構成されている。ここで、ソング番号は、フレーズグループ(ソング)を識別するグループ番号である。一方、後者の例としては、レーシングカーの騒音を発音するフレーズそのものよりなるソングが挙げられる。レーシングカーの騒音を発声するソングを複数同時に再生することにより、臨場感溢れるカーレースの状況を再現できる。
【0021】
ソングの作成・編集は、音声編集アプリケーションを用いて、音製作者によって行われる。扱うことができるソング数の上限は、製品仕様として予め決められている。ハードウェアでは、通常、ソングを識別するインデックス(ソング番号)のビット長が予め決められている。したがって、インデックスが12ビットならば最大4096種類といった如く、ソングの上限数は有限となる。また、個々のフレーズには音製作者によって仮想トラックが割り当てられる。扱うことができる仮想トラック数の上限は、テーブルメモリのビット幅に依存し、音製作者の作業利便性を考慮した上で製品仕様として予め決められている(例えば64仮想トラック)。音声を作成する音製作者、および、音製作者の作成物を素材として遊技やゲームのプログラムを作成するプログラマの双方は、ハードウェアの実トラック数が有限で、同時再生できるフレーズ数に制限があることに留意する。
【0022】
音製作者は、音声編集アプリケーションといった開発環境上で、一例として最大4096種類のソングを任意に作成することができる。1つのソングでは、仮想トラックを例えば64種類まで自由に扱うことができる。特定の仮想トラック番号を効果音や警告音に使うことで、フレーズの配置を柔軟かつ効率的に行うことができる。本実施形態において、音製作者は、あるソングを作成・編集する際、他のソングでどの仮想トラックを使用しているかを気にする必要はない。フレーズの再生、フレーズに対する発音開始タイミングの調整、ボリューム調整、音像調整などの作業は、すべて仮想トラックベースで行われる。音製作者によって作成されたソングは、次工程の作業を担当するプログラマに提供される。
【0023】
プログラマは、BGMはソング#6、破壊音はソング#8といった曲情報を音製作者から受け取り、これに基づいてハードウェアを制御するプログラムを作成する。ソングを格納するハードウェア上の実行スロットは、ソングの再生に十分な数が用意されている(例えば64スロット)。したがって、通常、プログラマは、スロット不足に起因してソングが実行できない状況や、ソングがどの実行スロットで実行されているのかといった事項を意識する必要はない。また、本実施形態では、同じソングを複数オーバーラップして再生することも製品仕様として許容されている。このオーバーラップ再生は、同一ソングを同時に再生する場合、および、同一ソングの一部が時系列的に重複する場合の双方を含む。図1に示した例では、遊技やゲームの進行過程で2つのターゲットA,Bが連続して破壊された場合、同一のソング#8がオーバーラップ再生される。
【0024】
上述したように、本実施形態において、音製作者は、あるソングを作成・編集する際、他のソングでどの仮想トラックを使用しているかを気にする必要はない。つまり、本実施形態にかかる音製作手法は、その前提として、音製作者の負担を軽減するために、音編集の場面において仮想トラックの識別番号が重複することを許容するものである。そして、本実施形態によれば、仮想トラックの識別番号の重複を許容した代わりに、音声処理装置が、仮想トラックのコンフリクトを避けるようにこの重複を区別し、適切に処理する。以下、上記のようなコンセプトに基づいて作製、編集されたソングを仮想トラックのコンフリクトを避けるように再生できる機能を備えた、音声処理装置の構成等について、詳細に説明する。
【0025】
[実施の形態にかかる音声処理装置の構成及び動作]
図2は、上述したソングを再生する音声処理装置のブロック構成図である。この音声処理装置1は、外部システムとの間のデータ転送を調停するインターフェース群2,3と、コマンド処理系4〜7と、再生処理系8,9と主体に構成されている。MPUインターフェース2は、音声処理装置1の外部に接続されたMPU(図示せず)との間のデータ転送を調停し、MPUによって発行されたコマンド(例えばソングの起動コマンド)をコマンド解析回路6に供給する。また、ROMインターフェース3は、音声処理装置1の外部に接続された外部ROM(図示せず)との間のデータ転送を調停し、ROMから読み出されたソングのコマンド群を書込調停回路4に供給するとともに、ROMから読み出されたフレーズデータをシーケンサ8に供給する。音声処理装置1は、ソングのコマンド群に基づいて、仮想トラック付のフレーズを有限な実トラックTr1〜Tr8に割り当てながら音声をフレーズ単位で再生・出力する。本実施形態では、一例として、仮想トラック数が64個であるのに対して、実トラック数はそれよりも少ない8個である。
【0026】
コマンド処理系は、書込調停回路4と、複数の実行スロット5と、コマンド解析回路6と、トラック管理回路7とによって構成されている。並列に設けられた実行スロット5の個数は、実トラック数(8個)よりも多ければ制御上支障はないが、処理過程でスロット不足が生じないような十分な数であることが好ましく、本実施形態では64個存在する。それぞれの実行スロット5は、ROMから読み出されたソングのコマンド群を時系列な順序で格納する。実行スロット5に格納されたコマンド群は、時系列的に早く書き込まれたものほど早く読み出され、コマンド毎に後段のコマンド解析回路6に順次供給される。64個の実行スロット5のそれぞれにはスロット番号#1〜#64が割り当てられている。これらの実行スロット5からのコマンド群の読み出しは互いに同期して行われ、具体的には、読み出すべき実行スロット5を順次シフトしながら1コマンドずつ順番に読み出される。また、それぞれの実行スロット5は、自己に格納されたソングを特定するために、ソング番号を記憶するソング番号記憶領域を備えている。この記憶領域に対するソング番号の書き込みは、ソングのコマンド群の格納時に書込調停回路4によって行われ、書き込まれたソングは、コマンド解析回路6によって随時読み出される。さらに、それぞれの実行スロット5は、スロット相互の実行時間を調整するためのタイマを個別に保持している。このタイマは、コマンドの一種である待機コマンドによって指定された待機時間の経過をカウントダウンする。ある実行スロット5のタイマが起動している場合、その待機時間の間、そこからのコマンドの読み出しが一時的に停止する。
【0027】
ソングの起動は、MPUがコマンド解析回路6に直接指示することによって、或いは、実行スロット5内のコマンドをコマンド解析回路6が読み込むことによって行われる。これに応じて、コマンド解析回路6は、再生対象となるソングのソング番号を書込調停回路4に指示する。この指示を受けた書込調停回路4は、指定されたソングの読み出しをROMインターフェース3に要求する。それとともに、書込調停回路4は、ROMから読み出されたソングのコマンド群を実行スロット5のいずれかに割り当てて書き込む。その際、書込対象となる実行スロット5のソング番号記憶領域には、今回書き込まれるソングのソング番号が書き込まれる。書込調停回路4は、全ての実行スロット5の使用状況をリアルタイムで管理しており、コマンド群の書き込みは空きスロットに対して行われる。
【0028】
ソングのデータサイズが実行スロット5の記憶容量よりも大きい場合には、ソングのコマンド群を複数に分割し、実行スロット5への書き込みを複数回行ってもよい。また、ROMへのアクセスが十分に高速な場合には、実行スロット5の記憶容量は少なくてよく、単なるバッファのようなものであってもよい。ただし、実行スロット5をどのように構成した場合であっても、あるソングを構成する一連のコマンド群は同じ実行スロット5に割り当てる必要がある。
【0029】
コマンド解析回路6は、それぞれの実行スロット5に格納されたコマンド群を順次読み出してコマンドの内容を解析するとともに、その解析結果に応じて、実トラックTrを割り当てながらフレーズの再生処理をフレーズ処理系8,9に指示する。コマンドの解析および実トラック検索は仮想トラックベースで行われるが、フレーズ処理系8,9に対する指示は実トラックベースで行われる。
【0030】
トラック管理回路7は、それぞれの実トラックTr1〜Tr8の使用状況を管理するとともに、あるフレーズに関する実トラックTrへの割り当てを、このフレーズに付加されている仮想トラックのみならず、実行スロット5にも対応付けて行う。このような管理および対応付けを行うために、トラック管理回路7はトラック割当テーブル7aを有する。
【0031】
図3は、トラック割当テーブル7aの説明図である。それぞれの実トラックTr1〜Tr8に関する現在の使用状況は「使用フラグ(Flag)」によって管理され、実トラックTrが空き状態の場合には「空き」、使用状態の場合には「使用中」となる。「使用フラグ(Flag)」の内容は、実トラックTrの割り当てや、フレーズの再生終了(MPUによる強制終了を含む)によって随時更新される。また、トラック割当テーブル7aは、それぞれの実トラックTr1〜Tr8に関する管理内容として、「「スロット番号(Slot)」と、「ソング番号(Song)」と、「仮想トラック番号(仮想Tr)」とを対応付けて管理する。ここで、「スロット番号(Slot)」には、実行スロット毎に予め割り当てられたスロット番号のいずれか、「ソング番号(Song)」には、ソング毎に予め割り当てられたソング番号のいずれか、「仮想トラック番号(仮想Tr)」には、フレーズ毎に予め割り当てられた仮想トラック番号のいずれかがそれぞれ記述される。これにより、ある実トラックTrは、特定の仮想トラックのみならず、特定の実行スロット5および特定のソングにも対応付けられる。ただし、トラック割当という点だけに着目すると、仮想トラックおよび実行スロットへの対応付けは必須であるが、ソングへの対応付けは必ずしも必要ではない。ソングへの対応付けを行う理由は、ソング番号を検索キーとしたトラック割当テーブル7aの検索を可能にするためである。同図に示した例において、「使用中」である実トラックTr6は、実行スロット#37、ソング#3154および仮想トラック#32という3つの管理内容に対応付けられている。特定の実行スロット5への対応付けを行う理由は、仮想トラックが同じでも実行スロット5が異なれば、別個の実トラックTrに割り当てるべきものとして処理するためである。なお、実トラックTrに関する管理内容は、その実トラックTrの「使用フラグ(Flag)」が「使用中」の場合のみ有効とされる。したがって、「使用フラグ(Flag)」が「使用中」から「空き」に変更された時点で管理内容が無効または消去され、これにより、実トラックTrとの対応付けが解消される。
【0032】
トラック管理回路7は、コマンド解析回路6の解析結果に応じて、再生すべきフレーズの実トラックTrへの割り当てを行う場合、空き状態にある実トラックTrに関する「使用フラグ(Flag)」を「使用中」に変更し、管理内容を更新する。これにより、この実トラックTrは、このコマンドを読み出した実行スロット5と、再生すべきフレーズに付加されている仮想トラックとに対応付けられる。また、シーケンサ8におけるフレーズの再生処理が終了した場合等において、トラック管理回路7は、このフレーズによって使用状態にある実トラックTrに関する「使用フラグ(Flag)」を「空き」に変更して、この実トラックTrを解放する。これにより、この実トラックTrに関する上記対応付けが解消される。
【0033】
再生処理系は、シーケンサ8と、フェード/パン回路9とによって構成されている。シーケンサ8は、コマンド解析回路6によって指定されたフレーズ番号のフレーズデータをROMから読み出す。本実施形態において、ROMに格納されたフレーズデータは所定の圧縮形式に圧縮されているため、シーケンサ8は、ROMから読み出された圧縮フレーズデータを伸長するためのデコーダ8aを内蔵している。シーケンサ8によって生成されたフレーズ(音声信号)は、コマンド解析回路6によって指示された実トラックTrにフレーズ単位で出力される。また、フェード/パン回路9は、フレーズに対するボリューム/音像定位の調整を行う。具体的には、コマンド解析回路6から実トラックTrの指定付でボリューム演算の適用指示を受け、これに基づいて実トラックTr1〜Tr8のボリューム処理が行われる。そして、実トラックTr1〜Tr8の複数フレーズは、スピーカー出力の単位にミキシングされ、更にイコライザ等のエフェクトが施された後、音声出力回路(図示せず)を介して外部に出力される。
【0034】
[実施の形態にかかるオーバーラップ再生]
つぎに、図1に示したソング#8を一例に、ソングのオーバーラップ再生について詳述する。図4は、ソング#8のコマンド群の説明図であり、時系列的に先に実行すべきコマンドから順番に記述されている。ここで、「wait」は、実行スロット5のタイマに指定値をセットしてカウントダウンを行う待機コマンドである。この指定値は待機コマンドの引数として指定される。「Tr割当」は、指定された仮想トラックを実トラックTrに割り当て、トラック割当テーブル7aを更新するコマンドである。仮想トラックの指定は、このコマンドの引数(仮想トラック番号)によって行われる。「フレーズ登録」は、指定された仮想トラックに割り当てられている実トラックTrを検索し、その実トラックTrに対して、指定されたフレーズを登録するコマンドである。仮想トラックおよびフレーズの指定は、このコマンドの引数(仮想トラック番号およびフレーズ番号)によって行われる。「再生実行」は、指定された仮想トラックに割り当てられている実トラックTrを検索し、その実トラックTrでの再生をシーケンサ8に開始させるコマンドである。仮想トラックの指定は、このコマンドの引数(仮想トラック番号)によって行われる。「フェード」および「パン」は、指定された仮想トラックに割り当てられている実トラックTrを検索し、その実トラックTrでフェード/パンを行うコマンドであり、処理に必要なパラメータを含む。仮想トラックの指定は、このコマンドの引数(仮想トラック番号)によって行われる。図示したコマンド群の概略的な流れとしては、ソング#8の開始1秒後にフレーズ#8の爆発音を発音させ、2秒待機した後にフレーズ#66の金属片の飛散音を発声させるという流れになる。
【0035】
図5から図7は、図1に示したオーバーラップ再生時における音声再生処理のフローチャートである。まず、図5において、遊技やゲームの進行によりターゲットAが破壊された状況になると、その時点で、MPUによってソング#8の起動が指示される(ステップ1)。この指示を受けたコマンド解析回路6は、書込調停回路4にソング#8を格納すべき実行スロット5の確保を指示する。実行スロット5の空き状況を随時モニタリングしている書込調停回路4は、64個の実行スロット5の中から現時点での空スロットを一つ特定し(例えば#64)、このスロット#64にソング#8を割り当てる(ステップ2)。空スロットの検索方法としては、例えば、直前に割り当てられたスロット番号をポインタで保持しておき、今回の検索時に、ポインタによって示されたスロット番号以降における直近の空スロット(昇順の場合)を選択するといった手法が挙げられる。そして、書込調停回路4は、ROMインターフェース3に対して、ソング#8のコマンド群の読み出しを要求し、これによって、ソング#8のコマンド群がROMから読み出される(ステップ3)。書込調停回路4は、読み出されたソング#8のコマンド群を実行スロット#64に格納するとともに、この実行スロット#64が備えるソング番号記憶領域にソング#8を書き込む。コマンド解析回路6は、実行スロット#1〜#64を順番に探索し、実行可能なスロット(ソングの割り当てがあり、かつ、タイマの値が0のもの)から1コマンドずつ時分割で読み出し、読み出したコマンドを解析する。ソング#8の格納直後の読出タイミングで、実行スロット#64から最先の「wait1秒」コマンドが読み出されると、実行スロット#64のタイマに1秒がセットされ、カウントダウンが開始する(ステップ5)。カウントダウン中の1秒間は、実行スロット#64から2番目以降のコマンドを読み出さない待機状態となる。
【0036】
その後、遊技やゲームが更に進行してターゲットBが破壊された状況になると、その時点で、MPUによってソング#8の起動が再び指示される(ステップ6)。この場合、書込調停回路4は、64個の実行スロット5の中から現時点での空スロットを特定し(#64は既に使用中なので例えば#2)、この実行スロット#2にソング#8を割り当てる(ステップ7)。そして、ソング#8のコマンド群がROMから読み出され(ステップ8)、これが実行スロット#2に格納される(ステップ9)。その際、この実行スロット#2が備えるソング番号記憶領域にはソング#8が書き込まれる。そして、ソング#8の格納直後の読出タイミングで、実行スロット#2から最先の「wait1秒」コマンドが読み出されると、実行スロット#2のタイマに1秒がセットされ、カウントダウンが開始する(ステップ10)。カウントダウン中の1秒間は、実行スロット#2は待機状態となる。
【0037】
図6において、実行スロット#64に関する待機時間の1秒が経過した時点で、実行スロット#64から2番目の「Tr割当」コマンドが読み出される(ステップ11)。コマンド解析回路6は、このコマンドの解析結果に基づき、再生処理を開始すべき爆発音のフレーズ#30(仮想Tr=#1)に関する実トラックTrへの割り当てをトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、トラック割当テーブル7aを参照して、使用トラックTr6を除く空トラックのいずれを特定する(例えば実トラックTr7)。空トラックの検索方法としては、例えば、直前に割り当てられた実トラックTrの位置をポインタで保持しておき、今回の検索時に、ポインタによって示された実トラックTr以降における直近の空きトラック(昇順の場合)を選択するといった手法が挙げられる。そして、この実トラックTr7の「使用フラグ(Flag)」が「空き」から「使用中」に変更されるとともに、その管理内容が「Tr割当」コマンドを読み出した実行スロット番号#64と、「Tr割当」コマンドが属するソング番号#8と、再生処理を開始すべきフレーズの仮想トラック番号#1とに更新される(ステップ12)。ソング番号#8の特定は、引数によるコマンド指定ではなく、実行スロット#64のソング番号記憶領域から記憶内容を読み出すことによって行われる。
【0038】
つぎに、実行スロット#64から3番目の「フレーズ登録」コマンドが読み出される(ステップ13)。コマンド解析回路6は、このコマンドの解析結果に基づき、トラック割当テーブル7aの検索をトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、「フレーズ登録」コマンドによって指定された仮想トラック#1と、「フレーズ登録」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr7を特定する(ステップ15)。実トラックTrの通知を受けたコマンド解析回路6は、「フレーズ登録」コマンドによって指定されたフレーズ#30を実トラックTr7で再生すべき旨をシーケンサ8に指示する。これにより、シーケンサ8において、実トラックTr7にフレーズ#30が登録される(ステップ16)。
【0039】
つぎに、実行スロット#64から4番目の「再生実行」コマンドが読み出される(ステップ14)。コマンド解析回路6は、このコマンドの解析結果に基づき、トラック割当テーブル7aの検索をトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、「再生実行」コマンドによって指定された仮想トラック#1と、「再生実行」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr7を特定する(ステップ15)。実トラックTrの通知を受けたコマンド解析回路6は、実トラックTr7の再生開始をシーケンサ8に指示する。これにより、シーケンサ8は、実トラックTr7に登録されているフレーズデータ#30をROMインターフェース3を介してROMから取得し、このフレーズデータ#30の再生処理を実行し、実トラックTr7に出力する(ステップ17)。
【0040】
つぎに、実行スロット#64から5番目の「フェード」コマンドが読み出される(ステップ18)。コマンド解析回路6は、このコマンドの解析結果に基づき、トラック割当テーブル7aの検索をトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、「フェード」コマンドによって指定された仮想トラック#1と、「フェード」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr7を特定する(ステップ20)。実トラックTr7の通知を受けたコマンド解析回路6は、実トラックTr7のフェード処理をフェード/パン回路9に指示する。これにより、フェード/パン回路9は、フレーズデータ#30が出力される実トラックTr7のフェード処理を実行する(ステップ21)。
【0041】
つぎに、実行スロット#64から6番目の「パン」コマンドが読み出される(ステップ19)。コマンド解析回路6は、このコマンドの解析結果に基づき、トラック割当テーブル7aの検索をトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、「パン」コマンドによって指定された仮想トラック#1と、「パン」コマンドが読み出された実行スロット#64とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr7を特定する(ステップ20)。実トラックTr7の通知を受けたコマンド解析回路6は、実トラックTr7のパン処理をフェード/パン回路9に指示する。これにより、フェード/パン回路9は、フレーズデータ#30が出力される実トラックTr7のパン処理を実行する(ステップ22)。
【0042】
そして、実行スロット#64から7番目の「wait2秒」コマンドが読み出される(ステップ23)。コマンド解析回路6は、このコマンドの解析結果に基づき、実行スロット#64のタイマに2秒がセットされ、カウントダウンを開始する。カウントダウン中の2秒間は、実行スロット#64は待機状態となる。待機時間の2秒が経過すると、実行スロット#64から8番目以降のコマンドが読み出され、フレーズ#66(仮想トラック#2)のトラック割当、フレーズ登録、再生実行およびフェード/パンが順次実行される。
【0043】
一方、図7において、実行スロット#2に関する待機時間の1秒が経過した時点で、実行スロット#2から2番目の「Tr割当」コマンドが読み出される(ステップ31)。コマンド解析回路6は、このコマンドの解析結果に基づき、再生処理を開始すべき爆発音のフレーズ#30(仮想Tr=#1)に関する実トラックTrへの割り当てをトラック管理回路7に依頼する(ステップ32)。この依頼を受けたトラック管理回路7は、トラック割当テーブル7aを参照して、使用トラックTr6,Tr7を除く空トラックのいずれかを特定する(例えば実トラックTr3)。そして、この実トラックTr3の使用フラグ(Flag)が「空き」から「使用中」に変更されるとともに、その管理内容が「Tr割当」コマンドを読み出した実行スロット番号#2と、「Tr割当」コマンドが属するソング番号#8と、再生処理を開始すべきフレーズの仮想トラック番号#1とに更新される。ソング番号#8の特定は、引数によるコマンド指定ではなく、実行スロット#2のソング番号記憶領域から記憶内容を読み出すことによって行われる。ここで留意すべきは、このステップ32で割当対象となる仮想トラック#1は、先のステップ12の仮想トラック#1と同じだが、両者を区別すべく実行スロット#2,#64が異なっている点である。
【0044】
つぎに、実行スロット#2から3番目の「フレーズ登録」コマンドが読み出される(ステップ33)。コマンド解析回路6は、このコマンドの解析結果に基づき、トラック割当テーブル7aの検索をトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、「フレーズ登録」コマンドによって指定された仮想トラック#1と、「フレーズ登録」コマンドが読み出された実行スロット#2とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr3を特定する(ステップ35)。実トラックTr3の通知を受けたコマンド解析回路6は、「フレーズ登録」コマンドによって指定されたフレーズ#30を実トラックTr3で再生すべき旨をシーケンサ8に指示する。これにより、シーケンサ8において、実トラックTr3にフレーズ#30が登録される(ステップ36)。ここで留意すべきは、このステップ35で検索対象となる仮想トラック#1は、先のステップ15の仮想トラック#1と同じだが、実行スロット#2,#64が異なるので、どちらの実トラックTr3,Tr7に割り当てられているかを一義的に特定できる点である。
【0045】
つぎに、実行スロット#2から4番目の「再生実行」コマンドが読み出される(ステップ34)。コマンド解析回路6は、このコマンドの解析結果に基づき、トラック割当テーブル7aの検索をトラック管理回路7に依頼する。この依頼を受けたトラック管理回路7は、「再生実行」コマンドによって指定された仮想トラック#1と、「再生実行」コマンドが読み出された実行スロット#2とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr3を特定する(ステップ35)。実トラックTr3の通知を受けたコマンド解析回路6は、実トラックTr3の再生開始をシーケンサ8に指示する。これにより、シーケンサ8は、実トラックTr3に登録されているフレーズデータ#30をROMインターフェース3を介してROMから取得し、このフレーズデータ#30の再生処理を実行し、実トラックTr3に出力する(ステップ37)。
【0046】
実行スロット#2に関する5番目以降のコマンドの読み出しによって、上述したステップ18〜23と同様の処理が行われ、フェード、パン、待機2秒が順次実行される(ステップ38〜43)。そして、待機時間の2秒が経過すると、実行スロット#2から8番目以降のコマンドが読み出され、フレーズ#66(仮想トラック#2)のトラック割当、フレーズ登録、再生実行およびフェード/パンが順次実行される。
【0047】
実トラックTr7におけるフレーズ#30の再生処理が終了した場合、シーケンサ8は、実トラックTr7の再生が終了した旨をトラック管理回路7に通知する。この通知を受けたトラック管理回路7は、トラック割当テーブル7aを検索し、実トラックTr7の使用フラグを「使用中」から「空き」に変更することによって、実トラックTr7を解放する。また、実トラックTr3におけるフレーズ#30の再生処理が終了した場合、シーケンサ8は、実トラックTr3の再生が終了した旨をトラック管理回路7に通知する。この通知を受けたトラック管理回路7は、トラック割当テーブル7aを検索し、実トラックTr3の使用フラグを「使用中」から「空き」に変更することによって、実トラックTr3を解放する。実トラックTrの解放は、それ以降のフレーズ#66についても同様の手順に従う。なお、遊技やゲームの展開によりシーンチェンジが生じた場合には、MPUからの指示によって、再生途中のソングを強制的に終了させることもできる。
【0048】
なお、以上の音声再生処理に関する説明は、同一のフレーズがオーバーラップして再生される特殊なケースに関するものであるが、同一でないフレーズの再生であっても基本的な処理の流れは同じである。
つまり、本実施形態にかかる音声処理装置1によれば、オーバーラップして再生されるようなケース以外の、同一でないフレーズの再生においても、支障なく音声処理を行うことができる。
【0049】
[実施の形態にかかる音声処理装置の効果]
このように、本実施形態によれば、あるソングに関するコマンド群は、いずれかの実行スロット5に割り当てて書き込まれる。このソングに属するフレーズの実トラックTrへの割り当ては、フレーズ自体に割り当てられた仮想トラックのみならず、実行スロット5にも対応付けて行われる。したがって、同一のソングを複数の実トラックでオーバーラップ再生する場合、フレーズの仮想トラックが同じであったとしても、実行スロット5の違いを以て、それぞれを異なる実トラックTrに割り当てるべきものとして処理できる。その結果、同一ソングのオーバーラップ再生時における仮想トラックのコンフリクトを解消できる。また、仮想トラックのコンフリクトの問題をハードウェア側で解消することにより、音編集ソフトウェア上で作業する音製作者の利便性の向上を図ることが可能になる。さらに、オーバーラップするフレーズ毎に別個の仮想トラックを割り当てる必要がないので、仮想トラックのリソースの浪費を抑制できる。
【0050】
ここで、本実施形態にかかる効果である仮想トラックのコンフリクト解消について更に詳しく述べれば、下記のとおりである。
すなわち、本実施形態にかかる音製作手法では、その前提として、音製作者の負担を軽減するために、音編集の場面において仮想トラックの識別番号が重複することを許容している。これにより、音製作者が音の製作に注力できる環境を提供することができる。この本実施形態にかかる音製作手法は、音製作者の負担を軽減できる画期的な手法である。
しかしながら、従来の技術水準との関係で、上記の本実施形態にかかる音製作手法は、「仮想トラックのコンフリクト」という新たな問題を生じさせる。すなわち、従来技術では同一識別番号の複数の仮想トラックの並存を正常な事態として想定していないので、従来の音声処理装置の構成(ハードウェア)上ではこの考え方で実際に音声処理を進めることができない。すなわち、従来の音声処理装置の構成では、同時に処理されるフレーズの仮想トラックの識別番号が同じ場合には、両者をハードウェア上区別することができない。従って、それらの仮想トラックについての再生を正常に完了することができず、同一フレーズグループ内の同一フレーズを複数の実トラックで時系列的にオーバーラップして再生することができない。このような問題が「仮想トラックのコンフリクト(競合)」の問題である。
この仮想トラックのコンフリクトを解消するように、本実施形態にかかる音声処理装置は、上述したとおり、同一のソングを複数の実トラックでオーバーラップ再生する場合、フレーズの仮想トラックが同じであったとしても、実行スロット5の違いを以て、それぞれを異なる実トラックTrに割り当てるべきものとして処理している。従って、同一の識別番号が付された複数の仮想トラックについての音の再生を、仮想トラックのコンフリクトを避けつつ正常に実行できるように構成されている。その結果、本実施形態において、音製作者があるソングを作成・編集する際、他のソングでどの仮想トラックを使用しているかを気にする必要がない。具体的には、例えば、多数の同じ仮想トラック#2を含むソングについての割り当てが求められた場面でも、或いは、多数の同じソング#8を含むソングについての割り当てが求められた場面でも、それらの個々の仮想トラック#2やソング#8を別々のものと認識して、実トラックへの割り当てを進めることができる。
以上のように、本実施形態にかかる音製作手法、音声処理装置によれば、音製作者は、音作成以外のプログラミング技術等に精通していなくとも(或いは精通しているか否かによらず)、仮想トラック番号を任意に付与しながら音編集を行うことができる。その結果、音製作者は、仮想トラック番号の付与のされ方について特別な配慮、例えば展開に応じたオーバーラップ再生の最大数を見越した上でフレーズグループの作成・編集を行うといったような配慮をしなくてもよい。これにより、音製作者の負担が軽減され、音編集ソフトウェア上で作業する音製作者の利便性が向上し、音製作者が音の製作に注力できる環境を提供することができる。
【0051】
また、本実施形態によれば、フレーズの再生処理が終了した時点で実トラックTrが解放されるので、解放後の仮想トラックベースの指示に対しては何も処理されないことが保証されるという効果がある。一般に、MPUは、ポーリングによって実トラックTrの使用状況を一定の間隔で随時取得している。ポーリングでは、トラック割当テーブル7aが更新されてからMPUがそれを取得するまでに時間差が生じる。この時間差に起因して、例えば、実際には再生が終了したフレーズに対して、MPUがボリューム調整やパン移動などを指示してしまうといった如く、MPUの指示と実際の状況との間に一時的な不整合が生じることがある。ここで、比較例として、MPUからの指示を実トラックベースで行う場合、たとえMPUの指示に係るフレーズの再生が既に終了し、これに続く別のフレーズの処理が始まっていたとしても、指定された実トラックTrの処理が一律に実行されてしまう。このような誤った処理の実行を防止するためには、ポーリングを高頻度で行う必要がある。これに対して、本実施形態のように、MPUからの指示を仮想トラックベースで行う場合、フレーズの再生が終了した時点で実トラックTrとの対応付けが解消されるので、その後に、仮想トラックを指定しても、該当する実トラックTrが存在しないことになる。したがって、上述した誤った処理が実行されてしまうことを防止できる。その結果、ポーリングを高頻度で行う必要がないので、ポーリングに要するMPUの負荷の軽減を図ることができるとともに、プログラマが実トラックTrの利用状況の詳細を把握することの煩雑さも解消できる。
【0052】
なお、上述した実施形態では、ソングの起動を指示するMPU、および、ソングのコマンド群やフレーズデータを格納するROMが音声処理装置1の外部に存在するシステム構成について説明したが、音声処理装置1自体がMPUやROMを内蔵してもよい。
【0053】
また、上述した実施形態では、トラック割当テーブル7aで「「スロット番号(Slot)」、「ソング番号(Song)」および「仮想トラック番号(仮想Tr)」の3項目を管理しているが、「ソング番号(Song)」および「仮想トラック番号(仮想Tr)」の2項目で本発明の目的は達成されるので、「ソング番号(Song)」については省略しても構わない。
ソング番号を省略した場合も、上記実施の形態と同様に、あるフレーズグループに関するコマンド群が、いずれかの実行スロットに割り当てて書き込まれるようにする。このフレーズグループに属するフレーズの実トラックへの割り当ては、フレーズ自体に付加されている仮想トラックのみならず、実行スロットにも対応付けて行われるようにする。したがって、フレーズの仮想トラックが重複していたとしても、実行スロットの違いを以て、別個の実トラックが割り当てられる。このような作用により、仮想トラックのコンフリクトを解消できるという効果を有する。
なお、管理内容に「ソング番号(Song)」を含めた場合には、ソング番号を検索キーとした実トラックTrの検索が可能になる。このような検索は、例えば、複数の実行スロット5で実行されている同一のソングを、MPUからのソング番号の指定にて強制終了させたい場合に実行される。この場合、MPUによって指定されたソング番号を検索キーにトラック割当テーブル7aを検索することによって、同一のソングが割り当てられている実トラックTrを特定することができる。
【0054】
なお、本実施形態では、「ソング」という概念を導入し、トラック割当テーブルにソング番号を含ませている。前述したとおり、ソングとは、音声の再生単位であるフレーズをまとめたフレーズグループの時系列的な再生順序を規定するシナリオ(曲)である。音声処理装置1によれば、複数のソングをオーバーラップして実行する際に、それら複数のソング間においてフレーズの仮想トラック番号が重複が生じた場合であっても、トラック管理回路7がフレーズと実トラックとの間の割り当てを支障なく進めることができる。このように、ソングに含まれる各フレーズの仮想トラック番号がどのように定められていても音声処理装置1上で実トラックの割当が正常に完了するから、プログラマは各ソング内の仮想トラック番号の内容(つまり仮想トラックのコンフリクト、競合)に特別な配慮をしなくともよく、ROMからのソング読出や、ソング単位での音の起動、再生を観念しつつプログラミングを行えばよい。その結果、プログラマの負担も極めて軽いもので済み、音製作者およびプログラマの両者の負担を軽減することができる。
【0055】
なお、上述した実施の形態では、フレーズの仮想トラックが重複していたとしても、実行スロットの違いを以て別個の実トラックが割り当てられ、このような作用により仮想トラックのコンフリクトを解消している。
しかしながら、本発明はこれに限られるものではない。重複した時期に割当を行う必要が生じた、同一の識別番号の付された複数のフレーズ又はソング(実施の形態では、図1等に示された、オーバーラップして再生すべき2つのフレーズ#30、フレーズ#66、ソング#8)を、別々のフレーズやソングとして区別して認識するように、音声処理装置内部のハードウェアやソフトウェアを構築すればよい。連続して又は一定期間内に、同一の識別番号の付された複数のフレーズ又はソングについての実トラックへの割り当て要求が生じた場合には、後から生じた割り当て要求を、別の新たなフレーズ又はソングについての再生要求があったものと認識するように、音声処理装置内部のハードウェアやソフトウェアを構築すればよい。
このように、識別番号の重複を想定した上でそれらを区別できるように音声処理装置を構築しておけば、同時に処理されるフレーズの仮想トラックの識別番号が同じ場合であっても、両者を音声処理装置上でそれぞれ再生させることができる。
なお、上述した「実施の形態のオーバーラップ再生」の説明には、少なくとも下記(1)〜(5)の事項が明確に記載されている。少なくともこれらの事項に基づけば、上記の「同一の識別番号の付された複数のフレーズ又はソング(実施の形態では、図1等に示された、オーバーラップして再生すべき2つのフレーズ#30、フレーズ#66、ソング#8)を、別々のフレーズやソングとして区別して認識する」という技術的思想を把握することができる。
(1)スロット番号が異なる実行スロット5(つまりスロット#2とスロット#64)にそれぞれソング#8が割り当てられる点(ステップ2、ステップ7)。
(2)トラック管理回路7が、仮想トラック#1と実行スロット#64とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr7を特定する点(ステップ15)。
(3)トラック管理回路7が、仮想トラック#1と実行スロット#2とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr3を特定する点(ステップ35)。
(4)ステップ32で割当対象となる仮想トラック#1は、先のステップ12の仮想トラック#1と同じだが、両者を区別すべく実行スロット#2,#64が異なっている点。
(5)ステップ35で検索対象となる仮想トラック#1は、先のステップ15の仮想トラック#1と同じだが、実行スロット#2,#64が異なるので、どちらの実トラックTr3,Tr7に割り当てられているかを一義的に特定できる点。
【0056】
尚、上述した実施の形態では、ROMインターフェース3によるソングのコマンド群の読み出しやフレーズデータの読み出しにより、前記第1、第8の発明における「フレーズ取得手段」が実現され、コマンド解析回路6およびシーケンサ8が、前記第1、第8の発明における「再生処理手段」に相当している。
また、上述した実施の形態では、図1における紙面上方のソング#8(つまり二つのソング#8のうち先に再生開始されるソング#8)が、前記第1の発明における「一つのフレーズ」に、図1における紙面下方のソング#8(つまり二つのソング#8のうち後に再生開始されるソング#8)が、前記第1、第8の発明における「他の一つのフレーズ」に、それぞれ相当している。
そして、上述した実施の形態では、スロット番号が異なる実行スロット5(つまりスロット#2とスロット#64)にそれぞれソング#8が割り当てられ(ステップ2、ステップ7)、トラック管理回路7が、仮想トラック#1と実行スロット#64とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr7を特定し(ステップ15)、トラック管理回路7が、仮想トラック#1と実行スロット#2とを検索キーとしてトラック割当テーブル7aを検索し、実トラックTr3を特定する(ステップ35)ことにより、前記第1、第8の発明における「実トラック割当手段」が実現されている。
【産業上の利用可能性】
【0057】
以上のように、本発明に係る音声処理装置は、フレーズグループに含まれる個々の仮想トラック付フレーズを実トラックに割り当てながら、フレーズ単位で音声を再生する処理に対して広く適用できる。
【符号の説明】
【0058】
1 音声処理装置
2 MPUインターフェース
3 ROMインターフェース
4 書込調停回路
5 実行スロット
6 コマンド解析回路
7 トラック管理回路
7a トラック割当テーブル
8 シーケンサ
8a デコーダ
9 フェード/パン回路

【特許請求の範囲】
【請求項1】
それぞれに仮想トラックが付加されたフレーズを取得するフレーズ取得手段と、
前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う再生処理手段と、
前記再生処理手段での処理に従って音信号が出力される複数の実トラックと、
前記フレーズに関する前記実トラックへの割り当てを行う実トラック割当手段であって、前記フレーズ取得手段で取得された一つのフレーズに関する前記実トラックへの割り当て要求と、前記フレーズ取得手段で取得され前記一つのフレーズと同一の仮想トラックが付加された他の一つのフレーズに関する前記実トラックへの割り当て要求と、が重複する期間において発生したときには、前記一つのフレーズと前記他の一つのフレーズとを別の実トラックで再生すべきフレーズであるものと扱って割り当てを行う実トラック割当手段と、
を備えることを特徴とする音声処理装置。
【請求項2】
前記フレーズ取得手段は、
前記フレーズに関するコマンドを一時的に格納するスロットと、
前記フレーズのうち一まとまりのフレーズグループとして再生されるべき複数のフレーズに関するコマンド群を、前記複数のスロットのうち同じスロットに選択的に格納する手段と、
前記再生処理手段に提供するために、前記複数のスロットから、格納された前記コマンドを取り出す手段と、
を含み、
前記実トラック割当手段は、前記複数のスロットのうち異なるスロットに格納されたコマンドに応じたフレーズの再生を当該スロットごとに別の実トラックに割り当てる手段を、含むことを特徴とする請求項1に記載の音声処理装置。
【請求項3】
フレーズグループの時系列的な再生手順を規定するコマンド群に基づいて、音声を再生する音声処理装置において、
それぞれが時系列な順序でコマンド群を格納し、当該格納されたコマンド群の読み出しが互いに同期して行われる複数の実行スロットと、
再生すべきフレーズグループに関するコマンド群を、前記複数の実行スロットのうちのいずれかに割り当てて書き込む書込調停回路と、
前記実行スロットのそれぞれに格納された前記コマンド群をコマンド毎に順次読み出し、当該読み出されたコマンドの解析結果に応じて、前記フレーズグループ中のフレーズの再生処理を指示するコマンド解析回路と、
前記コマンド解析回路からの指示に応じて、前記フレーズの再生処理を行うシーケンサと、
前記シーケンサによって生成された音信号がフレーズ単位でいずれかに出力される複数の実トラックと、
前記実トラックのそれぞれに関する使用状況を管理するとともに、前記フレーズに関する前記実トラックへの割り当てを、前記実行スロットのいずれかと、前記フレーズに付加されている仮想トラックとに対応付けて行うトラック管理回路あって、前記解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する前記使用状況を使用状態に変更するとともに、当該実トラックを、当該コマンドを読み出した実行スロットと、当該再生すべきフレーズに付加されている前記仮想トラックとに対応付けるトラック管理回路と、
を備えることを特徴とする音声処理装置。
【請求項4】
前記書込調停回路は、同一のフレーズグループを複数の実トラックで重複して再生する場合、当該フレーズグループに関するコマンド群を、第1の実行スロットと、前記第1の実行スロットとは異なる第2の実行スロットとにそれぞれ書き込み、
前記トラック管理回路は、
前記第1の実行スロットより読み出されたコマンドの前記解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する前記使用状況を使用状態に変更するとともに、当該実トラックを、前記第1の実行スロットと、当該再生すべきフレーズに付加されている前記仮想トラックとに対応付け、
前記第2の実行スロットより読み出されたコマンドの前記解析結果に応じて、再生すべきフレーズの実トラックへの割り当てを行う場合、空き状態にある実トラックに関する前記使用状況を使用状態に変更するとともに、当該実トラックを、前記第2の実行スロットと、当該再生すべきフレーズに付加されている前記仮想トラックとに対応付けることを特徴とする請求項3に記載された音声処理装置。
【請求項5】
前記トラック管理回路は、前記実行スロットのいずれかより読み出されたコマンドによって指定された前記仮想トラックに割り当てられている前記実トラックを検索する場合、当該実行スロットと、当該仮想トラックとを検索キーとして、前記実トラックを検索することを特徴とする請求項3または4に記載された音声処理装置。
【請求項6】
前記トラック管理回路は、前記実トラックへの割り当てを、フレーズグループに対応付けて行うことを特徴とする請求項3乃至5のいずれか1項に記載された音声処理装置。
【請求項7】
前記シーケンサにおけるフレーズの再生処理が終了した場合、当該フレーズによって使用状態にある実トラックに関する前記使用状況を空き状態に変更して、当該実トラックを解放することを特徴とする請求項3乃至6のいずれか1項に記載された音声処理装置。
【請求項8】
それぞれに仮想トラックが付加された1つ以上のフレーズを含み、識別番号が付されたソングを取得するソング取得手段と、
前記ソングに含まれる前記フレーズに関するコマンドに基づいて、前記フレーズの再生に関する処理を行う再生処理手段と、
前記再生処理手段での処理に従って音信号が出力される複数の実トラックと、
前記フレーズに関する前記実トラックへの割り当てを行う実トラック割当手段であって、一つのソングに含まれるフレーズに関する前記実トラックへの割り当て要求と、前記一つのソングに含まれるフレーズと同一の仮想トラックが付加されたフレーズを含む又は前記一つのソングと同一の識別番号を有する他の一つのソングに含まれるフレーズに関する前記実トラックの割り当て要求と、が重複する期間において発生したときには、前記一つのソングのフレーズと前記他の一つのソングのフレーズとを別の実トラックで再生すべきものと扱って割り当てを行う実トラック割当手段と、
を備えることを特徴とする音声処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−138122(P2011−138122A)
【公開日】平成23年7月14日(2011.7.14)
【国際特許分類】
【出願番号】特願2010−270693(P2010−270693)
【出願日】平成22年12月3日(2010.12.3)
【出願人】(398034168)株式会社アクセル (80)
【Fターム(参考)】