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

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

Info

Publication number
JP5560769B2
JP5560769B2 JP2010041637A JP2010041637A JP5560769B2 JP 5560769 B2 JP5560769 B2 JP 5560769B2 JP 2010041637 A JP2010041637 A JP 2010041637A JP 2010041637 A JP2010041637 A JP 2010041637A JP 5560769 B2 JP5560769 B2 JP 5560769B2
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
JP2010041637A
Other languages
English (en)
Other versions
JP2011180194A (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 JP2010041637A priority Critical patent/JP5560769B2/ja
Publication of JP2011180194A publication Critical patent/JP2011180194A/ja
Application granted granted Critical
Publication of JP5560769B2 publication Critical patent/JP5560769B2/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−244698号
上記特許文献6に記載の発明では、MIDI等の符号コード群として構成される音節符号に対して、各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出し、複数の音節符号間で、各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出し、統合エネルギー値が高い上位の音高を抽出して、音素符号を得るようにしたので、実際に人間が発音することにより得られた音節符号を利用して、より少ない数で全ての音節を表現可能な音素符号を得ることが可能となった。
しかしながら上記特許文献6に記載の発明では、同一話者が発した日本語音節71音(図11にカタカナで示す)を録音した波形音声データ一式を高精細なMIDIデータに変換し、変換された複数の音節MIDIデータどうしを掛け合わせることにより、日本語音素20音(図11にアルファベットで示す)に対応する音素MIDIデータを抽出してデータベース化する方法をとっていた。この場合、変換された高精細なMIDIデータの品質、特に音節における子音音素と母音音素の時間軸上における分離性能が生成される音素MIDIデータの品質を左右する。既提案のMIDI符号化方式(特許文献6)では、図11に示すような変換テーブルを利用し、例えば「カ」「キ」「ク」「ケ」「コ」を掛け合わせて「K」という子音音素成分を抽出するが、単位音節において発音区間とエネルギーが圧倒的に大きい母音音素成分が抽出されやすい傾向があり、「カ」「キ」「ク」「ケ」「コ」を掛け合わせた場合、「K」という子音音素成分より、「ア」「イ」「ウ」「エ」「オ」に共通する母音音素成分が抽出されがちになる。
そこで、本発明は、演奏者が演奏し易いように簡略化した五線譜に変換可能な符号データを用いた音声合成機能を実現する上で、日本語音節単位で取得したデータを、より少ない数で構成可能な音素単位に変換する際に、子音音素成分と母音音素成分を時間軸上で明瞭に分離可能とする音素符号変換装置を提供することを課題とする。
上記課題を解決するため、本発明では、所定のサンプリング周波数でサンプリングされ、サンプル数Jで構成される音節波形データに対して、当該サンプリング周波数を維持しながら時間軸上でQ(Qは2以上の整数)倍拡大し、J×Qサンプルの拡大波形データに変換する音節波形拡大手段と、前記拡大波形データに対して所定の周波数解析を行い、発音開始時刻、発音終了時刻、音高、強さのデータを備える複数の符号コードで表現した符号コード群を作成する符号コード群作成手段と、前記符号コード群を構成する全ての符号コードの音高をQ倍に補正し、全ての符号コードの発音開始時刻と発音終了時刻を1/Q倍に補正し、補正された符号コード群で構成される音節符号を作成する音節符号作成手段と、前記音節符号を構成する各符号コードについて、所定の部分時間区間に含まれる各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出する音高別エネルギー算出手段と、複数の音節符号間で、所定の部分時間区間に含まれる各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出する音高別エネルギー統合手段と、前記統合エネルギー値が高い上位の音高を所定の個数だけ抽出し、抽出された各音高に対応する符号コードに、所定の強さ、所定の発音開始時刻、所定の発音終了時刻のパラメータを設定し、複数の符号コードで構成される音素符号に変換する符号変換手段を有する音素符号変換装置を提供する。
本発明によれば、デジタル化された音節波形データの各強度配列を時間軸方向に所定の倍率だけ拡大した後、所定数T個の強度配列で構成される単位区間ごとに、所定数P種類の周波数に対応したスペクトル強度を算出し、周波数、時刻を含むP個の符号コードを得て、P個の符号コードの周波数をQ倍、時刻を1/Q倍に補正するようにしたので、従来と同等な周波数解析精度を維持しながら、解析における時間分解能を向上させ、主として音声信号における周波数変動を高精度に抽出した音節符号が得られ、さらに、得られた音節符号に対して、所定の部分時間区間に含まれる各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出し、複数の音節符号間で、所定の部分時間区間に含まれる各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出し、統合エネルギー値が高い上位の音高を抽出するようにしたので、部分時間区間として、母音、子音の特徴が存在する部分を部分時間区間として設定することにより、実際に人間が発音することにより得られた音節符号を利用して、より少ない数で全ての音節を表現可能な音素符号を母音と子音を明瞭に区別して得ることが可能となる。
また、本発明では、前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻と最大の発音終了時刻との中間時刻から最大の発音終了時刻までの区間を設定し、前記音高別エネルギー統合手段は、日本語カナ文字の「ア」に対応する複数個の「カ」「サ」「タ」「ナ」「ハ」「マ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、前記符号変換手段は、「A」などの共通する母音音素の音素符号に変換することを特徴とする。
本発明によれば、音節符号の後半部分を部分時間区間として設定し、対応する同一段の複数の子音音節に対応する音節符号後半部分間の演算を基に母音音素符号に変換するようにしたので、母音成分を的確に抽出した音素符号を得ることが可能となる。
また、本発明では、前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻から最小の発音開始時刻と最大の発音終了時刻との中間時刻までの区間を設定し、前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる5種の母音音節に対応する「カ」「キ」「ク」「ケ」「コ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、前記符号変換手段は、「K」などの共通する子音音素の音素符号に変換することを特徴とする。
本発明によれば、音節符号の前半部分を部分時間区間として設定し、対応する同一行の複数の子音音節に対応する音節符号前半部分間の演算を基に子音音素符号に変換するようにしたので、子音成分を的確に抽出した音素符号を得ることが可能となる。
本発明によれば、演奏者が演奏し易いように簡略化した五線譜に変換可能な符号データを用いた音声合成機能を実現する上で、日本語音節単位で取得したデータを、より少ない数で構成可能な音素単位に変換する際に、子音音素成分と母音音素成分を時間軸上で明瞭に分離可能となるという効果を奏する。
本発明における音節と音素の基本概念を示す図である。 本発明における音節と音素の基本概念を示す図である。 本発明に係る音素符号変換装置の一実施形態を示す構成図である。 音節波形データから音節符号を作成する処理の概要を示すフローチャートである。 時間軸方向の拡大、周波数の増加・時間情報の縮小の概念を示す図である。 本実施形態における解析周波数の論理的/物理的範囲の関係を示す図である。 時間軸拡大処理後の音響信号から抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。 単位区間長Tが調和信号の1/2周期以上で3/4周期未満の場合の解析フレームの時間軸延長を説明する図である。 単位区間長Tが調和信号の1/4周期以上で1/2周期未満の場合の解析フレームの時間軸延長を説明する図である。 本実施形態に係る音素符号変換装置において、音節符号から音素符号への変換の処理概要を示すフローチャートである。 音節と音素の対応関係を記録した変換テーブルを示す図である。 母音音素作成の際の符号コード群の変化の様子を示す図である。 子音音素作成の際の符号コード群の変化の様子を示す図である。 音節符号と、音素符号の構成例を示す図である。 音素符号記憶部13に格納された男声の音素符号の例を示す図である。 音素符号記憶部13に格納された男声の音素符号の例を示す図である。 音素符号記憶部13に格納された女声の音素符号の例を示す図である。 音素符号記憶部13に格納された女声の音素符号の例を示す図である。 図15、図16に示した男声の音素符号を五線譜化した例を示す図である。 図17、図18に示した女声の音素符号を五線譜化した例を示す図である。 音声合成装置の一実施形態を示す構成図である。
(1.本発明における音節と音素の基本概念)
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。最初に、本発明における音節と音素の基本概念について説明する。なお、この音節と音素の基本概念については特許文献6と共通である。日本語の母音は、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には、上述の前準備により作成された音節波形データが音節を特定する音節識別情報と対応付けて記憶されている。音節符号記憶部12には、音節と音素の対応関係を示した変換テーブルが記憶されており、符号化された音節符号が音節識別情報と対応付けて記憶される。音素符号記憶部13には、符号化された音素符号が音素符号識別情報と対応付けて記憶される。
処理制御手段20は、音素符号変換装置全体の処理を統括するものであり、音節波形拡大手段21、符号コード群作成手段22、音節符号作成手段23、音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26を有している。処理制御手段20は、CPU、メモリを含むコンピュータ本体であり、音節波形拡大手段21、符号コード群作成手段22、音節符号作成手段23、音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26は、専用のプログラムをCPUが実行することにより実現される。符号表示手段30は、処理制御手段20により処理される音節符号、音素符号を表示するものであり、液晶ディスプレイ等の表示装置により実現される。
続いて、本実施形態に係る音素符号変換装置の処理動作について説明する。図4は、本実施形態に係る音素符号変換装置において、音節符号を生成するまでの処理概要を示すフローチャートである。
まず、処理制御手段20は、処理対象である音節波形データを、音節波形データ記憶部11から読み込む。音節波形データは、アナログの録音信号を所定のサンプリング周波数、量子化ビット数でサンプリングしたものであり、本実施形態では、サンプリング周波数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)個のサンプルを重複させながら、設定することになる。しかし、時間分解能を向上させるためには、シフト幅を小さくしたいという要望があり、一方、シフト幅を小さくするほど、計算時間が増大するという問題がある。また、シフト幅を必要以上に小さくすると、後述するS4の単音成分の連結処理において連結条件が満足されなくなり連結処理が適切に機能しなくなる。そこで、音節波形データの状態に合わせて最適なシフト幅を設定するため、本実施形態では、特許文献5に開示したような、ゼロ交差点間隔の粗密または自己相関解析により周波数変化が顕著なゼロ交差点を選別し、このゼロ交差点に位置するサンプルを先頭とする。
ゼロ交差点とは、正負両極性の音節波形データ(音響信号)と、信号の0レベルとの交差点のことであり、ここでは、音節波形データの信号強度値(振幅)が0となる時刻を示す。ただし、デジタル化した音節波形データは、アナログ信号におけるゼロ交差点をサンプルするとは限らない。そのため、実際には、強度値が丁度0になる場合に加え、サンプリング点の強度値が正から負、または負から正に変化した場合に、その前後のサンプリング点のどちらかをゼロ交差点とみなす処理を行う。なお、ゼロ交差点検出のためには、解析対象となる音節波形データが正負両極性となっている必要がある。そのため、直流成分を含む音節波形データについては、直流成分を除去しておく必要がある。直流成分の除去については、周知の種々の手法を適用することができるので、ここでは詳細な説明は省略する。基本的には、ゼロ交差点に位置するサンプルを先頭として単位区間を設定するが、連続する単位区間のシフト幅が一定の範囲に収まるように、ゼロ交差点以外の位置を先頭として単位区間を設定する場合もある。具体的には、最大シフト幅(例えばT/2)を上回る場合は、ゼロ交差点以外の位置でも最大シフト幅となる位置を先頭にして単位区間を設定する。逆に、最小シフト幅(例えばT/8)を下回る場合は、最小シフト幅を上回るように幾つかのゼロ交差点を飛ばした位置を先頭にして単位区間を設定し、最小シフト幅を上回りかつ最大シフト幅の範囲で該当するゼロ交差点が存在しない場合は、上記と同様に最大シフト幅となる位置を先頭にして単位区間を設定するような補正を行う。
符号コード群作成手段22は、続いて、設定された各単位区間を対象として周波数解析を実行し、各単位区間のスペクトルを算出する(S3)。各単位区間のスペクトルの算出は、特許文献1〜5に開示されているように、MIDIのノートナンバーnに対応する128種の解析周波数f(n)=440・2(n-69)/12の要素信号(要素関数)を基本にした一般化調和解析により、128個の成分を抽出することにより行う。“128種”“128個”というのは一例であり、一般にPo種類の解析周波数を用いてPo個の成分を抽出することになる。実際には、Po種類の解析周波数に対応した全てを必要とするものではなく、そのうち必要なP(P≦Po)個の成分を抽出する。例えば、MIDI規格の場合、ノートナンバーn=0〜127の範囲に対応するが、グランドピアノを再現するための規格音域は、ノートナンバーn=21〜108の範囲である。したがって、この場合、128種類の解析周波数を用いて88個の成分を抽出することになる。
本実施形態では、音節波形データを時間軸方向にQ倍に拡大したことに伴い、nの上限、下限をそれぞれαだけ下方に移動させる。αは、α=12・log2Q(例えばQ=4の場合α=24)で定義される整数である。したがって、特許文献1〜5では、0≦n≦127であるが、本実施形態では、−α≦n≦127−αである。これにより各調和信号の周波数は、1/Q倍に設定されることになる。ここで、本実施形態における解析周波数の論理的/物理的範囲の関係を図6に示す。図6に示すように、グランドピアノの規格音域は、n=21〜108の範囲であるため、通常の解析を行う場合は、n=21〜108の範囲で行うことになる。ところが、本発明では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行う。また、ノートナンバーn=21以下については、対応する調和信号の1周期が単位区間より長くなるため、時間軸延長(後述)による長周期解析を行う。この結果、n=−3〜84について周波数成分が得られるが、最終的に補正処理を行うことにより、n=21〜108の範囲周波数成分が得られる。
ノートナンバーnに対応して解析周波数を設定した場合、周波数が高くなるにつれ、ノートナンバー間の周波数間隔が広くなるため、特に、nが60を超えると解析精度が低下してしまう。そこで、本実施形態では、特許文献3に開示したように、ノートナンバー間をM個の微分音に分割した128M個の要素信号f(n,m)=440・2(n-69+m/M)/12を用いて解析を行い、128M個の成分を抽出する。後述するS4においてピッチベンド符号の付加など特殊な符号化を行わない限り、各ノートナンバーにおけるM個の微分音の情報は不要であるため、M個の微分音の成分の合算値を当該ノートナンバーにおける成分として代表させ、結果的に128個の成分を抽出する。
符号コード群作成手段22による具体的な処理手順としては、まず、ノートナンバー分の強度配列E(n)(−α≦n≦127−α)と副周波数配列S(n)を設定し、初期値を全て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)は解析フレーム長であり、調和信号(調和関数)の1周期が単位区間長T以下の場合、単位区間長Tを超えない範囲で調和信号の周期の最大の整数倍になるように設定する。ただし、本実施形態では、時間軸拡大することにより周波数を低音側にシフトして解析処理を行うため、調和信号(調和関数)の1周期が単位区間長Tを超える場合が発生する。具体的には、調和信号の1周期が単位区間長Tより大きい場合、T(n)/fs=1/f(n,m)で与え、T<T(n)におけるx(i)の値については、後述する時間軸延長処理に基づき設定する。そして、E(n,m)を最大にする(nmax,mmax)を用いたf(nmax,mmax)が調和信号として選出されることになる。なお、fsはサンプリング周波数(例えば、44.1kHz)である。(nmax,mmax)が求められたら、コンピュータは、A(nmax,mmax)およびB(nmax,mmax)を用いて、以下の〔数式3〕に従った処理を実行し、サンプル配列x(i)のT(n)サンプル個の要素(0≦i≦T(nmax)−1)を更新する。この際、T<T(n)の場合、T≦i≦T(nmax)−1に対応するx(i)の要素に対しては、後述する時間軸延長処理に基づき、一部の同一サンプルx(i)が以下の〔数式3〕に基づいて複数回更新される場合がある。
〔数式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
符号コード群作成手段22は、上記〔数式2〕〜〔数式4〕の処理を全てのn(−α≦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)の最大値の選定候補から除外するようにしても良い。
ここで、単位区間における解析フレームの設定について説明する。図7は、時間軸拡大処理後の音節波形データから抽出した単位区間におけるサンプル列と、調和信号の対応関係を示す図である。このうち、図7(a)は、時間軸拡大処理後の音節波形データから抽出した単位区間におけるサンプル列である。各サンプルにおけるサンプル値(4096個)を結ぶことにより、図7(a)に示すような波形状で示される。128個の調和信号のうち、図7(b)に示すような1周期が単位区間長T以下の高音部の解析調和信号と相関演算を行う際、および単位区間Tより選出された調和信号である含有信号を減算する際には、調和信号の1周期が単位区間長Tを超えない範囲まで周期を整数倍した長さを解析フレーム長T(n)とし、単位区間Tの先頭からサンプルT(n)個を抽出して、解析フレームとする。
調和信号の1周期が単位区間長Tより大きい場合、相関計算区間である解析フレーム長T(n)を調和信号の1周期分とするため、単位区間長TにT(n)−T個のサンプル数を追加することにより時間軸延長処理を行う。この場合、調和信号の1周期を4つの分割区間K1−K4として設定する。そして、図7(d)に示すように、単位区間長Tが、調和信号の3/4周期に相当する場合は、調和信号の分割区間K3(1/2周期から3/4周期の区間)に対応する単位区間のサンプルを、調和信号の3/4周期(270度:分割区間K3と分割区間K4の境界)の時点において時間軸方向に反転させたサンプルを追加する。270度の時点において時間軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間K3と分割区間K4(3/4周期から1周期の区間)は270度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図7(c)に示すような波形の解析フレーム(5461サンプル)が得られる。図7(c)(d)の例では、単位区間長Tが、調和信号の3/4周期に相当する場合を示したが、単位区間長Tが、調和信号の3/4周期以上である場合は、同様に処理が行われ、解析フレーム長T(n)は最大5461サンプルとなる。この場合、調和信号の3/4周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
また、図8(b)に示すように、単位区間長Tが、調和信号の1/2周期以上で3/4周期未満に相当する場合(単位区間の最終サンプルが分割区間K3に属する場合)は、分割区間K4全体と分割区間K3の一部が欠損しているため、分割区間K2(1/4周期から1/2周期の区間)に対応する単位区間のサンプルを、調和信号の1/2周期(180度:分割区間K2と分割区間K3の境界)の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間K3に追加し、さらに追加された分割区間K3のサンプルを、調和信号の3/4周期(270度)の時点において反転させたサンプルを追加する。180度の時点において時間軸および振幅軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間K2と分割区間K3は180度を軸に時間軸および振幅軸方向に180度回転させた対称形である特徴を利用したものである。このようにして時間軸延長が行われ、図8(a)に示すような波形の解析フレーム(最大8192サンプル)が得られる。この場合、調和信号の1/2周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。
また、図9(b)に示すように、単位区間長Tが、調和信号の1/4周期以上で1/2周期未満に相当する場合(単位区間の最終サンプルが分割区間K2に属する場合)は、分割区間K3・K4全体と分割区間K2の一部が欠損しているため、K1区間(先頭から1/4周期の区間)に対応する単位区間のサンプルを、調和信号の1/4周期(90度:分割区間K1と分割区間K2の境界)の時点において時間軸方向に反転させたサンプルを分割区間K2に追加し、さらに追加された分割区間K2のサンプルを、調和信号の1/2周期(180度)の時点において時間軸および振幅軸方向に反転させたサンプルを分割区間K3に追加し、さらに追加された分割区間K3のサンプルを、調和信号の3/4周期(270度)の時点において時間軸方向に反転させたサンプルを追加する。90度の時点において時間軸方向に反転させるのは、調和信号の1周期が正弦波であると仮定すると、分割区間K1と分割区間K2は90度を軸に時間軸方向に左右対称である特徴を利用したものである。このようにして時間軸延長が行われ、図9(a)に示すような波形の解析フレーム(最大16384サンプル)が得られる。この場合、調和信号の1/4周期を超えた部分の単位区間のサンプルは、単位区間内のいずれかのサンプルが重複して使用されることになる。尚、単位区間長Tが、調和信号の1/4周期未満に相当する場合(単位区間の最終サンプルが分割区間K1に属する場合)も起こり得るが、これをもとに時間軸延長を行って相関計算を行っても、ソースとなる情報量が少なすぎて、有意な相関値が得られないため、単位区間長Tが、調和信号の1/4周期未満に相当する周波数に対しては解析対象としないものとする。
各単位区間について解析フレームを変化させながら周波数解析を行い、スペクトル(128個の周波数成分)が算出されたら、符号コード群作成手段22が、周波数情報と、各周波数に対応するスペクトル強度、および単位区間の開始と終了を特定可能な時間情報で構成される符号コードを作成する(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の音素符号に変換する。図10は、本実施形態に係る音素符号変換装置において、音節符号から音素符号への変換の処理概要を示すフローチャートである。ここで、音節と音素の対応関係を示した変換テーブルを図11に示す。この変換テーブルは、音節符号記憶部12に記憶されている。図11において、カタカナで示す「ア」「イ」・・・の71音は音節であり、アルファベットで示す「A」「I」は音素である。母音音素「A」・・・「O」は水平方向の13音節のAND演算で決定され、子音音素「K」・・・「P」は垂直方向の5音節のAND演算で決定される。図11に示した横長の枠は、母音音素「A」が13個の音節「ア」・・・「パ」で決定されることを示しており、縦長の枠は、子音音素「K」が5個の音節「カ」・・・「コ」で決定されることを示している。なお、子音音素「Y」は3個の音節「ヤ」「ユ」「ヨ」で決定され、子音音素「W」は2個の音節「ワ」「ヲ」で決定され、音素「n」は1個の音節「ン」で決定される。
本発明では、音節符号に部分時間区間を設定し、この部分時間区間に含まれる符号コード群を抽出し、演算を行う。部分時間区間としては、母音成分、子音成分を有する箇所を設定することになるが、本実施形態では、音節符号全体において前部を子音音素符号抽出時の部分時間区間、後部を母音音素符号抽出時の部分時間区間としている。これは、一連の日本語子音の音節は各区間の時間配分はバラバラであるが、子音区間−遷移区間−母音区間という時間的な変位順位が共通なためである。したがって、音節符号の前部を利用すれば、子音音素が抽出でき、音節符号の後部を利用すれば、母音音素が抽出できることになる。
まず、処理制御手段20が、図11に示した変換テーブルを参照し、関連する複数の音節符号の前部または後部の符号コード群を読み込む(S11)。前部と後部のどちらを読み込むかは、子音音素符号を得る場合か、母音音素符号を得る場合かにより異なる。子音音素符号を得る場合は、前部の符号コード群を読み込み、母音音素符号を得る場合は、後部の符号コード群を読み込む。例えば、子音の音素符号「K」を得る場合、音節符号記憶部12から「カ」「キ」「ク」「ケ」「コ」の5個の各音節符号について、前部だけを抽出して読み込む。抽出するための全部と後部の分断の位置は適宜設定しておくことが可能であるが、本実施形態では、前部については、音節符号を構成する全ての符号コードにおける最小の発音開始時刻と最大の発音終了時刻との中間時刻を分断位置とする。したがって、前部は最小の発音開始時刻から中間時刻までの区間、後部は中間時刻から最大の発音終了時刻までの間となる。前部と後部に跨る符号コードについては、中間時刻を発音開始時刻とする符号コードと、中間時刻を発音終了時刻とする符号コードに分断され、ぞれぞれ前部、後部として読み込まれる。
子音の音素符号「K」を得る場合、処理制御手段20が、5個の音節符号前部を読み込んだら、音高別エネルギー算出手段24は、各音節符号前部単位で、構成する全ての符号コードを対象にして、音高(MIDIの場合、ノートナンバー)別に、エネルギー総和値を算出する。エネルギー総和値は、各音高における音の強度(MIDIの場合、ベロシティ)×発音時間(MIDIの場合、デュレーション:ノートオフ時刻−ノートオン時刻)により算出する。ここで、エネルギー総和値の“総和”とは、1つの音節符号前部内において、同一音高で2つ以上の符号コードが存在する場合、各符号コードについて総和をとることを意味している。
各音節符号前部単位で、全音高についてエネルギー総和値が算出されたら、次に、音高別エネルギー統合手段25が、5個の音節符号前部間において、同一の音高別にエネルギー総和値を乗算し、統合エネルギー値を得る。乗算であるため、5個の音節符号前部のうち、いずれか1つの音節符号前部に存在しない音高成分については、“0”となる。したがって、統合エネルギー値を求めることにより、5個の音節符号前部に共通の成分のみが残ることになる。例えば、音素符号「K」の前部を構成する音高成分は、音節符号「カ」「キ」「ク」「ケ」「コ」の前部に共通に含まれている音高成分でなければならない。
音高別に統合エネルギー値が算出されたら、符号変換手段26が、統合エネルギー値が上位の音高を指定和音数(例:8個)を超えないように選出する。指定和音数は、事前に設定されるものであり、自由に設定することができるが、本実施形態では、上述のように“8”としている。したがって、本実施形態では、32個の符号コードから8個の符号コードが、符号変換手段26により抽出されることになる。さらに、符号変換手段26は、元の各音節符号を構成する複数の符号コードのうち、最も早い発音開始時刻(最小)、最も遅い発音終了時刻(最大)を、それぞれ選出された全ての音高の発音開始時刻、発音終了時刻として設定する。ただし、子音の場合、前部の符号コードのみを抽出しているため、最も遅い発音終了時刻が中間時刻となっているため、これを本来の発音終了時刻に変更する処理を行う。そして、選出された音高のベロシティを規定値に設定する。ベロシティの規定値については、ベロシティが“0”〜“127”の値を取り得るため、本実施形態では、その最大の“127”としている。
一方、「A」等の母音の音素符号を得る場合、音節符号記憶部12から「ア」「カ」「サ」「タ」「ナ」「ハ」「マ」「ラ」「ガ」「ザ」「ダ」「バ」「パ」の13個の各音節符号について、後部だけを抽出して読み込む。そして、子音の音素符号の場合と同様、音高別エネルギー算出手段24が、各音節符号後部単位で、構成する全ての符号コードを対象にして、音高別に、エネルギー総和値を算出する。各音節符号後部単位で、全音高についてエネルギー総和値が算出されたら、次に、音高別エネルギー統合手段25が、13個の音節符号後部間において、同一の音高別にエネルギー総和値を乗算し、統合エネルギー値を得る。乗算であるため、13個の音節符号後部のうち、いずれか1つの音節符号後部に存在しない音高成分については、“0”となる。したがって、統合エネルギー値を求めることにより、5個の音節符号後部に共通の成分のみが残ることになる。例えば、音素符号「A」の後部を構成する音高成分は、音節符号「ア」「カ」「サ」「タ」「ナ」「ハ」「マ」「ラ」「ガ」「ザ」「ダ」「バ」「パ」の後部に共通に含まれている音高成分でなければならない。
母音の場合も、音高別に統合エネルギー値が算出されたら、符号変換手段26が、統合エネルギー値が上位の音高を指定和音数を超えないように選出し、符号化を行うが、時刻については、最も早い発音開始時刻(最小)、最も遅い発音終了時刻(最大)を、それぞれ選出された全ての音高の発音開始時刻、発音終了時刻として設定した後、最も早い発音開始時刻が中間時刻となっていることを考慮し、これを本来の発音開始時刻に変更する処理を行う。なお、本実施形態では、前部、後部を部分時間区間として設定したが、部分時間区間としては、前部、後部に限定されず、母音、子音を特定可能な箇所を設定することができる。
音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26による母音の音素符号を作成する際の符号コード群の変化の様子を図12に示す。図12において、横軸は時間、縦軸は周波数(ノートナンバー)に対応している。グラフ内に配置された矩形は符号コードを示しており、横方向の長さは横軸に従って時間的長さを示しているが、縦方向の長さは縦軸とは異なり、周波数ではなく強度(ベロシティ)を示している。
実際には、図11に示したように、1つの母音音素は、13個の音節により得られるが、図12の例では、説明の便宜上2つの音節符号α1、β1を用いて、母音音素符号γ1を抽出する場合を示している。図12(a)、(b)は、それぞれ音高別エネルギー算出手段24による処理前の音節符号α1、β1を構成する符号コード群を示したものである。上述のように、本実施形態では、同一時刻において32個の符号コードで音節符号を構成し、指定和音数は8に設定するのが一般的であるが、図12(a)では、説明の都合上、同一時刻において符号コードは最大7個となっており、指定和音数は4に設定している場合を示している。また、説明の便宜上、各符号コードを示す矩形の横方向の長さで表現した各符号コードの再生時間(発音終了時刻−発音開始時刻)は異なっているが、各符号コードを示す矩形の縦方向の長さで表現した各符号コードの強度は同一である。図12(c)、(d)は、音節符号α1、β1を構成する符号コード群を前部と後部に分断した状態を示したものである。
音高別エネルギー算出手段24、音高別エネルギー統合手段25による処理後は、全ての音高についての統合エネルギー値が得られる。統合エネルギー値は、図12(c)(d)に示されるような、音高別エネルギー算出手段24により音高ごとに算出される発音開始時刻と発音終了時刻との時間差と符号コードの強さ(ベロシティ)との積の同一音高における総和値であるエネルギー総和値に対して、音節符号α1とβ1との間で対応する音高におけるエネルギー総和値同士を乗算したものであるので、図で表現するのは難しいが、イメージ的には、図12(e)に示すように、音高に対応して、その統合エネルギー値(図12(e)では、図面上下方向の幅で表現)が得られる。そして、符号変換手段26により、図12(f)に示すように、統合エネルギー値が大きい音高が後部において4つ選出される。さらに、この後、符号変換手段26により、各音高に対応する符号コードの強度値は、上述のような規定値に設定される。
音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26による子音の音素符号を作成する際の符号コード群の変化の様子を図13に示す。図13においても、図12と同様、横軸は時間、縦軸は周波数(ノートナンバー)に対応している。グラフ内に配置された矩形は符号コードを示しており、横方向の長さは横軸に従って時間的長さを示しているが、縦方向の長さは縦軸とは異なり、周波数ではなく強度(ベロシティ)を示している。
実際には、図11に示したように、1つの子音音素は、5個の音節により得られる(例外として、音素Yは3個の音節、音素Wは2個の音節、音素nは1個の音節)が、図13の例では、説明の便宜上2つの音節符号α2、β2を用いて、音素γを抽出する場合を示している。図13(a)、(b)は、それぞれ音高別エネルギー算出手段21による処理前の音節符号α2、β2を構成する符号コード群を示したものであるが、説明の便宜上、図12と同じ符号コード群としている。図13(c)、(d)は、音節符号α2、β2を構成する符号コード群を前部と後部に分断した状態を示したものである。
音高別エネルギー算出手段24、音高別エネルギー統合手段25による処理後は、全ての音高についての統合エネルギー値が得られる。統合エネルギー値は、図13(c)(d)に示されるような、音高別エネルギー算出手段24により音高ごとに算出される発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積の同一音高における総和値であるエネルギー総和値に対して、音節符号α2とβ2との間で対応する音高におけるエネルギー総和値同士を乗算したものであり、イメージ的には、図12(e)に示すように、音高に対応して、その統合エネルギー値が得られる。そして、符号変換手段26により、図12(f)に示すように、統合エネルギー値が大きい音高が前部において4つ選出される。さらに、この後、符号変換手段26により、各音高に対応する符号コードの強度値は、上述のような規定値に設定される。
ここで、「カ」「キ」「ク」「ケ」「コ」の5個の音節符号(最大32の音高)と、「A」「I」「U」「E」「O」「K」の6個の音素符号(最大8の音高)の構成例を図14に示しておく。
図11に示したように、1つの母音の音素符号は、13個の音節符号後部の各音高におけるエネルギー総和値同士を乗算することにより決定される。また、1つの子音の音素符号は一部の例外を除き、5個の音節符号の前部の各音高におけるエネルギー総和値同士を乗算することにより決定される。この場合、基本的にはこれら20種の音素符号を決定する順位は問わない。そうすると、母音の音素符号と子音の音素符号との間で、ある音高が重複して選出される場合が生じる。即ち、8音など限られた音高で構成される子音の音素と母音の音素が音声合成時に時間的に連続して同一音高が再生される場合が生じ、明瞭性の点で好ましくない。そこで、本願では、子音の音素と母音の音素の符号間で、できるだけ同一の音高が重複して含まれないようにする方法を提案する。そのためには、先に、13個の音節符号の各音高におけるエネルギー総和値同士を乗算することにより5種類の母音の音素符号を決定する。続いて、5個の母音「ア」「イ」「ウ」「エ」「オ」のいずれかを含む5個の子音の音節符号(例えば、「カ」「キ」「ク」「ケ」「コ」)の各音高におけるエネルギー総和値同士を乗算する前に、各音節符号に含まれる母音の既に決定された音素符号の全ての音高に対応するエネルギー総和値を一定の割合で縮小させる。例えば、エネルギー総和値に1/1000を乗算させて他の音高のエネルギー総和値に対して相対的に小さな値に改変する。乗算する値は、必ずしも1/1000とする必要はなく、1未満であれば良い。ただし、1/1000程度が最も好ましく、1に近付くにつれ、母音音素と重複する成分が残ることになる。その後、5個の音節符号の各音高における改変されたエネルギー総和値同士を乗算することにより5種類の母音の音素符号を決定する。このような補正処理を施すことにより、子音の音素と母音の音素の符号間で、同一の音高が重複して選択される確率が低くなる。(ただし、エネルギー総和値の高い音高の種類が元来少ない場合、多少重複して選択されることもある。)
音高別エネルギー算出手段24、音高別エネルギー統合手段25、符号変換手段26は、音節符号記憶部12に記憶されている各音節符号について処理を行い、得られた各音素符号を音素符号記憶部13に格納する。音素符号記憶部13に格納された音素符号の例を図15〜図18に示す。このうち、図15、図16は男声を符号化したものであり、図17、図18は女声を符号化したものである。図15〜図18中、“C,C#,D,D#、E、F、F#、G、G#、A、A#、B”は、“ド、ド#、レ、レ#、ミ、ファ、ファ#、ソ、ソ#、ラ、ラ#、シ”の音名の英語表記で、列記されている数字はオクターブ番号を示し、音名とオクターブ番号の対記号でMIDI規格のノートナンバーを特定でき、本願ではMIDI規格ノートナンバーの69をA3と表記する(国際的にはA4をMIDI規格ノートナンバーの69を示す表記も多数存在する)。音素符号を構成する符号コードが、MIDI規格で定義されている場合、市販の楽譜編集ツールにより五線譜に変換することができる。図15、図16の男声の音素符号を五線譜化した例を図19に、図17、図18の女声の音素符号を五線譜化した例を図20にそれぞれ示す。音素符号が記憶された音素符号記憶部13は、音素符号データベース13aとして機能する。この音素符号データベース13aは、所定の種類以下の音高を同時にもち、音の強さおよび音の長さが均一の複数の符号コードで構成される音素符号を記録し、これらの音素符号を単独または2つを組み合わせることにより全ての音節を表現するようにしたので、音節符号より少ない数の音素符号で、全ての音節を表現することが可能となる。
(4.音声の合成)
次に、得られた音素符号を利用した音声の合成について説明する。図21は、本発明に係る音声合成装置の一実施形態を示す構成図である。図21において、音素符号データベース13aは、得られた音素符号を、音素符号識別情報と対応付けて記録したものである。音素符号データベース13aに格納されている音素符号は、上述の音素符号変換装置により変換され、音素符号記憶部13に格納されたものと同じである。したがって、上述の音素符号変換装置は、この音素符号データベース13aを作成するためのものであるとも言える。また、音素符号データベース13aには、各音素符号識別情報と、音節を特定する音節識別情報との対応関係を示した変換テーブルが記録されている。この変換テーブルは、図11に示したものと同じである。合成音声データ記憶手段14は、音素編集処理手段50により合成された合成音声データを記憶するものであり、ハードディスク等の記憶装置により実現される。
音素編集処理手段50は、合成指示データの内容に従って、音素符号データベース13aから対応する音素符号を抽出し、所定の加工を施して合成音声データを生成し、所定の出力先に出力する処理を行う。生成された合成音声データは、設定に従って合成音声データ記憶手段14、音声出力手段60、印刷手段70のうち、1つ以上に出力される。音声出力手段60は、音素編集処理手段50から受け取った合成音声データを実際の音声として発音するものであり、MIDI音源を備えたMIDI再生装置により実現される。印刷手段70は、音素編集処理手段50から受け取った合成音声データを五線譜に変換し、印刷するものであり、五線譜への変換は、公知の変換ソフトウェアを実行することにより実現され、印刷機能は、公知のプリンタ等により実現される。図21に示した音声合成装置は、現実には、入力機器、外部記憶装置を備え、MIDI再生装置を接続したコンピュータに専用のプログラムを組み込むことにより実現される。
音声合成装置に入力される合成指示データは、音節識別情報を所定の順序で配置したものであり、この音節識別情報は、音節を識別することができるものであれば、どのような形式であっても良い。本実施形態では、音節識別情報として、音節に対応する文字コードを記録したテキストデータを用いている。この場合、音素符号データベース13a内の変換テーブルには、音節識別情報に対応する文字コードと音素符号識別情報が対応付けて記録されている必要がある。
続いて、図21に示した音声合成装置の処理動作について説明する。まず、合成指示データを音声合成装置に入力する。音声合成装置は、合成指示データを読み込むと、音素編集処理手段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に収録されている当該音素符号を構成する各音符のノートナンバーに対して、オプション的に別途ユーザにより指示される音高オフセットパラメータを加算し適宜上下させ、ピッチ変換を行えるようにしてある。この場合は、合成音声データ全体のピッチを上下させるのではなく、母音音素に限定して上下させるようにする。また、合成指示データ内の音節識別情報とともに音高オフセットパラメータを音節ごとに定義すれば、各音節ごとに構成される母音音素のピッチを個別に上下させることもできる。すなわち、あらかじめ作成した旋律の隣接音符間での音高変化(音程情報)を、合成指示データ内の音節識別情報とともに定義される音高オフセットパラメータとして与えれば、歌声合成を実現することができる。
本発明の音声合成装置によれば、日本語カナ文字の各音節を構成する音素を音素符号として記録した音素符号データベースを有し、与えられた合成指示データに記載されている音節情報をもとに、対応する音素符号を音素符号データベースから抽出し、音節情報に従って、発音の開始および終了を特定する時刻を設定し、母音音素に対応する音素の発音の終了を特定する時刻より所定の無音区間を加えた時刻を後続する音節の発音の開始を特定する時刻として設定するようにしたので、音声合成を行うことにより作成される符号コード群は玩具などに搭載されている性能の低いMIDI音源で再生可能であるとともに、既存の楽譜編集ツールにより演奏者が楽器演奏で再生可能な判読性のある五線譜に変換することが可能となる。
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、S2〜S4の処理について好ましい処理例について具体的に説明したが、これらの処理については、本発明の趣旨を逸脱しない範囲で、公知の特許文献1〜5に開示した技術を用いることができる。
本発明は、イベントや余興目的に行われる人間の音声再生を模倣した音楽作品制作・作曲の支援産業に利用することができる。また、エンターテインメント分野において、電子楽器を主体とした玩具(ロボット、ぬいぐるみを含む)、玩具型のアコースティック楽器(室内装飾用のミニチュアピアノ)、オルゴール、携帯電話の着信メロディ等の音階再生媒体に対して音声合成機能を付加する産業に利用することができる。また、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. 所定のサンプリング周波数でサンプリングされ、サンプル数Jで構成される音節波形データに対して、当該サンプリング周波数を維持しながら時間軸上でQ(Qは2以上の整数)倍拡大し、J×Qサンプルの拡大波形データに変換する音節波形拡大手段と、
    前記拡大波形データに対して所定の周波数解析を行い、発音開始時刻、発音終了時刻、音高、強さのデータを備える複数の符号コードで表現した符号コード群を作成する符号コード群作成手段と、
    前記符号コード群を構成する全ての符号コードの音高をQ倍に補正し、全ての符号コードの発音開始時刻と発音終了時刻を1/Q倍に補正し、補正された符号コード群で構成される音節符号を作成する音節符号作成手段と、
    前記音節符号を構成する各符号コードについて、所定の部分時間区間に含まれる各音高ごとに発音開始時刻と発音終了時刻との時間差と符号コードの強さとの積で与えられるエネルギー値の総和であるエネルギー総和値を算出する音高別エネルギー算出手段と、
    複数の音節符号間で、所定の部分時間区間に含まれる各音高ごとに全てのエネルギー総和値を乗算して統合エネルギー値を算出する音高別エネルギー統合手段と、
    前記統合エネルギー値が高い上位の音高を所定の個数だけ抽出し、抽出された各音高に対応する符号コードに、所定の強さ、所定の発音開始時刻、所定の発音終了時刻のパラメータを設定し、複数の符号コードで構成される音素符号に変換する符号変換手段と、
    を有することを特徴とする音素符号変換装置。
  2. 請求項1において、
    前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻と最大の発音終了時刻との中間時刻から最大の発音終了時刻までの区間を設定し、
    前記音高別エネルギー統合手段は、日本語カナ文字の「ア」に対応する複数個の「カ」「サ」「タ」「ナ」「ハ」「マ」などの複数の子音音節に対応する音節符号間で対応するエネルギー総和値を音高別に乗算して統合エネルギー値を算出し、
    前記符号変換手段は、「A」などの共通する母音音素の音素符号に変換することを特徴とする音素符号変換装置。
  3. 請求項1または請求項2において、
    前記部分時間区間として、単一の音節符号を構成する全ての符号コードにおける最小の発音開始時刻から最小の発音開始時刻と最大の発音終了時刻との中間時刻までの区間を設定し、
    前記音高別エネルギー統合手段は、日本語カナ文字の「ア」「イ」「ウ」「エ」「オ」からなる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のいずれかに記載の音声合成装置としてコンピュータを機能させるためのプログラム。
JP2010041637A 2010-02-26 2010-02-26 音素符号変換装置および音声合成装置 Expired - Fee Related JP5560769B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010041637A JP5560769B2 (ja) 2010-02-26 2010-02-26 音素符号変換装置および音声合成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010041637A JP5560769B2 (ja) 2010-02-26 2010-02-26 音素符号変換装置および音声合成装置

Publications (2)

Publication Number Publication Date
JP2011180194A JP2011180194A (ja) 2011-09-15
JP5560769B2 true JP5560769B2 (ja) 2014-07-30

Family

ID=44691797

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010041637A Expired - Fee Related JP5560769B2 (ja) 2010-02-26 2010-02-26 音素符号変換装置および音声合成装置

Country Status (1)

Country Link
JP (1) JP5560769B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5943618B2 (ja) * 2012-01-25 2016-07-05 ヤマハ株式会社 音符列設定装置および音符列設定方法
CN113711302A (zh) * 2019-04-26 2021-11-26 雅马哈株式会社 音频信息播放方法及装置、音频信息生成方法及装置和程序
CN111554324A (zh) * 2020-04-01 2020-08-18 深圳壹账通智能科技有限公司 智能化语言流利度识别方法、装置、电子设备及存储介质
CN112542159B (zh) * 2020-12-01 2024-04-09 腾讯音乐娱乐科技(深圳)有限公司 一种数据处理方法以及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0566774A (ja) * 1991-09-06 1993-03-19 Casio Comput Co Ltd 音声データ生成装置および音声合成装置
JP3879402B2 (ja) * 2000-12-28 2007-02-14 ヤマハ株式会社 歌唱合成方法と装置及び記録媒体

Also Published As

Publication number Publication date
JP2011180194A (ja) 2011-09-15

Similar Documents

Publication Publication Date Title
JP3985814B2 (ja) 歌唱合成装置
JP4207902B2 (ja) 音声合成装置およびプログラム
JPH07146695A (ja) 歌声合成装置
JP6729539B2 (ja) 音声合成方法、音声合成システムおよびプログラム
JP2006030575A (ja) 音声合成装置およびプログラム
JP2020148914A (ja) 鍵盤楽器、方法、プログラム
JP5560769B2 (ja) 音素符号変換装置および音声合成装置
JP5360489B2 (ja) 音素符号変換装置および音声合成装置
JP6044284B2 (ja) 音声合成装置
JP6167503B2 (ja) 音声合成装置
WO2022054496A1 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
TW201027514A (en) Singing synthesis systems and related synthesis methods
WO2020217801A1 (ja) オーディオ情報再生方法および装置、オーディオ情報生成方法および装置、並びにプログラム
JP6819732B2 (ja) 電子楽器、電子楽器の制御方法、及びプログラム
JP6578544B1 (ja) 音声処理装置、および音声処理方法
JP5471138B2 (ja) 音素符号変換装置および音声合成装置
JP2022065554A (ja) 音声合成方法およびプログラム
JP2022065566A (ja) 音声合成方法およびプログラム
JP5560888B2 (ja) 符号化音声データの音高変換装置
JP5106437B2 (ja) カラオケ装置及びその制御方法並びにその制御プログラム
JP4353174B2 (ja) 音声合成装置
JP3081300B2 (ja) 残差駆動型音声合成装置
JP5481958B2 (ja) 音素符号変換装置および音声合成装置
JPH0895588A (ja) 音声合成装置
JP5481957B2 (ja) 音声合成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121213

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140408

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: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140526

R150 Certificate of patent or registration of utility model

Ref document number: 5560769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees