(57)【特許請求の範囲】
【請求項１】
文字列を記憶する文字列記憶手段と、
複数の音符の各々について、当該音符の発音期間の始期、音高、および音長、並びに前記文字列のうち当該音符に割り当てられた文字を含む属性を記憶する属性記憶手段と、
音高を表す第１軸および時間を表す第２軸を有する座標系に従って、前記複数の音符の各々の発音期間の始期、音高、および音長を表す図形を表示手段の画面に表示させる表示制御手段と、
前記画面において指定された、処理対象音符の音高および発音期間の始期を取得する取得手段と、
前記取得手段により取得された前記発音期間の始期と、前記属性記憶手段に記憶されている複数の音符の発音期間の始期との前後関係に基づいて、前記文字列記憶手段に記憶されている文字列の一部を前記処理対象音符に割り当てるように前記属性記憶手段に記憶されている属性を書き替える割り当て手段と、
前記割り当て手段により前記処理対象音符に割り当てられた文字列および前記取得手段により取得された音高に応じた音声を確認音として合成する音声合成手段と、
前記音声合成手段により合成された前記確認音を、前記取得手段が前記発音期間の始期を取得したタイミングに応じて、音声出力手段から出力させる確認音出力手段と
を有する音声合成装置。
【請求項２】
前記取得手段は、前記発音期間の始期を取得した後で、前記処理対象音符の発音期間の終期を取得し、
前記取得手段により前記処理対象音符の発音期間の終期が取得される前に、前記取得手段により取得される前記処理対象音符の音高が変更をされた場合、前記音声合成手段は前記変更後の音高に応じた音声を前記確認音として合成し、
前記確認音出力手段は、前記変更後の音高に応じた前記確認音を前記音声出力手段から出力させる
ことを特徴とする請求項１に記載の音声合成装置。
【請求項３】
前記音声合成手段は、前記確認音として、前記処理対象音符を含む複数の音に割り当てられている文字列および指定されている音高に応じた音声を確認音として合成する
ことを特徴とする請求項１に記載の音声合成装置。
【請求項４】
前記取得手段は、前記処理対象音符の発音期間の終期をさらに取得し、
前記音声合成手段は、前記確認音として、前記発音期間の終期と前記発音期間の始期との差に応じた音長を有する音声を合成する
ことを特徴とする請求項１に記載の音声合成装置。
【請求項５】
コンピュータを、
文字列を記憶する文字列記憶手段と、
複数の音符の各々について、当該音符の発音期間の始期、音高、および音長、並びに前記文字列のうち当該音符に割り当てられた文字を含む属性を記憶する属性記憶手段と、
音高を表す第１軸および時間を表す第２軸を有する座標系に従って、前記複数の音符の各々の発音期間の始期、音高、および音長を表す図形を表示手段の画面に表示させる表示制御手段と、
前記画面において指定された、処理対象音符の音高および発音期間の始期を取得する取得手段と、
前記取得手段により取得された前記発音期間の始期と、前記属性記憶手段に記憶されている複数の音符の発音期間の始期との前後関係に基づいて、前記文字列記憶手段に記憶されている文字列の一部を前記処理対象音符に割り当てるように前記属性記憶手段に記憶されている属性を書き替える割り当て手段と、
前記割り当て手段により前記処理対象音符に割り当てられた文字列および前記取得手段により取得された音高に応じた音声を確認音として合成する音声合成手段と、
前記音声合成手段により合成された前記確認音を、前記取得手段が前記発音期間の始期を取得したタイミングに応じて、音声出力手段から出力させる確認音出力手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声合成に関する。
【背景技術】
【０００２】
歌詞等の文字列、並びに複数の音符（以下「音符列」という）の音高および音長がデータとして入力されると、その文字列および音に応じて、歌唱音の音声を合成する技術が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２５９７６８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１において、自分の意図どおりに文字列および音符列が入力されたか確認するには、ユーザは、歌詞を入力した後で、合成された音声を再生するための操作を行う必要があり煩雑であった。
これに対し本発明は、新たに入力された音符とその音符に割り当てられた文字とに応じた音声の確認を、より容易にする技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、文字列を記憶する文字列記憶手段と、複数の音符の各々について、当該音符の発音期間の始期、音高、および音長、並びに前記文字列のうち当該音符に割り当てられた文字を含む属性を記憶する属性記憶手段と、音高を表す第１軸および時間を表す第２軸を有する座標系に従って、前記複数の音符の各々の発音期間の始期、音高、および音長を表す図形を表示手段の画面に表示させる表示制御手段と、前記画面において指定された、新たな音符の音高および発音期間の始期を取得する取得手段と、前記取得手段により取得された前記発音期間の始期と、前記属性記憶手段に記憶されている複数の音符の発音期間の始期との前後関係に基づいて、前記文字列記憶手段に記憶されている文字列の一部を前記新たな音符に割り当てるように前記属性記憶手段に記憶されている属性を書き替える割り当て手段と、前記割り当て手段により前記新たな音符に割り当てられた文字列および前記取得手段により取得された音高に応じた音声を確認音として合成する音声合成手段と、前記音声合成手段により合成された前記確認音を、前記取得手段が前記発音期間の始期を取得したタイミングに応じて、音声出力手段から出力させる確認音出力手段とを有する音声合成装置を提供する。
【０００６】
好ましい態様において、前記取得手段は、前記発音期間の始期を取得した後で、前記新たな音符の発音期間の終期を取得し、前記取得手段により前記新たな音符の発音期間の終期が取得される前に、前記取得手段により取得される前記新たな音符の音高が変更をされた場合、前記音声合成手段は前記変更後の音高に応じた音声を前記確認音として合成し、前記確認音出力手段は、前記変更後の音高に応じた前記確認音を前記音声出力手段から出力させてもよい。
【０００７】
別の好ましい態様において、前記音声合成手段は、前記確認音として、前記新たな音符を含む複数の音に割り当てられている文字列および指定されている音高に応じた音声を確認音として合成してもよい。
【０００８】
さらに別の好ましい態様において、前記取得手段は、前記新たな音符の発音期間の終期をさらに取得し、前記音声合成手段は、前記確認音として、前記発音期間の終期と前記発音期間の始期との差に応じた音長を有する音声を合成してもよい。
【０００９】
また、本発明は、コンピュータを、文字列を記憶する文字列記憶手段と、複数の音符の各々について、当該音符の発音期間の始期、音高、および音長、並びに前記文字列のうち当該音符に割り当てられた文字を含む属性を記憶する属性記憶手段と、音高を表す第１軸および時間を表す第２軸を有する座標系に従って、前記複数の音符の各々の発音期間の始期、音高、および音長を表す図形を表示手段の画面に表示させる表示制御手段と、前記画面において指定された、新たな音符の音高および発音期間の始期を取得する取得手段と、前記取得手段により取得された前記発音期間の始期と、前記属性記憶手段に記憶されている複数の音符の発音期間の始期との前後関係に基づいて、前記文字列記憶手段に記憶されている文字列の一部を前記新たな音符に割り当てるように前記属性記憶手段に記憶されている属性を書き替える割り当て手段と、前記割り当て手段により前記新たな音符に割り当てられた文字列および前記取得手段により取得された音高に応じた音声を確認音として合成する音声合成手段と、前記音声合成手段により合成された前記確認音を、前記取得手段が前記発音期間の始期を取得したタイミングに応じて、音声出力手段から出力させる確認音出力手段として機能させるためのプログラムを提供する。
【発明の効果】
【００１０】
本発明によれば、発音期間の始期を取得したタイミングに応じて確認音を出力する構成を有さない場合と比較して、ユーザは、新たに入力された音符とその音符に割り当てられた文字とに応じた音声を、より容易に確認することができる。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る音声合成装置１の機能構成を示すブロック図である。
【図２】素片ライブラリを例示する図である。
【図３】楽譜データを例示する図である。
【図４】音声合成装置１のハードウェア構成を示す図である。
【図５】音声合成装置１の外観を例示する図である。
【図６】音声合成アプリケーションが実行されているときの画面を例示する図である。
【図７】音声合成装置１の動作を示すフローチャートである。
【図８】新たな音符を入力する様子を例示する図である。
【図９】新たな音符について発音期間の終期を指定する様子を例示する図である。
【図１０】ノート図形をドラッグしたときの処理を例示する図である。
【図１１】ノート図形を音高軸方向にドラッグしたときの処理を例示する図である。
【発明を実施するための最良の形態】
【００１２】
１．構成
図１は、一実施形態に係る音声合成装置１の機能構成を示すブロック図である。音声合成装置１は、文字列および音符列を含む楽譜データに基づいて音声を合成し、合成された音声を出力する装置である。音声合成装置１は、大別すると、楽譜データを編集する機能と、楽譜データに基づいて音声を合成する機能とを有する。より詳細には、音声合成装置１は、記憶手段１１と、表示制御手段１２と、表示手段１３と、取得手段１４と、割り当て手段１５と、音声合成手段１６と、確認音出力手段１７と、音声出力手段１８とを有する。記憶手段１１は、素片ライブラリと、歌詞（文字列）と、楽譜データとを記憶する。楽譜データは、複数の音符の各々について、その音符の発音期間の始期、音高、および音長、並びに文字列のうちその音符に割り当てられた文字を含む属性を有する。表示制御手段１２は、音高を表す第１軸および時間を表す第２軸を有する座標系に従って、複数の音符の各々の発音期間の始期、音高、および音長を表す図形を表示手段１３の画面に表示させる。表示手段１３は、表示制御手段１２の制御下で画像を表示する。取得手段１４は、表示される画面において指定された、新たな音符の音高および発音期間の始期を取得する。割り当て手段１５は、取得手段１４により取得された発音期間の始期と、記憶手段１１に記憶されている複数の音符の発音期間の始期との前後関係に基づいて、記憶手段１１に記憶されている文字列の一部を新たな音符に割り当てるように記憶手段１１に記憶されている属性を書き替える。音声合成手段１６は、割り当て手段１５により新たな音符に割り当てられた文字列および取得手段１４により取得された音高に応じた音声を確認音として合成する。確認音出力手段１７は、音声合成手段１６により合成された確認音を、取得手段１４が発音期間の始期を取得したタイミングに応じて、音声出力手段１８から出力させる。音声出力手段１８は、音声を出力する。
【００１３】
図２は、素片ライブラリを例示する図である。素片ライブラリは、例えば人間の声からサンプリングした音楽素片（歌声の断片）を含むデータベースである。素片ライブラリは、複数の歌唱者の各々に対応した個人別データベースに分かれている。図２に示される例では、素片ライブラリはそれぞれ３人の歌唱者に対応する個人別データベース３０３ａ〜ｃを含んでいる。各歌唱者に対応した個人別データベース３０３には、その歌唱者の歌唱音声波形から採取された素片データが複数含まれている。素片データとは、歌唱音声波形から、音声学的な特徴部分を切り出して符号化した音声データである。
【００１４】
ここで、素片データについて、「さいた」という歌詞を歌唱する場合を例として説明する。「さいた」という歌詞は発音記号で「ｓａｉｔａ」と表される。発音記号「ｓａｉｔａ」で表される音声の波形を特徴により分析すると、「ｓ」の音の立ち上がり部分→「ｓ」の音→「ｓ」の音から「ａ」の音への遷移部分→「ａ」の音・・・と続き、「ａ」の音の減衰部分で終わる。それぞれの素片データは、これらの音声学的な特徴部分に対応する音声データである。
【００１５】
以下の説明において、ある発音記号で表される音の立ち上がり部分に対応する素片データを、その発音記号の前に「＃」を付けて、「＃ｓ」のように表す。また、ある発音記号で表される音の減衰部分に対応する素片データを、その発音記号の後に「＃」を付けて、「ａ＃」のように表す。また、ある発音記号で表される音から他の発音記号で表される音への遷移部分に対応する素片データを、それらの発音記号の間に「−」を入れて、「ｓ−ａ」のように表す。素片ライブラリの素片データ群３０３０には、歌唱者が通常に歌唱した場合の歌唱音声波形から採取された、あらゆる音および音の組み合わせに関する素片データが格納されている。素片データ群３０３１Ｈ〜Ｌには、それぞれ、歌唱者が強いアクセント、中程度のアクセント、および弱いアクセントを付加して歌唱した場合の歌唱音声波形から採取された、あらゆる音および音の組み合わせに関する素片データが格納されている。素片データ群３０３２Ｈ〜Ｌには、それぞれ、歌唱者が強いレガート、中程度のレガート、および弱いレガートを付加して歌唱した場合の歌唱音声波形から採取された、あらゆる音および音の組み合わせに関する素片データが格納されている。
【００１６】
図３は、楽譜データを例示する図である。楽譜データには、歌唱演奏を表すパートデータが、１または複数含まれている。楽譜データには、このパートデータの他に、演奏で用いられる拍子およびテンポを示すデータ、および分解能を示すデータが含まれている。パートデータは、複数の音符のそれぞれにつき、基本属性および付加属性を示すデータの組であるノートデータを含んでいる。基本属性データは、音の発音を指示するにあたり不可欠な属性を示すデータであり、音高、発音期間（発音期間の始期および終期）、および発音記号を含んでいる。付加属性データは、音に対し表情付け等の指示、すなわち音楽的な修飾を与えるためのデータであり、この例では、音符と歌詞との対応関係、音の強さ、アクセントの強さ、レガートの強さ、ビブラートの強さ、ビブラート期間を含んでいる。
【００１７】
次に、音声合成手段１６による音声合成処理の概要を説明する。ここでは、楽譜データに含まれる「ｓａｋｕｒａ」という発音記号列に対する処理を例として説明する。音声合成手段１６は、発音記号列を素片データの単位に分解する。例えば、「ｓａｋｕｒａ」は、「＃ｓ」、「ｓ」、「ｓ−ａ」、「ａ」、「ａ−ｋ」、「ｋ」、「ｋ−ｕ」、「ｕ」、「ｕ−ｒ」、「ｒ」、「ｒ−ａ」、「ａ」、および「ａ＃」に分解される。音声合成手段１６は、分解された発音記号列のそれぞれに対応する素片データを、素片データ群３０３０から読み出す。音声合成手段１６は、読み出した素片データに対し、各音符により示される音高に基づき、音高調整を行う。さらに音声合成手段１６は、素片データに対し、付加属性データに応じた加工を施す。音声合成手段１６は、音高調整を行った素片データに対し、音符列により示される発音期間に基づき、素片の継続時間の調整を施す。音声合成手段１６は、継続時間の調整を行った素片データに対し、音量調節を行う。音声合成手段１６は、音量調節を行った素片データを順番に接合し、合成音声データを生成する。音声合成手段１６は、生成した合成音声データを、記憶手段１１に記憶する。
【００１８】
ユーザが楽曲の再生指示を入力し、取得手段１４がこれを取得すると、音声出力手段１８は、記憶手段１１に記憶されている合成音声データを読み出し、これに応じた音声を出力する。その結果、ユーザは楽譜データにより示される歌唱演奏を聴くことができる。
【００１９】
図４は、音声合成装置１のハードウェア構成を示す図である。この例で、音声合成装置１はコンピュータであり、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、記憶部１０４と、入力部１０５と、表示部１０６と、ＤＡＣ（Digital Analog Converter）１０７と、アンプ１０８と、スピーカ１０９とを有する。ＣＰＵ１０１は汎用的なデータ処理を行うマイクロプロセッサである。ＲＯＭ１０２はＢＩＯＳ（Basic Input/Output System）等の制御用プログラムを格納する不揮発性メモリである。ＲＡＭ１０３はデータを記憶する揮発性メモリである。記憶部１０４は、不揮発性の記憶装置、例えばＨＤＤ（Hard Disk Drive）またはフラッシュメモリである。記憶部１０４は、ＯＳ（Operating System）、アプリケーションプログラム、および各種のデータを記憶する。ＣＰＵ１０１は、ＢＩＯＳ、ＯＳ、またはアプリケーションプログラムに従い、音声合成装置１の他の構成部を制御する。
【００２０】
入力部１０５は、指示またはデータを入力するための装置、例えばタッチパネル（タッチスクリーン）、キーパッド、またはマウスである。表示部１０６は、液晶ディスプレイまたは有機ＥＬ（Electro-Luminescence）ディスプレイ等の表示装置と、表示装置を駆動する駆動回路とを有し、文字および図形等を表示する。ＤＡＣ１０７は、合成音声データ等の音声データを取得し、これをアナログ音声信号に変換する。ＤＡＣ１０７は、アナログ音声信号をアンプ１０８に出力する。アンプ１０８は、アナログ音声信号を増幅し、スピーカ１０９に出力する。スピーカ１０９は、アナログ音声信号に応じた音波を出力する。
【００２１】
この例で、記憶部１０４は、コンピュータを音声合成装置として機能させるためのアプリケーションプログラム（以下このプログラムを「音声合成アプリケーション」という）を記憶している。ＣＰＵ１０１がこの音声合成アプリケーションを実行することにより、音声合成装置１に図１に示される機能が実装される。音声合成アプリケーションを実行しているＣＰＵ１０１は、表示制御手段１２、取得手段１４、割り当て手段１５、音声合成手段１６、および確認音出力手段１７の一例である。ＲＯＭ１０２、ＲＡＭ１０３、または記憶部１０４は、記憶手段１１の一例である。ＣＰＵ１０１の制御下にある表示部１０６は、表示手段１３の一例である。ＣＰＵ１０１の制御下にあるＤＡＣ１０７、アンプ１０８、およびスピーカ１０９は、音声出力手段１８の一例である。
【００２２】
図５は、音声合成装置１の外観を例示する図である。この例で、音声合成装置１はタッチパネル式の情報表示装置であり、筐体１１０と、タッチパネル１１１とを有する。筐体１１０にはスピーカ１０９およびタッチパネル１１１が設けられている。タッチパネル１１１は、表示装置の画面上に光透過性のタッチセンサが積層された構造を有している。ユーザは、表示されている画像を見ながらタッチパネル１１１に指を触れたり、タッチパネル１１１上を指でなぞったりすることにより、音声合成装置１に対して指示を入力する。すなわち、タッチパネル１１１は、入力部１０５と表示部１０６とを一体としたものである。
【００２３】
２．動作
図６は、音声合成アプリケーションが実行されているときの画面を例示する図である。この画面は、入力ボックス２０１、ウインドウ２０２、ガイド図形２０３、ノート図形２０４、ノート図形２０５、ノート図形２０６、ノート図形２０７、ノート図形２０８、再生ボタン２０９、および停止ボタン２１０を含む。入力ボックス２０１は、歌詞を入力および表示するための領域である。この例では、「あさがくるひるがくるよるがくる」という文字列が歌詞として入力されている。ウインドウ２０２は、音高を表す第１軸（この例では縦軸）および時間を表す第２軸（横軸）を有する座標系に従って、音符列を入力および表示するための領域である。音高軸は、図６において上向きが正方向（音が高くなる）である。時間軸は、図６において右向きが正方向（時間が後になる）である。ガイド図形２０３は、音高を示す図形であり、ウインドウ２０２の音高軸に沿って表示される。この例では、ガイド図形２０３としてピアノの鍵盤を模した図形が用いられる。このことから、ウインドウ２０２を用いた音符列の表示を「ピアノロール表示」という。ガイド図形２０３は、音高を特定する画像（この例では、「Ｃ３」および「Ｃ４」という文字）を含む。ノート図形２０４−２０８は、音符列を構成する各音符を示す図形である。この例でノート図形２０４−２０８は、長方形の形状を有しており、左端が発音期間の始期を、右端が発音期間の終期を示している。ノート図形２０４−２０８の縦方向の位置は音高を示している。ノート図形２０４−２０８の内部には、その音符に割り当てられた文字（歌詞の一部）が表示されている。この例で、ノート図形２０４−２０８が示す音符には、それぞれ、「あ」、「さ」、「が」、「く」、および「る」という文字が割り当てられている。再生ボタン２０９は、ピアノロール表示されている楽曲の再生を指示するためのボタンである。停止ボタン２１０は、楽曲の再生を停止するためのボタンである。
【００２４】
図７は、音声合成装置１の動作を示すフローチャートである。図７のフローは、例えば、音声合成アプリケーションの起動がユーザにより指示されたことを契機として開始する。ステップＳ１００において、ＣＰＵ１０１は、ユーザによるタッチパネル１１１の操作に応じて、歌詞を示す文字列を取得する。すなわち、ユーザは、タッチパネル１１１を操作して歌詞を入力する。ＣＰＵ１０１は、歌詞として取得した文字列を記憶部１０４に記憶する。ここでは、図６に示したように「あさがくるひるがくるよるがくる」という歌詞がユーザにより入力された場合を例として説明する。
【００２５】
ステップＳ１１０において、ＣＰＵ１０１は、新たな音符の入力が検出されたか、すなわち、新たな音符を取得したか判断する。より詳細には、ＣＰＵ１０１は、新たな音符の発音期間の始期を取得したか判断する。新たな音符の始期が入力されたと判断された場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１０１は、処理をステップＳ１２０に移行する。新たな音符の始期が入力されていないと判断された場合（Ｓ１１０：ＮＯ）、ＣＰＵ１０１は、新たな音符の始期が入力されるまで待機する。この例で音声合成装置１はタッチパネル式の情報表示装置であるから、新たな音符の始期の入力はタッチパネル１１１を介して行われる。
【００２６】
図８は、新たな音符を入力する様子を例示する図である。ユーザは、ウインドウ２０２において、新たな音符を追加したい位置、より詳細には、新たな音符の音高および発音期間の始期に相当する位置をタッチすることにより、新たな音符を入力する。図８には、ユーザが、時間軸においてノート図形２０４およびノート図形２０５の間に位置し、音高軸において「Ｄ３」に相当する位置を指Ｆでタッチした例が示されている。このとき、タッチパネル１１１は、ユーザがタッチした位置を示す信号をＣＰＵ１０１に出力する。ＣＰＵ１０１は、ウインドウ２０２内のある位置がタッチされたことがタッチパネル１１１からの信号により示された場合、新たな音符が入力されたと判断する。このときＣＰＵ１０１は、新たな音符を示すノート図形２１１を、ウインドウ２０２内においてユーザがタッチしている位置に応じた位置に表示する。新たな音符のノート図形の時間軸方向の幅は、決められた初期値（例えば四分音符）に設定される。以下、この新たな音符を必要に応じて「処理対象音符」という。
【００２７】
再び図７を参照する。ステップＳ１２０において、ＣＰＵ１０１は、処理対象音符に対して歌詞を割り当てる。詳細には以下のとおりである。まず、ＣＰＵ１０１は、処理対象音符の時間軸上の位置、特に他の音符との前後関係に基づいて、処理対象音符の順番を特定する。図８の例では、処理対象音符の位置がノート図形２０４およびノート図形２０５の間に指定されているので、ＣＰＵ１０１は、処理対象音符が第２音であると特定する。次に、ＣＰＵ１０１は、特定された順番に基づいて、処理対象音符に割り当てるべき文字を決定する。この例で、処理対象音符は第２音なので、ＣＰＵ１０１は、歌詞「あさがくるひるがくるよるがくる」のうち２文字目「さ」を処理対象音符に割り当てる。さらに、ＣＰＵ１０１は、新たな文字の割り当てに伴って、他の音符への文字の割り当てを変更する。処理対象音符が第２音になったので、従前の第２音は第３音となり、以下順番が１つずつ繰り下がる。この例では、ノート図形２０５が示す音に割り当てられる文字が「さ」から「が」に変更される。他の音符についても同様である。ＣＰＵ１０１は、この変更後の、音符と歌詞との対応関係を示すデータをＲＡＭ１０３に記憶する。
【００２８】
ステップＳ１３０において、ＣＰＵ１０１は、確認音を音声合成する。ここで、「確認音」とは、処理対象音符の音高およびその音符に割り当てられた文字に応じて合成された音声をいう。ここでは図８のノート図形２１１（「さ」が割り当てられている）により示される音符が処理の対象となる場合を例として説明する。ＣＰＵ１０１は、この音符に割り当てられた文字を発音記号に変換する。記憶部１０４は平仮名を発音記号に変換するためのデータベースを記憶しており、ＣＰＵ１０１はこのデータベースを参照して変換を行う。この例では、「さ」が「ｓａ」に変換される。ＣＰＵ１０１は、発音記号を素片データの単位に分解する。この例では、「ｓａ」が「＃ｓ」、「ｓ」、「ｓ−ａ」、「ａ」および「ａ＃」に分解される。ＣＰＵ１０１は、分解された発音記号列のそれぞれに対応する素片データを、記憶部１０４に記憶されている素片データベースの素片データ群３０３０から読み出す。ＣＰＵ１０１は、読み出した素片データに対し、音符により示される音高に基づき、音高調整を行う。この例では、音高が「Ｄ３」となるように素片データが調整される。ＣＰＵ１０１は、音高調整を行った素片データに対し、発音期間の初期値（例えば四分音符）に基づき、素片の継続時間を調整する。ＣＰＵ１０１は、継続時間を調整した素片データに対し、音量の調整を行う。ＣＰＵ１０１は、音量を調整した素片データを順番に接合し、確認音を示す確認音データを生成する。ＣＰＵ１０１は、生成した確認音データをＲＡＭ１０３に記憶する。
【００２９】
ステップＳ１４０において、ＣＰＵ１０１は、スピーカ１０９から確認音を出力させる。すなわち、ＣＰＵ１０１は、確認音を出力するように、ＤＡＣ１０７を制御する。ＤＡＣ１０７は、ＲＡＭ１０３から確認音データを読み出し、アナログ音声信号に変換してアンプ１０８に出力する。アンプ１０８は、このアナログ音声信号を増幅してスピーカ１０９に出力する。スピーカ１０９は、このアナログ音声信号に応じた音波を出力する。こうして、スピーカ１０９から「さ」という音声が出力される。この音声は、ノート図形２１１により示される音高に相当する音高と、あらかじめ決められた初期値（例えば四分音符）に相当する発音期間を有する。
【００３０】
この後、発音期間の終期を確定する操作（例えば、タッチしていた指をタッチパネル１１１から離す操作）が検出された場合、ＣＰＵ１０１は、音符列に対する歌詞の割り当てを確定する。すなわち、ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている、音符と歌詞との対応関係に基づいて、記憶部１０４に記憶されている楽譜データを書き替える。この例では、音高が「Ｄ３」で、発音期間の始期がノート図形２１１により示される時間であり、発音期間の終期が四分音符に相当する時間である音符のデータが、第２音として追加される。さらに、従前の第２音以降の音は順番が繰り下げられ、割り当てられている発音記号も変更される。
【００３１】
このように、音声合成装置１によれば、ユーザがウインドウ２０２をタッチすると、タッチした位置に応じたノート図形が表示される。このとき、タッチした位置およびその音符に割り当てられた文字に応じた確認音が出力される。ユーザは、新たに入力された音符について、音高および割り当てられた文字に応じた音声を容易に確認することができる。
【００３２】
タッチパネル１１１において再生ボタン２０９に相当する位置をユーザがタッチすると、ＣＰＵ１０１は、記憶部１０４に記憶されている楽譜データに従って音声を合成し、合成した音声をスピーカ１０９から出力させる。タッチパネル１１１において停止ボタン２１０に相当する位置をユーザがタッチすると、ＣＰＵ１０１は、音声の再生を停止する。
【００３３】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００３４】
３−１．変形例１
確認音の音長は、ユーザの操作に応じて動的に決められてもよい。上述の実施形態では、確認音の音長はあらかじめ決められた値（四分音符）に設定された。しかし、確認音は、ユーザがタッチパネル１１１にタッチし続けている間、継続的に出力されてもよい。ここでは実施形態と同様に、図８のノート図形２１１（「さ」が割り当てられている）により示される音符が処理の対象となる場合を例として説明する。発音記号への変換、発音記号の分解、素片データの読み出し、音高調整、継続時間の調整、および音量調整については既に説明したとおりである。次に、ＣＰＵ１０１は、素片データを接合して確認音データを生成する。この例では、ＣＰＵ１０１は、素片データのうち、順番が最後の素片データは含めず、確認音データを生成する。「＃ｓ」、「ｓ」、「ｓ−ａ」、「ａ」および「ａ＃」の素片データのうち、確認音データは、「＃ｓ」、「ｓ」、「ｓ−ａ」、および「ａ」を含み、「ａ＃」は含まない。ＣＰＵ１０１は、生成した確認音データをＲＡＭ１０３に書き込む。
【００３５】
この例において、ＣＰＵ１０１は、あらかじめ決められた時間間隔でタッチパネル１１１からの信号を監視している。タッチパネル１１１がタッチされていることが検出されている間、ＣＰＵ１０１は、順番が最後から２番目の素片データ、この例では「ａ」の素片データを、引き続き出力される確認音データとして、繰り返しＲＡＭ１０３に書き込む。ユーザがタッチパネル１１１をタッチし続けている間、「ａ」の素片データが繰り返し書き込まれ続けるので、スピーカ１０９からは、「さーーーー」というように長音が発せられる。ユーザがタッチパネル１１１から指を離す等、終了条件が満たされると、ＣＰＵ１０１は、順番が最後の素片データ、この例では「ａ＃」の素片データを、次に出力される確認音データとしてＲＡＭ１０３に書き込む。すなわち、ユーザがタッチパネル１１１から指を離すと、「さーーーー」という音声の出力が停止する。
【００３６】
３−２．変形例２
変形例１の別の例として、ユーザがタッチパネル１１１をタッチし続けている間、あらかじめ決められた音長（例えば四分音符）の確認音が、繰り返し出力されてもよい。この場合、ユーザがタッチパネル１１１をタッチし続けている間、スピーカ１０９からは、「ささささささ」というように、確認音が繰り返し出力される。
【００３７】
３−３．変形例３
確認音を出力するタイミングは、実施形態で説明したものに限定されない。上述の実施形態では、ユーザがタッチパネル１１１に触ったときに、すなわち、処理対象音符の発音期間の始期が指定されたときに、確認音が出力された。しかし、確認音は、これとは異なるタイミング、たとえば、処理対象音符の発音期間の終期が指定されたときに出力されてもよい。
【００３８】
図９は、処理対象音符について発音期間の終期を指定する様子を例示する図である。この例では、処理対象音符が生成された後、指をタッチパネル１１１にタッチしたままの状態で横に動かす（いわゆる「ドラッグ」する）と、指でタッチした軌跡に応じて、ノート図形が変化する。この例では、発音期間の始期が固定されたまま、発音期間の終期がドラッグに応じて変化する。すなわち、ＣＰＵ１０１は、処理対象音符の入力を検出した後は、タッチされている部分の軌跡に応じて発音期間の終期を変化させ、その変化に応じたノート図形を表示する。図９には、図８の状態からノート図形２１１を右方向（時間軸正方向）にドラッグした様子が例示されている。この場合、指の軌跡に応じて、ノート図形２１１は時間軸方向に伸びている。ユーザがタッチパネル１１１から指を離すと、音符の長さが確定する。すなわち、ＣＰＵ１０１は、ユーザの指がタッチパネルから離れたことを検出すると、処理対象音符の音長を確定する。音長が確定した後で、ＣＰＵ１０１は、音声合成をして確認音データを生成し、生成した確認音データをＲＡＭ１０３に書き込む。
【００３９】
この例では、音長が確定した後で、確認音が出力される。したがって、ユーザは、新たに入力した音符について、音高、音長および割り当てられた文字に応じた音声を容易に確認することができる。なお、発音期間の終期が確定する前に始期が確定しているから、音長が確定した後で確認音を出力する場合も、「発音期間の始期を取得したタイミングに応じて」確認音を出力しているといえる。
【００４０】
３−４．変形例４
ユーザがノート図形をドラッグしたときの処理は、変形例２で説明したものに限定されない。この例では、ノート図形をドラッグすると、音長が一定のまま、発音期間の始期がドラッグに応じて変化する。すなわち、ＣＰＵ１０１は、処理対象音符の入力を検出した後は、タッチされている部分の軌跡に応じて発音期間の始期を変化させ、その変化に応じたノート図形を表示する。音長を一定に保つため、ＣＰＵ１０１は、発音期間の始期の変化に応じて終期も変化させる。始期は、あらかじめ決められた解像度（例えば八分音符）を単位として変化する。ＣＰＵ１０１は、発音期間の始期が変化するたびに、他の音との時間軸方向の位置関係を確認し、必要に応じて歌詞の割り当てを変更する。
【００４１】
図１０は、変形例４に係る、ノート図形をドラッグしたときの処理を例示する図である。図１０には、図８の状態からノート図形２１１を右方向（時間軸正方向）にドラッグした様子が例示されている。この場合、ＣＰＵ１０１は、ノート図形２１１を基準として、移動方向（時間軸正方向）において次に登場する音符を監視対象音符として特定する。図８の状態から右方向に移動を開始した直後においては、ノート図形２０５により示される音符が、監視対象音符として特定される。ＣＰＵ１０１は、処理対象音符の発音期間の始期が、監視対象音符の発音期間の始期以降となったか判断する。処理対象音符の発音期間の始期が、監視対象音符の発音期間の始期以降となったと判断された場合、ＣＰＵ１０１は、処理対象音符と監視対象音符との間で、割り当てられている文字を入れ替える。図１０には、ノート図形２１１がノート図形２０５よりも後ろに移動され、図８の状態から、ノート図形２１１およびノート図形２０５に割り当てられている文字が入れ替わっている様子が示されている。ユーザがタッチパネル１１１から指を離すと、発音期間の始期および割り当てられる文字が確定する。すなわち、ＣＰＵ１０１は、ユーザの指がタッチパネルから離れたことを検出すると、割り当てられる文字を確定する。割り当てられる文字が確定した後で、ＣＰＵ１０１は、音声合成をして確認音データの生成を行い、生成した確認音データをＲＡＭ１０３に書き込む。
【００４２】
この例では、発音期間の始期を移動可能な構成において、始期が確定した後で、確認音が出力される。したがって、ユーザは、新たに入力した音符について、音高および割り当てられた文字に応じた音声を容易に確認することができる。
【００４３】
３−５．変形例５
ノート図形をドラッグできる方向は、時間軸方向に限定されない。この例では、ノート図形を音高軸方向にドラッグすると、音長が一定のまま、音高がドラッグに応じて変化する。すなわち、ＣＰＵ１０１は、処理対象音符の入力を検出した後は、タッチされている部分の軌跡に応じて音高を変化させ、その変化に応じたノート図形を表示する。音高軸方向のドラッグの間、発音期間の始期および音長は一定に保たれる。
【００４４】
図１１は、ノート図形を音高軸方向にドラッグしたときの処理を例示する図である。図１１には、図８の状態からノート図形２１１を上方向（音高軸正方向）にドラッグした様子が例示されている。図１１には、ノート図形２１１が高音側に移動され、図８の状態から、音高が「Ｄ３」から「Ｅ３」に変化した様子が示されている。ユーザがタッチパネル１１１から指を離すと、音高が確定する。すなわち、ＣＰＵ１０１は、ユーザの指がタッチパネルから離れたことを検出すると、音高を確定する。この間、変形例１で説明したように、ユーザがタッチパネル１１１に触れている間は確認音が出力され続ける。すなわち、ＣＰＵ１０１は、音高が変化するたびに、既に読み出されている素片データについて、音高調整、継続時間の調整、および確認音データの生成を行い、生成した確認音データをＲＡＭ１０３に書き込む。この例によれば、ユーザが音高「Ｄ３」に相当する位置をタッチし、指をタッチしたまま音高を「Ｄ３」から「Ｄ＃３」へ、さらに「Ｄ＃３」から「Ｅ３」へとドラッグすると、音高が「Ｄ３」から「Ｄ＃３」に変わったタイミングで音高「Ｄ＃３」に相当する確認音が出力され、さらに音高が「Ｄ＃３」から「Ｅ３」に変わったタイミングで音高「Ｅ３」に相当する確認音が出力される。別の例で、変形例２で説明したように確認音がある単位で繰り返し出力され、その音高が、ドラッグに応じて変化してもよい。
【００４５】
３−６．変形例６
処理対象音符の発音期間の始期および終期を指定する方法は、実施形態で説明したものに限定されない。タッチパネル１１１が複数の位置を同時に検出可能な、いわゆるマルチタッチ可能な装置である場合、２本の指を用いて発音期間の始期および終期が同時に指定されてもよい。この場合、ＣＰＵ１０１は、タッチパネル１１１から２点の座標を取得する。ＣＰＵ１０１は、取得した２つの座標のうち、小さい時間軸座標を有する点を始期として、大きい時間軸座標を有する点を終期として処理をする。ユーザがタッチパネル１１１から指を離すと、発音期間の始期および終期が確定する。この場合、ＣＰＵ１０１は、変形例１および変形例２のようにタッチを検出している間は継続的に確認音を出力してもよいし、変形例３および変形例４のように発音期間の始期および終期が確定した後で確認音を出力してもよい。例えば、ユーザがまず人差し指（第１の指）をタッチして発音期間の始期を入力し、その後、中指（第２の指）をタッチして発音期間の終期を入力する場合、ＣＰＵ１０１は、人指し指のタッチを検出したタイミングで確認音を出力してもよいし、中指のタッチを検出したタイミングで確認音を出力してもよい。人指し指のタッチを検出したタイミングで確認音を出力する場合、ＣＰＵ１０１は、中指のタッチを検出したタイミングで確認音の出力を停止してもよいし、中指のタッチを検出した後も確認音の出力を継続してもよい。中指のタッチを検出した後も確認音の出力を継続する場合、ＣＰＵ１０１は、人指し指または中指のタッチを検出しなくなったタイミングで確認音の出力を停止してもよい。
【００４６】
３−７．変形例７
確認音として出力される音声は、実施形態で説明したものに限定されない。処理対象音符を含む複数の音符およびこれらに割り当てられている文字列に応じた音声が、確認音として合成され出力されてもよい。例えば、ＣＰＵ１０１は、処理対象音符を基準として前後ある数の音符（例えば前後１音ずつ）の音符列を用いて、確認音データを生成する。例えば図８において、ノート図形２１１が処理対象音符として入力されると、ＣＰＵ１０１は、前後１音を含めた計３音（「あ」、「さ」、および「が」）の確認音データを生成する。この場合、スピーカ１０９から「あさが」という音声が出力され、ユーザは、前後の音符との関係も含めて、新たに入力した音符について、音高および割り当てられた文字に応じた音声を容易に確認することができる。歌唱合成の確認においては、前後の音との繋がりを確認することが重要である。例えば、歌詞「さ」が割り当てられた処理対象音符一音のみを確認音として出力する場合、「＃ｓ」、「ｓ」、「ｓ−ａ」、「ａ」、および「ａ＃」の素片データが用いられるが、実際の曲を再生するときには「＃ｓ」および「ａ＃」の素片データに変わって、前後の歌詞との組み合わせに対応する素片データが用いられる。このため、本変形例のように、処理対象音符を含む複数の音符列を用いて確認音を生成することにより、より正確な合成音を確認することができる。
【００４７】
３−８．変形例８
処理対象音符の音高および発音期間の始期を指定する方法、すなわち入力インターフェースは、実施形態で説明したものに限定されない。例えば、図６のピアノロール表示において、ユーザはガイド図形２０３をタッチすることにより音高を指定し、そのままウインドウ２０２までドラッグして発音期間の始期を指定してもよい。また、ガイド図形２０３は、ピアノの鍵盤を模した図形に限定されない。音高を示すものであれば、どのような図形が用いられてもよい。
【００４８】
３−９．変形例９
上述の実施形態において新たな音符が処理対象音符となる例を説明したが、処理対象音符は新たな音符に限定されない。既に入力済みの音符が処理対象音符として処理されてもよい。例えば図６の例で、ノート図形２０５に相当する位置へのタッチが検出された場合、ＣＰＵ１０１は、ノート図形２０５が示す音符を処理対象音符として確認音を生成してもよい。この場合、処理対象音符の音長は確定しているので、ＣＰＵ１０１は、楽譜データに記録されている音長により示される長さの確認音を合成および出力する。あるいは別の例で、入力済みの音符を編集する編集モードで音声合成装置１が動作している場合において、音長が確定していないものとして、実施形態または変形例で説明したように確認音が合成および出力されてもよい。より詳細には、編集モードにおいて発音期間の終期をドラッグにより変更可能な場合に、実施形態で説明したようにタッチが検出されたタイミングで確認音を出力してもよいし、発音期間の終期が確定した後で確認音を出力してもよい。タッチが検出されたタイミングで確認音を出力する場合には、決められた音長の確認音が出力されてもよいし、タッチが検出されなくなるまで確認音が継続して出力され続けてもよい。
【００４９】
３−１０．他の変形例
音声合成装置１は、タッチパネル１１１を有していなくてもよい。例えば、音声合成装置１は、入力部１０５としてマウス、キーパッド、またはペンタブレットを有していてもよい。また、音声合成装置１は、タッチパネル式の情報表示装置に限定されない。音声合成装置１は、パーソナルコンピュータ、携帯電話機、携帯ゲーム機、携帯音楽プレーヤ、または電子ブックリーダであってもよい。
【００５０】
音声合成装置１のハードウェア構成は、図４で説明したものに限定されない。図１に示される機能を実装できるものであれば、音声合成装置１はどのようなハードウェア構成を有していてもよい。例えば、音声合成装置１は、図１に示される機能要素の各々に対応する専用のハードウェア（回路）を有していてもよい。別の例で、図４で例示した音声合成装置１のハードウェア構成要素の一部は、いわゆる外付けの装置であってもよい。例えば、表示部１０６またはスピーカ１０９は外付けの装置であってもよい。
【００５１】
文字列は平仮名に限定されない。アルファベットまたは発音記号等が、歌詞を示す文字列として用いられてもよい。
ピアノロール表示においてノート図形内に表示される文字は実施形態で説明したものに限定されない。歌詞の一部である平仮名に加え、対応する発音記号が併せて表示されてもよい。
楽譜データの構造は、図３で例示したものに限定されない。音符と歌詞との対応関係、および音符の属性を特定できるものであれば、どのような構造のデータが用いられてもよい。また、実施形態において歌詞（文字列）と楽譜データとが別のデータセットである例を説明したが、歌詞は楽譜データの一部であってもよい。
音声合成処理の詳細は、実施形態で説明したものに限定されない。音符と発音記号（文字）とが与えられたときに、その音符および発音記号に応じた音声を合成するものであれば、どのような処理が用いられてもよい。
確認音を合成および出力する機能は、ユーザの指示によりオン・オフが切り替えられてもよい。
【００５２】
上述の実施形態で説明した音声合成プログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【符号の説明】
【００５３】
１…音声合成装置、１１…記憶手段、１２…表示制御手段、１３…表示手段、１４…取得手段、１５…割り当て手段、１６…音声合成手段、１７…確認音出力手段、１８…音声出力手段、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…記憶部、１０５…入力部、１０６…表示部、１０７…ＤＡＣ、１０８…アンプ、１０９…スピーカ、１１０…筐体、１１１…タッチパネル、２０１…入力ボックス、２０２…ウインドウ、２０３…ガイド図形、２０４…ノート図形、２０５…ノート図形、２０６…ノート図形、２０７…ノート図形、２０８…ノート図形、２０９…再生ボタン、２１０…停止ボタン、２１１…ノート図形、３０３…個人別データベース、３０３０…素片データ群
【図１】
0005549521.tif 000002
【図２】
0005549521.tif 000003
【図３】
0005549521.tif 000004
【図４】
0005549521.tif 000005
【図５】
0005549521.tif 000006
【図６】
0005549521.tif 000007
【図７】
0005549521.tif 000008
【図８】
0005549521.tif 000009
【図９】
0005549521.tif 000010
【図１０】
0005549521.tif 000011
【図１１】
0005549521.tif 000012