(57)【特許請求の範囲】
【請求項１】
歌唱メロディの楽譜情報を分析し、個々の音符ごとに演奏に関する所定の特徴量を特定する楽譜分析手段と、
前記楽譜分析手段により特定した特徴量に基づき、個々の音符ごとにその特徴量に応じた歌詞の音節数をそれぞれ算出する音節数算出手段と、
前記音節数算出手段により算出した各音符の音節数を、前記楽譜情報の演奏順にユーザに対して提示する提示手段とを備えること
を特徴とする歌詞音節数提示装置。
【請求項２】
請求項１に記載の歌詞音節数提示装置において、
前記楽譜分析手段は、それぞれの音符の時間長に基づく特徴量を特定し、
前記音節数算出手段は、前記音符の時間長に基づく特徴量に応じて、その時間長が長いほど音節数が大きくなるように、個々の音符ごとに歌詞の音節数を算出すること
を特徴とする歌詞音節数提示装置。
【請求項３】
請求項１に記載の貸し音節数提示装置において、
前記楽譜分析手段は、それぞれの音符の直前にある休符の時間長に基づく特徴量を特定し、
前記音節数算出手段は、前記休符の時間長に基づく特徴量に応じて、直前の休符の時間長が長いほど音節数が大きくなるように、個々の音符ごとに歌詞の音節数を算出すること
を特徴とする歌詞音節数提示装置。
【請求項４】
請求項１に記載の歌詞音節数提示装置において、
前記楽譜分析手段は、それぞれの音符の直前にある音符との音高差に基づく特徴量を特定し、
前記音節数算出手段は、前記音高差に基づく特徴量に応じて、直前の音符との音高差が小さいほど音節数が大きくなるように、個々の音符ごとに歌詞の音節数を算出すること
を特徴とする歌詞音節数提示装置。
【請求項５】
請求項１に記載の歌詞音節数提示装置において、
前記楽譜分析手段は、歌唱メロディを特定の休符区間ごとに区切ったメロディ区間に区分けし、各メロディ区間を特定するための情報を前記特徴量として特定し、
前記音節数算出手段は、前記メロディ区間に基づく特徴量に応じて、各メロディ区間の最初又は最後の少なくとも何れかの音符に所定の音節数加算分を計上して、個々の音符ごとの歌詞の音節数を算出すること
を特徴とする歌詞音節数提示装置。
【請求項６】
さらに下記の特徴を有する請求項１に記載の歌詞音節数提示装置。
前記楽譜分析手段は、個々の音符に対して、下記（ａ）〜（ｄ）の特徴量のうちの少なくとも２つ以上の特徴量を特定する。
（ａ）その音符の時間長に基づく特徴量。
（ｂ）その音符の直前にある休符の時間長に基づく特徴量。
（ｃ）その音符の直前にある音符との音高差に基づく特徴量。
（ｄ）歌唱メロディを特定の休符区間ごとに区切ったメロディ区間を特定するための特徴量。
前記音節数算出手段は、上記（ａ）〜（ｄ）の特徴量にそれぞれ対応する下記（Ａ）〜（Ｄ）の音節数算出方法のうち、前記楽譜分析手段で特定された複数の特徴量にそれぞれ対応する音節数算出方法で歌詞の音節数指標を算出し、１つの音符について複数算出された音節数指標に対して所定の重み係数を加味して加重平均化した複合音節数指標を算出し、その算出した複合音節数指標を整数に端数処理した複合的な音節数を算出して、その複合的な音節数を当該音符の歌詞の音節数として出力する。
（Ａ）音符の時間長に基づく特徴量（ａ）に応じて、その時間長が長いほど音節数が大きくなるように、個々の音符ごとに音節数指標を算出する。
（Ｂ）休符の時間長に基づく特徴量（ｂ）に応じて、直前の休符の時間長が長いほど多くの音節を割当てるように、個々の音符ごとに音節数指標を算出する。
（Ｃ）音高差に基づく特徴量（ｃ）に応じて、直前の音符との音高差が小さいほど音節数が大きくなるように、個々の音符ごとに音節数指標を算出する。
（Ｄ）メロディ区間に基づく特徴量（ｄ）に応じて、各メロディ区間の最初又は最後の少なくとも何れかの音符に所定の音節数を加算して、個々の音符ごとの歌詞の音節数指標を算出する。
【請求項７】
請求項６に記載の歌詞音節数提示装置において、
前記音節数算出手段が前記加重平均の算出に用いる重み係数をユーザが指定するための指定手段を更に備えること
を特徴とする歌詞音節数提示装置。
【請求項８】
請求項１ないし請求項７の何れか１項に記載の歌詞音節数提示装置において、
前記提示手段は、前記歌唱メロディの楽譜情報に基づいて楽譜を表示すると共に、その表示した楽譜の各音符に対応付けて、それぞれの音符に対して算出された歌詞の音節数を表示すること
を特徴とする歌詞音節数提示装置。
【請求項９】
歌唱メロディの楽譜情報を分析し、個々の音符ごとに演奏に関する所定の特徴量を特定する楽譜分析手順と、
前記楽譜分析手順で特定した特徴量に基づき、個々の音符ごとにその特徴量に応じた歌詞の音節数をそれぞれ算出する音節数算出手順と、
前記音節数算出手順で算出した各音符の音節数を、前記楽譜情報による演奏順にユーザに対して提示する提示手順とを
コンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、歌唱メロディに適した歌詞の音節数を提示する技術に関する。
【背景技術】
【０００２】
従来、予め用意された楽曲に歌詞を割当てる場合、楽譜に含まれる音符１つに対して歌詞の音節（syllable）を１つずつ割当てる手法が知られている。例えば、特許文献１では、ガイドメロディを構成する音に対して、音長に応じた歌詞を対応させていく技術が開示されている。この技術では、ガイドメロディの１音に対して、その音長にあった１つのかな文字（１音節）を割当てるようになっている。
【０００３】
一方、楽曲に対して歌詞の割当てる作業を支援する技術として、特許文献２に記載の歌詞作成装置等が知られている。特許文献２に開示されている技術では、楽譜をピアノロール譜に表示し、音符を示すノートバーに対応する位置に拍数に応じた長さの歌詞の入力セルを表示することで、音符に対応付けて歌詞を割当て易くできるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２０６２１
【特許文献２】特開２００４−２０６１５３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、予め用意された楽曲に対してユーザが作詞をする作業を支援するための装置を提供する場合、特許文献１に記載のように１音につき１音節の歌詞を割当てることしか考慮されていない仕様であると、作詞できる歌詞の音節数がメロディの音符の数に決められてしまうことになる。その結果、音符の数に対して音節数が多い（あるいは少ない）歌詞を割当てることができず、歌詞の表現内容が制限されてしまうといった不便さがある。
【０００６】
一方、特許文献２に記載の技術によれば、音符の位置に対応付けて歌詞を割当て易くなっているものの、１つの音符につき推奨される歌詞の音節数は提示されておらず、１つの音符に対して歌詞の音節をいくつ割当てるのかはユーザ自らが判断する必要がある。しかしながら、作詞に不慣れなユーザにとってメロディの音符数に完全に一致した音節数の歌詞を作成することは難しく、かといって１つの音符に対して複数の音節を割当てようとしても、どの音符にどれだけの数の音節を割当てれば歌い易い歌詞になるのかを判断することも難しい。また、１音符に対して無暗に多くの音節を割当てしまうことで、メロディに合わない歌唱しづらい歌詞になってしまうことも考えられる。
【０００７】
本発明は、上記問題を解決するためになされたものであり、既定の歌唱メロディに合った歌詞の音節数をユーザに対して提示するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明の歌詞音節数提示装置は、楽譜分析手段と、音節数算出手段と、提示手段とを備えることを特徴とする。このうち、楽譜分析手段は、歌唱メロディの楽譜情報を分析し、個々の音符ごとに演奏に関する所定の特徴量を特定する。音節数算出手段は、楽譜分析手段により特定した特徴量に基づき、個々の音符ごとにその特徴量に応じた歌詞の音節数をそれぞれ算出する。提示手段は、音節数算出手段により算出した各音符の音節数を、楽譜情報の演奏順にユーザに対して提示する。
【０００９】
なお、ここでいう音節とは、言語において通常一まとまりの音として意識され、発音される単位のことを指しており、日本語であれば仮名１字が１音節に相当する。
本発明の歌詞音節数提示装置によれば、歌唱メロディの特徴から算出した音符単位の歌詞の音節数をユーザに提示することで、ユーザの作詞作業を支援することができる。これにより、ユーザは、提示された音節数を参考にして歌唱メロディに合った歌詞を作成することができる。特に、音符単位で歌詞の音節数が提示されるため、作詞に不慣れなユーザにとって有力な支援となる。また、楽譜情報から分析した特徴に基づいて、１音符に対して複数の音節を割当てることも可能になり、従来のように１音符につき１音節を割当てるだけの歌詞の割当て方法に比べて、表現力の高い歌詞の作成が可能となる。
【００１０】
ところで、歌唱メロディの特徴から歌詞の音節数を特定するにあたっては、歌詞の歌い易さを基準にして１音符に割当てる音節数の多少を決定することが考えられる。具体的には、歌唱メロディの中で局所的に歌い易い部分があれば、その部分では１音符につき複数の音節を割当て、歌い難い部分では１音符につき１音節のみを割当てるようにすることで、歌い易い歌詞を作成できる。
【００１１】
そして、歌唱メロディの局所的な歌い易さは、その歌唱メロディを構成する音符の長さ（時間長）、音符の直前の休符の長さ（時間長）、直前の音符との音高差、あるいは歌唱メロディの区切りの有無といった様々な特徴が関係しているものと考えられる。そこで、歌唱メロディの楽譜情報を分析して、局所的な歌い易さの指標となるこれらの特徴量に基づいて音節数を決定することで、歌唱し易い歌詞の音節数を的確に算出できる。以下、その具体的内容について説明する。
【００１２】
（音符の時間長に応じて音節数を特定する場合）
歌唱メロディにおいて、音符の時間長が比較的長い箇所であれば、歌詞の発音に要する時間に余裕があるため、歌詞音節が多めに割当てられていても無理なく歌唱できると考えられる。そこで、音符の時間長に関する特徴に基づいて音節数を決定するように構成することで、歌唱し易い歌詞の音節数を的確に算出できる。具体的には、請求項２に記載のように、それぞれの音符の時間長に基づく特徴量を特定し、その特徴量に応じて、時間長が長いほど音節数が大きくなるように、個々の音符ごとに歌詞の音節数を算出するように構成するとよい。
【００１３】
なお、ここでいう音符の時間長に基づく特徴量とは、例えば、その音符の絶対的な時間長を示す値や、同じ歌唱メロディ内の他の音符との相対的な時間長の比を示す値等、音符の時間長に関する様々な指標を指す。
【００１４】
また、音符の時間長に基づく特徴量に応じて歌詞の音節数を決定するにあたっては、例えば、前の音符の時間長との比や、その歌唱メロディ内で最長の音符長との比に応じて相対的に決定してもよいし、その音符の絶対的な時間長に比例するように音節数を決定してもよい。
【００１５】
（音符の直前にある休符の時間長に応じて音節数を特定する場合）
歌唱メロディにおいて、音符と音符の間にある休符の時間長が長い程、前の音符に対応する歌詞を発音してから次の音符に対応する歌詞を発音するまでに時間的な余裕があるため、後の音符に対応する歌詞の発音が容易になっていると考えられる。つまり、音符の直前にある休符の時間長が比較的長い箇所であれば、その音符に歌詞音節が多めに割当てられていても無理なく歌えると考えられる。
【００１６】
そこで、音符の直前にある休符の時間長に関する特徴に基づいて音節数を決定するように構成することで、歌唱し易い歌詞の音節数を的確に算出できる。具体的には、請求項３に記載のように、それぞれの音符の直前にある休符の時間長に基づく特徴量を特定し、その特徴量に応じて、直前の休符の時間長が長いほど音節数が大きくなるように、個々の音符ごとに歌詞の音節数を算出するように構成するとよい。なお、ここでいう音符の直前にある休符の時間長に基づく特徴量とは、例えば、その休符の時間長を示す値等の指標を指す。
【００１７】
（直前の音符との音高差に応じて音節数を特定する場合）
歌唱メロディにおいて、連続する音符の間の音高差が大きい箇所では歌唱時に音程を切り換えるのが難しい。そのため、前の音符との音高差が大きい音符に相当する歌詞は歌い難く、そのような箇所に多くの歌詞音節を割当てると結果的に歌い難い歌詞なってしまう。逆に、前の音符との音高差が小さい箇所であれば、その音符に歌詞音節が多めに割当てられていても無理なく歌えると考えられる。
【００１８】
そこで、直前の音符との音高差に関する特徴に基づいて音節数を決定するように構成することで、歌唱し易い歌詞の音節数を的確に算出できる。具体的には、請求項４に記載のように、それぞれの音符の直前にある音符との音高差に基づく特徴量を特定し、その特徴量に応じて、直前の音符との音高差が小さいほど音節数が大きくなるように、個々の音符ごとに歌詞の音節数を算出するように構成するとよい。なお、ここでいう直前にある音符との音高差に基づく特徴量とは、例えば、その音符の直前にある音符との音高の差を示す値等の指標を指す。
【００１９】
（歌唱メロディの区分け構造に応じて音節数を特定する場合）
日本の歌謡曲等では、いわゆるＡメロ、Ｂメロ、サビといった具合に、１つの楽曲が複数の区間のメロディに分けられている構造を持つものが多い。このような区分け構造を持つ楽曲の場合、各区間の間には歌唱の伴わない間奏が挟まれていることが多い。また、１つの区間内にも、演出上歌唱の伴わない間奏時間が挿入されることもある。このように、楽曲において歌唱の伴わない間奏時間がある場合、歌唱パートのメロディにおいてはその間奏時間は長い休符区間となる。
【００２０】
歌唱メロディにおいて、区分け構造に係る長い休符区間（間奏区間）がある場合、休符区間開けの最初の音符については、歌詞を発音する事前に十分な準備期間があるため、歌詞の発音が容易になっていると考えられる。また、区分け構造に係る長い休符区間が始まる直前の音符については、次に発声をするまでに時間が空いているため、歌詞の発音が容易になっていると考えられる。つまり、間奏に相当するような十分に長い休符区間の直前や直後にある音符であれば、歌詞音節が多めに割当てられていても無理なく歌えると考えられる。
【００２１】
そこで、歌唱メロディの区分け構造に関する特徴に基づいて音節数を決定するように構成することで、歌唱し易い歌詞の音節数を的確に算出できる。具体的には、請求項５に記載のように、歌唱メロディを特定の休符区間ごとに区切ったメロディ区間に区分けして、各メロディ区間を特定するための情報を特徴量として特定し、その特徴量に応じて、各メロディ区間の最初又は最後の少なくとも何れかの音符に所定の音節数加算分を計上して、個々の音符ごとの歌詞の音節数を算出するように構成するとよい。
【００２２】
（複数の音節数算出方法から総合的に決定する場合）
以上までで、音符の長さ、音符の直前の休符の長さ、直前の音符との音高差、及び歌唱メロディの区切りの有無といった、それぞれ異なる特徴量を用いて歌詞の音節数を算出する事例について説明した。これらの各種特徴量は内容こそ違うものの、歌唱メロディの局所的な歌い易さを示す指標であることについては共通しているため、これら複数の特徴量に基づいてそれぞれ算出した音節数指標（この値が大きいほど割当てる音節数が大きくなるという指標）から、最終的にユーザに対して提示する音節数を複合的に決定するように構成してもよい（請求項６）。
【００２３】
なお、請求項６に記載の（ａ）〜（ｄ）の各特徴量については、全てを採用して複合的な音節数を特定してもよいし、一部（２つ以上であればよい）のみを採用して複合的な音節数を特定してもよい。また、１つの音符について異なる特徴量に基づいて複数算出した音節数指標に対しては、所定の重み係数を加味して加重平均値を算出してやればよい。このとき、より重要な特徴量に基づいて算出された音節数指標に対しては、より大きな重み係数を割当てるようになっているとよい。
【００２４】
さらに、請求項７に記載のように、音節数指標の加重平均の算出に用いる重み係数をユーザが指定できるようになっていると、ユーザの作詞意図に沿った音節数を提示できるようになり好適である。
【００２５】
つぎに、請求項８に記載の歌詞音節数提示装置は、歌唱メロディの楽譜情報に基づいて楽譜を表示すると共に、その表示した楽譜の各音符に対応付けて、それぞれの音符に対して算出された歌詞の音節数を表示する。このように構成することで、出力結果を見るユーザにとって、楽譜の音符とその音符に割当てられた歌詞の音節数との対応付けが一目瞭然となり、便利である。
【００２６】
なお、本発明は、コンピュータに実行させるプログラムとして構成されたものであってもよい。その場合、本発明のプログラムは、歌唱メロディの楽譜情報を分析し、個々の音符ごとに演奏に関する所定の特徴量を特定する楽譜分析手順と、楽譜分析手順で特定した特徴量に基づき、個々の音符ごとにその特徴量に応じた歌詞の音節数をそれぞれ算出する音節数算出手順と、音節数算出手順で算出した各音符の音節数を、楽譜情報による演奏順にユーザに対して提示する提示手順とをコンピュータに実行させるような構成になっていればよい（請求項９）。
【００２７】
このように構成されたプログラムを様々な記憶媒体に記録し、これをコンピュータ装置で実行させることで、そのコンピュータ装置を請求項１に記載の歌詞音節数提示装置として機能させることができる。
【図面の簡単な説明】
【００２８】
【図１】歌詞音節数提示装置の概略構成を示すブロック図である。
【図２】音節数提示処理の手順を示すフローチャートである。
【図３】歌唱メロディの構成を示す説明図である。
【図４】音符に付与した区間フラグの系列を示す説明図である。
【図５】歌詞音節数の表示例１，２を示す説明図である。
【図６】歌詞音節数の表示例３を示す説明図である。
【図７】歌詞音節数の表示例４を示す説明図である。
【発明を実施するための形態】
【００２９】
以下、本発明の一実施形態を図面に基づいて説明する。
［歌詞音節数提示装置の構成の説明］
まず、実施形態の歌詞音節数提示装置１の概略構成について、図１を参照しながら説明する。歌詞音節数提示装置１は、記憶部１１と、メロディデータ入力部１２と、表示部１３と、操作受付部１４と、制御部１５とを備えている。
【００３０】
記憶部１１は、歌詞音節数提示装置１が動作するために必要な各種データやプログラムを記憶するための記憶装置（例えば、ハードディスクドライブ）である。メロディデータ入力部１２は、歌詞音節数提示装置１による処理対象となる歌唱メロディの楽譜情報を制御部１５へ入力するための入力インタフェースである。具体的には、歌唱メロディの楽譜情報を記憶した可搬型記憶媒体（例えば、光ディスクやフラッシュメモリ等）からデータを読み取る入力装置や、ネットワークを介して通信可能に接続された外部の情報処理装置から歌唱メロディの楽譜情報をダウンロードする入力装置等で構成される。
【００３１】
表示部１３は、ユーザに対して画像により情報を提示するための表示装置であり、例えば液晶ディスプレイ等が用いられる。操作受付部１４は、ユーザからの指示を入力するための入力装置であり、例えば、キーボードやポインティングデバイス等が用いられる。
【００３２】
制御部１５は、ＲＯＭ１５ａ、ＲＡＭ１５ｂ、ＣＰＵ１５ｃ及びこれらの構成を接続するバスライン等を中心に構成されたコンピュータ装置であり、ＲＯＭ１５ａや記憶部１１に記憶されたプログラムに従って各種演算処理を行い、歌詞音節数提示装置１の各部構成を制御する。本実施形態では、制御部１５は、メロディデータ入力部１２を介して入力された歌詞メロディの楽譜情報を分析し、その分析結果に基づいて推奨する歌詞の音節数を音符単位で算出し、その算出結果を表示部１３に表示する処理（以下、音節数提示処理と称する）を実行する。この音節数提示処理の詳細な内容については後述する。
【００３３】
［音節数提示処理の説明］
つぎに、制御部１５が実行する音節数提示処理の手順について、図２のフローチャートに基づいて説明する。
【００３４】
制御部１５は、まず、音節数提示処理による処理対象となる歌唱メロディの楽譜情報を読み込み、歌唱メロディの分析に必要な各種データを取得する（Ｓ０１０）。
なお、本実施形態では、処理対象とする楽譜情報としてＭＩＤＩ（Musical Instrument Digital Interface）形式のデータを想定している。ＭＩＤＩ形式の楽譜情報では、楽曲のメロディ（ここでは、歌唱パートのメロディ）を形成する各構成音の音符として、それぞれの音高（ノートナンバー）及び時間長が示されている。音符の時間長（以下、音符長とも称する）は、楽音出力開始（Note-on）タイミングと楽音出力終了（Note-off）タイミングとによって表される。なお、Note-onタイミングは、楽曲の演奏開始からその音の出力が開始するまでの時間であり、Note-offタイミングは、楽曲の演奏開始からその音の出力が終了するまでの時間である。
【００３５】
また、本実施形態では、処理対象の歌唱メロディが所定の規則性を持った区分け構造を有することを想定している。具体的には、図３（ａ）に示すとおり、楽曲の開始から終了までに、Ａメロ，Ｂメロ、サビ１，２といったメロディ区間が何度か繰り返されるようになっている。ちなみに、このような演奏形式は、多少のバリエーションを含め、日本の歌謡曲等において多く見られる。
【００３６】
本実施形態では、上述のＡメロ，Ｂメロ、サビ１，２といった楽曲全体を区分けした大局構造を大区間と定義する。一般的に、大区間同士の間は歌唱を伴わない間奏期間になっており、この間奏期間は歌唱メロディにおいては無音区間となっている。
【００３７】
さらに、図３（ｂ）に示すように、１つの大区間が複数の小規模のメロディ区間に区分けされている構成も想定している。本実施形態では、大区間を更に区分けした小規模の音符群を小区間と定義する。小区間同士の間には、大区間の間にある間奏区間より小規模な間奏期間があり、この間奏期間は歌唱メロディにおいては無音区間となっている。
【００３８】
図３（ｃ）は、歌唱メロディの小区間内における楽譜情報を、ピアノロール形式で模式的に表したものである。このピアノロール譜は、縦軸がピアノの鍵盤に見立てた音階を表し、横軸が時間を表し、音符をその時間長に応じた長さを持つノートバーで表す表示形式である。
【００３９】
図３（ｃ）に示すとおり、楽譜情報における各音符には、演奏順序を示すインデックス番号ｋが割当てられている。ｋは、楽曲の最初の音符から順に全ての音符に割当てられた順序数｛１，２，３，…，Ｋ0（Ｋ0は楽曲の全音符数）｝を示す変数である。また、インデックス番号ｋに該当する音符のノートナンバー（音高）をＮＮ（ｋ）、Note-onタイミングをＯＮ（ｋ）、Note-offタイミングをＯＦＦ（ｋ）とする。
【００４０】
すなわち、音節数提示処理のＳ０１０では、歌唱メロディの楽譜情報（ＭＩＤＩデータ）から、各音符のノートナンバーＮＮ（ｋ）、Note-onタイミングＯＮ（ｋ）、Note-offタイミングＯＦＦ（ｋ）のデータを取得する。
【００４１】
図２のフローチャートの説明に戻る。つぎに、Ｓ０１０で取得したノートナンバーＮＮ（ｋ）、Note-onタイミングＯＮ（ｋ）、Note-offタイミングＯＦＦ（ｋ）のデータに基づき、（１）の曲構造解析block及び（２）の音符解析blockの各ブロックで歌唱メロディの特徴を解析し、その解析結果に基づいて、（３）の音節数推定blockで音符ごとに推奨する歌詞の音節数を算出する。以下、上記（１）〜（３）の各blockの処理内容について説明する。
【００４２】
（１）曲構造解析blockについて
（１−１）大区間推定
Ｓ１１０では、歌唱メロディにおける大区間の区分け構造を特定する。それには、まず、隣接する２つの音符のNote-onタイミング及びNote-offタイミングから、各音符の隣接無音時間長ＮＭＬ（ｋ）を次式により算出する。
ＮＭＬ（ｋ）＝ＯＮ（ｋ）−ＯＦＦ（ｋ−１）
隣接無音時間長ＮＭＬ（ｋ）は、直前の音符の出力が終了してから次の音符の出力が開始するまでの無音時間（すなわち、休符期間）を示す値である。このＮＭＬ（ｋ）のヒストグラムを用いて、隣接無音時間長が所定の下限値より大きい特大領域を特定する。このとき、下限値の特定する方法は、ＮＭＬ（ｋ）の大きい方から極小点を見つける方法でもよいし、ヒストグラムの２次微分を計算し、１次微分の変曲点を見つける方法でもよい。
【００４３】
特定した特大領域に該当するＮＭＬ（ｋ）のインデックス番号ｋを用いて、大区間開始フラグＬＰＳ（ｋ）及び大区間終了フラグＬＰＥ（ｋ）を、次式のように設定する。
ＬＰＳ（ｋ）＝１
ＬＰＥ（ｋ−１）＝１
また、極大領域に該当するインデックス番号ｋ以外については、ＬＰＳ（ｋ）及びＬＰＥ（ｋ）を、次式のように設定する。
ＬＰＳ（ｋ）＝０
ＬＰＥ（ｋ−１）＝０
なお、Ａメロ、Ｂメロ、サビ等の大局構造を定義したメタデータが楽譜情報に付属する場合や、楽譜情報自体に大局構造が定義されている場合、そこで定義されている大局構造に従って各音符に対応する大区間開始フラグ及び大区間終了の値をセットすればよい。
【００４４】
（１−２）小区間推定
つぎに、Ｓ１２０では、歌唱メロディにおける小区間の区分け構造を特定する。まず、Ｓ１１０の大区間推定（１−１）で計算した隣接無音時間長ＮＭＬ（ｋ）のヒストグラムにおいて、隣接無音時間長が中程度の領域（Ｓ１１０で特定した特大領域を除いた領域のうち、所定の下限値より大きい領域）を特定する。このとき、下限値の特定する方法は、ＮＭＬ（ｋ）の大きい方から極小点を見つける方法でもよいし、ヒストグラムの２次微分を計算し、１次微分の変曲点を見つける方法でもよい。
【００４５】
特定した中程度領域に該当するＮＭＬ（ｋ）のインデックス番号ｋを用いて、小区間開始フラグＳＰＳ（ｋ）及び小区間終了フラグＳＰＥ（ｋ）を、次式のように設定する。
ＳＰＳ（ｋ）＝１
ＳＰＥ（ｋ−１）＝１
なお、ＬＰＳ（ｋ）＝１又はＬＰＥ（ｋ）＝１となっている音符、すなわち、大区間の最初と最後に該当の音符に対しても、それぞれ、ＳＰＳ（ｋ）＝１及びＳＰＥ（ｋ）＝１をセットする。
【００４６】
中程度領域に該当するインデックス番号ｋ以外については、ＳＰＳ（ｋ）及びＳＰＥ（ｋ）を、次式のように設定する。
ＳＰＳ（ｋ）＝０
ＳＰＥ（ｋ−１）＝０
なお、Ａメロ、Ｂメロ、サビ等の大局構造内をさらに区分けした音符群（小区間）を定義したメタデータが楽譜情報に付属する場合や、楽譜情報自体に小区間が定義されている場合、そこで定義されている小区間に従って各音符に対応する小区間開始フラグ及び小区間終了フラグの値をセットすればよい。
【００４７】
図４は、Ｓ１１０及びＳ１２０で各音符に対して設定した区間フラグの系列を示す説明図である。この図に示すとおり、各インデックス番号ｋに対応する音符ごとに、ＬＰＳ（ｋ），ＬＰＥ（ｋ），ＳＰＳ（ｋ），ＳＰＥ（ｋ）の各区間フラグにそれぞれ値が設定されている。具体的には、大区間開始位置（インデックス番号１，３９）では、ＬＰＳ（ｋ）が１に設定されている。また、小区間開始位置（インデックス番号１，９，２０，２８，３９）では、ＳＰＳ（ｋ）が１に設定されている。小区間終了位置（インデックス番号８，１９，２７，３８，４４）では、ＳＰＥ（ｋ）が１に設定されている。また、大区間終了位置（インデックス番号３８）では、ＬＰＥ（ｋ）が１に設定されている。なお、インデックス番号１,３９の音符は、大区間開始位置と小区間開始位置の両方に該当しているので、ＬＰＳ（ｋ）及びＳＰＳ（ｋ）が共に１に設定されている。また、インデックス番号３８の音符は、大区間終了位置と小区間終了位置の両方に該当しているので、ＬＰＥ（ｋ）及びＳＰＥ（ｋ）が共に１に設定されている。
【００４８】
（２）音符解析blockについて
図２のフローチャートの説明に戻る。Ｓ２１０では、音符のNote-onタイミング、Note-offタイミング及びノートナンバーから、個々の音符について演奏に関する複数種類の特徴量を特定する。演奏に関する特徴量には、音高差ＮＮＤ（ｋ）、音符長ＮＬ（ｋ）、音符長比ＮＬＲ（ｋ）、休符長ＲＬ（ｋ）、最大音符長ＭＮＬ、及び最大音高差ＭＮＮＤの６種類がある。これらの特徴量を次式のように計算する。
【００４９】
【数１】
0005413245.tif 000002
【００５０】
なお、ｍａｘ（ｎ）は、変数ｎの系列の最大値を抽出する関数である。
ＮＮＤ（ｋ）は、直前の音符との音高差を示す値である。ＮＬ（ｋ）は、個々の音符の音符長を示す値である。ＮＬＲ（ｋ）は、直前の音符に対する音符長の比を示す値である。ＲＬ（ｋ）は、音符の直前にある無音時間（すなわち、休符長）を示す値である。ＭＮＬは、全ての音符における音符長の最大値を示す値である。ＭＮＮＤは、全ての音符における音高差の最大値を示す値である。
【００５１】
（３）音節数推定blockについて
（３−１）音節数スコアリング
つぎに、Ｓ３１０では、Ｓ１１０，Ｓ１２０，Ｓ２１０の各ステップで算出したフラグ及び特徴量に基づいて、個々の音符について複数種類の音節数スコア（この値が大きいほど割当てる音節数が大きくなるという指標）を算出する。音節数スコアには、音符長スコアＮＬＳＣ（ｋ）、休符長スコアＲＬＳＣ（ｋ）、音高差スコアＮＤＳＣ（ｋ）、及び構成スコアＣＳＣ（ｋ）の４種類がある。これらの音節数スコアを次式のように計算する。
【００５２】
【数２】
0005413245.tif 000003
【００５３】
なお、ａ，ｂはそれぞれ０＜ａ＜１，０＜ｂ＜１の条件を満たす任意の値とする。
ＮＬＳＣ（ｋ）は、音符長に応じた音節数スコアである。具体的には、最大音符長に対する音符長の比や直前の音符に対する音符長の比に応じて音節数スコアの加算分が計上される。つまり、音符長が長いほど音節数が大きくなるように計算される。
【００５４】
ＲＬＳＣ（ｋ）は、音符の直前の休符長に応じた音節数スコアである。具体的には、最大音符長に対する休符長の比に応じて音節数スコアの加算分が計上される。つまり、直前の休符長が長いほど音節数が大きくなるように計算される。ただし、音符が大区間の開始位置に該当する場合（すなわち、ＬＰＳ（ｋ）＝１のとき）、休符長に応じた音節数スコアの加算分はキャンセルされる。これは、大区間の開始位置に該当する音符の音節数スコアは別途計算されるためである。
【００５５】
ＮＤＳＣ（ｋ）は、直前の音符との音高差に応じた音節数スコアである。具体的には、最大音高差に対する音高差の比に応じて音節数スコアの加算分が計上される。つまり、直前の音符との音高差が小さいほど音節数が大きくなるように計算される。ただし、音符が大区間の開始位置に該当する場合（すなわち、ＬＰＳ（ｋ）＝１のとき）、音高差に応じた音節数スコアの加算はキャンセルされる。これは、直前の音符との間に長い間奏（無音）区間を挟む場合、直前の音符との音高差は歌唱の容易性に影響しないためである。
【００５６】
ＣＳＣ（ｋ）は、歌唱メロディの区分け構造（大区間、小区間）に応じた音節数スコアである。具体的には、音符が大区間の開始位置又は終了位置に該当する場合、あるいは小区間の開始位置又は終了位置に該当する場合、音節数スコアの加算分が計上される。つまり、大区間及び小区間の最初と最後の音符は音節数が大きくなるように計算される。
【００５７】
（３−２）音節数算出
つぎに、Ｓ３２０では、Ｓ３１０で算出した各音節数スコアに基づいて各音符に割当てる歌詞の音節数ＰＮ（ｋ）を算出する。なお、音節数の算出に先がけ、操作受付部１４を介してユーザから重み付けパラメータＵＰ＝｛α1，α2，α3，α4｝の設定するための指示を受け付けておく（Ｓ３３０）。この重み付けパラメータＵＰは、４種類の音節数スコアに対する重み付け（どの音節数スコアをどの程度重視するか）を定義する値であり、より重視する音節数スコアの重み付けパラメータを大きくすることで、音節数の算出結果におけるその音節数スコアの関与度合いを高めることができる。各音符に対応する音節数ＰＮ（ｋ）を次式のように計算する。
【００５８】
【数３】
0005413245.tif 000004
【００５９】
なお、ｒｏｕｎｄ（ｎ）は、変数ｎの整数への丸め関数である。最も一般的な例では、小数点以下の数値を四捨五入する端数処理が上げられるが、これに限らず、小数点以下の数値を切り上げするか切り捨てするかの境界については、設計者あるいはユーザの意図に応じて様々な値を採用できる。
【００６０】
音節数ＰＮ（ｋ）は、４種類の音節数スコアに対して重み付けパラメータＵＰを加味して加重平均化し、それを整数に端数処理した値である。なお、重み付けパラメータＵＰの各値α1，α2，α3，α4を全て同じ値に設定することで、単純な相加平均にすることができる。
【００６１】
なお、本実施形態では、４種類の音節数スコア（音符長スコア、休符長スコア、音高差スコア、構成スコア）の加重平均をとって複合的な音節数を決定する事例について説明したが、これより少ない種類（２〜３種類）の音節数スコアから複合的な音節数を算出する構成であってもよい。
【００６２】
Ｓ３２０で算出された音節数ＰＮ（ｋ）の系列は、（４）の表示インタフェース処理に提供される（Ｓ３４０）。
（４）表示インタフェースについて
つぎに、Ｓ４１０では、Ｓ３２０で算出された音符単位の歌詞の音節数を表示部１３に表示する。具体的には、音節数を文字（テキスト）情報のみで表示してもよいし、楽譜情報（例えばピアノロール譜）と複合させてグラフィカルに表示してもよい。
【００６３】
表示インタフェースの処理内容の一例として、次のようなプログラムの制御構文を示す。
【００６４】
【数４】
0005413245.tif 000005
【００６５】
上記の制御構文によれば、音符のインデックス番号順に音符単位の歌詞の音節数を同数の「〇」文字の羅列で表すことができる。また、音符間の区切りにはスペース（空白）が挿入されると共に、小区間の区切りでは改行、大区間の区切りでは空行が挿入されるようになっている。
【００６６】
図５（ａ）は、歌詞の音節数を「〇」文字の数で表すテキスト形式の音節数表示例１を示す説明図である。この音節数表示例１では、１行につき１小区間単位の音節数がまとめて表示され、小区間ごとに改行される。なお、この事例では音符間の区切りは入れられていない。大区間の区切りには１行分の空行が挿入され、大区間ごとの音節数のまとまりを視認できるようになっている。さらに、小区間ごとに音節数を小計した数値をその行の先頭（あるいは後尾でもよい）に表示するようにしてもよい。
【００６７】
図５（ｂ）は、歌詞の音節数を「〇」文字の数で表すテキスト形式の音節数表示例２を示す説明図である。この音節数表示例２における上記音節数表示例１との違いは、音符単位の音節数を出力するごとにスペースが挿入され、音符ごとの音節数のまとまりを視認できるようになっていることである。なお、音符間の区切りには、スペース以外に「‐（ハイフン）」等の記号を用いてもよい。さらに、音符単位の音節数（数値）の系列をその行の先頭（あるいは後尾でもよい）に表示するようにしてもよい。このとき、音符間の区切りにはスペースやハイフンを用いるとよい。
【００６８】
図６（ａ）は、歌詞の音節数を楽譜（ピアノロール譜）の音符に対応付けて表示するビジュアル形式の音節数表示例３を示す説明図である。この音節数表示例３では、歌唱メロディの楽譜情報に基づいてピアノロール譜が表示され、そのピアノロール譜に配置された音符（ノートバー）に音節数（数値）が重畳して表示されている。
【００６９】
さらに、この音節数表示例３は、歌詞を入力するためのユーザインタフェースの機能を兼ね備えている。そのため、歌詞の音節数が表示されたピアノロール譜の下方に、ユーザが歌詞のテキストを記入するための歌詞入力ボックスが設けられている。この歌詞入力ボックスは、ピアノロール譜の音符の並びと対応する位置にそれぞれ配置され、対応する音符のノートバーと同じ幅を持っている。さらに、個々の歌詞入力ボックスには対応する音符に割当てられた音節の数と同数の「〇」文字が最初から記入されている。ユーザが操作受付部１４を用いて歌詞入力ボックスを選択し、所望の文字を入力することで、その歌詞入力ボックスに対して歌詞を入力できるようになっている。
【００７０】
図６（ｂ）は、歌詞入力例を示す説明図である。この図に示すとおり、ユーザの操作によって歌詞が入力済みとなった歌詞入力ボックスでは、入力された文字数に応じてその歌詞入力ボックス内の「〇」文字が入力された文字に書き換わるようになっている。
【００７１】
図７（ａ）は、歌詞の音節数を楽譜（ピアノロール譜）の音符に対応付けて表示するビジュアル形式の音節数表示例４を示す説明図である。この音節数表示例４における上記音節数表示例３との違いは、ピアノロール譜に配置されている音符のノートバーが、歌詞の文字を入力するための歌詞入力ボックスを兼ねている点と、１つのノートバーを割当てられた音節数に応じて仕切ることで歌詞の音節数を提示している点である。例えば、１音符につき１音節が割当てられた音符については、ピアノロール譜上のノートバーは仕切られておらず、これで１文字分の歌詞入力ボックスを形成している。一方、１音符につき２音節が割当てられた音符については、ピアノロール譜上のノートバーが中央で２つに仕切られ、これで２文字分の歌詞入力ボックスを形成している。ユーザが操作受付部１４を用いてピアノロール譜に配置された音符兼歌詞入力ボックスを選択し、所望の文字を入力することで、その音符兼歌詞入力ボックスに対して歌詞を入力できるようになっている。
【００７２】
図７（ｂ）は、歌詞入力例を示す説明図である。この図に示すとおり、ユーザの操作によって歌詞が入力された音符兼歌詞入力ボックスでは、入力された文字が個々の歌詞入力ボックスに１文字ずつ記入されるようになっている。
【００７３】
［実施形態に記載の構成と特許請求の範囲に記載の構成との対応］
ここで、実施形態の歌詞音節数提示装置１の各部構成と、特許請求の範囲に記載の構成との対応について説明する。
【００７４】
実施形態の制御部１５が、特許請求の範囲における楽譜分析手段、音節数算出手段、及び提示手段に相当する。より詳しくは、制御部１５が実行する音節数提示処理（図２参照）におけるＳ１１０の大区間推定、Ｓ１２０の小区間推定、及びＳ２１０の音符解析の処理が、楽譜分析手段に相当する。また、Ｓ３１０の音節数スコアリング及びＳ３２０の音節数算出の処理が、音節数算出手段に相当する。また、Ｓ４１０の表示インタフェースの処理が提示手段に相当する。
【００７５】
また、実施形態の操作受付部１４が、特許請求の範囲における指定手段に相当する。
［効果］
実施形態の歌詞音節数提示装置１によれば、下記の効果を奏する。
【００７６】
歌唱メロディの楽譜情報から歌唱の容易性に関する特徴量（区分け構造、音符解析）を抽出し、その特徴量に基づいて算出した音符単位の歌詞の音節数を表示することで、ユーザの作詞作業を支援することができる。これにより、ユーザは、表示された音節数を参考にして歌唱メロディに合った歌詞を作成することができる。特に、音符単位で歌詞の音節数を提示可能なため、作詞に不慣れなユーザにとって有力な支援となる。また、１音符に対して複数の音節を割当てることも可能になり、表現力の高い歌詞の作成を期待できる。
【００７７】
歌唱メロディを構成する音符長や、音符の直前の休符長、直前の音符との音高差、歌唱メロディの区切りの有無といった、歌唱メロディの局所的な歌唱の容易性に影響を与える特徴量に基づき、歌い易い特徴を呈する音符に対してより多くの音節を割当てるように構成したことで、提示された音節数に基づいて歌い易い歌詞の作成を期待できる。
【００７８】
複数種類の音節数指標（音符長スコア、休符長スコア、音高差スコア、構成スコア）を重み付けパラメータで加重平均化して複合的な音節数を算出することが可能である。また、重み付けパラメータＵＰをユーザが指定できるよう構成したことで、ユーザの作詞意図に沿った音節数を提示できる。
【００７９】
楽譜情報に基づいてピアノロール譜を表示すると共に、そのピアノロール譜上の音符に対応付けて歌詞の音節数を表示可能としたことで（図６，７）、楽譜の音符とその音符に割当てられた歌詞の音節数との対応付けが一目瞭然となる。
【００８０】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
【００８１】
上記実施形態では、音符長スコアＮＬＳＣ、休符長スコアＲＬＳＣ、音高差スコアＮＤＳＣ、構成スコアＣＳＣといった４種類の音節数指標を重み付けパラメータで加重平均化した後、端数処理をして複合的な音節数を算出する構成となっている。これに限らず、音符長スコアＮＬＳＣ、休符長スコアＲＬＳＣ、音高差スコアＮＤＳＣ、構成スコアＣＳＣを個別に端数処理をして、それぞれ単独の音節数として出力するような構成であってもよい。すなわち、音符長スコアだけを考慮した音節数や、休符長スコアだけを考慮した音節数を単独でユーザに提示するような構成が考えられる。また、どの音節数指標を用いて音節数を算出するかをユーザが選択可能な構成であってもよい。
【００８２】
上記実施形態では、主に音符単位での局所的な歌い易さを考慮して音符ごとの歌詞音節数を特定する構成となっている。これに対し、音符単位での局所的な歌い易さに加え、更にメロディ区間単位（例えば、小区間又は大区間単位）での歌い易さを加味して音節数を特定するような構成であってもよい。具体的には、音符解析blockにより特定した音符の特徴量に基づき、個々のメロディ区間にそれぞれ属する音符の特徴量の統計的特徴に応じたメロディ区間単位の音節数倍率（メロディ区間単位での歌唱の容易性を示す指標）を算出し、その音節数倍率を各メロディ区間に属する音符に割当てられた音節数指標に乗じ、その結果を音節数として特定すればよい。メロディ区間単位の音節数倍率は、メロディ区間内における平均音符長や平均休符長が長い、あるいは平均音高差が小さいといった具合に、メロディ区間単位で歌い易い特徴を呈する場合に、その数値を高く設定することが考えられる。
【００８３】
図６（ａ），７（ａ）の音節数表示例３，４において、ユーザからの操作によって、画面上に表示されたピアノロール譜上の音符に対して音高を変更したり音符長を変更したりといった具合に、改変を行えるように構成してもよい。そのとき、改変された音符に係る特徴量の変化に応じて、制御部１５がその音符の音節数を内部処理で再計算し、表示中の画面上で当該音符の音節数をリアルタイムに更新するようにしてもよい。
【符号の説明】
【００８４】
１…歌詞音節数提示装置、１１…記憶部、１２…メロディデータ入力部、１３…表示部、１４…操作受付部、１５…制御部、１５ａ…ＲＯＭ、１５ｂ…ＲＡＭ、１５ｃ…ＣＰＵ。
【図１】
0005413245.tif 000006
【図２】
0005413245.tif 000007
【図４】
0005413245.tif 000008
【図５】
0005413245.tif 000009
【図３】
0005413245.tif 000010
【図６】
0005413245.tif 000011
【図７】
0005413245.tif 000012