以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明に係る楽曲検索システムの実施の形態の構成を示すブロック図であり、図2は、図1に示す携帯端末装置の構成を示す前面図であり、図3は、図1に示す楽曲登録装置に用いられるニューラルネットワークを事前に学習させるニューラルネットワーク学習装置の構成を示すブロック図である。
本実施の形態は、図1を参照すると、楽曲登録装置10と、携帯端末装置30とがUSB等のデータ伝送路23で接続されており、携帯端末装置30は、楽曲登録装置10から切り離して携帯することができる構成となっている。
楽曲登録装置10は、パーソナルコンピュータ等のプログラム制御で動作する情報処理装置であり、図1を参照すると、楽曲データ入力部11と、圧縮処理部12と、特徴データ抽出部13と、印象度データ変換部14と、楽曲データベース15と、楽曲マッピング部16と、楽曲マップ記憶部17と、楽曲検索部18と、PC操作部19と、PC表示部20と、送受信部21と、音声出力部22とからなる。
楽曲データ入力部11は、CD、DVD等の楽曲データが記憶されている記憶媒体を読み取る機能を有し、CD、DVD等の記憶媒体から楽曲データを入力し、圧縮処理部12および特徴データ抽出部13に出力する。CD、DVD等の記憶媒体以外にインターネット等のネットワークを経由した楽曲データ(配信データ)を入力するように構成しても良い。なお、圧縮された楽曲データが入力される場合には、圧縮された楽曲データを伸長して特徴データ抽出部13に出力する。
圧縮処理部12は、楽曲登録時には、楽曲データ入力部11から入力された楽曲データをMP3やATRAC(Adaptive Transform Acoustic Coding )等の圧縮形式で圧縮し、圧縮した楽曲データを、アーティスト名、曲名等の書誌データと共に楽曲データベース15に記憶させる。
特徴データ抽出部13は、楽曲データ入力部11から入力された楽曲データから、ゆらぎ情報からなる特徴データを抽出し、抽出した特徴データを印象度データ変換部14に出力する。
印象度データ変換部14は、予め学習が施された階層型ニューラルネットワークを用いて、特徴データ抽出部13から入力された特徴データを、人間の感性によって判断される印象度データに変換し、変換した印象度データを楽曲マッピング部16に出力すると共に、特徴データ抽出部13から入力された特徴データと変換した印象度データとを楽曲データに関連づけて楽曲データベース15に登録する。
楽曲データベース15は、HDD等の大容量の記憶手段であり、圧縮処理部12によって圧縮された楽曲データ、書誌データと、特徴データ抽出部13によって抽出された特徴データと、印象度データ変換部14によって変換された印象度データとが関連づけられて記憶される。
楽曲マッピング部16は、印象度データ変換部14から入力された印象度データに基づいて、任意空間である楽曲マップに楽曲データをマッピングし、楽曲データをマッピングした楽曲マップを楽曲マップ記憶部17に記憶させると共に、楽曲マップにマッピングされた楽曲データを検索するための検索テーブルを作成し、作成した検索テーブルを楽曲データベース15に記憶させる。
楽曲マップ記憶部17は、HDD等の大容量の記憶手段であり、楽曲マッピング部16によって楽曲データがマッピングされた楽曲マップが記憶される。
楽曲検索部18は、PC操作部19から書誌データに基づいて楽曲データベース15を検索し、当該検索結果をPC表示部20に表示すると共に、PC操作部19によって選択された代表曲に基づいて楽曲マップ記憶部17を検索し、当該代表曲検索結果をPC表示部20に表示すると共に検索リストとして楽曲データベース15に記憶させる。
PC操作部19は、キーボードやマウス等の入力手段であり、楽曲データベース15および楽曲マップ記憶部17に記憶されている楽曲データを検索する検索条件の入力、携帯端末装置30に出力する楽曲データを選択する入力が行われる。
PC表示部20は、例えば液晶ディスプレイ等の表示手段であり、楽曲マップ記憶部17に記憶されている楽曲データのマッピング状況の表示、楽曲データベース15および楽曲マップ記憶部17に記憶されている楽曲データを検索する検索条件の表示、検索された楽曲データ(検索結果)の表示等が行われる。
送受信部21は、携帯端末装置30の送受信部31との間をUSB等のデータ伝送路23で接続可能に構成されており、楽曲データベース15に記憶されている楽曲データと、当該楽曲データに対応する印象度データおよび楽曲マップにおけるニューロンの座標と、検索テーブルと、検索リストとを携帯端末装置30の送受信部31に出力する。
音声出力部22は、楽曲データベース15に記憶されている楽曲データを伸長して再生するオーディオプレーヤである。
携帯端末装置30は、HDD等の大容量の記憶手段を有するポータブルオーディオ等の音声再生装置であり、図1を参照すると、送受信部31と、端末楽曲データベース32と、楽曲検索部33と、端末操作部34、端末表示部35と、音声出力部36とからなる。
送受信部31は、楽曲登録装置10の送受信部21との間をUSB等のデータ伝送路23で接続可能に構成されており、楽曲登録装置10の送受信部21から入力された楽曲データを端末楽曲データベース32に記憶させる。
端末楽曲データベース32は、HDD等の大容量の記憶手段であり、楽曲データベース15に記憶されている楽曲データと、当該楽曲データに対応する印象度データおよび楽曲マップにおけるニューロンの座標と、検索テーブルと、検索リストとが記憶される。
楽曲検索部33は、端末操作部34から書誌データに基づいて端末楽曲データベース32を検索し、当該検索結果を端末表示部35に表示すると共に、端末操作部34によって特定された代表曲に基づいて検索テーブルを検索し、当該検索結果を端末表示部35に表示する。
端末操作部34は、楽曲データの再生に係る入力が行われる入力手段であり、図2を参照すると、再生する楽曲データの選択する入力、検索方法を選択する入力、ボリュームコントロールの入力等を行う十字キー341と、選択された楽曲データの出力を指示する入力、選択された検索方法の実行を指示する入力等を行う決定キー342からなる。
端末表示部35は、例えば液晶ディスプレイ等の表示手段であり、端末楽曲データベース32に記憶されている楽曲データを検索する検索条件の表示、検索された楽曲データ(検索結果)の表示等が行われる。
音声出力部36は、端末楽曲データベース32に圧縮されて記憶されている楽曲データを伸長して再生するオーディオプレーヤである。
ニューラルネットワーク学習装置40は、印象度データ変換部14で用いられる階層型ニューラルネットワークと、楽曲マッピング部16で用いられる楽曲マップとの学習を行う装置であり、図3を参照すると、楽曲データ入力部41と、音声出力部42と、特徴データ抽出部43と、印象度データ入力部44と、結合重み値学習部45と、楽曲マップ学習部46と、結合重み値出力部47と、特徴ベクトル出力部48とからなる。
楽曲データ入力部41は、CD、DVD等の楽曲データが記憶されている記憶媒体を読み取る機能を有し、CD、DVD等の記憶媒体から楽曲データを入力し、音声出力部42および特徴データ抽出部43に出力する。CD、DVD等の記憶媒体以外にインターネット等のネットワークを経由した楽曲データ(配信データ)を入力するように構成しても良い。なお、圧縮された楽曲データが入力される場合には、圧縮された楽曲データを伸長して音声出力部42および特徴データ抽出部43に出力する。
音声出力部42は、楽曲データ入力部41から入力された楽曲データを伸長して再生するオーディオプレーヤである。
特徴データ抽出部43は、楽曲データ入力部41から入力された楽曲データから、ゆらぎ情報からなる特徴データを抽出し、抽出した特徴データを結合重み値学習部45に出力する。
印象度データ入力部44は、音声出力部42からの音声出力に基づく、評価者による印象度データの入力を受け付け、受け付けた印象度データを、階層型ニューラルネットワークの学習に用いる教師信号として結合重み値学習部45に出力すると共に自己組織化マップへの入力ベクトルとして楽曲マップ学習部46に出力する。
結合重み値学習部45は、特徴データ抽出部43から入力された特徴データと、印象度データ入力部44から入力された印象度データとに基づいて階層型ニューラルネットワークに学習を施し、各ニューロンの結合重み値を更新し、結合重み値出力部47を介して更新した結合重み値を出力する。学習が施された階層型ニューラルネットワーク(更新された結合重み値)は、楽曲登録装置10の印象度データ変換部14に移植される。
楽曲マップ学習部46は、印象度データ入力部44から入力された印象度データを自己組織化マップへの入力ベクトルとして自己組織化マップに学習を施し、各ニューロンの特徴ベクトルを更新し、特徴ベクトル出力部48を介して更新した特徴ベクトルを出力する。学習が施された自己組織化マップ(更新された特徴ベクトル)は、楽曲マップとして楽曲登録装置10の楽曲マップ記憶部17に記憶される。
まず、楽曲登録装置10における楽曲登録動作について図4乃至図9を参照して詳細に説明する。
図4は、図1に示す楽曲登録装置における楽曲登録動作を説明するためのフローチャートであり、図5は、図1に示す特徴データ抽出部における特徴データ抽出動作を説明するためのフローチャートであり、図6は、図1に示す特徴データ抽出部におけるテンポ決定動作を説明するためのフローチャートであり、図7は、図1に示す印象度データ変換部で用いられる階層型ニューラルネットワーク例を示す説明図であり、図8は、図1に示す楽曲マッピング部が楽曲データをマッピングする楽曲マップ例を示す説明図であり、図9は、図1に示す楽曲データベースに記憶される検索テーブル例を示す図である。
楽曲データ入力部11にCD、DVD等の楽曲データが記憶されている記憶媒体をセットし、楽曲データ入力部11から楽曲データを入力する(ステップA1)。
圧縮処理部12は、楽曲データ入力部11から入力された楽曲データを圧縮し(ステップA2)、圧縮した楽曲データを、アーティスト名、曲名等の書誌データと共に楽曲データベース15に記憶させる(ステップA3)。
特徴データ抽出部13は、楽曲データ入力部11から入力された楽曲データから、ゆらぎ情報からなる特徴データを抽出する(ステップA4)。
特徴データ抽出部13における特徴データの抽出動作は、図4乃至図6を参照すると、楽曲データ入力部11にCDプレーヤ等の楽曲再生装置やインターネット等のネットワークから楽曲データが入力されると(ステップB1)、楽曲データ入力部11は、高速化を目的とし、楽曲データ入力部11に入力された楽曲データを44.1kHzから22.05kHzにダウンサンプリングし、ダウンサンプリングした楽曲データを特徴データ抽出部13に出力する。
次に、特徴データ抽出部13は、楽曲データの予め定められたデータ解析開始点(楽曲の先頭から30s)から一定のフレーム長に対してのFFT処理を行い、パワースペクトルを算出する(ステップB2)。なお、本実施の形態においては、特徴データの1つである楽曲のテンポとしてテンポの周期を抽出し、テンポの周期が0.3〜1sの範囲にあることを想定し、サンプリング周期が22.05kHzである楽曲データに対して1024ポイントのFFT処理を行うように構成した。すなわち、FFT処理を行うフレーム長を、1024/22.05kHz≒46msとし、想定した楽曲におけるテンポの周期の最小値よりも短い値としている。
次に、特徴データ抽出部13は、Low(0〜200Hz)、Middle(200〜600Hz)、High(600〜11050Hz)の周波数帯域を予め設定しておき、Low、Middle、Highの3帯域のパワースペクトルを積分し、平均パワーを算出し(ステップB3)、ステップB2〜ステップB3の処理動作を行ったフレーム個数が予め定められた設定値(2048)に達したか否かを判断し(ステップB4)、ステップB2〜ステップB3の処理動作を行ったフレーム個数が予め定められた設定値に達していない場合には、データ解析開始点をシフトしながら(ステップB5)、ステップB2〜ステップB3の処理動作を繰り返す。これにより、ステップB2〜ステップB3の処理動作は、予め定められたフレーム個数の設定値分行われることになり、Low、Middle、High3帯域の平均パワーの時系列データをそれぞれ求めることができる。なお、本実施の形態では、解析時間長を60sとし、データ解析開始点を60s*22.05kHz/2048≒646ポイントずつシフトしながらFFT処理を行い、2048ポイント、60sの平均パワーの時系列データを作成するように構成した。
次に、特徴データ抽出部13は、ステップB2〜ステップB5の処理動作によって算出したLow、Middle、Highの平均パワーの時系列データに対しそれぞれFFTを行い、ゆらぎ情報を算出する(ステップB6)。なお、本実施の形態では、平均パワーの時系列データに対して2048ポイントのFFT処理を行うように構成した。
次に、特徴データ抽出部13は、Low、Middle、HighにおけるFFT分析結果から、横軸を対数周波数、縦軸を対数パワースペクトルとしたグラフにおける近似直線を最小2乗法等によって算出し(ステップB7)、近似直線の傾きと、近似直線のY切片とを求め(ステップB8)、Low、Middle、Highのそれぞれにおける近似直線の傾きおよびY切片を特徴データとして抽出する。
また、特徴データ抽出部13は、LowにおけるFFT分析結果において、ステップB6で算出されたゆらぎ情報と、ステップB7で算出された算出された近似直線との差分を差分情報として算出し(ステップB9)、予め定められたロジックに基づいて算出した差分情報を解析することで、テンポの周期を決定し(ステップB10)、決定したテンポを特徴データとして抽出し、Low、Middle、Highのそれぞれにおける近似直線の傾きおよびY切片と共に印象度データ変換部14に出力する。
なお、特徴データ抽出部13におけるテンポ決定動作は、図6を参照すると、ステップB9で算出された差分情報を解析することで、まず、周期0.3〜2sにおいて近似直線と1.25dB以上離れている成分があるか否か、すなわち周波数1/0.3〜1/2Hzの範囲内に近似直線と1.25dB以上離れている周波数成分があるか否かを判断し(ステップC1)、近似直線と1.25dB以上離れている周波数成分がある場合には、近似直線と1.25dB以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Aとする(ステップC2)。
次に、特徴データ抽出部13は、候補Aが1s以上か否かを判断し(ステップC3)、候補Aが1s以上である場合には、候補A/2をテンポの周期として決定すると共に(ステップC4)、候補Aが1s以上でない場合には、候補Aをテンポの周期として決定する(ステップC5)。
ステップC1で近似直線と1.25dB以上離れている周波数成分がない場合には、特徴データ抽出部13は、周期0.3〜2sにおいて近似直線と0.7dB以上離れている成分があるか否か、すなわち周波数1/0.3〜1/2Hzの範囲内に近似直線と0.7dB以上離れている周波数成分があるか否かを判断し(ステップC6)、近似直線と0.7dB以上離れている周波数成分がある場合には、近似直線と0.7dB以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Aとする(ステップC7)。
次に、特徴データ抽出部13は、候補Aが1s以上か否かを判断し(ステップC8)、候補Aが1s以上である場合には、候補A/2をテンポの周期として決定すると共に(ステップC9)、候補Aが1s以上でない場合には、候補Aが0.6s以上か否かを判断する(ステップC10)。候補Aが0.6s以上である場合には、候補A以外に近似直線と0.7dB以上離れている周波数成分が2つ以上あるか否かを判断し(ステップC11)、候補A以外に近似直線と0.7dB以上離れている周波数成分が2つ以上ある場合には、候補A/2をテンポの周期として決定する(ステップC9)。ステップC10で候補Aが0.6s以上でない場合と、ステップC11で候補A以外に近似直線と0.7dB以上離れている周波数成分が2つ以上ない場合には、候補Aをテンポの周期として決定する(ステップC12)。
ステップC11で近似直線と0.7dB以上離れている周波数成分がない場合には、特徴データ抽出部13は、周期0.3〜2sにおいて近似直線と0.6dB以上離れている成分があるか否か、すなわち周波数1/0.3〜1/2Hzの範囲内に近似直線と0.6dB以上離れている周波数成分があるか否かを判断し(ステップC13)、近似直線と0.6dB以上離れている周波数成分がある場合には、近似直線と0.6dB以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Aとする(ステップC7)。
次に、特徴データ抽出部13は、候補Aが1s以上か否かを判断し(ステップC8)、候補Aが1s以上である場合には、候補A/2をテンポの周期として決定すると共に(ステップC9)、候補Aが1s以上でない場合には、候補Aが0.6s以上か否かを判断する(ステップC10)。候補Aが0.6s以上である場合には、候補A以外に近似直線と0.6dB以上離れている周波数成分が2つ以上あるか否かを判断し(ステップC11)、候補A以外に近似直線と0.6dB以上離れている周波数成分が2つ以上ある場合には、候補A/2をテンポの周期として決定し(ステップC9)、ステップC10で候補Aが0.6s以上でない場合と、ステップC11で候補A以外に近似直線と0.6B以上離れている周波数成分が2つ以上ない場合には、候補Aをテンポの周期として決定する(ステップC12)。
ステップC13で近似直線と0.6dB以上離れている周波数成分がない場合には、特徴データ抽出部13は、周期3〜4sにおいて近似直線と0.6dB以上離れている成分があるか否か、すなわち周波数1/3〜1/4Hzの範囲内に近似直線と0.6dB以上離れている周波数成分があるか否かを判断し(ステップC14)、近似直線と0.6dB以上離れている周波数成分がある場合には、近似直線と0.6dB以上離れている周波数成分の内、最も周期が長い周波数成分の周期を候補Aとし(ステップC15)、候補A/4をテンポの周期として決定する(ステップC16)。
ステップC14で近似直線と0.6dB以上離れている周波数成分がない場合には、特徴データ抽出部13は、周期0.1〜0.3sにおいて近似直線と0.7dB以上離れている成分があるか否か、すなわち周波数1/0.1〜1/0.3Hzの範囲内に近似直線と0.7dB以上離れている周波数成分があるか否かを判断し(ステップC17)、近似直線と0.7dB以上離れている周波数成分がない場合には、1sをテンポの周期として決定すると共に(ステップC18)、近似直線と0.7dB以上離れている周波数成分がある場合には、0.3sをテンポの周期として決定する(ステップC19)。
なお、本実施の形態では、楽曲のテンポとしてテンポの周期を抽出するように構成したが、一般にテンポを表す単位として用いられているBPM(beat per minutes)に換算するようにしても良く、さらにテンポの周期を一定の加工方法で加工するようにしても良い。
次に、図4を参照すると、印象度データ変換部14は、図7に示すような入力層(第1層)、中間層(第n層)、出力層(第N層)からなる階層型ニューラルネットワークを用い、入力層(第1層)に特徴データ抽出部13で抽出された特徴データを入力することによって、出力層(第N層)から印象度データを出力、すなわち特徴データを印象度データに変換し(ステップA5)、出力層(第N層)から出力された印象度データを、楽曲マッピング部16に出力すると共に、特徴データ抽出部13から入力された特徴データと、出力層(第N層)から出力された印象度データとを、楽曲データと共に楽曲データベース15に記憶させる。なお、中間層(第n層)の各ニューロンの結合重み値wは、評価者によって予め学習が施されている。また、本実施の形態の場合には、入力層(第1層)に入力される特徴データ、すなわち特徴データ抽出部13によって抽出される特徴データの項目は、前述のようにLow、Middle、Highのそれぞれにおける近似直線の傾きおよびY切片と、テンポとの7項目であり、印象度データの評価項目としては、人間の感性によって判断される「明るい、暗い」、「澄んだ、にごった」、「激しい、穏やか」の3項目を設定し、各評価項目を7段階評価で表すように設定した。従って、入力層(第1層)のニューロン数L1は、7個、出力層(第N層)のニューロン数LNは、3個となっており、中間層(第n層:n=2,…,N−1)のニューロン数Lnは、適宜設定されている。
楽曲マッピング部16は、楽曲データ入力部11から入力された楽曲データを楽曲マップ記憶部17に記憶されている楽曲マップの該当箇所にマッピングする(ステップA6)。楽曲マッピング部16におけるマッピング動作に用いられる任意空間である楽曲マップは、複数の部分空間に分割されており、楽曲データは、複数の部分空間のいずれかに配置される。楽曲マップとしては、例えばニューロンが2次元に規則的に配置(図8に示す例では、9*9の正方形)されている自己組織化マップ(SOM)を用いることができ、この場合には、ニューロンが複数の部分空間に対応する。
本実施の形態では、楽曲マップとしてニューロンが100*100の正方形に配列された2次元SOMを使用し、楽曲マップの各ニューロンには、(1,1)〜(100,100)の座標が付与され、座標によりニューロン間の距離が認識できるように構成されており、楽曲マッピング部16は、楽曲マップにマッピングされた楽曲データを検索するための検索テーブルを作成し、作成した検索テーブルを楽曲データベース15に記憶させると共に、楽曲データが配置されたニューロンの座標を楽曲データと共に楽曲データベース15に記憶させる。検索テーブルは、該当するニューロンを検索し、検索されたニューロンに配置されている楽曲データを特定するためのものであり、図9に示すように、楽曲マップにおける各ニューロンの座標と、各ニューロンに配置されている楽曲データ(楽曲データを特定する番号等)とからなる。なお、本実施の形態では、楽曲マップとしてニューロンが正方形に配列された2次元SOMを用いたが、ニューロンの配列は、長方形であっても、蜂の巣であっても良く、さらに3次元SOMを用いるようにしても良い。
また、楽曲マッピング部16におけるマッピング動作に用いられる楽曲マップは、予め学習が施されており、各ニューロンには、予め学習されたn次元の特徴ベクトルmi(t)∈Rnが付与されており、楽曲マッピング部16は、印象度データ変換部14によって変換された印象度データと、特徴データ抽出部13によって抽出されたテンポとを入力ベクトルxjとし、入力ベクトルxjに最も近いニューロン、すなわちユークリッド距離‖xj−mi‖を最小にするニューロンに、入力された楽曲データを配置し、楽曲データがマッピングされた楽曲マップを楽曲マップ記憶部17に記憶させる。なお、Rは、印象度データの各評価項目の評価段階数を示し、nは、印象度データの項目数を示す。
次に、印象度データ変換部14における変換動作(ステップA5)に用いられる階層型ニューラルネットワークの学習動作について図10を参照して詳細に説明する。
図10は、図2に示すニューラルネットワーク学習装置における階層型ニューラルネットワークの学習動作を説明するためのフローチャートである。
評価者による階層型ニューラルネットワーク(結合重み値w)の学習は、例えば、図2に示すニューラルネットワーク学習装置40を用いて行われ、まず、階層型ニューラルネットワーク(結合重み値w)を事前学習させるための事前学習データ(楽曲データの特徴データ+印象度データ)の入力が行われる。
楽曲データ入力部41にCD、DVD等の楽曲データが記憶されている記憶媒体をセットし、楽曲データ入力部41から楽曲データを入力し(ステップD1)、特徴データ抽出部43は、楽曲データ入力部41から入力された楽曲データから特徴データを抽出する(ステップD2)。なお、特徴データ抽出部43によって抽出する特徴データは、楽曲登録装置10の特徴データ抽出部13で抽出する特徴データと同一である。
また、音声出力部42は、楽曲データ入力部41から入力された楽曲データを音声出力し(ステップD3)、評価者は、音声出力部42からの音声出力を聞くことによって、楽曲の印象度を感性によって評価し、評価結果を印象度データとして印象度データ入力部44から入力し(ステップD4)、結合重み値学習部45は、印象度データ入力部44から入力された印象度データを教師信号として受け付ける。なお、本実施の形態では、印象度の評価項目としては、人間の感性によって判断される「明るい、暗い」、「澄んだ、にごった」、「激しい、穏やか」の3項目を設定し、各評価項目についての7段階評価を印象度データとして印象度データ入力部44で受け付けるように構成した。
次に、特徴データと入力された印象度データとからなる学習データが予め定められたサンプル数T1に達したか否かを判断し(ステップD5)、学習データがサンプル数T1に達するまでステップD1〜ステップD4の動作が繰り返される。
結合重み値学習部45における階層型ニューラルネットワークの学習、すなわち各ニューロンの結合重み値wの更新は、誤差逆伝播学習法を用いて行う。
まず、初期値として、中間層(第n層)の全てのニューロンの結合重み値wを乱数によって−0.1〜0.1程度の範囲の小さな値に設定しておき、結合重み値学習部45は、特徴データ抽出部43によって抽出された特徴データを入力信号xj(j=1,2,…,8) として入力層(第1層)に入力し、入力層(第1層)から出力層(第N層)に向けて、各ニューロンの出力を計算する。
次に、結合重み値学習部45は、印象度データ入力部44から入力された印象度データを教師信号yj(j=1,2,…,8) とし、出力層(第N層)の出力outj Nと、教師信号yjとの誤差から、学習則δj Nを次式によって計算する。
次に、結合重み値学習部45は、学習則δj Nを使って、中間層(第n層)の誤差信号 δj n を次式によって計算する。
なお、数式2において、wは、第 n 層 j 番目と第 n -1 層k番目のニューロンの間の結合重み値を表している。
次に、結合重み値学習部45は、中間層(第n層)の誤差信号 δj n を用いて各ニューロンの結合重み値wの変化量Δwを次式によって計算し、各ニューロンの結合重み値wを更新する(ステップD6)。なお、次式において、ηは、学習率を表し、評価者による学習では、η1(0<η1≦1)に設定されている。
ステップD6では、サンプル数T1の事前学習データのそれぞれについて学習が行われ、次に、次式に示す2乗誤差Eが予め定められた事前学習用の基準値E1よりも小さいか否かが判断され(ステップD7)、2乗誤差Eが基準値E1よりも小さくなるまでステップD6の動作が繰り返される。なお、2乗誤差Eが基準値E1よりも小さくなると想定される学習反復回数Sを予め設定しておき、ステップD6の動作を学習反復回数S回繰り返すようにしても良い。
ステップD7で2乗誤差Eが基準値E1よりも小さいと判断された場合には、結合重み値学習部45は、事前学習させた各ニューロンの結合重み値wを結合重み値出力部47によって出力し(ステップD8)、結合重み値出力部47から出力された各ニューロンの結合重み値wは、印象度データ変換部14に記憶される。
次に、楽曲マッピング部16におけるマッピング動作(ステップA6)に用いられる楽曲マップの学習動作について図11を参照して詳細に説明する。
図11は、図2に示すニューラルネットワーク学習装置における楽曲マップの学習動作を説明するためのフローチャートある。
楽曲データ入力部41にCD、DVD等の楽曲データが記憶されている記憶媒体をセットし、楽曲データ入力部41から楽曲データを入力し(ステップE1)、特徴データ抽出部43は、楽曲データ入力部41から入力された楽曲データから特徴データとしてテンポを抽出し(ステップE2)、抽出したテンポを楽曲マップ学習部46に出力する。なお、特徴データ抽出部43によって抽出するテンポは、楽曲登録装置10の特徴データ抽出部13で抽出するテンポと同一である。
次に、音声出力部42は、楽曲データ入力部41から入力された楽曲データを音声出力し(ステップE3)、評価者は、音声出力部42からの音声出力を聞くことによって、楽曲の印象度を感性によって評価し、評価結果を印象度データとして印象度データ入力部44から入力する(ステップE4)。
楽曲マップ学習部46は、特徴データ抽出部43から入力されたテンポと、印象度データ入力部44から入力された印象度データとを自己組織化マップへの入力ベクトルとして受け付ける。なお、本実施の形態では、印象度の評価項目としては、人間の感性によって判断される「明るい、暗い」、「澄んだ、にごった」、「激しい、穏やか」の3項目を設定し、各評価項目についての7段階評価を印象度データとして印象度データ入力部44で受け付けるように構成した。
楽曲マップ学習部46は、特徴データ抽出部43から入力されたテンポと、印象度データ入力部44から入力された印象度データとを入力ベクトルxj(t)∈Rnとし、各ニューロンの特徴ベクトルmi(t)∈Rnを学習させる。なお、tは、学習回数を表し、学習回数を定める設定値Tを予め設定しておき、学習回数t=0,1,…,Tについて学習を行わせる。なお、Rは、各評価項目の評価段階を示し、nは、印象度データの項目数を示す。
まず、初期値として、全てのニューロンの特徴ベクトルmc(0)をそれぞれ0〜1の範囲でランダムに設定しておき、楽曲マップ学習部46は、xj(t)に最も近いニューロンc、すなわち‖xj(t)−mc(t)‖を最小にする勝者ニューロンcを求め、勝者ニューロンcの特徴ベクトルmc(t)と、勝者ニューロンcの近傍にある近傍ニューロンiの集合Ncのそれぞれの特徴ベクトルmi(t)(i∈Nc)とを、次式に従ってそれぞれ更新する(ステップE5)。なお、近傍ニューロンiを決定するための近傍半径は、予め設定されているものとする。
なお、数式5において、hci(t)は、学習率を表し、次式によって求められる。
なお、αinitは学習率の初期値であり、R2(t)は、単調減少する一次関数もしくは指数関数が用いられる。
次に、楽曲マップ学習部46は、学習回数tが設定値Tに達したか否かを判断し(ステップE6)、学習回数tが設定値Tに達するまでステップE1〜ステップE5の処理動作を繰り返し、学習回数tが設定値Tに達すると、再び最初のサンプルから同じ処理動作を行う。この反復回数が予め定められたS回になった時点で、特徴ベクトル出力部48を介して学習させた特徴ベクトルmi(T)∈Rnを出力する(ステップE7)。出力された各ニューロンiの特徴ベクトルmi(T)は、楽曲登録装置10の楽曲マップ記憶部17に楽曲マップとして記憶される。
次に、楽曲登録装置10における楽曲検索動作について図12乃至図17を参照して詳細に説明する。
図12は、図1に示す楽曲登録装置における楽曲検索動作を説明するためのフローチャートであり、図13は、図1に示すPC表示部に表示される検索条件入力画面例を示す図であり、図14は、図1に示すPC表示部に表示される条件検索結果表示画面例を示す図であり、図15は、図1に示すPC表示部に表示される代表曲検索結果表示画面例を示す図であり、図16は、図1に示すPC表示部に表示される楽曲リスト表示画面例を示す図であり、図17は、図1に示すPC表示部に表示される楽曲マップ表示画面例を示す図である。
楽曲検索部18は、PC表示部20に、検索条件を入力する検索条件入力画面51を表示し、PC操作部19からのユーザ入力を受け付ける。検索条件入力画面51は、図13に示すように、検索条件として書誌データを入力する書誌データ入力領域511と、検索の実行を指示する条件検索実行ボタン512と、全曲リスト表示ボタン513と、楽曲マップ表示ボタン514とからなり、ユーザは、検索条件として書誌データをPC操作部19から入力し(ステップF1)、条件検索実行ボタン512をクリックすることで、書誌データに基づく検索を楽曲検索部18に指示する。
楽曲検索部18は、PC操作部19から入力された書誌データに基づいて楽曲データベース15を検索し(ステップF2)、条件検索結果を表示する条件検索結果表示画面52をPC表示部20に表示させる(ステップF3)。条件検索結果表示画面52は、図14を参照すると、条件検索結果の中から代表曲を選択する代表曲選択領域521と、選択された代表曲に基づく検索を指示する代表曲検索実行ボタン522と、条件検索結果を検索リストとして登録する登録ボタン523とからなる。なお、代表曲検索とは、代表曲として特定した楽曲データと近い印象を持つ楽曲データを検索するものであり、ユーザが似たような楽曲を試聴したい場合に用いられる。
次に、ユーザは、代表曲選択領域521に表示されている検索結果の中から代表曲を選択し(ステップF4)、代表曲検索実行ボタン522をクリックすることで、代表曲に基づく検索を楽曲検索部18に指示する。なお、この時点で登録ボタン523がクリックされた場合には、楽曲検索部18は、代表曲選択領域521に表示されている条件検索結果を検索リストとして楽曲データベース15に記憶させる。
楽曲検索部18は、選択された代表曲に基づいて楽曲データベース15を検索することで、楽曲マップにおいて代表曲が配置されているニューロン(以下、代表ニューロンと称す)の座標を特定する(ステップF5)。
次に、楽曲検索部18は、変数nに0を設定し(ステップF6)、楽曲マップ記憶部17に記憶されている図9に示す検索テーブルを参照することで、ステップF5で特定した代表ニューロンから距離nのニューロンに配置されている楽曲データを検索し(ステップF7)、検索された楽曲数が予め定められた検索数以上であるか否かを判断する(ステップF8)。
ステップF8で検索された楽曲数が予め定められた検索数未満である場合には、楽曲検索部18は、変数nをインクリメントし(ステップF9)、ステップF7に戻り、検索された楽曲数が予め定められた検索数以上になるまでステップF7およびステップF8を繰り返す。
ステップF8で検索された楽曲数が予め定められた検索数以上である場合には、楽曲検索部18は、検索された楽曲データを予め定められた検索数まで絞り込んだ後(ステップF10)、絞り込んだ楽曲データを代表曲検索結果として代表曲検索結果表示画面53をPC表示部20に表示する(ステップF11)。代表曲検索結果表示画面53は、図15を参照すると、出力する楽曲データを選択する出力楽曲選択領域531と、選択された楽曲データの出力を指示する出力ボタン532とからなる。
ステップF10における検索された楽曲データの絞り込みは、代表ニューロンの特徴ベクトルもしくは代表曲の印象度データ変換部14によって変換された印象度データを入力ベクトルxjとし、検索された楽曲データの印象度データを検索対象ベクトルXjとすると、入力ベクトルxjに近い検索対象ベクトルXj、すなわちユークリッド距離‖Xj−xj‖が小さいものを順に予め定められた検索数まで検索することで行われる。なお、ステップF10における検索された楽曲データの絞り込みは、代表ニューロンから最も離れたニューロン、すなわち代表ニューロンから検索に用いた変数nの最大値分離れたニューロンに配置されている楽曲データに対してのみ行うようにすると、距離計算を行う対象件数を少なくすることができるため、検索時間(計算時間)を短縮することができる。また、ステップF10における検索された楽曲データの絞り込みを行うことなく、検索された楽曲データの全てを代表曲検索結果として代表曲検索結果表示画面53に表示するようにしても良く、この場合には、距離計算を行うことなく検索を行うことができるため、検索時間(計算時間)をさらに短縮することができる。
次に、楽曲検索部18は、出力ボタン532がクリックされると、出力楽曲選択領域531に表示されている代表曲検索結果を検索リストとして楽曲データベース15に記憶させる(ステップF12)。
また、検索条件入力画面51において、全曲リスト表示ボタン513がクリックされると、楽曲検索部18は、記憶されている全楽曲データの楽曲リストを表示する楽曲リスト表示画面54をPC表示部20に表示させる。楽曲リスト表示画面54は、図16を参照すると、全楽曲データの楽曲リストの中から代表曲を選択する代表曲選択領域541と、選択された代表曲に基づく検索を指示する代表曲検索実行ボタン542とからなる。
ユーザが代表曲選択領域541に表示されている楽曲リストの中から代表曲を選択し(ステップF4)、代表曲検索実行ボタン542をクリックすることで、選択された代表曲に基づく検索が楽曲検索部18に指示され、以下、ステップF5〜ステップF12の楽曲検索動作が行われる。
さらに、検索条件入力画面51において、楽曲マップ表示ボタン514がクリックされると、楽曲検索部18は、楽曲マップのニューロンをポイントとして表示する楽曲マップ表示画面55をPC表示部20に表示させる。楽曲マップ表示画面55は、図17を参照すると、検索の中心とするニューロンを選択するニューロン選択領域551と、選択されたニューロンに基づく検索を指示するマップ検索実行ボタン552とからなる。
ユーザがニューロン選択領域551に表示されているニューロンの中から検索の中心とするニューロンを選択し、マップ検索実行ボタン552をクリックすることで、ステップF5で特定される代表ニューロンの替わりに、ニューロン選択領域551で選択されたニューロンに基づく検索が楽曲検索部18に指示され、以下、ステップF6〜ステップF12の楽曲検索動作が行われる。
なお、ニューロン選択領域551においては、楽曲データが配置されているニューロンのみが表示され、楽曲がマッピングされているニューロンにカーソルを移動させると、カーソルが位置するニューロンに配置されている楽曲データの楽曲名のポップアップ表示553が行われるように構成されている。
次に、楽曲登録装置10から携帯端末装置30への楽曲データの転送動作について詳細に説明する。
図18は、図1に示す楽曲登録装置から携帯端末装置への楽曲データの転送動作を説明するための説明図である。
楽曲登録装置10の楽曲データベース15には、図18に示すように、楽曲データと、当該楽曲データに対応する特徴データ(特徴データ抽出部13で抽出)、書誌データ、印象度データ(印象度データ変換部14で変換)および楽曲マップにおけるニューロンの座標(楽曲マッピング部16でマッピング)と、検索テーブル(楽曲マッピング部16で作成)と、検索リスト(楽曲検索部18で検索)とが記憶されており、携帯端末装置30の端末楽曲データベース32には、楽曲データと、当該楽曲データに対応する書誌データ、印象度デーおよび楽曲マップにおけるニューロンの座標と、検索テーブルと、検索リストとが転送される。
楽曲登録装置10の送受信部21と、携帯端末装置30の送受信部31とは、データ伝送路23によって携帯端末装置30が接続されると、楽曲登録装置10の楽曲データベース15の記憶内容と、携帯端末装置30の端末楽曲データベース32の記憶内容とを比較し、楽曲登録装置10の楽曲データベース15の記憶内容を携帯端末装置30の端末楽曲データベース32に反映させる。
次に、携帯端末装置30における楽曲検索動作について図19および図20を参照して詳細に説明する。
図19は、図2に示す携帯端末装置の端末表示部における表示例を示す図であり、
図20は、図1に示す携帯端末装置における代表曲検索動作を説明するためのフローチャートである。
楽曲検索部33は、図示しない電源キーによって携帯端末装置30の電源が投入されると、再生する楽曲データを検索する方法として「書誌データによる検索」、「印象度データによる検索」、「検索リストによる検索」のいずれかを選択するための検索方法選択画面351を端末表示部35に表示し、ユーザは、検索方法選択画面351に表示されている検索方法を十字キー341の上下で選択し、決定キー342を押下することで選択した検索方法に基づく楽曲データの検索を楽曲検索部33に指示する。
検索方法選択画面351で「書誌データによる検索」が選択された場合には、楽曲検索部33は、「アーティスト」、「アルバム」、「タイトル」の内のいずれかを選択するための一覧表示選択画面352を端末表示部35に表示し、ユーザは、一覧表示選択画面352に表示されている「アーティスト」、「アルバム」、「タイトル」のいずれかを十字キー341の上下で選択し、決定キー342を押下することで選択した一覧の表示を楽曲検索部33に指示する。
一覧表示選択画面352で「アーティスト」もしくは「アルバム」が選択された場合には、楽曲検索部33は、端末楽曲データベース32に記憶されている全楽曲データに対応する書誌データからアーティスト名もしくはアルバム名を読み出し、アーティスト名もしくはアルバム名の一覧を表示するアーティスト・アルバム一覧画面353を端末表示部35に表示する。ユーザは、アーティスト・アルバム一覧画面353に表示されているアーティスト名もしくはアルバム名のいずれかを十字キー341の上下で選択し、決定キー342を押下することでアーティスト名もしくはアルバム名に基づく検索を楽曲検索部33に指示し、楽曲検索部33は、選択されたアーティスト名もしくはアルバム名に基づいて端末楽曲データベース32を検索し、該当する楽曲データのタイトル一覧を検索結果画面354として端末表示部35に表示する。なお、一覧表示選択画面352で「タイトル」が選択された場合には、楽曲検索部33は、端末楽曲データベース32に記憶されている全楽曲データに対応するタイトルを読み出し、読み出したタイトル一覧を検索結果画面354として端末表示部35に表示する。
検索方法選択画面351で「印象度データによる検索」が選択された場合には、楽曲検索部33は、検索条件として印象度データを入力する印象度データ入力画面355を端末表示部35に表示し、ユーザは、十字キー341の上下左右で印象度データの各項目の値を選択し、決定キー342を押下することで印象度データに基づく検索を楽曲検索部33に指示する。楽曲検索部33は、印象度データに基づく検索が指示されると、検索条件として入力された印象度データに基づいて端末楽曲データベース32に記憶されている楽曲データを検索し、検索した楽曲データのタイトル一覧を検索結果画面354として端末表示部35に表示する。検索条件として入力された印象度データに基づく楽曲データの検索は、検索条件として入力された印象度データを入力ベクトルxjとすると共に、端末楽曲データベース32に記憶されている全楽曲データに対応するそれぞれの印象度データを検索対象ベクトルmi(t)∈Rnとし、ユークリッド距離‖xj−mi‖が小さい方から所定数を検索する。なお、Rは、印象度データの各評価項目の評価段階数を示し、nは、印象度データの項目数を示す。
検索方法選択画面351で「検索リストによる検索」が選択された場合には、楽曲検索部33は、端末楽曲データベース32に記憶されている検索リストの一覧を検索リスト一覧画面356として端末表示部35に表示し、ユーザは、検索リスト一覧画面356に表示されている検索リストのいずれかを十字キー341の上下で選択し、決定キー342を押下することで選択した検索リストの表示を楽曲検索部33に指示し、楽曲検索部33は、選択された検索リストのタイトル一覧を検索結果画面354として端末表示部35に表示する。
端末表示部35に検索結果画面354が表示されている状態では、十字キー341の上下は、表示されているタイトルを選択するタイトル選択キー、十字キー341の左は、音声出力モード(通常再生、リピート再生、ランダム再生等)を切り換えるモード切り換えキー、十字キー341の右は、音声出力の開始を指示する再生指示キーとしてそれぞれ機能する。従って、検索結果画面354において、十字キー341の右が押下されると、楽曲検索部33は、タイトル選択キーによるタイトルの選択と、モード切り換えキーによるモードの選択とに応じて端末楽曲データベース32から楽曲データを読み出し、読み出した楽曲データを音声出力部22に出力して音声出力させる。
また、端末表示部35に検索結果画面354が表示されている状態と、音声出力部36によって楽曲データが音声出力されている状態とでは、決定キー342は、代表曲検索を指示する代表曲検索指示キーとして機能する。
検索結果画面354で決定キー342が押下されると、楽曲検索部33は、十字キー341の上下によって選択されているタイトルを代表曲として決定すると共に、楽曲データが音声出力されている状態で決定キー342が押下されると、楽曲検索部33は、音声出力されている楽曲データを代表曲として決定する(ステップG1)。
次に、楽曲検索部33は、決定した代表曲に基づいて端末楽曲データベース32を検索することで、楽曲マップにおいて代表曲が配置されているニューロン(以下、代表ニューロンと称す)の座標を特定する(ステップG2)。
次に、楽曲検索部33は、変数nに0を設定し(ステップG3)、端末楽曲データベース32に記憶されている図7に示す検索テーブルを参照することで、ステップG2で特定した代表ニューロンから距離nのニューロンに配置されている楽曲データを検索し(ステップG4)、検索された楽曲数が予め定められた検索数以上であるか否かを判断する(ステップG5)。
ステップG4で検索された楽曲数が予め定められた検索数未満である場合には、楽曲検索部33は、変数nをインクリメントし(ステップG6)、ステップG4に戻り、検索された楽曲数が予め定められた検索数以上になるまでステップG4〜ステップG6を繰り返す。
ステップG5で検索された楽曲数が予め定められた検索数以上である場合には、楽曲検索部33は、検索された楽曲データを予め定められた検索数まで絞り込んだ後(ステップG7)、絞り込んだ楽曲データのタイトル一覧を検索結果画面354として端末表示部35に表示する(ステップG8)。
ステップG7における検索された楽曲データの絞り込みは、代表ニューロンの特徴ベクトルもしくは代表曲の印象度データ変換部14によって変換された印象度データを入力ベクトルxjとし、検索された楽曲データの印象度データを検索対象ベクトルXjとすると、入力ベクトルxjに近い検索対象ベクトルXj、すなわちユークリッド距離‖Xj−xj‖が小さいものを順に予め定められた検索数まで検索することで行われる。なお、ステップG7における検索された楽曲データの絞り込みは、代表ニューロンから最も離れたニューロン、すなわち代表ニューロンから検索に用いた変数nの最大値分離れたニューロンに配置されている楽曲データに対してのみ行うようにすると、距離計算を行う対象件数を少なくすることができるため、検索時間(計算時間)を短縮することができる。また、ステップG7における検索された楽曲データの絞り込みを行うことなく、検索された楽曲データの全てを代表曲検索結果として検索結果画面354に表示するようにしても良く、この場合には、距離計算を行うことなく検索を行うことができるため、検索時間(計算時間)をさらに短縮することができる。
なお、本実施の形態では、検索テーブルを用いて代表曲検索を行うように構成したが、代表曲として特定した楽曲データの印象度データに基づいて代表曲検索を行うようにしても良く、この場合には、代表曲として特定した楽曲データの印象度データを入力ベクトルとすると共に、端末楽曲データベース32に記憶されている各楽曲データのそれぞれの印象度データを検索対象ベクトルとし、両者のユークリッド距離が小さい順に所定数検索する。
以上説明したように、本実施の形態によれば、携帯端末装置30の音声出力部36によって楽曲データが音声出力されている状態で、音声出力されている楽曲データに基づく代表曲検索を指示する代表曲検索指示キーとして機能する決定キー342を有し、決定キー342が押下されると、楽曲検索部33は、音声出力されている楽曲データを代表曲として決定し、決定した代表曲に基づいて所定数の楽曲データを特定するように構成することにより、ユーザが所望する印象の楽曲を検索する際に、所望する楽曲に対するユーザの主観的な要件を入力するという煩雑な操作を必要とせず、代表曲検索指示キーが押下するだけで、所望する印象の楽曲を検索することができ、さらに、音声出力されている楽曲データに基づいた検索であるため、ユーザの感性そのままの検索を行うことができ、所望の印象の楽曲を検索することができるという効果を奏する。
また、本実施の形態によれば、音声出力されている前記楽曲データを代表曲として決定し、決定した前記代表曲に基づいて、分割された部分空間のそれぞれの座標と前記部分空間に配置されている前記楽曲データとからなる検索テーブルを検索して所定数の前記楽曲データを特定するように構成することにより、全探索を行う必要がなく、据置機器と比較して計算能力が低い携帯機器においても負荷を少なくより高速に検索を行うことができるという効果を奏する。
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。