(57)【特許請求の範囲】
【請求項１】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手段と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手段と、
前記音符数取得手段にて取得した区間音符数、及び前記音節数取得手段で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手段と、
前記調整手段によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手段と
を備え、
前記調整手段は、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手段を備え、
前記音符調整手段は、
時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の音高差が小さいものから順に前記特定音符群とすることを特徴とした歌詞割当装置。
【請求項２】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手段と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手段と、
前記音符数取得手段にて取得した区間音符数、及び前記音節数取得手段で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手段と、
前記調整手段によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手段と
を備え、
前記調整手段は、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手段を備え、
前記音符調整手段は、
時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の間隔が短いものから順に前記特定音符群とすることを特徴とした歌詞割当装置。
【請求項３】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手段と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手段と、
前記音符数取得手段にて取得した区間音符数、及び前記音節数取得手段で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手段と、
前記調整手段によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手段と
を備え、
前記調整手段は、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手段を備え、
前記調整手段は、
前記区間音符数が前記区間音節数よりも少なければ、前記特定区間中の音符を増加させることを前記調整制御として実行する音符増加手段
を備え、
前記音符増加手段は、
前記特定区間に存在している音符の時間長についての分散が予め規定された閾値よりも小さければ、前記特定区間に存在している休符を前記音符に変更することで前記特定区間中の音符を増加させることを特徴とした歌詞割当装置。
【請求項４】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手段と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手段と、
前記音符数取得手段にて取得した区間音符数、及び前記音節数取得手段で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手段と、
前記調整手段によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手段と
を備え、
前記調整手段は、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手段を備え、
前記調整手段は、
前記区間音符数が前記区間音節数よりも少なければ、前記特定区間中の音符を増加させることを前記調整制御として実行する音符増加手段
を備え、
前記音符増加手段は、
前記特定区間に存在している音符の時間長についての分散が予め規定された閾値以上であれば、前記特定区間に存在している１つの音符を２つの音符に分割することで、前記特定区間中の音符を増加させることを特徴とした歌詞割当装置。
【請求項５】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手順と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手順と、
前記音符数取得手順にて取得した区間音符数、及び前記音節数取得手順で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手順と、
前記調整手順によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手順と
を、コンピュータに実行させ、
前記調整手順は、さらに、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手順を、前記コンピュータに実行させ、
前記音符調整手順は、
時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の音高差が小さいものから順に前記特定音符群とすることを特徴とするプログラム。
【請求項６】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手順と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手順と、
前記音符数取得手順にて取得した区間音符数、及び前記音節数取得手順で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手順と、
前記調整手順によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手順と
を、コンピュータに実行させ、
前記調整手順は、さらに、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手順を、前記コンピュータに実行させ、
前記音符調整手順は、
時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の間隔が短いものから順に前記特定音符群とすることを特徴とするプログラム。
【請求項７】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手順と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手順と、
前記音符数取得手順にて取得した区間音符数、及び前記音節数取得手順で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手順と、
前記調整手順によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手順と
を、コンピュータに実行させ、
前記調整手順は、さらに、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手順と、
前記区間音符数が前記区間音節数よりも少なければ、前記特定区間中の音符を増加させることを前記調整制御として実行する音符増加手順とを、前記コンピュータに実行させ、
前記音符増加手順は、
前記特定区間に存在している音符の時間長についての分散が予め規定された閾値以上であれば、前記特定区間に存在している１つの音符を２つの音符に分割することで、前記特定区間中の音符を増加させることを特徴としたプログラム。
【請求項８】
楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数である区間音符数を取得する音符数取得手順と、
歌詞を構成する文字列を表す歌詞データに対して規定され、前記特定区間と対をなす規定区間に存在している音節の数である区間音節数を取得する音節数取得手順と、
前記音符数取得手順にて取得した区間音符数、及び前記音節数取得手順で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、前記特定区間中の音符及び前記規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手順と、
前記調整手順によって調整された前記特定区間中の音符に前記規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手順と
を、コンピュータに実行させ、
前記調整手順は、
前記区間音符数が前記区間音節数よりも多ければ、前記特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を前記特定区間中の音符の１つとすることを前記調整制御として実行する音符調整手順を備え、
前記調整手順は、
前記区間音符数が前記区間音節数よりも少なければ、前記特定区間中の音符を増加させることを前記調整制御として実行する音符増加手順を、前記コンピュータに実行させ、
前記音符増加手順は、
前記特定区間に存在している音符の時間長についての分散が予め規定された閾値以上であれば、前記特定区間に存在している１つの音符を２つの音符に分割することで、前記特定区間中の音符を増加させることを特徴としたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲に歌詞を割り当てる歌詞割当装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、楽曲の楽譜を表す楽曲データ中の音符に、歌詞を構成する文字列を表す歌詞データ中の文字を割り当てる歌詞割当装置が知られている（特許文献１参照）。
その特許文献１に記載の歌詞割当装置において、歌詞データは、楽曲データに対応する楽曲に歌詞を付ける（即ち、楽曲データ中の音符に歌詞データ中の文字を割り当てる）際に、当該歌詞割当装置の利用者によって入力装置（例えば、キーボードなど）を介して入力される。
【０００３】
そして、特許文献１に記載の歌詞割当装置では、入力された歌詞データ中に予め規定された記号（以下、規定記号とする）が含まれていれば、複数の文字を一つの音符に割り当てることや、１つの文字を複数の音符に割り当てることがなされている。すなわち、前者であれば、規定記号の前または後に位置する特定の文字に加えて、その特定の文字の前後に位置する文字を含む複数の文字を一つの音符に割り当て、後者であれば、規定記号の後に位置する特定の文字を長音化して複数の音符に割り当てている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−１６３０５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したような特許文献１に記載の歌詞割当装置を用いて楽曲に適するように歌詞を付けるためには、当該歌詞割当装置の利用者が入力装置を介して歌詞データを入力する際に、楽曲データに対応する楽曲の音符数を考慮してその歌詞データ中に規定記号を含めなければならない。
【０００６】
通常、楽曲の音符数を考慮して作詞することは、作詞作曲の専門知識を有する人物でなければ困難である。よって、作詞作曲の専門知識を有していない一般の利用者では、特許文献１に記載の歌詞割当装置を用いて、楽曲に適するように歌詞を付けることができないという問題があった。
【０００７】
そこで、本発明は、歌詞割当装置において、作詞作曲の専門知識を有していない一般の利用者であっても、楽曲に適するように歌詞を割り当てることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた本発明の歌詞割当装置は、音符数取得手段と、音節数取得手段と、調整手段と、割当手段とを備えている。
このうち、音符数取得手段は、楽曲の楽譜を表す楽曲データに対して規定された特定区間に存在している音符の数（以下、区間音符数とする）を取得し、音節数取得手段は、歌詞を構成する文字列を表す歌詞データに対して規定され、特定区間と対をなす規定区間に存在している音節の数（以下、区間音節数とする）を取得する。
【０００９】
そして、調整手段は、音符数取得手段にて取得した区間音符数、及び音節数取得手段で取得した区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、特定区間中の音符及び規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する。また、割当手段は、その調整手段によって調整された特定区間中の音符に規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる。
【００１０】
ただし、本発明の歌詞割当装置における調整手段では、区間音符数が区間音節数よりも多ければ、音符調整手段が、特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を特定区間中の音符の１つとすることを調整制御として実行する。
さらに、本発明における音符調整手段は、時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の音高差が小さいものから順に前記特定音符群とする。
【００１１】
つまり、本発明の歌詞割当装置では、特定区間中の音符と規定区間中の音節との数を自動で一致させた上で、楽曲データ中の音符に、歌詞データ中の音節を割り当てる。このため、作詞作曲の専門知識を有していない一般の利用者であっても、本発明の歌詞割当装置を用いることで、楽曲に適するように歌詞を割り当てることができる。この結果、本発明の歌詞割当装置の利用者は、音楽をより楽しむことができる。
【００１２】
特に、本発明の歌詞割当装置では、区間音符数が区間音節数よりも多ければ、少なくとも２つの音符をグループ化した特定音符群を特定区間中の音符の１つとしている。このため、本発明の歌詞割当装置によれば、区間音符数が区間音節数よりも多い場合であっても、楽曲データ中の音符に歌詞データ中の音節を１対１で割り当てることができる。この結果、本発明の歌詞割当装置によれば、歌詞を割当可能な楽曲を多様なものとすることができる。
【００１３】
一般的に、１つの特定音符群に対し、１つの音節が割り当てられた楽曲中の区間（以下、特定音符群に対応する区間とする）を歌唱者が歌唱する場合、その特定音符群を構成する２つの音符間の音高差が大きいほど、歌唱者は、１つの音節の発声中に音高を大きく変化させなければならず、当該特定音符群に対応する区間は唄い難くなる（特に、専門的な訓練を受けていない一般の歌唱者にとっては困難である）。
【００１５】
しかしながら、本発明の歌詞割当装置における音符調整手段は、時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の音高差が小さいものから順に特定音符群とする。
このような本発明の歌詞割当装置によれば、特定音符群を構成する２つの音符間の音高差を小さなものとすることができる。この結果、特定音符群に対応する区間は、１つの音節の発声中に音高を大きく変化させる必要がなく、一般の歌唱者にとって、唄い難くなることを低減でき、唄いやすいものとすることができる。
【００１６】
また、特定音符群に対応する区間を歌唱者が歌唱する場合、当該特定音符群を構成する２つの音符間の間隔が長いと、歌唱者は、１つの音節を長時間発声しなければならず、当該特定音符群に対応する区間は唄い難いものとなる。
【００１７】
そこで、本発明の歌詞割当装置における音符調整手段は、時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の間隔が短いものから順に特定音符群とする。
【００１８】
このような本発明の歌詞割当装置によれば、特定音符群を構成する２つの音符間の間隔を短くすることができる。この結果、特定音符群に対応する区間は、１つの音節を長時間発声する必要がなく、一般の歌唱者にとって、唄い難くなることを低減でき、唄いやすいものとすることができる。
【００１９】
なお、ここで言う音符間の間隔とは、時間軸に沿った前の音符の終了タイミングから後の音符の開始タイミングまでの期間を含むものである。
また、本発明の歌詞割当装置における調整手段は、区間音符数が区間音節数よりも少なければ、音符増加手段が、特定区間中の音符を増加させることを調整制御として実行する。
そして、特定区間に存在している音符の時間長の分散（即ち、バラつき）が予め規定された閾値よりも小さい場合に、本発明の歌詞割当装置における音符増加手段が特定区間中の音符を増加させる方法としては、特定区間に存在している休符を音符に変更することが考えられる。
【００２０】
このような本発明の歌詞割当装置によれば、区間音符数が区間音節数よりも少ない場合であっても、歌詞データ中の音節を楽曲データ中の音符に１対１に割り当てることができる。したがって、本発明の歌詞割当装置によれば、歌詞データを割当可能な楽曲データをより多様なものとすることができる。
【００２２】
このような本発明の歌詞割当装置によれば、休符から変更された音符に、歌詞データ中の過剰な音節を割り当てることができる。
なお、特定区間に存在している音符の時間長のバラつきが大きい場合に、本発明の歌詞割当装置における音符増加手段が特定区間中の音符を増加させる方法としては、特定区間に存在している１つの音符を２つの音符に分割することが考えられる。
【００２３】
このような本発明の歌詞割当装置では、１つの音符を分割することで生成された音符に、歌詞データ中の過剰な音節を割り当てることができる。
一方、本発明の歌詞割当装置において、区間音符数が区間音節数よりも少なく、かつ楽曲データに対応する楽譜の変更を禁止する指令を外部から受け付ける場合がある。
【００２６】
本発明は、コンピュータを歌詞割当装置として機能させるためのプログラムであっても良い。
本発明がこのようなプログラムとしてなされている場合、本発明のプログラムは、特定区間に存在している区間音符数を取得する音符数取得手順と、規定区間に存在している区間音節数を取得する音節数取得手順と、それらの取得手順にて取得した区間音符数、及び区間音節数に基づいて、当該特定区間中の音符と当該規定区間中の音節との数が一致するように、特定区間中の音符及び規定区間中の音節のうちの少なくとも一方を調整する調整制御を実行する調整手順と、調整手順によって調整された特定区間中の音符に規定区間中の音節を、当該特定区間及び当該規定区間における時間軸に沿った順序にて割り当てる割当手順とをコンピュータに実行させる必要がある。
【００２７】
さらに、調整手順では、区間音符数が区間音節数よりも多ければ、特定区間における時間軸に沿って連続する少なくとも２つの音符を含む１つの音符群である特定音符群を特定区間中の音符の１つとすることを調整制御として実行する音符調整手順をコンピュータに実行させる必要がある。
そして、音符調整手順においては、時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の音高差が小さいものから順に特定音符群としても良いし、時間軸に沿って互いに連続する２つの音符の組合せのうち、当該音符間の間隔が短いものから順に特定音符群としても良い。
ところで、本発明のプログラムにおいては、調整手順は、さらに、区間音符数が前記区間音節数よりも多ければ、特定音符群を特定区間中の音符の１つとすることを調整制御として実行する音符調整手順と、区間音符数が区間音節数よりも少なければ、特定区間中の音符を増加させることを調整制御として実行する音符増加手順とをコンピュータに実行させても良い。
この場合、音符増加手順では、特定区間に存在している音符の時間長についての分散が予め規定された閾値以上であれば、特定区間に存在している１つの音符を２つの音符に分割することで、特定区間中の音符を増加させても良いし、特定区間に存在している音符の時間長についての分散が予め規定された閾値以上であれば、特定区間に存在している１つの音符を２つの音符に分割することで、特定区間中の音符を増加させても良い。
【００２８】
このようになされた本発明のプログラムであれば、例えば、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータにロードさせて起動することや、必要に応じて通信回線を介してコンピュータに取得させて起動することにより用いることができる。そして、コンピュータに各手順を実行させることで、そのコンピュータを歌詞割当装置として機能させることができる。
【図面の簡単な説明】
【００２９】
【図１】実施形態における歌詞割当装置の概略構成を示すブロック図である。
【図２】楽曲の構造を模式的に示した図面である。
【図３】楽譜データの構造を模式的に示した図面である。
【図４】歌詞データを模式的に示した図面である。
【図５】制御部が実行する歌詞割当処理の処理手順を示すフローチャートである。
【図６】制御部が実行する割当処理の処理手順を示すフローチャートである。
【図７】割当処理によって音符に歌詞を割り当てる手法の一例を例示した図である。
【図８】割当処理によって音符に歌詞を割り当てる手法の一例を例示した図である。
【図９】割当処理によって音符に歌詞を割り当てる手法の一例を例示した図である。
【図１０】割当処理によって音符に歌詞を割り当てる手法の一例を例示した図である。
【図１１】割当処理によって音符に歌詞を割り当てる手法の一例を例示した図である。
【発明を実施するための形態】
【００３０】
以下に本発明の実施形態を図面と共に説明する。
〈歌詞割当装置の全体構成について〉
本発明が適用された歌詞割当装置は、楽曲の楽譜を表す楽曲データ中の音符に、歌詞を構成する文字列を表す歌詞データ中の音節を割り当てるものであり、図１に示す情報処理装置１０によって構成されている。
【００３１】
その情報処理装置１０は、図１に示すように、通信部１１と、表示部１２と、入力受付部１３と、記憶部１４と、制御部２０とを備えている。
このうち、通信部１１は、情報処理装置１０をネットワーク（例えば、専用回線やＷＡＮ）に接続し、その接続されたネットワークを介して外部と通信を行うものである。
【００３２】
そして、表示部１２は、画像を表示する表示装置（例えば、液晶ディスプレイやＣＲＴ等）である。また、入力受付部１３は、外部からの操作に従って情報や指令の入力を受け付ける入力機器（例えば、キーボードやポインティングデバイス）である。
【００３３】
また、記憶部１４は、記憶内容を読み書き可能に構成された不揮発性の記憶装置（例えば、ハードディスク装置）である。この記憶部１４には、処理プログラムや、楽曲データ、歌詞データが少なくとも格納される。
【００３４】
さらに、制御部２０は、ＲＯＭ２１と、ＲＡＭ２２と、ＣＰＵ２３とを少なくとも有した周知のマイクロコンピュータを中心に構成されている。
このうち、ＲＯＭ２１は、電源が切断されても記憶内容を保持する必要のある処理プログラムやデータを格納するものである。また、ＲＡＭ２２は、処理プログラムやデータを一時的に格納するものであり、このＲＡＭ２２には、記憶部１４から処理プログラムが転送されて格納される。
【００３５】
そして、ＣＰＵ２３は、ＲＯＭ２１やＲＡＭ２２に記憶された処理プログラムに従って各処理（各種演算）を実行する。
なお、本実施形態では、制御部２０が実行する処理プログラムとして、楽曲データ及び歌詞データに基づいて、その楽曲データ中の音符に歌詞データ中の音節を割り当てる（以下、歌詞割当処理とする）ものが予め用意されている。
〈楽曲データ、及び歌詞データの構造について〉
次に、楽曲データは、楽曲を区別するデータである識別データと、当該楽曲の主旋律に関する楽譜を表す楽譜データとを少なくとも有した、いわゆる周知のＭＩＤＩ（Ｍｕｓｉｃａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｄｉｇｉｔａｌ  Ｉｎｔｅｒｆａｃｅ）データとして構成されたものである。
【００３６】
通常、楽曲の主旋律は、図２に示すように、作曲者が意図して当該主旋律を区分けした複数の構成区間５０Ａ〜５０Ｍ（例えば、いわゆるＡメロや、Ｂメロ、サビなど）を有している。その構成区間５０Ａ〜５０Ｍは、時間軸に沿って連続する複数の音符のまとまりからなる特定区間ｉ（ｉ＝１〜ｍａｘ）（いわゆるフレーズ）を複数個含んでいる。
【００３７】
そして、複数個の特定区間ｉを有した楽譜データは、図３に示すように、主旋律を形成する音符ＮＯkが表されたデータである。本実施形態における各音符ＮＯkは、当該音符ＮＯkの音高（図３中、ノートオンナンバー）ＮＮk、音符ＮＯkの出力を開始するまでの当該楽曲の演奏開始からの時間を表す発音タイミング（図３中、ノートオンタイミング）ＯＮk、及び音符ＮＯkの出力を終了するまでの当該楽曲の演奏開始からの時間を表す終了タイミング（図３中、ノートオフタイミング）ＯＦＦkによって表されている。
【００３８】
なお、本実施形態において、符合ｉは、当該特定区間ｉが楽曲の演奏開始から何番目のものであるかを表すインデックス番号であり、符合ｋは、当該音符ＮＯkが楽曲の演奏開始から何番目に演奏されるものであるかを表すインデックス番号である。
【００３９】
一方、図４に示すように、歌詞データ８０は、歌詞を構成する文字列からなる文書データ８１と、楽曲における特定区間ｉと対をなす規定区間ｊ毎に文書データ８１の文字列を区切る区切記号８２（図中８２Ａ〜８２Ｄ）とを有している。本実施形態における区切記号８２は、文書データ８１における文字列の改行を表す改行記号であっても良いし、文書データ８１の文字列中に予め規定された数以上連続して含まれる空白（いわゆるスペース）であっても良い。
【００４０】
なお、楽曲データや歌詞データ８０は、通信部１１を介して外部から取得されても良いし、入力受付部１３を介して入力された情報に従って制御部２０にて生成されても良い。
〈歌詞割当処理の処理内容について〉
次に、制御部２０が実行する歌詞割当処理について説明する。
【００４１】
この歌詞割当処理は、当該歌詞割当処理を起動するための起動指令が、入力受付部１３を介して制御部２０に入力されると起動される。
図５に示すように、歌詞割当処理は、起動されると、まず、入力受付部１３を介して入力された情報によって指定される楽曲データ（楽譜データ）を取得する（Ｓ１１０（Ｓは、ステップを意味する））。
【００４２】
そして、Ｓ１１０にて取得した楽譜データに対応する楽曲の構造を解析する曲構造解析を実行する（Ｓ１２０）。
本実施形態における曲構造解析（Ｓ１２０）では、楽譜データ中の各特定区間ｉの開始位置を表す音符ＮＯkのインデックス番号（以下、区間開始位置とする）ｓｔi、及び各特定区間ｉの終了位置を表す音符ＮＯkのインデックス番号（以下、区間終了位置とする）ｅｎiを特定する。
【００４３】
具体的には、楽曲データ中の楽譜データにおいて、時間軸に沿って互いに隣接する音符ＮＯk-1，ＮＯk（ただし、ｋ≧２）の間で無音となる時間長を表す無音時間ＮＭＬkを、下記（１）式に基づいて、音符ＮＯk-1，ＮＯkの組合せ毎に算出する。
【００４４】
【数１】
0005463954.tif 000002
その算出された全ての無音時間ＮＭＬkの中で時間長が比較的長い無音時間（以下、適合無音時間とする）ＮＭＬkを特定する。本実施形態において、適合無音時間ＮＭＬkは、無音時間ＮＭＬkのヒストグラムにおける極小点よりも値が大きな全ての無音時間ＮＭＬkであっても良いし、無音時間ＮＭＬkのヒストグラムにおける変極点よりも値が大きな全ての無音時間ＮＭＬkであっても良い。
【００４５】
このようにして特定された各適合無音時間ＮＭＬkに対応する音符ＮＯkのインデックス番号ｋを、特定区間ｉの区間開始位置ｓｔiとして取得する。これと共に、特定区間ｉ＋１に対応する区間開始位置ｓｔi+1を表す音符ＮＯkxのインデックス番号ｋｘよりも１つ小さい音符ＮＯkx-1のインデックス番号ｋｘ−１を、特定区間ｉの区間終了位置ｅｎiとして取得する。なお、本実施形態では、特定区間１（即ち、ｉ＝１）の区間開始位置ｓｔ1は、楽譜データの時間軸に沿った最初の音符ＮＯ1に対応するインデックス番号１（即ち、ｋ＝１）とし、特定区間ｉmaxの区間終了位置ｅｎimaxは、楽譜データの時間軸に沿った最後の音符ＮＯkmaxに対応するインデックス番号kmaxとする。
【００４６】
さらに、歌詞割当処理では、Ｓ１２０にて取得された特定区間ｉの区間開始位置ｓｔi及び区間終了位置ｅｎiに基づいて、楽譜データ中の各特定区間ｉに含まれる音符ＮＯkの数（以下、区間音符数とする）ＰＨＮＮiを、下記（２）式により算出する（Ｓ１３０）。
【００４７】
【数２】
0005463954.tif 000003
続いて、Ｓ１１０にて取得した楽譜データ中の各音符ＮＯkを解析する音符解析を実行する（Ｓ１４０）。
【００４８】
本実施形態の音符解析では、楽譜データにおいて、音符ＮＯk-1，ＮＯkの間での音高差ＮＮＤkと、音符ＮＯkの時間長を表す音符長ＮＬkとを、下記（３）式に基づいて算出する。さらに、本実施形態の音符解析では、下記（３）式に基づいて、全ての音符ＮＯkの中で時間長が最長である音符長ＮＬkを最大音符長ＭＮＬとして、全ての音高差ＮＮＤkの中で値が最大であるものを最大音高差ＭＮＮＤとして導出する。なお、下記（３）式中のａｂｓは絶対値を返す関数を示し，ｍａｘは最大値を返す関数を示す。
【００４９】
【数３】
0005463954.tif 000004
さらに、入力受付部１３を介して入力された情報によって指定される歌詞データ８０を取得する（Ｓ１５０）。その取得した歌詞データ８０中の文書データ８１に対して周知の形態素解析を実施すると共に、周知の手法により文書データ８１を音節ＰＨＯl毎に分解し、その分解した各音節ＰＨＯlを取得する（Ｓ１６０）。ただし、本実施形態において、符合ｌは、当該音節ＰＨＯlが文書データ８１における最初の音節から何番目のものであるかを表すインデックス番号である。
【００５０】
さらに、各音節について平均の発声時間長（以下、音節長とする）が予め格納された音節長データベースから、各音節ＰＨＯlに対応する音節長ＰＨＯ＿ＬＥＮlを、各音節ＰＨＯlと対応付けて取得する（Ｓ１７０）。なお、本実施形態において音節長データベースは、情報処理装置１０の記憶部１４に音節長が記憶されることで構成されたものでも良いし、情報処理装置１０の通信部１１が接続されるネットワーク上に情報処理装置１０とは別体に設けられたものであっても良い。
【００５１】
続いて、歌詞割当処理では、歌詞データ８０中の区切記号８２に基づいて、歌詞データ８０中の文書データ８１における各規定区間ｊの開始位置を表す音節ＰＨＯlのインデックス番号（以下、区切開始位置とする）ｐｈｓj、及び終了位置を表す音節ＰＨＯlのインデックス番号（以下、区切終了位置とする）ｐｈｅjを特定する（Ｓ１８０）。具体的には、規定区間ｊと規定区間ｊ＋１とを区切る区切記号８２に対し、当該区切記号８２の直前の音節ＰＨＯl-1に対応するインデックス番号ｌ−１を規定区間ｊの区切終了位置ｐｈｅjとし、当該区切記号８２の直後の音節ＰＨＯlに対応するインデックス番号ｌを規定区間ｊ＋１の区切開始位置ｐｈｓj+1とする。ただし、規定区間１（即ち、ｊ＝１）の区切開始位置ｐｈｓ1は、歌詞データ８０における最初の音節ＰＨＯ1に対応するインデックス番号１（即ち、ｌ＝１）とし、規定区間ｊmaxの区切終了位置ｐｈｅjmaxは、歌詞データ８０における最後の音節ＰＨＯlmaxに対応するインデックス番号ｌmaxとする。
【００５２】
さらに、Ｓ１８０にて特定された各規定区間ｊの区切開始位置ｐｈｓj、区切終了位置ｐｈｅjに基づいて、歌詞データ８０の文書データ８１における各規定区間ｊに含まれる音節数（以下、区間音節数とする）ＰＨＰＮjを、下記（４）式により導出する（Ｓ１９０）。
【００５３】
【数４】
0005463954.tif 000005
そして、区間音符数ＰＨＮＮiと区間音節数ＰＨＰＮjとに基づいて、特定区間ｉ中の音符ＮＯkの数と規定区間ｊ中の音節ＰＨＯlの数とが一致するように、特定区間ｉ中の音符ＮＯk及び規定区間ｊ中の音節ＰＨＯlのうちの少なくとも一方を調整する調整制御を実行すると共に、それらの調整された各特定区間ｉ中の音符ＮＯkそれぞれに規定区間ｊ中の音節ＰＨＯlを割り当てる割当処理を実行する（Ｓ２００）。
【００５４】
続いて、割当処理によって、音符ＮＯkそれぞれに音節ＰＨＯlが割り当てられた結果を出力する（Ｓ２１０）。具体的に、本実施形態におけるＳ２１０では、Ｓ２００の割当処理の結果として、楽譜データ上の各音符ＮＯkに歌詞データ８０の文字（音節ＰＨＯl）をマッピングしたデータを表示部１２に表示する。
【００５５】
その後、本歌詞割当処理を終了する。
〈割当処理の処理内容について〉
図６に示すように、割当処理は、歌詞割当処理のＳ２００にて起動されると、当該割当処理の実行対象となる特定区間（以下、対象特定区間とする）ｉ及び規定区間（以下、対象規定区間とする）ｊのインデックス番号を共に初期値（本実施形態では、ｉ＝ｊ＝１）に設定する（Ｓ３１０）。
【００５６】
続いて、対象特定区間ｉにおける区間音符数ＰＨＮＮi、及び対象規定区間ｊにおける区間音節数ＰＨＰＮjを取得し（Ｓ３２０）、それらの取得した対象特定区間ｉにおける区間音符数ＰＨＮＮiと対象規定区間ｊにおける区間音節数ＰＨＰＮjとを比較する（Ｓ３３０）。
【００５７】
そのＳ３２０での比較の結果、区間音符数ＰＨＮＮiと区間音節数ＰＨＰＮjとが不一致であれば（Ｓ３３０：ＰＨＮＮi＞ＰＨＰＮjまたはＰＨＮＮi＜ＰＨＰＮj）、後述するＳ３４０からＳ４３０のステップにて調整制御を実行する。
【００５８】
一方、Ｓ３３０での比較の結果、区間音符数ＰＨＮＮiと区間音節数ＰＨＰＮjとが一致していれば（Ｓ３３０：ＰＨＮＮi＝ＰＨＰＮj）、対象特定区間ｉに含まれている各音符ＮＯkに、対象規定区間ｊに含まれている音節ＰＨＯlそれぞれを、時間軸に沿った順序にて１対１に割り当てる（Ｓ４４０）。
【００５９】
すなわち、本実施形態では、図７に示すように、対象規定区間ｊにおける音節ＰＨＯlが「き／み／に／ほ／ん／ね／で」の７つであり、対象特定区間ｉにおける音符ＮＯkが７つであれば、対象規定区間ｊにおける音節ＰＨＯlと対象特定区間ｉにおける音符ＮＯkとを共に増減させることなく、Ｓ４４０にて割り当てる。
【００６０】
なお、Ｓ３３０での比較の結果、区間音節数ＰＨＰＮjが区間音符数ＰＨＮＮiよりも少なければ（Ｓ３３０：ＰＨＮＮi＞ＰＨＰＮj）、値が小さいほど音符ＮＯk-1，ＮＯkの間の歌唱が容易であることを表す音符群化スコアＧＳＣkを、下記（５）式に基づいて対象特定区間ｉに含まれる音符ＮＯk-1，ＮＯkの組合せ毎に算出する（Ｓ３４０）。ただし、（５）式中のαは、予め定められた定数（０＜α＜１）である。
【００６１】
【数５】
0005463954.tif 000006
すなわち、音符群化スコアＧＳＣkは、音高差ＮＮＤkが小さいほど、かつ本発明の休符に相当する無音時間ＮＭＬkが短いほど値が小さくなる。
【００６２】
続いて、Ｓ３４０にて算出された音符群化スコアＧＳＣkに基づいて、対象規定区間ｊの音節ＰＨＯlの数に一致するように、対象特定区間ｉの音符ＮＯkの数を減少させることを調整制御として実行する（Ｓ３５０）。本実施形態のＳ３５０における調整制御では、対象特定区間ｉにおいて時間軸に沿って連続する２つの音符ＮＯk-1，ＮＯkのうち、音符群化スコアＧＳＣkの値が最小となる音符ＮＯk-1，ＮＯkから順に、音符ＮＯの１つである特定音符群ＮＯk-1を設定する。
【００６３】
ただし、本実施形態のＳ３５０では、特定音符群ＮＯk-1として設定される音符ＮＯk-1，ＮＯkが重複しないようにされている。例えば、音符群化スコアＧＳＣの値が、音符ＮＯk-1，ＮＯkの組、音符ＮＯk，ＮＯk+1の組，音符ＮＯk+1，k+2の組の順で小さく、これらの組のうち、２つの組を特定音符群ＮＯとして設定しなければならない場合を想定する。この場合、音符ＮＯk+1，ＮＯk+2の組が特定音符群ＮＯとして設定され、音符ＮＯk+1が重複する音符ＮＯk，ＮＯk+1の組は特定音符群ＮＯとして設定されず、音符ＮＯk+1、ＮＯk+2と重複しない音符ＮＯk-1，ＮＯkの組が特定音符群ＮＯとして設定される。
【００６４】
このように、音符ＮＯk-1，ＮＯkの組が特定音符群ＮＯとして設定されるとき、インデックス番号がｋ＋１以降である音符ＮＯk+1のインデックス番号を１つデクリメントする（例えば、音符ＮＯk+1が音符ＮＯkとなる）。さらに、このデクリメントされた音符ＮＯkに応じて、特定区間ｉ＋１以降の区間開始位置ｓｔ及び特定区間ｉ以降の区間終了位置ｅｎが更新される。
【００６５】
その後、対象特定区間ｉに含まれている各音符ＮＯk（ここでは、特定音符群ＮＯを含む）に、対象規定区間ｊに含まれている音節ＰＨＯlそれぞれを、時間軸に沿った順序にて１対１に割り当てる（Ｓ４４０）。
【００６６】
すなわち、図８（Ａ）に示すように、対象規定区間ｊにおける音節ＰＨＯlが「い／ま／ほ／ん／ね／で」の６つであり、対象特定区間ｉにおける音符ＮＯが７つであるものとする。この場合、本実施形態では、図８（Ｂ）に示すように、対象特定区間ｉにおける音符ＮＯのうち、音符群化スコアＧＳＣが最小となる音符ＮＯk-1，ＮＯkを特定音符群ＮＯk-1として設定して音符ＮＯの数を、対象規定区間ｊにおける音節ＰＨＯlの数に一致させる。その上で、特定音符群ＮＯk-1を含む対象特定区間ｉの各音符ＮＯに、対象規定区間ｊの音節ＰＨＯlそれぞれを割り当てる。
【００６７】
また、Ｓ３３０での比較の結果、区間音節数ＰＨＰＮjが区間音符数ＰＨＮＮiよりも多ければ（Ｓ３３０：ＰＨＮＮi＜ＰＨＰＮj）、入力受付部１３を介して、楽譜データの修正を許可するか否かを表す情報（以下、許可情報とする）を当該情報処理装置１０の利用者に入力させ、その入力された許可情報を取得する（Ｓ３６０）。
【００６８】
続いて、Ｓ３６０にて取得した許可情報が楽譜データの修正を許可しない旨を表していれば（Ｓ３７０：ＮＯ）、後述するＳ４２０，４３０にて調整制御を実行する。
一方、Ｓ３６０にて取得した許可情報が楽譜データの修正を許可する旨を表していれば（Ｓ３７０：ＹＥＳ）、対象特定区間ｉの音符長ＮＬkについて分散（以下、音符長分散とする）を導出する（Ｓ３８０）。その導出された音符長分散が、予め規定された閾値以下であれば（Ｓ３９０：ＮＯ）、即ち、対象特定区間ｉにおける音符長ＮＬkのバラつきが小さければ、対象規定区間ｊの区間音節数ＰＨＰＮjに一致するように、対象特定区間ｉにおける無音時間ＮＭＬkに基づいて対象特定区間ｉ内に新たな音符ＮＯkを追加することを調整制御として実行する（Ｓ４００）。
【００６９】
具体的に、本実施形態のＳ４００における調整制御では、対象特定区間ｉ中での無音時間ＮＭＬk、即ち、休符の時間長が短いものから順に、当該休符を、音符ＮＯkの１つである変更音符ＮＯkへと変更して設定する。なお、休符としての無音時間ＮＭＬkが最短でありかつ同一時間長であるものが少なくとも２つ以上存在する場合、音高差ＮＮＤkが最小である無音時間ＮＭＬkを変更音符ＮＯkへと変更する。また、本実施形態では、無音時間ＮＭＬkが「０」であれば、当該無音時間ＮＭＬkを変更音符ＮＯkへと変更する対象から除外する。
【００７０】
そして、本実施形態のＳ４００では、変更音符ＮＯkの音高（ノートナンバー）ＮＮkを、その変更音符ＮＯkに時間軸に沿って隣接する音符ＮＯk-1，ＮＯk+1の音高ＮＮk-1，ＮＮk+1の中間値に設定する。
【００７１】
このように、無音時間ＮＭＬkが変更音符ＮＯkへと変更されるとき、変更音符ＮＯkが設定される以前に、インデックス番号がｋ以降であった音符ＮＯkのインデックス番号を１つインクリメントする（例えば、音符ＮＯk+1が音符ＮＯk+2となる）。さらに、このインクリメントされた音符ＮＯkに応じて、特定区間ｉ＋１以降の区間開始位置ｓｔ及び特定区間ｉ以降の区間終了位置ｅｎは更新される。
【００７２】
その後、対象特定区間ｉに含まれている各音符ＮＯk（ここでは、変更音符ＮＯkを含む）に、対象規定区間ｊに含まれている音節ＰＨＯlそれぞれを、時間軸に沿った順序にて１対１に割り当てる（Ｓ４４０）。
【００７３】
すなわち、図９（Ａ）に示すように、対象規定区間ｊの音節ＰＨＯlが「さ／い／ご／に／ほ／ん／ね／で」の８つであり、対象特定区間ｉの音符ＮＯkが７つであるものとする。この場合、本実施形態では、図９（Ｂ）に示すように、対象特定区間ｉの無音時間ＮＭＬkのうち、その値が最短（ただし、「０」は除く）のものを変更音符ＮＯkへと変更して音符ＮＯkを追加することで、対象特定区間ｉの音符ＮＯkの数を対象規定区間ｊの音節ＰＨＯlの数に一致させる。その上で、変更音符ＮＯkを含む対象特定区間ｉの各音符ＮＯkに、対象規定区間ｊの音節ＰＨＯlそれぞれを割り当てる。
【００７４】
なお、Ｓ３８０にて導出された音符長分散が閾値よりも大きければ（Ｓ３９０：ＹＥＳ）、即ち、対象特定区間ｉにおける音符長ＮＬkのバラつきが大きければ、対象規定区間ｊの区間音節数ＰＨＰＮjに一致するように、対象特定区間ｉにおける音符長ＮＬkに基づいて対象特定区間ｉ内に新たな音符ＮＯkを追加することを調整制御として実行する（Ｓ４１０）。
【００７５】
本実施形態のＳ４１０における調整制御では、対象特定区間ｉ中の音符ＮＯkの中で、音符長ＮＬkが最大である音符ＮＯkから順に、当該音符ＮＯkを、それぞれが音符ＮＯの１つである基準音符ＮＯk及び分割音符ＮＯk+1へと分割して設定する。ただし、基準音符ＮＯkの音符長ＮＬkは、分割音符ＮＯk+1の音符長ＮＬk+1よりも長いものとする（音符ＮＯkの音符長ＮＬｋ＞基準音符ＮＯkの音符長ＮＬk＋分割音符ＮＯk+1の音符長ＮＬk+1）。なお、本実施形態のＳ４１０では、音符長ＮＬkが最大でありかつ同一時間長である音符ＮＯkが少なくとも２つ以上存在する場合には、音高差ＮＮＤkが最小ものから、基準音符ＮＯk及び分割音符ＮＯk+1へと分割する。
【００７６】
このように、音符ＮＯkを基準音符ＮＯk及び分割音符ＮＯk+1へと分割するとき、分割音符ＮＯk+1が設定される以前に、インデックス番号がｋ＋１であった音符ＮＯk+1のインデックス番号を１つインクリメントする（例えば、音符ＮＯk+1が音符ＮＯk+2となる）。さらに、このインクリメントされた音符ＮＯkに応じて、特定区間ｉ＋１以降の区間開始位置ｓｔ及び対象特定区間ｉ以降の区間終了位置ｅｎiは更新される。
【００７７】
その後、対象特定区間ｉに含まれている各音符ＮＯk（ここでは、基準音符ＮＯk及び分割音符ＮＯk+1を含む）に、対象規定区間ｊに含まれている音節ＰＨＯlそれぞれを、時間軸に沿った順序にて１対１に割り当てる（Ｓ４４０）。
【００７８】
すなわち、図１０（Ａ）に示すように、対象規定区間ｊの音節ＰＨＯlが「さ／い／ご／に／ほ／ん／ね／で」の８つであり、対象特定区間ｉの音符ＮＯkが７つであるものとする。この場合、本実施形態では、図１０（Ｂ）に示すように、対象特定区間ｉの音符ＮＯkのうち、音符長ＮＬkが最長のものを基準音符ＮＯk及び分割音符ＮＯk+1の２つの音符ＮＯに分割することで、対象特定区間ｉの音符ＮＯkの数を対象規定区間ｊの音節ＰＨＯlの数に一致させる。その上で、基準音符ＮＯk及び分割音符ＮＯk+1を含む対象特定区間ｉの各音符ＮＯkに、対象規定区間ｊの音節ＰＨＯlそれぞれを割り当てる。
【００７９】
一方、Ｓ３６０にて取得した許可情報が楽譜データの修正を許可しない旨を表していれば（Ｓ３７０：ＮＯ）、音節長ＰＨＯ＿ＬＥＮl-1と音節長ＰＨＯ＿ＬＥＮlとの和を、対象規定区間ｊにおける音節ＰＨＯl-1，ＰＨＯlの組合せ毎に算出する（Ｓ４２０）。続いて、それらの音節長ＰＨＯ＿ＬＥＮl-1，ＰＨＯ＿ＬＥＮlの和に基づいて、対象特定区間ｉの音符ＮＯkの数に一致するように、対象規定区間ｊの音節ＰＨＯlの数を減少させることを調整制御として実行する（Ｓ４３０）。
【００８０】
本実施形態のＳ４３０における調整制御では、具体的に、音節長ＰＨＯ＿ＬＥＮl-1，ＰＨＯ＿ＬＥＮlの和が最小となる音節ＰＨＯl-1，ＰＨＯlの組合せから順に、音節ＰＨＯの１つである特定音節群ＰＨＯl-1を設定する。このとき、インデックス番号がｌ＋１以降である音節ＰＨＯl+1のインデックス番号を１つデクリメントする（例えば、音節ＰＨＯl+1が音節ＰＨＯlとなる）。さらに、このデクリメントされた音節ＰＨＯlに応じて、規定区間ｊ＋１以降の区切開始位置ｐｈｓ及び対象規定区間ｊ以降の区切終了位置ｐｈｅが更新される。
【００８１】
その後、対象特定区間ｉに含まれている各音符ＮＯkに、対象規定区間ｊに含まれている音節ＰＨＯl（ここでは、特定音節群ＰＨＯlを含む）それぞれを、時間軸に沿った順序にて１対１に割り当てる（Ｓ４４０）。
【００８２】
すなわち、図１１（Ａ）に示すように、対象規定区間ｊの音節ＰＨＯlが「きょ／う／こ／そ／ほ／ん／ね／で」の８つであり、対象特定区間ｉの音符ＮＯkが７つであるものとする。この場合、本実施形態では、図１１（Ｂ）に示すように、対象規定区間ｊの音節ＰＨＯlのうち、音節長ＰＨＯ＿ＬＥＮl-1，ＰＨＯ＿ＬＥＮlの和が最小となる音節ＰＨＯl-1，ＰＨＯlの組合せを特定音節群ＰＨＯl-1として設定することで、対象規定区間ｊの音節ＰＨＯlの数を対象特定区間ｉ中の区間音符数ＰＨＮＮiに一致させる。その上で、対象特定区間ｉの各音符ＮＯkに、特定音節群ＰＨＯl-1を含む対象規定区間ｊの音節ＰＨＯlそれぞれを割り当てる。
【００８３】
Ｓ４４０に続いて実行されるＳ４５０では、対象特定区間ｉのインデックス番号ｉが、特定区間ｉの最大のインデックス番号ｉmaxよりも大きいか否かを判定する。その判定の結果、対象特定区間ｉのインデックス番号ｉが最大のインデックス番号ｉmaxよりも小さければ（Ｓ４５０：ＮＯ）、対象特定区間ｉのインデックス番号ｉ及び対象規定区間ｊのインデックス番号ｊの両方を１つインクリメントし（Ｓ４６０）、Ｓ３２０へと戻る。
【００８４】
一方、Ｓ４５０での判定の結果、対象特定区間ｉのインデックス番号ｉが最大のインデックス番号ｉmaxよりも大きければ（Ｓ４５０：ＹＥＳ）、即ち、楽譜データ中の全ての特定区間ｉに対して歌詞データ中の規定区間ｊの歌詞を割り当てることが完了していれば、本割当処理を終了して、歌詞割当処理へと戻る。
【００８５】
つまり、本実施形態の歌詞割当処理では、区間音符数ＰＨＮＮiが区間音節数ＰＨＰＮjよりも多ければ、時間軸に沿って連続する２つの音符ＮＯk-1，ＮＯkを特定音符群ＮＯk-1として設定して、特定区間ｉ内での音符ＮＯkの数を減少させる。
【００８６】
また、区間音符数ＰＨＮＮiが区間音節数ＰＨＰＮjよりも少なく、かつ楽譜データの修正が許可されていれば、特定区間ｉ内での音符ＮＯkの数を増加させる。一方、区間音符数ＰＨＮＮiが区間音節数ＰＨＰＮjよりも少なく、かつ楽譜データの修正が許可されていなければ、時間軸に沿って連続する２つの音節ＰＨＯl-1，ＰＨＯlを特定音節群ＰＨＯl-1として設定して、規定区間ｊ内での音節ＰＨＯlの数を減少させる。
【００８７】
これらによって、特定区間i内での音符ＮＯkの数と規定区間ｊ内での音節ＰＨＯlの数とが自動で一致されると、本実施形態の割当処理では、当該特定区間ｉ内の各音符ＮＯkに、当該規定区間ｊ内の音節ＰＨＯlそれぞれを、時間軸に沿った順序にて１対１に割り当てる。
［実施形態の効果］
したがって、作詞作曲の専門知識を有していない一般の利用者であっても、本実施形態の情報処理装置１０を用いることで、楽曲に適するように歌詞を割り当てることができる。
【００８８】
特に、情報処理装置１０によれば、区間音符数ＰＨＮＮiが区間音節数ＰＨＰＮjより多い場合や、区間音符数ＰＨＮＮiが区間音節数ＰＨＰＮjより少ない場合、楽譜データの修正が許可されていない場合であっても、楽曲データ中の音符ＮＯkに歌詞データ中の音節ＰＨＯlを１対１で割り当てることができる。つまり、情報処理装置１０によれば、歌詞を割当可能な楽曲を多様なものとすることができる。
【００８９】
また、情報処理装置１０によれば、特定音符群ＮＯk-1を構成する２つの音符ＮＯk-1，ＮＯk間の音高差ＮＮＤkは小さく、かつ無音時間ＮＭＬkは短いものとなる。したがって、特定音符群ＮＯk-1に対応する区間では、１つの音節ＰＨＯlの発声中に音高を大きく変化させる必要がなく、しかも、１つの音節ＰＨＯlを長時間発声する必要がない。つまり、情報処理装置１０によれば、特定音符群ＮＯk-1に対応する区間を、一般の歌唱者にとって、唄いやすいものとすることができる。
【００９０】
これらの結果、情報処理装置１０の利用者は、音楽をより楽しむことができる。
さらに、情報処理装置１０では、無音時間ＮＭＬkから変更音符ＮＯkへと変更する際に、変更音符ＮＯkの音高ＮＮkを、その変更音符ＮＯkに時間軸に沿って隣接する音符ＮＯk-1，ＮＯk+1の音高ＮＮk-1，ＮＮk+1の中間値に設定している。
【００９１】
このため、情報処理装置１０によれば、変更音符ＮＯkの音高ＮＮkを、音符ＮＯk-1の音高ＮＮk-1から自然に推移させることができ、変更音符ＮＯkが設定された後の楽曲が聞き苦しくなることを低減できる。
【００９２】
なお、情報処理装置１０では、時間長が短い無音時間ＮＭＬkが変更音符ＮＯkへと変更し、音符長ＮＬkが最長の音符ＮＯkから順に、基準音符ＮＯk及び分割音符ＮＯk+1へと分割している。
【００９３】
これらのことから、情報処理装置１０によれば、変更音符ＮＯkや分割音符ＮＯk+1が設定された後の楽曲を、当該楽曲の元々の楽曲に対して作曲者が意図したことから逸脱することを可能な限り抑制できる。
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【００９４】
例えば、上記実施形態における特定音符群ＮＯkは、時間軸に沿って連続する２つの音符ＮＯk，ＮＯk+1によって構成されていたが、特定音符群ＮＯkを構成する音符ＮＯは、２つの音符ＮＯに限るものではない。つまり、割当処理のＳ３５０における調整制御では、特定区間ｉにおける音符ＮＯkの数を区間音節数ＰＨＰＮjに一致可能であれば、時間軸に沿って連続する２つ以上の音符ＮＯk，ＮＯk+1，…を１つの特定音符群ＮＯkとして設定しても良い。
【００９５】
また、上記実施形態における特定音節群ＰＨＯlは、時間軸に沿って連続する２つの音節ＰＨＯl，ＰＨＯl+1によって構成されていたが、特定音節群ＰＨＯlを構成する音節ＰＨＯは、２つの音節ＰＨＯに限るものではない。つまり、割当処理のＳ４３０における調整制御では、規定区間ｊにおける音節ＰＨＯlの数を区間音符数ＰＨＮＮiに一致可能であれば、時間軸に沿って連続する２つ以上の音節ＰＨＯl，ＰＨＯl+1，…を１つの特定音節群ＰＨＯlとして設定しても良い。
【００９６】
さらに、上記実施形態の割当処理におけるＳ４００では、変更音符ＮＯkへと変更する無音時間ＮＭＬkは、その無音時間ＮＭＬkが最短のものであったが、変更音符ＮＯkへと変更される無音時間ＮＭＬkは、これに限るものではなく、例えば、無音時間ＮＭＬkが最長のものであってもよい。
【００９７】
また、上記実施形態のＳ４００では、無音時間ＮＭＬkを変更音符ＮＯkへと変更する際に、その変更音符ＮＯkの音高ＮＮkを、変更音符ＮＯkに隣接する音符ＮＯk-1の音高ＮＮk-1と音符ＮＯk+1の音高ＮＮk+1との中間値としていたが、変更音符ＮＯkの音高ＮＮkは、必ずしもこの音高（中間値）でなくとも良い。例えば、上記実施形態と同様の方法にて変更音符ＮＯkの音高ＮＮkを設定した後、楽曲の調が不響となる場合には、つまり、設定された音高（前記中間値）が不協和音になることを、制御部２０が検出した場合には、変更音符ＮＯkの音高ＮＮkに隣接して楽曲の調が不響とならない音高の値へ自動設定しても良い。または、制御部２０が表示部１２に設定された音高（前記中間値）が楽曲の調が不響になる表示を行うことで、変更音符ＮＯkの音高ＮＮkを情報処理装置１０の利用者が指定する音高ＮＮkに入力受付部１３を介して変更しても良い。
【００９８】
さらに、上記実施形態のＳ４１０では、音符長ＮＬkが最大である音符ＮＯkを、基準音符ＮＯk及び分割音符ＮＯk+1へと分割していたが、基準音符ＮＯk及び分割音符ＮＯk+1へと分割される音符ＮＯkは、これに限るものではない。例えば、予め規定された音符長ＮＬk以上の音符ＮＯkであれば、どのような音符ＮＯkを、基準音符ＮＯk及び分割音符ＮＯk+1へと分割してもよい。
【００９９】
また、上記実施形態における基準音符ＮＯkの音符長ＮＬkは、分割音符ＮＯk+1の音符長ＮＬk+1よりも長い時間長であったが、基準音符ＮＯkの音符長ＮＬkは、分割音符ＮＯk+1の音符長ＮＬk+1よりも短くとも良い。
【０１００】
なお、上記実施形態のＳ３４０にて導出される音符群化スコアＧＳＣkは、音高差ＮＮＤkが小さいほど、かつ無音時間ＮＭＬkが短いほど値が小さくなるものであったが、音符群化スコアＧＳＣkとして算出される値は、これに限るものではない。音符群化スコアＧＳＣkは、例えば、音高差ＮＮＤkのみに比例するものであっても良いし、無音時間ＮＭＬkのみに比例するものであっても良い。つまり、上記実施形態における（５）式は、前者であれば、音高差ＮＮＤkに関する項のみで良く、後者であれば、無音時間ＮＭＬkに関する項のみで良い。
［実施形態と特許請求の範囲との対応関係］
最後に、上記実施形態の記載と、特許請求の範囲の記載との関係を説明する。
【０１０１】
上記実施形態の歌詞割当処理におけるＳ１１０〜Ｓ１３０を実行することで得られる機能が、本発明の音符数取得手段に相当し、歌詞割当処理におけるＳ１５０〜Ｓ１９０を実行することで得られる機能が、本発明の音節数取得手段に相当する。
【０１０２】
また、上記実施形態の割当処理におけるＳ４４０を実行することで得られる機能が、本発明の割当手段に相当し、割当処理におけるＳ３１０〜Ｓ４３０を実行することで得られる機能が、本発明の調整手段に相当する。
【０１０３】
さらに、上記実施形態の割当処理におけるＳ３３０〜Ｓ３５０を実行することで得られる機能が、本発明の音符調整手段に相当する。そして、割当処理におけるＳ３３０，Ｓ３８０〜Ｓ４１０を実行することで得られる機能が、本発明の音符増加手段に相当し、割当処理におけるＳ３３０，Ｓ３６０，Ｓ３７０，Ｓ４２０，Ｓ４３０を実行することで得られる機能が、本発明の音節調整手段に相当する。
【符号の説明】
【０１０４】
１０…情報処理装置  １１…通信部  １２…表示部  １３…入力受付部  １４…記憶部  ２０…制御部  ２１…ＲＯＭ  ２２…ＲＡＭ  ２３…ＣＰＵ  ８０…歌詞データ  ８１…文書データ  ８２…区切記号
【図１】
0005463954.tif 000007
【図２】
0005463954.tif 000008
【図４】
0005463954.tif 000009
【図５】
0005463954.tif 000010
【図６】
0005463954.tif 000011
【図３】
0005463954.tif 000012
【図７】
0005463954.tif 000013
【図８】
0005463954.tif 000014
【図９】
0005463954.tif 000015
【図１０】
0005463954.tif 000016
【図１１】
0005463954.tif 000017