(57)【要約】【課題】連続的に検出された発音タイミングに対して出力される合成音声の遅延の累積を低減する。【解決手段】一実施形態に係る音声合成方法は、入力音信号から発音タイミングを検出するステップと、発音タイミングが検出された場合、前回の発音タイミングが検出されてからしきい値時間が経過したか判断するステップと、前回の発音タイミングが検出されてからしきい値時間が経過したと判断された場合、第１方法による音声の合成を指示するステップと、前回の発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示するステップとを有する。【選択図】図７
2017167411.tif 000002
【特許請求の範囲】
【請求項１】
入力音信号から発音タイミングを検出するステップと、
前記発音タイミングが検出された場合、前回の発音タイミングが検出されてからしきい値時間が経過したか判断するステップと、
前回の発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示するステップと、
前回の発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示するステップと
を有する音声合成方法。
【請求項２】
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い音声を合成する方法である
請求項１に記載の音声合成方法。
【請求項３】
前記音声は、子音および母音の組み合わせにより表され、
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い母音を含む音声を合成する方法である
請求項２に記載の音声合成方法。
【請求項４】
前記音声は、子音および母音の組み合わせにより表され、
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い子音を含む音声を合成する方法である
請求項２に記載の音声合成方法。
【請求項５】
前記第２方法は、前回の発音タイミングにより合成された音声と音高が異なる音声を合成する方法である
請求項１に記載の音声合成方法。
【請求項６】
前記第２方法は、前回の発音タイミングにより合成された音声と音量が異なる音声を合成する方法である
請求項１に記載の音声合成方法。
【請求項７】
入力音信号から発音タイミングを検出する検出手段と、
前記発音タイミングが検出された場合、前回の発音タイミングが検出されてからしきい値時間が経過したか判断する判断手段と、
前回の発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示し、前回の発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、当該第１方法と異なる第２方法による音声の合成を指示する指示手段と
を有する音声合成制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力音信号を用いて音声合成をする技術に関する。
【背景技術】
【０００２】
歌唱音声の合成を楽器と組み合わせた技術が知られている。例えば非特許文献１には、歌唱音声の合成を行う鍵盤楽器が記載されている。非特許文献１の鍵盤楽器は、スタイラスで鍵をタッチするとその鍵に対応する歌唱音声を合成する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“歌うキーボード  ポケットミク”、［online］、平成２６年４月３日、［２０１６年３月９日検索］、インターネット＜URL：http://otonanokagaku.net/nsx39/＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献１に記載の技術においては、ある鍵を短い時間間隔で連続してタッチした場合に、２回目以降のタッチに応じて合成される音声の発音の遅延が生じ、さらにこの遅延が累積してしまうことがあった。
【０００５】
これに対し本発明は、連続的に検出された発音タイミングに対して出力される合成音声の遅延の累積を低減する技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、入力音信号から音の発音タイミングを検出するステップと、前記発音タイミングが検出された場合において、前回の発音タイミングが検出されてからしきい値時間が経過したか判断するステップと、前回の発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示するステップと、前回の発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示するステップとを有する音声合成方法を提供する。
【０００７】
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い音声を合成する方法であってもよい。
【０００８】
前記音声は、子音および母音の組み合わせにより表され、前記第２方法は、前記第１方法により合成される音声よりも時間長が短い母音を含む音声を合成する方法であってもよい。
【０００９】
前記音声は、子音および母音の組み合わせにより表され、前記第２方法は、前記第１方法により合成される音声よりも時間長が短い子音を含む音声を合成する方法であってもよい。
【００１０】
前記第２方法は、前回の発音タイミングにより合成された音声と音高が異なる音声を合成する方法であってもよい。
【００１１】
前記第２方法は、前回の発音タイミングにより合成された音声と音量が異なる音声を合成する方法であってもよい。
【００１２】
また、本発明は、入力音信号から音の発音タイミングを検出する検出手段と、前記発音タイミングが検出された場合において、前回の発音タイミングが検出されてからしきい値時間が経過したか判断する判断手段と、前回の発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示し、前回の発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、当該第１方法と異なる第２方法による音声の合成を指示する指示手段とを有する音声合成制御装置を提供する。
【発明の効果】
【００１３】
本発明によれば、連続的に検出された発音タイミングに対して出力される合成音声の遅延の累積を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】関連技術に係る音声合成システム９の概要を示す図。
【図２】入力音信号と合成音声の発音とのタイミングの関係を例示する図。
【図３】音声合成システム９の問題点を示す図。
【図４】一実施形態に係る音声合成システム１の機能構成を示す図。
【図５】音声合成装置１０のハードウェア構成を例示する図。
【図６】音声合成装置１０のソフトウェア構成を例示する図。
【図７】音声合成装置１０の一実施形態に係る動作を例示するフローチャート。
【図８】本実施形態による合成音声を例示する図。
【図９】変形例４に係る連続入力用の方法による音声合成を例示する図。
【図１０】変形例５に係る連続入力用の方法による音声合成を例示する図。
【発明を実施するための形態】
【００１５】
１．概要
図１は、関連技術に係る音声合成システム９の概要を示す図である。音声合成システム９は、音声合成装置９０、マイクロフォン２０、および打楽器３０を有する。音声合成システム９は、打楽器３０の演奏に応じてリアルタイムで音声を合成し、合成した音声を出力するものである。具体的には、まずマイクロフォン２０が打楽器３０の演奏音を音信号に変換する。音信号とは、音の波形を示す信号をいう。この音信号は、音声合成装置９０に入力される。以下この音信号を「入力音信号」という。音声合成装置９０は、入力音信号から発音タイミングを検出する。さらに音声合成装置９０は、検出された発音タイミングに応じて音声を合成する。音声合成装置９０は、合成された音声（以下「合成音声」という）をスピーカから出力する。音声合成システム９の理想的な動作は、打楽器３０を叩くとほぼ同時に例えば「ぱ」という合成音声が出力されるというものである。
【００１６】
図２は、入力音信号と合成音声の発音とのタイミングの関係を例示する図である。この図において、横軸は時間を、縦軸は信号レベルを、それぞれ示している。入力音信号の信号レベルがあるしきい値を超えると、それがトリガー（すなわち発音タイミングまたはノートオンのタイミング）として検出され、音声合成処理が開始される。トリガーが検出されてから合成音声の出力が開始されるまでの所要時間は、この図の例では２５ｍｓｅｃ程度である。合成音声は、子音の区間および母音の区間から構成される。子音の区間は約４５ｍｓｅｃ、母音の区間は約２０５ｍｓｅｃであり、１回のトリガーに対して出力される合成音声の時間長（ノート長）は合計で約２５０ｍｓｅｃである。
【００１７】
演奏音を入力音信号としてリアルタイムで音声合成を行う場合には一般に以下の問題がある。第１に、演奏音自体からは発音終了（ノートオフ）のタイミングが必ずしも明確でないという点である。例えば鍵盤楽器において押鍵に応じて音声合成を行う場合には、ある鍵が押され、鍵の変位（または圧力）がしきい値を超えたら発音開始、そこからしきい値を下回ったら発音終了、というように演奏操作から発音終了のタイミングを特定することができる。しかし、特に打楽器においては、演奏音自体の信号波形は非常に時間の短いものであり（図３の例では５０ｍｓｅｃ程度）、それと同じ時間で発音を終了したのでは音声としては不自然に聞こえてしまう。第２に、演奏者がどのような演奏を行うか音声合成装置９０は事前には分からないという点である。つまり、あるタイミングでトリガーが検出されても、次のトリガーがいつ発生するか、その時点では音声合成装置９０には分からない。したがって、人間の音声として自然に聞こえるためには、音声合成装置９０としては、トリガーを検出すると標準的な時間長（例えば四分音符に相当する時間長）の音声を合成する。図３の例では、合成音声は２５０ｍｓｅｃ程度の時間長を有する。
【００１８】
図３は、音声合成システム９の問題点を示す図である。上記の状況においては以下の問題が発生する。すなわち、この図のように短い間隔で連続的にトリガーが検出された場合（図２の例では十六分音符が８回連続している）、第２音以降の発音が、トリガーが検出されたタイミングよりも遅れてしまうことがある。さらにこの遅延は、連続的に検出されるトリガーの数が増えるほど累積する。例えば第２音のトリガーが検出されたとき、トリガー検出から発音開始までの時間差２５ｍｓｅｃも考慮すると、その時点で第１音の発音はまだ３５ｍｓｅｃしか行われていない。そのため１音目の発音はそこからさらに２１５ｍｓｅｃ継続する。さらに、第２音のトリガーが検出されたとき、まだ１音目の発音の途中であり、第３音の発音が開始されるのはそこから３４５ｍｓｅｃ後である。
【００１９】
音声合成装置９０において、トリガーが検出されたときにまだ前の音が発音中である場合には前の音の発音を停止し、次の音の発音を開始する構成を採用することもできる。しかしこの場合でも、人間の音声として自然に聞こえるためには、前の音の停止処理（例えば音を自然に減衰させる処理）にある程度（例えば５０ｍｓｅｃ）の時間が必要である。トリガー検出から処理開始までの時間差２５ｍｓｅｃも考慮すると、第１音の発音中に第２音のトリガーが検出されてから第２音の発音が開始されるまでは少なくとも７５ｍｓｅｃの時間がかかる。この場合も、連続的に検出されるトリガーの数が増えるほど遅延が累積してしまう。さらに、第１音の発音中またはその停止処理中に第３音のトリガーが検出された場合、音声合成装置９０は、第２音の発音およびその停止処理を行ってから第３音の発音を開始する。したがって、遅延は解消されることなく累積する。
【００２０】
演奏者が打楽器３０をどのように演奏するかは分からない。したがって、例えば「入力（演奏操作）は１００ｍｓｅｃ以上の間隔を空けること」といった制限を設けることは音声合成システムの利便性を著しく損なうので、このような制限を設けることは好ましくない。また、第１音のトリガーを検出しても、第２音のトリガーがいつ検出されるかは分からないので、第１音の音長を短くすることも好ましくない。あるいは、第１音の発音中に第２音のトリガーを検出した場合は第１音の停止処理を行わずそのまま第２音の発音を開始したとすると、発音が不連続で不自然なものになってしまうのでこれも好ましくない。本実施形態は、この遅延の累積に対処する。
【００２１】
２．構成
図４は、一実施形態に係る音声合成システム１の機能構成を示す図である。音声合成システム１は、音声合成装置１０、マイクロフォン２０、および打楽器３０を有する。音声合成システム１は、打楽器３０の演奏に応じて音声合成装置１０がリアルタイムで音声を合成し、合成した音声を出力するものである。
【００２２】
音声合成装置１０は、入力手段１１、検出手段１２、判断手段１３、指示手段１４、音声合成手段１５、出力手段１６を有する。このうち、入力手段１１、検出手段１２、判断手段１３、および指示手段１４は、音声合成制御装置１００を構成している。入力手段１１は、マイクロフォン２０から入力音信号の入力を受け付ける。検出手段１２は、入力音信号からトリガーすなわち発音タイミングを検出する。判断手段１３は、検出手段１２によってトリガーが検出された場合に、前回のトリガーが検出されてからしきい値時間が経過したか判断する。指示手段１４は、判断手段１３による判断結果に応じて、音声合成の指示を生成および出力する。すなわち指示手段１４は、入力音信号を音声合成の指示に変換する。ここで、前回の発音タイミングが検出されてからしきい値時間が経過したと判断手段１３により判断された場合、指示手段１４は第１方法による音声の合成を指示する。前回の発音タイミングが検出されてからしきい値時間が経過していないと判断手段１３により判断された場合、指示手段１４は、第１方法と異なる第２方法による音声の合成を指示する。音声合成手段１５は、指示手段１４から出力された指示に従って音声合成を行う。出力手段１６は、音声合成手段１５により合成された音声を出力する。
【００２３】
図５は、音声合成装置１０のハードウェア構成を例示する図である。音声合成装置１０は、ＣＰＵ１０１、メモリー１０２、ストレージ１０３、入力部１０４、出力部１０５、通信ＩＦ１０６を有するコンピュータ装置である。ＣＰＵ１０１は、音声合成装置１０の他の構成要素を制御する制御装置である。メモリー１０２は、ＣＰＵ１０１がプログラムを実行する際のワークスペースとして機能する揮発性の記憶装置である。ストレージ１０３は、各種のデータおよびプログラムを記憶した不揮発性の記憶装置である。入力部１０４は、ユーザから命令または情報の入力を受け付ける入力装置であり、例えば、タッチセンサーおよびボタンの少なくとも１つを含む。出力部１０５は、外部に情報を出力する出力装置であり、例えば、ディスプレイおよびスピーカの少なくとも１つを含む。通信ＩＦ１０６は、他の装置、例えばネットワーク上のサーバ装置（図示略）と通信するためのインターフェースである。
【００２４】
図６は、音声合成装置１０のソフトウェア構成を例示する図である。音声合成装置１０は、ＯＳ１５１およびアプリケーション１５２を有する。これらのソフトウェアは、ストレージ１０３に記憶されており、ＣＰＵ１０１により実行される。ＯＳ１５１は、コンピュータ装置の基本的な管理や制御のための機能を提供するためのソフトウェアである。アプリケーション１５２は、リアルタイムの音声合成機能を提供するためのソフトウェアである。アプリケーション１５２は、さらに、トリガー検出モジュール１５２１および音声合成エンジン１５２２を有する。トリガー検出モジュール１５２１は、入力音信号からトリガーを検出し、このトリガーに応じて音声合成の指示を生成する。トリガー検出モジュール１５２１は、生成した指示を音声合成エンジン１５２２に出力する。音声合成エンジン１５２２は、入力された指示に応じて音声合成を行い、合成音声を示す音信号のデータを出力する。ＯＳ１５１は、この音信号のデータに従って音を出力する。
【００２５】
この例では、トリガー検出モジュール１５２１が、入力手段１１、検出手段１２、判断手段１３、および指示手段１４の一例である。音声合成エンジン１５２２が音声合成手段１５の一例である。ＯＳ１５１により制御されるスピーカが出力手段１６の一例である。
【００２６】
３．動作
図７は、音声合成装置１０の一実施形態に係る動作を例示するフローチャートである。図７のフローは、一実施形態に係る音声合成方法を示す。例えば、ユーザによりアプリケーション１５２の起動が指示されたことを契機として開始される。
【００２７】
ステップＳ１において、トリガー検出モジュール１５２１は、入力音信号の受け付けを開始する。ステップＳ１の処理は入力手段１１の機能に相当する。ステップＳ２において、トリガー検出モジュール１５２１は、入力音信号からトリガーを検出する。トリガーの条件はアプリケーション１５２によりあらかじめ決められている。一例としては、トリガーの条件は、信号レベルの瞬時値がしきい値を超えたというものである。あるいは、トリガー検出モジュール１５２１は、直近の所定期間（例えば１０ｍｓｅｃ）の音信号波形の形状等に基づいてトリガーの有無を判断してもよい。トリガーが検出されなかった場合（Ｓ２：ＮＯ）、トリガー検出モジュール１５２１は、トリガーが検出されるまで待機する。トリガーが検出された場合（Ｓ２：ＹＥＳ）、トリガー検出モジュール１５２１は、処理をステップＳ３に移行する。ステップＳ２の処理は検出手段１２の機能に相当する。
【００２８】
ステップＳ３において、トリガー検出モジュール１５２１は、直近のトリガーが検出されてからしきい値時間が経過したか判断する。トリガー検出モジュール１５２１は、直近のトリガーが検出された時刻を特定するための情報を保持しており、この情報を用いてこの判断を行う。ここで用いられる「しきい値時間」は、前の音がまだ出力中であると推定される時間、一例としては２５０ｍｓｅｃである。直近のトリガーが検出されてからしきい値時間が経過したと判断された場合（Ｓ３：ＹＥＳ）、トリガー検出モジュール１５２１は、処理をステップＳ４に移行する。直近のトリガーが検出されてからしきい値時間が経過していないと判断された場合（Ｓ３：ＮＯ）、トリガー検出モジュール１５２１は、処理をステップＳ５に移行する。ステップＳ３の処理は判断手段１３の機能に相当する。
【００２９】
ステップＳ４において、トリガー検出モジュール１５２１は、通常の方法（第１方法の一例）による音声合成の指示を生成する。通常の方法とは、連続的なトリガーによる遅延の蓄積を考慮しない方法であり、例えば音長が２５０ｍｓｅｃの音声合成を指示するものである。音声合成の指示は、例えば、音高、音長、および割り当てられた文字を特定するための情報を含む。音高および文字は、例えば、入力音信号の波形に応じて決められる。例えば、打楽器３０がバスドラム、スネアドラム、およびハイハットを含み、これらにそれぞれ異なる音高および文字が割り当てられている例を考える。トリガー検出モジュール１５２１は、入力音信号の波形を解析し、演奏された楽器がバスドラム、スネアドラム、およびハイハットのいずれであるか判断する。トリガー検出モジュール１５２１は、演奏されたと判断された楽器に割り当てられた音高を、その合成音声の音高として決める。この例では音長はあらかじめ決められており、例えば２５０ｍｓｅｃである。なお、音高および文字は入力音信号の波形に応じて決められるものに限定されない。音高および文字の少なくとも一方は、入力音信号の波形によらず、例えばアプリケーション１５２によりあらかじめ決められていてもよいし、ユーザの設定により決められてもよい。
【００３０】
ステップＳ５において、トリガー検出モジュール１５２１は、連続入力用の方法（第２方法の一例）による音声合成の指示を生成する。連続入力用の方法とは、連続的なトリガーによる遅延の蓄積を低減するための方法であり、この例では通常の方法よりも音長が短い音声合成を指示するものである。一例としては、トリガー検出モジュール１５２１は、音長が１００ｍｓｅｃの音声合成を指示する。音声合成の指示は、例えば、音高、音長、および割り当てられた文字を特定するための情報を含む。音高および文字についてはステップＳ４と同様である。ステップＳ４およびＳ５の処理は指示手段１４の機能に相当する。
【００３１】
ステップＳ６において、音声合成エンジン１５２２は、トリガー検出モジュール１５２１から与えられた指示に従って音声合成を行う。音声合成には公知の技術を用いることができるのでここではその概要だけ説明する。音声合成エンジン１５２２は、素片ライブラリを有している。素片ライブラリは、ある特定の歌唱者の声からサンプリングした音楽素片（歌声の断片）を含むデータベースである。素片ライブラリには、その歌唱者の歌唱音声波形から採取された素片データが複数含まれている。素片データとは、歌唱音声波形から、音声学的な特徴部分を切り出して符号化した音声データである。
【００３２】
ここで、素片データについて、「さいた」という歌詞の歌唱音声を合成する場合を例として説明する。「さいた」という歌詞は発音記号で「ｓａｉｔａ」と表される。発音記号「ｓａｉｔａ」で表される音声の波形を特徴により分析すると、「ｓ」の音の立ち上がり部分→「ｓ」の音→「ｓ」の音から「ａ」の音への遷移部分→「ａ」の音…と続き、「ａ」の音の減衰部分で終わる。各素片データは、これらの音声学的な特徴部分に対応する音声データである。素変ライブラリには、あらゆる音および音の組み合わせに関する素片データが格納されている。以下の説明において、ある発音記号で表される音の立ち上がり部分に対応する素片データを、その発音記号の前に「＃」を付けて、「＃ｓ」のように表す。また、ある発音記号で表される音の減衰部分に対応する素片データを、その発音記号の後に「＃」を付けて、「ａ＃」のように表す。また、ある発音記号で表される音から他の発音記号で表される音への遷移部分に対応する素片データを、それらの発音記号の間に「−」を入れて、「ｓ−ａ」のように表す。
【００３３】
例えば、「ぱ」という音声は、「＃ｐ」、「ｐ」、「ｐ−ａ」、「ａ」、および「ａ＃」という素片データを組み合わせることにより合成される。音声合成エンジン１５２２は、これらの素片データを組み合わせた後、音高および音長を調整する。この例で、音声合成エンジン１５２２は、子音の長さによって音長を調整する。「ぱ」という音声の例では音声波形のうち「ａ」の素片データに相当する部分の時間長を調整することにより全体の音長を調整する。すなわち音声波形のうち「＃ｐ」、「ｐ」、「ｐ−ａ」、および「ａ＃」の素片データに相当する部分の時間長は固定されており、音声合成エンジン１５２２は、「ａ」の素片データに相当する部分の時間長を変えることにより、音長を１００ｍｓｅｃにしたり２５０ｍｓｅｃにしたりする。音声合成エンジン１５２２は、合成音声のデータをＯＳ１５１に出力する。ステップＳ６の処理は音声合成手段１５の機能に相当する。
【００３４】
ステップＳ７において、ＯＳ１５１は、音声合成エンジン１５２２から与えられたデータに従って、合成音声をスピーカから出力する。ステップＳ７の処理は出力手段１６の機能に相当する。
【００３５】
図８は、本実施形態による合成音声を例示する図である。ここでは比較例による合成音声も併せて図示している。この比較例は、トリガーが連続しているか否かによらず合成音声の音長が一定であるものである。本実施形態によれば、短い間隔で連続したトリガーが検出された場合でも、合成音声の発音の遅延の蓄積を低減することができる。
【００３６】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００３７】
４−１．変形例１
通常の方法における合成音声の音長は固定値に限定されない。例えば、入力音信号の波形に応じて音長が変更されてもよい。次式（１）は、通常の方法における音長Ｌ１が入力音信号の振幅に応じて変更される例（具体的には、振幅が大きいほど音長が長くなる例）を示している。
【数１】
2017167411.tif 000003
ここで、ｍは一定の係数を、Ｇｉｎは入力音信号の振幅（または入力音信号の振幅と基準となる振幅との差）を、Ｌｍｉｎは通常の方法における音長の最小値（例えば２５０ｍｓｅｃ）を、それぞれ示す。この例によれば合成音声の音長が入力音信号の波形に応じて変更されるので、音楽的により豊かな表現の可能性を提供することができる。
【００３８】
４−２．変形例２
連続入力用の方法における音声合成の音長は特定の値に固定されるものに限定されない。例えば、連続入力用の方法における音長Ｌ２は、その時点で累積している遅延の量ｄに応じて変更されてもよい。次式（２）は、累積している遅延の量ｄが大きいほど音長が短くなる例を示している。
【数２】
2017167411.tif 000004
ここで、ｋは一定の係数を示す。また、音長Ｌ２には下限値（例えば５０ｍｓｅｃ）を設け、式（２）に計算される音長Ｌ２が下限値を下回った場合にはこの下限値を音長Ｌ２として採用してもよい。なお式（１）における通常の方法における音長Ｌ１は、実施形態の例のように固定値であってもよいし、変形例１のように入力音信号の波形に応じて決まる値であってもよい。変形例２によれば、音長Ｌ２が固定値である例と比較して、遅延の累積をより低減させることができる。
【００３９】
４−３．変形例３
通常の方法と連続入力用の方法とで音長を異ならせる手法は実施形態で例示したものに限定されない。例えば、音声合成エンジン１５２２は、子音の時間長を調整することにより音長を調整してもよい。「ぱ」という音声の例では、音声合成エンジン１５２２は、「＃ｐ」、「ｐ」、および「ｐ−ａ」のうち少なくとも１つの素片データに相当する部分の時間長を調整することにより全体の音長を調整してもよい。母音の時間長を調整する例においても子音の時間長を調整する例においても、素片ライブラリが各素片につき時間長の長い素片データと短い素片データとを保持しており、音声合成エンジン１５２２は、通常の方法においては時間長の長い素片データを、連続入力用の方法においては時間長の短い素片データを、それぞれ使用してもよい。あるいは、素片ライブラリが各素片につき単一の素片データを保持しており、音声合成エンジン１５２２は、この素片データを加工することにより時間長を調整してもよい。
【００４０】
時間長が調整される子音は合成音声の冒頭にあるものに限定されない。例えば、トリガーが検出されると「kick」という音声が出力される場合、連続入力用の方法においては、語尾の子音が省略（すなわち時間長ゼロ）されてもよい。
【００４１】
４−４．変形例４
通常の方法と連続入力用の方法とは音長を異ならせるものに限定されない。連続入力用の方法は、例えば、前回と音高が異なる音声を合成するものであってもよい。この例で、第１音が発音されている途中で第２音のトリガーが検出された場合、トリガー検出モジュール１５２１は、第１音の発音を停止してその後第２音の発音を開始するのではなく、第１音の発音を継続したうえで、トリガーに応じたタイミングで音高を変化させる指示を生成する。すなわち、トリガー検出モジュール１５２１は、連続的にピッチベンドを発生させる。
【００４２】
図９は、変形例４に係る連続入力用の方法による音声合成を例示する図である。この例では第１音の「ぱ」が発音されている途中で第２音のトリガーが検出されると、母音「ａ」の発音を継続したまま（「ａ＃」の素片データに移行せず）その音高がトリガーに応じて変更される。より具体的には、第２音のトリガーが検出されると、トリガー検出モジュール１５２１は、通常の方法においてはＰ１である音高を連続的にＰ２まで下げた後に再びＰ１まで上げるように音高を変化させる指示を生成する。
【００４３】
この例においては、第２音のトリガーが検出されたときに新たな音声の発音が開始されることはないものの、音高が変化するという応答が得られる。一般に演奏者が違和感を感じるのは自分が行った演奏操作に対して何の応答も得られない場合であるが、この例によれば演奏者の感じる違和感を低減することができる。
【００４４】
４−５．変形例５
図１０は、変形例５に係る連続入力用の方法による音声合成を例示する図である。この例において、連続入力用の方法は、前回と音量が異なる音声を合成するものであってもよい。音量を変化させる処理は、変形例４において音高を変化させる処理と同様に行われる。この例も、変形例４と同様に演奏者の感じる違和感を低減することができる。
【００４５】
４−６．変形例６
ソフトウェア構成と機能構成との対応関係は実施形態で例示したものに限定されない。例えば、トリガー検出モジュール１５２１ではなく音声合成エンジン１５２２が、判断手段１３および指示手段１４に相当する機能を有していてもよい。この場合、トリガー検出モジュール１５２１は、トリガーを検出すると、通常の方法と連続入力用の方法との区別無く、音声合成の指示を生成および出力する。音声合成エンジン１５２２は、トリガー検出モジュール１５２１から音声合成の指示が入力された場合に、前回のトリガーが検出されてからしきい値時間が経過したか判断する。音声合成エンジン１５２２は、この判断結果に応じて音声合成を行う。
【００４６】
４−７．他の変形例
音声合成システム１において用いられる楽器は打楽器に限定されない。鍵盤楽器、管楽器、または弦楽器など、打楽器以外の楽器が用いられてもよい。
【００４７】
音声合成装置１０のハードウェア構成は実施形態で例示したものに限定されない。要求される機能を実現できるものであれば、音声合成装置１０はどのようなハードウェア構成を有していてもよい。
【００４８】
実施形態の例では単一の装置が音声合成装置１０の機能をすべて有していたが、音声合成装置１０の機能は、複数の装置、例えばクライアント装置およびサーバ装置に分けて実装されていてもよい。例えば、検出手段１２、判断手段１３、指示手段１４、および音声合成手段１５がサーバ装置に実装され、入力手段１１および出力手段１６がクライアント装置に実装されてもよい。
【００４９】
音声合成装置１０のＣＰＵ１０１等により実行されるプログラムは、光ディスク、磁気ディスク、半導体メモリーなどの記憶媒体により提供されてもよいし、インターネット等の通信回線を介してダウンロードされてもよい。また、このプログラムは、図３のすべてのステップを備える必要はない。例えば、このプログラムは、ステップＳ１、ステップＳ２、ステップＳ３、ステップＳ４、およびステップＳ５のみを実行してもよい。
【００５０】
なお、実施形態で説明した遅延の量や合成音声の時間長はあくまで例示であり、本願発明の構成はこれに限定されるものではない。
【符号の説明】
【００５１】
１…音声合成システム、９…音声合成システム、１０…音声合成装置、１１…入力手段、１２…検出手段、１３…判断手段、１４…指示手段、１５…音声合成手段、１６…出力手段、２０…マイクロフォン、３０…打楽器、９０…音声合成装置、１００…音声合成制御装置
【図１】
2017167411.tif 000005
【図２】
2017167411.tif 000006
【図３】
2017167411.tif 000007
【図４】
2017167411.tif 000008
【図５】
2017167411.tif 000009
【図６】
2017167411.tif 000010
【図７】
2017167411.tif 000011
【図８】
2017167411.tif 000012
【図９】
2017167411.tif 000013
【図１０】
2017167411.tif 000014
【手続補正書】
【提出日】平成29年5月12日(2017.5.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力音信号から発音タイミングを検出するステップと、
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてから今回の前記発音タイミングが検出されるまでの時間に応じた方法により、今回の前記入力音信号に対する音声の合成を行うように指示するステップと、
を含む音声合成方法。
【請求項２】
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてからしきい値時間が経過したか判断するステップをさらに含み、
前回の前記発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示し、
前回の前記発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示する、
請求項１に記載の音声合成方法。
【請求項３】
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い音声を合成する方法である、
請求項２に記載の音声合成方法。
【請求項４】
前記音声は、子音および母音の組み合わせにより表され、
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い母音を含む音声を合成する方法である、
請求項３に記載の音声合成方法。
【請求項５】
前記音声は、子音および母音の組み合わせにより表され、
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い子音を含む音声を合成する方法である、
請求項３に記載の音声合成方法。
【請求項６】
前記第２方法は、前回の前記入力音信号に対応して合成された音声の音高を、今回の前記発音タイミングに応じて変化させる方法である、
請求項２に記載の音声合成方法。
【請求項７】
前記第２方法は、前回の前記入力音信号に対応して合成された音声の音量を、今回の前記発音タイミングに応じて変化させる発音タイミングにより合成された音声と音量が異なる音声を合成する方法である、
請求項２に記載の音声合成方法。
【請求項８】
前記第１方法は、前記入力音信号の波形に応じて音声の時間長が変化するように音声を合成する方法である、
請求項２に記載の音声合成方法。
【請求項９】
前記第２方法は、今回の前記発音タイミングが検出された時点で累積している遅延の量応じて音声の時間長が変化するように音声を合成する方法である、
請求項２に記載の音声合成方法。
【請求項１０】
入力音信号から発音タイミングを検出する検出手段と、
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてから今回の前記発音タイミングが検出されるまでの時間に応じた方法により、今回の前記入力音信号に対する音声の合成を行うように指示する指示手段と、
を有する音声合成制御装置。
【請求項１１】
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてからしきい値時間が経過したか判断する判断手段をさらに有し、
前記指示手段は、前回の前記発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示し、前回の前記発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示する、
請求項１０に記載の音声合成制御装置。
【手続補正書】
【提出日】平成29年6月29日(2017.6.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力音信号から発音タイミングを検出するステップと、
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてから今回の前記発音タイミングが検出されるまでの時間に応じた方法により、今回の前記入力音信号に対する音声の合成を行うように指示するステップと、
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてからしきい値時間が経過したか判断するステップと
を含み、
前回の前記発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示し、
前回の前記発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示する、
音声合成方法。
【請求項２】
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い音声を合成する方法である、
請求項１に記載の音声合成方法。
【請求項３】
前記音声は、子音および母音の組み合わせにより表され、
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い母音を含む音声を合成する方法である、
請求項２に記載の音声合成方法。
【請求項４】
前記音声は、子音および母音の組み合わせにより表され、
前記第２方法は、前記第１方法により合成される音声よりも時間長が短い子音を含む音声を合成する方法である、
請求項２に記載の音声合成方法。
【請求項５】
前記第２方法は、前回の前記入力音信号に対応して合成された音声の音高を、今回の前記発音タイミングに応じて変化させる方法である、
請求項１に記載の音声合成方法。
【請求項６】
前記第２方法は、前回の前記入力音信号に対応して合成された音声の音量を、今回の前記発音タイミングに応じて変化させる発音タイミングにより合成された音声と音量が異なる音声を合成する方法である、
請求項１に記載の音声合成方法。
【請求項７】
前記第１方法は、前記入力音信号の波形に応じて音声の時間長が変化するように音声を合成する方法である、
請求項１に記載の音声合成方法。
【請求項８】
前記第２方法は、今回の前記発音タイミングが検出された時点で累積している遅延の量応じて音声の時間長が変化するように音声を合成する方法である、
請求項１に記載の音声合成方法。
【請求項９】
入力音信号から発音タイミングを検出する検出手段と、
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてから今回の前記発音タイミングが検出されるまでの時間に応じた方法により、今回の前記入力音信号に対する音声の合成を行うように指示する指示手段と、
今回の前記発音タイミングが検出された場合、前回の前記発音タイミングが検出されてからしきい値時間が経過したか判断する判断手段と
を有し、
前記指示手段は、前回の前記発音タイミングが検出されてから前記しきい値時間が経過したと判断された場合、第１方法による音声の合成を指示し、前回の前記発音タイミングが検出されてから前記しきい値時間が経過していないと判断された場合、前記第１方法と異なる第２方法による音声の合成を指示する、
音声合成制御装置。