(57)【特許請求の範囲】
【請求項１】
複数の単位区間の各々について旋律が付与された楽曲を生成する装置であって、
楽曲のコード進行を指定するコード進行データを取得するコード取得手段と、
前記複数の単位区間の各々について、前記コード進行データが当該単位区間について指定するコードと旋律データが指定する旋律の複数の音符の各々の音高との関係に応じた第１評価値から前記各音符の音符評価値を算定し、前記複数の音符の音符評価値に応じた旋律評価値を、相異なる旋律を指定する旋律データ毎に算定する旋律評価手段と、
前記複数の単位区間の各々について、当該単位区間における前記各旋律データの旋律評価値に応じて前記複数の旋律データの何れかを選択する旋律選択手段と
を具備する楽曲生成装置。
【請求項２】
前記旋律評価手段は、前記旋律データが指定する旋律の複数の音符の各々について、前記第１評価値と、当該音符の継続長に応じた第２評価値とから音符評価値を算定し、前記複数の音符の音符評価値に応じた前記旋律評価値を算定する
請求項１の楽曲生成装置。
【請求項３】
前記旋律評価手段は、前記旋律データが指定する旋律を構成する音符が、前記コード進行データで指定されるコードの構成音に該当する場合と、当該コードの根音に対応するペンタトニックの構成音に該当する場合と、当該コードの構成音およびペンタトニックの構成音の何れにも該当しない場合とで、前記第１評価値を個別に設定する
請求項２の楽曲生成装置。
【請求項４】
前記旋律評価手段は、前記旋律データが指定する旋律を構成する音符が特定の音高である場合に、前記第１評価値を、当該音符の音符評価値を低下させる数値に設定する
請求項３の楽曲生成装置。
【請求項５】
前記旋律評価手段は、前記複数の音符の音符評価値の加算値を前記複数の音符の合計長により除算することで前記旋律評価値を算定する
請求項２から請求項４の何れかの楽曲生成装置。
【請求項６】
複数の単位区間の各々について旋律が付与された楽曲を生成する方法であって、
コンピュータが、
楽曲のコード進行を指定するコード進行データを取得し、
前記複数の単位区間の各々について、前記コード進行データが当該単位区間について指定するコードと旋律データが指定する旋律の複数の音符の各々の音高との関係に応じた第１評価値から前記各音符の音符評価値を算定し、前記複数の音符の音符評価値に応じた旋律評価値を、相異なる旋律を指定する旋律データ毎に算定し、
前記複数の単位区間の各々について、当該単位区間における前記各旋律データの旋律評価値に応じて前記複数の旋律データの何れかを選択する
楽曲生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲を生成する技術に関する。
【背景技術】
【０００２】
楽曲を自動的に生成する技術（自動作曲技術）が従来から提案されている。例えば非特許文献１には、歌詞の韻律に応じて音高が変動するように選定された音符列と、複数種のリズムパターンから音符数に応じて選定されたリズムパターンとで規定される楽曲を生成する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】深山ほか６名，“Orpheus：歌詞の韻律に基づいた自動作曲システム”，情報処理学会研究報告［音楽情報科学］，2008(78)，p.179-184，2008年7月30日
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、非特許文献１の技術では、歌詞の韻律に対応するように楽曲の音符列が制約されるから、音楽的に不自然で単調な楽曲が生成される可能性がある。以上の事情を考慮して、本発明は、音楽的に自然で多様な楽曲を生成することを目的とする。
【課題を解決するための手段】
【０００５】
以上の課題を解決するために本発明が採用する手段を説明する。なお、本発明の理解を容易にするために、以下の説明では、本発明の各要素と後述の各実施形態の要素との対応を括弧書で付記するが、本発明の範囲を実施形態の例示に限定する趣旨ではない。
【０００６】
本発明の楽曲生成装置は、複数の単位区間の各々について旋律が付与された楽曲を生成する装置であって、楽曲のコード進行を指定するコード進行データを取得するコード取得手段（例えば情報取得部３２）と、複数の単位区間の各々について、コード進行データが指定する当該単位区間でのコード進行と旋律データが指定する旋律との関係に応じた旋律評価値（例えば旋律評価値ＥA）を、相異なる旋律を指定する旋律データ毎に算定する旋律評価手段（例えば楽曲生成部３４／旋律評価処理Ｓ13）と、複数の単位区間の各々について、当該単位区間における各旋律データの旋律評価値に応じて複数の旋律データの何れかを選択する旋律選択手段（例えば楽曲生成部３４／旋律選択処理Ｓ15）とを具備する。以上の構成では、楽曲のコード進行を指定するコード進行データに応じた旋律評価値が旋律データ毎に算定されて旋律データの選択に反映される。したがって、歌詞の韻律に対応するように楽曲の音符列が制約される非特許文献１の技術と比較して、音楽的に自然で多様な楽曲を生成できるという利点がある。なお、本発明における「旋律」は、複数の音の時系列（音の並び）を意味する。
【０００７】
本発明の好適な態様において、旋律評価手段は、旋律データが指定する旋律の複数の音符の各々について、コード進行データが指定するコードと当該音符の音高との関係に応じた第１評価値（例えば第１評価値ｅ1）と、当該音符の継続長に応じた第２評価値（例えば第２評価値ｅ2）とから音符評価値（例えば音符評価値ｅ）を算定し、複数の音符の音符評価値に応じた旋律評価値を算定する、以上の態様では、コード進行データが指定するコードと音符の音高との関係に応じた第１評価値と音符の継続長に応じた第２評価値とを反映した音符毎の音符評価値が算定される。したがって、例えばコード進行データが指定するコードと特定の関係にある音符や継続長が長い音符（音楽的に重要な音符）を含む旋律データを優先的に選択することが可能である。
【０００８】
本発明の好適な態様において、旋律評価手段は、旋律データが指定する旋律を構成する音符が、コード進行データで指定されるコードの構成音に該当する場合と、当該コードの根音に対応するペンタトニックの構成音に該当する場合と、当該コードの構成音およびペンタトニックの構成音の何れにも該当しない場合とで、第１評価値を個別に設定する。以上の態様では、コードの構成音やペンタトニックの構成音を含む旋律データを優先的に選択したり、コードの構成音やペンタトニックの構成音を含まない旋律データを優先的に選択したりすることが可能である。
【０００９】
本発明の好適な態様において、旋律評価手段は、旋律データが指定する旋律を構成する音符が特定の音高である場合に、第１評価値を、当該音符の音符評価値を低下させる数値に設定する。以上の態様では、旋律データが特定の音高の音符を指定する場合に音符指標値が小さい数値に設定されるから、特定の音高を含む旋律の旋律データが選択される可能性を低減することが可能である。
【００１０】
本発明の好適な態様において、旋律評価手段は、複数の音符の音符評価値の加算値（例えば加算値Ｔa）を複数の音符の合計長（例えば合計長Ｔb）により除算することで旋律評価値を算定する。以上の態様では、音符指標値の加算値を音符の合計長により除算することで、評価指標値を、音符の合計長に依存しない数値に正規化できるという利点がある。
【００１１】
以上の各態様に係る楽曲生成装置は、専用のＤＳＰ（Digital Signal Processor）などのハードウェア（電子回路）によって実現されるほか、ＣＰＵ（Central Processing Unit）などの汎用の演算処理装置とプログラムとの協働によっても実現される。本発明に係るプログラムは、複数の単位区間の各々について旋律が付与された楽曲を生成するために、コンピュータに、楽曲のコード進行を指定するコード進行データを取得するコード取得処理と、複数の単位区間の各々について、コード進行データが指定する当該単位区間でのコード進行と旋律データが指定する旋律との関係に応じた旋律評価値を、相異なる旋律を指定する旋律データ毎に算定する旋律評価処理（旋律評価処理Ｓ13）と、複数の単位区間の各々について、当該単位区間における各旋律データの旋律評価値に応じて複数の旋律データの何れかを選択する旋律選択処理（旋律選択処理Ｓ15）とを実行させる。以上のプログラムによれば、本発明に係る楽曲生成装置と同様の作用および効果が実現される。なお、本発明のプログラムは、コンピュータが読取可能な記録媒体に格納された形態で提供されてコンピュータにインストールされるほか、通信網を介した配信の形態で提供されてコンピュータにインストールされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係る楽曲生成装置のブロック図である。
【図２】旋律データの内容および旋律評価値の算定の説明図である。
【図３】楽曲を構成する各単位区間と指定文字列を構成する各文字群との説明図である。
【図４】コード進行データの模式図である。
【図５】楽曲生成処理のフローチャートである。
【図６】文字割当処理のフローチャートである。
【図７】旋律評価処理のフローチャートである。
【図８】文字列評価処理のフローチャートである。
【図９】旋律調整処理のフローチャートである。
【図１０】第２実施形態におけるコード進行データの単位データの模式図である。
【図１１】第３実施形態における指定文字列の模式図である。
【図１２】第６実施形態における指定文字列の模式図である。
【図１３】第６実施形態に係る楽曲生成装置のブロック図である。
【発明を実施するための形態】
【００１３】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る楽曲生成装置１００Aのブロック図である。楽曲生成装置１００Aは、楽曲を生成してその楽曲の演奏音の音響信号Ｖを出力する信号処理装置（自動作曲装置）である。以下の説明では、歌唱音が旋律を担当する歌唱曲を生成する場合を例示する。
【００１４】
楽曲生成装置１００Aには入力装置１２と放音装置１４とが接続される。入力装置１２は、利用者からの指示を受付ける機器（例えばマウスやキーボード）である。放音装置１４（例えばスピーカやヘッドホン）は、楽曲生成装置１００Aから供給される音響信号Ｖに応じた音波を放射する。なお、音響信号Ｖをデジタルからアナログに変換するＤ/Ａ変換器等の図示は便宜的に省略されている。
【００１５】
第１実施形態の楽曲生成装置１００Aは、演算処理装置２２と記憶装置２４とを具備するコンピュータシステムで実現される。演算処理装置２２は、記憶装置２４に記憶されたプログラムＰGMを実行することで、楽曲を生成するための複数の機能（情報取得部３２，楽曲生成部３４，楽音生成部４２，音声合成部４４，混合部４６）を実現する。なお、演算処理装置２２の各機能を複数の集積回路に分散した構成や、専用の電子回路（ＤＳＰ）が一部の機能を分担する構成も採用され得る。
【００１６】
記憶装置２４は、演算処理装置２２が記憶するプログラムＰGMや演算処理装置２２が使用する各種のデータを記憶する。半導体記録媒体や磁気記録媒体等の公知の記録媒体が記憶装置２４として任意に採用され得る。記憶装置２４を複数の記録媒体で構成することも可能である。図１に示すように、記憶装置２４は、複数の旋律データＤMを記憶する。複数の旋律データＤMの各々は、楽曲生成の素材として使用される旋律（以下「素材旋律」という）を指定するデータであり、図１に示すように、音符列データＤM1と区間データＤM2とを含んで構成される。
【００１７】
音符列データＤM1は、図２に示すように、素材旋律を構成する複数の音符の時系列を指定する。具体的には、音符列データＤM1は、素材旋律の複数の音符の各々について音高と発音期間（発音時点および継続長）とを指定する。既存の楽曲から抽出された所定長の旋律を素材旋律として各音符列データＤM1が生成される。第１実施形態では、４/４拍子の楽曲の２小節分（８分音符の１６個分）を素材旋律とした場合を例示する。音符列データＤM1は、例えばMIDI（Musical Instrument Digital Interface）規格に準拠した形式で記述され得る。具体的には、素材旋律の各音符の音高（ノートナンバ）を指定して発音や消音を指定するイベントデータと各イベントデータの処理間隔（音符の継続長や間隔）を指定するタイミングデータとを配列した時系列データが音符列データＤM1として好適である。
【００１８】
第１実施形態の楽曲生成装置１００Aは、図３に示すように、複数（Ｋ個）の単位区間Ｕで構成される楽曲を生成する。１個の単位区間Ｕは、例えば楽曲の所定個の小節に相当する区間である。以下の説明では、１個の単位区間Ｕが、素材旋律と同様に、４/４拍子の楽曲の２小節分（８分音符１６個分）に相当する場合を想定する。Ｋ個の単位区間Ｕの各々について複数の旋律データＤMの何れかが順次に選択され、旋律データＤM（音符列データＤM1）に応じて単位区間Ｕ毎の旋律を選定した楽曲が生成される。
【００１９】
区間データＤM2は、図２に示すように、音符列データＤM1が指定する素材旋律を時間軸上で複数の区間（以下「旋律区間」という）Ｂに区分するためのデータであり、時間軸上での各旋律区間Ｂの境界点を指定する。例えば素材旋律内で音楽的な纏まりがある区間を単位として各旋律区間Ｂが画定される。区間データＤM2は、例えば旋律データＤMの制作者（楽曲生成装置１００Aの提供者）が素材旋律を聴取したうえで音楽的な印象を考慮して任意に設定する。
【００２０】
以上に説明した各旋律データＤMは、例えばＳＭＦ（Standard MIDI File）形式の音楽ファイルとして記述され得る。具体的には、音符列データＤM1と区間データＤM2とは別個のトラック（チャネル）として記述される。区間データＤM2は、例えば境界点を意味するイベントデータと各イベントデータの時点（境界点の時点）を指定するタイミングデータとを配列したMIDI形式のデータとして記述される。
【００２１】
図１の情報取得部３２は、楽曲生成に適用される情報を取得する。第１実施形態の情報取得部３２は、コード進行データＤCと指定文字列ＤLと変数データＤXとを入力装置１２に対する利用者からの指示に応じて生成する。図１に示すように、情報取得部３２が生成した情報（ＤC，ＤL，ＤX）は記憶装置２４に格納される。なお、可搬型または据置型の記録媒体から情報取得部３２が情報（ＤC，ＤL，ＤX）を取得する構成や、通信網を介して他の通信端末から情報取得部３２が情報を取得する構成も採用され得る。
【００２２】
コード進行データＤCは、楽曲のコード進行を指定する。具体的には、コード進行データＤCは、図４に示すように、楽曲内の各拍点（例えば８分音符毎）に対応する単位データＤUを時系列に配列した構造である。具体的には、各単位データＤUは、小節番号と拍点番号とコードとを指定する。例えば、図４において「１-１：Ｃ」と表記された単位データＤUは、楽曲の１小節目の第１拍目（最初の８分音符）のコードとして「Ｃ」を指定し、「１-５：Ｆ」と表記された単位データＤUは、楽曲の１小節目の第５拍目のコードとして「Ｆ」を指定する。コードの指定を含まない単位データＤU（例えば図４の「１-２：」と表記された単位データＤU）は、直前に指定されたコードが維持されることを意味する。
【００２３】
コード進行データＤCは、例えばテキスト形式の文書ファイルとして記述される。すなわち、図４に例示される通り、単位データＤUの内容を１行毎に利用者が入力装置１２から順次に文字入力し、情報取得部３２は、利用者が作成した文書ファイルをコード進行データＤCとして記憶装置２４に格納する。利用者は、コード進行データＤC内の単位データＤUの総数を任意に設定し得る。楽曲を構成する単位区間Ｕの総数Ｋ（楽曲の時間長）は、コード進行データＤC内の単位データＤUの総数に応じて可変に設定される。第１実施形態では、１個の単位データＤUが８分音符に対応するとともに１個の単位区間Ｕが４/４拍子の２小節分（８分音符の１６個分）に相当するから、例えばコード進行データＤCが６４個の単位データＤUを含む場合には、４個の単位区間Ｕ（８分音符の６４個に相当する８小節分）で構成される楽曲が生成される。
【００２４】
指定文字列ＤLは、楽曲の歌詞の文字列である。情報取得部３２は、入力装置１２に対する利用者からの指示（文字入力）に応じて指定文字列ＤLを可変に設定する。変数データＤXは、楽曲生成に適用される変数を指定する。情報取得部３２は、入力装置１２に対する利用者からの指示に応じて各変数の数値を可変に設定する。変数データＤXが指定する変数の具体例については後述する。以上の説明から理解されるように、演算処理装置２２が実現する情報取得部３２は、コード進行データＤCを取得する要素（コード取得手段），指定文字列ＤLを取得する要素（文字列取得手段），および変数データＤXを取得する要素として機能する。
【００２５】
図１の楽曲生成部３４は、各旋律データＤMとコード進行データＤCと指定文字列ＤLと変数データＤXとを利用して楽曲データＱを生成する。楽曲データＱは、楽曲の旋律を指定するデータであり、図３に示すように、各単位区間Ｕに対応する旋律データＱUの時系列で構成される。図５は、楽曲生成部３４が楽曲データＱを生成する処理（以下「楽曲生成処理」という）のフローチャートである。コード進行データＤCと指定文字列ＤLと変数データＤXとが記憶装置２４に記憶された状態で、入力装置１２に対する操作により利用者が楽曲生成の開始を指示した場合に図５の楽曲生成処理が開始される。
【００２６】
楽曲生成処理を開始すると、楽曲生成部３４は、記憶装置２４に記憶された指定文字列ＤLとＫ個の単位区間Ｕの各々とを相互に対応させる文字割当処理Ｓ11を実行する。図６は、文字割当処理Ｓ11のフローチャートである。文字割当処理Ｓ11を開始すると、楽曲生成部３４は、指定文字列ＤLを平仮名に変換したうえで（ＳA11）、図３に示すように指定文字列ＤLを複数の文字群Ｇに区分する（ＳA12）。第１実施形態では、指定文字列ＤLを文節毎に文字群Ｇに区分する。したがって、文字群Ｇ毎に文字数は相違する。指定文字列ＤLの文節の特定には、形態素解析等の公知の自然言語処理が任意に利用され得る。なお、指定文字列ＤLが平仮名で入力された場合にはステップＳA11の処理は省略される。
【００２７】
楽曲生成部３４は、図３に示すように、指定文字列ＤLを区分した複数の文字群ＧをＫ個の単位区間Ｕに分配する（ＳA13）。具体的には、指定文字列ＤLの複数の文字群Ｇの時系列が、相異なる単位区間Ｕに対応するＫ個の集合に区分される。例えば、各単位区間Ｕに分配される文字群Ｇの個数がＫ個の単位区間Ｕについて可能な限り均等化される（単位区間Ｕ毎の文字群Ｇの個数の差異が最小化される）ように複数の文字群Ｇが時系列の順番で各単位区間Ｕに区分される。以上に説明したように、演算処理装置２２が文字割当処理Ｓ11を実行することで、指定文字列ＤLの複数の文字群Ｇを各単位区間Ｕに分配する要素（文字割当手段）が実現される。
【００２８】
文字割当処理Ｓ11が終了すると、楽曲生成部３４は、Ｋ個の単位区間Ｕから１個の単位区間Ｕ（以下「対象単位区間Ｕ」という）を選択する（Ｓ12）。楽曲生成処理の開始直後のステップＳ12では第１番目の単位区間Ｕが対象単位区間Ｕとして選択される。楽曲生成部３４は、対象単位区間Ｕについて旋律データＱUを生成する旋律生成処理（Ｓ13〜Ｓ16）を実行し、Ｋ個の単位区間Ｕの各々について旋律生成処理が完了したか否かを判定する（Ｓ17）。旋律データＱUを生成していない単位区間Ｕが存在する場合（Ｓ17：NO）、楽曲生成部３４は、現在の対象単位区間Ｕの直後の単位区間Ｕを新たな対象単位区間Ｕとして選択したうえで（Ｓ12）、更新後の対象単位区間Ｕについて旋律生成処理（Ｓ13〜Ｓ16）を実行する。すなわち、Ｋ個の単位区間Ｕの各々について旋律生成処理（Ｓ13〜Ｓ16）が順次に反復されることで楽曲の各単位区間Ｕの旋律データＱUが生成される。なお、第１実施形態ではＫ個の単位区間Ｕを先頭から末尾に向かう順番で順次に選択するが、Ｋ個の単位区間Ｕを末尾から先頭に向かう順番で順次に選択することも可能である。
【００２９】
旋律生成処理（Ｓ13〜Ｓ16）は、旋律評価処理Ｓ13と文字列評価処理Ｓ14と旋律選択処理Ｓ15と旋律調整処理Ｓ16とを含んで構成される。旋律評価処理Ｓ13は、対象単位区間Ｕについてコード進行データＤCが指定するコード進行と旋律データＤMが指定する旋律との関係（音楽的な相関度）に応じた旋律評価値ＥAを記憶装置２４内の複数の旋律データＤMの各々について算定する処理である。文字列評価処理Ｓ14は、文字割当処理Ｓ11で対象単位区間Ｕに分配した各文字群Ｇと旋律データＤMが指定する旋律との関係に応じた旋律評価値ＥBを記憶装置２４内の複数の旋律データＤMの各々について算定する処理である。第１実施形態では、旋律評価処理Ｓ13で算定された旋律評価値ＥAを文字列評価処理Ｓ14により調整することで旋律評価値ＥBを算定する。
【００３０】
旋律選択処理Ｓ15は、旋律データＤM毎に算定された旋律評価値ＥBに応じて記憶装置２４内の複数の旋律データＤMから１個の旋律データＤMを選択する処理である。具体的には、複数の旋律データＤMのうち旋律評価値ＥBが最大となる旋律データＤMが選択される。旋律調整処理Ｓ16は、旋律選択処理Ｓ15で選択した１個の旋律データＤMを調整することで対象単位区間Ｕの旋律データＱUを生成する処理である。以上に概説した旋律生成処理（Ｓ13〜Ｓ16）がＫ個の単位区間Ｕの各々について順次に実行される。各処理（Ｓ13〜Ｓ16）の具体的な内容を以下に説明する。
【００３１】
＜旋律評価処理Ｓ13＞
図７は、旋律評価処理Ｓ13のフローチャートである。旋律評価処理Ｓ13を開始すると、楽曲生成部３４は、記憶装置２４に記憶された複数の旋律データＤMのうち１個の旋律データＤM（以下「対象旋律データＤM」という）を選択する（ＳB11）。そして、楽曲生成部３４は、対象旋律データＤMの音符列データＤM1が指定する素材旋律の複数の音符の各々について音符評価値ｅを算定する（ＳB12）。
【００３２】
音符評価値ｅは、図２に示すように、第１評価値ｅ1と第２評価値ｅ2とに応じて算定される。第１実施形態の楽曲生成部３４は、第１評価値ｅ1と第２評価値ｅ2との乗算値を音符評価値ｅとして算定する。１個の音符の第１評価値ｅ1は、その音符の発音時点についてコード進行データＤCが指定するコードＺCとその音符の音高ＺPとの関係に応じた数値に設定される。
【００３３】
具体的には、第１評価値ｅ1は、音符の音高ＺPがコードＺCの構成音に該当する場合には数値ａ1に設定され、音高ＺPがコードＺCの根音のペンタトニックの構成音（コードＺCの構成音を除く）に該当する場合には数値ａ2に設定され、音高ＺPがコードＺCの構成音およびペンタトニックの構成音の何れにも該当しない幹音である場合には数値ａ3に設定される。音符の音高ＺPが何れにも該当しない場合、第１評価値ｅ1はゼロに設定される。
【００３４】
数値ａ1から数値ａ3の各々は、変数データＤXにて指定される正数である。情報取得部３２は、入力装置１２に対する利用者からの指示に応じて数値ａ1から数値ａ3の各々を個別に設定する。図２では、コードの構成音に対応する数値ａ1を「５」に設定し、ペンタトニックの構成音に対応する数値ａ2を「３」に設定し、他の幹音に対応する数値ａ3を「１」に設定した場合が想定されている。したがって、コード進行データＤCが指定するコードＺCが「Ｆ」である区間に着目すると、図２に示すように、音高ＺPが「Ｆ（ファ）」（コードの構成音）に設定された音符の第１評価値ｅ1は「５（ａ1）」に設定され、音高ＺPが「Ｄ（レ）」（ペンタトニックの構成音）に設定された音符の第１評価値ｅ1は「３（ａ2）」に設定され、音高ＺPが「Ｅ（ミ）」（何れにも該当しない幹音）に設定された音符の第１評価値ｅ1は「１（ａ3）」に設定される。
【００３５】
他方、第２評価値ｅ2は、各音符の継続長に応じた数値（例えば各音符の発音区間内のtick数）に設定される。具体的には、図２から理解されるように、音符の継続長が長いほど第２評価値ｅ2は大きい数値に設定される。以上に説明した第１評価値ｅ1と第２評価値ｅ2との乗算値が、対象旋律データＤMで指定される複数の音符の各々について音符評価値ｅとして算定される。
【００３６】
楽曲生成部３４は、対象旋律データＤMが指定する各音符の音符評価値ｅから対象旋律データＤMの旋律評価値ＥAを算定する（ＳB13，ＳB14）。具体的には、楽曲生成部３４は、対象旋律データＤMが指定する全部の音符にわたる音符評価値ｅの合計値Ｔaを算定し（ＳB13）、対象旋律データＤMが全部の音符の継続長の合計値（第２評価値ｅ2の合計値）Ｔbにより音符評価値ｅの合計値Ｔaを除算することで旋律評価値ＥA（ＥA＝Ｔa／Ｔb）を算定する（ＳB14）。合計値Ｔbによる除算は、素材旋律毎の合計値Ｔbの相違を補償した数値に正規化するための演算である。
【００３７】
以上の説明から理解されるように、数値ａ1と数値ａ2とを数値ａ3と比較して大きい数値に設定した場合を想定すると、コード進行データＤCが指定するコードの構成音やペンタトニックの構成音の継続長が長い素材旋律ほど旋律評価値ＥAが大きい数値（すなわち旋律選択処理Ｓ15で選択され易い数値）になるという傾向がある。すなわち、旋律評価値ＥAは、コード進行データＤCが指定するコードと素材旋律の各音符とが音楽的に相関（調和）する度合の指標として利用可能である。
【００３８】
以上の手順で対象旋律データＤMの旋律評価値ＥAを算定すると、楽曲生成部３４は、記憶装置２４に記憶された全部の旋律データＤMについて旋律評価値ＥAの算定が完了したか否かを判定する（ＳB15）。旋律評価値ＥAの未算定の旋律データＤMが存在する場合（ＳB15：NO）、楽曲生成部３４は、旋律評価値ＥAを算定していない旋律データＤMを新たな対象旋律データＤMとして選択し（ＳB11）、更新後の対象旋律データＤMについて旋律評価値ＥAを算定する（ＳB12〜ＳB14）。他方、全部の旋律データＤMについて旋律評価値ＥAの算定が完了した段階（ＳB15：YES）で旋律評価処理Ｓ13は終了する。以上の説明から理解されるように、演算処理装置２２が旋律評価処理Ｓ13を実行することで、旋律データＤM毎（素材旋律毎）に旋律評価値ＥAを算定する要素（旋律評価手段）が実現される。
【００３９】
＜文字列評価処理Ｓ14＞
図８は、文字列評価処理Ｓ14のフローチャートである。文字列評価処理Ｓ14を開始すると、楽曲生成部３４は、記憶装置２４に記憶された複数の旋律データＤMから１個の対象旋律データＤMを選択する（ＳC10）。楽曲生成部３４は、旋律評価処理Ｓ13で対象旋律データＤMについて算定した旋律評価値ＥAを、以下に詳述する第１調整処理ＳC11から第４調整処理ＳC14までの各処理により順次に調整することで旋律評価値ＥBを算定する。
【００４０】
第１調整処理ＳC11は、文字割当処理Ｓ11で対象単位区間Ｕに分配した文字群Ｇの個数ＮAと対象旋律データＤMの区間データＤM2に応じて素材旋律を区分した旋律区間Ｂの個数ＭAとの差分（絶対値）ΔAに応じて対象旋律データＤMの旋律評価値ＥAを調整する処理である。具体的には、差分ΔAが大きいほど旋律評価値ＥAは小さい数値に調整される。例えば、旋律評価値ＥAは、所定の数値ｂ1のΔA乗を現段階の旋律評価値ＥAに乗算した数値に更新される（ＥA＝ＥA×ｂ1ΔA）。数値ｂ1は１以下の正数である。以上の説明から理解されるように、文字群Ｇの個数ＮAと旋律区間Ｂの個数ＭAとの差分ΔAが大きい素材旋律の旋律データＤMほど旋律選択処理Ｓ15で選択され難くなるという傾向がある。すなわち、文字群Ｇの個数ＮAと旋律区間Ｂの個数ＭAとが極端に相違する楽曲（例えば過度に多数の文字群Ｇが１個の旋律区間Ｂに対応する楽曲や、過度に多数の旋律区間Ｂが１個の文字群Ｇに対応する楽曲）が生成される可能性は低減される。
【００４１】
第２調整処理ＳC12は、対象単位区間Ｕに割当てた各文字群Ｇと対象旋律データＤMが指定する素材旋律の各旋律区間Ｂとを対応させ、各旋律区間Ｂにおける文字群Ｇの文字の個数ＮBとその旋律区間Ｂ内の音符の個数ＭBとの差分（絶対値）ΔBに応じて旋律評価値ＥAを調整する処理である。具体的には、楽曲生成部３４は、第１に、対象旋律データＤMが指定する素材旋律の各旋律区間Ｂと対象単位区間Ｕに割当てた各文字群Ｇとを時系列の順番で相互に対応させる全通りの組合せについて差分ΔBを算定する。差分ΔBは、旋律区間Ｂにおける文字群Ｇの文字の個数ＮBと音符の個数ＭBとの差異を素材旋律の全部の旋律区間Ｂについて加算した数値である。楽曲生成部３４は、第２に、各旋律区間Ｂと各文字群Ｇとの対応を差分ΔBが最小となる関係に確定し、第３に、確定後の関係における差分ΔBが大きいほど旋律評価値ＥAを小さい数値に調整する。例えば、旋律評価値ＥAは、所定の数値ｂ2のΔB乗を第１調整処理ＳC11の実行後の旋律評価値ＥAに乗算した数値に更新される（ＥA＝ＥA×ｂ2ΔB）。数値ｂ2は１以下の正数である。以上の説明から理解されるように、各旋律区間Ｂ内で文字の個数ＮBと音符の個数ＭBとの差分ΔBが大きい素材旋律の旋律データＤMほど旋律選択処理Ｓ15で選択され難くなるという傾向がある。すなわち、各旋律区間Ｂ内で文字の個数ＮBと音符の個数ＭBとが極端に相違する楽曲（例えば過度に多数の文字が１個の旋律区間Ｂに対応する楽曲や、過度に多数の音符が１個の文字群Ｇに対応する楽曲）が生成される可能性は低減される。
【００４２】
第３調整処理ＳC13は、各旋律区間Ｂに対応する文字の個数ＮBが所定の許容値ＴHを上回る場合に旋律評価値ＥAを低下させる処理である。許容値ＴHは、各旋律区間Ｂに包含され得る１６分音符の個数（したがって旋律区間Ｂの時間長に応じた可変値）に設定される。各旋律区間Ｂの時間長は相違し得るから、許容値ＴHも旋律区間Ｂ毎に個別に算定される。楽曲生成部３４は、１個の旋律区間Ｂについて許容値ＴHと文字の個数ＮBとの差分ΔCを算定し（ΔC＝ＴH−ＺC）、差分ΔCが正数である場合（すなわち１個の文字について１６分音符よりも長い時間長を旋律区間Ｂ内に確保できる場合）には旋律評価値ＥAを維持する一方、差分ΔCが負数である場合（１個の文字について１６分音符の時間長を旋律区間Ｂ内に確保できない場合）には旋律評価値ＥAを減少させる。具体的には、旋律評価値ＥAは、所定の数値ｂ3のΔC（負数）乗を第２調整処理ＳC12の実行後の旋律評価値ＥAに乗算した数値に更新される（ＥA＝ＥA×ｂ3ΔC）。数値ｂ3は１以上の正数である。以上の処理が素材旋律内の旋律区間Ｂ毎に反復される。以上の説明から理解されるように、各旋律区間Ｂ内の文字の個数ＮAが許容値ＴHを上回る素材旋律の旋律データＤMほど旋律選択処理Ｓ15で選択され難くなるという傾向がある。すなわち、各文字の発声速度が過度に速い楽曲（例えば１６分音符を上回る速度で各文字が発声される楽曲）が生成される可能性は低減される。
【００４３】
第４調整処理ＳC14は、対象単位区間Ｕに対応する文字の個数（対象単位区間Ｕに分配した各文字群Ｇの文字数の合計値）ＮDが対象旋律データＤMの素材旋律を構成する音符の個数（素材旋律の各旋律区間Ｂの音符数の合計値）ＭDを上回る場合に旋律評価値ＥAを低下させる処理である。具体的には、楽曲生成部３４は、対象単位区間Ｕ内の文字の個数ＮDが素材旋律の音符の個数ＭD以下である場合には旋律評価値ＥAを維持し、対象単位区間Ｕ内の文字の個数ＮDが素材旋律の音符の個数ＭDを上回る場合には、第３調整処理ＳC13の実行後の旋律評価値ＥAに所定の数値ｂ4を乗算する（ＥA＝ＥA×ｂ4）。数値ｂ4は１以下の正数である。以上の説明から理解されるように、対象単位区間Ｕに対応する文字の個数ＮDが音符の個数ＭDを上回る素材旋律の旋律データＤMは旋律選択処理Ｓ15にて選択され難くなるという傾向がある。すなわち、単位区間Ｕ内の文字の個数が音符の個数に対して過度に多い楽曲が生成される可能性は低減される。
【００４４】
文字列評価処理Ｓ14に適用される数値ｂ1から数値ｂ4の各々は、第１実施形態の数値ａ1から数値ａ3と同様に、変数データＤXが指定する変数であり、利用者からの指示に応じて可変に設定される。
【００４５】
以上に説明した処理（ＳC11〜ＳC14）を対象旋律データＤMの旋律評価値ＥAに対して順次に実行することで対象旋律データＤMの旋律評価値ＥBを算定すると、楽曲生成部３４は、記憶装置２４に記憶された全部の旋律データＤMについて旋律評価値ＥBの算定が完了したか否かを判定する（ＳC15）。旋律評価値ＥBを算定していない旋律データＤMが存在する場合（ＳC15：NO）、楽曲生成部３４は、旋律評価値ＥBを算定していない旋律データＤMを新たな対象旋律データＤMとして選択し（ＳC10）、更新後の対象旋律データＤMについて旋律評価値ＥBを算定する（ＳC11〜ＳC14）。他方、全部の旋律データＤMについて旋律評価値ＥBの算定が完了した段階（ＳC15：YES）で文字列評価処理Ｓ14は終了する。以上の説明から理解されるように、演算処理装置２２が文字列評価処理Ｓ14を実行することで、各単位区間Ｕに対応する文字数または文字群Ｇの個数と旋律データＤMが指定する素材旋律の音符数または旋律区間Ｂの個数とに応じた旋律評価値ＥBを旋律データＤM毎に算定する要素（文字列評価手段）が実現される。なお、第１調整処理ＳC11から第４調整処理ＳC14の順序は適宜に変更される。
【００４６】
＜旋律選択処理Ｓ15＞
楽曲生成部３４は、文字列評価処理Ｓ14で旋律データＤM毎に算定した旋律評価値ＥBが最大となる１個の旋律データＤM（以下「選択旋律データＤM」という）を記憶装置２４内の複数の旋律データＤMから選択する（Ｓ15）。すなわち、演算処理装置２２が旋律選択処理Ｓ15を実行することで、旋律評価値ＥBに応じて旋律データＤMを選択する要素（旋律選択手段）が実現される。なお、楽曲生成部３４が各旋律データＤMの旋律評価値ＥBに応じて選択旋律データＤMを選択する方法は適宜に変更される。例えば、旋律評価値ＥBが所定の閾値を上回る複数の旋律データＤMから楽曲生成部３４がランダムに１個の選択旋律データＤMを選択する方法や、旋律評価値ＥBの降順で上位に位置する所定個の旋律データＤMから楽曲生成部３４がランダムに１個の選択旋律データＤMを選択する方法も採用され得る。以上の方法によれば、楽曲の生成のたびに別個の楽曲を生成することが可能である。
【００４７】
＜旋律調整処理Ｓ16＞
楽曲生成部３４は、旋律選択処理Ｓ15で選択した選択旋律データＤMが指定する音符の個数を、対象単位区間Ｕ内で文字と音符とが１対１に対応するように調整することで対象単位区間Ｕの旋律データＱUを生成する（Ｓ16）。図９は、旋律調整処理Ｓ16のフローチャートである。
【００４８】
旋律調整処理Ｓ16を開始すると、楽曲生成部３４は、対象単位区間Ｕに分配された文字の個数ＮDが、選択旋律データＤMが指定する音符の個数ＭDを上回るか否かを判定する（ＳD11）。文字の個数ＮDが音符の個数ＭDを上回る場合（ＳD11：YES）、楽曲生成部３４は、音符の個数ＭDを文字の個数ＮDまで増加させる（ＳD12）。具体的には、楽曲生成部３４は、選択旋律データＤMが指定する複数の音符のうち継続長が最長である１個の音符を２個の音符に分割する処理を、音符の個数ＭDが文字の個数ＮDに到達するまで順次に反復する。１個の音符は、例えば拍点に対応する時点で分割される。ステップＳD12の処理後の選択旋律データＤMが対象単位区間Ｕの旋律データＱUとして確定する。
【００４９】
他方、ステップＳD11の判定結果が否定である場合（ＳD11：NO）、楽曲生成部３４は、文字の個数ＮDが音符の個数ＭDを下回るか否かを判定する（ＳD13）。文字の個数ＮDが音符の個数ＭDを下回る場合（ＳD13：YES）、楽曲生成部３４は、選択旋律データＤMが指定するＭD個の音符から文字と同数のＮD個の音符を選択する（ＳD14）。ＮD個の音符の選択には、旋律評価処理Ｓ13（ＳB12）で音符毎に算定した音符評価値ｅが利用される。具体的には、楽曲生成部３４は、選択旋律データＤMが指定するＭD個の音符のうち音符評価値ｅの降順（大→小）で上位に位置するＮD個の音符を選択する。ただし、旋律区間Ｂ内の先頭の音符（すなわち音楽的に重要な音符）は、音符評価値ｅに関わらず優先的に選択される。また、楽曲生成部３４は、選択旋律データＤMが指定するＭD個の音符のうちステップＳD14で選択されない音符を処理する（ＳD15）。例えば、楽曲生成部３４は、非選択の音符を削除するとともに直前の音符を削除分だけ時間軸方向に伸長する。ただし、非選択の音符と直前の音符との音高差が閾値（例えば４半音程度）を下回る場合には、直前の音符の文字の継続を意味する長音記号（ー）を非選択の音符に対応させる。直前の音符に音高が近い音符に限定して長音記号を付加するのは、直前の音符から大幅に音高が変化する音符についても文字を直前の音符から継続させると、楽曲が不自然な印象と知覚されるからである。ステップＳD15の処理後の選択旋律データＤMが対象単位区間Ｕの旋律データＱUとして確定する。
【００５０】
他方、ステップＳD13の判定結果が否定である場合（すなわち、音符の個数ＭDと文字の個数ＮDとが合致する場合）、楽曲生成部３４は、音符の個数ＭDの調整（ＳD12，ＳD14，ＳD15）を実行しない。すなわち、選択旋律データＤMが対象単位区間Ｕの旋律データＱUとして確定する。以上に説明した処理（ＳD11〜ＳD15）により文字の個数ＮDと音符の個数ＭDとが合致する。すなわち、指定文字列ＤLの各文字と素材旋律の各音符とが１対１に対応した旋律データＱUが生成される。以上の説明から理解されるように、演算処理装置２２が旋律調整処理Ｓ16を実行することで、対象単位区間Ｕの選択旋律データＤMが指定する素材旋律の音符の個数ＭDを調整して各文字に対応させる要素（旋律調整手段）が実現される。
【００５１】
なお、以上に例示した旋律調整処理Ｓ16では、文字と音符とを対象単位区間Ｕ内で１対１に対応させたが、相互に対応する旋律区間Ｂと文字群Ｇとの間で旋律区間Ｂ内の各音符と文字群Ｇ内の各文字とを１対１に対応させることも可能である。例えば、楽曲生成部３４は、前述の第２調整処理ＳC12と同様に、旋律区間Ｂ内の音符の個数ＭBと文字群Ｇ内の文字の個数ＮBとの差分ΔBが最小となるように各旋律区間Ｂと各文字群Ｇとの対応を確定し、旋律区間Ｂと文字群Ｇとの組合せ毎に、旋律区間Ｂ内の音符数と文字群Ｇ内の文字数とが合致するように旋律調性処理Ｓ16（ＳD11〜ＳD15）を実行する。
【００５２】
旋律生成処理（Ｓ13〜Ｓ16）の具体的な内容は以上の通りである。前述のように、旋律生成処理がＫ個の単位区間Ｕの各々について反復されることで楽曲データＱを構成するＫ個の旋律データＱUが生成される。楽曲生成部３４が生成した楽曲データＱは、図１の楽音生成部４２と音声合成部４４とに供給される。
【００５３】
楽音生成部４２は、楽曲データＱが指定する各音符の演奏音を示す楽音信号Ｖ1を生成する。具体的には、公知のMIDI音源が楽音生成部４２として好適に採用される。他方、音声合成部４４は、楽曲生成部３４が生成した楽曲データＱと情報取得部３２が生成した指定文字列ＤLとに応じた音声信号Ｖ2を生成する。音声信号Ｖ2は、指定文字列ＤLの各文字を、楽曲データＱがその文字に対応する音符に指定する音高で発声した歌唱音を示す音響信号である。音声信号Ｖ2の生成には、例えば公知の素片接続型の音声合成処理が好適に採用され得る。すなわち、音声合成部４４は、指定文字列ＤLの各文字に対応する音声素片を順次に選択し、各音声素片を、楽曲データＱが指定する各音符の音高と発音期間とに調整したうえで相互に連結することで音声信号Ｖ2を生成する。
【００５４】
混合部４６は、楽音生成部４２が生成した楽音信号Ｖ1と音声合成部４４が生成した音声信号Ｖ2との混合（加重和）で音響信号Ｖを生成する。混合部４６が生成した音響信号Ｖが放音装置１４に供給されることで音波が再生される。
【００５５】
以上に説明したように、第１実施形態では、楽曲のコード進行を指定するコード進行データＤCに応じた旋律評価値ＥAが旋律データＤM毎に算定されて旋律データＤMの選択に反映される。したがって、歌詞の韻律に対応するように楽曲の音符列が制約される非特許文献１の技術と比較して、音楽的に自然で多様な楽曲を生成できるという利点がある。また、利用者からの指示に応じたコード進行データＤCに応じて旋律評価値ＥAが算定されるから、利用者の意図を高い水準で反映した多様な楽曲を生成できるという利点もある。
【００５６】
ところで、非特許文献１の技術では、歌詞の韻律に応じた音符列が生成されるに過ぎず、楽曲内で音楽的な纏まりがある各単位区間（例えば２小節の区間）と歌詞との関係は何ら加味されない。したがって、例えば歌詞の１個の文節が楽曲の２個の単位区間に跨る可能性があり、歌詞の配列が不自然で聴取し難い楽曲が生成される可能性がある。第１実施形態では、指定文字列ＤLを区分した複数の文字群Ｇが各単位区間Ｕに分配される。したがって、歌詞の韻律に応じて音符列を生成する非特許文献１の技術と比較して、指定文字列ＤLの各文字群Ｇと楽曲の各単位区間とが無理なく対応した自然な楽曲を生成することが可能である。例えば、第１実施形態の例示のように指定文字列ＤLを文節単位で複数の文字群Ｇに区分すれば、楽曲の音楽的な纏まりと指定文字列ＤLの意味的な纏まりとが相互に対応する自然な楽曲を生成することが可能である。すなわち、例えば音楽的な纏まりの境界が文節の途中に位置するような不自然な楽曲が生成される可能性は低減される。
【００５７】
また、第１実施形態では、各単位区間Ｕに対応する文字または文字群Ｇの個数と旋律データＤMが指定する音符または旋律区間Ｂの個数との関係に応じた旋律評価値ＥBが旋律データＤM毎に算定されて旋律データＤMの選択に適用される。したがって、例えば旋律評価処理Ｓ13で算定された旋律評価値ＥAに応じて各単位区間Ｕの旋律データＤMを選択する構成と比較して、文字または文字群Ｇの個数と音符または旋律区間Ｂの個数とが乖離した不自然な楽曲が生成される可能性を低減できるという利点がある。
【００５８】
また、旋律評価値ＥAの算定に適用される変数の数値（ａ1〜ａ3）や旋律評価値ＥBの算定に適用される変数の数値（ｂ1〜ｂ4）は利用者からの指示に応じて可変に設定される。したがって、利用者の意図に適合した楽曲を生成できるという利点がある。例えば、数値ａ1と数値ａ2とを数値ａ3と比較して大きい数値に設定すれば、コード進行データＤCが指定するコードの構成音やペンタトニックの構成音が優勢な楽曲（コード進行データＤCが指定するコード進行に類似する楽曲）が生成され、数値ａ3を数値ａ1や数値ａ2と比較して大きい数値に設定すれば、コード進行データＤCが指定するコード進行から乖離した楽曲が生成される。また、文字列評価処理Ｓ14に適用される数値（ｂ1〜ｂ4）を適宜に調整することで、文字と音符とが自然に対応する楽曲を生成できるという利点がある。
【００５９】
＜第２実施形態＞
本発明の第２実施形態を以下に説明する。なお、以下に例示する各形態において作用や機能が第１実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【００６０】
図１０は、第２実施形態におけるコード進行データＤCを構成する１個の単位データＤUの模式図である。図１０に示すように、第２実施形態の単位データＤUでは、第１実施形態と同様のコードの指定に加えて、第１特定音と第２特定音と減点音とを指定することが可能である。図１０の例示では、記号「Ｈ：」で指定された音高「Ｄ（レ）」が第１特定音を意味し、記号「Ｌ：」で指定された音高「Ａ（ラ）」が第２特定音を意味し、記号「Minus：」で指定された音高「Ｆ（ファ）」が減点音を意味する。第１特定音と第２特定音と減点音とは、利用者からの指示に応じて設定される。なお、１個の単位データＤUにおける各音符（第１特定音，第２特定音，減点音）の指定の効果は、その単位データＤUに対応する時点（拍点）のみで有効とされるが、時間的に後方の単位データＤUにて指定が解除されるまで有効に維持することも可能である。
【００６１】
旋律評価処理Ｓ13（ＳB12）において、楽曲生成部３４は、対象旋律データＤMで指定される音符が、その音符の発音時点の単位データＤUが指定する第１特定音に該当する場合には、コードの構成音やペンタトニックの構成音に該当するか否かに関わらず、第１評価値ｅ1を数値ａ4に設定する。同様に、音符が第２特定音に該当する場合には第１評価値ｅ1が数値ａ5に設定され、音符が減点音に該当する場合には第１評価値ｅ1が数値ａ6に設定される。数値ａ4から数値ａ6の各々は、第１実施形態の数値ａ1から数値ａ3と同様に、変数データＤXが指定する変数であり、利用者からの指示に応じて可変に設定される。
【００６２】
数値ａ4および数値ａ5は正数に設定される（ａ4＞ａ5）。例えば数値ａ4を数値ａ1から数値ａ3と比較して大きい数値に設定すれば、第１特定音に該当する音符を含む素材旋律を旋律選択処理Ｓ15にて優先的に選択することが可能である。また、数値ａ5を数値ａ1や数値ａ2と比較して小さい数値に設定すれば、第２特定音に該当する音符が多い素材旋律が旋律選択処理Ｓ15で選択される可能性は低減される。他方、数値ａ6は負数に設定される。したがって、減点音に該当する音符の音符評価値ｅは負数（すなわち旋律評価値ＥAを低下させる数値）となる。すなわち、減点音に該当する音符を含む素材旋律の選択を高い確度で回避することが可能である。
【００６３】
第２実施形態においても第１実施形態と同様の効果が実現される。また、第２実施形態では、第１特定音と第２特定音と減点音とをコード進行データＤCで指定して各々について第１評価値ｅ1の数値（ａ4〜ａ6）を個別に設定できる。したがって、利用者の意図を精緻に反映した楽曲を生成できるという利点がある。例えば、利用者が優先させたい音符を含む楽曲や利用者が回避したい音符を含まない楽曲を生成することが可能である。
【００６４】
＜第３実施形態＞
第１実施形態では、指定文字列ＤLを文節単位で複数の文字群Ｇに区分した。第３実施形態では、利用者が文字群Ｇの境界を任意に指定することが可能である。図１１は、入力装置１２の操作で利用者が入力した指定文字列ＤLの模式図である。指定文字列ＤLは、改行記号８２を境界とした複数行にわたる文字列で構成されて相前後する文字間に区切記号８４が挿入され得る。図１１では「：（コロン）」を区切記号８４とした場合を例示したが、句読点（句点や読点）を区切記号８４とすることも可能である。利用者は、文字列の入力とともに指定文字列ＤLの改行記号８２や区切記号８４の位置を任意に選定することが可能である。
【００６５】
図６の文字割当処理Ｓ11において、楽曲生成部３４は、改行記号８２および区切記号８４を境界として指定文字列ＤLを複数の文字群Ｇに区分する（ＳA12）。そして、楽曲生成部３４は、指定文字列ＤLに設定された改行記号８２の前後で各文字群Ｇが別個の単位区間Ｕに対応するように各文字群ＧをＫ個の単位区間Ｕに分配する（ＳA13）。指定文字列ＤLに改行記号８２が設定されていない場合には、第１実施形態と同様に、文字群Ｇの個数がＫ個の単位区間Ｕについて均等化されるように指定文字列ＤLの複数の文字群Ｇが単位区間Ｕ毎に区分される。
【００６６】
第３実施形態においても第１実施形態と同様の効果が実現される。また、第３実施形態では、指定文字列ＤLの文字群Ｇを利用者が任意に指定できるから、利用者が指定した文字群Ｇを単位として指定文字列ＤLを各単位区間Ｕに分配した自然な楽曲を生成することが可能である。なお、改行記号８２や区切記号８４の位置に加えて文節の境界で指定文字列ＤLを文字群Ｇに区分することも可能である。
【００６７】
＜第４実施形態＞
第４実施形態の音声合成部４４は、合成音に音楽的な表情を付与するための処理（表情付与処理）を実行する。表情付与処理の具体例は以下の通りである。
【００６８】
（１）楽曲データＱが指定する音符の音高が音高ＺP1から音高ＺP2に変化する場合に、音高ＺP2の音符の先頭にポルタメント（しゃくり）を付与する。例えば、音高ＺP2が音高ＺP1を上回る場合、音高ＺP1を下回る数値に低下させてから目標の音高ＺP2まで音高を連続的に上昇させる効果（上行ポルタメント）を音高ＺP2の音符の先頭に付加する。また、音高ＺP2が音高ＺP1を下回る場合、音高ＺP1を上回る数値に上昇させてから目標の音高ＺP2まで音高を連続的に低下させる効果（下行ポルタメント）を音高ＺP2の音符の先頭に付加する。
（２）各音符にビブラートを付加する。具体的には、例えば継続長が所定の閾値を上回る音符の全体または一部（例えば終点から前方の所定長にわたる区間）にビブラートが付加される。
（３）所定時間毎の文字の個数が閾値を上回る場合（すなわち合成音が早口な場合）に合成音の明瞭度（発声時の開口の度合）を低下させ、口を完全に開かずに発声した場合のような曖昧な音声に制御する。
（４）楽曲の最初の音符や各単位区間Ｕ（または各旋律区間Ｂ）の最初の音符については音量を上昇させる。また、音量の上昇に代えて（または音量の上昇とともに）、小節（こぶし）を付与することも可能である。
（５）相前後する音符の間隔の時間長が所定の閾値を上回る場合に、間隔内に息継ぎの音声を追加する。息継ぎの音声は、例えば音声素片として事前に用意される。また、相前後する音符の間隔の時間長が所定の閾値を下回る場合に各音符を時間軸上で連続させる。すなわち、相前後する音符の間にレガートを付与する。
（６）音高やリズムのパターンと音量の時間変化とを対応させたテーブルを用意し、旋律区間内の音符の音高のパターンに対応した音量の時間変化を付与する。また、音符の音高が変化した直後に音量を一時的に増加させる構成や、音符の継続長に応じて音量を変化させる（例えば継続長が長いほど音量を増加させる）構成も採用され得る。
（７）合成音の音楽的な表情を制御するための制御変数（例えば音量や明瞭度等）の時間変化を各旋律データＤMに事前に設定して音声合成時に適用する。
（８）相異なる特性の音声毎に音声素片を用意し、指定文字列ＤLに含まれる単語の種類やコード進行や曲調等に応じて、音声合成に実際に適用される音声素片を変更する。
【００６９】
以上が表情付与処理の具体例である。第４実施形態においても第１実施形態と同様の効果が実現される。また、第４実施形態では、音声合成部４４による音声合成の実行時（音声信号Ｖ2の生成時）に表情付与処理が実行されるから、音楽的な表情が多様な合成音を生成できるという利点がある。
【００７０】
＜第５実施形態＞
第５実施形態の各旋律データＤMは、音符列データＤM1および区間データＤM2に加えて属性データＤM3および属性データＤM4を含んで構成される。属性データＤM3は、素材旋律が楽曲内の何れの位置の旋律として好適であるかを指定する。具体的には、楽曲の先頭と中央と末尾との何れかを属性データＤM3は指定する。すなわち、楽曲の先頭の旋律として好適な素材旋律の属性データＤM3は先頭を指定し、楽曲の末尾の旋律として好適な素材旋律の属性データＤM3は末尾を指定する。また、属性データＤM4は、素材旋律が特に印象的な旋律であるか否かを指定する。具体的には、属性データＤM4は、素材旋律が印象的な旋律である場合に有効状態に設定され、旋律が印象的でない場合に無効状態に設定される。属性データＤM3および属性データＤM4は、例えば旋律データＤMの制作者が素材旋律を聴取したうえで音楽的な印象を考慮して任意に設定する。
【００７１】
楽曲生成部３４は、文字列評価処理Ｓ14の実行時に、前述の第１調整処理ＳC11から第４調整処理ＳC14に加えて、以下に例示する第５調整処理から第７調整処理を実行する。第５調整処理から第７調整処理は、旋律評価処理Ｓ13で各旋律データＤMについて算定された旋律評価値ＥAを調整する処理である。
【００７２】
第５調整処理は、対象旋律データＤMの属性データＤM3に応じて旋律評価値ＥAを調整する処理である。すなわち、楽曲生成部３４は、対象単位区間Ｕの時間軸上の位置（楽曲内の先頭／中央／末尾）が属性データＤM3による指定位置に合致する場合には、旋律評価値ＥAを維持する一方、対象単位区間Ｕの位置が属性データＤM3による指定位置に合致しない場合には旋律評価値ＥAを減少させる。具体的には、楽曲生成部３４は、旋律評価値ＥAに所定の数値ｂ5を乗算する（ＥA＝ＥA×ｂ5）。数値ｂ5は１を下回る正数である。したがって、楽曲内の単位区間Ｕの位置に好適な素材旋律の旋律データＤMほど旋律選択処理Ｓ15で選択され易くなるという傾向がある。
【００７３】
第６調整処理は、対象単位区間Ｕの直前の単位区間Ｕについて楽曲調整処理Ｓ16で生成された旋律データＱUの旋律と対象旋律データＤMが指定する素材旋律との音域差に応じて旋律評価値ＥAを調整する処理である。具体的には、楽曲生成部３４は、直前の旋律データＱUと対象旋律データＤMとの間で旋律の音域差が大きいほど旋律評価値ＥAを小さい数値に調整する。例えば、直前の旋律データＱUの旋律と対象旋律データＤMの素材旋律との各々について各音符の音高の平均値と分散値とを算定し、旋律間の平均値の差分ΔE1と分散値の差分ΔE2とを算定する。そして、所定の数値ｂ61の差分ΔE1乗と所定の数値ｂ62の差分ΔE2乗とを現段階の旋律評価値ＥAに乗算することで調整後の旋律評価値ＥAを算定する（ＥA＝ＥA×ｂ61ΔE1×ｂ62ΔE2）。したがって、直前の単位区間Ｕの旋律データＱUが指定する旋律に音域が類似する素材旋律の旋律データＤMほど旋律選択処理Ｓ15で選択され易くなるという傾向がある。
【００７４】
第７調整処理は、対象単位区間Ｕが楽曲の最初または最後の単位区間Ｕに該当し、かつ、対象旋律データＤMの属性データＤM4が有効状態に設定されている場合（すなわち、対象旋律データＤMの素材旋律が音楽的に印象的である場合）に、旋律評価値ＥAを大きい数値に調整する。具体的には、旋律評価値ＥAは、所定の数値ｂ7を現段階の旋律評価値ＥAに乗算した数値に更新される（ＥA＝ＥA×ｂ7）。数値ｂ7は１を上回る正数である。したがって、楽曲の先頭や末尾の単位区間Ｕについては属性データＤM4が有効状態に設定された旋律データＤMが選択され易い。すなわち、印象的な旋律が先頭や末尾に付与された楽曲が生成され易いという傾向がある。
【００７５】
第５調整処理に適用される数値ｂ5と第６調整処理に適用される数値ｂ61およびｂ62と第７調整処理に適用される数値ｂ7とは、第１実施形態の数値ｂ1から数値ｂ4と同様に、変数データＤXが指定する変数であり、利用者からの指示に応じて可変に設定される。以上に説明した第１調整処理から第７調整処理の実行後の旋律評価値ＥAが旋律評価値ＥBとして確定される。なお、第１調整処理から第７調整処理の順序は任意である。例えば、第５調整処理を第１調整処理ＳC11の直前に実行し、第６調整処理および第７調整処理を第４調整処理ＳC14の直後に実行することが可能である。
【００７６】
第５実施形態においても第１実施形態と同様の効果が実現される。また、第５実施形態では、第１調整処理ＳC11から第４調整処理ＳC14に加えて第５調整処理から第７調整処理が実行されるから、文字列評価処理Ｓ14が第１調整処理ＳC11から第４調整処理ＳC14までの各処理のみを実行する構成と比較して、音楽的に自然な楽曲を生成できるという利点がある。
【００７７】
＜第６実施形態＞
前述の各形態では、事前に作成された歌詞の各文字が指定された指定文字列ＤLに対応する楽曲を生成した。第６実施形態の指定文字列ＤLは、図１２に例示されるように、任意（不特定）の１文字を意味する特定文字（図１２の例示では記号「＊」）８６の配列で構成される。すなわち、指定文字列ＤLは歌詞の文字数のみを指定する。利用者は、特定文字８６の時系列の任意の位置に区切記号８８を挿入することが可能である。
【００７８】
図１３は、第６実施形態の楽曲生成装置１００Bのブロック図である。第６実施形態の楽曲生成装置１００Bは、歌詞が確定していない段階で指定文字列ＤLに適合する楽曲を生成するために好適に利用される。すなわち、楽曲生成装置１００Bによる楽曲の生成後に、指定文字列ＤLの各特定文字８６に歌詞の特定の文字を付与することで歌唱曲が完成する。
【００７９】
図１３に示すように、楽曲生成装置１００Bは、第１実施形態の楽曲生成装置１００Aから音声合成部４４と混合部４６とを省略した構成である。楽曲生成部３４が生成した楽曲データＱに応じて楽音生成部４２が生成した音響信号Ｖ（楽音信号Ｖ1）が放音装置１４に供給されて音波として再生される。楽曲生成部３４は、図６の文字割当処理Ｓ11において、指定文字列ＤLの区切記号８８を境界として指定文字列ＤLを複数の文字群Ｇに区分する（ＳA12）。第６実施形態においても第１実施形態と同様の効果が実現される。
【００８０】
＜変形例＞
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２以上の態様は適宜に併合され得る。
【００８１】
（１）前述の各形態では、旋律評価処理Ｓ13および文字列評価処理Ｓ14の実行で各旋律データＤMの旋律評価値ＥBを算定したが、旋律評価処理Ｓ13で算定された旋律評価値ＥAを旋律選択処理Ｓ15での旋律データＤMの選択に適用することも可能である。すなわち、文字列評価処理Ｓ14は省略され得る。
【００８２】
（２）例えば指定文字列ＤLの各文字と楽曲の各音符とを厳格に１対１に対応させる必要がない場合には、旋律調整処理Ｓ16は省略され得る。すなわち、旋律選択処理Ｓ15で単位区間Ｕ毎に選択された旋律データＤMの時系列を最終的な楽曲データＱとして確定することも可能である。
【００８３】
（３）各音符列データＤM1が指定する音符の時系列やコード進行データＤCで前提となる調性を共通させ（例えばハ長調）、楽曲生成部３４が生成した楽曲データＱが指定する旋律を、利用者からの指示に応じた調性や音楽的に適切な調性に転調することも可能である。
【００８４】
（４）前述の各形態では、楽曲データＱに応じた音響信号Ｖを生成したが、音響信号Ｖの生成は省略され得る。例えば、楽曲生成部３４が生成した楽曲データＱを記録媒体（例えば記憶装置２４や他の記録媒体）に格納する構成や、楽曲生成部３４が生成した楽曲データＱを通信網から他の端末装置に送信する構成も採用され得る。
【００８５】
（５）前述の各形態では、利用者からの指示に応じてコード進行データＤCを生成したが、例えば相異なるジャンルに対応する複数のコード進行データＤCを記憶装置に事前に格納し、複数のコード進行データＤCの何れかを例えば利用者からの指示に応じて選択して楽曲生成処理に適用することも可能である。
【００８６】
（６）前述の各形態では、記憶装置２４に記憶された全部の旋律データＤMを旋律選択処理Ｓ15での選択候補としたが、記憶装置２４に記憶された複数の旋律データＤMのうちの一部の旋律データＤMのみを選択候補とすることも可能である。例えば、素材旋律の音符数や音域毎に旋律データＤMを複数の集合（以下「旋律データ群」という）に区分し、複数の旋律データ群から選択された１個の旋律データ群を対象として楽曲生成処理（Ｓ11〜Ｓ17）を実行する構成が採用され得る。例えば、１個の旋律データ群を選択する方法は任意であるが、例えば以下の方法が好適に採用される。
【００８７】
楽曲生成部３４は、記憶装置２４に格納された複数の旋律データＤMの各々について、前述の各形態と同様の方法で、各単位区間Ｕの旋律評価値ＥBを算定し、Ｋ個の単位区間Ｕについて旋律評価値ＥBの平均値ＥB_aveを算定する。そして、楽曲生成部３４は、複数の旋律データ群の各々について、旋律データ群に属する複数の旋律データＤMの平均値ＥB_aveの平均値μおよび標準偏差σを算定し、複数の旋律データ群のうち、平均値μが最大で標準偏差σが最小（平均値ＥB_aveのバラツキが少ない）となる１個の旋律データ群を、旋律選択処理Ｓ15での選択候補として決定する。以上の構成によれば、旋律評価値ＥBの平均値ＥB_aveが高くてバラツキが少ない旋律データＤMが選択候補とされるから、自然な楽曲を生成できるという効果は格別に顕著である。なお、以上の例示では旋律評価値ＥBを例示したが、旋律評価値ＥBを旋律評価値ＥAに置換することも可能である。
【符号の説明】
【００８８】
１００A，１００B……楽曲生成装置、１２……入力装置、１４……放音装置、２２……演算処理装置、２４……記憶装置、３２……情報取得部、３４……楽曲生成部、４２……楽音生成部、４４……音声合成部、４６……混合部。
【図１】
0005899833.tif 000002
【図２】
0005899833.tif 000003
【図３】
0005899833.tif 000004
【図４】
0005899833.tif 000005
【図５】
0005899833.tif 000006
【図６】
0005899833.tif 000007
【図７】
0005899833.tif 000008
【図８】
0005899833.tif 000009
【図９】
0005899833.tif 000010
【図１０】
0005899833.tif 000011
【図１１】
0005899833.tif 000012
【図１２】
0005899833.tif 000013
【図１３】
0005899833.tif 000014