JP5360489B2 - 音素符号変換装置および音声合成装置 - Google Patents

音素符号変換装置および音声合成装置 Download PDF

Info

Publication number
JP5360489B2
JP5360489B2 JP2009244698A JP2009244698A JP5360489B2 JP 5360489 B2 JP5360489 B2 JP 5360489B2 JP 2009244698 A JP2009244698 A JP 2009244698A JP 2009244698 A JP2009244698 A JP 2009244698A JP 5360489 B2 JP5360489 B2 JP 5360489B2
Authority
JP
Japan
Prior art keywords
code
phoneme
syllable
time
pitch
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.)
Expired - Fee Related
Application number
JP2009244698A
Other languages
English (en)
Other versions
JP2011090218A (ja
Inventor
敏雄 茂出木
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing 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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2009244698A priority Critical patent/JP5360489B2/ja
Publication of JP2011090218A publication Critical patent/JP2011090218A/ja
Application granted granted Critical
Publication of JP5360489B2 publication Critical patent/JP5360489B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は、本発明は人間の声を基にして、電子楽器、楽譜等で利用可能な符号データを得るための技術に関する。
従来、人間の声を擬似的に合成する手法は、種々の分野で利用されている。出願人は、人間の声をPCMでデジタル化した後、フーリエ変換を用い、実効強度の大きい周波数に対応する符号コードを取得することにより音声合成を行う技術を提案している(特許文献1〜5参照)。
また、出願人は、玩具などに搭載されている性能の低いMIDI音源でも再生可能とし、既存の楽譜編集ツールに読み込ませて五線譜に変換すると、判読性のある譜面が得られるようにするために、各音節ごとの符号コード群を音素ごとの符号コード群に変換する技術を提案している(特許文献6参照)。
特許第3795201号公報 特許第4037542号公報 特許第4156268号公報 特許第4132362号公報 特許第4061070号公報 特願2009−143825号
上記特許文献6に記載の発明では、MIDI等の符号コード群として構成される音節符号に対して、各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出し、複数の音節符号間で、各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出し、統合エネルギー値が高い上位の音高を抽出して、音素符号を得るようにしたので、実際に人間が発音することにより得られた音節符号を利用して、より少ない数で全ての音節を表現可能な音素符号を得ることが可能となった。
しかしながら上記特許文献6に記載の発明では、同一話者が発した日本語音節71音を録音した波形音声データ一式を高精細なMIDIデータに変換し、変換された複数の音節MIDIデータどうしを掛け合わせることにより、日本語音素20音に対応する音素MIDIデータを抽出してデータベース化する方法をとっていた。この場合、変換された高精細なMIDIデータの品質、特に音節における子音音素と母音音素の時間軸上における分離性能が生成される音素MIDIデータの品質を左右する。しかし、既提案のMIDI符号化方式(特許文献1〜5)を今回対象とする短い音声の音節信号に適用すると、子音音素成分と母音音素成分が混在してしまい、先提案の音節MIDIデータどうしの掛け合わせでは、明瞭性の良い音素MIDIデータを生成することが難しいことが判明した。原因としては、周波数解析における時間分解能が不十分で音声の急峻な周波数変動に追従できておらず、音節成分より子音音素を分離・符号化することが実現できていなかった。時間分解能を向上させる方法として、周波数解析時のフレーム長を小さく設定する方法もあるが、返って周波数解析精度が低下し妥当な符号化データを得ることが難しかった。また、限られた和音の中に低音側の声帯基本振動音など子音音素と母音音素に共通する成分が重複して含まれ、明瞭性の低下につながっていた。
そこで、本発明では、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、周波数変動を高精度に抽出した音節符号が得られるとともに、符号データを基本として音声合成機能を実現する場合において音声再生品質の明瞭性を改善することが可能な音素符号変換装置を提供することを課題とする。
上記課題を解決するため、本発明では、発声された1つの音節を所定のサンプリング周波数でサンプル数の音節波形信号として取得する音節波形取得手段と、前記音節波形信号を当該サンプリング周波数を維持しながら時間軸上でQ(Qは2以上の整数)倍拡大し、J×Qサンプルの拡大波形信号に変換する音節波形拡大手段と、前記拡大波形信号に対して所定の周波数解析を行い、発音開始時刻、発音終了時刻、音高、強さのデータを備える複数の符号コードで表現した符号コード群を作成する符号コード群作成手段と、前記符号コード群を構成する全ての符号コードの音高をQ倍に補正し、全ての符号コードの発音開始時刻と発音終了時刻を1/Q倍に補正し、補正された符号コード群で構成される音節符号を作成する音節符号作成手段と、前記音節符号を構成する各符号コードについて、各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出する音高別エネルギー算出手段と、複数の音節符号間で、各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出する音高別エネルギー統合手段と、前記統合エネルギー値が高い上位の音高を所定の個数だけ抽出し、抽出された各音高に対応する符号コードに、所定の強さ、所定の発音開始時刻、所定の発音終了時刻のパラメータを設定し、複数の符号コードで構成される音素符号に変換する符号変換手段を有する音素符号変換装置を提供する。
本発明によれば、デジタル化された音響信号の各強度配列を時間軸方向に所定の倍率だけ拡大した後、所定数T個の強度配列で構成される単位区間ごとに、所定数P種類の周波数に対応したスペクトル強度を算出し、周波数、時刻を含むP個の符号コードを得て、P個の符号コードの周波数をQ倍、時刻を1/Q倍に補正するようにしたので、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出した音節符号が得られ、さらに、得られた音節符号に対して、各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出し、複数の音節符号間で、各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出し、統合エネルギー値が高い上位の音高を抽出するようにしたので、実際に人間が発音することにより得られた音節符号を利用して、より少ない数で全ての音節を表現可能な音素符号を得ることが可能となる。
また、本発明では、前記音素符号変換装置により作成され、日本語カナ文字の各音節を構成する音素に対応して、所定の種類以下の音高を同時にもち、音の強さおよび音の長さが均一の複数の符号コードで構成される音素符号を、音素符号を識別する音素符号識別情報と対応付けて記録した音素符号データベースと、与えられた合成指示データに記載されている音節情報をもとに音素符号識別情報に変換し、対応する音素符号を前記音素符号データベースから抽出し、前記音節情報に従って、発音の開始および終了を特定する時刻を設定し、母音音素に対応する音素の発音の終了を特定する時刻より所定の無音区間を加えた時刻を後続する音節の発音の開始を特定する時刻として設定することにより合成音声データを生成する音素編集処理手段を有する音声合成装置を提供する。
本発明の音声合成装置によれば、日本語カナ文字の各音節を構成する音素を音素符号として記録した音素符号データベースを有し、与えられた合成指示データに記載されている音節情報をもとに、対応する音素符号を音素符号データベースから抽出し、音節情報に従って、発音の開始および終了を特定する時刻を設定し、母音音素に対応する音素の発音の終了を特定する時刻より所定の無音区間を加えた時刻を後続する音節の発音の開始を特定する時刻として設定するようにしたので、音声合成を行うことにより作成される符号コード群は玩具などに搭載されている性能の低いMIDI音源で再生可能であるとともに、既存の楽譜編集ツールにより演奏者が楽器演奏で再生可能な判読性のある五線譜に変換することが可能となる。
本発明によれば、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、周波数変動を高精度に抽出した音節符号が得られるとともに、符号データを基本として音声合成機能を実現する場合において音声再生品質の明瞭性を改善することが可能となるという効果を奏する。
本発明における音節と音素の基本概念を示す図である。 本発明における音節と音素の基本概念を示す図である。 本発明に係る音素符号変換装置の一実施形態を示す構成図である。 音節録音信号から音節符号を作成する処理の概要を示すフローチャートである。 時間軸方向の拡大、周波数の増加・時間情報の縮小の概念を示す図である。 音節と音素の対応関係を記録した変換テーブルを示す図である。 音節符号から音素符号へ変換する際における符号コード群の変化の様子を示す図である。 音節符号と、音素符号の構成例を示す図である。 音素符号記憶部13に格納された男声の音素符号の例を示す図である。 音素符号記憶部13に格納された男声の音素符号の例を示す図である。 音素符号記憶部13に格納された女声の音素符号の例を示す図である。 音素符号記憶部13に格納された女声の音素符号の例を示す図である。 図9、図10に示した男声の音素符号を五線譜化した例を示す図である。 図11、図12に示した女声の音素符号を五線譜化した例を示す図である。 本発明に係る音声合成装置の一実施形態を示す構成図である。
(1.本発明における音節と音素の基本概念)
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。最初に、本発明における音節と音素の基本概念について説明する。日本語の母音は、2つの特徴的な音声フォルマント成分を含む4つ以上の重音による和音で近似できることが知られている。子音は母音成分に加えて、摩擦音など雑音を表現する和音と母音への経過音を表現する和音の3種の連結された和音が理論上必要であるが、経過音は人間の聴覚上の補間現象(音脈分凝)に委ねれば、最初の雑音と母音の2つの和音に近似できる。そこで、出願人は、日本語の母音は単一の4和音、子音は2連の4和音を基本にして全音素を表現し、これらを時間軸上につなぎ合わせれば音声合成を実現できると考えた。
しかしながら、様々な要因により、MIDI音源で種々の楽器音色を設定して再生しても音声の明瞭性に欠けるという問題があった。本発明では、母音、子音等の音節の構成を従来とは根本的に異なるものとした。具体的には、71音節それぞれ固有の音節符号とするのではなく、日本語5母音と15子音に対応する20の音素符号より1つまたは2つの音素符号を選択し組み合わせることにより、71音節を表現することとした。
まず、母音音節と子音音節の違いについて説明する。本実施形態では、母音音節は第1音素だけの単独音素とする。子音音節は第1音素と第2音素の2音素構成で第1音素は第2音素に比べ短めにする。なお、本実施形態では、母音音節の第1音素、子音音節の第1音素、第2音素は、いずれも8和音となっている。
子音音節の第1音素は、「K、S、T、N、H、M、R、G、Z、D、B、P、Y、W」の14音素のいずれか1つが選択され、子音音節第2音素の、母音音節の第1音素は、「A、I、U、E、O、n」の6音素のいずれか1つが選択される。子音音節には、濁音(「バ」など)、半濁音(「パ」など)を含み、撥音(はつおん「ン」)は第1音素は音素「N」、第2音素は音素「n」とする。
本発明では、上述のような構成の子音音節と母音音節を用いて、音声の特徴に応じてさらに多種の態様で合成することを特徴とする。音声の特徴に応じた合成態様の分類については、様々なものが考えられるが、本実施形態では、母音、子音(濁音、半濁音、撥音含む)、長音の母音、長音の子音、促音、拗音の6通りに分類している。
図1、図2は、本実施形態における音節と音素の基本概念を示す図である。図1(a)〜(d)、図2(a)(b)は、上記各分類に対応したものとなっている。図1、図2において、各矩形は、音節または音素を示しており、矩形と矩形の間の空白は無音部分を示している。また、左右方向は時間軸であり、矩形の横幅は、音節の発音時間に対応している。音節の発音時間は、基本的な母音、子音の発音時間を単位区間として設定し、他の分類の音節についても、この単位区間を基準にして定められている。単位区間の具体的な長さは適宜設定することが可能であるが、本実施形態では0.25秒としている。また、詳しくは後述するが、本実施形態では、音節は、2つのパターンで符号化され、1つの音素で構成される音節と、2つの連続する音素(以下、2連音素という)で構成される音節がある。
図1(a)は、母音の場合の合成パターンを示す例である。母音の場合、音節は1つの音素(第1音素)で構成される。図1(a)に示すように、第1音素を単位区間分発音した後、単位区間分無音とし、その後、他の音節が続く。図1(b)は、子音の場合の合成パターンを示す例である。子音の場合、音節は第1音素と第2音素の2つの音素で構成される。図1(b)に示すように、単位区間の1/4だけ第1音素を発音し、続いて、単位区間の3/4だけ第2音素を発音する。すなわち、第1音素の発音終了と同時に第2音素の発音を開始し、第1音素の発音開始から第2音素の発音終了までがちょうど単位区間となる。その後、単位区間分無音とし、その後、他の音節が続く。
図1(c)は、長音の母音の場合の合成パターンを示す例である。長音の母音の場合、1つの音素で構成されるが、図1(c)に示すように、通常の母音に比べ、単位区間分発音時間を延ばす。すなわち、第1音素を2単位区間分発音する。その後、単位区間分無音とし、その後、他の音節が続く。図1(d)は、長音の子音の場合の合成パターンを示す例である。長音の子音の場合、2つの音素で構成されるが、図1(d)に示すように、通常の子音に比べ、第2音素の発音時間を単位区間分だけ延ばす。第1音素の発音時間は、通常の子音の場合と同じく、単位区間の1/4である。すなわち、第1音素の発音終了と同時に第2音素の発音を開始し、第1音素の発音開始から第2音素の発音終了までが2単位区間分となる。その後、単位区間分無音とし、その後、他の音節が続く。
図2(a)は、促音の場合の合成パターンを示す例である。促音の場合、図2(a)に示すように、後続音節である子音の第1音素を、後続音節の直前に発音する。例えば、“ッタ”における“ッ”を合成する場合、後続音節“タ”の第1音素を、“タ”の第1音素の直前に配置する。このとき、促音の発音開始は、先行音素の発音終了から単位区間の3/4だけ経過した時点とする。すなわち、先行音素の発音終了から単位区間の3/4だけ経過した時点から、後続音節の第1音素が単位区間の1/4だけ2回繰り返して発音され、その後、後続音節の第2音素が単位区間の3/4だけ発音されることになる。
図2(b)は、拗音の場合の合成パターンを示す例である。拗音の場合、図2(b)に示すように、直前の子音音節を第1音素のみとする。そして、直前の子音音節の第1音素の発音終了時刻を、拗音に対応する子音の発音開始時刻として、その拗音に対応する子音の第1音素と第2音素を連続して発音する。例えば、“キャ”における“ャ”を合成する場合、先行音節“キ”の第1音素の直後に、拗音“ャ”に対応する子音“ヤ”の第1音素を配置する。このとき、直前の子音音節の第1音素の発音時間は単位区間の1/4とし、拗音に対応する子音の発音時間は、通常の子音の場合と同様、第1音素が単位区間の1/4、第2音素が単位区間の3/4となる。
図1(a)〜図1(d)、図2(b)においては、先行音節を省略し、図2(a)、(b)においては、後続音節を省略したが、基本的に全ての音素の間には単位区間分の無音区間が設定される。この単位区間の具体的長さは前述の通り0.25秒を標準として設定しているが、適宜変更可能である。また、図1、2に示したものは、基本様式であるため、各音節における各音素の発音時間の比率、発音時間や無音時間の長さは適宜変更することが可能である。例えば、隣接音節との間隔を変動させれば話速を変更できる。
(2.前準備)
次に、従来技術を利用した前準備について説明する。前準備として、人間の声を音節単位でデジタル化する。これは、各音節を人間が実際に発声し、これを録音したものをPCM等の手法により行う。このとき、話者はネイティブの日本人男性または女性とし、同一人が71の音節に対してできる限り、ピッチ(音高)と発声区間を揃えて、発声することが望まれる。一般人の話者ではこのように発声を揃えるのは困難であるため、専門のボイストレーニングを受けたアナウンサー・声楽家などに発声してもらうことが望ましい。更に、男性または女性を含む複数の話者により複数のセットの71音節の録音信号を収集することが望ましい。前準備により、日本語71音節の録音信号が得られる。この日本語71音節とは、いわゆる五十音に加え、撥音、濁音、半濁音を含む計71音である。
(3.音素符号への変換)
次に、音節ごとの録音信号から音素符号への変換について説明する。図3は、本発明に係る音素符号変換装置の一実施形態を示す構成図である。記憶手段10は、音節録音データ記憶部11、音節符号記憶部12、音素符号記憶部13を有しており、コンピュータに接続されたハードディスク等の外部記憶装置により実現される。音節符号記憶部11には、上述の前処理により作成された録音信号が音節を特定する音節識別情報と対応付けて記憶されている。音節録音データ記憶部11には、音節と音素の対応関係を示した変換テーブルが記憶されており、符号化された音節符号が音節識別情報と対応付けて記憶される。音節符号記憶部12には、音節と音素の対応関係を示した変換テーブルが記憶されており、符号化された音節符号が音節識別情報と対応付けて記憶される。音素符号記憶部13には、符号化された音素符号が音素符号識別情報と対応付けて記憶される。
処理制御手段20は、音素符号変換装置全体の処理を統括するものであり、音節波形拡大手段21、符号コード群作成手段22、音節符号作成手段23、音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26を有している。処理制御手段20は、CPU、メモリを含むコンピュータ本体であり、音節波形拡大手段21、符号コード群作成手段22、音節符号作成手段23、音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26は、専用のプログラムをCPUが実行することにより実現される。符号表示手段30は、処理制御手段20により処理される音節符号、音素符号を表示するものであり、液晶ディスプレイ等の表示装置により実現される。
続いて、本実施形態に係る音素符号変換装置の処理動作について説明する。図4は、本実施形態に係る音素符号変換装置において、音節符号を生成するまでの処理概要を示すフローチャートである。
まず、処理制御手段20は、処理対象である音節録音信号を、図示しないデータ入力機器から読み込む。音節録音信号は、アナログの録音信号を所定のサンプリング周波数、量子化ビット数でサンプリングしたものであり、本実施形態では、サンプリング周波数44.1kHz、量子化ビット数16ビットでサンプリングした場合を例にとって以下説明していく。サンプリング周波数44.1kHzでサンプリングした場合、音節録音信号は、1秒間に44100個のサンプルを有するサンプル列(サンプルの配列)として構成されることになる。
音節録音信号を読み込んだら、音節波形拡大手段21が、音節録音信号を構成するサンプルを時間軸方向に所定の倍率Q(Qは整数)だけ拡大する(S1)。具体的には、音節録音信号を構成するサンプルの数をQ倍にする。そして、Q個ごとに、元のサンプルと同じ値のものを配置し、その間の(Q−1)個のサンプルの値としては、両側に位置する元のサンプルの値を用いて線形補間したものを与える。原音節録音信号の各サンプルj(j=0・・・J−1)についてのサンプル値をx(j)とすると、コンピュータは、以下の〔数式1〕に従った処理を実行することにより、拡大後の音節録音信号の各サンプルj・Q+k(0≦k≦Q−1)についてのサンプル値x´(j・Q+k)を算出する。以下の〔数式1〕において、wはk/(Q−1)で与えられる0≦w≦1の値をとる実数値とする。
〔数式1〕
x´(j・Q+k)=(1−w)・x(j)+w・x(j+1)
S1における処理の結果、デジタル音響信号を構成するJ個のサンプルは、J×Q個に拡大される。図5(a)にS1における拡大処理による波形の変化を示す。図5(a)における波形は、サンプルの値をプロットしたものを線分で結んだものであるが、サンプル数が多いため、曲線状に表現されるものである。上記〔数式1〕に従った処理を実行することにより、左側に示したような波形が右側に示したような波形に変化することになる。なお、図5の例では、説明の便宜上Q=2の場合を示している。
次に、符号コード群作成手段22が、時間軸方向に拡大されたサンプル上に単位区間を設定する(S2)。単位区間の長さ(サンプル数T)は、サンプリング周波数との関係で設定されるが、サンプリング周波数が44.1kHzの場合、低域部まで忠実に解析するためには、4096サンプル以上必要である。そこで、本実施形態では、1単位区間のサンプル数T=4096として単位区間を設定している。
単位区間の設定は、特許文献1〜5に開示されているように、デジタル音響信号の先頭から順次サンプルを抽出することにより行われる。単位区間は、全てのサンプルを漏らさず設定し、好ましくは、連続する単位区間においてサンプルが重複するように設定する。この場合、各単位区間の先頭の間隔(シフト幅という)は、様々な規則で設定することができる。最も単純なのは、シフト幅を固定、すなわち重複させるサンプル数を一定として設定する手法である。例えば、T=4096の場合、先頭の単位区間をj=0〜4095、2番目の単位区間をj=2048〜6143、2番目の単位区間をj=4096〜8191というように、2048(=T/2)個のサンプルを重複させながら、設定することになる。しかし、時間分解能を向上させるためには、シフト幅を小さくしたいという要望があり、一方、シフト幅を小さくするほど、計算時間が増大するという問題がある。また、シフト幅を必要以上に小さくすると、後述する図4・S4の単音成分の連結処理において連結条件が満足されなくなり連結処理が適切に機能しなくなる。そこで、音響信号の状態に合わせて最適なシフト幅を設定するため、本実施形態では、特許文献5に開示したような、ゼロ交差点間隔の粗密または自己相関解析により周波数変化が顕著なゼロ交差点を選別し、このゼロ交差点に位置するサンプルを先頭とする。
ゼロ交差点とは、正負両極性の音響信号と、信号の0レベルとの交差点のことであり、ここでは、音響信号の信号の強度値(振幅)が0となる時刻を示す。ただし、デジタル化した音響信号は、アナログ信号におけるゼロ交差点をサンプルするとは限らない。そのため、実際には、強度値が丁度0になる場合に加え、サンプリング点の強度値が正から負、または負から正に変化した場合に、その前後のサンプリング点のどちらかをゼロ交差点とみなす処理を行う。なお、ゼロ交差点検出のためには、解析対象となる音響信号が正負両極性となっている必要がある。そのため、直流成分を含む音響信号については、直流成分を除去しておく必要がある。直流成分の除去については、周知の種々の手法を適用することができるので、ここでは詳細な説明は省略する。基本的には、ゼロ交差点に位置するサンプルを先頭として単位区間を設定するが、連続する単位区間のシフト幅が一定の範囲に収まるように、ゼロ交差点以外の位置を先頭として単位区間を設定する場合もある。具体的には、最大シフト幅(例えばT/2)を上回る場合は、ゼロ交差点以外の位置でも最大シフト幅となる位置を先頭にして単位区間を設定する。逆に、最小シフト幅(例えばT/8)を下回る場合は、最小シフト幅を上回るように幾つかのゼロ交差点を飛ばした位置を先頭にして単位区間を設定し、最小シフト幅を上回りかつ最大シフト幅の範囲で該当するゼロ交差点が存在しない場合は、上記と同様に最大シフト幅となる位置を先頭にして単位区間を設定するような補正を行う。
符号コード群作成手段22は、続いて、設定された各単位区間を対象として周波数解析を実行し、各単位区間のスペクトルを算出する(S3)。各単位区間のスペクトルの算出は、特許文献1〜5に開示されているように、MIDIのノートナンバーn(0≦n≦127)に対応する128種の解析周波数f(n)=440・2(n-69)/12の要素信号(要素関数)を基本にした一般化調和解析により、128個の成分を抽出することにより行う。ノートナンバーnに対応して解析周波数を設定した場合、周波数が高くなるにつれ、ノートナンバー間の周波数間隔が広くなるため、特に、nが60を超えると解析精度が低下してしまう。そこで、本実施形態では、特許文献3に開示したように、ノートナンバー間をM個の微分音に分割した128M個の要素信号f(n,m)=440・2(n-69+m/M)/12を用いて解析を行い、128M個の成分を抽出する。後述する図4・S4においてピッチベンド符号の付加など特殊な符号化を行わない限り、各ノートナンバーにおけるM個の微分音の情報は不要であるため、M個の微分音の成分の合算値を当該ノートナンバーにおける成分として代表させ、結果的に128個の成分を抽出する。
符号コード群作成手段22による具体的な処理手順としては、まず、ノートナンバー分の強度配列E(n)(0≦n≦127)と副周波数配列S(n)を設定し、初期値を全て0とする。続いて、0≦n≦127および0≦m≦M−1に対して以下の〔数式2〕に従った処理を実行し、E(n,m)を最大にする(nmax,mmax)を求める。
〔数式2〕
A(n,m)=(1/T(n))・Σi=0,T(n)-1x(i) sin(2πf(n,m)i/fs)
B(n,m)=(1/T(n))・Σi=0,T(n)-1x(i) cos (2πf(n,m)i/fs)
{E(n,m)}2={A(n,m)}2+{B(n,m)}2
上記〔数式2〕においてT(n)は解析フレーム長であり、単位区間Tを超えない範囲で要素信号の周期の最大の整数倍になるように設定し、kを適当な整数値として、T(n)=k/f(n,m)で与える。E(n,m)を最大にする(nmax,mmax)を用いたf(nmax,mmax)が調和信号として選出されることになる。(nmax,mmax)が求められたら、コンピュータは、A(nmax,mmax)およびB(nmax,mmax)を用いて、以下の〔数式3〕に従った処理を実行し、サンプル配列x(i)の全ての要素(0≦i≦T−1)を更新する。
〔数式3〕
x(i)←x(i)−A(nmax,mmax)・sin(2πf(nmax,mmax)i/fs)−B(nmax,mmax)・cos (2πf(nmax,mmax)i/fs)
上記〔数式3〕においては、x(i)から含有信号を減じる処理を行っている。さらに、以下の〔数式4〕に従った処理を実行し、強度配列E(n)、副周波数配列S(n)を更新する。
〔数式4〕
E(nmax)←E(nmax)+E(nmax,mmax)
S(nmax)←mmax
コンピュータは、上記〔数式2〕〜〔数式4〕の処理を全てのn(0≦n≦127)に対して実行し、全てのE(n)およびS(n)の値を決定する。
本実施形態では、処理負荷を軽減するため、Mの値については、ノートナンバーに基づいて可変に設定し、例えば解析する周波数間隔が100Hz程度になるようにしている。そして、ノートナンバー60以下は分割せずM=1にする。また、精度は若干落ちるが、初回の〔数式2〕の処理でS(n)を決定し、2回目以降の〔数式2〕の処理は、m=S(n)に固定して行い、微分音解析を省略するようにしても良い。また、〔数式2〕の処理で、既に同一ノートナンバーに対して副周波数が異なる信号成分が複数回に渡って解析される可能性があるが、E(n)とS(n)に既に値がセットされている場合は、E(n,m)の最大値の選定候補から除外するようにしても良い。
各単位区間について、スペクトル(128個の周波数成分)が算出されたら、音節符号作成手段23が、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報で構成される符号コードを作成する(S4)。符号コードの作成にあたり、まず、算出したスペクトルに、各ノートナンバーnの時刻、時間長の情報を追加し、[開始時刻,時間長,主周波数n,副周波数S(n),強度E(n)]で構成される単音成分を作成する。「開始時刻」としては単位区間の先頭の時刻を、デジタル音響信号全体において特定できる情報であれば良く、本実施形態では、単位区間の先頭サンプル(i=0)に付されたデジタル音響信号全体におけるサンプル番号(絶対サンプルアドレス:jに対応)を記録している。この絶対サンプルアドレスをサンプリング周波数(44100)で除算することにより、音響信号先頭からの時刻が得られる。時間長は、本実施形態では単位区間ごとに可変で与えられることを特徴とし、直後に後続する単位区間の開始時刻までの差分(後続する単位区間の開始時刻−当該単位区間の開始時刻)で与えられる。
S2で設定された単位区間ごとに、128個の単音成分が作成されるが、さらに、S4においては、連続する単位区間において単音成分を連結する処理を行う。具体的には、連続する単位区間における同一ノートナンバーの単音成分が、所定の連結条件を満たす場合、2つの単音成分を連結する。連結条件としては、同一の音として連続性を有する状態を適宜設定することができるが、本実施形態では、副周波数を考慮した周波数(主周波数+副周波数)の差が所定の閾値Ndif未満で、双方の強度が所定の閾値Lmin以上で、かつ双方の強度の差が所定の閾値Ldif未満である場合に、連続性を有するとして、後続の単音成分を前方の単音成分に連結する。ただし、連結後の主周波数、副周波数、強度は大きい方の単音成分の各値を採用し、時間長は双方の和で与える。連結条件としての具体的な閾値は、本実施形態では、Ndif=8/25[単位:ノートナンバー換算]、Lmin=1[単位:128段階ベロシティ換算]、Ldif=10[単位:128段階ベロシティ換算]としている。連結処理は、符号コードへの変換前に行うものであるため、各閾値は、ノートナンバー、ベロシティに換算したものである。
同一ノートナンバーの単音成分の連結は、連結条件を満たす限り、後続する単位区間の単音成分に対して繰り返し行い、最終的に得られた[開始時刻,時間長,主周波数n,副周波数S(n),強度E(n)]の単音成分を、符号コードに変換する。符号コードの形式としては、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報を有するものであれば、どのような形式のものであっても良いが、本実施形態では、MIDI形式に変換する。MIDIでは、発音開始と、発音終了を別のイベントとして発生するため、したがって、本実施形態では、1つの単音成分を2つのMIDIノートイベントに変換する。具体的には、「開始時刻」で、ノートナンバーnのノートオンイベントを発行し、ベロシティ値は強度E(n)の最大値をEmaxとして、128・{E(n)/Emax}1/4で与える。時刻については、Standard MIDI Fileでは、直前イベントとの相対時刻(デルタタイム)で与える必要があり、その時刻単位は任意の整数値で定義でき、例えば、1/1536[秒]の単位に変換して与える。そして、「開始時刻」+「時間長」で特定される終了時刻で、ノートナンバーnのノートオフイベントを発行する。この際、時間長には、0以上1以下の実数を乗じる。これは、使用するMIDI音源の音色にも依存するが、MIDI音源の余韻を考慮して早めにノートオフ指示をするためである。時間長をそのまま用いてもMIDI音源の処理上問題はないが、発音の際、後続音と部分的に重なる場合がある。
MIDI符号に変換する際、MIDI音源で処理可能な同時発音数についても考慮するため、同時発音数の調整を行う必要がある。MIDI音源で処理可能な同時発音数が32である場合、時間軸方向に発音期間中(ノートオン状態)のノートイベントの個数を連続的にカウントし、同時に32個のノートイベントが存在する箇所が見つかった場合は、各々対になるノートオフイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値(ノートオフ時刻−ノートオン時刻)の積(エネルギー値)で優先度を評価し、指定和音数(この場合“32”)以下になるように優先度の低い(エネルギー値の小さい)ノートイベント対を局所的に削除する処理を行う。“局所的に”とは、32を超えるノートイベントが存在する部分に限りという意味である。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。
さらに、MIDI符号に変換する際、MIDI音源で処理可能なビットレートについても考慮するため、ビットレートの調整を行う必要がある。時間軸方向に、1秒間隔にノートオンまたはノートオフイベントの個数をカウントし、各々の符号長を平均5バイト(40ビット)とし、MIDI音源で処理可能な最大ビットレートを9000[bps(ビット/秒)]とすると、1秒間あたりイベント数が9000/40=225個を超えている区間が見つかった場合は、その区間に存在するノートオンまたはノートオフイベントと各々対になるノートオフまたはノートオンイベントを近傍区間内で探索し、各ノートイベント対のベロシティ値とデュレーション値(ノートオフ時刻−ノートオン時刻)の積(エネルギー値)で優先度を評価し、指定イベント個数(この場合“225”)以下になるように優先度の低い(エネルギー値の小さい)ノートイベント対を局所的に削除する処理を行う。この際、ベロシティ値またはデュレーション値のいずれかが所定の下限値より低い場合、優先度に関係なく削除する処理も行う。
符号コードの作成が行われたら、音節符号作成手段23は、時間軸方向に拡大して処理されたことによる変動を是正するため、各符号コードを補正する処理を行う(S5)。具体的には、まず、全てのノートイベント(ノートオンイベントまたはノートオフイベント)のノートナンバー値に12・log2Qだけ加算する処理を行う。例えば、Q=4の場合、24半音(2オクターブ)だけ全体的に音高を上げる。この処理は、S1においてサンプル数をQ倍したことにより周波数が1/Qになっているため、周波数をQ倍にして元の状態に戻すために行う。この補正によりノートナンバーが規格値上限の127を超えるノートナンバーをもつ符号コードは削除する。具体的には補正前のノートナンバーが128−12・log2Q以上の符号コードが削除される。
続いて、全てのノートイベントの時刻(ノートオン時刻またはノートオフ時刻)に1/Qを乗算する。これにより、MIDI符号全体の演奏時間、および各ノートイベントの発音時間が1/Qに縮小される。この処理は、S1においてサンプル数をQ倍したことにより全体の演奏時間がQ倍になっているため、時刻を1/Qにして元の状態に戻すために行う。この処理を行うと、時間あたりのノートイベント数がQ倍に増大するため、上記S4で実行したビットレートの調整を再度実行する。
S5における処理の結果、周波数(音高)はQ倍になるとともに、時間情報は1/Qになる。S5の補正処理によるMIDIイベント(MIDI符号のノートイベント)の変化の様子を図5(b)に示す。図5(b)においては、Q=2の場合のMIDIイベントの変化を、音符により示している。S5の補正処理により左側の“ミ”の音符は、右側では1オクターブ高い(周波数が2倍)“ミ”の音符に変化している。一方、左側の四分音符が、右側では時間的に1/2の八分音符に変化している。このようにして得られた音節符号は、音節識別情報と対応付けられて音節符号記憶部12に記憶される。
また、上記の例では、ビットレートの調整をS4、S5の2回行っているが、これらについては、最終的に少なくとも1回ずつ行われていれば良い。また、上記実施形態では、S2〜S4の処理について好ましい処理例について具体的に説明したが、これらの処理については、本発明の趣旨を逸脱しない範囲で、公知の特許文献1〜5に開示した技術を用いることができる。
音節符号が得られたら、71の音節単位で構成される音節符号を基に、20の音素符号に変換する。ここで、音節と音素の対応関係を示した変換テーブルを図6に示す。図6において、カタカナで示す「ア」「イ」・・・の71音は音節であり、アルファベットで示す「A」「I」は音素である。母音音素「A」・・・「O」は水平方向の13音節のAND演算で決定され、子音音素「K」・・・「P」は垂直方向の5音節のAND演算で決定される。図6に示した横長の枠は、母音音素「A」が13個の音節「ア」・・・「パ」で決定されることを示しており、縦長の枠は、子音音素「K」が5個の音節「カ」・・・「コ」で決定されることを示している。なお、子音音素「Y」は3個の音節「ヤ」「ユ」「ヨ」で決定され、子音音素「W」は2個の音節「ワ」「ヲ」で決定され、音素「n」は1個の音節「ン」で決定される。
処理制御手段20は、図6に示した変換テーブルを参照し、関連する複数の音節符号を読み込む。例えば、音素符号「K」を得るために、音節符号記憶部11から「カ」「キ」「ク」「ケ」「コ」の5個の音節符号を読み込む。
処理制御手段20が、5個の音節符号を読み込んだら、音高別エネルギー算出手段24は、各音節符号単位で、構成する全ての符号コードを対象にして、音高(MIDIの場合、ノートナンバー)別に、エネルギー総和値を算出する。エネルギー総和値は、各音高における音の強度(MIDIの場合、ベロシティ)×発音時間(MIDIの場合、デュレーション:ノートオフ時刻−ノートオン時刻)により算出する。ここで、エネルギー総和値の“総和”とは、1つの音節符号内において、同一音高で2つ以上の符号コードが存在する場合、各符号コードについて総和をとることを意味している。
各符号単位で、全音高についてエネルギー総和値が算出されたら、次に、音高別エネルギー統合手段25が、5個の音節符号間で、同一の音高別にエネルギー総和値を乗算し、統合エネルギー値を得る。乗算であるため、5個の音節符号のうち、いずれか1つの音節符号に存在しない音高成分については、“0”となる。したがって、統合エネルギー値を求めることにより、5個の音節符号に共通の成分のみが残ることになる。例えば、音素符号「K」を構成する音高成分は、音節符号「カ」「キ」「ク」「ケ」「コ」に共通に含まれている音高成分でなければならない。
音高別に統合エネルギー値が算出されたら、符号変換手段26が、統合エネルギー値が上位の音高を指定和音数(例:8個)を超えないように選出する。
指定和音数は、事前に設定されるものであり、自由に設定することができるが、本実施形態では、上述のように“8”としている。したがって、本実施形態では、32個の符号コードから8個の符号コードが、符号変換手段23により抽出されることになる。さらに、符号変換手段26は、元の各音節符号を構成する複数の符号コードのうち、最も早い区間開始時刻、最も遅い区間終了時刻を、それぞれ選出された全ての音高の区間開始時刻、区間終了時刻として設定し、選出された音高のベロシティを規定値に設定する。ベロシティの規定値については、ベロシティが“0”〜“127”の値を取り得るため、本実施形態では、その最大の“127”としている。
音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26による処理前と処理後の音素符号の変化の様子を図7に示す。図7において、横軸は時間、縦軸は周波数(ノートナンバー)に対応している。グラフ内に配置された矩形は符号コードを示しており、横方向の長さは横軸に従って時間的長さを示しているが、縦方向の長さは縦軸とは異なり、周波数ではなく強度(ベロシティ)を示している。
実際には、図6に示したように、1つの音素は、13個の音節、または5個の音節により得られる(例外として、音素Yは3個の音節、音素Wは2個の音節、音素nは1個の音節)が、図7の例では、説明の便宜上2つの音節符号α、βを用いて、音素γを抽出する場合を示している。図7(a)、(b)は、それぞれ音高別エネルギー算出手段21による処理前の音節符号α、βを構成する符号コード群を示したものである。上述のように、本実施形態では、同一時刻において32個の符号コードで音節符号を構成し、指定和音数は8に設定するのが一般的であるが、図7(a)では、説明の都合上、同一時刻において符号コードは最大6個となっており、指定和音数は4に設定している場合を示している。また、各符号コードを示す矩形の横方向および縦方向の長さからわかるように、各符号コードの再生時間(終了時刻−開始時刻)および強度も異なっている。
音高別エネルギー算出手段24、音高別エネルギー統合手段25による処理後は、全ての音高についての統合エネルギー値が得られる。統合エネルギー値は、図7(a)(b)に示されるような、音高別エネルギー算出手段24により音高ごとに算出される発音開始時刻と発音終了時刻との時間差と符号コードの強さ(ベロシティ)との積の同一音高における総和値であるエネルギー総和値に対して、音節符号αとβとの間で対応する音高におけるエネルギー総和値同士を乗算したものであるので、図で表現するのは難しいが、イメージ的には、図7(c)に示すように、音高に対応して、その統合エネルギー値(図7(c)では、図面上下方向の幅で表現)が得られる。そして、符号変換手段26により、図7(d)に示すように、統合エネルギー値が大きい音高が4つ選出される。さらに、この後、符号変換手段26により、各音高に対応する符号コードの強度値は、上述のような規定値に設定される。「カ」「キ」「ク」「ケ」「コ」の5個の音節符号(最大32の音高)と、「A」「I」「U」「E」「O」「K」の6個の音素符号(最大8の音高)の構成例を図8に示す。
図6に示したように、1つの母音の音素符号は、13個の音節符号の各音高におけるエネルギー総和値同士を乗算することにより決定され、1つの子音の音素符号は一部の例外を除き5個の各音高におけるエネルギー総和値同士を乗算することにより決定され、基本的にはこれら20種の音素符号を決定する順位は問わない。そうすると、母音の音素符号と子音の音素符号との間で、ある音高が重複して選出される場合が生じる。即ち、8音など限られた音高で構成される子音の音素と母音の音素が音声合成時に時間的に連続して同一音高が再生される場合が生じ、明瞭性の点で好ましくない。そこで、本願では、子音の音素と母音の音素の符号間で、できるだけ同一の音高が重複して含まれないようにする方法を提案する。そのためには、先に、13個の音節符号の各音高におけるエネルギー総和値同士を乗算することにより5種類の母音の音素符号を決定する。続いて、5個の母音「ア」「イ」「ウ」「エ」「オ」のいずれかを含む5個の子音の音節符号(例えば、「カ」「キ」「ク」「ケ」「コ」)の各音高におけるエネルギー総和値同士を乗算する前に、各音節符号に含まれる母音の既に決定された音素符号の全ての音高に対応するエネルギー総和値を一定の割合で縮小させる。例えば、エネルギー総和値に1/1000を乗算させて他の音高のエネルギー総和値に対して相対的に小さな値に改変する。乗算する値は、必ずしも1/1000とする必要はなく、1未満であれば良い。その後、5個の音節符号の各音高における改変されたエネルギー総和値同士を乗算することにより5種類の母音の音素符号を決定する。このような補正処理を施すことにより、子音の音素と母音の音素の符号間で、同一の音高が重複して選択される確率が低くなる。(ただし、エネルギー総和値の高い音高の種類が元来少ない場合、多少重複して選択されることもある。)
音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26は、音節符号記憶部12に記憶されている各音節符号について処理を行い、得られた各音素符号を音素符号記憶部13に格納する。音素符号記憶部13に格納された音素符号の例を図9〜図12に示す。このうち、図9、図10は男声を符号化したものであり、図11、図12は女声を符号化したものである。図9〜図12中、“C,C#,D,D#、E、F、F#、G、G#、A、A#、B”は、“ド、ド#、レ、レ#、ミ、ファ、ファ#、ソ、ソ#、ラ、ラ#、シ”の音名の英語表記で、列記されている数字はオクターブ番号を示し、音名とオクターブ番号の対記号でMIDI規格のノートナンバーを特定でき、本願ではMIDI規格ノートナンバーの69をA3と表記する(国際的にはA4をMIDI規格ノートナンバーの69を示す表記も多数存在する)。音素符号を構成する符号コードが、MIDI規格で定義されている場合、市販の楽譜編集ツールにより五線譜に変換することができる。図9、図10の男声の音素符号を五線譜化した例を図13に、図11、図12の女声の音素符号を五線譜化した例を図14にそれぞれ示す。
(4.音声の合成)
次に、得られた音素符号を利用した音声の合成について説明する。図15は、本発明に係る音声合成装置の一実施形態を示す構成図である。図15において、音素符号データベース13aは、得られた音素符号を、音素符号識別情報と対応付けて記録したものである。音素符号データベース13aに格納されている音素符号は、上述の音素符号変換装置により変換され、音素符号記憶部13に格納されたものと同じである。したがって、上述の音素符号変換装置は、この音素符号データベース13aを作成するためのものであるとも言える。また、音素符号データベース13aには、各音素符号識別情報と、音節を特定する音節識別情報との対応関係を示した変換テーブルが記録されている。この変換テーブルは、図6に示したものと同じである。合成音声データ記憶手段14は、音素編集処理手段50により合成された合成音声データを記憶するものであり、ハードディスク等の記憶装置により実現される。
音素編集処理手段50は、合成指示データの内容に従って、音素符号データベース13aから対応する音素符号を抽出し、所定の加工を施して合成音声データを生成し、所定の出力先に出力する処理を行う。生成された合成音声データは、設定に従って合成音声データ記憶手段14、音声出力手段60、印刷手段70のうち、1つ以上に出力される。音声出力手段60は、音素編集処理手段50から受け取った合成音声データを実際の音声として発音するものであり、MIDI音源を備えたMIDI再生装置により実現される。印刷手段70は、音素編集処理手段50から受け取った合成音声データを五線譜に変換し、印刷するものであり、五線譜への変換は、公知の変換ソフトウェアを実行することにより実現され、印刷機能は、公知のプリンタ等により実現される。図15に示した音声合成装置は、現実には、入力機器、外部記憶装置を備え、MIDI再生装置を接続したコンピュータに専用のプログラムを組み込むことにより実現される。
音声合成装置に入力される合成指示データは、音節識別情報を所定の順序で配置したものであり、この音節識別情報は、音節を識別することができるものであれば、どのような形式であっても良い。本実施形態では、音節識別情報として、音節に対応する文字コードを記録したテキストデータを用いている。この場合、音素符号データベース13a内の変換テーブルには、音節識別情報に対応する文字コードと音素符号識別情報が対応付けて記録されている必要がある。
続いて、図15に示した音声合成装置の処理動作について説明する。まず、合成指示データを音声合成装置に入力する。音声合成装置は、合成指示データを読み込むと、音素編集処理手段50が合成指示データ内を先頭の音節識別情報から順に合成処理していく。具体的には、音素編集処理手段50は、合成指示データ内の音節識別情報で音素符号データベース13a内の変換テーブルを参照して、音素符号識別情報を取得し、その音素符号識別情報に対応する音素符号を抽出する。
そして、抽出した音素符号が母音音素1つだけである場合は、母音音節であるので、先行する音節のノートオフ時刻の0.25秒後をノートオン時刻として設定し、その0.25秒後をノートオフ時刻とし、ノートナンバー、ベロシティは音素符号データベース12aに記録されていた値そのものとするMIDIイベントを作成する。ただし、ノートナンバーについてはオプション的に別途ユーザにより指示される音高オフセットパラメータに基づいて適宜上下され、ピッチ変換を行えるようにしてある。
抽出した音素符号が2つであり、それが子音音素と母音音素である場合は、子音音節であるので、先の子音音素符号について、前の音節のノートオフ時刻の0.25秒後をノートオン時刻として設定し、単位区間の1/4、すなわち0.0625秒後をノートオフ時刻とする。そして、後の母音音素符号について、先の子音音素符号のノートオフ時刻をノートオン時刻として設定し、単位区間の3/4、すなわち0.1875秒後をノートオフ時刻とする。子音音節の場合も、母音音節の場合と同様、ノートナンバー、ベロシティは音素符号データベース12aに記録されていた値そのものとするが、ノートナンバーについてはオプション的に別途ユーザにより指示される音高オフセットパラメータを加算することにより適宜上下され、ピッチ変換を実現することができる。また、上記の0.25秒、0.0625秒、0.1875秒という時間数値はあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
音節識別情報が長音を示すものであった場合(音節識別情報を文字コードで記録したときは、“ー”に対応する文字コードであった場合)、その直前の音節識別情報とともに2つの音節識別情報で1つの長音の音節を特定する。例えば、例えば、音節識別情報が“ア”と“ー”が連続した場合、2つの音節識別情報“アー”により、長音の母音音節であると判断する。音節識別情報が“カ”と“ー”が連続した場合、2つの音節識別情報“カー”により、長音の子音音節であると判断する。長音の場合、長音の母音音節と長音の子音音節で若干異なる。長音の母音音節の場合、ノートオン時刻からノートオフ時刻の間隔を0.5秒に増加して設定する。長音の子音音節の場合、先の子音音素符号については、長音でない通常の場合と同様、ノートオン時刻からノートオフ時刻の間隔を0.0625秒にして設定し、後の母音音素符号についてノートオン時刻からノートオフ時刻の間隔を0.4375秒にして設定する。したがって、長音の場合、音節全体の発音時間は、母音音節、子音音節ともに同じ0.5秒となる。子音音節については、第1音素の発音時間は、長音でない通常の場合と同じ0.0625秒であるが、第2音素の発音時間が、長音でない通常の場合と比べて長くなる。尚、上記の0.5秒、0.25秒、0.4375秒、0.5秒、0.0625という時間数値も同様にあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
促音の場合、その直後の音節の第1音素と同じものを、直後の音節の第1音素の直前に加える。第1音素の発音時間は0.0625秒であるため、先行する音節の発音終了時刻から0.1875秒後に促音のノートオン時刻を設定することになり、促音のノートオフ時刻と、直後の音節の第1音素のノートオン時刻が同一となる。尚、上記の0.0625秒、0.1875秒という時間数値も同様にあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
拗音の場合、直前の子音の第1音素の直後に加える。したがって、直前の子音の第1音素のノートオフ時刻と、拗音のノートオン時刻が同一となるように設定する。拗音の音節の構成自体は子音と同じであるので、拗音の第1音素のノートオフ時刻および第2音素のノートオン時刻は、第1音素のノートオン時刻の0.0625秒後であり、拗音の第2音素のノートオフ時刻は、そのノートオン時刻の0.1875秒後となる。尚、上記の0.0625秒、0.1875秒という時間数値も同様にあくまで基準値であり、別途ユーザにより指示される時間伸縮パラメータを乗算することにより適宜伸縮され、話速変換を実現することができる。
音素編集処理手段50は、読み込んだ合成指示データ内の音節識別情報単位で音素の合成処理を行っていき、処理が終わった音節単位で順に、合成音声データ(MIDIデータ)を、音声出力手段60に渡していく。音声出力手段60は、音素編集処理手段50から受け取ったMIDIデータを順に再生していく。以上のようにして、音声合成装置は、読み込んだ合成指示データに従って音声の再生が可能となる。
五線譜として出力する場合は、合成音声データを印刷手段70により五線譜データに変換した後、印刷出力する。また、上記の例のように、合成指示データに従って音声合成をリアルタイムで行い、音声再生したり、五線譜出力することも可能であるが、この音声合成装置では、音素編集処理手段50による処理結果であるMIDIデータを合成音声データ記憶手段13に蓄積し、別途このMIDIデータをMIDI再生装置により音声再生するようにしても良い。MIDIデータを記憶装置に蓄積する方法としては、SMF(Standard MIDI File)形式ファイルを用いると、市販の種々の音楽関係ソフトウェアに渡すことができ、作成されたMIDIデータからは、市販の楽譜作成ツールを用いて、楽譜を作成することができる。この場合、楽譜は、SMF形式に記録されていた音素符号を基にして作成される。そして、作成された楽譜を印刷装置から出力すれば、読みやすい楽譜として、楽器演奏の際に利用することができる。
上述の通り、音素編集処理手段50は、合成指示データ内の音節識別情報で音素符号データベース13aから対応する音素符号を抽出し、MIDIイベントを作成する際、そのノートナンバーについては音素符号データベース13aに収録されている当該音素符号を構成する各音符のノートナンバーに対して、オプション的に別途ユーザにより指示される音高オフセットパラメータを加算し適宜上下させ、ピッチ変換を行えるようにしてある。この場合は、合成音声データ全体のピッチを上下させるのではなく、母音音素に限定して上下させるようにする。また、合成指示データ内の音節識別情報とともに音高オフセットパラメータを音節ごとに定義すれば、各音節ごとに構成される母音音素のピッチを個別に上下させることもできる。すなわち、あらかじめ作成した旋律の隣接音符間での音高変化(音程情報)を、合成指示データ内の音節識別情報とともに定義される音高オフセットパラメータとして与えれば、歌声合成を実現することができる。
本発明は、イベントや余興目的に行われる人間の音声再生を模倣した音楽作品制作・作曲の支援産業に利用することができる。また、エンターテインメント分野において、電子楽器を主体とした玩具(ロボット、ぬいぐるみを含む)、玩具型のアコースティック楽器(室内装飾用のミニチュアピアノ)、オルゴール、携帯電話の着信メロディ等の音階再生媒体に対して音声合成機能を付加する産業に利用することができる。また、SMF(Standard MIDI File)等によるMIDI音楽コンテンツ配布時における著作権保護等の産業に利用することができる。
10・・・記憶手段
11・・・音節録音データ記憶部
12・・・音節符号記憶部
13・・・音素符号記憶部
13a・・・音素符号データベース
14・・・合成音声データ記憶手段
20・・・処理制御手段
21・・・音節波形拡大手段
22・・・符号コード群作成手段
23・・・音節符号作成手段
24・・・音高別エネルギー算出手段
25・・・音高別エネルギー統合手段
26・・・符号変換手段
30・・・符号表示手段
50・・・音素編集処理手段
60・・・音声出力手段
70・・・印刷手段

Claims (15)

  1. 発声された1つの音節を所定のサンプリング周波数でサンプル数の音節波形信号として取得する音節波形取得手段と、
    前記音節波形信号を当該サンプリング周波数を維持しながら時間軸上でQ(Qは2以上の整数)倍拡大し、J×Qサンプルの拡大波形信号に変換する音節波形拡大手段と、
    前記拡大波形信号に対して所定の周波数解析を行い、発音開始時刻、発音終了時刻、音高、強さのデータを備える複数の符号コードで表現した符号コード群を作成する符号コード群作成手段と、
    前記符号コード群を構成する全ての符号コードの音高をQ倍に補正し、全ての符号コードの発音開始時刻と発音終了時刻を1/Q倍に補正し、補正された符号コード群で構成される音節符号を作成する音節符号作成手段と、
    前記音節符号を構成する各符号コードについて、各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出する音高別エネルギー算出手段と、
    複数の音節符号間で、各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出する音高別エネルギー統合手段と、
    前記統合エネルギー値が高い上位の音高を所定の個数だけ抽出し、抽出された各音高に対応する符号コードに、所定の強さ、所定の発音開始時刻、所定の発音終了時刻のパラメータを設定し、複数の符号コードで構成される音素符号に変換する符号変換手段と、
    を有することを特徴とする音素符号変換装置。
  2. 請求項1において、
    前記音高別エネルギー統合手段は、日本語カナ文字の「ア」に対応する複数個の「カ」「サ」「タ」「ナ」「ハ」「マ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、
    前記符号変換手段は、「A」などの共通する母音音素の音素符号に変換することを特徴とする音素符号変換装置。
  3. 請求項1において、
    前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる5種の母音音節に対応する「カ」「キ」「ク」「ケ」「コ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、
    前記符号変換手段は、「K」などの共通する子音音素の音素符号に変換することを特徴とする音素符号変換装置。
  4. 請求項3において、
    前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる5種の母音音節に対応する「カ」「キ」「ク」「ケ」「コ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算する際、
    あらかじめ、「ア」「イ」「ウ」「エ」「オ」からなる5種の母音音節に対応する音素符号を決定しておき、
    各子音音節のエネルギー総和値の中で、各々対応する母音の前記決定された音素符号を構成する全ての音高に対応するエネルギー総和値に所定の1未満の実数値を乗算することにより縮小するようにしていることを特徴とする音素符号変換装置。
  5. 請求項1から請求項4のいずれかに記載の音素符号変換装置により作成され、日本語カナ文字の各音節を構成する音素に対応して、所定の種類以下の音高を同時にもち、音の強さおよび音の長さが均一の複数の符号コードで成される音素符号を、音素符号を識別する音素符号識別情報と対応付けて記録した音素符号データベースと、
    与えられた合成指示データに記載されている音節識別情報をもとに音素符号識別情報に変換し、対応する音素符号を前記音素符号データベースから抽出し、前記音節識別情報に従って、発音の開始および終了を特定する時刻を設定し、母音音素に対応する音素の発音の終了を特定する時刻より所定の無音区間を加えた時刻を後続する音節の発音の開始を特定する時刻として設定することにより合成音声データを生成する音素編集処理手段と、
    を有することを特徴とする音声合成装置。
  6. 請求項において、
    前記音素編集処理手段により生成された合成音声データを音声として出力する音声出力手段をさらに有することを特徴とする音声合成装置。
  7. 請求項5または請求項6において、
    前記音素編集処理手段により生成された合成音声データを五線譜に変換し、印刷する印刷手段をさらに有することを特徴とする音声合成装置。
  8. 請求項から請求項のいずれかにおいて、
    前記音素編集処理手段は、前記合成指示データに記載されている音節識別情報が母音音節で、日本語カナ文字の長音であるとき、その音節全体の発音時間を、所定の値だけ増加させることを特徴とする音声合成装置。
  9. 請求項から請求項のいずれかにおいて、
    前記音素編集処理手段は、前記合成指示データに記載されている音節識別情報が、日本語カナ文字の促音であるとき、当該促音の直後に配置される音節に対応する第1の音素と同一の音素を、当該第1の音素の直前に配置して、各音素の発音の開始を特定する時刻、発音の終了を特定する時刻を設定することを特徴とする音声合成装置。
  10. 請求項から請求項のいずれかにおいて、
    前記音素編集処理手段は、前記合成指示データに記載されている音節識別情報が、日本語カナ文字の「ヤ」「ユ」「ヨ」の拗音であるとき、前記拗音の直前の音節については、第1の音素のみを設定し、当該第1の音素の直後に、前記拗音に対応する「ヤ」「ユ」「ヨ」いずれかの音節に対応する2つの音素を配置して、各音素の発音の開始を特定する時刻、発音の終了を特定する時刻を設定することを特徴とする音声合成装置。
  11. 請求項から請求項10のいずれかにおいて、
    前記音素編集処理手段が、前記音節識別情報より変換された音素符号識別情報に対応する音素符号を前記音素符号データベースから抽出し、前記音節識別情報に従って、発音の開始および終了を特定する時刻を設定する際、前記無音区間に対して、設定された時間伸縮率を乗算し、前記発音の開始および終了を特定する時刻に対して所定の改変を施すようにしていることを特徴とする音声合成装置。
  12. 請求項から請求項11のいずれかにおいて、
    前記音素編集処理手段が、前記音節識別情報より変換された音素符号識別情報に対応する音素符号を前記音素符号データベースから抽出し、前記音節識別情報に従って、発音の開始および終了を特定する時刻を設定する際、設定された音高オフセットパラメータに基づいて、前記音素符号データベースに記録されている前記音素符号が母音の場合、当該音素符号を構成する各符号コードの音高に対して、前記音高オフセットパラメータを加算し、前記合成音声データを構成する全ての母音音素に対応する符号コードの音高に対して所定の改変を施すようにしていることを特徴とする音声合成装置。
  13. 請求項12において、
    前記合成指示データには各音節ごとに音節識別情報とともに前記音高オフセットパラメータが定義されており、前記音素編集処理手段が、与えられた音節識別情報より変換された音素符号識別情報に対応する音素符号を前記音素符号データベースから抽出し、前記音節情報に従って、発音の開始および終了を特定する時刻を設定する際、前記各音節ごとに定義された音高オフセットパラメータに基づいて、前記音素符号データベースに記録されている前記音素符号が母音の場合、当該音素符号を構成する各符号コードの音高に対して、前記音高オフセットパラメータを加算し、前記合成音声データを構成する全ての母音音素に対応する符号コードの音高に対して、改変を施すようにしていることを特徴とする音声合成装置。
  14. 請求項1から請求項4のいずれかに記載の音素符号変換装置としてコンピュータを機能させるためのプログラム。
  15. 請求項から請求項13のいずれかに記載の音声合成装置としてコンピュータを機能させるためのプログラム。
JP2009244698A 2009-10-23 2009-10-23 音素符号変換装置および音声合成装置 Expired - Fee Related JP5360489B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009244698A JP5360489B2 (ja) 2009-10-23 2009-10-23 音素符号変換装置および音声合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009244698A JP5360489B2 (ja) 2009-10-23 2009-10-23 音素符号変換装置および音声合成装置

Publications (2)

Publication Number Publication Date
JP2011090218A JP2011090218A (ja) 2011-05-06
JP5360489B2 true JP5360489B2 (ja) 2013-12-04

Family

ID=44108512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009244698A Expired - Fee Related JP5360489B2 (ja) 2009-10-23 2009-10-23 音素符号変換装置および音声合成装置

Country Status (1)

Country Link
JP (1) JP5360489B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5983604B2 (ja) * 2011-05-25 2016-08-31 日本電気株式会社 素片情報生成装置、音声合成装置、音声合成方法および音声合成プログラム
US9595256B2 (en) 2012-12-04 2017-03-14 National Institute Of Advanced Industrial Science And Technology System and method for singing synthesis
CN111081265B (zh) * 2019-12-26 2023-01-03 广州酷狗计算机科技有限公司 音高处理方法、装置、设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3234589B2 (ja) * 1990-06-08 2001-12-04 ヤマハ株式会社 音声処理装置
JP3011997B2 (ja) * 1990-11-15 2000-02-21 株式会社リコー 参照ベクトル更新方法
JP2800465B2 (ja) * 1991-05-27 1998-09-21 ヤマハ株式会社 電子楽器
JP3776196B2 (ja) * 1997-03-05 2006-05-17 大日本印刷株式会社 音声信号の符号化方法および音声の記録再生装置
JP2002117017A (ja) * 2000-08-02 2002-04-19 Victor Co Of Japan Ltd 再帰型離散フーリエ変換装置
JP2004294816A (ja) * 2003-03-27 2004-10-21 Yamaha Corp 携帯端末装置
JP2006139158A (ja) * 2004-11-15 2006-06-01 Dainippon Printing Co Ltd 音響信号の合成装置および合成再生装置
JP4179268B2 (ja) * 2004-11-25 2008-11-12 カシオ計算機株式会社 データ合成装置およびデータ合成処理のプログラム

Also Published As

Publication number Publication date
JP2011090218A (ja) 2011-05-06

Similar Documents

Publication Publication Date Title
JP4207902B2 (ja) 音声合成装置およびプログラム
JPH07146695A (ja) 歌声合成装置
JP6784022B2 (ja) 音声合成方法、音声合成制御方法、音声合成装置、音声合成制御装置およびプログラム
JP6733644B2 (ja) 音声合成方法、音声合成システムおよびプログラム
CN111418006B (zh) 声音合成方法、声音合成装置及记录介质
JP5360489B2 (ja) 音素符号変換装置および音声合成装置
JP6167503B2 (ja) 音声合成装置
JP5560769B2 (ja) 音素符号変換装置および音声合成装置
JP6044284B2 (ja) 音声合成装置
WO2020217801A1 (ja) オーディオ情報再生方法および装置、オーディオ情報生成方法および装置、並びにプログラム
JP6578544B1 (ja) 音声処理装置、および音声処理方法
JP2006030609A (ja) 音声合成データ生成装置、音声合成装置、音声合成データ生成プログラム及び音声合成プログラム
JP4349316B2 (ja) 音声分析及び合成装置、方法、プログラム
JP5560888B2 (ja) 符号化音声データの音高変換装置
JP5471138B2 (ja) 音素符号変換装置および音声合成装置
JP2022065554A (ja) 音声合成方法およびプログラム
JP4353174B2 (ja) 音声合成装置
JP3081300B2 (ja) 残差駆動型音声合成装置
JP3233036B2 (ja) 歌唱音合成装置
JPH0895588A (ja) 音声合成装置
JP5481958B2 (ja) 音素符号変換装置および音声合成装置
JP5481957B2 (ja) 音声合成装置
JPH1195798A (ja) 音声合成方法および音声合成装置
JPS5880699A (ja) 音声合成方式
JP7183556B2 (ja) 合成音生成装置、方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130821

R150 Certificate of patent or registration of utility model

Ref document number: 5360489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees