JP2017021212A - 音声生成方法、音声生成装置、プログラム、及び記録媒体 - Google Patents

音声生成方法、音声生成装置、プログラム、及び記録媒体 Download PDF

Info

Publication number
JP2017021212A
JP2017021212A JP2015138956A JP2015138956A JP2017021212A JP 2017021212 A JP2017021212 A JP 2017021212A JP 2015138956 A JP2015138956 A JP 2015138956A JP 2015138956 A JP2015138956 A JP 2015138956A JP 2017021212 A JP2017021212 A JP 2017021212A
Authority
JP
Japan
Prior art keywords
block
frequency
blocks
voice
audio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015138956A
Other languages
English (en)
Inventor
サジャード シディーク
Siddiq Sadjad
サジャード シディーク
輝 谷山
Hikaru Taniyama
輝 谷山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2015138956A priority Critical patent/JP2017021212A/ja
Publication of JP2017021212A publication Critical patent/JP2017021212A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】 詳細に条件分けした複数のサンプル音声データを用いずに簡単な処理にて音声の生成を行う音声生成装置を提供する。【解決手段】 音声生成装置2は、所定のパラメータ変化に基づき基本周波数が変化する音声を、パラメータを所定の時間をかけて変化させて取得した単一のサンプル音声データから、基本周波数を算出すると共に、基本周波数に基づきパラメータとサンプル音声データの時間軸との対応関係を取得するデータ分析部12と、サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割部13と、外部から入力されるパラメータに基づき対応する周波数を計算する周波数算出部14と、計算した周波数に対応するブロックを選択するブロック選択部15と、選択したブロック15を複数結合した音声波形を生成するブロック結合部16とを有する。【選択図】 図2

Description

本発明は、音声生成方法、音声生成装置、プログラム、及び記録媒体に関し、特に所定のパラメータ変化に基づき基本周波数が変化する音声を生成する技術に関する。
近年、音声を生成する方法として、例えば、自動車のエンジン音の場合、自動車の運転状態に応じた音声データを複数用意しておき、運転状態を再現するにあたり、これら複数の音声データを合成する等の加工方法を用いて、エンジン音を運転状態に応じて再現することが提案されている。
エンジン音は、エンジンの回転数(rpm)値に基づく変動が大きく、エンジンの回転数の変化に基づき基本周波数が変化する特性を有する音声である。
また、エンジン音は、その他のパラメータ、例えば、変速シフトレンジ、車速、アクセル開度(アクセルペダル操作量)等の変化によっても異なる音質となる。
例えば、特許文献1および特許文献2では、より正確なエンジン音を生成するために、各種のパラメータごとに対応する音声データを複数用意しておき、これらを合成することによってエンジン音の再現性を高めるようにしている。
特開2000−010576号公報 特開2005−115166号公報
上述した特許文献1および特許文献2に記載のような模擬音形成装置では、複雑な条件をテーブル化して記憶領域に区分けし、記憶領域ごとに条件の組み合わせに応じたサンプル音声データを録音して用意しておく必要があった。このため、サンプル音声データの取得に手間がかかるとともに、サンプル音声データが膨大となり、サンプル音声データを記憶しておく記憶手段の容量が肥大化してしまうという問題があった。
また、エンジン音等の模擬音を生成するにあたり、データ量の増大は演算リソースを多く消費するといった課題を有しており、簡易な機器における模擬音を生成する処理は困難となっていた。
本発明は、上述した従来技術における課題を解決するものであり、多くのサンプル音声データをあらかじめ用意しておく必要なく、また、記憶領域を節約するとともに簡易な機器においても高品質な模擬音を生成することができる音声生成方法、音声生成装置、プログラムおよび記憶媒体を提供することを目的とする。
上述した課題を解決するために、本発明に係る音声生成方法は、所定のパラメータ変化に基づき基本周波数が変化する音声を、パラメータを所定の時間をかけて変化させて取得した単一のサンプル音声データから、基本周波数を算出すると共に、基本周波数に基づきパラメータとサンプル音声データの時間軸との対応関係を取得するサンプル音声データ分析ステップと、サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割ステップと、外部から入力されるパラメータに基づき対応する周波数を計算する周波数算出ステップと、計算した周波数に対応するブロックを選択するブロック選択ステップと、選択したブロックを複数結合した音声波形を生成するブロック結合ステップとを有する。
また、上述した課題を解決するために、本発明に係る音声生成装置は、所定のパラメータ変化に基づき基本周波数が変化する音声を、パラメータを所定の時間をかけて変化させて取得した単一のサンプル音声データから、基本周波数を算出すると共に、基本周波数に基づき前記パラメータとサンプル音声データの時間軸との対応関係を取得するサンプル音声データ分析部と、サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割部と、外部から入力されるパラメータに基づき対応する周波数を計算する周波数算出部と、計算した周波数に対応するブロックを選択するブロック選択部と、選択したブロックを複数結合した音声波形を生成するブロック結合部とを有する。
本発明によれば、単一のサンプル音声データを周波数に応じた時間長でブロック分割を行い、外部から入力されるパラメータに基づき対応する周波数を計算するだけで、必要となる音声要素ブロックを選択して、このブロックを複数結合するだけの処理で、高品質な模擬音を生成することができる。
図1は、音声生成装置および連係動作する他の装置の構成を示したブロック図である。 図2は、音声生成装置の機能ブロック図である。 図3は、音声生成装置が処理するサンプル音声データを説明するスペクトルグラムである。 図4は、サンプル音声データのブロック分割を説明するためのスペクトルフラムである。 図5は、サンプル音声データのブロック分割を説明するための図である。 図6は、エンジン回転数と周波数の関係を計算する例を示すグラフである。 図7は、音声生成装置の構成を説明するブロック図である。 図8は、サンプル音声データの分析処理を説明するためのフローチャートである。 図9は、サンプル音声データの分割処理を説明するためのフローチャートである。 図10は、入力パラメータに基づき周波数を算出する処理を説明するためのフローチャートである。 図11は、周波数に基づき、音声ブロックを選択する処理を説明するためのフローチャートである。 図12は、音声ブロックの結合処理を説明するためのフローチャートである。 図13は、音声合成処理の変形例として、ジッター処理を説明するための図である。 図14は、ジッター処理を説明するためのフローチャートである。 図15は、音声合成処理の変形例として、ブロック長可変処理を説明するための図である。 図16は、ブロック長可変処理を説明するためのフローチャートである。 図17は、音声合成処理の変形例として、音声ブロックの合成処理を説明するための図である。 図18は、音声ブロックの合成処理を説明するためのフローチャートである。 図19は、音声合成処理の変形例として、サンプル音声データを周波数帯域毎に分割した状態を説明する図である。 図20は、サンプル音声データを周波数帯域毎に分割および合成する処理を説明するためのフローチャートである。
以下、本発明の実施の形態(以下、本実施の形態と称する。)について、図面を参照しながら以下の順序にて詳細に説明する。なお、本発明は、以下の実施形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更が可能であることは勿論である。
1.音声合成システムの構成
2.音声生成装置の構成例(機能構成)
3.音声生成装置の構成例(プログラム処理を前提とした構成)
4.プログラム1(サンプル音声データ分析処理)
5.プログラム2(ブロック分割処理)
6.プログラム3(周波数算出処理)
7.プログラム4(ブロック選択処理)
8.プログラム5(ブロック結合処理および音声波形データ出力処理)
9.変形例1(ジッター処理)
10.プログラム6(ジッター処理)
11.変形例2(ブロック長可変処理)
12.プログラム7(ブロック長可変処理)
13.変形例3(音声ブロック合成処理)
14.プログラム8(音声ブロック合成処理)
15.変形例4(周波数帯域分割処理)
16.プログラム9(周波数帯域分割処理)
<1.音声生成システムの構成>
図1は、本実施の形態に係る音声生成装置を含む、音声生成システムの構成を示す図である。
音声生成システムは、音声生成を行うために必要な外部パラメータ等を出力する外部パラメータ出力装置1と、外部パラメータ出力装置1から入力されたパラメータ等に基づき音声の生成を行う音声生成装置2と、音声生成装置2が生成した音声を出力する音声出力装置3と、サンプル音声データを取得するサンプル音声録音装置4とから構成される。
ここで、音声生成装置2が扱う音声データは、所定のパラメータ変化に基づき基本周波数(f0)が変化する特徴を有する音声データであり、特に、パラメータを所定の時間をかけて単調増加するように変化させて取得した単一のサンプル音声データである。
所定のパラメータ変化に基づき基本周波数(f0)が変化する特徴を有する音声データの一例として、たとえば、エンジン回転数(rpm)の変化に基づき基本周波数(f0)が変化するエンジン音がある。以下では、一例としてエンジン音に本発明を適用したものとして説明を進めるが、その他にも基本周波数(f0)が所定のパラメータ変化に基づき変化する他の音声にも適用可能なことは言うまでもない。
サンプル音声データは、サンプル音声録音装置4等によって、パラメータを所定の時間をかけて変化させながらサンプル音声を録音することによってデータ化して得ることができる。音声生成装置2は、サンプル音声録音装置4等からサンプル音声データを取得し、音声生成装置2内部の記憶領域に格納しておくものとする。
なお、サンプル音声データは、サンプル録音装置4以外の装置によって得るようにしてもよく、記録媒体またはネットワークを介して音声生成装置2にあらかじめ取り込まれるものとしてもよい。
外部パラメータ出力装置1は、例えば各種の物理計算を用いて所定のパラメータを算出して出力するものである。エンジン音に関しては、物理エンジンによって所定のパラメータであるエンジン回転数(rpm)値を算出し、エンジン回転数(rpm)値およびエンジン回転数の最高値および最低値を音声生成装置2へ出力するようになっている。なお、エンジン回転数の最高値および最低値に関しては、物理エンジンによって算出するエンジン回転数の変化範囲が確定する初期に一度だけ出力するようにしてもよい。
また、外部パラメータ出力装置1は、エンジン回転数(rpm)値そのものではなく、例えばシステム上で許容されるビット数の代替値を出力するようにしてもよい。すなわち、外部パラメータ出力装置1は、少ないビット数で表された代替値を用いるようにしてもよい。
音声生成装置2は、サンプル音声データから、基本周波数(f0)を算出すると共に、基本周波数(f0)に基づきパラメータとサンプル音声データの時間軸との対応関係を取得し、サンプル音声データを周波数に応じた時間長でブロック化して分割し、外部パラメータ出力装置1から入力されるパラメータに基づき対応する周波数を計算し、計算した周波数に対応するブロックを選択し、選択したブロックを複数結合(時間的に接続)した音声波形を生成する。なお、音声再生装置2の構成及び動作については、以下で詳細な説明を行う。
音声生成装置2は、生成した音声波形をデジタルデータまたはアナログデータにて音声出力装置3へ出力し、音声出力装置3は、入力された音声波形を音声として再生する。
音声出力装置3は、例えばスピーカ等の音響装置等を用いることができるが、音声を再生可能な各種の装置を用いることができるのは言うまでもない。
<2.音声生成装置の構成例(機能構成)>
図2は、本実施の形態に係る音声生成装置2の機能構成を示すブロック図である。
音声生成装置2は、図2に示すように、少なくとも、サンプル音声データを記憶するデータ記憶部11と、基本周波数(f0)を算出すると共に、基本周波数(f0)に基づきパラメータとサンプル音声データの時間軸との対応関係を取得するデータ分析部12と、サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割部13と、外部パラメータ出力装置1から入力されるパラメータに基づき対応する周波数を計算する周波数算出部14と、計算した周波数に対応するブロックを選択するブロック選択部15と、選択したブロックを複数結合(時間的に接続)した音声波形を生成するブロック結合部16と、音声波形データを出力する音声波形データ出力部17の機能ブロックから構成されている。
データ記憶部11は、例えば図3に示すように、所定のパラメータ変化に基づき基本周波数(f0)が変化する音声を、パラメータを所定の時間をかけて単調増加するように変化させて取得するサンプル音声録音装置4等により得られたサンプル音声データを記憶するものである。ここで、図3に示すサンプル音声データは、横軸を時間軸、縦軸を周波数(Hz)で表すことができ、色の濃度で音の強度レベルを表している。図3からもわかるように、音声は基本周波数(f0)とともに基本周波数(f0)よりも大きな周波数で音の強度が高くなる部分音とから構成されており、周波数軸(縦軸)に沿ってデータを取り出すと取り出した時間の音声スペクトルを得ることができる。
まず、データ記憶部11には、あらかじめ図3に示すようなサンプル音声データを記憶しておくことが好ましいが、後述する音声生成を行う前に記憶されていれば音声生成装置2の機能を発揮するために差し支えない。また、サンプル音声録音装置4からサンプル音声データを取得するのみならず、他の装置からサンプル音声データを取得してもよいことは言うまでもない。
次に、データ分析部12は、データ記憶部11に記憶されたサンプル音声データを分析し、以後の音声生成処理を行うために必要なデータを得るものである。
データ分析部12は、時間変化を伴う基本周波数(f0)のプロファイルを取得し、基本周波数(f0)のプロファイルに基づき所定のパラメータとサンプル音声データの時間軸との対応関係を取得する。具体的な処理は後述するが、所定のパラメータが上昇するにつれ基本周波数(f0)が上昇する音声の場合、基本周波数(f0)と所定のパラメータは一定の相関性を有する。したがって、時間変化を伴う基本周波数(f0)のプロファイルを参照すると、あるパラメータにおける音声データは、図3に示すサンプル音声データの所定の時間を切り出せばよいことになる。
次に、ブロック分割部13は、サンプル音声データを周波数に応じた時間長でブロック化して分割するものである。具体的には、ブロック分割部13は、図3および図4に示すように、サンプル音声データを周波数に応じた時間長Bでブロック化して分割する。
時間長Bは、サンプル音声データの周波数が高くなるほど短くなるようになっている。図3に示す、サンプル音声データでは、時間の変化とともに基本周波数(f0)が上昇し、部分音の周波数も上昇するため、時間の経過とともに時間長Bが短くなるように分割するようにしている。
これは、周波数の高い音声データが、一つの音声要素が短い時間サイクルで繰り返される特性を有するため、分割時間長を短くしても音の特徴を失うことがなく、後述の音声生成処理においても高音質な音声生成を行うことができるためである。
上述の時間長Bについて、図4に例示するサンプル音声データをもとに、さらに説明を行う。図4に示すように、時間と周波数の関係が変化するプロファイルで表される音声スペクトルでは、音声ブロック21を、周波数の高い所で短い時間長で分割し、周波数の低い所で長い時間長で分割するように、分割線が引かれ、この分割線の位置で音声ブロック21を分割することにより、図5に示すように、複数の音声ブロック22に分割される。
ここで、図5に示す分割された音声ブロック22には、それぞれ分割を行った位置に対応する周波数として、20Hz,22Hz,23Hz,25Hz,・・・とラベル付けが行われる。ここで、ラベル付けされる周波数は、あくまで例示であるが、例えば、音声ブロック22の領域の中央部のプロファイルの周波数を選択するか、他の音声ブロック22と分割される分割線の位置におけるプロファイルの周波数を選択する。このラベルは、各音声ブロック22の基本周波数(f0)、すなわち音声の高低を示す指標ともなる。
次に、周波数算出部14は、外部パラメータ出力装置1から、例えばエンジン回転数(rpm)値をパラメータとして入力され、このエンジン回転数(rpm)値に基づき対応する周波数を計算する。
具体的に、周波数算出部14は、データ分析部12により取得した基本周波数(f0)のプロファイルに基づき、例えば図6に示すような基本周波数(f0)のプロファイルを近似する関数f(r)を求める。なお、図6における基本周波数(f0)は、図3から抽出したものである。
基本周波数(f0)の時間変化は、パラメータの変化、すなわちエンジン回転数(rpm)値rの変化と相関する。関数f(r)は、基本周波数(f0)を近似するものとも言える。したがって、関数f(r)は、周波数とエンジン回転数(rpm)値rとの係を表す関数である。
関数f(r)を求める際には、基本周波数(f0)のプロファイルの平均直線から算出したり、任意2点間を直線補間することにより算出したり、任意の複数点から内挿を行うことにより算出する等、各種の計算方法を用いることができる。
なお、関数f(r)は、各種の近似法によって得られる関数であるが、計算処理を容易とするために最も簡易な関数として一次関数とすることが好ましい。関数f(r)は、サンプル音声データに対応して一度計算してしまえばよく、処理の都度計算する必要はないため、あらかじめ計算をしておくことが好ましい。また、関数f(r)は、サンプル音声データを取得する際にサンプル音声データと共に取得するようにしてもよい。
周波数算出部14は、外部パラメータ出力装置1からエンジン回転数(rpm)値rが入力されると、関数f(r)にエンジン回転数(rpm)値rを代入して、エンジン回転数(rpm)値rに対応する周波数fを算出する。
次に、ブロック選択部15は、周波数算出部14によって計算された周波数に対応するラベルを有する分割された音声ブロック22を選択するものである。なお、該当する周波数に対応するラベルを有する音声ブロック22がない場合には、最も近い周波数のラベルを有する音声ブロック22を選択するようにしてもよい。なお、詳細は後述するが、単一の音声ブロック22を選択する必要はなく、複数の音声ブロック22を選択するようにしてもよいし、更には音声ブロック22に加工を施してもよい。
次に、ブロック結合部16は、ブロック選択部15が選択した音声ブロック22を複数結合(時間的に接続)して、時間的に連続する音声波形を生成するものである。すなわち、ブロック結合部16は、ブロック選択部15が選択した音声ブロック22を繰り返し接続した音声波形を生成するものである。
次に、音声波形データ出力部17は、ブロック結合部16によって生成される音声波形を、音声出力装置3に順次出力するものである。
なお、音声波形データ出力部17は、音声出力装置3に応じて音声波形をアナログデータとして出力してもよいし、デジタルデータとして出力してもよいことは言うまでもない。
以上のような構成とされた音声生成装置2は、単一のサンプル音声データを周波数に応じた時間長でブロック分割を行い、外部パラメータ出力装置1から入力されるパラメータに基づき対応する周波数を計算するだけで、必要となる音声ブロックを選択して、この音声ブロックを複数結合するだけの処理で、高品質な模擬音を形成することができる。
また、音声生成装置2は、複雑な条件をテーブル化して記憶領域に区分けし、記憶領域ごとに条件の組み合わせに応じたサンプル音声データを録音して用意しておく必要がなく、音声データ量の増加を抑えるとともに、音声データを記憶しておく記憶手段の容量を節約することが可能となる。
また、音声生成装置2は、上述のように扱う音声データがブロック化され、データ量も小さく、簡易な関数f(r)により周波数を計算して、周波数に応じた音声ブロックを選択するだけであるため、演算リソースの消費を抑制することができる。
<3.音声生成装置の構成例(プログラム処理を前提とした構成)>
図7は、本実施の形態に係る音声生成装置2の機能を発揮するためのハードウェアの構成を示すブロック図である。音声生成装置2は、以下のハードウェア構成上で動作するプログラムによって動作するものとする。
音声生成装置2は、図7に示すように、プログラムの実行処理を行うCPU(Central Processing Unit)101と、CPU101により実行されるプログラムを格納するROM(Read Only Memory)102と、プログラムやデータを展開するRAM(Random Access Memory)103と、ユーザにより各種の入力操作を受ける操作入力部104と、プログラムやデータを固定的に保存するストレージ105と、外部からデータが入力され、またプログラム処理により生成された音声データ等を出力する入出力インターフェース106とを有する。
CPU101は、音声生成装置2が有する各ブロックの動作を制御する。具体的に、CPU101は、例えばROM102に記録されている音声生成処理の動作プログラムを読み出し、RAM103に展開して実行することにより、各ブロックの動作を制御する。
ROM102は、例えば読み込みのみ可能な不揮発性メモリである。ROM102は、音声生成処理等の動作プログラムに加え、音声生成装置2が有する各ブロックの動作に必要な定数等の情報を記憶する。
RAM103は、揮発性メモリである。RAM103は、動作プログラムの展開領域としてだけでなく、音声生成装置2が有する各ブロックの動作において出力された中間データ等を一時的に記憶する格納領域としても用いられる。
操作入力部104は、音声生成装置2に対して入力操作を行う際に用いられるユーザインタフェースである。操作入力部104は、ユーザの入力操作に応じて音声生成処理の実行または停止等の命令をCPU101に対して出力する。
ストレージ105は、RAM103に展開された動作プログラム、サンプル音声データ、音声生成装置2が有する各ブロックの動作において出力された中間データ等を固定的に記憶する格納領域として用いられる。なお、ストレージ105としてはHDD(Hard disk drive)、SSD(Solid State Drive)又は光学ドライブ等を用いることができる。
入出力インターフェース106は、外部パラメータ出力装置1から所定のパラメータとして、例えばエンジン回転数(rpm)値が入力され、音声生成処理によって生成した音声波形をデータ化して音声出力装置3に出力するインターフェースである。
上述のように構成された音声生成装置2は、後述で説明する各プログラムを実行することによって、音声生成処理を行うことができる。
<4.プログラム1(サンプル音声データ分析処理)>
次に、本実施の形態の音声生成装置2において実行されるサンプル音声データの分析処理について、図8のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本分析処理は、他の処理に先駆けてサンプル音声を取得した時点で開始してもよいし、音声生成処理を行う直前に開始してもよい。
ステップS101で、CPU101は、サンプル音声データをストレージ105より読みだす。なお、CPU101は、サンプル音声データがROM102等に記録されている場合には、該当する記憶手段からサンプル音声データを読み出す。
ステップS102で、CPU101は、読み出したサンプル音声データを分析し、図3に示すように、基本周波数(f0)を算出する。なお、基本周波数(f0)の算出方法や推定方法については各種の公知の技術を用いることができる。例えば、音響分析ソフトである“Praat”を用いたPDA(Pitch Detection Algorithm)が一般的である。以下では、“Praat”を用いたPDAとして自己相関を用いた計算方法に関して説明する。
CPU101は、サンプル音声データの波形を所定の時間長で短いフレームに分割し、フレーム毎の自己相関を算出し、自己相関スペクトルの最高点に基づいて各フレームの波形周期すなわち波長を算出する。次に、CPU101は、波長を周波数に変換し、基本周波数の値を算出する。
より詳しく説明すると、CPU101は、フレーム毎の自己相関スペクトルから複数の最高点を抽出し、複数の基本周波数の値を得る。そして、CPU101は、全フレームを処理した後で、フレーム毎に抽出された複数の基本周波数の値のうちからフレーム毎一つを選択する。CPU101は、基本周波数曲線が連続するきれいな曲線となるように基本周波数値を選択する、即ち前後のフレームで選択された基本周波数の値に近い値を順次選択するようにしている。これにより、CPU101は、基本周波数(f0)を時間tを変数とする関数として抽出する。
ステップS103で、CPU101は、算出された基本周波数(f0)から、基本周波数fと入力パラメータであるエンジン回転数(rpm)値rの関係を表す関数f(r)を算出する。
ここで、関数f(r)の算出の一例を示すが、例えば、外部パラメータ出力装置1が、所定パラメータであるエンジン回転数(rpm)値rを変化させたときの最高値(r2)および最低値(r1)を音声生成装置2に出力した場合に、CPU101は、最高値(r2)と最低値(r1)から、単純に直線補間を行うことで関数f(r)を算出することができる。図6に示すように、外部パラメータ出力装置1が出力する最高値(r2)および最低値(r1)が決まっている状態であれば、これらの値を用いて基本周波数(f0)の直線補間を行うことで、実際に入力されるエンジン回転数(rpm)値rに対応した関数f(r)を計算することが可能である。この場合には、外部パラメータ出力装置1から、エンジン回転数(rpm)値rと共に、最高値(r2)および最低値(r1)を得るものとする。
なお、エンジン回転数をr、最低基本周波数をf1、最高基本周波数をf2、最低エンジン回転数をr1、最高エンジン回転数をr2としたときに、関数f(r)は以下の式1で表すことができる。
f(r)=f1+((r−r1)/(r2−r1))×(f2−f1)・・・(式1)
以上のように、CPU101は、サンプル音声データの分析処理を行い、関数f(r)を取得する。なお、CPU101は、取得した関数f(r)をRAM103又はストレージ105等に記録する。
<5.プログラム2(ブロック分割処理)>
次に、本実施の形態の音声生成装置2において実行されるブロック分割処理について、図9のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本分析処理は、他の処理に先駆けてサンプル音声を取得した時点で開始してもよいし、音声生成処理を行う直前に開始してもよい。
ステップS201で、CPU101は、サンプル音声データをストレージ105より読みだす。なお、CPU101は、サンプル音声データがROM102等に記録されている場合には、該当する記憶手段からサンプル音声データを読み出す。
ステップS202で、CPU101は、読み出したサンプル音声データを分析し、図4及び図5に示すように、周波数に応じた時間長Bでブロック化して分割する。特に、CPU101は、サンプル音声データの周波数が高くなるほど時間長Bが短くなるようブロック分割を行い、サンプル音声データを複数の音声ブロック22に分割する。
ステップS203で、CPU101は、図5に示す分割された音声ブロック22に、それぞれ分割を行ったプロファイルの周波数に対応して、例えば20Hz,22Hz,23Hz,25Hz,・・・とラベル付けを行う。ここで、CPU101は、ラベル付けする周波数を各音声ブロック22の基本周波数(f0)とし、例えばデータのヘッダー情報等に該当する周波数を示すパラメータを含むように音声ブロック22を出力する。
以上のように、CPU101は、サンプル音声データのブロック分割処理を行い、複数の音声ブロック22を取得する。なお、CPU101は、取得した複数の音声ブロック22をRAM103又はストレージ105等に記録する。
<6.プログラム3(周波数算出処理)>
次に、本実施の形態の音声生成装置2において実行される周波数算出処理について、図10のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本周波数算出処理は、外部パラメータ出力装置1から所定のパラメータであるエンジン回転数(rpm)値rを取得した時点で開始する。
ステップS301で、CPU101は、関数f(r)をストレージ105より読みだす。なお、CPU101は、関数f(r)がROM102等に記録されている場合には、該当する記憶手段から関数f(r)を読み出す。
ステップS302で、CPU101は、外部パラメータ出力装置1から、所定のパラメータであるエンジン回転数(rpm)値rを取得する。
ステップS303で、CPU101は、関数f(r)に外部パラメータ出力装置1から入力されたエンジン回転数(rpm)値rを代入し、エンジン回転数(rpm)に対応する周波数を算出する。
以上のように、CPU101は、入力されたエンジン回転数(rpm)値rから、対応する周波数を算出する。なお、CPU101は、算出した周波数をRAM103又はストレージ105等に記録する。
<7.プログラム4(ブロック選択処理)>
次に、本実施の形態の音声生成装置2において実行されるブロック選択処理について、図11のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ブロック選択処理は、周波数が算出され、更新される都度実行される。
ステップS401で、CPU101は、周波数をRAM103より読みだす。なお、CPU101は、周波数がROM102やストレージ105等に記録されている場合には、該当する記憶手段から周波数を読み出す。
ステップS402で、CPU101は、RAM103に記録されている、複数の音声ブロック22のラベルが、読み出した周波数と対応するか否かを判断し、対応する場合には処理をS403に進める。また、CPU101は、RAM103に記録されている、複数の音声ブロック22のラベルが、読み出した周波数と対応しないと判断した場合には処理をS404に進める。
ステップS403で、CPU101は、読み出した周波数に対応するラベルを有する音声ブロック22を選択する。一方、ステップS404で、CPU101は、読み出した周波数に最も近い値に対応するラベルを有する音声ブロック22を選択する。
以上のように、CPU101は、読み出した周波数に対応するラベルか、読み出した周波数に近いラベルを有する音声ブロック22を選択する。なお、CPU101は、選択した音声ブロック22の情報をRAM103又はストレージ105等に記録する。
<8.プログラム5(ブロック結合処理および音声波形データ出力処理)>
次に、本実施の形態の音声生成装置2において実行されるブロック結合処理および音声波形データ出力処理について、図12のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。
ステップS501で、CPU101は、ブロック選択処理にて選択した音声ブロック22をRAM103より読みだす。なお、CPU101は、音声ブロック22がROM102やストレージ105等に記録されている場合には、該当する記憶手段から音声ブロック22を読み出す。
ステップS502で、CPU101は、ブロック選択処理にて選択した音声ブロック22を複数結合(時間的に接続)する。すなわち、CPU101は、音声ブロック22が繰り返される音声ブロックを生成することとなる。
ステップS503で、CPU101は、結合された音声ブロックに基づき音声波形をデータとして出力する。
ステップS504で、CPU101は、ブロック選択処理において選択された音声ブロックに変更があるか否かを判断し、ある場合には、処理をステップS501に戻し、ステップS502において変更された音声ブロックを読み出す処理を行う。また、CPU101は、ブロック選択処理において選択された音声ブロックに変更がないと判断した場合には処理をS505に進める。なお、音声ブロックの変更の有無については、入力されるエンジン回転数(rpm)値の変化の有無に基づき判断することができる。
ここで、音声ブロックに変更が生じた場合に、ステップS502における音声ブロック22の結合処理は、読み出される音声ブロック22が変更される都度現在の音声ブロック22の後ろ側に時間的に結合するように音声ブロックの結合処理を行うものとする。
ステップS505で、CPU101は、音声出力停止か否かを判断し、音声出力停止条件に該当する場合には、処理を終了する。また、CPU101は、音声出力停止条件に該当しない場合には処理をステップS502に戻し、ステップS502において音声ブロックの結合を繰り返す。
なお、音声出力停止か否かの判断は、例えば、外部パラメータ出力装置1からパラメータの入力がなくなった場合や、ユーザ操作に基づく音声出力の停止要求等、任意に設定することができる。
以上のように、CPU101は、選択された音声ブロック22を結合しながら音声波形データを出力し、音声ブロック22の変更があった場合には結合する音声ブロックを変更しながら音声ブロック22の結合および音声波形データの出力を継続することで、庫温室なエンジン音の再現を可能とする。
<9.変形例1(ジッター処理)>
次に、本実施の形態の音声生成装置2の変形例1として、ブロック結合部16の他の動作について説明する。
具体的には、図13に示すように、ブロック結合部16は、ブロック選択部15が選択した音声ブロック24と、この音声ブロック24の前後の音声ブロック25,26のうち少なくとも一方とを用い、音声ブロック24,25,26を任意の組み合わせで結合(時間的に接続)することで、ジッターに似た音響エフェクト効果を得ることができる。
ブロック結合部16は、音声ブロック24,25,26の組み合わせ順序をランダムにしてもよいし、所定のパターンであらかじめ結合する順序を決めてもよい。また、音声ブロック24の時間的に前後の音声ブロックとは、直近の前後の音声ブロックに限定するものではなく、やや離れた音声ブロックを採用するようにしてもよい。
<10.プログラム6(ジッター処理)>
次に、本実施の形態の音声生成装置2において実行されるジッター処理について、図14のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。
ステップS601で、CPU101は、ブロック選択処理にて選択した音声ブロック24および前後の音声ブロック25,26をRAM103より読みだす。なお、CPU101は、音声ブロック24,25,26がROM102やストレージ105等に記録されている場合には、該当する記憶手段から音声ブロックを読み出す。
ステップS602で、CPU101は、ブロック選択処理にて選択した音声ブロック24および前後の音声ブロック25,26を複数結合(時間的に接続)する。すなわち、CPU101は、音声ブロック24および前後の音声ブロック25,26が繰り返される音声ブロックを生成することとなる。CPU101は、音声ブロック24および前後の音声ブロック25,26の結合順序は、ランダムでも所定パターンでも構わないが、ランダム関数が低負荷で利用できる環境においては所定パターンを記憶する必要がないため、ランダムに結合順序を決めることが好ましい。
ステップS603で、CPU101は、結合された音声ブロックに基づき音声波形をデータとして出力する。
以上のように、CPU101は、選択された音声ブロックを繰り返すだけの単調な音声生成を行うだけではなく、前後の音声ブロックも利用することによって、エンジン音等の揺らぎを再現し、よりリアルなエンジン音の再現を可能とする。
<11.変形例2(ブロック長可変処理)>
次に、本実施の形態の音声生成装置2の変形例2として、ブロック結合部16の他の動作について説明する。
具体的には、図15に示すように、ブロック結合部16は、ブロック選択部15が選択した音声ブロック27と、この音声ブロック27を加工した他の音声ブロック27’,27’’を少なくとも一つ用い、加工前の音声ブロック27および加工後の音声ブロック27’,27’’を任意の組み合わせで結合(時間的に接続)することで、ゆらぎに似た音響エフェクト効果を得ることができる。
ブロック結合部16は、加工前の音声ブロック27と加工後の音声ブロック27’,27’’の組み合わせをランダムにしてもよいし、所定のパターンであらかじめ結合する順序を決めてもよい。また、ここでの音声ブロック27の加工とは、例えば音声ブロック27の時間的に後ろ側の所定時間をカットする加工である。例えば、カット部28,29のように、異なる時間長をカットすることが好ましい。
<12.プログラム7(ブロック長可変処理)>
次に、本実施の形態の音声生成装置2において実行されるブロック長可変処理について、図16のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。
ステップS701で、CPU101は、ブロック選択処理にて選択した音声ブロック27をRAM103より読みだす。なお、CPU101は、音声ブロックがROM102やストレージ105等に記録されている場合には、該当する記憶手段から音声ブロック27を読み出す。
ステップS702で、CPU101は、ブロック選択処理にて選択した音声ブロック27の時間的に後ろ側を異なる時間だけカットする。すなわち、CPU101は、音声ブロック27の時間的に後側をカット部28,29のように異なる時間長でカットした複数の音声ブロック27’,27’’を生成する。言い換えると、CPU101は、本ステップを繰り返すことでブロック選択処理にて選択した音声ブロック27の時間長が異なる複数の音声ブロック27’,27’’を生成する。
ステップS703で、CPU101は、時間長が異なる複数の音声ブロック27,27’,27’’を結合する結合順序は、ランダムでも所定パターンでも構わないが、ランダム関数が低負荷で利用できる環境においては所定パターンを記憶する必要がないため、ランダムに結合順序を決めることが好ましい。
ステップS704で、CPU101は、結合された音声ブロックに基づき音声波形をデータとして出力する。
以上のように、CPU101は、選択された音声ブロックを繰り返すだけの単調な音声生成を行うだけではなく、音声ブロック27の時間長を可変させることで、エンジン音等の揺らぎを再現し、よりリアルなエンジン音の再現を可能とする。
<13.変形例3(音声ブロック合成処理)>
次に、本実施の形態の音声生成装置2の変形例3として、ブロック結合部16の他の動作について説明する。
具体的には、図17に示すように、ブロック結合部16は、ブロック選択部15が選択した音声ブロック30と、この音声ブロック近傍の他の音声ブロック31を用い、複数の音声ブロックを合成加工して新たな音声ブロック32とすることで、単調な音声生成を解消することができる。
ブロック結合部16は、ブロック選択部15が選択した音声ブロック30と、この音声ブロック30近傍の他の音声ブロック31を、例えばクロスフェード処理にて合成し周波数成分が異なるブロックを融合させた音声ブロック32を生成し、生成した合成音声ブロックを時間的に結合する。なお、詳細は説明しないが、3つ以上の音声ブロックを合成するようにしてもよいことは言うまでもない。
<14.プログラム8(音声ブロック合成処理)>
次に、本実施の形態の音声生成装置2において実行される音声ブロック合成処理について、図18のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。
ステップS801で、CPU101は、ブロック選択処理にて選択した音声ブロック30とこの音声ブロック30近傍の他の音声ブロック31をRAM103より読みだす。なお、CPU101は、音声ブロック30,31がROM102やストレージ105等に記録されている場合には、該当する記憶手段から音声ブロックを読み出す。
ステップS802で、CPU101は、ブロック選択処理にて選択した音声ブロック30およびこの音声ブロック30近傍の他の音声ブロック31を時間成分が重複するように合成処理する。すなわち、CPU101は、二つの音声ブロック30,31を重ね合わせ、時間的に前後で出力レベルが異なるようにクロスフェード処理にて合成することで、時間軸上で異なる周波数成分の音声が大きくなるような変化のある音声ブロック32を生成する。本ステップにおいて、CPU101は、クロスフェードの条件を固定せずに、繰り返し処理を行うことで特徴の異なる複数の音声ブロック32を得るようにしてもよい。
ステップS803で、CPU101は、クロスフェード処理によって合成された音声ブロック32を複数結合した音声ブロックを生成する。
ステップS804で、CPU101は、結合された音声ブロックに基づき音声波形をデータとして出力する。
以上のように、CPU101は、選択された音声ブロック30を繰り返すだけの単調な音声生成を行うだけではなく、選択された音声ブロック30と周波数成分の異なる他の音声ブロック31を重ね合わせた音声ブロック32とすることで、エンジン音等の揺らぎを再現し、よりリアルなエンジン音の再現を可能とする。
<15.変形例4(周波数分割処理)>
次に、本実施の形態の音声生成装置2の変形例4として、他の処理を説明する。なお、上述で説明した変形例1ないし3を含むものとして各動作について説明し、重複する部分については記載や説明を省略する。
音声生成装置2は、図3に示すように、サンプル音声データを所定の周波数間隔Aとする帯域分割を行い、上述で説明した音声生成装置2における処理を所定の周波数帯域毎に実行することで、周波数帯域毎に音声ブロックの選択や加工、再生順序等を選択することができるようになり、よりリアルなエンジン音の再現を可能とする。
音声生成装置2の構成については、分割した周波数帯域毎に音声生成処理方法を変形例1ないし3も組み合わせ適宜異なるようにすることができるものであるが、基本的に図2および図7と変わるところはないため音声生成装置2の構成についての詳細な説明は割愛する。
上述で説明した周波数帯域毎に分割を行わない場合と具体的に異なる部分は、ブロック分割部13において、周波数帯域にサンプル音声データを分割する処理を行うことと、ブロック結合部16において、周波数帯域毎にブロック結合が行われた音声ブロックをミキシング処理することである。すなわち、周波数帯域毎の分割処理と、ミキシング処理が加わるのみで基本構成に大きな差異はない。
例えば、ブロック分割部13において、周波数帯域をA1〜A5の5つに分割した場合、各周波数帯域毎に音声ブロックの選択や加工、再生順序等を異ならせて、ブロック結合部16において各周波数帯域A1〜A5毎に音声ブロックを結合した状態は、図19に示すとおりである。
図19を用いてさらに説明を行うと、周波数帯域A1〜A5のそれぞれで、音声ブロックの選択、加工、再生順序等がそれぞれ異なっていることがわかる。これは、周波数帯域A1〜A5に適した音声ブロックの選択、加工、再生順序等を適宜設定することができ、よりリアルなエンジン音の再現を可能とする。
また、厳密なシミュレーションによる音声生成を行わない本実施の形態における音声生成装置2では、予期しないノイズの発生や違和感のある音声成分が生じる可能性もあるため、そのような要素が発生する周波数帯域毎の音声ブロックの選択、加工、再生順序の調整を行い、ミキシング処理においてノイズ成分や違和感のある音声成分を、音声波形データに反映しないようにすることができる。
最終的にブロック結合部16は、図19に示すように、周波数帯域A1〜A5毎に結合された音声ブロックをミキシング処理により合成し音声波形データ出力部17へ出力する。
<16.プログラム9(周波数分割処理)>
次に、本実施の形態の音声生成装置2において実行される周波数分割処理について、図20のフローチャートを用いて具体的な処理を説明する。このフローチャートに対応する処理は、CPU101が、例えばROM102に記録されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、音声サンプルデータの分析処理については上述と同様であるため、説明を省略する。
ステップS901で、CPU101は、サンプル音声データをストレージ105より読みだす。なお、CPU101は、サンプル音声データがROM102等に記録されている場合には、該当する記憶手段からサンプル音声データを読み出す。
ステップS902で、CPU101は、読み出したサンプル音声データを分析し、図3に示すように、周波数幅A毎の帯域にサンプル音声データを周波数分割する。特に、CPU101は、サンプル音声データの周波数帯域に応じて分割周波数幅Aを可変としてもよいが、説明を簡易とするために分割周波数幅Aを均一とし、周波数帯域をA1〜A5の5分割を行う。
ステップS903で、CPU101は、周波数帯域A1〜A5毎に分割されたサンプル音声データをそれぞれ分析し、図4及び図5に示すように、周波数に応じた時間長Bでブロック化して分割する。特に、CPU101は、サンプル音声データの周波数が高くなるほど時間長Bが短くなるようブロック分割を行い、サンプル音声データを複数の音声ブロックに分割する。
ステップS904で、CPU101は、周波数帯域A1〜A5毎に、図5に示すように分割された音声ブロックに、それぞれ分割を行ったプロファイルの周波数に対応して、20Hz,22Hz,23Hz,25Hz,・・・とラベル付けを行う。ここで、CPU101は、ラベル付けする周波数を各音声ブロックの基本周波数(f0)とし、例えばデータのヘッダー情報等に該当する周波数を示すパラメータを含むように音声ブロックを出力する。
ステップS905で、CPU101は、関数f(r)をストレージ105より読みだす。なお、CPU101は、関数f(r)がROM102等に記録されている場合には、該当する記憶手段から関数f(r)を読み出す。
ステップS906で、CPU101は、外部パラメータ出力装置1から、所定のパラメータであるエンジン回転数(rpm)値rを取得する。
ステップS907で、CPU101は、関数f(r)に外部パラメータ出力装置1から入力されたエンジン回転数(rpm)値rを代入し、エンジン回転数(rpm)に対応する周波数を算出する。
ステップS908で、CPU101は、周波数帯域A1〜A5毎に、算出した周波数に対応するラベルを有する音声ブロック若しくは算出した周波数に最も近い値に対応するラベルを有する音声ブロックを選択する。
ステップS909で、CPU101は、周波数帯域A1〜A5毎に、ブロック選択処理にて選択した音声ブロックをRAM103より読みだす。なお、CPU101は、音声ブロックがROM102やストレージ105等に記録されている場合には、該当する記憶手段から音声ブロック22を読み出す。
ステップS910で、CPU101は、周波数帯域A1〜A5毎に、ブロック選択処理にて選択した音声ブロックを複数結合(時間的に接続)するか、ブロック選択処理にて選択した音声ブロックと前後の音声ブロックを任意の順序で結合するか、ブロック選択処理にて選択した音声ブロックの時間的に後ろ側を異なる時間長だけカットした音声ブロックを任意の順序で結合するか、ブロック選択処理にて選択した音声ブロックおよびこの音声ブロックの近傍の他の音声ブロックを時間成分が重複するように合成処理した音声ブロックを結合する。
なお、結合方法は、図19に示すように、上記で列挙したものを周波数帯域A1〜A5で適宜異なるように組み合わせてもよい。
すなわち、CPU101は、周波数帯域A1〜A5毎に、音声ブロックの選択や加工、再生順序等を異ならせて、高音質のエンジン音を再現するようにしている。
ステップS911で、CPU101は、周波数帯域A1〜A5毎に結合した音声ブロックをミキシング処理して全周波数帯域A1〜A5を含むエンジン音を合成する。
以上のように、CPU101は、周波数帯域毎に、音声生成処理を可変とし、単一のサンプル音声データを用いて少ないデータ量かつ少ない計算量で、高音質のエンジン音を再現することが可能となる。
なお、本発明は、上述した実施の形態に限定されず、各種の変形例を適宜組み合わせて用いることができるし、各装置を一体にすることを妨げるものではない。また、上述した実施の形態におけるプログラムは、各種の記録媒体に固定して記憶させたものを含むものとする。
1 外部パラメータ出力装置、2 音声生成装置、3 音声出力装置、4 サンプル音声録音装置、11 データ記憶部、12 データ分析部、13 ブロック分割部、14 周波数算出部、15 ブロック選択部、16 ブロック結合部、17 音声波形データ出力部、21,22,23,24,25,26,27,27’,27’’ 音声ブロック、28,29 カット部、30,31 音声ブロック、32 合成した音声ブロック、101 PU、102 ROM、103 RAM、104 操作入力部、105 ストレージ、106 入出力インターフェース

Claims (20)

  1. 所定のパラメータ変化に基づき基本周波数が変化する音声を、前記パラメータを所定の時間をかけて変化させて取得した単一のサンプル音声データから、基本周波数を算出すると共に、当該基本周波数に基づき前記パラメータとサンプル音声データの時間軸との対応関係を取得するサンプル音声データ分析ステップと、
    前記サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割ステップと、
    外部から入力される前記パラメータに基づき対応する周波数を計算する周波数算出ステップと、
    前記計算した周波数に対応する前記ブロックを選択するブロック選択ステップと、
    前記選択したブロックを複数結合した音声波形を生成するブロック結合ステップと
    を有する音声生成方法。
  2. 更に、選択したブロックを加工するブロック加工ステップを
    有する請求項1に記載の音声生成方法。
  3. 更に、前記サンプル音声データを複数の周波数帯域に分割する周波数帯分割ステップと、
    前記周波数帯域毎に、音声波形を合成する音声合成ステップとを有し、
    前記ブロック分割ステップでは、前記周波数帯域毎に、前記サンプル音声データを周波数に応じた時間長でブロック化して分割し、
    前記ブロック選択ステップでは、前記周波数帯域毎に、前記計算した周波数に対応する前記ブロックを選択し、
    前記ブロック加工ステップでは、前記周波数帯域毎に、任意の加工方法によりブロックを加工し、
    前記ブロック結合ステップでは、前記周波数帯域毎に、前記加工したブロックを複数結合した音声波形を生成し、
    前記音声合成ステップでは、前記周波数帯域毎に、結合したブロックを合成して音声波形を生成する
    請求項2に記載の音声生成方法。
  4. 前記ブロック選択ステップでは、前記計算した周波数に対応する前記ブロックが存在しない場合には、前記計算した周波数に近い前記ブロックを選択する
    請求項1乃至3の何れか1に記載の音声生成方法。
  5. 前記ブロック結合ステップでは、前記選択したブロックと、当該ブロックの前後のブロックのうち少なくとも一方とを用い、これらのブロックを任意に結合して音声波形を生成する
    請求項1乃至4の何れか1項に記載の音声生成方法。
  6. 前記ブロック加工ステップでは、前記選択したブロックを所定の時間長だけカットし、そのカット長を任意に変化させて、時間長の異なるブロックを複数生成し、
    前記ブロック結合ステップでは、前記時間長の異なる複数のブロックを結合して音声波形を生成する
    請求項2乃至5の何れか1項に記載の音声生成方法。
  7. 前記ブロック加工ステップでは、前記選択したブロックと、当該ブロックの前後のブロックのうち少なくとも一方とを用い、これらのブロックをクロスフェードにより合成した、合成ブロックを生成し、
    前記ブロック結合ステップでは、前記合成ブロックを複数結合した音声波形を生成する
    請求項2乃至6の何れか1項に記載の音声生成方法。
  8. 前記ブロック加工ステップでは、ブロック毎で任意の種類の加工方法を適応してブロックを加工する
    請求項2乃至7の何れか1項に記載の音声生成方法。
  9. 前記音声は、エンジン音であり、前記パラメータは、エンジン回転数である
    請求項1乃至8の何れか1項に記載の音声生成方法。
  10. 所定のパラメータ変化に基づき基本周波数が変化する音声を、前記パラメータを所定の時間をかけて変化させて取得した単一のサンプル音声データから、基本周波数を算出すると共に、当該基本周波数に基づき前記パラメータとサンプル音声データの時間軸との対応関係を取得するサンプル音声データ分析部と、
    前記サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割部と、
    外部から入力される前記パラメータに基づき対応する周波数を計算する周波数算出部と、
    前記計算した周波数に対応する前記ブロックを選択するブロック選択部と、
    前記選択したブロックを複数結合した音声波形を生成するブロック結合部と
    を有する音声生成装置。
  11. 更に、選択したブロックを加工するブロック加工部を
    有する請求項10に記載の音声生成装置。
  12. 更に、前記サンプル音声データを複数の周波数帯域に分割する周波数帯分割部と、
    前記周波数帯域毎に、音声波形を合成する音声合成部とを有し、
    前記ブロック分割部は、前記周波数帯域毎に、前記サンプル音声データを周波数に応じた時間長でブロック化して分割し、
    前記ブロック選択部は、前記周波数帯域毎に、前記計算した周波数に対応する前記ブロックを選択し、
    前記ブロック加工部は、前記周波数帯域毎に、任意の加工方法によりブロックを加工し、
    前記ブロック結合部は、前記周波数帯域毎に、前記加工したブロックを複数結合した音声波形を生成し、
    前記音声合成部は、前記周波数帯域毎に、結合したブロックを合成して音声波形を生成する
    請求項11に記載の音声生成装置。
  13. 前記ブロック選択部は、前記計算した周波数に対応する前記ブロックが存在しない場合には、前記計算した周波数に近い前記ブロックを選択する
    請求項10乃至12の何れか1に記載の音声生成装置。
  14. 前記ブロック結合部は、前記選択したブロックと、当該ブロックの前後のブロックのうち少なくとも一方とを用い、これらのブロックを任意に結合して音声波形を生成する
    請求項10乃至13の何れか1項に記載の音声生成装置。
  15. 前記ブロック加工部は、前記選択したブロックを所定の時間長だけカットし、そのカット長を任意に変化させて、時間長の異なるブロックを複数生成し、
    前記ブロック結合部は、前記時間長の異なる複数のブロックを結合して音声波形を生成する
    請求項11乃至14の何れか1項に記載の音声生成装置。
  16. 前記ブロック加工部は、前記選択したブロックと、当該ブロックの前後のブロックのうち少なくとも一方とを用い、これらのブロックをクロスフェードにより合成した、合成ブロックを生成し、
    前記ブロック結合部は、前記合成ブロックを複数結合した音声波形を生成する
    請求項11乃至15の何れか1項に記載の音声生成装置。
  17. 前記ブロック加工部は、ブロック毎で任意の種類の加工方法を適応してブロックを加工する
    請求項11乃至16の何れか1項に記載の音声生成装置。
  18. 前記音声は、エンジン音であり、前記パラメータは、エンジン回転数である
    請求項10乃至17の何れか1項に記載の音声生成装置。
  19. コンピュータに、
    所定のパラメータ変化に基づき基本周波数が変化する音声を、前記パラメータを所定の時間をかけて変化させて取得した単一のサンプル音声データから、基本周波数を算出すると共に、当該基本周波数に基づき前記パラメータとサンプル音声データの時間軸との対応関係を取得するサンプル音声データ分析処理と、
    前記サンプル音声データを周波数に応じた時間長でブロック化して分割するブロック分割処理と、
    外部から入力される前記パラメータに基づき対応する周波数を計算する周波数算出処理と、
    前記計算した周波数に対応する前記ブロックを選択するブロック選択処理と、
    前記選択したブロックを複数結合した音声波形を生成するブロック結合処理と
    を実行させるプログラム。
  20. 請求項19に記載のプログラムを記録した記録媒体。
JP2015138956A 2015-07-10 2015-07-10 音声生成方法、音声生成装置、プログラム、及び記録媒体 Pending JP2017021212A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015138956A JP2017021212A (ja) 2015-07-10 2015-07-10 音声生成方法、音声生成装置、プログラム、及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015138956A JP2017021212A (ja) 2015-07-10 2015-07-10 音声生成方法、音声生成装置、プログラム、及び記録媒体

Publications (1)

Publication Number Publication Date
JP2017021212A true JP2017021212A (ja) 2017-01-26

Family

ID=57888297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015138956A Pending JP2017021212A (ja) 2015-07-10 2015-07-10 音声生成方法、音声生成装置、プログラム、及び記録媒体

Country Status (1)

Country Link
JP (1) JP2017021212A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114175141A (zh) * 2019-05-31 2022-03-11 拉碧斯半导体株式会社 合成波数据生成方法、合成波数据生成程序、存储介质、合成波数据生成装置以及波形数据生成方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302093A (ja) * 1994-04-28 1995-11-14 Nippon Seiki Co Ltd エンジン音生成装置
JP2000010576A (ja) * 1998-06-24 2000-01-14 Yamaha Motor Co Ltd エンジン模擬音発生装置
JP2005134749A (ja) * 2003-10-31 2005-05-26 Roland Corp 自動車音処理装置
WO2006095876A1 (ja) * 2005-03-11 2006-09-14 Yamaha Corporation エンジン音加工装置
JP2007258980A (ja) * 2006-03-22 2007-10-04 Yamaha Corp 波形合成装置およびそのプログラム
JP2011226790A (ja) * 2010-04-15 2011-11-10 Hitachi Ltd 音生成装置
WO2012141325A1 (ja) * 2011-04-14 2012-10-18 ヤマハ発動機株式会社 車両用音響装置および車両用音響方法
JP2013137019A (ja) * 2011-12-02 2013-07-11 J Eberspecher Gmbh & Co Kg 排気音の能動的設計

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07302093A (ja) * 1994-04-28 1995-11-14 Nippon Seiki Co Ltd エンジン音生成装置
JP2000010576A (ja) * 1998-06-24 2000-01-14 Yamaha Motor Co Ltd エンジン模擬音発生装置
JP2005134749A (ja) * 2003-10-31 2005-05-26 Roland Corp 自動車音処理装置
WO2006095876A1 (ja) * 2005-03-11 2006-09-14 Yamaha Corporation エンジン音加工装置
JP2007258980A (ja) * 2006-03-22 2007-10-04 Yamaha Corp 波形合成装置およびそのプログラム
JP2011226790A (ja) * 2010-04-15 2011-11-10 Hitachi Ltd 音生成装置
WO2012141325A1 (ja) * 2011-04-14 2012-10-18 ヤマハ発動機株式会社 車両用音響装置および車両用音響方法
JP2013137019A (ja) * 2011-12-02 2013-07-11 J Eberspecher Gmbh & Co Kg 排気音の能動的設計

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114175141A (zh) * 2019-05-31 2022-03-11 拉碧斯半导体株式会社 合成波数据生成方法、合成波数据生成程序、存储介质、合成波数据生成装置以及波形数据生成方法

Similar Documents

Publication Publication Date Title
US10790919B1 (en) Personalized real-time audio generation based on user physiological response
JP6791258B2 (ja) 音声合成方法、音声合成装置およびプログラム
KR100677622B1 (ko) 오디오 파일의 이퀄라이저 설정 방법 및 이를 이용한오디오 파일 재생 방법
JPWO2009054228A1 (ja) オーディオ信号補間装置及びオーディオ信号補間方法
JP2009058970A (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP2014010275A (ja) 情報処理装置、情報処理方法及びプログラム
US20070055397A1 (en) Constant pitch variable speed audio decoding
JP2017021212A (ja) 音声生成方法、音声生成装置、プログラム、及び記録媒体
US8314321B2 (en) Apparatus and method for transforming an input sound signal
CN110097618A (zh) 一种音乐动画的控制方法、装置、车辆及存储介质
KR20040063930A (ko) 스테레오 오디오의 시간 스케일링
JP7363795B2 (ja) 情報処理装置および方法、並びにプログラム
JP5169533B2 (ja) インパルス応答加工装置、残響付与装置およびプログラム
JP6683103B2 (ja) 音声合成方法
JP3829134B2 (ja) 生成装置、再生装置、生成方法、再生方法、および、プログラム
JP6680029B2 (ja) 音響処理方法および音響処理装置
JP5807419B2 (ja) 信号処理装置
JP5359203B2 (ja) 楽曲処理装置およびプログラム
JP6028489B2 (ja) 動画再生装置、動画再生方法、及びプログラム
WO2022202341A1 (ja) 音編集装置、音編集方法および音編集プログラム
JP3974408B2 (ja) 標本化信号生成装置及び標本化信号再生装置並びにその方法
JP7343320B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5560218B2 (ja) 音生成装置、音生成方法、及び音生成プログラム
JP6445373B2 (ja) 楽曲再生装置
JP6822075B2 (ja) 音声合成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190618

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190716

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191119