JP2007183417A - 情報処理装置および方法、並びにプログラム - Google Patents

情報処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2007183417A
JP2007183417A JP2006001519A JP2006001519A JP2007183417A JP 2007183417 A JP2007183417 A JP 2007183417A JP 2006001519 A JP2006001519 A JP 2006001519A JP 2006001519 A JP2006001519 A JP 2006001519A JP 2007183417 A JP2007183417 A JP 2007183417A
Authority
JP
Japan
Prior art keywords
chord
chord progression
probability
progression
music
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006001519A
Other languages
English (en)
Other versions
JP4650270B2 (ja
Inventor
Yoshiyuki Kobayashi
由幸 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006001519A priority Critical patent/JP4650270B2/ja
Priority to US12/160,121 priority patent/US8008568B2/en
Priority to CN2007800020342A priority patent/CN101366071B/zh
Priority to PCT/JP2007/050019 priority patent/WO2007077993A1/ja
Priority to EP07706366.7A priority patent/EP1970891B1/en
Publication of JP2007183417A publication Critical patent/JP2007183417A/ja
Application granted granted Critical
Publication of JP4650270B2 publication Critical patent/JP4650270B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • G10H1/383Chord detection and/or recognition, e.g. for correction, or automatic bass generation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10GREPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
    • G10G3/00Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
    • G10G3/04Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/571Chords; Chord sequences
    • G10H2210/576Chord progression

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

【課題】より正確に、コード進行を解析することができるようにする。
【解決手段】特徴量抽出部41は、楽曲の波形から得られた楽曲のコード進行から、あるコードとあるコードとが共に存在する確率、あるコードが現れたとき、そのコードからそれぞれのコードに遷移する確率、あるコードが現れたとき、その現れたコードが、どのコードから遷移してきたかの確率をそれぞれ抽出する。コード類似度算出部42は、抽出されたそれらの確率を基に、楽曲のコード進行と、ユーザに入力されたコード進行の類似度を算出する。楽曲検索部43は、算出された類似度を基に、ユーザに入力されたコード進行と似ているコード進行の楽曲を検索する。本発明は、情報処理装置に適用できる。
【選択図】図4

Description

本発明は情報処理装置および方法、並びにプログラムに関し、特に、より正確に、コード進行を解析することができるようにした情報処理装置および方法、並びにプログラムに関する。
楽曲のコード進行を解析する方法(以下、コード進行解析と称する)については、種々の方法が提案されている。コード進行解析においては、例えば、パーソナルコンピュータや携帯音楽プレーヤなどに記録されている膨大な数の楽曲のコード進行を解析することにより、解析されたコード進行に基づいて、それらの楽曲の中から所望の楽曲を検索することができる。
従来のコード進行解析においては、楽曲の音声信号を示す楽曲波形を解析することにより得られたコードに基づいて、その楽曲についてのコード進行を解析していた。具体的には、従来のコード進行解析では、図1に示すように、楽曲Aの楽曲波形(波形)をコード進行解析したときのコード進行が、C,F,G,Cの順に遷移し、同様に、楽曲Bの波形をコード進行解析したときのコード進行が、CM7,Dm7,G7,CM7の順に遷移するとき、楽曲AのCと、楽曲BのCM7とが似ているコードであるかを判定したり、楽曲AのC,F,G,Cの順に遷移するコード進行と、楽曲BのCM7,Dm7,G7,CM7の順に遷移するコード進行とが似ているかを判定したりする。
また、コード進行解析により得られるコード進行にはある程度のエラーが含まれており、それらのエラーの出方は、コード(コード進行)を判定するアルゴリズムごとにそれぞれ異なっている。具体的には、従来のコード進行解析においては、例えば、図2に示すように、正しく解析された場合のコード進行では、C,F,G,Cの順に遷移するはずが、実際に解析されたコード進行が、C,F,G,Cmの順に遷移し、メジャーコードのCの代わりに、マイナーコードのCmと判定されてしまい全く意味の異なるコードとして解析されてしまう場合がある。
この場合、従来の音楽理論に基づいた、いわゆるコードの距離感をそのまま適用することはできない。
また、コード進行解析においては、メジャーコードとマイナーコードとのコードの判定は比較的容易ではあるが、様々な4和音を検出可能としていった場合、判定の精度が落ちてしまう。
さらに、楽曲を示す音声信号から各音に対応した周波数成分を抽出し、その抽出した各音に対応した周波数成分のうち、レベルの合計が大となる3つの周波数成分の組によって各々形成される2つの和音を第1および第2の和音候補として検出し、第1および第2和音候補各々の列に対して平滑化処理をすることによって楽曲データを生成する楽曲データ作成装置もある(例えば、特許文献1)。
特開2004−184510号公報
しかしながら、楽曲の音声信号をコード進行解析して得られるコード進行には、エラーが含まれているため、正確に楽曲のコード進行を解析することができないという問題があった。
例えば、従来のコード進行解析により得られるコード進行には、ある程度のエラーが含まれており、エラーの出方もコードを判定するアルゴリズムにより異なるので、音楽理論に基づいたコードの距離感をそのまま適用することができなかった。
また、特開2004−184510号公報に開示されている楽曲データ作成装置は、楽曲の音声信号の周波数成分から和音(コード)の候補を検出することにより、楽曲データを生成するものであるが、コード進行にエラーが含まれている可能性があるために、正確な楽曲データを生成しているとは言えなかった。
本発明はこのような状況に鑑みてなされたものであり、より正確に、コード進行を解析することができるようにするものである。
本発明の一側面は、楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量を抽出する抽出手段と、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出手段とを備える情報処理装置である。
前記抽出手段は、前記コードの共起関係または遷移関係を特徴量として抽出するようにすることができる。
抽出された前記特徴量を記録する記録手段をさらに備え、前記算出手段は、記録されている前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出するようにすることができる。
前記算出手段は、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコードと、他のコードとの類似関係を算出するようにすることができる。
前記抽出手段は、前記コード進行における、あるコードが同時に出現する確率を示す第1の確率を抽出する第1の特徴量抽出手段と、前記コード進行における、あるコードから他のコードに遷移する確率を示す第2の確率を抽出する第2の特徴量抽出手段と、前記コード進行における、他のコードからあるコードに遷移する確率を示す第3の確率を抽出する第3の特徴量抽出手段とを備え、前記算出手段は、抽出された前記コード進行を構成する各コードについての、前記第1の確率、前記第2の確率、および前記弟3の確率に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出するようにすることができる。
前記抽出手段は、前記コード進行における、あるコード進行が同時に出現する確率を示す第1の確率を抽出する第1の特徴量抽出手段と、前記コード進行における、あるコード進行から他のコードに遷移する確率を示す第2の確率を抽出する第2の特徴量抽出手段と、前記コード進行における、他のコードからあるコード進行に遷移する確率を示す第3の確率を抽出する第3の特徴量抽出手段とを備え、前記算出手段は、抽出された前記コード進行を構成する各コードについての、前記第1の確率、前記第2の確率、および前記弟3の確率に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出するようにすることができる。
前記算出手段は、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、ユーザにより指示されたコード進行との類似度を、所定の演算により算出するようにすることができる。
算出された前記類似度に基づいて、前記楽曲を検索する検索手段を備えるようにすることができる。
前記所定の演算は、前記特徴量によるベクトルの相関を用いて演算を行うベクトル相関であるようにすることができる。
本発明の一側面は、楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量を抽出する抽出ステップと、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出ステップとを含む情報処理方法である。
本発明の一側面は、楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量を抽出する抽出ステップと、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出ステップとをコンピュータに実行させるプログラムである。
本発明の一側面においては、楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量が抽出され、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係が算出される。
以上のように、本発明の一側面によれば、より正確に、コード進行を解析することができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の情報処理装置(例えば、図4のパーソナルコンピュータ1)は、楽曲の波形を解析することにより得られた楽曲のコード進行から、コード進行を構成するコードに関係する特徴量を抽出する抽出手段(例えば、図4の特徴量抽出部41)と、抽出された特徴量に基づいて、コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出手段(例えば、図4のコード類似度算出部42)とを備える。
抽出手段は、コードの共起関係または遷移関係を特徴量として抽出するようにすることができる。
抽出された特徴量を記録する記録手段(例えば、図4の記録部18)をさらに備え、算出手段は、記録されている特徴量に基づいて、コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出するようにすることができる。
算出手段は、抽出された特徴量に基づいて、コード進行を構成しているあるコードと、他のコードとの類似関係を算出するようにすることができる。
抽出手段は、コード進行における、あるコードが同時に出現する確率を示す第1の確率を抽出する第1の特徴量抽出手段(例えば、図4のコード同時出現確率抽出部51)と、コード進行における、あるコードから他のコードに遷移する確率を示す第2の確率を抽出する第2の特徴量抽出手段(例えば、図4のコード遷移先確率抽出部52)と、コード進行における、他のコードからあるコードに遷移する確率を示す第3の確率を抽出する第3の特徴量抽出手段(例えば、図4のコード遷移元確率抽出部53)とを備え、算出手段は、抽出されたコード進行を構成する各コードについての、第1の確率、第2の確率、および弟3の確率に基づいて、コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出するようにすることができる。
抽出手段は、コード進行における、あるコード進行が同時に出現する確率を示す第1の確率を抽出する第1の特徴量抽出手段(例えば、図16のコード進行同時出現確率抽出部61)と、コード進行における、あるコード進行から他のコードに遷移する確率を示す第2の確率を抽出する第2の特徴量抽出手段(例えば、図16のコード進行遷移先確率抽出部62)と、コード進行における、他のコードからあるコード進行に遷移する確率を示す第3の確率を抽出する第3の特徴量抽出手段(例えば、図16のコード進行遷移元確率抽出部63)とを備え、算出手段は、抽出されたコード進行を構成する各コードについての、第1の確率、第2の確率、および弟3の確率に基づいて、コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出するようにすることができる。
算出手段は、抽出された特徴量に基づいて、コード進行を構成しているあるコード進行と、ユーザにより指示されたコード進行との類似度を、所定の演算により算出するようにすることができる。
算出された類似度に基づいて、楽曲を検索する検索手段(例えば、図4の楽曲検索部43)を備えるようにすることができる。
所定の演算は、特徴量によるベクトルの相関を用いて演算を行うベクトル相関であるようにすることができる。
本発明の一側面の情報処理方法またはプログラムは、楽曲の波形を解析することにより得られた楽曲のコード進行から、コード進行を構成するコードに関係する特徴量を抽出する抽出ステップ(例えば、図5のステップS3の処理)と、抽出された特徴量に基づいて、コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出ステップ(例えば、図5のステップS4の処理)とを含む。
本発明の一側面のプログラムは、記録媒体(例えば、図3のリムーバブルメディア21)に記録することができる。
以下、図面を参照しながら本発明の実施の形態について説明する。
図3は、パーソナルコンピュータ1のハードウェアの構成の例を説明するブロック図である。
図3の例のパーソナルコンピュータ1において、CPU(Central Processing Unit)11は、ROM(Read Only Memory)12に記憶されているプログラム、または記録部18からRAM(Random Access Memory)13にロードされたプログラムに従って各種の処理を実行する。RAM13にはまた、CPU11が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU11、ROM12、およびRAM13は、バス14を介して相互に接続されている。このバス14にはまた、入出力インタフェース15も接続されている。
入出力インタフェース15には、キーボード、マウスなどよりなる入力部16、スピーカ、LCD(Liquid Crystal Display)などのディスプレイなどよりなる出力部17、ハードディスクなどより構成される記録部18、並びにインターネットなどのネットワークを介しての他の機器との通信処理を制御する通信部19が接続されている。
入出力インタフェース15にはまた、必要に応じてドライブ20が接続され、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア21が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記録部18にインストールされる。
なお、パーソナルコンピュータ1のハードウェアの構成は、図3の例に限定されず、後述する図4の機能的構成を少なくとも有していればよい。
図4は、パーソナルコンピュータ1の機能的構成例について説明するブロック図である。図3に示す場合と同様の部分には、同一の番号が付してあり、その説明は適宜省略する。
パーソナルコンピュータ1は、楽曲のデータより再生される音声信号から、楽曲のコード進行を解析するための所定の処理を行う機器であり、本発明の情報処理装置の一例である。
パーソナルコンピュータ1は、入力部16、出力部17、記録部18、およびコード進行解析部31を含むようにして構成される。
なお、本実施の形態では、パーソナルコンピュータ1は、上述した図3のハードウェア構成を有しているので、コード進行解析部31は、例えば、図3のCPU11が実行するソフトウェア(プログラム)として構成される。ただし、パーソナルコンピュータ1のハードウェア構成を図3の構成とは異ならせることで、コード進行解析部31は、ハードウェア単体として構成することもできるし、ソフトウェアとハードウェアの組み合わせとして構成することもできる。
コード進行解析部31は、記録部18に記録されている楽曲(のデータ)の波形から、楽曲のコード進行を解析するための所定の処理を行う。
コード進行解析部31は、特徴量抽出部41、コード類似度算出部42、および楽曲検索部43を含むようにして構成される。
特徴量抽出部41は、楽曲の波形から解析されたコード進行に対して、特徴量抽出の処理を施すことにより、それらのコード進行から特徴量を抽出(算出)する。特徴量抽出部41は、抽出した特徴量を記録部18(またはRAM13など)に記録させる。
特徴量抽出部41は、コード同時出現確率抽出部51、コード遷移先確率抽出部52、およびコード遷移元確率抽出部53を含むようにして構成される。
コード同時出現確率抽出部51は、楽曲の波形から解析されたコード進行から、あるコードとあるコードとが共に存在する確率(コードの同時出現確率)を抽出(算出)する。
コード遷移先確率抽出部52は、楽曲の波形から解析されたコード進行から、あるコードが現れたとき、そのコードからそれぞれのコードに遷移する確率(コードの遷移先確率)を抽出(算出)する。
コード遷移元確率抽出部53は、楽曲の波形から解析されたコード進行から、あるコードが現れたとき、その現れたコードが、どのコードから遷移してきたかの確率(コードの遷移元確率)を抽出(算出)する。
コード類似度算出部42は、記録部18(またはRAM13など)に記録されている特徴量を基に、コード進行(コード)間の類似度を算出する所定の処理を行う。
楽曲検索部43は、コード類似度算出部42により算出されたコード進行の類似度の結果を基に、記録部18に記録されている楽曲のデータを検索する。
ところで、上述したように、コード進行解析では、パーソナルコンピュータ1に記録されている膨大な数の楽曲の波形のコード進行を解析することにより、解析されたコード進行に基づいて、例えば、それらの楽曲の中から所望の楽曲を検索することができる。したがって、以下、パーソナルコンピュータ1による、コード進行解析を用いた処理の一例として、コード進行から所望の楽曲を検索する楽曲検索の処理を説明する。
図5は、パーソナルコンピュータ1による楽曲検索の処理について説明するフローチャートである。
ステップS1において、コード進行解析部31は、楽曲の波形をコード進行解析する。例えば、ステップS1において、コード進行解析部31は、記録部18に記録されている、MP3(MPEG Audio Layer-3)やAAC(Advanced Audio Coding)などの方式で音声圧縮された複数の楽曲のデータより再生される音声信号から、その音声信号による楽曲波形を解析することにより、それぞれの楽曲におけるコード進行を解析する。
具体的には、コード進行解析部31は、図6に示すように、楽曲1,楽曲2,楽曲3,・・・,楽曲Nである楽曲のデータが、それぞれ記録部18に記録されている場合、楽曲1では、C,B♭,Am,G♯,G,C,F,Dm,D,G,・・・の順にコード進行していることを解析し、楽曲2では、C,D,F,C,A,Dm,Fm,C,D,G,C,F,G,・・・の順にコード進行していることを解析する。同様に、コード進行解析部31は、楽曲3では、Am,Dm,E,Am,C,D,E,F,C,Dm,Am,・・・の順にコード進行していることを解析し、楽曲4乃至楽曲N−1についても同様にコード進行を解析する。また、同様に、楽曲Nでは、Am,G,F,C,E,Am,G,F,G,Am,E,・・・の順にコード進行していることを解析する。
すなわち、コード進行解析部31は、楽曲1乃至楽曲Nのそれぞれの波形をコード進行解析する。ただし、このとき解析されるコード進行は、楽曲1乃至楽曲Nのそれぞれにおいて、例えば、Cなどの同一のキーに合わされたものとなる。
なお、コード進行解析部31により解析される楽曲のデータは、記録部18に記録されているデータに限らず、例えば、ネットワーク(図示せず)を介して、楽曲を記録している専用のサーバ(図示せず)などから取得した楽曲のデータなど、所定の方式により音声圧縮された楽曲のデータであればよく、それらの楽曲のデータが記録されている機器はいずれであってもよい。
ステップS2において、特徴量抽出部41は、複数の楽曲の波形から解析されたコード進行に対して、特徴量抽出の処理を施して、特徴量を抽出する。例えば、ステップS2において、特徴量抽出部41は、楽曲の波形から解析されたコード進行を構成するコードに関する共起関係または遷移関係を解析することにより、特徴量を抽出し、抽出した特徴量を記録部18(またはRAM13など)に記録させる。なお、コードの共起関係または遷移関係の詳細については後述する。
ここで、ステップS2における、特徴量抽出部41による、特徴量抽出の処理の詳細について、図7のフローチャートを参照して説明する。
ステップS11において、コード同時出現確率抽出部51は、解析された楽曲のコード進行から、コードの同時出現確率を抽出する。例えば、ステップS11において、コード同時出現確率抽出部51は、楽曲1乃至楽曲Nのコード進行について、あるコードとあるコードとが共に存在する確率(コードの同時出現確率)を抽出する。
図8は、コード同時出現確率抽出部51により抽出(算出)される、コードの同時出現確率の一例を示す図である。
図8の上側に示す表においては、左から1列目および上から1行目は、それぞれ項目を示し、コード名が記載されている。すなわち、説明を分かり易くするために全てのコードを記載していないが、左から1列目の項目には、上から2個目にCであるコード、上から3個目にC♯であるコード、上から4個目にDであるコードがそれぞれ記載され、以降、メジャーコードからマイナーコードの順に、D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmが記載されている。同様に、上から1行目の項目には、左から2個目にCであるコード、左から3個目にC♯であるコード、左から4個目にDであるコードがそれぞれ記載され、以降、メジャーコードからマイナーコードの順に、D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmが記載されている。
換言すれば、図8の例で示す表には、左から1列目および上から1行目のそれぞれに、C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,Bであるメジャーコードと、Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmであるマイナーコードとが、マトリックス状になるように記載されている。
また、図8の下側に示すコード進行は、上述した、楽曲1乃至楽曲Nのそれぞれのコード進行を示し、コードの同時出現確率では、例えば、図中の点線で示すように、楽曲1乃至楽曲Nにおいて、CとCや、CとDなどの、Cであるコードとあるコードとが共に存在する確率などが抽出される。
図8の例で示す表は、例えば、楽曲1乃至楽曲Nのコードの同時出現確率を示している。
具体的には、例えば、楽曲1乃至楽曲Nでは、Cであるコードとあるコードとが共に存在する確率は、CとCが共に存在する確率が95%,CとC♯が共に存在する確率が5%,CとDが共に存在する確率が56%,・・・,CとBmが共に存在する確率が0%とそれぞれ抽出される。同様に、楽曲1乃至楽曲Nでは、C♯とあるコードとが共に存在する確率は、C♯とCが共に存在する確率が5%,C♯とC♯が共に存在する確率が13%,C♯とDが共に存在する確率が7%,・・・,C♯とBmが共に存在する確率が0%とそれぞれ抽出され、Dとあるコードとが共に存在する確率は、DとCが共に存在する確率が56%,DとC♯が共に存在する確率が7%,DとDが共に存在する確率が45%,・・・,DとBmが共に存在する確率が0%とそれぞれ抽出される。
そして、同様に、楽曲1乃至楽曲Nにおける、D♯乃至B♭mであるコードのそれぞれと、あるコードとが共に存在する確率がそれぞれ抽出され、Bmとあるコードとが共に存在する確率は、BmとCが共に存在する確率が0%,BmとC♯が共に存在する確率が0%,BmとDが共に存在する確率が0%,・・・,BmとBmが共に存在する確率が0%とそれぞれ抽出される。
このようにして、楽曲1乃至楽曲Nのコード進行における、コード同時出現確率が、各コード(C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bm)ごとに、それぞれ24種類ずつ得られることになる。
すなわち、換言すれば、ステップS11の処理において、コード同時出現確率抽出部51は、各楽曲(楽曲1乃至楽曲N)におけるコードの同時出現確率を抽出することにより、コードの共起関係を抽出しているとも言える。
図7のフローチャートに戻り、ステップS12において、コード遷移先確率抽出部52は、解析された楽曲のコード進行から、コードの遷移先の確率を抽出する。例えば、ステップS12において、コード遷移先確率抽出部52は、楽曲1乃至楽曲Nのコード進行について、あるコードが現れたとき、そのコードからそれぞれのコードに遷移する確率(コードの遷移先確率)を抽出する。
図9は、コード遷移先確率抽出部52により抽出(算出)される、コードの遷移先確率の一例を示す図である。
図9の上側に示す表において、左から1列目および上から1行目のそれぞれが示す項目は、図8の表の例と同様であるので、その説明は省略する。
また、図9の下側に示すコード進行は、上述した、楽曲1乃至楽曲Nのそれぞれのコード進行を示し、コードの遷移先確率では、例えば、図中の点線で示すように、楽曲1乃至楽曲Nにおいて、CからDに遷移するなどの、Cであるコードからあるコードに遷移する確率や、FからCに遷移するなどの、Fであるコードからあるコードに遷移する確率などが抽出される。
図9の例では、例えば、楽曲1乃至楽曲Nのコードの遷移先確率を示している。
具体的には、例えば、楽曲1乃至楽曲Nでは、Cであるコードから、あるコードに遷移する確率は、CからCに遷移する確率が0%,CからC♯に遷移する確率が3%,CからDに遷移する確率が21%,・・・,CからBmに遷移する確率が0%とそれぞれ抽出される。同様に、楽曲1乃至楽曲Nにおける、C♯乃至Eであるコードのそれぞれから、あるコードに遷移する確率がそれぞれ抽出され、Fであるコードからあるコードに遷移する確率は、FからCに遷移する確率が25%,FからC♯に遷移する確率が4%,FからDに遷移する確率が15%,・・・,FからBmに遷移する確率が0%とそれぞれ抽出される。また、同様に、楽曲1乃至楽曲Nにおける、F♯乃至B♭mであるコードのそれぞれから、あるコードに遷移する確率がそれぞれ抽出され、Bmであるコードからあるコードに遷移する確率は、BmからCに遷移する確率が0%,BmからC♯に遷移する確率が0%,BmからDに遷移する確率が0%,・・・,BmからBmに遷移する確率が0%とそれぞれ抽出される。
このようにして、楽曲1乃至楽曲Nのコード進行における、コードの遷移先確率が、各コード(C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bm)ごとに、それぞれ24種類ずつ得られることになる。
すなわち、換言すれば、ステップS12の処理において、コード遷移先確率抽出部52は、各楽曲(楽曲1乃至楽曲N)におけるコードの遷移先確率を抽出することにより、コードの遷移関係を抽出しているとも言える。
図7のフローチャートに戻り、ステップS13において、コード遷移元確率抽出部53は、解析された楽曲のコード進行から、コードの遷移元の確率を抽出して、特徴量抽出の処理は終了する。例えば、ステップS13において、コード遷移元確率抽出部53は、楽曲1乃至楽曲Nのコード進行について、あるコードが現れたとき、その現れたコードが、どのコードから遷移してきたかの確率(コードの遷移元確率)を抽出する。
図10は、コード遷移元確率抽出部53により抽出(算出)される、コードの遷移元確率の一例を示す図である。
図10の上側に示す表において、左から1列目および上から1行目のそれぞれが示す項目は、図8の表の例と同様であるので、その説明は省略する。
また、図10の下側に示すコード進行は、上述した、楽曲1乃至楽曲Nのそれぞれのコード進行を示し、コードの遷移元確率では、例えば、図中の点線で示すように、楽曲1乃至楽曲Nにおいて、GからCに遷移してくるなどの、あるコードからCであるコードに遷移してくる確率や、CからDに遷移してくるなどの、あるコードからDであるコードに遷移してくる確率などが抽出される。
図10の例では、例えば、楽曲1乃至楽曲Nのコードの遷移元確率を示している。
具体的には、楽曲1乃至楽曲Nでは、あるコードから、Cであるコードに遷移してくる確率は、CからCに遷移してくる確率が0%,・・・,GからCに遷移してくる確率が31%,・・・,BmからCに遷移してくる確率が0%とそれぞれ抽出される。同様に、楽曲1乃至楽曲Nにおける、あるコードから、C#であるコードに遷移してくる確率は、CからC#に遷移してくる確率が3%,・・・,GからC#に遷移してくる確率が2%,・・・,BmからC#に遷移してくる確率が0%とそれぞれ抽出され、あるコードから、Dであるコードに遷移してくる確率は、CからDに遷移してくる確率が21%,・・・,GからDに遷移してくる確率が10%,・・・,BmからDに遷移してくる確率が0%とそれぞれ抽出される。
そして、同様に、楽曲1乃至楽曲Nにおける、あるコードから、D♯乃至B♭mであるコードのそれぞれに遷移してくる確率がそれぞれ計算され、あるコードから、Bmであるコードに遷移してくる確率は、CからBmに遷移してくる確率が0%,・・・,GからBmに遷移してくる確率が0%,・・・,BmからBmに遷移してくる確率が0%とそれぞれ抽出される。
このようにして、楽曲1乃至楽曲Nのコード進行における、コードの遷移元確率が、各コード(C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bm)ごとに、それぞれ24種類ずつ得られることになる。
すなわち、換言すれば、ステップS13の処理において、コード遷移元確率抽出部53は、各楽曲(楽曲1乃至楽曲N)におけるコードの遷移元確率を抽出することにより、コードの遷移関係を抽出しているとも言える。
図11は、特徴量抽出部41により抽出される特徴量について説明する図である。
図11の表の例は、コードの同時出現確率(図8)、コードの遷移先確率(図9)、およびコードの遷移元確率(図10)のそれぞれを、横方向に1つにまとめて表現している表である。すなわち、図11の表で示される左から1列目の項目が示すコードをX(図中では、V(X)となっているが、その理由は後述する)とし、上から1行目の項目が示すコードをYとした場合、左から1行目の項目と、上から1行目の2番目から25番目までの項目とにより特定される領域(図11の表のハッチングを施していない領域)には、コードXとコードYの同時出現確率が記載され、左から1列目の項目と、上から1行目の26番目から49番目までの項目とにより特定される領域(図11の表の右下がり斜線によりハッチングされた領域)には、コードXからコードYに遷移する確率が記載され、左から1列目の項目と、上から1行目の50番目から73までの項目とにより特定される領域(図11の表の左下がり斜線によりハッチングされた領域)には、コードYからコードXに遷移する確率が記載されている。
すなわち、上述した、ステップS11乃至ステップS13の処理において、特徴量抽出部41は、特徴量抽出の処理により、例えば、コードの同時出現確率、コードの遷移先確率、およびコードの遷移元確率の3種類の特徴量を、例えば、C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,Bであるメジャーコードと、Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmであるマイナーコードとの24種類のコードについて、それぞれ抽出する。
その結果、各曲(楽曲1乃至楽曲N)において、各コード(C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bm)は、3×24=72種類の特徴量を得ることになる。
そして、例えば、特徴量抽出部41は、楽曲1乃至楽曲Nから抽出した図11の例で示される特徴量を記録部18(またはRAM13など)に記録させる。すなわち、特徴量抽出部41は、記録部18に記録されている楽曲1乃至楽曲Nから特徴量をそれぞれ抽出し、抽出した、図11の例で示される特徴量を記録部18に記録させることになる。換言すれば、あらかじめ、膨大な数の楽曲群からコードに関する特徴量を抽出しているとも言える。
このとき、記録部18には、図11の例で示される特徴量が記録されていることになるので、コード類似度算出部42は、必要に応じて、記録されている特徴量を読み出して使用することができる。詳細は後述するが、例えば、コード類似度算出部42は、コード進行間の類似度を算出するとき、コード進行における特徴量のベクトル同士の相関(ベクトル相関)を用いて、類似度を算出することができる。
このとき、図11の表で示すように、例えば、図11の表の左から1列目の項目の「C」の特徴量(ベクトル)(V(C)と称する。以下、同様に、コードの特徴量(ベクトル)は、V(コード名)と称して説明する)は、メジャーコードとマイナーコードとが、3種類づつ抽出されているので、3×24=72種類の特徴量で表すことができる。また、同様に、V(C#)が72種類の特徴量、V(D)が72種類の特徴量、・・・、V(Bm)が72種類の特徴量でそれぞれ表されることになる。
すなわち、V(C)乃至V(Bm)は、それぞれ72種類の特徴量を持っていることになる。
図5のフローチャートに戻り、ステップS3において、コード進行解析部31は、入力部16から供給される操作信号を基に、ユーザにより、所望の楽曲を検索するためのコード進行が入力されたか否かを判定する。
ステップS3において、ユーザによりコード進行が入力されていないと判定された場合、ステップS3に戻り、上述した処理が繰り返される。すなわち、パーソナルコンピュータ1は、ユーザによりコード進行が入力されるまで待機している。
一方、ステップS3において、ユーザによりコード進行が入力されたと判定された場合、ステップS4に進み、コード類似度算出部42は、楽曲の波形から抽出された特徴量を基に、コード進行(コード)間の類似度を算出する所定の処理を行う。例えば、ステップS4において、コード類似度算出部42は、記録部18に記録されている、各曲(楽曲1乃至楽曲N)から抽出された図11の例で示される特徴量を基に、コード進行(コード)間の類似度を算出する所定の処理を行う。
ここで、図12乃至図14を参照して、コード類似度算出部42による、コード進行間の類似度を算出する処理の詳細について説明する。
コードの類似度の算出は、図12の例で示すように、図中上側で示すユーザにより入力されたコード進行を、少しずつシフトさせながら、図中下側で示す比較対象となる楽曲のコード進行と比較することにより、コード進行(コード)間の類似度を算出する。
具体的には、ステップS3の処理において、ユーザにより入力されたコード進行が、C→F→G→C(「C→F→G→C」は、コード進行が、C,F,G,Cの順に遷移することを示し、以下、同様に記載する)であり、比較対象となる楽曲のコード進行が、C,D,F,C,A,Dm,Fm,C,D,G,C,F,G、・・・の順に遷移する楽曲2である場合、まず、ユーザにより入力された、C→F→G→Cと、比較対象となる楽曲2のコード進行の中の、C→D→F→Cとを比較することにより、コード進行間の類似度を算出する。
ここで、コード進行間の類似度を算出する方法であるが、例えば、コード進行における特徴量のベクトル同士の相関(ベクトル相関)を用いて、算出することができる。
具体的には、C→F→G→Cの特徴量は、例えば、記録部18に記録されている、「C」,「F」,「G」,「C」であるコードの、それぞれの特徴量として表せ、C→D→F→Cである楽曲2のコード進行の特徴量は、例えば、記録部18に記録されている、「C」,「D」,「F」,「C」であるコードの、それぞれの特徴量として表すことができる。
したがって、図13の例に示すように、ユーザにより入力されたコードの、V(C→F→G→C)は、例えば、記録部18に記録されている、コード進行を構成するコードの特徴量の数がそれぞれ、V(C)が72種類、V(F)が72種類、V(G)が72種類、V(C)が72種類の特徴量からなるので、合計288種類の特徴量で表されることになる。また、同様に、楽曲2の、V(C→D→F→C)は、例えば、記録部18に記録されている、コード進行を構成するコードの特徴量の数がそれぞれ、V(C)が72種類、V(D)が72種類、V(F)が72種類、V(C)が72種類の特徴量からなるので、合計288種類の特徴量で表されることになる。
コード類似度算出部42は、記録部18に記録されている、これらの特徴量を基に、ベクトル相関を用いて、コードの類似度を算出する。例えば、コード類似度算出部42は、V(C→F→G→C)(すなわち、V(C),V(F),V(G),V(C))と、V(C→D→F→C)(すなわち、V(C),V(D),V(F),V(C))とのベクトル相関により、コード進行間の類似度を算出する。
ここで、ベクトル相関による類似度(相関係数r)は、例えば、式(1)により算出される。
Figure 2007183417
なお、式(1)において、相関係数rは、ベクトルXとベクトルYとの相関係数を示し、
Figure 2007183417
は、ベクトルXの平均値、
Figure 2007183417
は、ベクトルYの平均値を示し、nは、サンプル数(例えば、ベクトルXとベクトルYとの組み合わせの数)を示している。
したがって、C→F→G→Cと、C→D→F→Cとを比較する場合、上述したように、ベクトルの要素(特徴量)の数は、1つのコードあたりの特徴量数×コードの数となるので、72×4=288種類となる。
そして、式(1)により、ともに288種類の特徴量を持つ、V(C→F→G→C)とV(C→D→F→C)との相関係数r(類似度)を算出することになる。
図12に戻り、例えば、コード類似度算出部42は、まず、ユーザにより入力された、V(C→F→G→C)と、比較対象となる楽曲2のコード進行の中の、V(C→D→F→C)とのベクトル相関により、20であるコード進行間の類似度(類似度20)を算出する。そして、ユーザにより入力された、C→F→G→Cを少しずつシフトさせながら、コード進行間の類似度を算出することになる。
例えば、コード類似度算出部42は、図12に示すように、ユーザにより入力された、C→F→G→Cを少しずつシフトさせることにより、V(C→F→G→C)と、比較対象となる楽曲2のコード進行の中の、V(C→D→G→C)とのベクトル相関により、60であるコード進行間の類似度(類似度60)を算出し、その後、楽曲2の最後まで、コード進行間の類似度の算出を行う。その結果、コード類似度算出部42は、楽曲2における複数のコード進行間の類似度が算出することになる。
コード類似度算出部42は、例えば、算出した複数の類似度の中から、最も高い類似度を、ユーザにより入力されたコード進行と、比較対象となる楽曲との類似度として算出する。例えば、コード類似度算出部42は、楽曲2から算出した類似度の結果が、0,10,20,・・・,60,・・・,90である場合、90であるコード進行間の類似度(類似度90)を楽曲2の類似度として算出する。
また、コード類似度算出部42は、同様に、ユーザにより入力された、C→F→G→Cと、楽曲1および楽曲3乃至楽曲Nのそれぞれのコード進行との類似度を算出する。
すなわち、コード類似度算出部42は、例えば、図14の例に示すように、ユーザにより入力されたコード進行と、楽曲1乃至楽曲Nのそれぞれのコード進行とのコード進行間の類似度の算出を行うことにより、10である楽曲1の類似度、90である楽曲2の類似度、70である楽曲3の類似度、楽曲4乃至楽曲N−1のそれぞれの類似度、30である楽曲Nの類似度を算出する。したがって、楽曲2のコード進行が、最も類似度が高いので、ユーザにより入力されたコード進行に最も類似していることになる。
なお、上述した例においては、ユーザにより入力されたコード進行と、比較対象となる楽曲のコード進行とを、4つのコードずつ比較するとして説明したが、本発明ではそれに限らず、1または複数の、例えば、1,2,3,5,10,・・・など、所定の数ずつ比較することができる。
図5のフローチャートに戻り、ステップS5において、楽曲検索部43は、算出されたコード進行の類似度の結果に基づいて、楽曲を検索する。例えば、ステップS5において、楽曲検索部43は、ユーザにより入力された、C→F→G→Cと、楽曲1乃至楽曲Nのそれぞれのコード進行との類似度の算出結果を基に、記録部18に記録されている楽曲(のデータ)を、楽曲2、楽曲3、・・・、楽曲N、楽曲1、・・・の順に、類似度が高い順にソートするようにして検索する。
ステップS6において、コード進行解析部31は、楽曲の検索結果を、LCDなどの画面からなる出力部17に表示させて、楽曲検索の処理は終了する。
図15は、楽曲の検索結果を表示する出力部17の画面の一例を示す図である。
出力部17の画面には、例えば、楽曲検索部43による楽曲の検索結果を基に、ユーザにより入力された、C→F→G→Cに類似する楽曲として、コード進行の類似度が高い順に、楽曲2,楽曲3,・・・,楽曲N,楽曲1,・・・が表示される。その結果、ユーザは、C,F,G,Cの順に遷移するコード進行に最も近い楽曲として、楽曲2を知ることができる。
また、ユーザが入力したコード進行の楽曲を検索することができるので、例えば、メジャーコードを入力することにより、明るい楽曲を検索したり、マイナーコードを入力することにより、暗い曲を検索したりすることができる。
さらに、ユーザが入力したコード進行の楽曲を検索することができるので、例えば、曲を作曲したユーザが、自分が作曲した曲のコード進行と、他の誰かが作曲した曲のコード進行とが一致しないかどうかを調べることができる。
以上のようにして、パーソナルコンピュータ1は、解析されたコード進行を構成するコードを特徴量として、楽曲検索の処理を行う。その結果、ステップS1の処理において、コード進行解析部31により解析された、複数の楽曲の波形のコード進行に誤りがあった場合でも、類似しているコード進行を判別することができるので、正しく似ているコード進行を判別することができる。
ところで、コード進行の特徴量であるが、上述した、解析されたコード進行を構成するコードに関係する特徴量に限らず、例えば、コード進行に関係する特徴量など、コード(コード進行)に関する特徴量であればいずれであってもよい。
次に、図16乃至図23を参照して、特徴量抽出部41による、解析されたコード進行を構成する、あるコード進行を特徴量した場合の処理について説明する。
図16は、パーソナルコンピュータ1の機能的構成例の他の例について説明するブロック図である。
なお、図16では、図4と同様の箇所には、同一の符号が付してありその説明は省略する。すなわち、図16において、特徴量抽出部41は、図4の特徴量抽出部41を構成する、コード同時出現確率抽出部51、コード遷移先確率抽出部52、およびコード遷移元確率抽出部53の代わりに、コード進行同時出現確率抽出部61、コード進行遷移先確率抽出部62、およびコード進行遷移元確率抽出部63を含むようにして構成される。
また、本実施の形態では、パーソナルコンピュータ1は、上述した図3のハードウェア構成を有しているので、コード進行解析部31は、例えば、図3のCPU11が実行するソフトウェア(プログラム)として構成される。ただし、パーソナルコンピュータ1のハードウェア構成を図3の構成とは異ならせることで、コード進行解析部31は、ハードウェア単体として構成することもできるし、ソフトウェアとハードウェアの組み合わせとして構成することもできる。
コード進行同時出現確率抽出部61は、楽曲の波形から解析されたコード進行から、あるコード進行とあるコード進行とが共に存在する確率(コード進行の同時出現確率)を抽出(算出)する。
コード進行遷移先確率抽出部62は、楽曲の波形から解析されたコード進行から、あるコード進行が現れたとき、そのコード進行からそれぞれのコードに遷移する確率(コード進行の遷移先確率)を抽出(算出)する。
コード進行遷移元確率抽出部63は、楽曲の波形から解析されたコード進行から、あるコードが現れたとき、その現れたコードが、どのコード進行から遷移してきたかの確率(コード進行の遷移元確率)を抽出(算出)する。
次に、図17のフローチャートを参照して、解析されたコード進行を構成する、コードの代わりに、コード進行を特徴量した場合における、パーソナルコンピュータ1による楽曲検索の処理について説明する。
ステップS21の処理は、図5のステップS1の処理と同様であり、その説明は省略する。
ステップS22において、特徴量抽出部41は、複数の楽曲の波形から解析されたコード進行に対して、特徴量抽出の処理を施して、特徴量を抽出する。例えば、ステップS22において、特徴量抽出部41は、楽曲の波形から解析されたコード進行を構成するコード進行に関する共起関係または遷移関係を解析することにより、特徴量を抽出し、抽出した特徴量を記録部18(またはRAM13など)に記録させる。なお、コード進行の共起関係または遷移関係の詳細については後述する。
ここで、ステップS22における、特徴量抽出部41による、特徴量抽出の処理の詳細について、図18のフローチャートを参照して説明する。
ステップS31において、コード進行同時出現確率抽出部61は、解析された楽曲のコード進行から、コード進行の同時出現確率を抽出する。例えば、ステップS31において、コード進行同時出現確率抽出部61は、楽曲1乃至楽曲Nのコード進行について、あるコード進行とあるコード進行とが共に存在する確率(コード進行の同時出現確率)を抽出する。
図19は、コード進行同時出現確率抽出部61により抽出(算出)される、コード進行の同時出現確率の一例を示す図である。
図19の上側に示す表においては、左から1列目および上から1行目は、それぞれ項目を示し、コード名が記載されている。すなわち、説明を分かり易くするために全てのコードを記載していないが、左から1列目の項目には、上から2個目に「C→C」(「C→C」は、CからCに遷移することを示し、以下、同様に記載する)であるコード進行、上から3個目に「C→C♯」であるコード、上から4個目に「C→D」であるコードがそれぞれ記載され、以降、メジャーコードからマイナーコードの順に、Cから遷移する先のコード(コード進行)として、D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmが記載されている。また、各コードについても同様に、メジャーコードからマイナーコードの順に、各コードから遷移する先のコード(コード進行)として、C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmがそれぞれ記載されている。
同様に、上から1行目の項目には、左から2個目に「C→C」であるコード進行、左から3個目に「C→C♯」であるコード、左から4個目に「C→D」であるコードがそれぞれ記載され、以降、メジャーコードからマイナーコードの順に、Cから遷移する先のコード(コード進行)として、D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmが記載されている。また、各コードについても同様に、メジャーコードからマイナーコードの順に、各コードから遷移する先のコード(コード進行)として、C,C♯,D,D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmがそれぞれ記載されている。
換言すれば、図19の例で示す表には、左から1列目の、「C→C」,「C→C♯」,「C→D」,・・・,「Am→Bm」,「B♭m→Bm」,「Bm→Bm」(24×24=576行)と、上から1行目の、「C→C」,「C→C♯」,「C→D」,・・・,「Am→Bm」,「B♭m→Bm」,「Bm→Bm」(24×24=576列)とが、マトリックス状になるように記載されている。
また、図19の下側に示すコード進行は、上述した、楽曲1乃至楽曲Nのそれぞれのコード進行を示し、コード進行の同時出現確率では、例えば、図中の点線で示すように、楽曲1乃至楽曲Nにおいて、「C→F」と「D→G」、あるコード進行とあるコード進行とが共に存在する確率などが抽出される。
図19の例で示す表は、例えば、楽曲1乃至楽曲Nのコード進行の同時出現確率を示している。
具体的には、例えば、楽曲1乃至楽曲Nでは、「C→C」乃至「C→E」であるコード進行のそれぞれと、あるコード進行とが共に存在する確率が抽出され、「C→F」であるコード進行とあるコード進行とが共に存在する確率は、・・・,「C→F」と「D→G」が共に存在する確率が13%,「C→F」と「D→G♯」が共に存在する確率が1%,・・・,「C→F」と「Bm→Bm」が共に存在する確率が0%とそれぞれ抽出される。同様に、楽曲1乃至楽曲Nでは、「C→F♯」であるコード進行とあるコード進行とが共に存在する確率は、・・・,「C→F♯」と「D→G」が共に存在する確率が1%,「C→F♯」と「D→G♯」が共に存在する確率が0%,・・・,「C→F♯」と「Bm→Bm」が共に存在する確率が0%とそれぞれ抽出される。
そして、同様に、楽曲1乃至楽曲Nにおける、「C→G」乃至「B♭m→Bm」であるコード進行のそれぞれと、あるコード進行とが共に存在する確率が抽出され、「Bm→Bm」であるコード進行とあるコード進行とが共に存在する確率は、・・・,「Bm→Bm」と「D→G」が共に存在する確率が0%,「Bm→Bm」と「D→G♯」が共に存在する確率が0%,・・・,「Bm→Bm」と「Bm→Bm」が共に存在する確率が0%とそれぞれ抽出される。
このようにして、楽曲1乃至楽曲Nのコード進行における、コード同時出現確率が、各コード進行(「C→C」乃至「Bm→Bm」)ごとに、それぞれ24×24=576種類ずつ得られることになる。
すなわち、換言すれば、ステップS31の処理において、コード進行同時出現確率抽出部61は、各楽曲(楽曲1乃至楽曲N)におけるコード進行の同時出現確率を抽出することにより、コード進行の共起関係を抽出しているとも言える。
図18のフローチャートに戻り、ステップS32において、コード進行遷移先確率抽出部62は、解析された楽曲のコード進行から、コード進行の遷移先となるコードの確率を抽出する。例えば、ステップS32において、コード進行遷移先確率抽出部52は、楽曲1乃至楽曲Nのコード進行について、あるコード進行が現れたとき、そのコード進行からそれぞれのコードに遷移する確率(コードの遷移先確率)を抽出する。
図20は、コード進行遷移先確率抽出部62により抽出(算出)される、コード進行の遷移先確率の一例を示す図である。
図20の上側に示す表において、左から1列目が示す項目は、図19の表の例と同様であるので、その説明は省略する。上から1行目の項目は、説明を分かり易くするために全てのコードを記載していないが、左から2個目にCであるコード、左から3個目にC♯であるコード、左から4個目にDであるコードがそれぞれ記載され、以降、メジャーコードからマイナーコードの順に、D♯,E,F,F♯,G,G♯,A,B♭,B,Cm,C♯m,Dm,D♯m,Em,Fm,F♯m,Gm,G♯m,Am,B♭m,Bmが記載されている。
換言すれば、図20の例で示す表には、左から1列目の、「C→C」,「C→C♯」,「C→D」,・・・,「Am→Bm」,「B♭m→Bm」,「Bm→Bm」(24×24=576行)と、上から1行目の、C,C♯,D,・・・,Am,B♭m,Bm(24列)とが、マトリックス状になるように記載されている。
図20の例では、例えば、楽曲1乃至楽曲Nのコード進行の遷移先確率を示している。
具体的には、例えば、楽曲1乃至楽曲Nでは、「C→C」であるコード進行から、あるコードに遷移する確率は、・・・,「C→C」からGに遷移する確率が0%,「C→C」からG♯に遷移する確率が0%,「C→C」からAに遷移する確率が0%,・・・,「C→C」からBmに遷移する確率が0%とそれぞれ抽出される。同様に、楽曲1乃至楽曲Nにおける、「C→C♯」乃至「E→Bm」であるコード進行のそれぞれから、あるコードに遷移する確率がそれぞれ抽出され、「F→C」であるコードからあるコードに遷移する確率は、・・・,「F→C」からGに遷移する確率が6%,「F→C」からG♯に遷移する確率が0%,「F→C」からAに遷移する確率が1%,・・・,「F→C」からBmに遷移する確率が0%とそれぞれ抽出される。また、同様に、楽曲1乃至楽曲Nにおける、「F→C#」乃至「Bm→B♭m」であるコード進行のそれぞれから、あるコードに遷移する確率がそれぞれ抽出され、「Bm→Bm」であるコード進行からあるコードに遷移する確率は、・・・,「Bm→Bm」からGに遷移する確率が0%,「Bm→Bm」からG♯に遷移する確率が0%,「Bm→Bm」からAに遷移する確率が0%,・・・,「Bm→Bm」からBmに遷移する確率が0%とそれぞれ抽出される。
このようにして、楽曲1乃至楽曲Nのコード進行における、コード進行の遷移先確率が、各コード進行(「C→C」乃至「Bm→Bm」)ごとに、それぞれ24種類ずつ得られることになる。
すなわち、換言すれば、ステップS32の処理において、コード進行遷移先確率抽出部62は、各楽曲(楽曲1乃至楽曲N)におけるコード進行の遷移先確率を抽出することにより、コード進行の遷移関係を抽出しているとも言える。
図18のフローチャートに戻り、ステップS33において、コード進行遷移元確率抽出部63は、解析された楽曲のコード進行から、コード進行の遷移元となるコードの確率を抽出して、特徴量抽出の処理は終了する。例えば、ステップS33において、コード進行遷移元確率抽出部63は、楽曲1乃至楽曲Nのコード進行について、あるコード進行が現れたとき、その現れたコード進行が、どのコードから遷移してきたかの確率(コード進行の遷移元確率)を抽出する。
図21は、コード進行遷移元確率抽出部63により抽出(算出)される、コード進行の遷移元確率の一例を示す図である。
図21に示す表において、左から1列目および上から1行目のそれぞれが示す項目は、図20の表の例と同様であるので、その説明は省略する。
図21の例では、例えば、楽曲1乃至楽曲Nのコード進行の遷移元確率を示している。
具体的には、例えば、楽曲1乃至楽曲Nでは、あるコードから、「C→C」であるコード進行に遷移してくる確率は、・・・,G#mから「C→C」に遷移してくる確率が0%,・・・,Amから「C→C」に遷移してくる確率が0%,・・・,Bmから「C→C」に遷移してくる確率が0%とそれぞれ抽出される。同様に、楽曲1乃至楽曲Nにおける、あるコードから、「C→C♯」乃至「C→F♯」であるコード進行のそれぞれに遷移してくる確率が抽出され、あるコードから、「C→G」であるコード進行に遷移してくる確率は、・・・,G#mから「C→G」に遷移してくる確率が0%,Amから「C→G」に遷移してくる確率が6%,・・・,Bmから「C→G」に遷移してくる確率が0%とそれぞれ抽出される。
そして、同様に、楽曲1乃至楽曲Nにおける、あるコードから、「C→G♯」乃至「B♭m→Bm」であるコード進行のそれぞれに遷移してくる確率がそれぞれ計算され、あるコードから、「Bm→Bm」であるコード進行に遷移してくる確率は、・・・,G#mから「Bm→Bm」に遷移してくる確率が0%,Amから「Bm→Bm」に遷移してくる確率が0%,・・・,Bmから「Bm→Bm」に遷移してくる確率が0%とそれぞれ抽出される。
このようにして、楽曲1乃至楽曲Nのコード進行における、コードの遷移元確率が、各コード(「C→C」乃至「Bm→Bm」)ごとに、それぞれ24種類ずつ得られることになる。
すなわち、換言すれば、ステップS33の処理において、コード進行遷移元確率抽出部63は、各楽曲(楽曲1乃至楽曲N)におけるコード進行の遷移元確率を抽出することにより、コード進行の遷移関係を抽出しているとも言える。
図22は、特徴量抽出部41により抽出される特徴量について説明する図である。
図22の表の例は、コード進行の同時出現確率(図19)、コード進行の遷移先確率(図20)、およびコード進行の遷移元確率(図21)のそれぞれを、横方向に1つにまとめて表現している表である。すなわち、図22の表で示される左から1列目の項目が示すコードをX(図中では、V(X)となっているが、その理由は後述する)とし、上から1行目の項目が示すコードをYとした場合、左から1行目の項目と、上から1行目の2番目から577番目までの項目とにより特定される領域(図22の表のハッチングを施していない領域)には、コード進行Xとコード進行Yの同時出現確率が記載され、左から1列目の項目と、上から1行目の578番目から601番目までの項目とにより特定される領域(図22の表の右下がり斜線によりハッチングされた領域)には、コード進行XからコードYに遷移する確率が記載され、左から1列目の項目と、上から1行目の602番目から625番目までの項目とにより特定される領域(図22の表の左下がり斜線によりハッチングされた領域)には、コードYからコード進行Xに遷移する確率が記載されている。
すなわち、上述した、ステップS31乃至ステップS33の処理において、特徴量抽出部41は、特徴量抽出の処理により、例えば、コード進行の同時出現確率、コード進行の遷移先確率、およびコード進行の遷移元確率の3種類の特徴量を、例えば、「C→C」乃至「Bm→Bm」の576種類のコードについて、それぞれ抽出する。
その結果、各曲(楽曲1乃至楽曲N)において、各コード(「C→C」乃至「Bm→Bm」)は、24×24+24+24=624種類の特徴量を得ることになる。
そして、例えば、特徴量抽出部41は、楽曲1乃至楽曲Nから抽出した図22の例で示される特徴量を記録部18(またはRAM13など)に記録させる。すなわち、特徴量抽出部41は、記録部18に記録されている楽曲1乃至楽曲Nから特徴量をそれぞれ抽出し、抽出した図22の例で示される特徴量を記録部18に記録させることになる。換言すれば、あらかじめ、膨大な数の楽曲群からコード進行に関する特徴量を抽出しているとも言える。
このとき、記録部18には、図22の例で示される特徴量が記録されていることになるので、コード類似度算出部42は、必要に応じて、記録されている特徴量を読み出して使用することができる。上述したように、例えば、コード類似度算出部42は、コード進行間の類似度を算出するとき、コード進行における特徴量のベクトル相関を用いて、類似度を算出することができる。
このとき、図22の表で示すように、例えば、図11の表の左から1列目の項目のV(C→C)は、24×24+24+24=624種類の特徴量で表すことができる。また、同様に、V(C→C#)が624種類の特徴量、V(C→D)が624種類の特徴量、・・・、V(Bm→Bm)が624種類の特徴量でそれぞれ表されることになる。
すなわち、V(C→C)乃至V(Bm→Bm)は、それぞれ624種類の特徴量を持っていることになる。
図17のフローチャートに戻り、ステップS23の処理は、図5のステップS3の処理と同様であり、その説明は省略する。
ステップS24において、コード類似度算出部42は、例えば、コード進行の同時出現確率、コード進行の遷移先確率、およびコード進行の遷移元確率のそれぞれを特徴量として、コード進行(コード)間の類似度を算出する所定の処理を行う。例えば、ステップS24において、コード類似度算出部42は、記録部18に記録されている、各曲(楽曲1乃至楽曲N)から抽出された図22の例で示される特徴量を基に、コード進行(コード)間の類似度を算出する所定の処理を行う。
具体的には、上述した場合と同様に、ユーザにより入力されたコード進行が、C→F→G→Cであり、比較対象となる楽曲のコード進行が、C,D,F,C,A,Dm,Fm,C,D,G,C,F,G、・・・の順に遷移する楽曲2である場合、まず、ユーザにより入力された、C→F→G→Cと、比較対象となる楽曲2のコード進行の中の、C→D→F→Cとを、例えば、コード進行における特徴量のベクトル相関を用いることにより、コード進行間の類似度を算出する。
具体的には、C→F→G→Cの特徴量は、例えば、記録部18に記録されている、「C→F」,「F→G」,「G→C」であるコード進行の、それぞれの特徴量として表せ、C→D→F→Cである楽曲2のコード進行の特徴量は、例えば、記録部18に記録されている、「C→D」,「D→F」,「F→C」であるコード進行の、それぞれの特徴量として表すことができる。
したがって、図23の例に示すように、ユーザにより入力されたコードの、V(C→F→G→C)は、例えば、記録部18に記録されている、コード進行を構成するコード進行の特徴量の数がそれぞれ、V(C→F)が624種類、V(F→G)が624種類、V(G→C)が624種類の特徴量からなるので、合計1872種類の特徴量で表されることになる。また、同様に、楽曲2の、V(C→D→F→C)は、例えば、記録媒体18に記録されている、コード進行を構成するコード進行の特徴量の数がそれぞれ、V(C→D)が624種類、V(D→F)が624種類、V(F→C)が624種類の特徴量からなるので、合計1872種類の特徴量で表されることになる。
コード類似度算出部42は、記録部18に記録されている、これらの特徴量を基に、ベクトル相関を用いて、コードの類似度を算出する。例えば、コード類似度算出部42は、V(C→F→G→C)(すなわち、V(C→F),V(F→G),V(G→C))と、V(C→D→F→C)(すなわち、V(C→D),V(D→F),V(F→C))とのベクトル相関を、式(1)により算出することで、コード進行間の類似度を算出する。
コード類似度算出部42は、例えば、ユーザにより入力されたコード進行と、楽曲1乃至楽曲Nのそれぞれのコード進行とのコード進行間の類似度の算出を行うことにより、15である楽曲1の類似度、85である楽曲2の類似度、70である楽曲3の類似度、楽曲4乃至楽曲N−1のそれぞれの類似度、20である楽曲Nの類似度を算出する。したがって、楽曲2のコード進行が、類似度が最も高いので、ユーザにより入力されたコード進行に最も類似していることになる。
図17のフローチャートに戻り、ステップS25およびステップS26の処理のそれぞれは、図5のステップS5およびステップS6の処理と同様であり、その説明は省略して、楽曲検索の処理は終了する。
以上のようにして、パーソナルコンピュータ1は、解析されたコード進行を構成するコードの代わりに、コード進行を特徴量として、楽曲検索の処理を行う。その結果、ステップS21の処理において、コード進行解析部31により解析された、複数の楽曲の波形のコード進行に誤りがあった場合でも、類似しているコード進行を判別することができるので、正しく似ているコード進行を判別することができる。
なお、上述した例においては、コードとコード進行のそれぞれの特徴量を別々に抽出する場合について説明したが、勿論、コードとコード進行のそれぞれの特徴量を両方抽出し、抽出されたコードとコード進行の特徴量のそれぞれを用いて、コード進行間の類似度を算出するようにしてもよい。
そのとき、特徴量抽出部41は、例えば、上述した、図11のコードの特徴量(コードの同時出現確率、コードの遷移先確率、およびコードの遷移元確率)と、図22のコード進行の特徴量(コード進行の同時出現確率、コード進行の遷移先確率、およびコード進行の遷移元確率)とを抽出し、抽出したそれらの特徴量を記録部18(またはRAM13など)に記録させる。
そして、コード類似度算出部42は、例えば、記録部18に記録されている、コードの同時出現確率、コードの遷移先確率、コードの遷移元確率、コード進行の同時出現確率、コード進行の遷移先確率、およびコード進行の遷移元確率のそれぞれを特徴量として、コード進行(コード)間の類似度を算出する所定の処理を行う。
具体的には、上述した場合と同様に、ユーザにより入力されたコード進行が、C→F→G→Cであり、比較対象となる楽曲のコード進行が、C,D,F,C,A,Dm,Fm,C,D,G,C,F,G、・・・の順に遷移する楽曲2である場合、まず、ユーザにより入力された、C→F→G→Cと、比較対象となる楽曲2のコード進行の中の、C→D→F→Cとを、例えば、コード進行における特徴量のベクトル相関を用いることにより、コード進行間の類似度を算出する。
具体的には、C→F→G→Cの特徴量は、例えば、記録部18に記録されている、「C」,「F」,「G」,「C」であるコードと、「C→F」,「F→G」,「G→C」であるコード進行の、それぞれの特徴量として表せ、C→D→F→Cである楽曲2のコード進行の特徴量は、例えば、記録部18に記録されている、「C」,「D」,「F」,「C」であるコードと、「C→D」,「D→F」,「F→C」であるコード進行の、それぞれの特徴量として表すことができる。
したがって、図24の例に示すように、ユーザにより入力されたコードの、V(C→F→G→C)は、例えば、記録部18に記録されている、コード進行を構成するコードとコード進行の特徴量の数がそれぞれ、V(C)が72種類、V(F)が72種類、V(G)が72種類、V(C)が72種類、V(C→F)が624種類、V(F→G)が624種類、V(G→C)が624種類の特徴量からなるので、合計2160種類の特徴量で表されることになる。また、同様に、楽曲2の、V(C→D→F→C)は、例えば、記録媒体18に記録されている、コード進行を構成するコード進行の特徴量の数がそれぞれ、V(C)が72種類、V(D)が72種類、V(F)が72種類、V(C)が72種類、V(C→D)が624種類、V(D→F)が624種類、V(F→C)が624種類の特徴量からなるので、合計2160種類の特徴量で表されることになる。
コード類似度算出部42は、記録部18に記録されている、このような特徴量を基に、ベクトル相関を用いて、コードの類似度を算出する。例えば、コード類似度算出部42は、V(C→F→G→C)(すなわち、V(C),V(F),V(G),V(C),V(C→F),V(F→G),V(G→C))と、V(C→D→F→C)(すなわち、V(C),V(D),V(F),V(C),V(C→D),V(D→F),V(F→C))とのベクトル相関を、式(1)により算出することで、コード進行間の類似度を算出する。
コード類似度算出部42は、例えば、ユーザにより入力されたコード進行と、楽曲1乃至楽曲Nのそれぞれのコード進行とのコード進行間の類似度の算出を行うことにより、10である楽曲1の類似度、90である楽曲2の類似度、65である楽曲3の類似度、楽曲4乃至楽曲N−1のそれぞれの類似度、30である楽曲Nの類似度を算出する。したがって、楽曲2のコード進行が、最も類似度が高いので、ユーザにより入力されたコード進行に最も類似していることになる。
以上のようにして、パーソナルコンピュータ1は、解析されたコード進行を構成するコードとコード進行の両方を特徴量として、楽曲検索の処理を行うこともできる。
なお、コード進行の特徴量は、上述した例に限らず、例えば、あるコード(コード進行)の1曲中の出現割合(例えば、5分の曲中に、あるコードが1分存在していたら1/5=20%)、コード(コード進行)Xの出現割合×コード(コード進行)Yの出現割合(例えば、コードXの出現割合(0.1)×コードYの出現割合(0.2)=0.02)、あるコード進行からあるコード進行への遷移確率(例えば、「C→F」から「G→C」への遷移確率)など、解析されたコード進行を構成するコード(コード進行)に関する特徴量またはそれらの特徴量の組み合わせであればいずれであってもよい。
また、上述した例においては、コード類似度算出部42による、コード進行間の類似度を算出する方法として、コード進行間における特徴量のベクトル同士の相関(ベクトル相関)を用いて算出するとして説明したが、本発明においては、それに限らず、例えば、得られた特徴量を主成分分析などにより次元圧縮をしたり、ユークリット距離法などの距離関数を用いて算出したりするようにしてもよい。
さらに、上述した例においては、特徴量の抽出方法として、3和音のメジャー、マイナーコードのみを使用して特徴量を抽出しているが、本発明においては、それに限らず、例えば、4和音は勿論、ハーモニーを示すものであればいずれであってもよい。
図25は、コード類似度算出部42による、主成分分析の算出結果の例を示す図である。
図25で示される例において、図中の点は、抽出された特徴量を主成分分析することにより、第1主成分と第2主成分を軸に各コードをプロットしたものである。図25では、例えば、図中下側の、「D#」,「Bm」,「F」,「B」,「G#m」,「D#m」などのように、図中の点が近い位置にあるコードほど、楽曲中で似た意味を持つコードとなる。
すなわち、コード類似度算出部42は、主成分分析を行うことにより、例えば、図25で示す点の位置が近い位置にあるコードは、楽曲中で似た意味を持つコードであるとして、コード進行間の類似度を算出する。
なお、主成分分析の分析結果は、コード進行を解析するアルゴリズムや、解析した楽曲のジャンルなどによっても異なる。
以上のように、本発明によれば、より正確に、コード進行を解析することができる。
また、本発明によれば、より正確に、楽曲のコード進行を解析することができるので、楽曲のコード進行を解析したときに、コードの検出結果が誤っていたとしても、似ているコードであれば、同じような解析結果として分類することができる。その結果、コードの検出結果が誤っていたとしても、その誤りによる影響を最小限に食い止めることができる。例えば、コード進行解析において、様々な4和音を検出可能とした場合であっても、判定の精度を落とさず、正しく似たコード進行を判別できる。
さらに、本発明によれば、コード進行が厳密に同じでなくても、似ているコード進行の楽曲を検索することができる。その結果、ユーザは、所望の楽曲を検索することができる。
なお、上述した例においては、本発明の情報処理装置として、パーソナルコンピュータ1を一例に説明したが、本発明はそれに限らず、例えば、携帯音楽プレーヤ、携帯電話機、またはPDA(Personal Digital Assistance)など、楽曲の波形を解析する機能を有することのできる機器であればいずれであってもよい。また、専用のサーバにより、上述した機能を実装することで、処理の結果(例えば、楽曲の検索結果など)のみをクライアントとなる端末に提供するようにしてもよい。
また、上述した例においては、楽曲を検索する処理を一例にして説明したが、本発明はこれに限らず、例えば、記録部18に記録されているある楽曲と、他の楽曲とのコード進行の類似度を比較したりするようにしてもよい。さらに、本発明においては、楽曲の波形から抽出した特徴量をメタデータとして蓄積しておくようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disk))を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、若しくは半導体メモリなどよりなる図3のリムーバブルメディア21により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されている図3のROM12や記録部18などで構成される。
また、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
なお、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
従来のコード進行解析を説明する図である。 従来のコード進行解析を説明する図である。 パーソナルコンピュータのハードウェアの構成の例を説明するブロック図である。 パーソナルコンピュータの機能的構成例について説明するブロック図である。 パーソナルコンピュータによる楽曲検索の処理について説明するフローチャートである。 コード進行解析について説明する図である。 特徴量抽出部による特徴量抽出の処理の詳細について説明するフローチャートである。 コード同時出現確率抽出部により抽出される、コードの同時出現確率の一例を示す図である。 コード遷移先確率抽出部により抽出される、コードの遷移先確率の一例を示す図である。 コード遷移元確率抽出部により抽出される、コードの遷移元確率の一例を示す図である。 特徴量抽出部により抽出される特徴量について説明する図である。 コード進行の類似度の算出の詳細について説明する図である。 コード進行の類似度の算出の詳細について説明する図である。 コード進行の類似度の算出の詳細について説明する図である。 楽曲の検索結果を表示する出力部の画面の一例を示す図である。 パーソナルコンピュータの機能的構成例の他の例について説明するブロック図である。 パーソナルコンピュータによる楽曲検索の処理について説明するフローチャートである。 特徴量抽出部による特徴量抽出の処理の詳細について説明するフローチャートである。 コード進行同時出現確率抽出部により抽出される、コード進行の同時出現確率の一例を示す図である。 コード進行遷移先確率抽出部により抽出される、コード進行の遷移先確率の一例を示す図である。 コード進行遷移元確率抽出部により抽出される、コード進行の遷移元確率の一例を示す図である。 特徴量抽出部により抽出される特徴量について説明する図である。 コード進行の類似度の算出の詳細について説明する図である。 コード進行の類似度の算出の詳細について説明する図である。 主成分分析の算出結果の例を示す図である。
符号の説明
1 パーソナルコンピュータ, 11 CPU, 12 ROM, 13 RAM, 16 表示部, 17 出力部, 18 記録部, 19 通信部, 20 ドライブ, 21 リムーバブルメディア, 31 コード進行解析部, 41 特徴量抽出部, 42 コード類似度算出部, 43 楽曲検索部, 51 コード同時出現確率抽出部, 52 コード遷移先確率抽出部, 53 コード遷移元確率抽出部, 61 コード進行同時出現確率抽出部, 62 コード進行遷移先確率抽出部, 63 コード進行遷移元確率抽出部

Claims (11)

  1. 楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量を抽出する抽出手段と、
    抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出手段と
    を備える情報処理装置。
  2. 前記抽出手段は、前記コードの共起関係または遷移関係を特徴量として抽出する
    請求項1の情報処理装置。
  3. 抽出された前記特徴量を記録する記録手段をさらに備え、
    前記算出手段は、記録されている前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する
    請求項1の情報処理装置。
  4. 前記算出手段は、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコードと、他のコードとの類似関係を算出する
    請求項1の情報処理装置。
  5. 前記抽出手段は、
    前記コード進行における、あるコードが同時に出現する確率を示す第1の確率を抽出する第1の特徴量抽出手段と、
    前記コード進行における、あるコードから他のコードに遷移する確率を示す第2の確率を抽出する第2の特徴量抽出手段と、
    前記コード進行における、他のコードからあるコードに遷移する確率を示す第3の確率を抽出する第3の特徴量抽出手段と
    を備え、
    前記算出手段は、抽出された前記コード進行を構成する各コードについての、前記第1の確率、前記第2の確率、および前記弟3の確率に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する
    請求項2の情報処理装置。
  6. 前記抽出手段は、
    前記コード進行における、あるコード進行が同時に出現する確率を示す第1の確率を抽出する第1の特徴量抽出手段と、
    前記コード進行における、あるコード進行から他のコードに遷移する確率を示す第2の確率を抽出する第2の特徴量抽出手段と、
    前記コード進行における、他のコードからあるコード進行に遷移する確率を示す第3の確率を抽出する第3の特徴量抽出手段と
    を備え、
    前記算出手段は、抽出された前記コード進行を構成する各コードについての、前記第1の確率、前記第2の確率、および前記弟3の確率に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する
    請求項2の情報処理装置。
  7. 前記算出手段は、抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、ユーザにより指示されたコード進行との類似度を、所定の演算により算出する
    請求項1の情報処理装置。
  8. 算出された前記類似度に基づいて、前記楽曲を検索する検索手段を備える
    請求項7の情報処理装置。
  9. 前記所定の演算は、前記特徴量によるベクトルの相関を用いて演算を行うベクトル相関である
    請求項7の情報処理装置。
  10. 楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量を抽出する抽出ステップと、
    抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出ステップと
    を含む情報処理方法。
  11. 楽曲の波形を解析することにより得られた前記楽曲のコード進行から、前記コード進行を構成するコードに関係する特徴量を抽出する抽出ステップと、
    抽出された前記特徴量に基づいて、前記コード進行を構成しているあるコード進行と、他のコード進行との類似関係を算出する算出ステップと
    をコンピュータに実行させるプログラム。
JP2006001519A 2006-01-06 2006-01-06 情報処理装置および方法、並びにプログラム Expired - Fee Related JP4650270B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006001519A JP4650270B2 (ja) 2006-01-06 2006-01-06 情報処理装置および方法、並びにプログラム
US12/160,121 US8008568B2 (en) 2006-01-06 2007-01-05 Information processing device and method, and recording medium
CN2007800020342A CN101366071B (zh) 2006-01-06 2007-01-05 信息处理设备和方法、以及记录介质
PCT/JP2007/050019 WO2007077993A1 (ja) 2006-01-06 2007-01-05 情報処理装置および方法、並びに記録媒体
EP07706366.7A EP1970891B1 (en) 2006-01-06 2007-01-05 Information processing device and method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006001519A JP4650270B2 (ja) 2006-01-06 2006-01-06 情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007183417A true JP2007183417A (ja) 2007-07-19
JP4650270B2 JP4650270B2 (ja) 2011-03-16

Family

ID=38228329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006001519A Expired - Fee Related JP4650270B2 (ja) 2006-01-06 2006-01-06 情報処理装置および方法、並びにプログラム

Country Status (5)

Country Link
US (1) US8008568B2 (ja)
EP (1) EP1970891B1 (ja)
JP (1) JP4650270B2 (ja)
CN (1) CN101366071B (ja)
WO (1) WO2007077993A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031402A1 (ja) 2007-09-05 2009-03-12 Sony Corporation 画像選択装置、画像選択方法、およびプログラム
JP2010054535A (ja) * 2008-08-26 2010-03-11 Kawai Musical Instr Mfg Co Ltd コード名検出装置及びコード名検出用コンピュータ・プログラム
JP2010122630A (ja) * 2008-11-21 2010-06-03 Sony Corp 情報処理装置、音声解析方法、及びプログラム
JP2010224243A (ja) * 2009-03-24 2010-10-07 Xing Inc カラオケ装置、カラオケ装置の制御方法、及びカラオケ装置の制御プログラム
JP2012150244A (ja) * 2011-01-19 2012-08-09 Yahoo Japan Corp 楽曲レコメンド装置、方法及びプログラム
US8443015B2 (en) 2008-10-03 2013-05-14 Sony Corporation Apparatus and method for providing content and content analysis results
US8492637B2 (en) 2010-11-12 2013-07-23 Sony Corporation Information processing apparatus, musical composition section extracting method, and program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014010275A (ja) * 2012-06-29 2014-01-20 Sony Corp 情報処理装置、情報処理方法及びプログラム
JP6233625B2 (ja) * 2012-11-16 2017-11-22 ソニー株式会社 音声処理装置および方法、並びにプログラム
EP2772904B1 (en) * 2013-02-27 2017-03-29 Yamaha Corporation Apparatus and method for detecting music chords and generation of accompaniment.
JP6040809B2 (ja) * 2013-03-14 2016-12-07 カシオ計算機株式会社 コード選択装置、自動伴奏装置、自動伴奏方法および自動伴奏プログラム
US8927846B2 (en) * 2013-03-15 2015-01-06 Exomens System and method for analysis and creation of music
WO2015140412A1 (en) * 2014-03-21 2015-09-24 Berggram Development Oy Method for adjusting the complexity of a chord in an electronic device
US9734810B2 (en) * 2015-09-23 2017-08-15 The Melodic Progression Institute LLC Automatic harmony generation system
JP6500870B2 (ja) * 2016-09-28 2019-04-17 カシオ計算機株式会社 コード解析装置、方法、及びプログラム
JP6500869B2 (ja) * 2016-09-28 2019-04-17 カシオ計算機株式会社 コード解析装置、方法、及びプログラム
CN111863030A (zh) * 2020-07-30 2020-10-30 广州酷狗计算机科技有限公司 音频检测方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290574A (ja) * 1993-03-31 1994-10-18 Victor Co Of Japan Ltd 楽曲検索装置
JP2000227795A (ja) * 1999-02-08 2000-08-15 Yamaha Corp コード進行検索装置および記憶媒体
JP2003330460A (ja) * 2002-05-01 2003-11-19 Fuji Xerox Co Ltd 少なくとも2つのオーディオ・ワークの比較方法、少なくとも2つのオーディオ・ワークの比較方法をコンピュータに実現させるためのプログラム、及び、オーディオ・ワークのビートスペクトルの決定方法
JP2004185432A (ja) * 2002-12-04 2004-07-02 Pioneer Electronic Corp 楽曲検索装置及び方法
JP2004233864A (ja) * 2003-01-31 2004-08-19 Yamaha Corp 演奏練習装置及びプログラム
JP2005156713A (ja) * 2003-11-21 2005-06-16 Pioneer Electronic Corp 楽曲自動分類装置及び方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4982643A (en) * 1987-12-24 1991-01-08 Casio Computer Co., Ltd. Automatic composer
US5852252A (en) * 1996-06-20 1998-12-22 Kawai Musical Instruments Manufacturing Co., Ltd. Chord progression input/modification device
CN1380642A (zh) * 2001-04-11 2002-11-20 华邦电子股份有限公司 跟唱学习评分装置及方法
JP4244133B2 (ja) 2002-11-29 2009-03-25 パイオニア株式会社 楽曲データ作成装置及び方法
JP4203308B2 (ja) * 2002-12-04 2008-12-24 パイオニア株式会社 楽曲構造検出装置及び方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290574A (ja) * 1993-03-31 1994-10-18 Victor Co Of Japan Ltd 楽曲検索装置
JP2000227795A (ja) * 1999-02-08 2000-08-15 Yamaha Corp コード進行検索装置および記憶媒体
JP2003330460A (ja) * 2002-05-01 2003-11-19 Fuji Xerox Co Ltd 少なくとも2つのオーディオ・ワークの比較方法、少なくとも2つのオーディオ・ワークの比較方法をコンピュータに実現させるためのプログラム、及び、オーディオ・ワークのビートスペクトルの決定方法
JP2004185432A (ja) * 2002-12-04 2004-07-02 Pioneer Electronic Corp 楽曲検索装置及び方法
JP2004233864A (ja) * 2003-01-31 2004-08-19 Yamaha Corp 演奏練習装置及びプログラム
JP2005156713A (ja) * 2003-11-21 2005-06-16 Pioneer Electronic Corp 楽曲自動分類装置及び方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009031402A1 (ja) 2007-09-05 2009-03-12 Sony Corporation 画像選択装置、画像選択方法、およびプログラム
JP2010054535A (ja) * 2008-08-26 2010-03-11 Kawai Musical Instr Mfg Co Ltd コード名検出装置及びコード名検出用コンピュータ・プログラム
US8443015B2 (en) 2008-10-03 2013-05-14 Sony Corporation Apparatus and method for providing content and content analysis results
JP2010122630A (ja) * 2008-11-21 2010-06-03 Sony Corp 情報処理装置、音声解析方法、及びプログラム
JP2010224243A (ja) * 2009-03-24 2010-10-07 Xing Inc カラオケ装置、カラオケ装置の制御方法、及びカラオケ装置の制御プログラム
US8492637B2 (en) 2010-11-12 2013-07-23 Sony Corporation Information processing apparatus, musical composition section extracting method, and program
JP2012150244A (ja) * 2011-01-19 2012-08-09 Yahoo Japan Corp 楽曲レコメンド装置、方法及びプログラム

Also Published As

Publication number Publication date
WO2007077993A1 (ja) 2007-07-12
EP1970891A1 (en) 2008-09-17
EP1970891B1 (en) 2013-11-20
JP4650270B2 (ja) 2011-03-16
CN101366071A (zh) 2009-02-11
EP1970891A4 (en) 2011-07-20
US20090151547A1 (en) 2009-06-18
CN101366071B (zh) 2013-05-15
US8008568B2 (en) 2011-08-30

Similar Documents

Publication Publication Date Title
JP4650270B2 (ja) 情報処理装置および方法、並びにプログラム
Holzapfel et al. Selective sampling for beat tracking evaluation
US11475867B2 (en) Method, system, and computer-readable medium for creating song mashups
JP4179341B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
Srinivasamurthy et al. In search of automatic rhythm analysis methods for turkish and indian art music
US7593937B2 (en) Apparatus, medium, and method clustering audio files
CN101438342A (zh) 用于对准歌曲与它的歌词的方法和电子设备
JP6151121B2 (ja) コード進行推定検出装置及びコード進行推定検出プログラム
JP2009015535A (ja) 類似音楽検索装置、類似音楽検索方法、類似音楽検索プログラム及びコンピュータで読み取り可能な記録媒体
JP5196550B2 (ja) コード検出装置およびコード検出プログラム
Ramires et al. The freesound loop dataset and annotation tool
Gurjar et al. Comparative Analysis of Music Similarity Measures in Music Information Retrieval Systems.
JP4399958B2 (ja) 演奏支援装置および演奏支援方法
CN111863030A (zh) 音频检测方法及装置
JP5085577B2 (ja) プレイリスト作成装置、楽曲再生装置、プレイリスト作成方法およびプレイリスト作成プログラム
Fan et al. Music similarity model based on CRP fusion and Multi-Kernel Integration
Huang et al. A repeating pattern based Query-by-Humming fuzzy system for polyphonic melody retrieval
Risk et al. Melodic Similarity in Traditional French-Canadian Instrumental Dance Tunes.
Sarfati et al. Ensemble-based cover song detection
Poojary et al. Automatic tonic identification in Indian art music
JP2012159717A (ja) 楽曲データの変化点検出装置、楽曲データの変化点検出方法及び楽曲データの変化点検出プログラム
Arentz et al. Retrieving musical information based on rhythm and pitch correlations
KR102476120B1 (ko) 인공신경망을 이용하여 음악의 속성을 교차 비교하는 음악 분석 방법 및 장치
JP2019008477A (ja) 判別プログラム、判別装置及び判別方法
KR101302568B1 (ko) 허밍 질의 기반 음원 검색 고속화 시스템 및 그 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101116

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101129

R151 Written notification of patent or utility model registration

Ref document number: 4650270

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees