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