(57)【要約】【課題】  複数の楽器音が含まれる楽曲に対しても正確に調性を判定することが可能な楽曲調性判定装置を提供する。【解決手段】  抽出部１２は、ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号を抽出する。ベクトル算出部１３は、抽出された信号について、各音名に相当する周波数におけるパワー値を要素とする音名ベクトルを算出する。頻度算出部１５は、音名ベクトルを用いて各音名の出現頻度を算出する。調性算出部１６は、出現頻度に基づいて楽曲の調性を算出する。【選択図】  図１
2006195384.tif 000002
【特許請求の範囲】
【請求項１】
楽曲の調性を算出する楽曲調性算出装置であって、
ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号を抽出する抽出部と、
前記抽出された信号について、各音名に相当する周波数におけるパワー値を要素とする音名ベクトルを算出するベクトル算出部と、
前記音名ベクトルを用いて各音名の出現頻度を算出する頻度算出部と、
前記出現頻度に基づいて楽曲の調性を算出する調性算出部とを備える、楽曲調性算出装置。
【請求項２】
前記ベクトル算出部は、前記抽出された信号の所定時間分の長さ毎に前記音名ベクトルを算出し、
前記頻度算出部は、前記ベクトル算出部によって算出された複数の音名ベクトルを用いて各音名の出現頻度を算出する、請求項１に記載の楽曲調性算出装置。
【請求項３】
各要素のうちで値の大きさがｎ番目（ｎは所定の自然数）となる要素の値が所定値よりも小さい音名ベクトルを前記複数の音名ベクトルから選出するベクトル選出部をさらに備え、
前記頻度算出部は、前記ベクトル選出部によって選出された音名ベクトルのみを用いて各音名の出現頻度を算出する、請求項２に記載の楽曲調性算出装置。
【請求項４】
前記ベクトル選出部は、
前記ベクトル算出部によって算出された各音名ベクトルについて、音名ベクトルの各要素をパワーの大きい順にソートするソート部と、
前記ソート部によるソート後の各音名ベクトルについて、音名ベクトルの各要素の値をその値が最大の要素の値で正規化する正規化部と、
前記正規化部によって正規化された各音名ベクトルについて、前記ｎ番目となる要素の値と前記所定値とを比較する比較部と、
前記比較部による比較の結果、前記ｎ番目となる要素の値が前記所定値よりも小さい音名ベクトルを、選出すべき音名ベクトルとして特定する特定部とを含む、請求項３に記載の楽曲調性算出装置。
【請求項５】
複数の楽曲から選曲を行う選曲装置であって、
複数の楽曲について楽曲の音響信号を用いて調性を算出する調性算出部と、
前記調性算出部によって調性が算出された楽曲について、楽曲の音響信号を示す楽曲データと当該調性を示す調性データとを関連付けて格納する楽曲データ格納部と、
選曲を行う要件を受け付ける要件受付部と、
選曲を行う要件とその要件に適合する調性を示す調性データとを関連付けたテーブルを格納するテーブル格納部と、
前記要件入力部で受け付けられた要件を、前記テーブルにおいて関連付けられている調性データに変換する変換部と、
前記変換部によって変換された調性データに合致する調性データと関連付けられている楽曲データの楽曲を前記楽曲データ格納部に格納されている楽曲の中から検索する検索部と、
前記検索部の検索結果として得られた楽曲に関する情報を出力する出力部とを備え、
前記調性算出部は、
ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号成分を抽出する抽出部と、
前記抽出された信号成分に基づいて、各音名に相当する周波数における当該信号成分のパワー値を要素とする音名ベクトルを算出するベクトル算出部と、
前記音名ベクトルを用いて各音名の出現頻度を算出する頻度算出部と、
前記出現頻度に基づいて楽曲の調性を算出する調性算出部とを含む、選曲装置。
【請求項６】
楽曲の調性を算出する楽曲調性算出回路であって、
ベース音を含む２以上の楽器音で構成される楽曲の音響信号を入力し、ベース音を含む帯域の信号を抽出する抽出部と、
前記抽出された信号について、各音名に相当する周波数におけるパワー値を要素とする音名ベクトルを算出するベクトル算出部と、
前記音名ベクトルを用いて各音名の出現頻度を算出する頻度算出部と、
前記出現頻度に基づいて楽曲の調性を算出する調性算出部とを備える、楽曲調性算出回路。
【請求項７】
楽曲の調性を算出する楽曲調性算出方法であって、
ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号を抽出する抽出ステップと、
前記抽出された信号について、各音名に相当する周波数におけるパワー値を要素とする音名ベクトルを算出するベクトル算出ステップと、
前記音名ベクトルを用いて各音名の出現頻度を算出する頻度算出ステップと、
前記出現頻度に基づいて楽曲の調性を算出する調性算出ステップとを備える、楽曲調性算出方法。
【請求項８】
楽曲の調性を算出する楽曲調性算出装置のコンピュータに実行させるためのプログラムであって、
ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号を抽出する抽出ステップと、
前記抽出された信号について、各音名に相当する周波数におけるパワー値を要素とする音名ベクトルを算出するベクトル算出ステップと、
前記音名ベクトルを用いて各音名の出現頻度を算出する頻度算出ステップと、
前記出現頻度に基づいて楽曲の調性を算出する調性算出ステップとを前記コンピュータに実行させる、プログラム。
【請求項９】
請求項８に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、楽曲調性算出装置および選曲装置に関し、より特定的には、長調／短調やスケールといった楽曲の調性を算出する楽曲調性算出装置、および、当該楽曲調性算出装置によって算出された調性を用いて楽曲の選曲を行う選曲装置に関する。
【背景技術】
【０００２】
従来、楽曲の音響信号からその楽曲の調性（調やスケール等）を判定することは、音楽知識を持った専門家によって行われていた。すなわち、専門家が楽曲を聴取して楽譜化（採譜）し、得られた楽譜から楽曲の調性を判定することが一般的であった。
【０００３】
また、音響信号から楽曲の調性を自動的に算出することも考えられている（例えば、特許文献１参照）。特許文献１に記載の自動採譜装置では、上述のような音楽の専門化が行う調性判定のプロセスの一部を自動化している。具体的には、この自動採譜装置は、楽曲の音響信号を分析した結果から音符情報および和音候補を算出し、算出した和音候補の出現頻度に基づいて楽曲の調性を決定する。
【特許文献１】特開平５−１７３５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記の自動採譜装置では、楽曲の音響信号を周波数分析することによって、音響信号の基本周波数、すなわちピッチを楽器音毎に推定して音符および和音候補を算出している。ここで、調性を判定する対象となる楽曲には、例えばポピュラー音楽のように、多数の楽器音から構成されているものがある。このような楽曲では、多数の楽器音が同時に発音されていたり、また、ドラムのように、ピッチが明確に現れない楽器の音が部分的に出現していたりする場合がある。したがって、このような楽曲について調性を判定する場合、従来の自動採譜装置では、抽出対象となる楽器音のピッチが他の楽器音によってマスキングされてしまい、音響信号から音符情報を正確に得ることができないおそれがある。正確な音符情報を得ることができなければ、和音候補も正確に算出することができず、調性を正しく算出することができない。以上のように、従来の自動採譜装置では、複数の楽器音が含まれる楽曲については、調性を正しく算出することができないおそれがあった。
【０００５】
それ故、本発明の目的は、複数の楽器音が含まれる楽曲に対しても正確に調性を判定することが可能な楽曲調性判定装置を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は以下の構成を採用した。
すなわち、第１の発明は、楽曲の調性を算出する楽曲調性算出装置である。楽曲調性算出装置は、抽出部と、ベクトル算出部と、頻度算出部と、調性算出部とを備えている。抽出部は、ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号を抽出する。ベクトル算出部は、抽出された信号について、各音名に相当する周波数におけるパワー値を要素とする音名ベクトルを算出する。頻度算出部は、音名ベクトルを用いて各音名の出現頻度を算出する。調性算出部は、出現頻度に基づいて楽曲の調性を算出する。
【０００７】
また、第２の発明においては、ベクトル算出部は、抽出された信号の所定時間分の長さ毎に音名ベクトルを算出してもよい。このとき、頻度算出部は、ベクトル算出部によって算出された複数の音名ベクトルを用いて各音名の出現頻度を算出する。
【０００８】
また、第３の発明においては、楽曲調性算出装置は、ベクトル選出部をさらに備えていてもよい。ベクトル選出部は、各要素のうちで値の大きさがｎ番目（ｎは所定の自然数）となる要素の値が所定値よりも小さい音名ベクトルを複数の音名ベクトルから選出する。頻度算出部は、ベクトル選出部によって選出された音名ベクトルのみを用いて各音名の出現頻度を算出する。
【０００９】
また、第４の発明においては、ベクトル選出部は、ソート部と、正規化部と、比較部と、特定部とを含んでいてもよい。ソート部は、ベクトル算出部によって算出された各音名ベクトルについて、音名ベクトルの各要素をパワーの大きい順にソートする。正規化部は、ソート部によるソート後の各音名ベクトルについて、音名ベクトルの各要素の値をその値が最大の要素の値で正規化する。比較部は、正規化部によって正規化された各音名ベクトルについて、ｎ番目となる要素の値と所定値とを比較する。特定部は、比較部による比較の結果、ｎ番目となる要素の値が所定値よりも小さい音名ベクトルを、選出すべき音名ベクトルとして特定する。
【００１０】
また、第５の発明は、複数の楽曲から選曲を行う選曲装置である。選曲装置は、調性算出部と、楽曲データ格納部と、要件受付部と、テーブル格納部と、変換部と、検索部と、出力部とを備えている。調性算出部は、複数の楽曲について楽曲の音響信号を用いて調性を算出する。楽曲データ格納部は、調性算出部によって調性が算出された楽曲について、楽曲の音響信号を示す楽曲データと当該調性を示す調性データとを関連付けて格納する。要件受付部は、選曲を行う要件を受け付ける。テーブル格納部は、選曲を行う要件とその要件に適合する調性を示す調性データとを関連付けたテーブルを格納する。変換部は、要件入力部で受け付けられた要件を、テーブルにおいて関連付けられている調性データに変換する。検索部は、変換部によって変換された調性データに合致する調性データと関連付けられている楽曲データの楽曲を楽曲データ格納部に格納されている楽曲の中から検索する。出力部は、検索部の検索結果として得られた楽曲に関する情報を出力する。ここで、調性算出部は、抽出部と、ベクトル算出部と、頻度算出部と、調性算出部とを含んでいる。抽出部は、ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む帯域の信号成分を抽出する。ベクトル算出部は、抽出された信号成分に基づいて、各音名に相当する周波数における当該信号成分のパワー値を要素とする音名ベクトルを算出する。頻度算出部は、音名ベクトルを用いて各音名の出現頻度を算出する。調性算出部は、出現頻度に基づいて楽曲の調性を算出する。
【００１１】
なお、本発明は、上記楽曲調性算出装置の機能を有する回路によって提供されてもよいし、上記楽曲調性算出装置における楽曲調性算出方法として提供されてもよい。さらに、本発明は、上記楽曲調性算出方法をコンピュータに実行させるためのプログラムまたはそれを記録した記録媒体として提供されてもよい。
【発明の効果】
【００１２】
本発明の楽曲調性算出装置によれば、一般的に調性を強く反映していると考えられるベース音の旋律で調性を判定することができるので、複数の楽器音が混在するような楽曲についても楽曲の調性を正確に算出することができる。また、ベース音は他の楽器音から分離しやすいので、ベース音以外の楽器音を容易に除去することができる。
【００１３】
また、楽曲調性算出装置がベクトル選出部をさらに備える場合には、ベース音の音階を正しく反映していない音名ベクトルは、楽曲の調性の判定に用いられない。つまり、楽曲の調性の判定を行うために適切な音名ベクトルのみが用いられるので、楽曲の調性をより正確に判定することができる。
【００１４】
また、本発明の選曲装置によれば、楽曲の音響信号からその楽曲の調性を自動的に抽出することができ、ユーザが楽曲を事前に聴取して調性を入力するといった分類作業を行わなくとも、ユーザのイメージに合った楽曲を正確に選曲することができる。
【発明を実施するための最良の形態】
【００１５】
（実施の形態１）
図１は、本発明の実施の形態１に係る楽曲調性算出装置の構成を示すブロック図である。本楽曲調性算出装置は、周波数分析部１１、抽出部１２、ベクトル算出部１３、ベクトル選出部１４、頻度算出部１５、および調性算出部１６を備えている。本楽曲調性算出装置は、処理対象となる楽曲の音響信号を入力し、入力した音響信号から当該楽曲の調性（調やスケール等）を算出するものである。
【００１６】
なお、図１に示す各部は、パーソナルコンピュータのＣＰＵが所定のプログラムを実行することによって実現されてもよいし、各部の機能を有する専用回路（例えば、集積回路）によって実現されてもよい。また、専用回路をチップ化してコンポ等のオーディオ機器に内蔵することによって楽曲調性算出装置を実現するようにしてもよい。
【００１７】
以下、実施の形態１に係る楽曲調性算出装置の動作を説明する。図２は、楽曲調性算出装置における処理の流れを示すフローチャートである。図２に示すフローチャートは、処理対象となる楽曲の音響信号が周波数分析部１１に入力されることによって開始される。まずステップＳ１において、周波数分析部１１は、入力された音響信号に対して周波数分析を行う。具体的には、周波数分析部１１は、入力された音響信号について、所定時間分の長さ（１フレーム）の信号毎にＦＦＴ（高速フーリエ変換）を行う。実施の形態１では、サンプリング周波数を１６ｋＨｚとし、処理フレーム長を４０９６サンプル（２５６ｍｓ）とし、シフトフレーム長を１２８０サンプル（８０ｍｓ）として、ＦＦＴによって周波数分析処理を行う。これによって、入力される音響信号について８０ｍｓ毎に、０Ｈｚから８ｋＨｚまで３．９Ｈｚ間隔の各周波数帯域に含まれる信号パワーが算出される。ステップＳ１における周波数分析の結果得られた周波数スペクトラムは、抽出部１２へ出力される。
【００１８】
ステップＳ２において、抽出部１２は、周波数分析部１１で周波数分析が行われた信号のうち、予め定めた上限周波数までの周波数帯域の信号を抽出する。すなわち、周波数分析部１１によって得られた周波数スペクトラムから、上限周波数より高い周波数の成分を除去する。ここで、上限周波数は、ベース音を含む周波数帯域を通過させる値に設定される。つまり、抽出部１２は、ベース音を含む２以上の楽器音で構成される楽曲の音響信号から、ベース音を含む周波数帯域の信号を抽出する。実施の形態１では、上限周波数は、ベース音の信号成分が主に含まれる周波数帯域である４４０Ｈｚとする。抽出部１２は、入力される信号のうちの４４０Ｈｚ以下の周波数帯域の信号のみを例えばローパスフィルタによって通過させる。また、抽出部１２は、抽出処理を各フレームの信号毎に行う。ステップＳ２で上限周波数以下の周波数成分に制限された周波数スペクトラムは、ベクトル算出部１３へ出力される。
【００１９】
なお、実施の形態１において複数の楽器音からベース音を抽出する理由は主に２つある。１つ目の理由は、ベース音の周波数成分は低域に偏っていることが一般的であるので、ベース音は他の楽器音から分離しやすいことである。これに対して、例えば、メロディとなるボーカル音の周波数成分は中低域に分布するので他の楽器音の周波数成分と重なるおそれがあり、メロディの音は他の楽器音から分離しにくいと考えられる。２つ目の理由は、ベースの旋律は他の楽器の旋律と比べて調性を強く反映していると考えられることである。つまり、ベースの旋律から調性を正確に判定することができるからである。
【００２０】
ステップＳ３において、ベクトル算出部１３は、抽出部１２によって上限周波数以下の周波数が抽出された信号について音名ベクトル（クロマベクトル）を算出する。ここで、音名ベクトルとは、音響信号のパワースペクトラムを周波数軸の代わりに音名で表したものである。つまり、音名ベクトルは、各音名に相当する周波数における音響信号のパワー値を各要素とするベクトルである。なお、実施の形態１では、音階を平均律とし、平均律の１２音階（Ｃ〜Ｂ）の各音名に相当する周波数帯域の信号成分のパワーを１２個の要素とするベクトルを音名ベクトルとする。
【００２１】
ステップＳ３の具体的な処理として、ベクトル算出部１３は、まず第１処理を行った後で第２処理を行う。すなわち、まず、第１処理として、抽出部１２から出力された周波数スペクトラムを、音階毎のパワーを示す周波数スペクトラムに変換する。ここで、上述のように、抽出部１２から出力された周波数スペクトラムは、３．９Ｈｚ間隔で分けられた各周波数帯域に含まれる信号パワーを示しており、周波数スペクトラムをリニアスケールで表現した信号である。第１処理は、このようにリニアスケールで表現される周波数スペクトラムをログスケールに変換する処理である。図３は、周波数が１１０Ｈｚ〜４１５．３Ｈｚの各音階の中心周波数を示す図である。ベクトル算出部１３は、抽出部１２から出力された周波数スペクトラムを、図３に示す各音階の中心周波数を含む周波数帯域に含まれる信号パワーを示す周波数スペクトラムに変換する。これによって、各音階名の周波数帯域における信号パワーを示す周波数スペクトラムが得られる。なお、この変換処理は、隣接する周波数帯域の線形補完等によって行われる。
【００２２】
次に第２処理として、ベクトル算出部１３は、各音階のパワーを示す周波数スペクトラムから各音名のパワーを算出する。具体的には、各音階のパワーを示す周波数スペクトラムについて、音名毎、つまりオクターブ関係にある音階毎にパワーを加算する。例えば、図３に示す音階名Ａ１とＡ２とはオクターブ関係にある同一の音名であるので、ベクトル算出部１３は、音階名Ａ１の周波数帯域の信号パワーと、音階名Ａ２の周波数帯域の信号パワーとを加算する。他の１１個の音名についても同様の加算処理を行うことによって、１２個の各音名のパワーを示す音名ベクトルを得ることができる。また、上記第１処理および第２処理は、各フレームの信号毎に行われる。これによって、音名ベクトルは各フレームについて１つずつ算出される。
【００２３】
ステップＳ４において、ベクトル選出部１４はベクトル選出処理を行う。ベクトル選出処理は、ステップＳ３で算出された音名ベクトルのうち、調性の判定に用いることが適切な音名ベクトルを選出する処理である。以下、ベクトル選出処理の詳細を図４〜図６を用いて説明する。
【００２４】
図４は、ベクトル選出部１４の詳細な構成を示すブロック図である。図４において、ベクトル選出部１４は、ソート部２１、正規化部２２、比較部２３、および特定部２４を備えている。ソート部２１には、ステップＳ３でベクトル算出部１３によって算出された各音名ベクトルが入力される。図５は、図２のステップＳ１４の詳細な処理の流れを示すフローチャートである。まず、ステップＳ１１において、ソート部２１は、ベクトル算出部１３によって算出された各音名ベクトルのうちの１つを選択する。具体的には、音響信号における時間が前のフレームに対応する音名ベクトルから順に選択される。続くステップＳ１２において、ソート部２１は、選択した音名ベクトルの１２個の各要素を値（すなわち、信号パワー）の大きい順にソートする。ソートされた各要素には、値が大きいものから順に１から１２までの要素番号が付される。ステップＳ１１で各要素がソートされた音名ベクトルは、ソート部２１から正規化部２２へ出力される。
【００２５】
ステップＳ１３において、正規化部２２は、ソート部２１から出力された音名ベクトルを、各要素のうちで値が最大の要素の値で正規化する。すなわち、当該最大の要素の値が基準値（ここでは、１とする）となり、かつ、各要素について変換前の値と変換後の値との割合が一定となるように、各要素の値を変換する。ステップＳ１３で正規化された音名ベクトルは、正規化部２２から比較部２３へ出力される。
【００２６】
ステップＳ１４において、比較部２３は、ステップＳ１３で正規化された音名ベクトルが、調性の判定に用いることが適切な音名ベクトルであるか否かを判定する。ここで、「調性の判定に用いることが適切な音名ベクトル」とは、ベース音が明確に出現している音名ベクトルである。ベース音は通常単音で演奏されるので、ベース音が明確に出現している場合には音名ベクトル中のある特定の音名において強いピークが出現する。したがって、調性の判定に用いることが適切な音名ベクトルを選出するためには、音名ベクトル中のある特定の音名において強いピークが出現している音名ベクトルを選出すればよい。図６は、正規化部２２によって正規化された音名ベクトルの２つの例を示す図である。図６に示すグラフの横軸は音名ベクトルの各要素の要素番号を示し、縦軸は各要素の値を示している。図６において、音名ベクトルＡは、要素番号が１である要素の値と他の要素の値とのレベル差が大きく、要素番号が大きくなるにつれて値が急峻に収束している。つまり、音名ベクトル中のある特定の音名（要素番号が“１”である要素に対応する音名）において強いピークが出現している。したがって、音名ベクトルＡは、調性の判定に用いることが適切な音名ベクトルであると言える。一方、音名ベクトルＢは、要素番号が“１”である要素の値と要素番号が“２”や“３”である要素の値とのレベル差が小さく、要素番号が大きくなるにつれて値がなだらかに収束している。したがって、音名ベクトル中のある特定の音名（要素番号が“１”である要素に対応する音名）において強いピークが出現しているとは言えず、音名ベクトルＢは、調性の判定に用いることが不適切な音名ベクトルである。
【００２７】
実施の形態１では、上記ステップＳ１４において、所定の要素の値と予め定めた所定のしきい値とを比較することによって、音名ベクトル中のある特定の音名において強いピークが出現しているか否か、すなわち、調性の判定に用いることが適切な音名ベクトルであるか否かを判定する。具体的には、比較部２３は、正規化部２２から出力された音名ベクトルの所定の要素の値と予め定めた所定のしきい値とを比較し、当該所定の要素の値が所定のしきい値を越えているか否かを判定する。ここで、所定の要素とは、音名ベクトルの各要素のうちで値の大きさがｎ番目（ｎは所定の自然数）の要素である。なお、実施の形態１では、要素番号が“ＴＨＬ＿ＮＵＭ（＝５）”である要素の値と、所定のしきい値ＴＨＬ＿ＶＥＣとを比較する。例えば、図６に示す音名ベクトルＡは、要素番号が“ＴＨＬ＿ＮＵＭ”である要素の値は、しきい値ＴＨＬ＿ＶＥＣよりも大きい。したがって、音名ベクトルＡは、特定の音名において強いピークが出現していない、すなわち、調性の判定に用いることが不適切な音名ベクトルであると判定される。一方、音名ベクトルＢは、要素番号が“ＴＨＬ＿ＮＵＭ”である要素の値は、しきい値ＴＨＬ＿ＶＥＣよりも大きい。したがって、音名ベクトルＢは、特定の音名において強いピークが出現している、すなわち、調性の判定に用いることが適切な音名ベクトルであると判定される。
【００２８】
ステップＳ１４における判定の結果、所定の要素の値が所定のしきい値を越えていると判定される場合、ステップＳ１５の処理が行われる。一方、ステップＳ１４における判定の結果、所定の要素の値が所定のしきい値を越えていないと判定される場合、ステップＳ１６の処理が行われる。ステップＳ１４の判定結果は、比較部２３から特定部２４へ出力される。
【００２９】
ステップＳ１５において、特定部２４は、ステップＳ１１で選択された音名ベクトルを、調性の判定に用いることが不適切な音名ベクトルに設定する。一方、ステップＳ１６においては、特定部２４は、ステップＳ１１で選択された音名ベクトルを、調性の判定に用いることが適切な音名ベクトルに設定する。ステップＳ１５またはＳ１６で音名ベクトルに設定された情報（適切であるか不適切であるかを示す情報。以下、適合情報と呼ぶ。）は、特定部２４から頻度算出部１５へ出力される。なお、音響信号のフレーム毎に算出された音名ベクトルには識別番号が付されるものとし、当該識別番号と適合情報とが関連付けられて特定部２４から頻度算出部１５へ出力される。
【００３０】
ステップＳ１７において、特定部２４は、すべての音名ベクトルについて適合情報が設定されたか否かを判定する。適合情報が設定されていない音名ベクトルが存在する場合、ステップＳ１１の処理に戻り、すべての音名ベクトルについて適合情報が設定されるまでステップＳ１１〜Ｓ１７の処理を繰り返す。一方、すべての音名ベクトルについて適合情報が設定された場合、ベクトル選出処理が終了される。
【００３１】
図２に戻り、ステップＳ４の次のステップＳ５においては音名頻度算出処理が行われる。音名頻度算出処理とは、調性の判定に用いることが適切な音名ベクトルから音名頻度を算出する処理である。音名頻度とは、楽曲中において各音名が出現する頻度のことであり、音名頻度から楽曲の調性を算出することが可能である。以下、音名頻度算出処理の詳細を図７および図８を用いて説明する。
【００３２】
図７は、図２に示すステップＳ５の処理の詳細を示すフローチャートである。頻度算出部１５には、ステップＳ３でベクトル算出部１３によって算出された各音名ベクトルが入力される。まずステップＳ２１において、頻度算出部１５は、音名毎に用意されるカウンタの値を０に設定する。ここで、頻度算出部１５には、各音名に対応する１２個のカウンタが予め用意されている。続くステップＳ２２において、頻度算出部１５は、ステップＳ３で算出された音名ベクトルのうちの１つを選択する。このとき、音響信号における時間が前のフレームに対応する音名ベクトルから順に選択される。
【００３３】
ステップＳ２３において、頻度算出部１５は、ステップＳ２２で選択した音名ベクトルが、調性の判定に用いることが適切な音名ベクトルであるか否かを判定する。ステップＳ２３の判定は、ステップＳ１５またはＳ１６で設定された適合情報に基づいて行われる。ステップＳ２３の判定において適切な音名ベクトルであると判定された場合、ステップＳ２４の処理が行われる。すなわち、ステップＳ２４において、頻度算出部１５は、カウンタの値を加算する処理を行う。具体的には、ステップＳ２２で選択された音名ベクトルの各要素のうちで値が最大の要素により示される音名を特定し、特定された音名に対応するカウンタの値を１加算する。一方、ステップＳ２３の判定において不適切な音名ベクトルであると判定された場合、ステップＳ２４の処理がスキップされてステップＳ２５の処理が行われる。
【００３４】
ステップＳ２５において、頻度算出部１５は、ステップＳ２２においてすべての音名ベクトルを選択したか否かを判定する。選択していない音名ベクトルが存在する場合、ステップＳ２２の処理に戻り、すべての音名ベクトルを選択するまでステップＳ２２〜Ｓ２５の処理を繰り返す。一方、ステップＳ２２においてすべての音名ベクトルを選択した場合、ステップＳ２６の処理が行われる。
【００３５】
ステップＳ２６において、頻度算出部１５は、各カウンタの値を正規化する。すなわち、各カウンタうちの最大値を基準値（ここでは、１とする）とし、かつ、各カウンタについて変換前の値と変換後の値との割合が一定となるように、各カウンタの値を変換する。この変換によって得られる各カウンタ値が音名頻度となる。図８は、正規化された音名頻度を示す情報の一例を示す図である。図８では、音名“Ｃ”の出現頻度が最も高くなっている。頻度算出部１５によって算出された音名頻度を示す情報は、調性算出部１６へ出力される。以上のステップＳ２６の完了により、音名頻度算出処理が終了される。
【００３６】
再び図２に戻り、ステップＳ５の次のステップＳ６において、調性算出部１６は、ステップＳ５で算出された音名頻度に基づいて楽曲の調性を算出する。なお、音名頻度から楽曲の調性を算出する方法はどのような方法であってもよい。調性を算出する方法の一例として、例えば、特開昭６３−８０２９９号公報に記載されている方法がある。具体的には、この方法では重み付け表を予め用意しておき、音名頻度と重み付け表との積和を、１オクターブ１２通りのそれぞれにつき長調および短調の両方について算出する（つまり２４通りの積和計算を行う）。そして、算出された積和の値が最大になる音階および調を楽曲の調性として出力する。例えば、ある楽曲について図８に示す音名頻度が算出されたとすると、調性算出部１６において、この楽曲は「ハ長調（Ｃｍａｊｏｒ）」である、すなわち、長調でスケールは“Ｃ”であると算出される。なお、調性を算出する方法の他の例としては、理想的な音名頻度を示すテンプレートを調性毎に用意しておき、ステップＳ５で算出された音名頻度と各テンプレートを比較し、最も類似するテンプレートの調性を楽曲の調性とする方法がある。以上のステップＳ６の完了により、図２に示す処理が終了される。
【００３７】
以上のように、実施の形態１に係る楽曲調性算出装置によれば、楽曲の音響信号のベース音域に着目し、ベース音域について音名ベクトルを算出する。そして、音名ベクトルに基づいて楽曲の調性を算出する。したがって、一般的に調性を強く反映していると考えられるベース音の旋律で調性を判定することができるので、複数の楽器音が混在するような楽曲についても楽曲の調性を正確に算出することができる。また、ベース音は他の楽器音から分離しやすいので、抽出部１２によってベース音以外の楽器音を容易に除去することができる。
【００３８】
さらに、実施の形態１に係る楽曲調性算出装置によれば、ベクトル選出部１４において、明確にベース音の音階が現れている部分（フレーム）から算出される音名ベクトルを用いて調性の判定が行われる。ここで、抽出部１２によって周波数帯域が制限された信号には、ベース音以外の楽器音が含まれているおそれがあり、他の楽器音が含まれているフレームから算出される音名ベクトルは、ベース音の音階を正しく反映していないおそれがある。したがって、このような音名ベクトルが楽曲の調性を判定するための音名ベクトルに含まれていると、楽曲の調性を正確に算出することができないおそれがある。これに対して、実施の形態１に係る楽曲調性算出装置によれば、ベース音の音階を正しく反映していない音名ベクトルは、不適切な音名ベクトルと判定される（ステップＳ１５）結果、楽曲の調性の判定に用いられない。つまり、楽曲の調性の判定を行うために適切な音名ベクトルのみが用いられるので、楽曲の調性をより正確に判定することができる。
【００３９】
なお、実施の形態１においては、周波数分析部１１による周波数分析を行った後、ベース音の周波数帯域を抽出するようにした。ここで、他の実施形態においては、抽出部１２は、周波数分析前の音響信号を入力し、当該音響信号から図２に示す各音階の中心周波数を含む周波数帯域を抽出するバンドパスフィルタ群によって構成されてもよい。すなわち、抽出部１２は、その通過帯域が音階の中心周波数をそれぞれ１つずつ含む複数のバンドパスフィルタとして構成されてもよい。また、このとき、ベクトル算出部１３は、各バンドパスフィルタからの出力信号のパワーを音名ベクトルの各要素の値とする。
【００４０】
また、実施の形態１においては、楽曲の１曲全体の音響信号を入力し、１曲全体を対象として調性を算出した。ここで、他の実施形態においては、楽曲の一部、例えば楽曲の前半半分の部分やサビの部分等のみを対象として調性を算出してもよい。すなわち、楽曲調性算出装置は、楽曲の一部のみの音響信号を入力し、入力された音響信号から算出される音名ベクトルを用いて音名頻度を算出するようにしてもよい。
【００４１】
なお、実施の形態１に係る楽曲調性算出装置の出力結果（すなわち、調性の情報）は、例えば次のようにして用いることができる。すなわち、算出された調性の情報を表示装置に表示させることによって、楽曲の調性をユーザに提示することができる。また、例えば、予めデータが格納されている楽曲について調性を算出し、算出した調性の情報を当該楽曲のデータとともに格納することによって、調性の情報を楽曲の検索に用いることができる（後述する実施の形態２参照）。
【００４２】
（実施の形態２）
以下、実施の形態２に係る選曲装置について説明する。図９は、実施の形態２に係る選曲装置の構成を示すブロック図である。図９において、選曲装置は、楽曲データ格納部５１、楽曲調性算出部５２、要件受付部５３、テーブル格納部５４、変換部５５、検索部５６、および出力部５７を備えている。本選曲装置は、実施の形態１に係る楽曲調性算出装置を用いて調性を判定した複数の楽曲から、ユーザの印象に合った楽曲を選出するものである。以下、各部の動作の詳細について説明する。
【００４３】
楽曲データ格納部５１は、楽曲の音響信号データ、例えばＰＣＭ形式で符号化された音響信号データを格納する。また、楽曲データ格納部５１には、楽曲の音響信号データと関連付けて、楽曲の属性情報が格納される。属性情報には、例えば調情報（長調／短調）およびスケール情報（Ｃ＃等）といった調性情報、および、楽曲名やアーティスト名等の楽曲の書誌情報が含まれる。
【００４４】
楽曲調性算出部５２は、実施の形態１に係る楽曲調性算出装置と同じ機能を有する。すなわち、楽曲調性算出部５２は、楽曲の音響信号を入力し、その楽曲の調性、すなわち長調／短調およびスケール情報を算出する。実施の形態２においては、楽曲調性算出部５２は、楽曲データ格納部５１に格納されているすべての楽曲について調性を予め算出し、算出した結果を楽曲データ格納部５１に格納しておく。
【００４５】
要件受付部５３は、楽曲データ格納部５１に格納されている楽曲を選曲する要件（選曲要件）を受け付ける。要件受付部５３は、具体的には、キーボードやスイッチ等の入力デバイスによって構成される。なお実施の形態２においては、選曲要件は、例えば、「悲しい曲」や「楽しい曲」のように、楽曲の印象を表す語句であるとする。すなわち、ユーザは、「悲しい曲」のようにキーボードから文字列を入力したり、あるいは、予め用意された「悲しい曲ボタン」を押下したりすることによって、選曲を希望する楽曲に合った選曲要件を入力する。
【００４６】
テーブル格納部５４は、上記選曲要件と調性データとを関連付けた選曲テーブルを格納する。図１０は、選曲テーブルの一例を示す図である。図１０に示すように、選曲テーブルには、選曲要件と、当該選曲要件に合致する調性を示す調性データとが関連付けられている。選曲要件とは、上述したように、「楽しい曲」や「悲しい曲」といった、楽曲の印象を表す語句である。調性データは、調性（調および／またはスケール）を示すデータであり、例えば、「長調」のように調を示すものであってもよいし、「調が“長調”であり、かつスケールが“Ｃ”」のように、調およびスケールを示すものであってもよい。
【００４７】
変換部５５は、要件受付部５３で受け付けられた選曲要件を、調性データに変換する。すなわち、変換部５５は、選曲要件を、楽曲データ格納部５１に格納されている楽曲を検索可能な形式に変換する。変換部５５による変換は、上記選曲テーブルを用いて行われる。例えば、要件受付部５３において「悲しい曲」という選曲要件が入力されると、変換部５５は、図１０に示す選曲テーブルを参照することによって、「悲しい曲」を、それに関連付けられた調性データである「短調」に変換する。
【００４８】
検索部５６は、変換部５５で変換された調性データに合致する調性を有する楽曲を楽曲データ格納部５１の中から検索する。上記の例では、「短調」という属性が記録されている楽曲を楽曲データ格納部５１から検索する。
【００４９】
出力部５７は、表示装置やスピーカ等によって構成され、検索部５６による検索結果を出力する。具体的には、検索結果の楽曲の楽曲名をディスプレイ上に表示したり、楽曲をスピーカによって再生したりする。
【００５０】
以上のように、実施の形態２によれば、ユーザは、楽曲のイメージを表す選曲要件を入力することによって楽曲の検索を行うことができるので、ユーザのイメージに合った楽曲を検索することができる。また、楽曲の調性データは楽曲調性算出部５２によって予め算出されるので、ユーザが楽曲を聴取して調性を入力する等の分類作業を行わなくとも、ユーザのイメージに合った楽曲を正確に選曲することができる。
【産業上の利用可能性】
【００５１】
本発明に係る楽曲調性算出装置は、楽曲の調性を自動的に算出することが可能であるので、楽曲の選曲装置において楽曲の属性情報を自動的に付与したり、算出された調性を用いて自動採譜を行ったりすること等に利用することができる。
【００５２】
また、本発明に係る選曲装置は、楽曲を自動的に分類して選曲することができるので、車載用オーディオ再生装置、携帯用オーディオ再生装置、家庭用オーディオ再生装置等において利用することができる。
【図面の簡単な説明】
【００５３】
【図１】実施の形態１に係る楽曲調性算出装置の構成を示すブロック図
【図２】楽曲調性算出装置における処理の流れを示すフローチャート
【図３】周波数が１１０Ｈｚ〜４１５．３Ｈｚの各音階の中心周波数を示す図
【図４】ベクトル選出部１４の詳細な構成を示すブロック図
【図５】図２のステップＳ１４の詳細な処理の流れを示すフローチャート
【図６】正規化部２２によって正規化された音名ベクトルの２つの例を示す図
【図７】図２に示すステップＳ５の処理の詳細を示すフローチャート
【図８】正規化された音名頻度を示す情報の一例を示す図
【図９】実施の形態２に係る選曲装置の構成を示すブロック図
【図１０】選曲テーブルの一例を示す図
【符号の説明】
【００５４】
１１  周波数分析部
１２  抽出部
１３  ベクトル算出部
１４  ベクトル選出部
１５  頻度算出部
１６  調性算出部
２１  ソート部
２２  正規化部
２３  比較部
２４  特定部
５１  楽曲データ格納部
５２  楽曲調性算出部
５３  要件受付部
５４  テーブル格納部
５５  変換部
５６  検索部
５７  出力部
【図１】
2006195384.tif 000003
【図２】
2006195384.tif 000004
【図３】
2006195384.tif 000005
【図４】
2006195384.tif 000006
【図５】
2006195384.tif 000007
【図６】
2006195384.tif 000008
【図７】
2006195384.tif 000009
【図８】
2006195384.tif 000010
【図９】
2006195384.tif 000011
【図１０】
2006195384.tif 000012