(57)【要約】【課題】単調でなくかつ聴感上自然なコード進行を容易に得ることが可能なコード検出装置、コード検出プログラムおよびコード検出方法を提供する。【解決手段】音楽データ取得部２１は、曲の音高列を表す音楽データを取得する。検出部２２は、音楽データからコードを順次検出する。記憶部２３は、各区間の使用コードを履歴コードとして記憶する。変換部２５は、前の区間の履歴コードに基づいて、検出部２２により検出された検出コードをテンションコードに変換する。決定部２６は、変換されたテンションコードを使用コードに決定する。【選択図】図７
2018072444.tif 000002
【特許請求の範囲】
【請求項１】
曲の音高列を表す音楽データを取得する音楽データ取得手段と、
取得された音楽データから前記曲の各区間のコードを順次検出する検出手段と、
前記曲の各区間において使用すべきコードを使用コードとして順次決定する決定手段と、
検出されたコードおよび決定された使用コードの少なくとも一方を履歴コードとして記憶する記憶手段と、
検出された一の区間のコードを、記憶された当該一の区間より前の区間の履歴コードに基づいて、テンション音を含むコードに変換する変換手段とを備え、
前記決定手段は、変換後のコードを使用コードに決定する、コード検出装置。
【請求項２】
前記変換手段は、前記検出された一の区間のコードおよび前記記憶された前の区間の履歴コードから長調か短調かの調性を推測し、推測された調性に適合するように、前記検出された一の区間のコードを変換する、請求項１記載のコード検出装置。
【請求項３】
前記変換手段は、前記検出された一の区間のコードおよび前記記憶された前の区間の履歴コードに基づいて、使用可能な音階の種類を推測し、推測された音階の種類に適合するように、前記検出された一の区間のコードを変換する、請求項１または２記載のコード検出装置。
【請求項４】
前記記憶手段は、少なくともドミナントコード以外のコードを含む１以上の履歴コードを記憶し、
前記変換手段は、前記検出された一の区間のコードがドミナントコードである場合、前記記憶された１以上の履歴コードのうち、ドミナントコード以外のコードであって前記一の区間に最も近い区間の履歴コードに基づいて、前記検出された一の区間のコードを変換する、請求項１〜３のいずれか一項に記載のコード検出装置。
【請求項５】
曲の音高列を表す音楽データを取得するステップと、
取得された音楽データから前記曲の各区間のコードを順次検出するステップと、
前記曲の各区間において使用すべきコードを使用コードとして順次決定するステップと、
検出されたコードおよび決定された使用コードの少なくとも一方を履歴コードとして記憶するステップと、
検出された一の区間のコードを、記憶された当該一の区間より前の区間の履歴コードに基づいて、テンション音を含むコードに変換するステップとを、
コンピュータに実行させ、
前記使用コードを決定するステップは、前記変換するステップにおける変換後のコードを使用コードに決定することを含む、コード検出プログラム。
【請求項６】
曲の音高列を表す音楽データを取得するステップと、
取得された音楽データから前記曲の各区間のコードを順次検出するステップと、
前記曲の各区間において使用すべきコードを使用コードとして順次決定するステップと、
検出されたコードおよび決定された使用コードの少なくとも一方を履歴コードとして記憶するステップと、
検出された一の区間のコードを、記憶された当該一の区間より前の区間の履歴コードに基づいて、テンション音を含むコードに変換するステップとを含み、
前記使用コードを決定するステップは、前記変換するステップにおける変換後のコードを使用コードに決定することを含む、コード検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コード検出装置、コード検出プログラムおよびコード検出方法に関する。
【背景技術】
【０００２】
ユーザの演奏から順次コードを検出する技術がある。特許文献１に記載されるコード検出装置においては、所定のコード検出タイミング（例えば、各小節の１拍目および３拍目）で、演奏データに基づいてコードが検出される。具体的には、演奏データから、コード検出タイミングに有効とみなされる音高情報が抽出される。また、調情報が取得されるとともに、その調情報に基づいて１または複数の候補コードが抽出される。各候補コードについて、抽出された各音高情報の役割が判別され、予め用意されたポイントテーブルから、判別された役割に応じたポイントが抽出される。抽出されたポイントの合計値が最高値となる候補コードが最適なコードとして検出される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７０３６９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
検出されたコードを用いて種々の処理を行うことができる。例えば、検出されたコードに基づいて、ユーザの演奏に対する付加音（例えば、自動伴奏音）を生成することができる。この場合、検出されたコードの進行が単調であると、付加音も単調となる。コードの進行が単調とならないように、テンション音が付加されたコード（テンションコード）を用いることが考えられる。上記特許文献１のコード検出装置においては、ユーザが演奏データとしてテンション音の音高情報を入力することにより、テンション音が付加されたコードが検出される。しかしながら、専門的な知識を有しないユーザにとっては、適切なテンション音を選択することは難しい。付加されるテンション音が不適切であると、聴感的に不自然なコード進行となる。
【０００５】
本発明の目的は、単調でなくかつ聴感上自然なコード進行を容易に得ることが可能なコード検出装置、コード検出プログラムおよびコード検出方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係るコード検出装置は、曲の音高列を表す音楽データを取得する音楽データ取得手段と、取得された音楽データから曲の各区間のコードを順次検出する検出手段と、曲の各区間において使用すべきコードを使用コードとして順次決定する決定手段と、検出されたコードおよび決定された使用コードの少なくとも一方を履歴コードとして記憶する記憶手段と、検出された一の区間のコードを、記憶された当該一の区間より前の区間の履歴コードに基づいて、テンション音を含むコードに変換する変換手段とを備え、決定手段は、変換後のコードを使用コードに決定する。
【０００７】
このコード検出装置においては、演奏データからコードが順次検出され、検出されたコードがテンション音を含むコードに変換される。この場合、検出されたコードは、前の区間の履歴コードに基づいて変換される。そのため、各区間において検出されたコードに、前の区間の履歴コードに応じたテンション音を付加することができる。それにより、単調でなくかつ聴感上自然なコード進行を容易に得ることができる。
【０００８】
変換手段は、検出された一の区間のコードおよび記憶された前の区間の履歴コードから長調か短調かの調性を推測し、推測された調性に適合するように、検出された一の区間のコードを変換してもよい。この場合、検出されたコードに調性に応じたテンション音を付加することができる。
【０００９】
変換手段は、検出された一の区間のコードおよび記憶された前の区間の履歴コードに基づいて、使用可能な音階の種類を推測し、推測された音階の種類に適合するように、検出された一の区間のコードを変換してもよい。この場合、検出されたコードに音階の種類に応じたテンション音を付加することができる。
【００１０】
記憶手段は、少なくともドミナントコード以外のコードを含む１以上の履歴コードを記憶し、変換手段は、検出された一の区間のコードがドミナントコードである場合、記憶された１以上の履歴コードのうち、ドミナントコード以外のコードであって一の区間に最も近い区間の履歴コードに基づいて、検出された一の区間のコードを変換してもよい。この場合、検出されたコードの変換を適切に行うことができる。
【００１１】
本発明に係るコード検出プログラムは、曲の音高列を表す音楽データを取得するステップと、取得された音楽データから曲の各区間のコードを順次検出するステップと、曲の各区間において使用すべきコードを使用コードとして順次決定するステップと、検出されたコードおよび決定された使用コードの少なくとも一方を履歴コードとして記憶するステップと、検出された一の区間のコードを、記憶された当該一の区間より前の区間の履歴コードに基づいて、テンション音を含むコードに変換するステップとを、コンピュータに実行させ、使用コードを決定するステップは、変換するステップにおける変換後のコードを使用コードに決定することを含む。
【００１２】
本発明に係るコード検出方法は、曲の音高列を表す音楽データを取得するステップと、取得された音楽データから曲の各区間のコードを順次検出するステップと、曲の各区間において使用すべきコードを使用コードとして順次決定するステップと、検出されたコードおよび決定された使用コードの少なくとも一方を履歴コードとして記憶するステップと、検出された一の区間のコードを、記憶された当該一の区間より前の区間の履歴コードに基づいて、テンション音を含むコードに変換するステップとを含み、使用コードを決定するステップは、変換するステップにおける変換後のコードを使用コードに決定することを含む。
【００１３】
これらのコード検出プログラムおよびコード検出方法によれば、単調でなくかつ聴感上自然なコード進行を容易に得ることができる。
【発明の効果】
【００１４】
本発明によれば、単調でなくかつ聴感上自然なコード進行を容易に得ることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係るコード検出装置を含む電子音楽装置の構成を示すブロック図である。
【図２】コード検出装置の動作の概要について説明するための図である。
【図３】検出コードがＶ７である場合に、短調を推測させる参照コードの例を示す図である。
【図４】検出コードがIV（ｍａｊ）系である場合にリディアンスケールを推測させる参照コードの例を示す図である。
【図５】対象の区間の検出コードおよびその直前の区間の履歴コードがドミナントコードである場合の例を示す図である。
【図６】直前の区間の履歴コードの構成音が対象の区間の検出コードにテンション音として付加される例を示す図である。
【図７】本実施の形態に係るコード検出装置の機能的な構成を示すブロック図である。
【図８】図７の各機能部によるコード検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態に係るコード検出装置、コード検出プログラムおよびコード検出方法について図面を用いて詳細に説明する。
【００１７】
（１）電子音楽装置の構成
図１は本発明の実施の形態に係るコード検出装置を含む電子音楽装置の構成を示すブロック図である。図１の電子音楽装置１によれば、ユーザは演奏および曲の制作等を行うことができる。また、電子音楽装置１は、ユーザの演奏からコードを検出するコード検出装置１００を含む。
【００１８】
電子音楽装置１は、演奏操作子２、入力Ｉ／Ｆ（インタフェース）３、設定操作子４、検出回路５、表示部６および表示回路８を備える。演奏操作子２は、鍵盤等の音高特定子を含み、入力Ｉ／Ｆ３を介してバス１９に接続される。ユーザが演奏操作子２を操作することにより、演奏データが入力される。演奏データは、後述の音楽データの一例であり、例えばＭＩＤＩ（Musical Instrument Digital Interface）データまたはオーディオデータからなる。
【００１９】
演奏操作子２として鍵盤が用いられる場合、例えば、特定の境界位置を基準に鍵盤がコード鍵域とメロディ鍵域とに分割される。コード鍵域は境界位置よりも低音側（左側）の領域であり、メロディ鍵域は境界位置よりも高音側（右側）の領域である。この場合、主にコード鍵域の操作に基づいて、コードが検出される。なお、コード鍵域の操作に加えて、メロディ鍵域の操作も考慮してコードが検出されてもよい。また、鍵盤がコード鍵域とメロディ鍵域とに分割されていない場合でも、操作される鍵からコードを検出することは可能である。
【００２０】
設定操作子４は、オンオフ操作されるスイッチ、回転操作されるロータリエンコーダ、またはスライド操作されるリニアエンコーダ等を含み、検出回路５を介してバス１９に接続される。設定操作子４は、音量の調整、電源のオンオフおよび各種設定を行うために用いられる。表示部６は、例えば液晶ディスプレイを含み、表示回路８を介してバス１９に接続される。表示部６により、演奏または設定等に関する各種情報が表示される。設定操作子４および表示部６の少なくとも一部がタッチパネルディスプレイにより構成されてもよい。
【００２１】
電子音楽装置１は、ＲＡＭ（ランダムアクセスメモリ）９、ＲＯＭ（リードオンリメモリ）１０、ＣＰＵ（中央演算処理装置）１１、タイマ１２および記憶装置１３をさらに備える。ＲＡＭ９、ＲＯＭ１０、ＣＰＵ１１および記憶装置１３はバス１９に接続され、タイマ１２はＣＰＵ１１に接続される。外部記憶装置１５等の外部機器が通信Ｉ／Ｆ（インタフェース）１４を介してバス１９に接続されてもよい。ＲＡＭ９、ＲＯＭ１０、ＣＰＵ１１およびタイマ１２がコンピュータを構成する。
【００２２】
ＲＡＭ９は、例えば揮発性メモリからなり、ＣＰＵ１１の作業領域として用いられるとともに、各種データを一時的に記憶する。ＲＯＭ１０は、例えば不揮発性メモリからなり、システムプログラム、コード検出プログラム等のコンピュータプログラムを記憶する。ＣＰＵ１１は、ＲＯＭ１０に記憶されたコード検出プログラムをＲＡＭ９上で実行することにより後述するコード検出処理を行う。後述のように、コード検出処理により、演奏データからコードが検出され、検出されたコードがテンション音を含むコードに変換される。変換後のコードが、使用コードとして決定される。使用コードは、ユーザの演奏に対する付加音（例えば、ハーモニー音または自動伴奏音等）を生成する際に基準のコードとして使用される。使用コードは、外部装置に出力されてもよい。タイマ１２は、現在時刻等の時間情報をＣＰＵ１１に与える。
【００２３】
記憶装置１３は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含み、使用コードリストを記憶するとともに、検出されたコードをテンション音を含むコードに変換するためのコード変換情報を記憶する。使用コードリストおよびコード変換情報の詳細については後述する。上記のコード検出プログラムが記憶装置１３に記憶されてもよい。
【００２４】
外部記憶装置１５は、記憶装置１３と同様に、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含み、コード検出プログラムを記憶してもよい。
【００２５】
本実施の形態におけるコード検出プログラムは、コンピュータが読み取り可能な記録媒体に格納された形態で提供され、ＲＯＭ１０または記憶装置１３にインストールされてもよい。また、通信Ｉ／Ｆ１４が通信網に接続されている場合、通信網に接続されたサーバから配信されたコード検出プログラムがＲＯＭ１０または記憶装置１３にインストールされてもよい。
【００２６】
電子音楽装置１は、音源１６、効果回路１７およびサウンドシステム１８をさらに備える。音源１６および効果回路１７はバス１９に接続され、サウンドシステム１８は効果回路１７に接続される。音源１６は、演奏操作子２により入力される演奏データ、ならびにコード検出処理によって決定される使用コードに基づいて楽音信号を生成する。効果回路１７は、音源１６により生成される楽音信号に音響効果を付与する。
【００２７】
サウンドシステム１８は、デジタルアナログ（Ｄ／Ａ）変換回路、増幅器およびスピーカを含む。このサウンドシステム１８は、音源１６から効果回路１７を通して与えられる楽音信号をアナログ音信号に変換し、アナログ音信号に基づく音を発生する。それにより、楽音信号が再生される。電子音楽装置１において、主として演奏操作子２、ＲＡＭ９、ＲＯＭ１０、ＣＰＵ１１および記憶装置１３がコード検出装置１００を構成する。
【００２８】
（２）動作の概要
図２は、コード検出装置１００の動作の概要について説明するための図である。図２の例では、ユーザの演奏に基づいて、曲の区間Ｒ１，Ｒ２，・・・，Ｒｎにそれぞれ対応する演奏データＤ１，Ｄ２，・・・，Ｄｎ（ｎは正の整数）が取得される。１区間は、例えば２拍または１小節である。１区間の長さは、後述のコード検出タイミングに依存する。
【００２９】
演奏データＤ１，Ｄ２，・・・，Ｄｎから公知の方法によってコードＣ１，Ｃ２，・・・，Ｃｎが検出される。以下、演奏データから検出されるコードを検出コードと呼ぶ。検出コードは、例えば、３和音または４和音のコードであり、コードルートおよびコードタイプで表される。本例では、ユーザの演奏時にリアルタイムでコードが検出される。
【００３０】
検出コードＣ１，Ｃ２，・・・，Ｃｎに基づいて、使用コードＣ１，Ｃ２’，・・・，Ｃｎ’が決定される。本実施の形態では、各区間の検出コードが、前の区間の使用コードに基づいてテンションコードに変換され、変換後のコードが使用コードに決定される。前の区間は、対象の区間の直前の区間に限らず、対象の区間より２つ以上前の区間も含む。テンションコードは、テンション音が付加されたコードである。テンション音は、コードの主たる構成音（例えば、ルート音、３ｒｄおよび５ｔｈ）との協和性が比較的低い音であり、コード毎に定められる。代表的なテンション音は、９ｔｈ、♯９ｔｈ、♭９ｔｈ、１１ｔｈ、♯１１ｔｈ、１３ｔｈおよび♭１３ｔｈである。付加されるテンション音は、前の区間から対象の区間への使用コードの流れが聴感上自然になるように決定される。テンション音の決定方法については後述する。
【００３１】
図２の例では、最初の区間Ｒ１の検出コードＣ１は、そのまま変換されずに使用コードに決定され、区間Ｒ２，Ｒ３，・・・，Ｒｎの検出コードは、それぞれ直前の区間Ｒ１，Ｒ２，・・・，Ｒｎ―１の使用コードに基づいて変換される。具体的には、区間Ｒ２の検出コードＣ２は、区間Ｒ１の使用コードＣ１に基づいてテンションコードに変換され、そのテンションコードが使用コードＣ２’に決定される。区間Ｒ３の検出コードＣ３は、区間Ｒ２の使用コードＣ２’に基づいてテンションコードに変換され、そのテンションコードが使用コードＣ３’に決定される。以降の区間でも同様にして、検出コードが前の区間の使用コードに基づいてテンションコードに変換され、変換後のテンションコードが使用コードに決定される。なお、検出コードがテンションコードである場合には、検出コードが変換されずにそのまま使用コードに決定されてもよい。
【００３２】
決定された使用コードＣ１，Ｃ２’，・・・，Ｃｎ’は、履歴コードとして図１３の記憶装置１３に順次記憶される。検出コードの変換時には、記憶された履歴コードが参照される。本例では、１または複数の履歴コードにより使用コードリストが生成される。使用コードリストは、使用コードの決定毎に順次更新される。
【００３３】
以下、対象の区間の検出コードを変換する際に参照される対象の区間より前の区間の履歴コード（使用コード）を参照コードと呼ぶ。図２の例では、各区間における参照コードが、その区間の直前の区間の履歴コードである。
【００３４】
（３）コード変換
（３−１）調性の推測
検出コードからテンションコードへの変換について説明する。以下の説明では、必要に応じて各コードをディグリーネームで表す。例えば、検出コードおよび参照コードから長調か短調かの調性が推測され、推測された調性に適合するように、検出コードがテンションコードに変換される。この場合、検出コードに調性に応じたテンション音を付加することができる。
【００３５】
具体例として、検出コードがＶ７である場合を説明する。Ｖ７は、通常、カデンツ内でドミナントとして機能する。図３は、検出コードがＶ７である場合に、短調を推測させる参照コードの例を示す図である。図３には、複数の参照コードが系統別に示される。「○系」（○は、ディグリーネーム）とは、共通の３和音のコード「○」を基本形とする複数のコードの総称である。例えば、Ｉｍ系は、基本形であるＩｍの他、Ｉｍ６、Ｉｍ７、Ｉｍ ａｄｄ９等を含む。
【００３６】
Ｉｍ、IIｍ（♭５）、♭III（ｍａｊ）、IVｍ、Ｖｍ、♭VI（ｍａｊ）および♭VII（ｍａｊ）は、ナチュラルマイナースケールのダイアトニックコードである。そのため、これらのコードを基本形とするコードは、短調で使用される可能性が高い。また、短調では、調の主音に対して短３度、短６度、または短７度の音程をなす音が、参照コードに含まれる可能性が高い。
【００３７】
一方、長調では、Ｉ（ｍａｊ）、IIｍおよびIIIｍ等のメジャースケールのダイアトニックコードを基本系とするコードが使用される可能性が高い。また、調の主音に対して長３度、長６度、または長７度の音程をなす音が、参照コードに含まれる可能性が高い。
【００３８】
検出コードがＶ７であり、参照コードから長調が推測される場合には、テンション音として９ｔｈが付加され、Ｖ７がＶ７（９）に変換される。一方、検出コードがドミナントセブンスコード（Ｖ７）であり、参照コードから短調が推測される場合には、テンション音として♭９ｔｈが付加され、Ｖ７がＶ７（♭９）に変換される。
【００３９】
調の主音は、前の区間の演奏データまたは前の区間の検出コードに基づいて特定されることが好ましい。調の主音の特定には、公知の技術を用いることができる。また、ユーザが予め調の主音を指定してもよい。
【００４０】
なお、短調が推測された場合において、♭９ｔｈの代わりに、♯９ｔｈまたは♭１３ｔｈ等の他のテンション音が付加されてもよい。例えば、♭９ｔｈに対して短２度の関係にある音（例えば、Ｉ（ｍａｊ）系の６ｔｈ）が参照コードに含まれる場合、♭９ｔｈの代わりに、♯９ｔｈまたは♭１３ｔｈが付加されてもよい。この場合、前の区間からの使用コードの流れが自然になる。また、付加候補となる複数のテンション音がユーザに提示され、付加されるテンション音がユーザにより選択されてもよい。
【００４１】
短調を優先するかまたは長調を優先するかをユーザが予め選択可能であってもよい。調性の推測が難しい場合には、ユーザにより選択された調性に基づいて、付加すべきテンション音が特定される。あるいは、調性の推測が難しい場合には、検出コードがそのまま変換されずに使用コードに決定されてもよい。
【００４２】
（３−２）音階の推測
検出コードおよび参照コードに基づいて、使用可能な音階の種類が推測され、推測された音階の種類に適合するように、検出コードがテンションコードに変換されてもよい。この場合、検出コードに音階の種類に応じたテンション音を付加することができる。例えば、検出コードがIV（ｍａｊ）系であり、使用可能な音階の種類としてリディアンスケールが推測される場合には、テンション音として♯１１ｔｈが付加される。
【００４３】
図４は、検出コードがIV（ｍａｊ）系である場合にリディアンスケールを推測させる参照コードの例を示す図である。図４の例において、参照コードは、例えば、Ｉ系、VIｍ系、Ｖ系およびIIIｍ系である。Ｉ系としては、７ｔｈを含まないコードが挙げられる。Ｖ系としては、短調への指向性が低いコードが挙げられる。
【００４４】
なお、検出コードは、IVリディアンスケールの構成音のみを含むことが好ましい。具体的には、IV（ｍａｊ）、IVＭ６、IVＭ７、IVａｄｄ９、IVＭ７（♭５）、IVＭ７（♯１１）、IVＭ７（９）およびIV６（９）が、リディアンスケールの構成音のみを含む。IV（ｍａｊ）系であってもリディアンスケールの構成音以外の音を含む場合には、♯１１ｔｈを付加する対象から除外されてもよい。
【００４５】
（３−３）ドミナントコードが連続する場合
ドミナントコードは、メジャーコードおよびマイナーコード等に比べて、調性が反映されにくい。そのため、検出コードおよび参照コードがともにドミナントコードである場合、調性の推測が困難である。ドミナントコードとは、代表的にはドミナントセブンスコードであり、それに加えて、ドミナントセブンスコードにテンション音が付加されたテンションコード、ならびにドミナントセブンスコードの代理コード等を含む。そこで、対象の区間の検出コードがドミナントコードである場合には、対象の区間より前の区間の履歴コードのうち、ドミナントコード以外のコードであって対象の区間に最も近い区間の履歴コードに基づいて、対象の区間の検出コードがテンションコードに変換されることが好ましい。すなわち、対象の区間の直前の区間の履歴コードがドミナントコードである場合には、対象の区間の２つ以上前の履歴コードが参照コードとして参照される。
【００４６】
図５は、対象の区間の検出コードおよびその直前の区間の履歴コードがドミナントコードである場合の例を示す図である。図５の例では、対象の区間の検出コードがＶ７であり、対象の区間の直前の区間の履歴コードがII７であり、対象の区間の２つ前の区間の履歴コードは、ドミナントコードでない。そのため、対象の区間の２つ前の区間の履歴コードが参照コードとされる。
【００４７】
図５に示されるいずれの例においても、２つ前の区間の履歴コードから、調性として短調が推測される。そのため、テンション音として例えば♭９ｔｈが付加され、検出コードがテンションコードに変換される。なお、変換後のコードは、マイナートニックコード（例えば、Ｉｍ７）への指向性を有するが、メジャートニックコード（例えば、ＩＭ７）に進行してもよい。
【００４８】
（３−４）他の変換例
前の区間の履歴コードの構成音が、対象の区間のテンション音として使用可能である場合、当該前の区間の履歴コードの構成音が、対象の区間の検出コードにテンション音として付加されてもよい。この場合、前の区間は、対象の区間の直前の区間であることが好ましい。
【００４９】
図６は、直前の区間の履歴コードの構成音が対象の区間の検出コードにテンション音として付加される例を示す図である。図６（ａ）の例では、対象の区間の検出コードがＧ７であり、直前の履歴コードがＤｍ７（♭５）である。Ｄｍ７（♭５）の構成音であるＡ♭は、Ｇ７の♭９ｔｈに相当する。そこで、Ｇ７にテンション音として♭９ｔｈが付加され、Ｇ７がＧ７（♭９）に変換される。
【００５０】
図６（ｂ）の例では、検出コードがＧ７であり、直前のコードがＥ♭Ｍ７である。Ｅ♭Ｍ７の構成音であるＥ♭およびＢ♭は、Ｇ７の♯９ｔｈおよび♭１３ｔｈにそれぞれ相当する。そこで、Ｇ７にテンション音として♯９ｔｈおよび♭１３ｔｈが付加され、Ｇ７がＧ７（♯９，♭１３）に変換される。
【００５１】
（４）機能的な構成
図７は、本実施の形態に係るコード検出装置１００の機能的な構成を示すブロック図である。図７に示すように、コード検出装置１００は、音楽データ取得部２１、検出部２２、記憶部２３、参照コード特定部２４、変換部２５、決定部２６を含む。音楽データ取得部２１、検出部２２、参照コード特定部２４、変換部２５および決定部２６は、図１のＣＰＵ１１がＲＯＭ１０または記憶装置１３に記憶されたコード検出プログラムを実行することにより実現される。これらの機能部は、電子回路等のハードウエアにより実現されてもよい。記憶部２３は、図１の記憶装置１３により実現される。
【００５２】
音楽データ取得部２１は、曲の音高列を表す音楽データを取得する。音楽データは、ＭＩＤＩデータ、オーディオデータおよび音符データ等を含む。本例では、音楽データ取得部２１が、図１の演奏操作子２の操作に基づいて音楽データとして演奏データを取得する。検出部２２は、予め定められたコード検出タイミングで、演奏データからコードを順次検出する。コード検出タイミングは、例えば、各小節の一拍目および３拍目である。コード検出タイミングは、ユーザが適宜設定可能であってもよい。記憶部２３は、各区間の使用コードを履歴コードとして記憶し、使用コードリストを生成する。
【００５３】
参照コード特定部２４は、複数の区間の履歴コードのうち参照コードを特定する。対象の区間の検出コードがドミナントコードである場合、参照コード特定部２４は、対象の区間より前の区間の履歴コードのうち、ドミナントコード以外のコードであって対象の区間に最も近い区間の履歴コードを参照コードに特定してもよい。
【００５４】
変換部２５は、特定された参照コードに基づいて、検出部２２により検出された検出コードをテンションコードに変換する。変換部２５は、検出コードおよび参照コードから長調か短調かの調性を推測し、判定された調性に適合するように、検出コードを変換してもよい。また、変換部２５は、検出コードおよび参照コードに基づいて、使用可能な音階の種類を推測し、推測された音階の種類に適合するように、検出コードを変換してもよい。決定部２６は、変換されたテンションコードを使用コードに決定する。決定された使用コードは、履歴コードとして記憶部２３により記憶される使用コードリストに追加される。
【００５５】
（５）コード検出処理
図８は、図７の各機能部によるコード検出処理の一例を示すフローチャートである。図８のコード検出処理は、図１のＣＰＵ１１がＲＯＭ１０または記憶装置１３に記憶されたコード検出プログラムを実行することにより行われる。
【００５６】
本例では、検出コードの変換規則を定めたコード変換情報が予め記憶装置１３に記憶されている。コード変換情報は、複数のコード進行パターンを含むとともに、各コード進行パターンに対応付けられた変換規則を含む。コード進行パターンは、参照コードと検出コードとの組み合わせを表す。変換規則は、検出コードに付加すべきテンション音、または検出コードの変換後のテンションコードを示す。
【００５７】
まず、音楽データ取得部２１が、ユーザによる演奏操作子２の操作に基づいて、演奏データを取得する（ステップＳ１）。検出部２２は、図１のタイマ１２からの時間情報に基づいて、コード検出タイミングが到来したか否かを判定する（ステップＳ２）。コード検出タイミングが到来していない場合、音楽データ取得部２１がステップＳ１に戻る。コード検出タイミングが到来すると、検出部２２は、取得された演奏データからコードに検出する（ステップＳ３）。
【００５８】
次に、参照コード特定部２４は、検出されたコード（検出コード）がドミナントコードであるか否かを判定する（ステップＳ４）。検出コードがドミナントコードでない場合、以下のステップＳ５，Ｓ６がスキップされ、参照コード特定部２４は、直前の区間の履歴コードを参照コードとして特定する。検出コードがドミナントコードである場合、参照コード特定部２４は、変数ｉを１に設定する（ステップＳ５）。
【００５９】
次に、参照コード特定部２４は、対象の区間（現在の区間）のｉ個前の区間の履歴コードがドミナントコードであるか否かを判定する（ステップＳ６）。ｉ個前の履歴コードがドミナントコードである場合、参照コード特定部２４は、変数ｉに１を加算し（ステップＳ７）、ステップＳ６に戻る。ステップＳ６，Ｓ７が繰り返されることにより、対象の区間の直前の区間から１つずつ前の区間に遡ってドミナントコード以外の履歴コードが検索される。ステップＳ６で、ｉ個前の履歴コードがドミナントコードでない場合、参照コード特定部２４は、そのドミナントコード以外の履歴コードを参照コードに特定する（ステップＳ８）。
【００６０】
次に、変換部２５は、ステップＳ８で特定された参照コードとステップＳ３で検出された検出コードとの組み合わせが、コード変換情報に含まれるいずれかのコード進行パターンと一致するか否かを判定する（ステップＳ９）。参照コードと検出コードとの組み合わせがいずれかのコード進行パターンと一致する場合、変換部２５は、その一致するコード進行パターンに対応付けられた変換規則に基づいて、検出コードをテンションコードに変換する（ステップＳ１０）。次に、決定部２６が、変換後のテンションコードを使用コードに決定する（ステップＳ１１）。
【００６１】
一方、参照コードと検出コードとの組み合わせがいずれのコード進行パターンとも一致しない場合、決定部２６は、検出コードを使用コードに決定する（ステップＳ１２）。記憶部２３は、決定された使用コードを履歴コードとして記憶する（ステップＳ１３）。その後、ステップＳ１〜Ｓ１３が繰り返される。
【００６２】
（６）実施の形態の効果
本実施の形態に係るコード検出装置１００においては、演奏データからコードが順次検出され、検出されたコードがテンション音を含むコードに変換される。この場合、新たに検出されたコードは、記憶された履歴コードに基づいて変換される。そのため、新たに検出されたコードに、前の区間の履歴コードに応じたテンション音を付加することができる。それにより、単調でなくかつ聴感上自然なコード進行を容易に得ることができる。
【００６３】
また、本実施の形態では、新たに検出されたコードがドミナントコードである場合、記憶された１以上の履歴コードのうち、ドミナントコード以外のコードであって対象の区間に最も近い区間での履歴コードに基づいて、新たに検出されたコードが変換される。これにより、調性等を適切に推測することができるため、検出コードをテンションコードに適切に変換することができる。
【００６４】
（７）他の実施の形態
上記実施の形態では、各区間の使用コードが履歴コードとして記憶されるが、本発明はこれに限定されず、各区間の検出コードが履歴コードとして記憶されてもよい。この場合、前の区間の検出コードに基づいて、対象の区間の検出コードがテンションコードに変換される。検出コードと使用コードとの間で機能的な違いはほとんどない。そのため、使用コードの代わりに検出コードを参照した場合でも、各区間の検出コードの変換を適切に行うことができる。
【００６５】
上記実施の形態では、ユーザの演奏時（演奏データの取得時）に、リアルタイムでコードの検出および変換が行われるが、本発明はこれに限定されない。例えば、ユーザの演奏の終了後に、取得済みの演奏データを用いてコードの検出および変換が行われてもよい。また、音楽データとして、演奏データの代わりに、曲の音高列を示す他のデータが用いられてもよい。例えば、音楽データとして、音符列を表す譜面データが用いられてもよい。その場合、譜面データからコードが検出されるとともに、検出されたコードがテンションコードに変換され、使用コードが決定される。
【００６６】
記憶装置１３には、各区間の履歴コードが記憶されるのではなく、一部の区間の履歴コードのみが記憶されてもよい。例えば、新たな使用コードが決定される毎に、前の区間の履歴コードが消去されてもよい。ただし、新たな使用コードがドミナントコードである場合には、前の区間の履歴コードであってドミナントコード以外の履歴コードが消去されずに記憶されていることが好ましい。
【００６７】
コード検出装置１００は、電子音楽装置１に限らず、パーソナルコンピュータまたはスマートデバイス（smart device）等の他の電子機器に適用されてもよい。
【００６８】
（８）請求項の各構成要素と実施の形態の各部との対応
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることができる。
【００６９】
上記実施の形態では、コード検出装置１００がコード検出装置の例であり、音楽データ取得部２１が音楽データ取得手段の例であり、検出部２２が検出手段の例であり、決定部２６が決定手段の例であり、記憶部２３が記憶手段の例であり、変換部２５が変換手段の例である。
【産業上の利用可能性】
【００７０】
本発明は、ユーザの演奏からコードを検出するために有効に利用することができる。
【符号の説明】
【００７１】
１…電子音楽装置，２…演奏操作子，３…入力Ｉ／Ｆ，４…設定操作子，５…検出回路，６…表示部，８…表示回路，９…ＲＡＭ，１０…ＲＯＭ，１１…ＣＰＵ，１２…タイマ，１３…記憶装置，１４…通信Ｉ／Ｆ，１５…外部記憶装置，１６…音源，１７…効果回路，１８…サウンドシステム，１９…バス，２１…音楽データ取得部，２２…検出部，２３…記憶部，２４…参照コード特定部，２５…変換部，２６…決定部，１００…コード検出装置
【図１】
2018072444.tif 000003
【図２】
2018072444.tif 000004
【図３】
2018072444.tif 000005
【図４】
2018072444.tif 000006
【図５】
2018072444.tif 000007
【図６】
2018072444.tif 000008
【図７】
2018072444.tif 000009
【図８】
2018072444.tif 000010