(57)【要約】【課題】より簡単かつ良好に楽曲を生成することのできる情報処理装置を提供する。【解決手段】この情報処理装置は、ユーザよりメロディのデータの入力を受け付け、１以上の基準のコード進行データに対してアレンジを付与し、前記入力されたメロディのデータと前記アレンジの付与されたコード進行データとのマッチングのスコアを計算するように構成された制御部を具備する。【選択図】図１
2015206878.tif 000002
【特許請求の範囲】
【請求項１】
ユーザよりメロディのデータの入力を受け付け、
１以上の基準のコード進行データに対してアレンジを付与し、
前記入力されたメロディのデータと前記アレンジの付与されたコード進行データとのマッチングのスコアを計算するように構成された制御部を
具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記制御部は、前記アレンジの付与されたコード進行データに異なるキーを設定した各々のコード進行データを、前記入力されたメロディのデータに対するマッチングの対象とするように構成された
情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記制御部は、段階的に前記アレンジを付与し、
少なくとも、前記ユーザより選択された段階の前記コード進行データを、前記入力されたメロディのデータに対するマッチングの対象とするように構成された
情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に、この音がアベイラブルノートであるかどうか判定し、前記アベイラブルノートの音が判定される毎に前記スコアを加点するように構成された
情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に、この音が前記コード進行データにおける複数のコードに対応付けられ、かつ前記複数のコードにおけるアベイラブルノートであるとき、前記スコアを加点するように構成された
情報処理装置。
【請求項６】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に、この音がコード構成音であるかどうか判定し、前記コード構成音の音が判定される毎に前記スコアを加点するように構成された
情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディに含まれるすべての音が前記コード構成音でない場合に、前記スコアを減点するように構成された
情報処理装置。
【請求項８】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディの最後の音がコード構成音である場合、前記スコアを加点するように構成された
情報処理装置。
【請求項９】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディの最後の音がスケール外音およびアボイドノートのいずれである場合、前記スコアを減点するように構成された
情報処理装置。
【請求項１０】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する前後２つの音の間に休符がある場合であって、前記前後２つの音がともにアベイラブルノートであり、かつ、前記前後２つの音のいずれかが、対応するコードのコード構成音である場合、前記スコアを加点するように構成された
情報処理装置。
【請求項１１】
請求項１０に記載の情報処理装置であって、
前記制御部は、前記前後２つの音のいずれかが、対応するコードのスケール外音およびアボイドノートのいずれか一方である場合、前記スコアを減点するように構成された
情報処理装置。
【請求項１２】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する前後２つの音がシンコペーションをなす場合、前記２つの音がアベイラブルノートで、かつ少なくとも一方の音がコード構成音である場合、前記スコアを加点するように構成された
情報処理装置。
【請求項１３】
請求項１２に記載の情報処理装置であって、
前記制御部は、前記前後２つの音のいずれかが、対応するコードのスケール外音およびアボイドノートのいずれか一方である場合、前記スコアを減点するように構成された
情報処理装置。
【請求項１４】
請求項３に記載の情報処理装置であって、
前記制御部は、前後の音との音程差が閾値以上である、前記前後の間に位置する音が、コード構成音である場合、前記スコアを加点し、スケール外音またはアボイドノートである場合、前記スコアを減点するように構成された
情報処理装置。
【請求項１５】
請求項３に記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に長さが閾値以上であるか否かを判定し、長さが閾値以上であって、かつ当該音がコード構成音である場合、前記スコアを加点するように構成された
情報処理装置。
【請求項１６】
制御部が、
ユーザよりメロディのデータの入力を受け付け、
１以上の基準のコード進行データに対してアレンジを付与し、
前記入力されたメロディのデータと前記アレンジの付与されたコード進行データとのマッチングのスコアを計算する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ユーザから入力された数小節のメロディデータから楽曲を作成する情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
近年、音楽的知識の少ないユーザでも楽曲制作を楽しめるようにするために、例えば、楽曲のメロディの一部のみをユーザが作成し、残りのメロディ及び伴奏は自動で作成する方法が知られている（非特許文献１参照）。この方法は、予め用意されているコード進行を基にし、入力したメロディを生かして全体のメロディを生成する。このため、ユーザが自分で作曲をしたという実感を得ることができる。
【０００３】
また、特許文献１では、メロディ各音の音種をコードトーン・テンションノート・及びスケールノートに分別し、また隣り合うノート間の音程をモーションとして抽出し、その結果をもとにして、音楽的知識によりマッチングを図る方法について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許２９９５３０３号公報
【非特許文献】
【０００５】
【非特許文献１】「リズム、和声、調性を考慮した自動作曲システム-MAGIC」、情報処理学会第37回全国大会、pp.1960-1961
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザから入力される一部のメロディから全体のメロディを作成する技術には、様々なものが知られている。しかし、いずれも自動的に作成されるメロディ、コード進行などに制約があったり、ユーザに音楽的な知識を要求したりするなど、解決すべき課題は残されており、より容易に、多様性に富んだ自動作曲を可能とする仕組みが求められている。
【０００７】
以上のような事情に鑑み、本技術の目的は、より簡単かつ良好に楽曲を生成することのできる情報処理装置及び情報処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本技術に係る一形態である情報処理装置は、ユーザよりメロディのデータの入力を受け付け、１以上の基準のコード進行データに対してアレンジを付与し、前記入力されたメロディのデータと前記アレンジの付与されたコード進行データとのマッチングのスコアを計算するように構成された制御部を具備する。
【０００９】
前記制御部は、前記アレンジの付与されたコード進行データに異なるキーを設定した各々のコード進行データを、前記入力されたメロディのデータに対するマッチングの対象とするように構成されてもよい。
【００１０】
前記制御部は、段階的に前記アレンジを付与し、少なくとも、前記ユーザより選択された段階の前記コード進行データを、前記入力されたメロディのデータに対するマッチングの対象とするように構成されてもよい。
【００１１】
前記制御部は、前記入力されたメロディを構成する音毎に、この音がアベイラブルノートであるかどうか判定し、前記アベイラブルノートの音が判定される毎に前記スコアを加点するように構成されてもよい。
【００１２】
前記制御部は、前記入力されたメロディを構成する音毎に、この音が前記コード進行データにおける複数のコードに対応付けられ、かつ前記複数のコードにおけるアベイラブルノートであるとき、前記スコアを加点するように構成されてもよい。
【００１３】
前記制御部は、前記入力されたメロディを構成する音毎に、この音がコード構成音であるかどうか判定し、前記コード構成音の音が判定される毎に前記スコアを加点するように構成されてもよい。この際、前記制御部は、前記入力されたメロディ音を構成するすべての音が前記コード構成音でない場合に、前記スコアを減点するように構成されてもよい。
【００１４】
前記制御部は、前記入力されたメロディの最後の音がコード構成音である場合、前記スコアを加点するように構成されてもよい。
【００１５】
前記制御部は、前記入力されたメロディの最後の音がスケール外音およびアボイドノートのいずれである場合、前記スコアを減点するように構成されてもよい。
【００１６】
前記制御部は、前記入力されたメロディを構成する前後２つの音の間に休符がある場合であって、前記前後２つの音がともにアベイラブルノートであり、かつ、前記前後２つの音のいずれかが、対応するコードのコード構成音である場合、前記スコアを加点するように構成されてもよい。このとき、前記制御部は、前記前後２つの音のいずれかが、対応するコードのスケール外音およびアボイドノートのいずれか一方である場合、前記スコアを減点するように構成されてもよい。
【００１７】
前記制御部は、前記入力されたメロディを構成する前後２つの音がシンコペーションをなす場合、前記２つの音がアベイラブルノートで、かつ少なくとも一方の音がコード構成音である場合、前記スコアを加点するように構成されてもよい。このとき、前記制御部は、前記前後２つの音のいずれかが、対応するコードのスケール外音およびアボイドノートのいずれか一方である場合、前記スコアを減点するように構成されてもよい。
【００１８】
前記制御部は、前後の音との音程差が閾値以上である、前記前後の間に位置する音が、スケール外音またはアボイドノートである、前記スコアを加点し、前記コード構成音でない場合、前記スコアを減点するように構成されてもよい。
【００１９】
前記制御部は、前記入力されたメロディを構成する音毎に長さが閾値以上であるか否かを判定し、長さが閾値以上であって、かつ当該音がコード構成音である場合、前記スコアを加点するように構成されてもよい。
【発明の効果】
【００２０】
以上のように、本技術によれば、より簡単かつ良好に楽曲を生成することができる。
【図面の簡単な説明】
【００２１】
【図１】本技術に係る情報処理装置を用いた第１の実施形態である自動作曲装置の構成を示すブロック図である。
【図２】入力メロディの一例を示す図である。
【図３】メロディデータの一例を示す図である
【図４】コード進行テンプレート記憶部１２に記憶されたコード進行パターン情報の例を示す図である。
【図５】図４に示されるコードルート番号とコードとの関係を示す図である。
【図６】コード進行パターン情報の変形例を示す図である。
【図７】コード進行テンプレート情報に付与されるアレンジの例を示す図である。
【図８】スコア計算部１４の動作を示すフローチャートである
【図９Ａ】メロディの音に対応するコードを決定する方法を説明する図である。
【図９Ｂ】メロディの中にシンコペーションがある場合の、メロディの音に対応するコードの決定方法を説明する図である。
【図９Ｃ】１つの音が開始してから終了するまでに複数のコードが切り替わる場合の、メロディの音に対応するコードの決定方法を説明する図である。
【図１０】コード毎のコード構成音およびスケールをまとめた図である。
【図１１】アベイラブルノートの観点からのスコア計算の手順を示すフローチャートである。
【図１２】コード構成音の観点からのスコア計算の手順を示すフローチャートである。
【図１３】コード構成音、スケール外音およびアボイドノートの観点からのスコア計算の手順を示すフローチャートである。
【図１４】音と音との間の休符の有無の観点からのスコア計算の手順を示すフローチャートである。
【図１５】シンコペーションの観点からのスコア計算の手順を示すフローチャートである。
【図１６】音程差の観点からのスコア計算の手順を示すフローチャートである。
【図１７】音の長さの観点からのスコア計算の手順を示すフローチャートである。
【図１８】ドミナントモーションの観点からのスコア計算の手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
＜第１の実施形態＞
［自動作曲装置の構成］
図１は、本技術に係る情報処理装置を用いた第１の実施形態である自動作曲装置の構成を示すブロック図である。
【００２３】
なお、この自動作曲装置１は、例えば、コンピュータのハードウェア資源とソフトウェア資源との組み合わせによって実現される。
【００２４】
コンピュータのメインメモリには、コンピュータを自動作曲装置として機能させるためのプログラムが格納される。ＣＰＵ１０は、このプログラムを実行することによって自動作曲のための演算処理を実行する。
【００２５】
図１は、このように本実施形態の自動作曲装置が、コンピュータのハードウェア資源とソフトウェア資源との組み合わせによって実現される場合に、その機能的な構成を示したものである。
【００２６】
図１に示すように、本実施形態の自動作曲装置１は、メロディ入力部１１、コード進行テンプレート記憶部１２、コード進行アレンジ部１３、スコア計算部１４、コード進行及びキー決定部１５、メロディ生成部１６、伴奏生成部１７、および生成楽曲出力部１８を備える。ここで、コード進行アレンジ部１３、スコア計算部１４、コード進行及びキー決定部１５、メロディ生成部１６、伴奏生成部１７は、コンピュータにおけるＣＰＵ（制御部）によって実現される。コード進行テンプレート記憶部１２は、具体的にはストレージ２０によって構成される。
【００２７】
メロディ入力部１１は、例えば、マイクを使ってユーザより発声音として入力された所定数の小節分のメロディをデジタルデータの系列に変換し、メロディデータとして入力する。入力されるメロディは２−４小節程度でよい。
【００２８】
コード進行テンプレート記憶部１２は、複数の基準となるコード進行のテンプレートが記憶される記憶部である。
【００２９】
コード進行アレンジ部１３は、コード進行テンプレート記憶部１２に記憶された各々コード進行テンプレートに対して様々なアレンジを付与し、より多様なコード進行データを生成する。
【００３０】
スコア計算部１４は、メロディ入力部１１より入力されたメロディデータと、コード進行アレンジ部１３より出力された各々のコード進行データとのマッチングのスコアを計算する。
【００３１】
コード進行及びキー決定部１５は、スコア計算部１４により算出されたスコアをもとに入力メロディに最もマッチするコード進行テータおよびキーを決定する。
【００３２】
メロディ生成部１６は、入力されたメロディと、コード進行及びキー決定部１５で決定されたコード進行及びキーに基づいてメロディデータを生成する。
【００３３】
伴奏生成部１７は、生成されたメロディデータ、コード進行及びキー決定部１５で決定されたコード進行及びキーに基づいて伴奏データを生成する。
【００３４】
生成楽曲出力部１８は、メロディ生成部１６により生成されたメロディデータと伴奏生成部１７により生成された伴奏データを生成楽曲データとして出力する。
【００３５】
［自動作曲装置における各ユニットの詳細と動作］
次に、本実施形態の自動作曲装置１における各ユニットの詳細および動作を説明する。
（メロディ入力部１１）
図２は入力メロディの一例を示す図である。
ここでは２小節のメロディが入力されることを想定しているが、３小節以上のメロディを入力してもよい。
【００３６】
メロディの具体的な入力方法として、以下が挙げられる。
１．DTM（Desk Top Music）ソフトウェアへの打ち込み。
２．MIDI（Musical Instrument Digital Interface）楽器を用いたMIDIデータの入力。
３．楽器や声（鼻歌）など、実際の音による入力。
その他、どのような方法によってもよい。
【００３７】
メロディ入力部１１によって、入力されたメロディは、例えば、メロディを構成する音（以下「メロディ音」または単に「音」と呼ぶ。）それぞれの、開始位置、長さ及び音程の各情報などによるメロディデータとされる。
【００３８】
図３は、メロディデータの一例を示す図である。
このメロディデータは、MIDIに準拠した方法により作成されたものである。この例では、４分音符あたりの長さを480としている。
【００３９】
（コード進行テンプレート記憶部１２）
図４は、コード進行テンプレート記憶部１２に記憶されたコード進行パターン情報の例を示す図である。
【００４０】
個々のコード進行パターン情報は、コードルートＩＤと、これに対応するコードルート番号の並び（進行データ）とで構成される。コードルート番号の進行データは、コードのルート音がどのように変化するかを示した情報である。コードルート番号を示す"１"から"７"の数字はルートキー音からの相対度数を表している。
【００４１】
図５は、図４に示されるコードルート番号とコードとの関係を示す図である。
コードルート番号とコードとの関係は、調性がメジャーの場合とマイナーの場合とで異なる。なお、ここでのコードはキーに依存しないものである。
【００４２】
図４に示したコード進行パターン情報におけるコードルート番号の並びに従って、図５のコードを並べていくことによりコード進行データが設定される。
【００４３】
また、コードルート番号の変化するタイミングは、１小節毎であってよい。また、図６に示すように、コード進行パターン情報に、コードルート番号が変わるタイミング情報が設けられていてもよい。
【００４４】
さらに、コード進行パターン情報は、楽曲のパート（例えばイントロパート、Ａパート、Ｂパート、サビパート、エンディングパート）毎に用意されていてもよいし、１曲全体を通したものであってもよい。さらに、各々のパート毎に、メジャー用とマイナー用のコード進行パターン情報が用意されていてもよい。
【００４５】
（コード進行アレンジ部１３）
コード進行テンプレート記憶部１２に予め多数の多様なコード進行テンプレート情報を記憶しておくことは、例えばコード進行テンプレート記憶部１２の肥大化を招くなどの問題から、現実的とは言えない。本実施形態では、コード進行テンプレート記憶部１２に記憶されたコード進行テンプレート情報に対して、コード進行アレンジ部１３が様々なアレンジを付与することによって多様なコード進行パターン情報を生成し、これらをオリジナルのコード進行テンプレート情報とともにスコア計算部１４でのマッチングに用いる。
【００４６】
図７は、コード進行テンプレート情報に付与されるアレンジの例を示す図である。
レベル０は、基本のコード進行、つまりオリジナルのコード進行テンプレート情報によるコード進行である。
【００４７】
レベル１は、基本のコード進行において、ドミナントコード（V）をツーファイブと呼ばれるIIm7→V7へ置き換えるアレンジを施した結果である。図７に例示されていないが、ドミナントコード（V）をsus4→V7に置き換えてもよい。
【００４８】
レベル２は、レベル１のコード進行において、トニックコード（I）を代理コードのIIIm7→VIm7に置き換えるアレンジを施した結果である。
【００４９】
レベル３は、レベル２のコード進行に対するセカンダリードミナントの置き換え例である。ここではVIm7→IIm7はVI7→IIm7に、I→IVはI→I7→IVに、IIm7→V7はII7→V7にそれぞれ置き換えられている。図７に例示はないが、VIIm7-5→IIIをVII7→III7に置き換えるようにしてもよい。
【００５０】
レベル４は、レベル３のコード進行に対するサブドミナントマイナーの置き換え例である。ここでは、IV→IIIm7におけるIVをIV→IVmに置き換えた結果を示している。また、例示は無いが、IV→IをIV→IVm→Iに置き換えてもよい。
【００５１】
レベル５は、レベル４のコード進行に対する４和音化（テンション含む。）による置き換え例ある。ここでは、I→IV→V→IをIM7→IV6→V7→I M7に置き換え、IV→IVmをIV6→IVm6に置き換え、最後のIをIM7に置き換えた例を示している。その他の４和音化の方法としては、
１．IをIadd9に置き換える。
２．IV及びIVmをIV6またはIVm6に置き換える。
３．IVをIVM7に置き換える。
４．VをV7に置き換える。
５．VImをVImadd9に置き換える。
６．マイナーコードへのドミナントモーションにおいてテンションを導入する（例えば、VI7→IIm7におけるVI7をVI7+9、VI7-9、またはそれに-13を加えたものに置き換えなど）。
などがある。
【００５２】
これ以外にも、例えばサブドミナント及びドミナントコードの代理コードへの置き換えや、ディミニッシュコードやテンションリゾルブの導入など、様々なアレンジ方法がある。
【００５３】
上記のレベルとは、アレンジのレベルのことを言う。例えば、ユーザは、レベルの選択により採用するアレンジを選択することができる。例えば、レベル２が選択された場合には、レベル２までのアレンジが施されたコード進行データが生成される。なお、レベルの高さは音楽性におけるレベルとは無関係であるが、アレンジのレベルの違いによって印象が異なる多様なコード進行が得られる。
【００５４】
なお、ユーザによりレベルで選択されたアレンジは、コード進行テンプレート記憶部１２に記憶された全て、あるいは選択されたパートにおける全てのコード進行テンプレート情報を対象に行っても良いし、ユーザが、アレンジしたい一部のコード進行テンプレート情報を選択するようにしてもよい。さらには、個々のコード進行パターンに含まれるすべてのコードに対してアレンジが行われてもよいし、アレンジによって置き換えが行われる対象のコードをユーザが選択できるようにしてもよい。
【００５５】
（スコア計算部１４）
図８は、スコア計算部１４の動作を示すフローチャートである。
【００５６】
まず、スコア計算部１４は、キーを暫定的に"Ｃ"とする（ステップＳ１０１）。
マッチング処理は、キーを半音ずつ上げて、最終的に１２種類のキーについて順次行われる。このため、最初のキーは何でも構わない。
【００５７】
次に、スコア計算部１４は、コード進行アレンジ部１３で生成したコード進行データの中から最初のコード進行データを選択する（ステップＳ１０２）。ここで、コード進行データＩＤを"ｊ"、コード進行データの数を"Ｎ"とする。
【００５８】
次に、入力されたメロディの各音について、コード進行データとのマッチングを行う。ここで、入力されたメロディの各音に対して進行方向に昇順に付けられたＩＤを"ｉ"、入力メロディを構成する音の数を"Ｍ"とする（ステップＳ１０３）。
【００５９】
次に、スコア計算部１４は、入力メロディにおいてｉ番目の音に対応するコードを決定する（ステップＳ１０４）。
【００６０】
図９Ａ、図９Ｂ、図９Ｃは、メロディの音に対応するコードを決定する方法を説明する図である。
図９Ａは、メロディ音とそれに対応するコードの関係を示す例である。この例では、入力メロディの最初の音である"ソ"の音が開始してから終了するまでの間のコードは"Ｃ"であるため、"ソ"のメロディ音に対応するコードは"Ｃ"である。
【００６１】
図９Ｂは、メロディの中にシンコペーションがある場合の対応法を示している。６番目の音である"ド"の音及び最後の音である"ファ"の音はシンコペーションのリズムの音である。この場合、音が開始した時のコードと終了した時のコードの両方が対応付けられる。
【００６２】
図９Ｃは、１つの音が開始してから終了するまでに複数のコードが切り替わる場合を示している。ここで最初の"ラ"の音は３つのコード（Am7、A7及びDm7）の区間にわたって対応付けられる。
【００６３】
次に、スコア計算部１４は、コード進行データの各々のコードルート番号に対応するコード毎に、コード構成音、およびスケール（アベイラブルノート、アボイドノート、およびスケール外音）を決定する（ステップＳ１０５）。
【００６４】
図１０は、コード毎のコード構成音およびスケールをまとめた図である。
ここで、◎はコード構成音（かつアベイラブルノート）、○はアベイラブルノート、△はアボイドノート、×はスケール外音を示している。スケール音はコード進行等に応じて音楽理論に基づいて決定される。
【００６５】
次に、スコア計算部１４は、メロディとコードとのマッチングに対するスコア計算を行う（ステップＳ１０６）。
【００６６】
次に、このスコア計算部１４によるスコア計算の詳細を説明する。
【００６７】
（スコア計算例その１）
図１１は、アベイラブルノートの観点からのスコア計算の手順を示すフローチャートである。
スコア計算部１４は、Ｍ個の音で構成される入力メロディについて以下の処理を行う。
【００６８】
まず、スコア計算部１４は、例えば、図１０に示したコード毎のコード構成音およびスケールをまとめた情報から、最初のメロディ音（ｉ＝１）がアベイラブルノートか否かを判定する（ステップＳ２０１、Ｓ２０２）。そのメロディ音がアベイラブルノートであれば（ステップＳ２０２のＹｅｓ）、スコア計算部１４はスコアに対して加点を行う（ステップＳ２０３）。そのメロディ音がアベイラブルノートでない場合には（ステップＳ２０２のＮｏ）、次のメロディ音（ｉ＝ｉ＋１）について同様の判定を行う（ステップＳ２０４のＮｏ→ステップＳ２０５→ステップＳ２０２）。以上の動作を入力メロディを構成するＭ個のメロディ音について繰り返す。
【００６９】
このように、メロディ音がアベイラブルノートである場合にはスコアが加算される。これは、アベイラブルノート以外の音がメロディに含まれると、聴感上の違和感が大きくなるためである。
【００７０】
スコアの加点に関しては、音の長さを加味して、長いほど加点の値を大きくしてもよい。
【００７１】
一つのメロディ音がシンコペーションあるいは複数のコードに対応付けられる場合がある。この場合、スコア計算部１４は、メロディ音が、対応するすべてのコードにおけるアベイラブルノートか否かを判定し、一つでも"偽"が判定された場合には加点せず、すべてのコードで"真"が判定された場合にのみ加点を行うようにするとよい。
【００７２】
［スコア計算例その２］
図１２は、コード構成音の観点からのスコア計算の手順を示すフローチャートである。
スコア計算部１４は、Ｍ個の音で構成される入力メロディについて以下の処理を行う。
【００７３】
まず、スコア計算部１４は、例えば、図１０に示したコード毎のコード構成音およびスケールをまとめた情報から、最初のメロディ音（ｉ＝１）がコード構成音か否かを判定する（ステップＳ３０１、３０２）。そのメロディ音がコード構成音であれば（ステップＳ３０２のＹｅｓ）、スコア計算部１４はスコアに対して加点を行うとともに、フラグをセットする（ステップＳ３０３）。そのメロディ音がコード構成音でない場合には（ステップＳ３０２のＮｏ）、次のメロディ音（ｉ＝ｉ＋１）について同様の判定を行う（ステップＳ３０４のＮｏ→ステップＳ３０５→ステップＳ３０２）。以上の動作を入力メロディを構成するＭ個のメロディ音について繰り返す。
【００７４】
この後、スコア計算部１４は、フラグをチェックし（ステップＳ３０６）、フラグがセットされていない場合には（ステップＳ３０６のＹｅｓ）、スコアの減点を行う（ステップＳ３０７）。フラグがセットされている場合には終了となる。
【００７５】
このように、入力メロディを構成するメロディ音にコード構成音が１つも含まれていない場合には、メロディらしさが損われるため減点の要素とすることが妥当である。
【００７６】
ここで、スコアの加点および減点に関しては、音の長さを加味して、長いほど加点および減点の値を大きくしてもよい。
【００７７】
（スコア計算例その３）
図１３は、コード構成音、スケール外音およびアボイドノートの観点からのスコア計算の手順を示すフローチャートである。
【００７８】
スコア計算部１４は、入力メロディの最後の音（ｉ＝Ｍ）がコード構成音か否かを判定する（ステップＳ４０１−４０４）。そのメロディ音がコード構成音であれば（ステップＳ４０４のＹｅｓ）、スコア計算部１４はスコアに対して加点を行う（ステップＳ４０５）。そのメロディ音がコード構成音でない場合には（ステップＳ４０４のＮｏ）、そのメロディ音がスケール外音またはアボイドノートか否かを判定する（ステップＳ４０６）。そのメロディ音がスケール外音またはアボイドノートでなければ（ステップＳ４０６のＮｏ）、そのままスコア計算を終了し、そのメロディ音がスケール外音またはアボイドノートであれば（ステップＳ４０６のＹｅｓ）、スコアの減点を行う（ステップＳ４０７）。
【００７９】
このように入力メロディの最後の音がコード構成音である場合には、メロディのフレーズが安定して終了する感覚が得られるので、より良いマッチング結果を得ることを期待してスコアを加点することが望ましい。
【００８０】
ここでのコード構成音は、３和音（１度、sus4を含む３度、及び５度の音）と７度のみとし、６度やテンションノートは含まないものとすると、よりメロディの安定感につなげることができる。
【００８１】
また、上記のように、入力メロディの最後の音がスケール外音あるいはアボイドノートの場合には、メロディフレーズが非常に不安定な感じとなってしまうため、減点をするとよい。
【００８２】
（スコア計算例その４）
図１４は、音と音との間の休符の有無の観点からのスコア計算の手順を示すフローチャートである。
【００８３】
このスコア計算は、入力メロディが２つ以上の音で構成されている場合に有効となる（ステップＳ５０１のＹｅｓ）。
【００８４】
まず、スコア計算部１４は、最初のメロディ音（ｉ＝１）について、次のメロディ音との間に休符があるか否かを判定する（ステップＳ５０３）。休符がなければ（ステップＳ５０３のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について同様の判定を行う（ステップＳ５０６のＮｏ→Ｓ５０７→Ｓ５０３）。休符がある場合、（ステップＳ５０３のＹｅｓ）、スコア計算部１４は、当該メロディ音または次のメロディ音が共にアベイラブルノートで、かつ少なくともどちらか一方がコード構成音である否かを判定する（ステップＳ５０４）。
【００８５】
この判定で"真"が判定された場合（ステップＳ５０４のＹｅｓ）、スコア計算部１４は加点を行う（ステップＳ５０５）。また、この判定で"偽"が判定された場合（ステップＳ５０４のＮｏ）、スコア計算部１４は、当該メロディ音または次のメロディ音の少なくともどちらか一方がアボイドノートまたはスケール外音であるかどうかを判定する（ステップＳ５０８）。この判定で"真"が判定された場合（ステップＳ５０８のＹｅｓ）、スコア計算部１４は減点を行う（ステップＳ５０９）。また"偽"が判定された場合（ステップＳ５０８のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について、ステップＳ５０３の判定に移行する（ステップＳ５０６のＮｏ→Ｓ５０７→Ｓ５０３）。
【００８６】
上記のように、スコア計算部１４は、メロディ音と次のメロディ音の間に休符がある場合に、当該メロディ音または次のメロディ音のいずれかが、対応するコードのコード構成音を満たしていれば加点を行い、スケール外音あるいはアボイドノートの場合には減点を行う。休符の前後のメロディ音は印象に残りやすいため、上記のようにすることによって、より良いマッチング結果を得ることが期待できる。
【００８７】
（スコア計算例その５）
図１５は、シンコペーションの観点からのスコア計算の手順を示すフローチャートである。
【００８８】
このスコア計算は、入力メロディが２つ以上の音で構成されている場合に有効となる（ステップＳ６０１のＹｅｓ）。
【００８９】
まず、スコア計算部１４は、最初のメロディ音（ｉ＝１）がシンコペーションか否かを判定する（ステップＳ６０２、Ｓ６０３）。"偽"の場合（ステップＳ６０３のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について同様の判定を行う（ステップＳ６０６→Ｓ６０７→Ｓ６０３）。"真"である場合（ステップＳ６０３のＹｅｓ）、スコア計算部１４は、当該メロディ音または次のメロディ音が共にアベイラブルノートで、かつ少なくともどちらか一方がコード構成音である否かを判定する（ステップＳ６０４）。
【００９０】
この判定で"真"が判定された場合（ステップＳ６０４のＹｅｓ）、スコア計算部１４は加点を行う（ステップＳ６０５）。この判定で"偽"が判定された場合（ステップＳ６０４のＮｏ）、スコア計算部１４は、当該メロディ音または次のメロディ音の少なくともどちらか一方がアボイドノートまたはスケール外音であるかどうかを判定する（ステップＳ６０８）。この判定で"真"が判定された場合（ステップＳ６０８のＹｅｓ）、スコア計算部１４は減点を行う（ステップＳ６０９）。また"偽"が判定された場合（ステップＳ６０８のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について、ステップＳ６０３の判定に移行する（ステップＳ６０８→Ｓ６０９→Ｓ６０３）。
【００９１】
上記のように、シンコペーションをなすメロディ音は印象に残りやすいため、上記のようにすることによって、より良いマッチング結果を得ることが期待できる。また、シンコペーションをなす音がコード構成音ではない場合でも、次の音がコード構成音であればメロディの解決感が演出されるため、上記のようにすることによって、より良いマッチング結果を得ることが期待できる。
【００９２】
（スコア計算例その６）
図１６は、音程差の観点からのスコア計算の手順を示すフローチャートである。
【００９３】
このスコア計算は、入力メロディを構成するメロディ音が３以上ある場合に有効となる（ステップＳ７０１のＹｅｓ）。
【００９４】
まず、スコア計算部１４は、２番目のメロディ音（ｉ＝２）について、前後のメロディ音との音程差が所定の音程以上であるか否かを判定する（ステップＳ７０２、Ｓ７０３）。"偽"の場合（ステップＳ７０３のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について同様の判定を行う（ステップＳ７０６のＮｏ→Ｓ７０７→Ｓ７０３）。"真"である場合（ステップＳ７０３のＹｅｓ）、スコア計算部１４は、当該メロディ音がコード構成音である否かを判定する（ステップＳ７０４）。
【００９５】
この判定で"真"が判定された場合（ステップＳ７０４のＹｅｓ）、スコア計算部１４は加点を行う（ステップＳ７０５）。この判定で"偽"が判定された場合（ステップＳ７０４のＮｏ）、スコア計算部１４は、当該メロディ音がアボイドノートまたはスケール外音であるかどうかを判定する（ステップＳ７０８）。この判定で"真"が判定された場合（ステップＳ７０８のＹｅｓ）、スコア計算部１４は減点を行う（ステップＳ７０９）。また"偽"が判定された場合（ステップＳ７０８のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について、同様の判定を行う（ステップＳ７０６のＮｏ→Ｓ７０７→Ｓ７０３）。
【００９６】
上記のように、前後のメロディ音との音程差が大きいメロディ音は印象に残りやすいため、上記のようにすることによって、より良いマッチング結果を得ることが期待できる。
【００９７】
（スコア計算例その７）
図１７は、音の長さの観点からのスコア計算の手順を示すフローチャートである。
スコア計算部１４は、Ｍ個の音で構成される入力メロディについて以下の処理を行う。
【００９８】
まず、スコア計算部１４は、最初のメロディ音（ｉ＝１）について、音の長さが所定の長さ以上か否かを判定する（ステップＳ８０１、Ｓ８０２）。例えば１拍半以上である場合に"真"と判定する。"偽"が判定された場合（ステップＳ８０２のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について同様の判定を行う（ステップＳ８０５のＮｏ→Ｓ８０６→Ｓ８０２）。"真"が判定された場合（ステップＳ８０２のＹｅｓ）、スコア計算部１４は、当該メロディ音がコード構成音である否かを判定する（ステップＳ８０３）。
【００９９】
この判定で"真"が判定された場合（ステップＳ８０３のＹｅｓ）、スコア計算部１４は加点を行う（ステップＳ８０４）。この判定で"偽"が判定された場合（ステップＳ８０３のＮｏ）、スコア計算部１４は、当該メロディ音がアボイドノートまたはスケール外音であるかどうかを判定する（ステップＳ８０７）。この判定で"真"が判定された場合（ステップＳ８０７のＹｅｓ）、スコア計算部１４は減点を行う（ステップＳ８０８）。また"偽"が判定された場合（ステップＳ８０８のＮｏ）、スコア計算部１４は、次のメロディ音（ｉ＝ｉ＋１）について、同様の判定を行う（ステップＳ８０５のＮｏ→Ｓ８０６→Ｓ８０２）。
【０１００】
上記のように、長いメロディ音は印象に残りやすいため、上記のようにすることによって、より良いマッチング結果を得ることが期待できる。
【０１０１】
（スコア計算例その８）
図１８は、ドミナントモーションの観点からのスコア計算の手順を示すフローチャートである。
【０１０２】
スコア計算機は、計算対象のメロディ音の一つ前に対応するコードと当該メロディ音に対応するコードがドミナントモーションであり（ステップＳ９０１のＹｅｓ）、かつ当該メロディ音の一つ前の音が当該メロディに対応するコードのルート音の半音下（あるいは１１半音上）であり（ステップＳ９０２のＹｅｓ）、かつ、当該メロディ音が一つ前のメロディ音より半音高い場合には（ステップＳ９０３のＹｅｓ）、加点を行う（ステップＳ９０４）。
【０１０３】
上述した各々のスコア計算方法は、１以上任意に組み合わせて用いることができる。組み合わせた１以上のスコア計算方法により各々得られたのスコアは、足し合わされ、最終的なスコアが求められる。なお、各々のスコア計算方法により各々得られたのスコアを足し合わせるとき、スコア計算方法毎にスコアに対する重みを設けてもよい。
【０１０４】
図８の説明に戻る。
以上により、入力メロディに含まれる一音と、一つのコード進行パターンとから算出されるマッチングスコアが得られる。したがって、このスコア計算が、入力メロディを構成するすべてのメロディ音について繰り返され（ステップＳ１０７、Ｓ１０８）、各スコアの合計値が、入力メロディと一つのコード進行パターンとから算出されたスコアとなる。
【０１０５】
さらに、以上のスコア計算が、有効なすべてのコード進行パターンについて繰り返される（ステップＳ１０９、Ｓ１１０）。これにより、"Ｃ"のキーに対応するスコアが得られる。
【０１０６】
次に、キーが半音上げられ（ステップＳ１１２）、上記の動作がキーが"Ｂ"となるまで繰り返される（ステップＳ１１１）。これにより、キー毎のスコアが得られる。
【０１０７】
この後、コード進行及びキー決定部１５により、最大スコアが得られたコード進行及びキーが決定される（ステップＳ１１３）。
【０１０８】
さらにこの後、メロディ生成部１６が、入力されたメロディと、コード進行及びキー決定部１５で決定されたコード進行及びキーに基づいてメロディデータを生成する。
【０１０９】
最後に、伴奏生成部１７によって、生成されたメロディデータ、コード進行及びキー決定部１５で決定されたコード進行及びキーに基づいて伴奏データが生成され、互いに組み合わせて生成楽曲出力部１８によって出力される。このとき、出力は電子データとして記憶部に格納されるとともに、可聴音としてスピーカより出力されてもよい。
【０１１０】
なお、本技術は以下のような構成もとることができる。
（１）ユーザよりメロディのデータの入力を受け付け、
１以上の基準のコード進行データに対してアレンジを付与し、
前記入力されたメロディのデータと前記アレンジの付与されたコード進行データとのマッチングのスコアを計算するように構成された制御部を
具備する情報処理装置。
【０１１１】
（２）前記（１）に記載の情報処理装置であって、
前記制御部は、前記アレンジの付与されたコード進行データに異なるキーを設定した各々のコード進行データを、前記入力されたメロディのデータに対するマッチングの対象とするように構成された
情報処理装置。
【０１１２】
（３）前記（１）または（２）に記載の情報処理装置であって、
前記制御部は、段階的に前記アレンジを付与し、
少なくとも、前記ユーザより選択された段階の前記コード進行データを、前記入力されたメロディのデータに対するマッチングの対象とするように構成された
情報処理装置。
【０１１３】
（４）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に、この音がアベイラブルノートであるかどうか判定し、前記アベイラブルノートの音が判定される毎に前記スコアを加点するように構成された
情報処理装置。
【０１１４】
（５）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に、この音がコード構成音であるかどうか判定し、前記コード構成音の音が判定される毎に前記スコアを加点するように構成された
情報処理装置。
【０１１５】
（６）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディの最後の音がコード構成音である場合、前記スコアを加点するように構成された
情報処理装置。
【０１１６】
（７）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディの最後の音がスケール外音およびアボイドノートのいずれである場合、前記スコアを減点するように構成された
情報処理装置。
【０１１７】
（８）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する前後２つの音の間に休符がある場合であって、前記前後２つの音がともにアベイラブルノートであり、かつ、前記前後２つの音のいずれかが、対応するコードのコード構成音である場合、前記スコアを加点し、前記前後２つの音のいずれかが対応するコードのスケール外音あるいはアボイドノートである場合、前記スコアを減点するように構成された
情報処理装置。
【０１１８】
（９）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する前後２つの音がシンコペーションをなす場合、前記２つの音がアベイラブルノートで、かつ少なくとも一方の音がコード構成音である場合、前記スコアを加点し、前記２つの音のいずれかが対応するコードのスケール外音あるいはアボイドノートである場合、前記スコアを減点するように構成された
情報処理装置。
【０１１９】
（１０）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前後の音との音程差が閾値以上である、前記前後の間に位置する音が、コード構成音である場合、前記スコアを加点し、前記コード構成音でなく、かつアボイドノートあるいはスケール外音の場合、前記スコアを減点するように構成された
情報処理装置。
【０１２０】
（１１）前記（１）ないし（３）のいずれかに記載の情報処理装置であって、
前記制御部は、前記入力されたメロディを構成する音毎に長さが閾値以上であるか否かを判定し、長さが閾値以上であって、かつ当該音がコード構成音である場合、前記スコアを加点し、当該音がアボイドノートあるいはスケール外音である場合、前記スコアを減点するように構成された
情報処理装置。
【符号の説明】
【０１２１】
１…自動作曲装置
１０…ＣＰＵ
１１…メロディ入力部
１２…コード進行テンプレート記憶部
１３…コード進行アレンジ部
１４…スコア計算部
１５…キー決定部
１６…メロディ生成部
１７…伴奏生成部
１８…生成楽曲出力部
２０…ストレージ
【図１】
2015206878.tif 000003
【図３】
2015206878.tif 000004
【図４】
2015206878.tif 000005
【図５】
2015206878.tif 000006
【図６】
2015206878.tif 000007
【図７】
2015206878.tif 000008
【図８】
2015206878.tif 000009
【図１０】
2015206878.tif 000010
【図１１】
2015206878.tif 000011
【図１２】
2015206878.tif 000012
【図１３】
2015206878.tif 000013
【図１４】
2015206878.tif 000014
【図１５】
2015206878.tif 000015
【図１６】
2015206878.tif 000016
【図１７】
2015206878.tif 000017
【図１８】
2015206878.tif 000018
【図２】
2015206878.tif 000019
【図９Ａ】
2015206878.tif 000020
【図９Ｂ】
2015206878.tif 000021
【図９Ｃ】
2015206878.tif 000022