トップ :: G 物理学 :: G10 楽器;音響

【発明の名称】 音声出力装置
【発明者】 【氏名】薮田 洋平

【氏名】丸本 徹

【要約】 【課題】音声出力段のハードウエア構成に依存せずに周囲騒音に応じた出力音声のゲイン調整を行う「音声出力装置」を提供する。

【構成】音声出力アプリケーション2の出力制御部21は、音声データDを時間長Ts毎に分割した各分割音声データについて、順次、時間長Tsの時間区間毎に、ゲイン調整部22を用いて分割音声データに現時点における周囲騒音の音量レベルに応じたゲイン調整を施した音声データPDを生成すると共に、PDのアドレスとサイズを指定したHDRを通知することにより、生成した音声データが表す音声の出力をサウンドドライバ(出力)11に要求する処理を行う。サウンドドライバ(出力)11は、通知されたHDRによって指定される各音声データが表す音声を、順次、サウンド出力装置5を介してスピーカ6から出力する。
【特許請求の範囲】
【請求項1】
音声を出力する音声出力装置であって、
メモリと、
発行された音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を出力する音声出力部と、
周囲騒音の音量レベルを検出する騒音レベル検出手段と、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記音声出力部に発行する音声出力処理手段とを有することを特徴とする音声出力装置。
【請求項2】
請求項1記載の音声出力装置であって、
周囲の音声を表す周囲音声データを出力する音声入力手段を備え、
前記騒音レベル検出手段は、
少なくとも前記音声出力要求が発行されるまで、常時、前記音声入力手段から出力された、直近過去の前記所定時間長分の周囲音声データを保持する周囲騒音保持手段と、
前記音声出力要求が発行されたならば、当該時点で、前記周囲騒音保持手段に保持されている前記直近過去の前記所定時間長分の周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定すると共に、以降、前記所定時間長の時間区間の経過毎に、当該直近に経過した前記所定時間長の時間区間に前記音声入力手段から出力された周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定する音量レベル算定手段とを有し、
前記音声出力処理手段は、前記音声出力要求が発行されたならば、前記音量レベル算定手段が、前記周囲騒音の音量レベルを算定する度に、各分割音声データを、順次、対象分割音声データとし、前記対象分割音声データが表す音声を、当該算定された周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成することを特徴とする音声出力装置。
【請求項3】
マイクロフォンと、
前記マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、
メモリと、
音声を出力するサウンド出力装置と、
発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバと、
前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出する騒音レベル検出手段と、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行する音声出力処理手段とを有することを特徴とする音声出力装置。
【請求項4】
請求項3記載の音声出力装置であって、
前記騒音レベル検出手段は、
少なくとも前記音声出力要求が発行されるまで、常時、前記サウンド入力装置から出力された、直近過去の前記所定時間長分の周囲音声データを保持する周囲騒音保持手段と、
前記音声出力要求が発行されたならば、当該時点で、前記周囲騒音保持手段に保持されている前記直近過去の前記所定時間長分の周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定すると共に、以降、前記所定時間長の時間区間の経過毎に、当該直近に経過した前記所定時間長の時間区間に前記サウンド入力装置から出力された周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定する音量レベル算定手段とを有し、
前記音声出力処理手段は、前記音声出力要求が発行されたならば、前記音量レベル算定手段が、前記周囲騒音の音量レベルを算定する度に、各分割音声データを、順次、対象分割音声データとし、前記対象分割音声データが表す音声を、当該算定された周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成することを特徴とする音声出力装置。
【請求項5】
請求項1、2、3または4記載の音声出力装置であって、
前記騒音レベル検出手段は、周波数帯域毎に、周囲騒音の音量レベルを検出し、
前記音声出力処理手段は、前記対象分割音声データが表す音声を、周波数帯域毎に、当該時点において前記騒音レベル検出手段が検出している周囲騒音の各周波数帯域の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成することを特徴とする音声出力装置。
【請求項6】
請求項1、2、3、4または5記載の音声出力装置であって、
当該音声出力装置は、自動車に搭載されるものであることを特徴とする音声出力装置。
【請求項7】
マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、メモリと、音声を出力するサウンド出力装置と、発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバとを備えたコンピュータに読み取られ実行されるコンピュータプログラムであって、
前記コンピュータを、
前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出する騒音レベル検出手段と、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行する音声出力処理手段として機能させることを特徴とするコンピュータプログラム。
【請求項8】
マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、メモリと、音声を出力するサウンド出力装置と、発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバとを備えたコンピュータにおいて、前記サウンド出力装置から出力する音声のゲインを調整するゲイン調整方法であって、
前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出するステップと、
出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行するステップとを有することを特徴とするゲイン調整方法。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、周囲騒音の変化に応じて、出力する音声のゲインを、ユーザの音声に対する聴感が良好に維持されるように動的に変化させる音声出力装置に関するものである。
【背景技術】
【0002】
周囲騒音の変化に応じて、出力する音声の周波数ゲイン特性を、ユーザの音声に対する聴感が良好に維持されるように動的に変化させる音声出力装置としては、周囲騒音に応じて、出力する音声のゲイン特性を調整する装置が知られている(たとえば、特許文献1)。
【特許文献1】特開2004-23481号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
前述したような音声出力装置における周囲騒音に応じた出力音声のゲイン特性の調整は、音声を出力しつつ、当該出力する音声に対して、リアルタイムに周囲騒音に応じたゲイン調整を行うことにより行われている。
ここで、このように音声を出力しつつリアルタイムなゲイン調整を行うためには、音声の出力段において、当該ゲイン調整をハードウエアまたはソフトウエアによって行う必要がある。しかしながら、周囲騒音に応じたゲイン調整を行う特段の素子や回路を備えていない装置では、当該ゲイン調整をハードウエアによって行うことはできない。一方で、ソフトウエアによって当該ゲイン調整を実現するためには、音声出力段のハードウエアの種類毎に、当該ハードウエアの構成に応じた処理によって周囲騒音に応じたゲイン調整を行うソフトウエアを用意する必要が生じる。
【0004】
そこで、本発明は、周囲騒音に応じた出力音声のゲイン調整を、音声出力段のハードウエア構成にかかわらず実現できる音声出力装置の構成を提供することを課題とする。
【課題を解決するための手段】
【0005】
前記課題達成のために、本発明は、音声を出力する音声出力装置を、メモリと、発行された音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を出力する音声出力部と、周囲騒音の音量レベルを検出する騒音レベル検出手段と、出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記音声出力部に発行する音声出力処理手段とを備えて構成したものである。
【0006】
このような音声出力装置によれば、音声出力処理手段によって、音声を出力する音声出力部に供給する音声データ自体を、周囲騒音に応じたゲイン調整が施されたものとしているので、音声出力部の構成に関わらずに、周囲騒音に応じた出力音声のゲイン調整を実現することができる。
【0007】
ここで、このように、音声を出力する音声出力部に供給する音声データ自体を、周囲騒音に応じたゲイン調整を施したものとした場合、音声データにゲイン調整を施した時点と、当該音声データが表す音声が出力される時点との間に生じる時間差が問題となる。出力される音声に施されたゲイン調整において考慮された周囲騒音が、当該時間差分過去のものとなってしまうからである。
【0008】
しかしながら、本音声出力装置によれば、音声出力処理手段において、音声データのゲイン調整と音声データの音声出力部への供給を、出力すべき音声を表す音声データである対象音声データを分割した分割音声データを単位として行うことができるので、このような時間差を短縮化して、ほぼ現在の周囲騒音の状況に応じたゲイン調整が施された音声を出力することができるようになる。なお、近接する時間の周囲騒音は近似していると考えられるので、このように分割音声データ単位にゲイン調整を施した音声は、分割音声データが表す音声の時間長を充分に短くとることにより、実用上、現在の周囲騒音の状況に応じたゲイン調整が施された音声として用いることができる。
【0009】
ここで、より具体的には、このような音声出力装置は、マイクロフォンと、前記マイクロフォンを用いてピックアップした周囲の音声を表す周囲音声データを出力するサウンド入力装置と、メモリと、音声を出力するサウンド出力装置と、発行された音声出力要求を受け入れ、受け入れた音声出力要求で出力音声データとして指定された、前記メモリに格納されている音声データを読み出して、読み出した音声データが表す音声を前記サウンド出力装置に出力させるサウンドドライバと、前記サウンド入力装置が出力する周囲音声データが表す周囲騒音の音量レベルを検出する騒音レベル検出手段と、出力すべき音声を表す音声データである対象音声データを、所定時間長の時間区間毎の音声を表す音声データである分割音声データに分割し、各分割音声データを、前記所定時間毎に、順次、対象分割音声データとし、当該対象分割音声データが表す音声を、当該時点において前記騒音レベル検出手段が検出している周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成し、生成したゲイン調整後音声データを前記メモリに格納すると共に、格納したゲイン調整後音声データを前記出力音声データとして指定した前記音声出力要求を前記サウンドドライバに発行する音声出力処理手段とを備えた音声出力装置として構成するようにしてよい。
【0010】
このように構成した場合には、サウンド出力装置やサウンドドライバによらずに、ほぼ現在の周囲騒音に応じた出力音声のゲイン調整を実現することができる。
ここで、以上の各音声出力装置は、前記騒音レベル検出手段を、少なくとも前記音声出力要求が発行されるまで、常時、直近過去の前記所定時間長分の周囲音声を表す周囲音声データを保持する周囲騒音保持手段と、前記音声出力要求が発行されたならば、当該時点で、前記周囲騒音保持手段に保持されている前記直近過去の前記所定時間長分の周囲音声データの音量レベルを、前記検出する周囲騒音の音量レベルとして算定すると共に、以降、前記所定時間長の時間区間の経過毎に、当該直近に経過した前記所定時間長の時間区間の周囲音声の音量レベルを、前記検出する周囲騒音の音量レベルとして算定する音量レベル算定手段とより構成し、前記音声出力処理手段において、前記音声出力要求が発行されたならば、前記音量レベル算定手段が、前記周囲騒音の音量レベルを算定する度に、各分割音声データを、順次、対象分割音声データとし、前記対象分割音声データが表す音声を、当該算定された周囲騒音の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成するようにしてもよい。
【0011】
このようにすることにより、音声出力要求が発行されしだい、即座に、騒音レベル検出手段において、常時保持するようにした直近過去の前記所定時間長分の周囲音声データを用いて、周囲騒音の音量レベルを検出することができる。したがって、音声出力要求の発生直後から、前記音声出力処理手段において、ゲイン調整後音声データの生成格納や音声出力要求の発行を行って、すみやかに音声を出力することができるようになる。
【0012】
なお、以上の音声出力装置は、前記騒音レベル検出手段において、周波数帯域毎に、周囲騒音の音量レベルを検出し、前記音声出力処理手段において、前記対象分割音声データが表す音声を、周波数帯域毎に、当該時点において前記騒音レベル検出手段が検出している周囲騒音の各周波数帯域の音量レベルに応じたゲインで増幅した音声を表すゲイン調整後音声データを生成するように構成してもよい。
【0013】
また、以上の当該音声出力装置は、自動車に搭載されるものであってよい。
【発明の効果】
【0014】
以上のように、本発明によれば、周囲騒音に応じた出力音声のゲイン調整を、音声出力段のハードウエア構成にかかわらず実現できる。
【発明を実施するための最良の形態】
【0015】
以下、本発明に係る音声出力装置の実施形態について、車載の音声出力装置への適用を例にとり説明する。
まず、第1の実施形態について説明する。
図1に、音声出力装置の構成を示す。
図示するように、本音声出力装置は、オペレーティングシステム1、音声出力アプリケーション2、サウンド入力装置3、マイクロフォン4、サウンド出力装置5、スピーカ6、音声データメモリ7、出力用バッファメモリ8とを備えている。
但し、以上のような音声出力装置は、ハードウエア構成としては、CPUやメモリや外部記憶装置などを備えた一般的な電子計算機の構成を有している。また、当該電子計算機の音声入出力用のハードウエアとして、以上のサウンド入力装置3やマイクロフォン4やサウンド出力装置5やスピーカ6を備えているものである。そして、前述したオペレーションシステムや音声出力アプリケーション2や音声データメモリ7や出力用バッファメモリ8は、CPUが予め用意されたプログラムを実行することにより、当該電子計算機上に、プロセスや記憶資源として具現化されるものである。
【0016】
さて、このような音声出力装置の構成において、オペレーティングシステム1は、サウンドドライバ(入力)12を含んでいる。そして、サウンドドライバ(入力)12は、サウンド入力装置3を介して取り込んだ、マイクロフォン4がピックアップした周囲騒音を表す音声データを生成する。
【0017】
また、オペレーティングシステム1は、サウンド出力装置5を制御して音声をスピーカ6に出力するサウンドドライバ(出力)11を含んでいる。ここで、サウンドドライバ(出力)11は、出力する音声の音声データのアドレスとサイズを表すHDRを格納するHDRキューを備えている。そして、サウンドドライバ(出力)11は、HDRキューに格納されたHDRを順次取り出し、取り出したHDRが示すアドレスから当該HDRが示すサイズ分の音声データを読み出し、音声データが表す音声をサウンド出力装置5を介してスピーカ6に出力する処理を行うものである。また、サウンドドライバ(出力)11は、以上のようにHDRが示す音声データが表す音声の出力を終了したならば、HDRキューに格納したHDRの発行元に再生終了通知を通知するものである。
【0018】
そして、音声出力アプリケーション2は、出力制御部21と、ゲイン調整部22とを備えている。
以下、このような音声出力アプリケーション2の動作について説明する。
音声出力アプリケーション2の出力制御部21は、音声データメモリ7に格納されている、スピーカ6から出力すべき音声を表す音声データDが音声データメモリ7上に発生すると、当該音声データDを対象として音声出力処理を行う。ここで、音声データDは、予め音声データメモリ7に格納されている音声データであってもよいし、音声合成処理などにより新たに生成されたものであってもよい。また、音声データDは、たとえば、ユーザに対してガイダンスを行う音声を表すものであり、この場合、音声データDが表す音声の時間長は数秒から数十秒となる。
【0019】
図2に、音声出力アプリケーション2の出力制御部21が行う音声出力処理の手順を示す。
図示するように、この処理では、まず、サウンドドライバ(出力)11に対して、デバイス(サウンド出力装置5)の使用開始の宣言や、出力する音声データのフォーマットの宣言などの各種前処理を行う(ステップ202)。
そして、次に、音声データDを分割した音声データ分割数n分の各分割音声データD(j)について、jの小さいものより、順次、以下の処理を行う(ステップ204、220、228)。ここで、音声データDの分割は、tsを予め定めた時間長として、各分割音声データD(j)が表す音声が、音声データDが表す音声の内の、j×tsから(j+1)×tsまでの間の期間の音声を表すように行う。但し、音声データDが表す音声の時間長をLとし、音声データ分割数nはステップ204においてL≦n×tsを満たす最小の整数として求められ、jは、0≦j<n満たす整数である。
【0020】
次に、jの2を法数とする剰余をiとして求め(ステップ206)、jが2未満かどうかを調べ(ステップ208)、2未満であれば、ゲイン調整部22に、分割音声データD(j)に現時点における周囲騒音に応じたゲイン調整を施させ、分割音声データD(j)にゲイン調整を施した音声データを出力用バッファメモリ8にPD(i)として格納する(ステップ214)。ただし、jが1である場合には、前回ステップ214の実行を開始してから、前記した時間長ts経過後に、今回のステップ214の実行を開始することが好ましい。
【0021】
そして、PD(i)のアドレスやサイズの属性をHDR(i)に設定し(ステップ216)、HDR(i)をHDRとしてサウンドドライバ(出力)11に発行し、HDRキューに格納する(ステップ218)。ここで、音声出力アプリケーション2のゲイン調整部22は、出力制御部21の要求に応じて、サウンドドライバ(入力)12から周囲騒音の音声データを取り込み、取り込んだ音声データが表す周囲騒音の音量レベルに応じたゲイン調整を分割音声データD(j)に施す。すなわち、分割音声データD(j)が表す音声を、周囲騒音の音量レベルに応じた増幅率で増幅した音声を表す音声データを、出力用バッファメモリ8にPD(i)として格納する、分割音声データD(j)にゲイン調整を施した音声データとして生成する。なお、このゲイン調整部22のゲイン調整は、周囲騒音の音声データが表す周囲騒音の音量レベルを周波数帯域毎に求めると共に、求めた周囲騒音の各周波数帯域の音量レベルに応じたゲイン調整を周波数帯域毎に分割音声データD(j)に施すことによって行うようにしてもよい。
【0022】
次に、jが2未満でない場合には(ステップ208)、サウンドドライバ(出力)11からの再生終了通知を待って(ステップ210)、HDR(i)をクリア(ステップ212)した上で、分割音声データD(j)に現時点における周囲騒音に応じたゲイン調整を施させ、分割音声データD(j)にゲイン調整を施した音声データを出力用バッファメモリ8にPD(i)として格納する(ステップ214)。
【0023】
そして、PD(i)のアドレスやサイズの属性をHDR(i)に設定し(ステップ216)、HDR(i)をHDRとしてサウンドドライバ(出力)11に発行し、HDRキューに格納する(ステップ218)。
そして、音声データDを分割した各分割音声データD(j)の全てについて以上の処理を終了したならば、サウンドドライバ(出力)11の再生終了を待って(ステップ222)、HDR(0)とHDR(1)をクリアし(ステップ224)、サウンドドライバ(出力)11に対して、デバイス(サウンド出力装置5)の使用終了の宣言などの後処理を行って(ステップ226)、音声出力処理を終了する。
【0024】
図3に、このような音声出力処理の処理例を示す。
いま、図3aに示すように、音声データDが6×tsの時間長分の音声を表すものであった場合、音声データDは、D(0)からD(5)の分割音声データに分割される。
そして、この場合には、図3bに示すように、時間長ts毎の時間区間t0からt6の最初の時間区間t0において、音声データDの最初の分割音声データD(0)を、その時点の周囲騒音Nの音量レベルに応じてゲイン調整した音声データGD(0)がPD(0)に設定され、PD(0)のアドレスとサイズがHDR(0)に設定されると共に、HDR(0)がHDRとしてサウンド出力装置5のHDRキューに追加される。
【0025】
次に、時間区間t1では、音声データDの2番目の分割音声データD(1)を、その時点の周囲騒音Nの音量レベルに応じてゲイン調整した音声データGD(1)がPD(1)に設定され、PD(1)のアドレスとサイズがHDR(1)に設定されると共に、HDR(1)がHDRとしてサウンド出力装置5のHDRキューに追加される。また、Q{PD(0)}として示すように、サウンドドライバ(出力)11、サウンド出力装置5によって、PD(0)に設定されたGD(0)が表す音声が再生出力される。ただし、この例は、jが1である場合に、先に行った分割音声データD(0)についてのゲイン調整(ステップ214)の実行を開始してから、前記した時間長ts経過後に、今回の分割音声データD(1)のゲイン調整(ステップ214)の実行を開始するようにした場合についてのものである。
【0026】
そして、その次の、時間区間t2では、音声データDの3番目の分割音声データD(2)を、その時点の周囲騒音Nの音量レベルに応じてゲイン調整した音声データGD(2)がPD(0)に設定され、PD(0)のアドレスとサイズがHDR(0)に設定されると共に、HDR(0)がHDRとしてサウンド出力装置5のHDRキューに追加される。また、Q{PD(1)}として示すように、サウンドドライバ(出力)11、サウンド出力装置5によって、PD(1)に設定されたGD(1)が表す音声が、再生出力される。
【0027】
また、次の、時間区間t3では、音声データDの4番目の分割音声データD(3)を、その時点の周囲騒音Nの音量レベルに応じてゲイン調整した音声データGD(3)がPD(1)に設定され、PD(1)のアドレスとサイズがHDR(1)に設定されると共に、HDR(1)がHDRとしてサウンド出力装置5のHDRキューに追加される。また、Q{PD(0)}として示すように、サウンドドライバ(出力)11、サウンド出力装置5によって、PD(0)に設定されたGD(2)が表す音声が、再生出力される。
【0028】
以降、同様にPD(0)及びHDR(1)と、HDR(0)及びPD(1)を交互に用いながら、時間区間tmでは、音声データDのm+1番目の分割音声データD(m)のゲイン調整と、ゲイン調整した音声データGD(m-1)が表す音声のサウンドドライバ(出力)11、サウンド出力装置5による出力が行われる。
【0029】
結果、Qとして示すように音声データDをゲイン調整した音声がサウンド出力装置5によってスピーカ6から出力されることになる。そして、出力される音声の各部分は、約ts時間前の周囲騒音の音量レベルに応じてゲイン調整されたものとなる。
以上、本発明の第1実施形態について説明した。
このように本台1実施形態によれば、音声出力アプリケーション2によって、サウンドドライバ(出力)11に供給する音声データ(PD)自体を、周囲騒音に応じたゲイン調整が施されたものとしているので、サウンドドライバ(出力)11に関わらずに、周囲騒音に応じた出力音声のゲイン調整を実現することができる。なお、一般的に、サウンドドライバ(出力)11及びサウンドドライバ(入力)12とアプリケーションとのインタフェースAPIは、サウンドドライバ(出力)11及びサウンドドライバ(入力)12によらず共通化されている。
【0030】
ここで、このように、サウンドドライバ(出力)11に供給する音声データ(PD)自体を、周囲騒音に応じたゲイン調整を施したものとした場合、音声データ(PD)にゲイン調整を施した時点と、当該音声データが表す音声が実際に出力される時点との間に生じる時間差が問題となる。出力される音声が、当該時間差分過去の周囲騒音に応じたゲイン調整が施されたものとなるからである。
【0031】
しかしながら、本第1実施形態によれば、音声データ(PD)のゲイン調整と音声データ(PD)のサウンドドライバ(出力)11への供給を、出力すべき音声を表す音声データを分割した分割音声データを単位として行うことができるので、このような時間差を短縮化して、ほぼ現在の周囲騒音の状況に応じたゲイン調整が施された音声を出力することができるようになる。なお、近接する時間の周囲騒音は近似していると考えられるので、分割音声データが表す音声の時間長を充分に短くとることにより、このようにゲイン調整を施した音声は、実用上、現在の周囲騒音の状況に応じたゲイン調整が施された音声として用いることができる。
【0032】
以下、本発明の第2の実施形態について説明する。
本第2実施形態は、前記第1実施形態の音声出力処理のステップ214における出力制御部21の指示に応じて、ゲイン調整部22が行うゲイン調整を、より速やかに実行できるようにしたものである。
図4に、本第2施形態に係る音声出力装置の構成を示す。
図示するように、本第2実施形態に係る音声素出力装置は、図1に示した音声出力装置に、騒音データバッファ9を追加すると共に、音声出力アプリケーションに騒音データ取得制御部23を設けたものである。
また、本第2実施形態では、図2に示した出力制御部21が行う出力制御処理のステップ204において、算出した音声データ分割数nと音声出力処理開始とを騒音データ取得制御部23とゲイン調整部に通知するようにする。
【0033】
そして、騒音データ取得制御部23において、図5aに示す騒音データ取得処理を行うと共に、ゲイン調整部22において図5bに示すゲイン調整処理によって、前記第1実施形態の音声出力処理のステップ214における出力制御部21の指示に応じた、ゲインの調整を行うようにしたものである。
以下、騒音データ取得制御部23が行う騒音データ取得処理について説明する。
図5aに示すように、この処理では、出力制御部21から音声出力処理開始の通知があるまで(ステップ504)、サウンドドライバ(入力)12から周囲騒音の音声データを取り込み続け、騒音データバッファ9のNDPRに、常に、直近過去ts時間分の周囲騒音の音声データが格納されるようにする(ステップ502)。NDPRにおける直近過去ts時間分の周囲騒音の音声データの常時格納は、たとえば、騒音データバッファ9のNDPRをts時間分の音声データを格納するFIFOとして構成し、順次、サウンドドライバ(入力)12から取り込んだ周囲騒音の音声データをNDPRに格納することなどにより実現できる。なお、tsは、第1実施形態で示した分割音声データD(j)の時間長である。
【0034】
そして、出力制御部21から音声出力処理開始が通知されたならば(ステップ504)、以降、騒音データバッファ9のND(0)とND(1)に、交互に、ts時間分づつ、サウンドドライバ(入力)12から取り込んだ周囲騒音の音声データを、n1回格納する処理を行い(ステップ506-514)、n1回格納したならばステップ502からの処理に戻る。
【0035】
次に、ゲイン調整部22が行うゲイン調整処理について説明する。
図5bに示すように、ゲイン調整処理では、出力制御部21から音声出力処理開始の通知を待ち(ステップ552)、通知があったならば、まず、分割音声データD(0)(ステップ554、556)に、騒音データバッファ9のNDPRから取り込んだ(ステップ558、572)周囲騒音の音声データの音量レベルに応じたゲイン調整を施し、ゲイン調整を施した音声データを出力用バッファメモリ8にPD(0)として格納する(ステップ554、566)。
【0036】
そして、以降は、j=1からj=n-1までの各jについて順次(ステップ568、570)
分割音声データD(j)を取得し(ステップ556)、騒音データバッファ9のND(k)に時間長ts分の周囲騒音の音声データが格納されるのを待って(ステップ562)、ND(k)から周囲騒音の音声データを取り込み(ステップ564)、取り込んだ周囲騒音の音声データの音量レベルに応じたゲイン調整を取得した分割音声データD(j)に施し、ゲイン調整を施した音声データを出力用バッファメモリ8にPD(i)として格納する(ステップ566)。ただし、iは、jの2を法数とする剰余であり、kは、j-1の2を法数とする剰余である(ステップ560)
そして、j=n-1までの処理を終了したならば(ステップ568)、ステップ552からの処理に戻る。
【0037】
次に、以上のようなゲイン調整処理の処理例を図6に示す。
いま、図6aに示すように、音声データDが6×tsの時間長分の音声を表すものであり、当該音声データDは、D(0)からD(5)の分割音声データに分割されるものとする。また、図6bに示すように、各々時間長tsの各時間区間t0からt6における周囲騒音Nを、N(t0)からN(t6)で示すものとする。但し、時間区間t0は、音声出力処理が開始された時点Sの直近過去の時間長tsの時間区間を表す。
【0038】
この場合に、時点Sで音声出力処理が開始されると、当該時点において、騒音データバッファ9のNDPRには、騒音データ取得制御部23によって、既に、時間長tsを有する直近過去の時間区間t0の周囲騒音の音声データN(t0)が格納されている。そこで、ゲイン調整部22は、直ちに、音声データDの最初の分割音声データD(0)に、NDPRに格納されている周囲騒音N(t0)の音量レベルに応じたゲイン調整して音声データGD(0)を生成し、出力用音声バッファメモリ8のPD(0)に設定する。
【0039】
そして、次に、ゲイン調整部は、騒音データ取得制御部23によって、ND(0)に時間区間t1の周囲騒音の音声データN(t1)が格納されしだい、音声データDの2番目の分割音声データD(1)を、ND(0)に格納されている周囲騒音N(t1)の音量レベルに応じてゲイン調整して音声データGD(1)を生成し、出力用音声バッファメモリ8のPD(1)に設定する。
【0040】
また、次に、ゲイン調整部は、騒音データ取得制御部23によって、ND(1)に時間区間t2の周囲騒音の音声データN(t2)が格納されしだい、音声データDの3番目の分割音声データD(2)を、ND(1)に格納されている周囲騒音N(t2)の音量レベルに応じてゲイン調整して音声データGD(2)を生成し、出力用音声バッファメモリ8のPD(0)に設定する。
【0041】
次に、ゲイン調整部は、騒音データ取得制御部23によって、ND(0)に時間区間t3の周囲騒音の音声データN(t3)が格納されしだい、音声データDの4番目の分割音声データD(3)を、ND(0)に格納されている周囲騒音N(t3)の音量レベルに応じてゲイン調整して音声データGD(3)を生成し、出力用音声バッファメモリ8のPD(1)に設定する。
【0042】
そして、以降、同様に、ND(1)とND(0)に格納された周囲騒音の音声データを交互に用いながら、分割音声データD(4)からD(5)にゲイン調整を施し、PD(0)とPD(1)に交互に設定していく。
このように、本第2実施形態によれば、音声出力の要求発生時に、常時保持するようにした直近過去の周囲騒音の音声データを用いて、速やかに音声データのゲイン調整を開始することができ、また、これにより速やかに音声出力を開始することができるようになる。
【図面の簡単な説明】
【0043】
【図1】本発明の第1実施形態に係る音声出力装置の構成を示すブロック図である。
【図2】本発明の第1実施形態に係る音声出力処理を示すフローチャートである。
【図3】本発明の第1実施形態に係る音声出力処理の処理例を示す図である。
【図4】本発明の第2実施形態に係る音声出力装置の構成を示すブロック図である。
【図5】本発明の第2実施形態に係る騒音データ取得処理とゲイン調整処理を示すフローチャートである。
【図6】本発明の第2実施形態に係る騒音データ取得処理とゲイン調整処理の処理例を示す図である。
【符号の説明】
【0044】
1…オペレーティングシステム、2…音声出力アプリケーション、3…サウンド入力装置、4…マイクロフォン、5…サウンド出力装置、6…スピーカ、7…音声データメモリ、8…出力用バッファメモリ、9…騒音データバッファ、11…サウンドドライバ(出力)、12…サウンドドライバ(入力)、21…出力制御部、22…ゲイン調整部、23…騒音データ取得制御部。
【出願人】 【識別番号】000101732
【氏名又は名称】アルパイン株式会社
【出願日】 平成19年3月12日(2007.3.12)
【代理人】 【識別番号】100099748
【弁理士】
【氏名又は名称】佐藤 克志


【公開番号】 特開2008−3562(P2008−3562A)
【公開日】 平成20年1月10日(2008.1.10)
【出願番号】 特願2007−61361(P2007−61361)