<第1実施形態>
図1は、本発明の第1実施形態に係る音声処理装置100のブロック図である。音声処理装置100は、利用者が指定した旋律(複数の音符の時系列)を利用者が指定した歌詞で歌唱した音声の音声信号V2を生成する音声合成装置(信号処理装置)であり、演算処理装置10と記憶装置12と音声入力装置14と指示入力装置16と放音装置18とを具備するコンピュータシステムで実現される。
音声入力装置14は、利用者が発音した音声の波形を示す音声信号V1を生成する収音機器(マイクロホン)である。利用者は、合成対象となる所望の歌詞を音声入力装置14に対して発音する。したがって、音声入力装置14は、利用者が指定した歌詞の音声信号V1を生成する。なお、音声信号V1をアナログからデジタルに変換するA/D変換器の図示は便宜的に省略されている。
指示入力装置16は、利用者からの指示を受付ける操作機器である。具体的には、指示入力装置16は、合成対象となる各音符の音高Nと各音符の発音時点tNおよび消音時点tEとを時系列に指定する指示情報Uを利用者からの指示に応じて生成する。例えば、各音符の音高(ノートナンバ)Nおよび発音時点tNを指定するノートオンイベントと各音符の音高Nおよび消音時点tEを指定するノートオフイベントとが時系列に配列されたMIDI(Musical Instrument Digital Interface)形式の時系列データを指示情報Uとして生成する電子楽器型の操作機器(MIDI楽器)が指示入力装置16として好適に利用される。例えば鍵盤楽器型の操作機器が指示入力装置16として好適である。
利用者は、所望の歌詞を音声入力装置14に対して発音する動作と所望の旋律を指示入力装置16に対して指示する動作とを並列に実行する。具体的には、利用者は、指示入力装置16に対する各音符の指示に概略的に同期するように所望の歌詞を音声入力装置14に対して発音する。演算処理装置10は、音声信号V1に対する音声認識で特定される歌詞を指示情報Uで指定される旋律で歌唱した音声の音声信号V2を生成する。放音装置18(例えばスピーカやヘッドホン)は、演算処理装置10が生成した音声信号V2に応じた音波を放射する。以上のように音声信号V2の旋律は指示入力装置16の操作で指示されるから、利用者は、指示入力装置16に指示する旋律とは無関係の音高の音声を音声入力装置14に対して発音し得る。例えば、利用者は、指示入力装置16に対する旋律の指示に同期して所望の歌詞を略一定の音高で発音する(例えば呟く)。
記憶装置12は、演算処理装置10が実行するプログラムや演算処理装置10が使用する各種のデータ(例えば素片群DAや辞書情報DB)を記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体または複数種の記録媒体の組合せが記憶装置12として任意に採用される。なお、音声処理装置100とは別体の外部装置(例えば外部サーバ装置)に記憶装置12を設置し、音声処理装置100がインターネット等の通信網を介して記憶装置12に対する情報の書込や読出を実行する構成も採用され得る。すなわち、記憶装置12は、音声処理装置100の必須の要素ではない。
記憶装置12に記憶された素片群DAは、音声合成の素材として使用される複数の音声素片の集合(音声合成ライブラリ)である。各音声素片は、言語的な意味の区別の最小単位である音素(例えば母音や子音)、または複数の音素を連結した音素連鎖(例えばダイフォンやトライフォン)である。辞書情報DBは、音声信号V1の音声認識に利用される音声認識辞書である。
演算処理装置10は、記憶装置12に記憶されたプログラムを実行することで、音声入力装置14が生成した音声信号V1と指示入力装置16が生成した指示情報Uとを利用して音声信号V2を生成するための複数の機能(音声取得部22,指示取得部24,音声認識部32,情報生成部34,音声合成部36)を実現する。なお、演算処理装置10の各機能を複数の装置に分散した構成や、演算処理装置10の一部の機能を専用の信号処理回路が分担する構成も採用され得る。図1の音声取得部22は、音声入力装置14が生成した音声信号V1を音声入力装置14から取得する。
指示取得部24は、指示入力装置16が生成した指示情報Uを指示入力装置16から取得する。なお、指示入力装置16の操作で利用者は任意の音符を任意の時点で指示し得るから、指示入力装置16が生成した指示情報Uで指定される複数の音符は時間軸上で相互に重複する可能性(利用者が複音を指示する可能性)がある。しかし、音声信号V2の音声(歌唱音)は単音である。そこで、指示取得部24は、指示情報Uが指定する各音符を単音(時間軸上で他の音符と重複しない音符)に調整する。
図2および図3の各々の部分(A)には、音符NAと音符NBとが時間軸(横軸)上で相互に重複する場合(調整前)が例示されている。図2の部分(A)に示すように、音符NAの発音時点tNAから消音時点tEAまでの期間内に音符NBの発音時点tNBが位置するとともに音符NAの消音時点tEAの後方に音符NBの消音時点tEBが位置する場合(すなわち、音符NAの発音の途中で音符NBの発音が指示された場合)、指示取得部24は、図2の部分(B)のように、音符NBの発音時点tNBにて音符NAを強制的に消音させる。また、図3の部分(A)の例示のように、音符NBの発音時点tNBが音符NAの発音時点tNAの後方に位置するとともに音符NBの消音時点tEBが音符NAの消音時点tEAの前方に位置する場合(すなわち、音符NAの区間内に音符NBが包含される場合)、指示取得部24は、図3の部分(B)のように、音符NBの全体を強制的に消音させる。以上の処理により、指示情報Uが指定する各音符は単音に調整される。
図1の音声認識部32は、音声取得部22が取得した音声信号V1に対する音声認識で音声信号V1の発音内容Zを特定する。発音内容Zは、複数の音節の時系列として表現される。音声認識部32による音声認識には、記憶装置12に記憶された辞書情報DBが利用される。なお、音声認識部32の具体的な動作については後述する。
情報生成部34は、音声認識部32による認識結果(発音内容Z)を利用して発音情報Sを生成する。発音情報Sは、音声合成に適用される変数(音声信号V2の特性)を指示する情報である。図4に示すように、発音情報Sは、指示取得部24が取得および調整した指示情報Uで指定される各音符(すなわち合成対象の各音符)に対応する単位情報Xを時系列に配列した時系列データ(スコアデータ)である。各単位情報Xは、音高XAと発音時点XBと継続長XCと音声符号XDとを指定する。
音高XAは、音声信号V2の音高を指示する情報であり、指示情報Uが指定する各音符の音高Nに設定される。発音時点XBは、音声信号V2にて各音符の発音が開始される時刻を指示する情報であり、指示情報Uで指定される各音符の発音時点tNに設定される。継続長XCは、音声信号V2にて各音符の発音が継続される時間長(音価)を指示する情報であり、指示情報Uで音符毎に指定される発音時点tNと消音時点tEとの間の時間長に設定される。なお、継続長XCを消音時点tEに置換することも可能である。音声符号XDは、音声信号V2における各音符の発音内容(歌詞)を指示する情報であり、音声認識部32が音声信号V1から認識した発音内容Zの各音節(書記素)に設定される。なお、音声認識部32による音声認識と情報生成部34による発音情報Sの生成とは、利用者による指示情報Uおよび音声信号V1の入力の完了後に実行される。
音声合成部36は、情報生成部34が生成した発音情報Sで指定される音声信号V2を生成する。音声信号V2の生成には、記憶装置12に記憶された素片群DAが利用される。具体的には、音声合成部36は、発音情報Sが各音符に指定する音声符号XDに対応した音声素片を素片群DAから順次に選択し、発音時点XBおよび継続長XCに応じて音声素片の時刻および時間長を調整したうえで音高XAに変換(ピッチ変換)して各音声素片を相互に連結することで音声信号V2を生成する。音声符号XDに対応した音声素片(例えば母音が子音に後続する音声素片)のうち母音等の有声音の音素の発音が発音時点XBにて開始される(先行の子音の音素の発音は発音時点XBの到来前に開始される)ように各音声素片の時刻が調整される。以上が音声処理装置100の概略的な構成である。
音声認識部32による音声認識と情報生成部34による発音情報Sの生成とについて以下に詳述する。第1実施形態の音声認識部32が実行する音声認識は、認識候補となる各単語の音響モデルとして隠れマルコフモデル(HMM:Hidden Markov Model)を利用した大語彙連続音声認識である。記憶装置12に記憶された辞書情報DBが音声認識辞書として利用される。
辞書情報DBは、複数の登録単語W0を指定する。各登録単語W0は、図5に例示されるように複数の音節の時系列として記述される。1個の音節は、例えば、母音の音素を含む1個以上の音素(母音単体,子音+母音,母音+子音,子音+母音+子音)で構成される。図5に示すように、登録単語W0を構成する各音節の複数の音素のうち時間的に発音が持続され得る有声の音素(以下「音節内核音素」という)には所定の識別符号(図5の例示では記号“!”)が付加される。音節内核音素は、典型的には1個の音節内で唯1個の音素(例えば音節内で最初の持続可能な音素)であり、日本語の登録単語W0では、1個の音節のうち母音の音素(/a/,/i/,/u/,/e/,/o/)または撥音の音素(/N/)が音節内核音素に該当する。音節内核音素の抽出および識別符号の付加は、例えば辞書情報DBの提供者により事前に手動で実行される。ただし、所定のアルゴリズムで自動的に登録単語W0から音節内核音素を抽出して識別符号を付加することも可能である。
音声認識部32は、辞書情報DB内の各登録単語W0に対応する複数の認識候補WCの各々について、音声信号V1から抽出される特徴量の時系列がその認識候補WCの音響モデルから観測される確率(尤度)Pを算定し、確率Pが最大となる1個の認識候補WCを音声信号V1の発音内容Zとして確定する。音声信号V1から抽出される特徴量としては、例えばMFCC(Mel-Frequency Cepstral Coefficients)が好適である。
辞書情報DB内の複数の登録単語W0の各々について各音素の開始時点(相前後する各音素の境界位置)を相違させた複数の認識候補WCを対象として確率Pが算定される。すなわち、確率Pの算定対象となる複数の認識候補WCは、音素の配列(音素の種類および順序)が相違する複数の単語(すなわち、基礎となる登録単語W0が相違する複数の単語)に加えて、音素の配列(登録単語W0)は共通するが各音素の開始時点が相違する複数の単語を包含する。以上の説明から理解される通り、音声認識部32は、音素の配列および各音素の開始時点の一方または双方が相違する複数の認識候補WCの各々について確率Pを算定する。
ところで、複数の認識候補WCのなかには、音素の個数や各音素の開始時点が、指示情報Uで指定される各音符の個数や発音時点tNとは明白に整合しない認識候補WC(すなわち、指示情報Uが指定する各音符の歌詞として不自然であることが明白な認識候補WC)も包含され得る。例えば、指示情報Uで指定される1個の音符に多数の音節が対応するような認識候補WCは認識結果として適切ではない。以上の傾向を考慮して、本実施形態の音声認識部32は、指示情報Uで指定される旋律の歌詞として認識候補WCが妥当であるか否かを、指示情報Uを参照して認識候補WC毎に順次に評価し、旋律の歌詞として妥当性が高い認識候補WCのみについて確率Pを算定する。他方、妥当性が低い認識候補WCについては、確率Pの算定を含む以後の処理の対象から除外される。すなわち、音声認識部32は、指示情報Uを手掛りとして各認識候補WCの棄却/維持を判別し(すなわち、指示情報Uを参照して認識候補WCを絞込み)、維持と判別された複数の認識候補WCから音声信号V1の発音内容Zを確定する。
図6は、任意の1個の認識候補WCについて音声認識部32が棄却/維持を判別する処理のフローチャートである。図6の処理は、指示情報Uおよび音声信号V1の入力の完了後に実行され、辞書情報DB内の各登録単語W0に対応する複数の認識候補WCの各々について順次に実行される。図7および図8では、利用者が「咲いた[saita]」と発音した音声の音声信号V1を音声取得部22が取得し、3個の音符の発音時点tN(tN1,tN2,tN3)を指定する指示情報Uを指示取得部24が取得した場合を想定する。図7には、「鞘 井田 湾[saya-ida-wan]」という文字列(不正解)が認識候補WCである場合が例示され、図8には、「咲いた[saita]」という文字列(正解)が認識候補WCである場合が例示されている。
音声認識部32は、図7および図8に示すように、認識候補WCを構成する複数の音素のうち識別符号が付加された複数の音節内核音素(図7および図8における網掛部)の各々について、指示情報Uが指定する複数の発音時点tNのうちその音節内核音素の開始時点tP(tP1,tP2,……)の最近傍に時間軸上で位置する発音時点tNを特定する(SA10)。すなわち、音声認識部32は、認識候補WC内の各音節内核音素の開始時点tPを最近傍の発音時点tNに対応させる。
音声認識部32は、指示情報Uが指定する何れかの発音時点tNに認識候補WC内の複数の音節内核音素の開始時点tPが対応するか否か(複数の音節内核音素からみて最近傍に位置する1個の発音時点tNが存在するか否か)を判定する(SA11)。すなわち、音節内核音素の開始時点tPの最近傍に位置する発音時点tNが複数の音節内核音素について共通(重複)するか否かが判定される。
1個の音符内で複数の音節内核音素を含む歌詞を発音した場合には合成音が聴感的に不自然な印象になるという傾向がある。以上の傾向を考慮して、指示情報Uが指定する1個の発音時点tNに認識候補WCの複数の音節内核音素の開始時点tPが対応する場合(SA11:YES)、音声認識部32は、今回の認識候補WCを棄却する(SA12)。すなわち、複数の音節内核音素が1個の音符に付与されることになる認識候補WCは確率Pの算定対象から除外される。
例えば、図7の例示のように「鞘 井田 湾[saya-ida-wan]」という文字列(不正解)が認識候補WCである場合に着目する。指示情報Uが指定する発音時点tN2は、音節「や[ya]」の音節内核音素/a/の開始時点tP2と音節「い[i]」の音節内核音素/i/の開始時点tP3との2個の開始時点tPにとって最近傍に位置する。また、指示情報Uが指定する発音時点tN3は、音節「だ[da]」の音節内核音素/a/の開始時点tP4と音節「わ[wa]」の音節内核音素/a/の開始時点tP5と音節「ん[N]」の音節内核音素/N/の開始時点tP6との3個の開始時点tPにとって最近傍に位置する。以上の通り、指示情報Uが指定する1個の発音時点tN(tN2,tN3)に複数の音節内核音素が対応するから、図7の認識候補WCは棄却される。
他方、指示情報Uが指定する1個の発音時点tNに認識候補WCの1個の音節内核音素の開始時点tPが対応する場合(SA11:NO)、音声認識部32は、今回の認識候補WCを確率Pの算定対象として維持する(SA13)。例えば、図8の「咲いた[saita]」という文字列(正解)が認識候補WCである場合、認識候補WCの各音節内核音素の開始時点tP(tP1,tP2,tP3)の最近傍に位置する各発音時点tN(tN1,tN2,tN3)は相互に重複しない。すなわち、各発音時点tNと各音節内核音素の開始時点tPとが1対1に対応する。したがって、図8の認識候補WCは確率Pの算定対象として維持される。
以上に説明した手順で維持と判別された各認識候補WCを対象として確率Pが算定され、維持と判別された複数の認識候補WCのうち確率Pが最大となる1個の認識候補WCが音声信号V1の発音内容Zとして確定される。すなわち、音声認識部32は、認識候補WCの各音素の開始時点tPと指示情報Uが指定する各発音時点tN(すなわち利用者が指示した発音時点tN)との時間軸上の関係に応じて各認識候補WCの棄却/維持を判別し、維持と判別された複数の認識候補WCから音声信号V1の発音内容Zを特定する要素として機能する。
情報生成部34は、音声認識部32が特定した発音内容Z(認識候補WC)の各音節内核音素の開始時点tPと指示情報Uが指定する各発音時点tNとの対応関係が反映されるように、発音情報Sが指定する音符に発音内容Zの各音節を割当てる。具体的には、図8の例示のように、各音節内核音素の開始時点tP(tP1,tP2,tP3)が指示情報Uの各音符の発音時点tN(tN1,tN2,tN3)に1対1に対応する「咲いた[saita]」という認識候補WCを音声認識部32が音声信号V1の発音内容Zとして確定した場合、情報生成部34は、図8に破線の矢印で図示される通り、発音内容Zとして確定された認識候補WCの各音節内核音素の開始時点tPと指示情報Uの各音符の発音時点tNとの対応関係が維持されるように発音内容Zの各音節を発音情報Sの各音符に割当てる。具体的には、発音内容Zのうち開始時点tP1の音節内核音素/a/を含む音節「さ[sa]」は、開始時点tP1の最近傍に位置する発音時点tN1の音符に割当てられる。すなわち、情報生成部34は、発音情報Sにおける発音時点tN1の音符の音声符号XDを音節「さ[sa]」に設定する。同様に、開始時点tP2の音節内核音素/i/の音節「い[i]」は、開始時点tP2に対応する発音時点tN2の音符に割当てられ、開始時点tP3の音節内核音素/a/の音節「た[ta]」は、開始時点tP3に対応する発音時点tN3の音符に割当てられる。
ところで、図8では、指示情報Uが指定する全部の発音時点tNが発音内容Z(認識候補WC)の各音節内核音素の開始時点tPに過不足なく1対1で対応する場合を例示したが、例えば指示情報Uが指定する音符の個数が発音内容Zの音節の個数に対して多い場合には、図9および図10に例示される通り、発音内容Z(認識候補WC)内の何れの音節内核音素の開始時点tPにも対応しない発音時点tN(すなわち、何れの音節内核音素にとっても最近傍には該当しない発音時点tN)の音符(以下「剰余音符」という)が存在する可能性がある。情報生成部34は、音声認識部32が認識した発音内容Zの複数の音節のうち、剰余音符の発音時点tNの最近傍に位置する音節内核音素を含む音節を剰余音符に割当てる。図9および図10では、指示情報Uが5個の音符を順次に指定する場合を前提として、音声認識部32が「あなたと[anatato]」という文字列を発音内容Zとして特定した場合が想定されている。
例えば、図9に示すように、剰余音符の発音時点tN3が発音内容Zのうち音節「な[na]」の音節内核音素/a/内に位置する場合、音節内核音素/a/を含む音節「な[na]」が剰余音符に割当てられる。すなわち、情報生成部34は、発音情報Sにおける剰余音符の音声符号XDを音節「な[na]」に設定する。また、図10に示すように、剰余音符の発音時点tN3が音節「た[ta]」の音素/t/(音節内核音素には該当しない音素)内に位置する場合、発音時点tN3の最近傍に位置する音節内核音素/a/を含む直前の音節「な[na]」が剰余音符に割当てられる。すなわち、1個の音節を複数の音符で歌唱する歌唱法(メリスマ)が音声信号V2で実現される。
以上に説明した通り、第1実施形態では、指示入力装置16に対する利用者からの指示に応じて各音符の発音時点XBが設定され、利用者が発音した音声の音声信号V1に対する音声認識で特定された発音内容Zに応じて各音符の音声符号XDが設定される。したがって、キーボード等の操作機器の操作で利用者が音符毎に歌詞を指定する非特許文献1の技術や、鍵盤の演奏による旋律の指定と操作子の操作による音声符号の指定とを利用者が実行する非特許文献2の技術と比較すると、指示入力装置16に対する操作で各音符の発音時点tNを指示しながら歌詞を発音するという簡便な作業で利用者が各音符の発音内容を指定できるという利点がある。
また、本実施形態では、認識候補WCの各音素の開始時点tPと指示情報Uが指定する各発音時点tNとの時間軸上の関係に応じて各認識候補WCの棄却/維持が判別され、維持と判別された複数の認識候補WCから音声信号V1の発音内容Zが特定される。すなわち、指示情報Uを参照して認識候補WCの絞込が実行される。したがって、全部の認識候補WCについて確率Pを算定する構成と比較して音声認識部32の処理負荷が軽減されるという利点がある。
<第2実施形態>
本発明の第2実施形態を以下に説明する。なお、以下に例示する各形態において作用や機能が第1実施形態と同様である要素については、第1実施形態の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
第1実施形態では、指示情報Uが指定する1個の発音時点tNに複数の音節内核音素の開始時点tPが対応する認識候補WCを棄却する場合を例示したが、例えば日本語では、複数の音節が1個のモーラ(拍)のように発音される場合がある。すなわち、複数の音節が1個の音符に割当てられる。例えば、「お」「お」「き」「な」という4個の音節で構成される「大きな[ookina]」という歌詞では、「おお」という2個の音節が1個の音符で発音され得る。また、「し」「ん」「ご」「う」という4個の音節で構成される「信号[shingou]」という歌詞では、「しん[shin]」という2個の音節が1個の音符で発音されるとともに、「ごう[gou]」という2個の音節が1個の音符で発音され得る。以上の傾向を考慮して、第2実施形態では、複数の音節を1個の音符に割当てることを許容する。
図11は、任意の1個の認識候補WCについて音声認識部32が棄却/維持を判別する処理のフローチャートである。図11の処理は、第1実施形態で説明した図6の処理と同様に、指示情報Uおよび音声信号V1の入力の完了後に実行され、辞書情報DB内の各登録単語W0に対応する複数の認識候補WC(すなわち、音素の配列または開始時点tPが相違する複数の単語)の各々について順次に実行される。
図12および図13には、「相打ち[aiuchi]」という文字列が認識候補WCとして選択された場合が例示されている。第1実施形態と同様に、辞書情報DB内の各登録単語W0の識別符号を参照することで各認識候補WC内の音節内核音素が特定される。図12および図13に例示された認識候補WCでは、音節「あ[a]」の音素/a/と音節「い[i]」の音素/i/と音節「う[u]」の音素/u/と音節「ち[chi]」の音素/i/とが音節内核音素に該当する。図12では、利用者が2個の音符の発音時点tN(tN1,tN2)を指定した場合が想定され、図13では、利用者が3個の音符の発音時点(tN1,tN2,tN3)を指定した場合が想定されている。
音声認識部32は、図6のステップSA10と同様に、認識候補WCを構成する複数の音素のうち識別符号が付加された複数の音節内核音素の各々について、指示情報Uが指定する複数の発音時点tNのうちその音節内核音素の開始時点tP(tP1,tP2,……)の最近傍に時間軸上で位置する発音時点tNを特定する(SB10)。
音声認識部32は、認識候補WCに含まれる複数の音節内核音素の各々を、優先割当音素と結合候補音素とに選別する(SB11)。結合候補音素は、直前の音節内核音素(優先割当音素または結合候補音素)に結合されて1個の音符に割当てられる候補となる音素である。具体的には、認識候補WC内の複数の音節内核音素のうち、母音の音素(/a/,/i/,/u/,/e/,/o/)の直後に位置する母音または撥音(/N/)の音素が結合候補音素に選別される。例えば、「相打ち[aihchi]」という認識候補WCに着目すると、図12および図13に示すように、音節「い[i]」の音素/i/と音節「う[u]」の音素/u/とが結合候補音素に選別される。他方、認識候補WC内の複数の音節内核音素のうち結合候補音素以外の音素(具体的には認識候補WC内の最初の音節内核音素や子音の音素の直後の音節内核音素)が優先割当音素に選別される。例えば「相打ち[aihchi]」という認識候補WCに着目すると、音節「あ[a]」の音素/a/と音節「ち[chi]」の音素/i/とが優先割当音素に選別される。なお、ステップSB11の実行後にステップSB10を実行することも可能である。
音声認識部32は、指示情報Uが指定する何れかの発音時点tNに認識候補WC内の複数の優先割当音素の開始時点tPが対応するか否か(複数の優先割当音素からみて最近傍に位置する1個の発音時点tNが存在するか否か)を判定する(SB12)。すなわち、優先割当音素の開始時点tPの最近傍に位置する発音時点tNが複数の優先割当音素について共通するか否かが判定される。
複数の優先割当音素を1個の音符で発音した場合には合成音が聴感的に不自然な印象になるという傾向がある。以上の傾向を考慮して、指示情報Uが指定する1個の発音時点tNに複数の優先割当音素の開始時点tPが対応する場合(SB12:YES)、音声認識部32は今回の認識候補WCを棄却する(SB13)。なお、第2実施形態では、前述のように複数の音節を1個の音符で発音することを許容するから、図12および図13に示すように、1個の優先割当音素の開始時点tPと1個以上の結合候補音素の開始時点tPとが1個の発音時点tNに対応することは許容される。
他方、各発音時点tNに対応する優先割当音素が1個である場合(SB12:NO)、音声認識部32は、認識候補WCの複数の音節内核音素(優先割当音素および結合候補音素)のうち各音符の発音時点tNに対して確定的に割当てられる音節内核音素(以下「確定音素」という)を特定する(SB14)。
具体的には、音声認識部32は、1個の音符の発音時点tNに1個の音節内核音素(優先割当音素または結合候補音素)が対応する場合のその音節内核音素を確定音素に選別する。例えば、図13の1個の発音時点tN2には音節「う[u]」の1個の結合候補音素/u/のみが対応し、1個の発音時点tN3には音節「ち[chi]」の1個の優先割当音素/a/のみが対応する。したがって、認識候補WCのうち音節「う[u]」の結合候補音素/u/と音節「ち[chi]」の優先割当音素/i/とが確定音素に選別される。
また、音声認識部32は、1個の優先割当音素と1個以上の結合候補音素とが1個の発音時点tNに対応する場合のその優先割当音素を確定音素に設定する。例えば、図12および図13の1個の発音時点tN1には、音節「あ[a]」の1個の優先割当音素/a/と音節「い[i]」の1個の結合候補音素/i/とが対応する。したがって、音節「あ[a]」の優先割当音素/a/が確定音素に選別される。同様に、図12の1個の発音時点tN2には、音節「う[u]」の結合候補音素/u/と音節「ち[chi]」の優先割当音素/i/とが対応する。したがって、音節「ち[chi]」の優先割当音素/i/が確定音素に選別される。
1個の音符に対する複数の音節の割当てを許容するとは言っても、過度に多数の音節を1個の音符に割当てた場合には合成音が聴感的に不自然な印象となる。以上の傾向を考慮して、本実施形態では、1個の音符に割当てる音節の個数をM個(Mは2以上の自然数)以内に制限する。具体的には、音声認識部32は、認識候補WC内で相前後する各確定音素の間に、M個を上回る結合候補音素が存在するか否かを判定する(SB15)。以下の説明では、個数Mを2に設定した場合を想定するが、個数Mを3以上の数値に設定することも可能である。
認識候補WC内の各確定音素の間にM個を上回る結合候補音素が存在する場合(SB15:YES)、音声認識部32は、今回の認識候補WCを棄却する(SB13)。例えば、図12の例示では、相前後する確定音素/a/と確定音素/i/との間に2個の結合候補音素(/i/,/u/)が存在するから、認識候補WCは棄却される。他方、認識候補WC内の各確定音素の間に存在する結合候補音素がM個未満である場合(SB15:NO)、音声認識部32は、今回の認識候補WCを確率Pの算定対象として維持する(SB16)。例えば、図13の例示では、相前後する確定音素/a/と確定音素/u/との間には1個の結合候補音素/i/が存在するから、認識候補WCは維持される。
以上に説明した手順で維持された各認識候補WCを対象として確率Pが算定され、確率Pが最大となる1個の認識候補WCが音声信号V1の発音内容Zとして確定される。すなわち、第2実施形態の音声認識部32は、指示情報Uが指定する何れかの発音時点tNに複数の優先割当音素が対応する場合に認識候補WCを棄却する要素(SB12:YES,SB13)、および、認識候補WC内で相前後する各確定音素の間にM個を上回る結合候補音素が存在する場合に認識候補WCを棄却する要素(SB15:YES,SB13)として機能する。
第2実施形態の情報生成部34は、音声認識部32が特定した発音内容Z(認識候補WC)の各確定音素の開始時点tPと指示情報Uが指定する各発音時点tNとの関係が反映されるように、発音情報Sが指定する各音符に発音内容Zの各音節を割当てる。具体的には、情報生成部34は、指示情報Uが指定する各発音時点tNの音符に、発音内容Zの複数の音節のうちその発音時点tNに対応する確定音素を含む音節を割当てる。例えば、図13の「相打ち[aiuchi]」という認識候補WCが音声信号V1の発音内容Zとして確定された場合、発音内容Zのうち開始時点tP1の確定音素/a/の音節「あ[a]」は、開始時点tP1の最近傍に位置する発音時点tN1の音符に割当てられる。すなわち、情報生成部34は、発音情報Sにおける発音時点tN1の音符の音声符号XDを音節「あ[a]」に設定する。同様に、確定音素/u/の音節「う[u]」は発音時点tN2の音符に割当てられ、確定音素/i/の音節「ち[chi]」は発音時点tN3の音符に割当てられる。
また、情報生成部34は、音声認識部32が特定した発音内容Zのうち相前後する各確定音素の間に位置する結合候補音素の音節を、その音節の直前の音節と共通の音符に割当てる。すなわち、結合候補音素の音節とその直前の音節とが結合されて1個の音符に割当てられる。例えば、図13に鎖線で図示される通り、発音内容Zのうち確定音素/a/と確定音素/u/との間に位置する結合候補音素/i/は、直前の確定音素/a/に結合されて発音時点tN1の1個の音符に割当てられる。すなわち、発音時点tN1の音符の音声符号XDは、確定音素/a/の音節「あ[a]」と結合候補音素/i/の音節「い[i]」とを結合した「あい[ai]」に設定され、発音時点tN1の1個の音符で発音される。
第2実施形態においても第1実施形態と同様の効果が実現される。また、第2実施形態では、複数の音節(1個の確定音素と1個以上の結合候補音素との組合わせ)を1個の音符に割当てることが許容されるから、複数の音節が1個のモーラ(拍)のように発音され得る言語(典型的には日本語)について聴感的に自然な印象の合成音を生成できるという利点がある。
<第3実施形態>
第1実施形態では、指示入力装置16に対する利用者からの指示に応じて各音符の音高XAを設定した。第3実施形態では、音声入力装置14が生成した音声信号V1の音高(ピッチ)を音声信号V2の各音符の音高に反映させる。したがって、利用者は、指示入力装置16に指示する旋律に対応する音高の音声を音声入力装置14に対して発音する。
図14には、発音情報Sで音符毎に指定される音高XAと、発音情報Sのみを音声合成に適用した場合に音声合成部36で生成される音声信号V2の音高(基本周波数)FAと、利用者が発音した音声の音声信号V1の音高FBとが図示されている。音高FAは、発音情報Sが指定する音高XA(指示情報Uの音高N)に連動して時間的に変化するように発音情報Sの各音高XAに応じて設定される。第3実施形態の音声合成部36は、図15に示すように、音高FAと利用者が入力した音声信号V1の音高FBとの加重和で音高FCを算定し、音声符号XDに対応する各音声素片を音高FCに変換(ピッチ変換)することで音声信号V2を生成する。すなわち、音高FAおよび音高FBの双方の特徴を反映した中間的な音高FCの音声信号V2が生成される。
第3実施形態においても第1実施形態と同様の効果が実現される。また、第3実施形態では、指示入力装置16に指示された音高XAに応じた音高FAと利用者が発音した音声信号V1の音高FBとの双方が音声合成後の音声信号V2の音高FCに反映される。したがって、指示入力装置16に指示された音高XAのみを音声信号V2の音高に反映させる構成(図14の音高FA)と比較して、利用者の発音の微妙な表情を反映させた音声信号V2を生成できるという利点がある。また、音声信号V1の音高FAのみを音声信号V2の音高に反映させる構成では、利用者の歌唱の巧拙が直接的に音声信号V2に反映されるという問題がある。第3実施形態では、指示入力装置16に指示された音高XAと音声信号V1の音高FBとの双方が音声信号V2の音高FCに反映されるから、例えば利用者が音痴である場合でも音高FCが適切に変化する音声信号V2を生成できるという利点がある。なお、第3実施形態の構成を第2実施形態に適用することも可能である。
<変形例>
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は適宜に併合され得る。
(1)前述の各形態では、指示情報Uおよび音声信号V1に応じた発音情報Sを生成するとともに発音情報Sを適用した音声合成で音声信号V2を生成する音声処理装置100(音声合成装置)を例示したが、発音情報Sを生成する音声処理装置100(音声解析装置)としても本発明は実現され得る。すなわち、前述の各形態における音声合成部36を省略することも可能である。発音情報Sは、利用者が指示した各音符と音声信号V1の各音節との関係を表現する譜面情報として利用され得る。また、例えば各音符と歌詞との対応を規定した楽曲情報(例えばカラオケ用に事前に用意された楽曲データ)と情報生成部34が生成する発音情報Sとを対比することで、利用者による歌唱の巧拙を評価することも可能である。
(2)前述の各形態では、各音符の音高Nを利用者が指示入力装置16に対して指示する構成を例示したが、音声入力装置14が生成した音声信号V1の解析(ピッチ検出)で音声取得部22が音声信号V1の各音符の音高Nを特定することも可能である。すなわち、発音情報Sが指定する各音符の音高XAは音声信号V1から特定された音高Nに設定される。例えば、打楽器型の電子楽器を指示入力装置16に利用して各音符の発音時点tNを検出し、発音内容Zと各音符の音高Nとを音声信号V1から特定する構成が好適である。
(3)前述の各形態では、鍵盤楽器型の操作機器を指示入力装置16として例示したが、指示入力装置16の形態は任意である。例えば、利用者による弾弦の時点を発音時点tNとして検出するとともに音量が所定値を下回る時点を消音時点tEとして検出する弦楽器型の操作機器を指示入力装置16として利用することも可能である。また、管楽器型の操作機器も指示入力装置16として利用され得る。なお、管楽器型の操作機器を指示入力装置16として利用する場合、ひとりの利用者が歌詞の発音と旋律の指示とを並列に実行することは困難である。したがって、ひとりの利用者が音声入力装置14に対して歌詞を発音する動作に並行して他の利用者が指示入力装置16を操作して所望の旋律を指示するという利用形態が想定される。また、ひとりの利用者が歌詞の発音と旋律の指示とを相異なる期間に分割して実行することも可能である。
(4)携帯電話機等の端末装置と通信するサーバ装置で音声処理装置100(音声合成部36の有無は不問)を実現することも可能である。例えば、音声入力装置14と指示入力装置16とを端末装置に設置し、音声入力装置14が生成した音声信号V1と指示入力装置16が生成した指示情報Uとを、音声処理装置100が端末装置から受信する。音声処理装置100は、端末装置から受信した音声信号V1および指示情報Uから発音情報Sを生成し、発音情報Sを適用した音声合成で生成した音声信号V2を端末装置に送信する。端末装置が音声合成部36を具備する構成では、発音情報Sを音声処理装置100から端末装置に送信することも可能である。