(57)【要約】【課題】  カラオケ演奏において提供されるガイド音声の合成に伴う演算処理の負荷を軽減し、楽音発生装置のシステム全体に局所的な負荷増大が生じることを効果的に抑制することができる楽音発生装置及びそのプログラムを提供する。【解決手段】  シーケンサ１４の制御によりガイド音声の合成を任意の細かい時間単位で行い、システム全体の負荷量を観測しながら、負荷が低いときに音声合成を行うよう制御し、合成された音声データを記憶手段２２に格納しておいて、再生タイミングに合わせて再生するようにしている。【選択図】  図１
2005062481.tif 000002
【特許請求の範囲】
【請求項１】
楽音発生装置のシステムを構成する主要な演算装置の負荷の程度を監視する負荷監視手段と、
前記負荷監視手段により、負荷の程度が所定値以下のときに、所定の楽曲ファイルに含まれるガイドデータに応答して音声を合成し、合成された音声を示す波形データを出力する音声合成部と、
前記音声合成部から供給される前記波形データを格納する格納手段と、
前記楽曲ファイルに含まれる演奏データに応答して、前記演奏データを解析するとともに、前記格納手段から前記波形データを読み出す、読み上げ再生タイミング信号を抽出して前記格納手段に供給するシーケンサと、
前記シーケンサの出力信号に応答して、楽曲の演奏データを出力する音源装置と、
前記音源装置からの信号と前記格納手段からの信号をそれぞれ別個に、あるいはこれらを合成して電気・音響トランスデューサに供給する手段とを、
有する楽音発生装置。
【請求項２】
楽音発生装置のシステムを構成する主要な演算装置の負荷の程度を監視する負荷監視手段と、
前記負荷監視手段により、負荷の程度が所定値以下のときに、所定の楽曲ファイルに含まれるガイドデータに応答して音声を合成し、合成された音声を示す波形データを出力する音声合成部と、
前記音声合成部から供給される前記波形データを格納する複数の格納手段と、
前記楽曲ファイルに含まれる演奏データに応答して、前記演奏データを解析するとともに、前記複数の格納手段から前記波形データをそれぞれ読み出す、複数の読み上げ再生タイミング信号を抽出して、前記格納手段に供給するシーケンサと、
前記シーケンサの出力信号に応答して、楽曲の演奏データを出力する音源装置と、
前記音源装置からの信号と前記格納手段からの信号をそれぞれ別個に、あるいはこれらを合成して電気・音響トランスデューサに供給する手段とを、
有する楽音発生装置。
【請求項３】
前記負荷監視手段により、負荷が所定値以上であることが検出された場合、あるいは緊急処理を行う必要が生じた場合に、前記主要な演算装置が優先度の低いタスクからその実行を停止して、前記主要な演算装置の平均的な負荷を軽減するよう構成されている請求項１又は２に記載の楽音発生装置。
【請求項４】
前記音声合成部での音声の合成が、任意の処理単位に分割して行うよう構成されている請求項１から３のいずれか１つに記載の楽音発生装置。
【請求項５】
前記波形データの再生タイミングを示すデータが、前記演奏データ内に記述されている請求項１から４のいずれか１つに記載の楽音発生装置。
【請求項６】
所定の楽曲ファイルに含まれる演奏データとガイドデータに応答して楽曲と音声を再生する楽音発生装置の一部を構成するコンピュータのプログラムであって、
楽音発生装置のシステムを構成する主要な演算装置の負荷の程度を監視する負荷監視ステップと、
前記負荷監視ステップにより、負荷の程度が所定値以下であると検出されたときに、所定の楽曲ファイルに含まれるガイドデータに応答して音声を合成し、合成された音声を示す波形データを出力する音声合成ステップと、
前記音声合成ステップにより供給される前記波形データを格納手段に格納するステップと、
前記楽曲ファイルに含まれる演奏データに応答して、前記演奏データを解析するとともに、読み上げ再生タイミング信号を抽出して前記格納手段に供給し、前記格納手段から前記波形データを読み出すステップとを、
有するプログラム。
【請求項７】
前記負荷監視ステップにより、負荷が所定値以上であることが検出された場合、あるいは緊急処理を行う必要が生じた場合に、優先度の低いタスクからその実行を停止して、平均的な負荷を軽減するよう構成されている請求項６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、いわゆるカラオケ装置などの楽音発生装置に関し、特に歌詞を伴奏音楽に先行して再生・提供する楽音発生装置及びそのコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から知られている一般のカラオケ装置では、伴奏音楽の提供に加えて、歌詞を画面に表示してユーザが歌唱しやすくしているが、一々画面を見なくても歌詞を知ることができるように、歌詞を伴奏音楽に先行して音声で提供する技術が開発されている。下記の特許文献１に記載された技術は、カラオケ演奏における歌唱部分に先立ってガイド音声を読み上げるものである。
【特許文献１】特許第３３００５５３号公報（請求項１、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
かかるガイド音声を読み上げる方式のカラオケ装置では、読み上げ再生すべきタイミングの直前に音声合成を行って波形データを生成するよう構成されている。したがって、音声合成を実行するＣＰＵ（中央演算処理装置）などの演算部の負荷が局所的に大きくなり、所望の処理速度を得ることができない場合がある。特に複数の読み上げを同時に行うような場合には、複数の音声合成処理部が必要となり、コスト高の原因となる。また、音声合成部の数が限られると、複数の読み上げフレーズを略同時に再現することができないという問題もあった。
【０００４】
本発明は上記従来の問題を解決するもので、カラオケ演奏において提供されるガイド音声の合成に伴う演算処理の負荷を軽減し、楽音発生装置のシステム全体に局所的な負荷増大が生じることを効果的に抑制することができる楽音発生装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本発明は、ガイド音声の合成を任意の細かい時間単位で行い、システム全体の負荷量を観測しながら、負荷が低いときに音声合成を行うよう制御し、合成された音声データを記憶手段に格納しておいて、再生タイミングに合わせて再生するようにしている。
【０００６】
すなわち、本発明によれば楽音発生装置のシステムを構成する主要な演算装置の負荷の程度を監視する負荷監視手段と、
前記負荷監視手段により、負荷の程度が所定値以下のときに、所定の楽曲ファイルに含まれるガイドデータに応答して音声を合成し、合成された音声を示す波形データを出力する音声合成部と、
前記音声合成部から供給される前記波形データを格納する格納手段と、
前記楽曲ファイルに含まれる演奏データに応答して、前記演奏データを解析するとともに、前記格納手段から前記波形データを読み出す、読み上げ再生タイミング信号を抽出して前記格納手段に供給するシーケンサと、
前記シーケンサの出力信号に応答して、楽曲の演奏データを出力する音源装置と、
前記音源装置からの信号と前記格納手段からの信号をそれぞれ別個に、あるいはこれらを合成して電気・音響トランスデューサに供給する手段とを、
有する楽音発生装置が提供される。
【０００７】
また、本発明によれば、楽音発生装置のシステムを構成する主要な演算装置の負荷の程度を監視する負荷監視手段と、
前記負荷監視手段により、負荷の程度が所定値以下のときに、所定の楽曲ファイルに含まれるガイドデータに応答して音声を合成し、合成された音声を示す波形データを出力する音声合成部と、
前記音声合成部から供給される前記波形データを格納する複数の格納手段と、
前記楽曲ファイルに含まれる演奏データに応答して、前記演奏データを解析するとともに、前記複数の格納手段から前記波形データをそれぞれ読み出す、複数の読み上げ再生タイミング信号を抽出して、前記格納手段に供給するシーケンサと、
前記シーケンサの出力信号に応答して、楽曲の演奏データを出力する音源装置と、
前記音源装置からの信号と前記格納手段からの信号をそれぞれ別個に、あるいはこれらを合成して電気・音響トランスデューサに供給する手段とを、
有する楽音発生装置が提供される。
【０００８】
また、前記負荷監視手段により、負荷が所定値以上であることが検出された場合、あるいは緊急処理を行う必要が生じた場合に、前記主要な演算装置が優先度の低いタスクからその実行を停止して、前記主要な演算装置の平均的な負荷を軽減するよう構成されていることは、本発明の好ましい態様である。
【０００９】
また、前記音声合成部での音声の合成が、任意の処理単位に分割して行うよう構成されていることは、本発明の好ましい態様である。
【００１０】
また、前記波形データの再生タイミングを示すデータが、前記演奏データ内に記述されている本発明の好ましい態様である。
【００１１】
また、本発明は楽音発生装置の主要構成要素であるコンピュータのプログラムとして捉えることができる。すなわち、本発明によれば、所定の楽曲ファイルに含まれる演奏データとガイドデータに応答して楽曲と音声を再生する楽音発生装置の一部を構成するコンピュータのプログラムであって、
楽音発生装置のシステムを構成する主要な演算装置の負荷の程度を監視する負荷監視ステップと、
前記負荷監視ステップにより、負荷の程度が所定値以下であると検出されたときに、所定の楽曲ファイルに含まれるガイドデータに応答して音声を合成し、合成された音声を示す波形データを出力する音声合成ステップと、
前記音声合成ステップにより供給される前記波形データを格納手段に格納するステップと、
前記楽曲ファイルに含まれる演奏データに応答して、前記演奏データを解析するとともに、読み上げ再生タイミング信号を抽出して前記格納手段に供給し、前記格納手段から前記波形データを読み出すステップとを、
有するプログラムが提供される。
【００１２】
また、前記負荷監視ステップにより、負荷が所定値以上であることが検出された場合、あるいは緊急処理を行う必要が生じた場合に、優先度の低いタスクからその実行を停止して、平均的な負荷を軽減するよう構成されていることは、本発明の好ましい態様である。
【発明の効果】
【００１３】
本発明は、楽曲ファイルに含まれるガイド音声の合成をシステムの負荷が比較的低いときに実行するように、合成された波形データを記憶しておき、所要の再生タイミングで再生するようにしているので、システムの負荷の分散を図ることができ、効率のよい演算処理が可能となる。したがって、演算を行うＣＰＵなどが、ガイド音声合成以外のタスクを実行するに際し、余裕を持つことが可能となる。
【００１４】
また、複数の格納手段を設けて音声合成されたガイド音声データをそれぞれ格納し、所望のタイミングで読み出すことにより、複数のガイド音声を、同時に、あるいは一部を重複して、再生することができ、ガイド音声の進み具合の速い楽曲で有効である。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図１から図３を用いて説明する。図１は本発明の楽音発生装置の好ましい実施の形態を示す回路ブロック図である。図１において楽音発生装置は、曲ファイルからガイドデータと演奏データをそれぞれ分離するデータ分離部１０と、分離されたガイドデータの内容を解析する形態素解析部１２と、形態素解析部１２の出力信号に基づいて音声を合成し、合成された音声を示す信号である波形データを出力する音声合成部２０と、分離された演奏データを解析して演奏データに応じて後述する音源１６を駆動する駆動信号と、楽曲ファイルに含まれる演奏データに応答して、演奏データを解析するとともに、音声合成指令信号ＳＣとを出力し、かつ波形データにより示される歌詞などのガイド音声の読み上げ再生タイミングを示す読み上げ再生タイミング制御信号ＲＣを抽出して出力するシーケンサ１４と、シーケンサ１４の出力信号である演奏データに応じて所定の楽器の音及び／又は効果音などを再現するための楽曲の演奏データを出力する音源１６と、音声合成部２０から出力される波形データを一時保持し、保持された波形データをシーケンサ１４からの読み上げ再生タイミング制御信号ＲＣにより読み出すよう構成された読み上げ用音声バッファユニット２２と、読み上げ用音声バッファユニット２２の出力信号と音源１６の出力信号を相互に加え合うミキサ２４と、音源１６の出力信号をミキサ２４に供給するか、あるいはそのまま外部に出力するスイッチ２７とを有する。
【００１６】
データ分離部１０に与えられる曲ファイルとは、通信カラオケなどでは、所定のセンタから送信されたＳＭＦ（スタンダードＭＩＤＩファイル）を基本として所定情報を加えたものや、記憶媒体を介して供給されるカラオケシステムでは、記憶媒体に記憶されたＳＭＦを基本として所定情報を加えたものなどである。なお、演奏情報を記述するファイルの形式はＳＭＦに限られるものではない。かかる曲ファイルは、ガイドデータと演奏データを含んでいるが、データ分離部１０は、これらを相互に分離する機能を有する。図１に示した実施の形態では、曲ファイルがガイドデータ（歌詞データ）と演奏データを含むものとして説明しているが、これら２つのデータはそれぞれ別ファイルとして別個に供給されるよう構成することもできる。この場合、データ分離部１０は不要となる。
【００１７】
上記所定情報としては、ガイド音声の再生タイミングを示す信号、すなわち、読み上げ再生タイミング制御信号ＲＣがある。ガイド音声の再生タイミングを示す信号は、ＭＩＤＩ演奏データ中のメタイベントやsysEXを用いて記述することができる。形態素解析部１２は、分離されたテキストからなるガイドデータを分析し、その結果により音声合成部２０を駆動する。音声合成部２０は、形態素解析部１２の出力信号に応じて音声合成を行い、合成された音声を示す波形データを読み上げ用音声バッファユニット２２に送る。なお、音声合成部２０は、シーケンサ１４からの音声合成指令信号ＳＣを受けて、合成を開始する。音声合成指令信号ＳＣは、音声合成時間を確保すべく読み上げ再生タイミング制御信号ＲＣより先に送出される。読み上げ用音声バッファユニット２２は合成された音声を示す波形データを記憶する。シーケンサ１４は、演奏データに応答して演奏データに含まれる楽音発生のための各種コマンドに応じて音源１６を駆動して、所望の楽音データを発生させるよう構成されている。音源１６の出力信号はスイッチ２７を介してミキサ２４に供給されるか、あるいはそのまま外部に出力される。なお、ミキサ２４の出力信号や、スイッチ２７を介して外部に送出される音源１６の出力信号は、スピーカなどの電気・音響トランスデューサに供給されて音声や音響として再生される。なお、スイッチ２７は、手動スイッチでもよいし、図示省略の操作・表示部の制御により駆動される電子スイッチなどでもよい。
【００１８】
シーケンサ１４は、さらに演奏データからガイド音声を示す波形データの再生タイミングを示す信号、すなわち読み上げ再生タイミング制御信号ＲＣを分離し、読み上げ用音声バッファユニット２２に送る。読み上げ用音声バッファユニット２２からは、読み上げ再生タイミング制御信号ＲＣに基づいて、格納されている波形データが指定されたタイミングで読み出され、ミキサ２４に供給される。
【００１９】
図２は、本発明の実施の形態におけるシーケンサ１４をＣＰＵで構成した場合のガイド音声合成に関する処理手順の一例を示すフローチャートである。読み上げ用音声バッファユニット２２の内部には、複数のバッファがあるものとし、その総数をＮ（Ｎは２以上の整数）とする。読み上げ用音声バッファユニット２２の管理変数を、ｘ１とし、合成する読み上げフレーズの管理変数をｙ１とする。実際のＭＩＤＩ演奏が開始される前に、演奏準備開始が行われる。演奏準備開始となると、最初のステップＳ１で、これら２つの管理変数を０にリセットしておく。ステップＳ２では、バッファ（ｘ１）が空いているか否かを判断し、空いていなければ、判断を繰り返す。空いているときは、ステップＳ３へ行き、システムの負荷が低い状態か否かを判断する。負荷の高低（大小）は、単位時間当たりのＣＰＵの演算量が所定値を超えているか否かを見ることで判断することができる。負荷が所定値より高いときは、所定値以下となるまでステップＳ３を繰り返し実行する。負荷が所定値以下となると、ステップＳ４で音声合成処理を行うよう音声合成部２０に音声合成指令信号ＳＣを出す。次いでステップＳ５で読み上げフレーズｙ１の音声合成が完了し、音声合成データが生成されたか否かを判断し、ＮＯであればステップＳ３へ戻る。ステップＳ５でＹＥＳとなると、すなわち読み上げフレーズｙ１の音声合成が完了し音声合成データが生成されたと判断されると、ステップＳ６へ行き、ｘ１を１つインクリメントする。このステップＳ６では、ｘ１は１つインクリメントされる。次いでステップＳ７で、ｘ１がＮ以上であるか否かを判断し、ＹＥＳであれば、ステップＳ８でｘ１を０にリセットする。ｘ１がＮ未満であれば、ステップＳ９でｙ１を１つインクリメントする。次に、ステップＳ１０でｙ１がＭ以上であるか否かを判断し、ＹＥＳとなれば、処理を終了し、ＮＯであれば、ステップＳ２へ戻る。なおステップＳ２からＳ１０は、ｙ１がＭ−１となるまで、すなわちＭ個の読み上げフレーズすべてについて音声合成が終了するまで繰り返し実行される。Ｍ個の読み上げフレーズすべてについて音声合成が終了すると、図２の処理は終了する。このフローチャートからわかるように、本発明では、システム負荷が低いときにのみ音声合成処理を実行するようにしている。また、複数のバッファを設けて処理時間を細分化し、読み上げフレーズ単位に合成処理をしているので、単位合成処理による負荷が軽くてすむ。
【００２０】
図３は、本発明の実施の形態におけるシーケンサ１４をＣＰＵで構成した場合のガイド音声再生に関する処理手順の一例を示すフローチャートである。読み上げ用音声バッファユニット２２の管理変数を、ｘ２とし、再生する読み上げフレーズの管理変数をｙ２とする。ＭＩＤＩ演奏が始まると、最初のステップＳ１１で、これら２つの管理変数を０にリセットしておく。ステップＳ１２では、読み上げフレーズｙ２に対する読み上げ再生タイミング制御信号ＲＣ（再生タイミングトリガとも言う）を受信したか否かが判断される。受信していないと判断されれば、判断を繰り返す。受信したものと判断されると、ステップＳ１３へ行き、バッファ（ｘ２）から合成音声の出力を開始する。すなわち、シーケンサ１４は、読み上げ用音声バッファユニット２２へ読み上げ再生タイミング制御信号ＲＣを与える。
【００２１】
次いでステップＳ１４で、バッファ（ｘ２）からの合成音声の出力が完了したか否かを判断、完了していなければ、判断を繰り返す。次いでステップＳ１５で、バッファ（ｘ２）が空になったことを示す空フラグをバッファｘ２用に設定する。次いでステップＳ１６で、ｘ２を１つインクリメントする。次いでステップＳ１７で、ｘ２がＮ以上であるか否かを判断し、ＹＥＳであれば、ステップＳ１８でｘ２を０にリセットする。ｘ２がＮ未満であれば、ステップＳ１９でｙ２を１つインクリメントする。次に、ステップＳ２０でｙ２がＭ以上であるか否かを判断し、ＹＥＳとなれば、処理を終了し、ＮＯであれば、ステップＳ１２へ戻る。なおステップＳ１２からＳ２０は、ｙ２がＭ−１となるまで、すなわちＭ個の読み上げフレーズすべてについて音声再生が終了するまで繰り返し実行される。Ｍ個の読み上げフレーズすべてについて音声再生が終了すると、図３の処理は終了する。このフローチャートからわかるように、本発明では、図２で説明したように、システム負荷が低いときに、あらかじめ音声合成処理を実行しておき、音声再生時には、単に既に格納してある音声波形データを読み出すだけであるので、再生時におけるシステムの負荷は極めて軽くなる。
【００２２】
図３の例では、個々のバッファからの読み出しが順次なされているが、複数のバッファから、格納されている音声波形を同時にあるいは、一部が重複するように読み出すよう制御することも可能である。この場合、複数の読み上げ再生タイミング制御信号ＲＣをあらかじめ楽曲ファイル中に記録しておくか、あるいは、単一の読み上げ再生タイミング制御信号ＲＣを抽出して、複数の読み上げ再生タイミング制御信号ＲＣを生成してシーケンサ１４に供給することができる。この構成により、複数の音声フレーズを同時に生成したり、一部が重複する態様で再生できるので、ガイド音声を速く再生したり、重ねて再生する場合に便利である。
【００２３】
また、図２の例では、シーケンサ１４を構成するＣＰＵの負荷の大小で、音声合成を行うか否かを判断しているが、負荷が所定値以上であることが検出された場合、あるいは緊急処理を行う必要が生じた場合に、ＣＰＵが優先度の低いタスクからその実行を停止して、平均的な負荷を軽減することもできる。このように優先度により処理手順を変更するためには、あらかじめ、音声合成を含め各タスクに優先順位を割り振って置く必要がある。なお、演算装置の負荷の程度を監視する負荷監視手段と、負荷監視手段により負荷の程度が所定値以下のときに音声の合成処理を行う手段に関しては、プログラムの動作するＯＳ（オペレーティングシステム）に備わる機能を利用して構成してもよい。
【産業上の利用可能性】
【００２４】
以上のように本発明では、楽音発生装置のシステム全体に局所的な負荷増大が生じることを効果的に抑制することができるので、ガイド音声を音声合成により提供する形式の楽音発生装置などに有用である。
【図面の簡単な説明】
【００２５】
【図１】本発明の楽音発生装置の好ましい実施の形態の回路ブロック図である。
【図２】図１の実施の形態における読み上げ音声合成時の動作例の１つを説明するフローチャートである。
【図３】図１の実施の形態における読み上げ音声再生時の動作例の１つを説明するフローチャートである。
【符号の説明】
【００２６】
１０  データ分離部
１２  形態素解析部
１４  シーケンサ
１６  音源
２０  音声合成部
２２  読み上げ用音声バッファユニット（記憶手段）
２４  ミキサ
２７  スイッチ
【図１】
2005062481.tif 000003
【図２】
2005062481.tif 000004
【図３】
2005062481.tif 000005