以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図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と、印象度データ収集部37と、カーソル生成部38と、選曲マップ作成部39と、楽曲データ抽出部40とからなる。
送受信部31は、楽曲登録装置10の送受信部21との間をUSB等のデータ伝送路23で接続可能に構成されており、楽曲登録装置10の送受信部21から入力された楽曲データを端末楽曲データベース32に記憶させる。
端末楽曲データベース32は、HDD等の大容量の記憶手段であり、楽曲データベース15に記憶されている楽曲データと、当該楽曲データに対応する書誌データおよび印象度データと、検索リストとが記憶される。
表示制御部33は、例えば液晶ディスプレイ等の表示手段である端末表示部34における各種表示画面の表示を制御すると共に、端末操作部35からの入力を受け付け、端末表示部34に表示させる選曲マップの作成指示の印象度データ収集部37への出力や、音声出力部36への再生指示の出力を行う。
端末操作部35は、楽曲データの再生に係る入力が行われる入力手段であり、図2を参照すると、再生する楽曲データを選択する入力、検索方法を選択する入力、ボリュームコントロールの入力等を行う十字キー351と、選択された検索方法の実行を指示する入力等を行う決定キー352と、選択された楽曲データの出力を指示する入力を行う再生指示キー353とからなる。
音声出力部36は、端末楽曲データベース32に圧縮されて記憶されている楽曲データを伸長して再生するオーディオプレーヤであり、接続されたヘッドフォン50に再生した楽曲データを出力する。
印象度データ収集部37は、選曲マップの横軸および縦軸に表す印象度データとして指定された評価項目が表示制御部33から入力されると、端末楽曲データベース32に記憶されている全楽曲データについて指定された横軸および縦軸の印象度データをそれぞれ収集し、選曲マップ作成部39に出力する。
カーソル生成部38は、十字キー351の上下左右によって移動されるカーソル349の中心座標とカーソル形状とを表示制御部33に出力する。
選曲マップ作成部39は、印象度データ収集部37から入力された横軸および縦軸の印象度データに基づき各楽曲データを配置した2次元の選曲マップ346を作成して表示制御部33に出力する。
楽曲データ抽出部40は、カーソル生成部38から出力されるカーソル349の中心座標とカーソル形状とに基づき、カーソル349内に含まれる楽曲データを抽出する。
ニューラルネットワーク学習装置60は、印象度データ変換部14で用いられる階層型ニューラルネットワークと、楽曲マッピング部16で用いられる楽曲マップとの学習を行う装置であり、図3を参照すると、楽曲データ入力部61と、音声出力部62と、特徴データ抽出部63と、印象度データ入力部64と、結合重み値学習部65と、楽曲マップ学習部66と、結合重み値出力部67と、特徴ベクトル出力部68とからなる。
楽曲データ入力部61は、CD、DVD等の楽曲データが記憶されている記憶媒体を読み取る機能を有し、CD、DVD等の記憶媒体から楽曲データを入力し、音声出力部62および特徴データ抽出部63に出力する。CD、DVD等の記憶媒体以外にインターネット等のネットワークを経由した楽曲データ(配信データ)を入力するように構成しても良い。なお、圧縮された楽曲データが入力される場合には、圧縮された楽曲データを伸長して音声出力部62および特徴データ抽出部63に出力する。
音声出力部62は、楽曲データ入力部61から入力された楽曲データを伸長して再生するオーディオプレーヤである。
特徴データ抽出部63は、楽曲データ入力部61から入力された楽曲データから、ゆらぎ情報からなる特徴データを抽出し、抽出した特徴データを結合重み値学習部65に出力する。
印象度データ入力部64は、音声出力部62からの音声出力に基づく、評価者による印象度データの入力を受け付け、受け付けた印象度データを、階層型ニューラルネットワークの学習に用いる教師信号として結合重み値学習部65に出力すると共に自己組織化マップ(SOM)への入力ベクトルとして楽曲マップ学習部66に出力する。
結合重み値学習部65は、特徴データ抽出部63から入力された特徴データと、印象度データ入力部64から入力された印象度データとに基づいて階層型ニューラルネットワークに学習を施し、各ニューロンの結合重み値を更新し、結合重み値出力部67を介して更新した結合重み値を出力する。学習が施された階層型ニューラルネットワーク(更新された結合重み値)は、楽曲登録装置10の印象度データ変換部14に移植される。
楽曲マップ学習部66は、印象度データ入力部64から入力された印象度データを自己組織化マップへの入力ベクトルとして自己組織化マップに学習を施し、各ニューロンの特徴ベクトルを更新し、特徴ベクトル出力部68を介して更新した特徴ベクトルを出力する。学習が施された自己組織化マップ(更新された特徴ベクトル)は、楽曲マップとして楽曲登録装置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の正方形)されている自己組織化マップを用いることができ、この場合には、ニューロンが複数の部分空間に対応する。
本実施の形態では、楽曲マップとしてニューロンが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に示すニューラルネットワーク学習装置60を用いて行われ、まず、階層型ニューラルネットワーク(結合重み値w)を事前学習させるための事前学習データ(楽曲データの特徴データ+印象度データ)の入力が行われる。
楽曲データ入力部61にCD、DVD等の楽曲データが記憶されている記憶媒体をセットし、楽曲データ入力部61から楽曲データを入力し(ステップD1)、特徴データ抽出部63は、楽曲データ入力部61から入力された楽曲データから特徴データを抽出する(ステップD2)。なお、特徴データ抽出部63によって抽出する特徴データは、楽曲登録装置10の特徴データ抽出部13で抽出する特徴データと同一である。
また、音声出力部62は、楽曲データ入力部61から入力された楽曲データを音声出力し(ステップD3)、評価者は、音声出力部62からの音声出力を聞くことによって、楽曲の印象度を感性によって評価し、評価結果を印象度データとして印象度データ入力部64から入力し(ステップD4)、結合重み値学習部65は、印象度データ入力部64から入力された印象度データを教師信号として受け付ける。なお、本実施の形態では、印象度の評価項目としては、人間の感性によって判断される「明るい、暗い」、「澄んだ、にごった」、「激しい、穏やか」の3項目を設定し、各評価項目についての7段階評価を印象度データとして印象度データ入力部64で受け付けるように構成した。
次に、特徴データと入力された印象度データとからなる学習データが予め定められたサンプル数T1に達したか否かを判断し(ステップD5)、学習データがサンプル数T1に達するまでステップD1〜ステップD4の動作が繰り返される。
結合重み値学習部65における階層型ニューラルネットワークの学習、すなわち各ニューロンの結合重み値wの更新は、誤差逆伝播学習法を用いて行う。
まず、初期値として、中間層(第n層)の全てのニューロンの結合重み値wを乱数によって−0.1〜0.1程度の範囲の小さな値に設定しておき、結合重み値学習部65は、特徴データ抽出部63によって抽出された特徴データを入力信号xj(j=1,2,…,8) として入力層(第1層)に入力し、入力層(第1層)から出力層(第N層)に向けて、各ニューロンの出力を計算する。
次に、結合重み値学習部65は、印象度データ入力部64から入力された印象度データを教師信号yj(j=1,2,…,8) とし、出力層(第N層)の出力outj Nと、教師信号yjとの誤差から、学習則δj Nを次式によって計算する。
次に、結合重み値学習部65は、学習則δj Nを使って、中間層(第n層)の誤差信号 δj n を次式によって計算する。
なお、数式2において、wは、第 n 層 j 番目と第 n -1 層k番目のニューロンの間の結合重み値を表している。
次に、結合重み値学習部65は、中間層(第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よりも小さいと判断された場合には、結合重み値学習部65は、事前学習させた各ニューロンの結合重み値wを結合重み値出力部67によって出力し(ステップD8)、結合重み値出力部67から出力された各ニューロンの結合重み値wは、印象度データ変換部14に記憶される。
次に、楽曲マッピング部16におけるマッピング動作(ステップA6)に用いられる楽曲マップの学習動作について図11を参照して詳細に説明する。
図11は、図2に示すニューラルネットワーク学習装置における楽曲マップの学習動作を説明するためのフローチャートである。
楽曲データ入力部61にCD、DVD等の楽曲データが記憶されている記憶媒体をセットし、楽曲データ入力部61から楽曲データを入力し(ステップE1)、特徴データ抽出部63は、楽曲データ入力部61から入力された楽曲データから特徴データとしてテンポを抽出し(ステップE2)、抽出したテンポを楽曲マップ学習部66に出力する。なお、特徴データ抽出部63によって抽出するテンポは、楽曲登録装置10の特徴データ抽出部13で抽出するテンポと同一である。
次に、音声出力部62は、楽曲データ入力部61から入力された楽曲データを音声出力し(ステップE3)、評価者は、音声出力部62からの音声出力を聞くことによって、楽曲の印象度を感性によって評価し、評価結果を印象度データとして印象度データ入力部64から入力する(ステップE4)。
楽曲マップ学習部66は、特徴データ抽出部63から入力されたテンポと、印象度データ入力部64から入力された印象度データとを自己組織化マップへの入力ベクトルとして受け付ける。なお、本実施の形態では、印象度の評価項目としては、人間の感性によって判断される「明るい、暗い」、「澄んだ、にごった」、「激しい、穏やか」の3項目を設定し、各評価項目についての7段階評価を印象度データとして印象度データ入力部64で受け付けるように構成した。
楽曲マップ学習部66は、特徴データ抽出部63から入力されたテンポと、印象度データ入力部64から入力された印象度データとを入力ベクトルxj(t)∈Rnとし、各ニューロンの特徴ベクトルmi(t)∈Rnを学習させる。なお、tは、学習回数を表し、学習回数を定める設定値Tを予め設定しておき、学習回数t=0,1,…,Tについて学習を行わせる。なお、Rは、各評価項目の評価段階を示し、nは、印象度データの項目数を示す。
まず、初期値として、全てのニューロンの特徴ベクトルmc(0)をそれぞれ0〜1の範囲でランダムに設定しておき、楽曲マップ学習部66は、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)は、単調減少する一次関数もしくは指数関数が用いられる。
次に、楽曲マップ学習部66は、学習回数tが設定値Tに達したか否かを判断し(ステップE6)、学習回数tが設定値Tに達するまでステップE1〜ステップE5の処理動作を繰り返し、学習回数tが設定値Tに達すると、再び最初のサンプルから同じ処理動作を行う。この反復回数が予め定められたS回になった時点で、特徴ベクトル出力部68を介して学習させた特徴ベクトル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に、検索条件を入力する検索条件入力画面71を表示し、PC操作部19からのユーザ入力を受け付ける。検索条件入力画面71は、図13に示すように、検索条件として書誌データを入力する書誌データ入力領域711と、検索の実行を指示する条件検索実行ボタン712と、全曲リスト表示ボタン713と、楽曲マップ表示ボタン714とからなり、ユーザは、検索条件として書誌データをPC操作部19から入力し(ステップF1)、条件検索実行ボタン712をクリックすることで、書誌データに基づく検索を楽曲検索部18に指示する。
楽曲検索部18は、PC操作部19から入力された書誌データに基づいて楽曲データベース15を検索し(ステップF2)、条件検索結果を表示する条件検索結果表示画面72をPC表示部20に表示させる(ステップF3)。条件検索結果表示画面72は、図14を参照すると、条件検索結果の中から代表曲を選択する代表曲選択領域721と、選択された代表曲に基づく検索を指示する代表曲検索実行ボタン722と、条件検索結果を検索リストとして登録する登録ボタン723とからなる。
次に、ユーザは、代表曲選択領域721に表示されている条件検索結果の中から代表曲を選択し(ステップF4)、代表曲検索実行ボタン722をクリックすることで、代表曲に基づく検索を楽曲検索部18に指示する。なお、この時点で登録ボタン723がクリックされた場合には、楽曲検索部18は、代表曲選択領域721に表示されている条件検索結果を検索リストとして楽曲データベース15に記憶させる。
楽曲検索部18は、選択された代表曲に基づいて楽曲データベース15を検索することで、楽曲マップにおいて代表曲が配置されているニューロン(以下、代表ニューロンと称す)の座標を特定する(ステップF5)。
次に、楽曲検索部18は、変数nに0を設定し(ステップF6)、楽曲マップ記憶部17に記憶されている図9に示す検索テーブルを参照することで、ステップF5で特定した代表ニューロンから距離nのニューロンに配置されている楽曲データを検索し(ステップF7)、検索された楽曲数が予め定められた検索数以上であるか否かを判断する(ステップF8)。
ステップF8で検索された楽曲数が予め定められた検索数未満である場合には、楽曲検索部18は、変数nをインクリメントし(ステップF9)、ステップF7に戻り、検索された楽曲数が予め定められた検索数以上になるまでステップF7およびステップF8を繰り返す。
ステップF8で検索された楽曲数が予め定められた検索数以上である場合には、楽曲検索部18は、検索された楽曲データを予め定められた検索数まで絞り込んだ後(ステップF10)、絞り込んだ楽曲データを代表曲検索結果として表示する代表曲検索結果表示画面73をPC表示部20に表示する(ステップF11)。代表曲検索結果表示画面73は、図15を参照すると、出力する楽曲データを選択する出力楽曲選択領域731と、選択された楽曲データの出力を指示する出力ボタン732とからなる。
ステップF10における検索された楽曲データの絞り込みは、代表ニューロンの特徴ベクトルもしくは代表曲の印象度データ変換部14によって変換された印象度データを入力ベクトルxjとし、検索された楽曲データの印象度データを検索対象ベクトルXjとすると、入力ベクトルxjに近い検索対象ベクトルXj、すなわちユークリッド距離‖Xj−xj‖が小さいものを順に予め定められた検索数まで検索することで行われる。なお、ステップF10における検索された楽曲データの絞り込みは、代表ニューロンから最も離れたニューロン、すなわち代表ニューロンから検索に用いた変数nの最大値分離れたニューロンに配置されている楽曲データに対してのみ行うようにすると、距離計算を行う対象件数を少なくすることができるため、検索時間(計算時間)を短縮することができる。また、ステップF10における検索された楽曲データの絞り込みを行うことなく、検索された楽曲データの全てを代表曲検索結果として代表曲検索結果表示画面73に表示するようにしても良く、この場合には、距離計算を行うことなく検索を行うことができるため、検索時間(計算時間)をさらに短縮することができる。
次に、楽曲検索部18は、出力ボタン732がクリックされると、出力楽曲選択領域731に表示されている代表曲検索結果を検索リストとして楽曲データベース15に記憶させる(ステップF12)。
また、検索条件入力画面71において、全曲リスト表示ボタン713がクリックされると、楽曲検索部18は、記憶されている全楽曲データの楽曲リストを表示する楽曲リスト表示画面74をPC表示部20に表示させる。楽曲リスト表示画面74は、図16を参照すると、全楽曲データの楽曲リストの中から代表曲を選択する代表曲選択領域741と、選択された代表曲に基づく検索を指示する代表曲検索実行ボタン742とからなる。
ユーザが代表曲選択領域741に表示されている楽曲リストの中から代表曲を選択し(ステップF4)、代表曲検索実行ボタン742をクリックすることで、選択された代表曲に基づく検索が楽曲検索部18に指示され、以下、ステップF5〜ステップF12の楽曲検索動作が行われる。
さらに、検索条件入力画面71において、楽曲マップ表示ボタン714がクリックされると、楽曲検索部18は、楽曲マップのニューロンをポイントとして表示する楽曲マップ表示画面75をPC表示部20に表示させる。楽曲マップ表示画面75は、図17を参照すると、検索の中心とするニューロンを選択するニューロン選択領域751と、選択されたニューロンに基づく検索を指示するマップ検索実行ボタン752とからなる。
ユーザがニューロン選択領域751に表示されているニューロンの中から検索の中心とするニューロンを選択し、マップ検索実行ボタン752をクリックすることで、ステップF5で特定される代表ニューロンの替わりに、ニューロン選択領域751で選択されたニューロンに基づく検索が楽曲検索部18に指示され、以下、ステップF6〜ステップF12の楽曲検索動作が行われる。
なお、ニューロン選択領域751においては、楽曲データが配置されているニューロンのみが表示され、楽曲がマッピングされているニューロンにカーソルを移動させると、カーソルが位置するニューロンに配置されている楽曲データの楽曲名のポップアップ表示753が行われるように構成されている。
次に、楽曲登録装置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乃至図21を参照して詳細に説明する。
図19は、図2に示す携帯端末装置の端末表示部における表示例を示す図であり、図20は、図2に示す携帯端末装置の端末表示部におけるマップ検索画面例を示す図であり、図21は、図20に示すカーソルによる選曲を説明するための図である。
図示しない電源キーによって携帯端末装置30の電源が投入されると、表示制御部33は、再生する楽曲データを選択する方法として「検索リストによる検索」「選曲マップによる検索」のいずれかを選択するための検索方法選択画面341を端末表示部34に表示させ、ユーザは、検索方法選択画面341に表示されている検索方法を十字キー351の上下で選択し、決定キー352を押下することで選択した検索方法に基づく楽曲データの検索を指示する。
検索方法選択画面341で「検索リストによる検索」が選択された場合には、表示制御部33は、端末楽曲データベース32に記憶されている検索リストの一覧を検索リスト一覧画面342として端末表示部34に表示させ、ユーザは、検索リスト一覧画面342に表示されている検索リストのいずれかを十字キー351の上下で選択し、決定キー352を押下することで選択した検索リストの表示を表示制御部33に指示する。表示制御部33は、選択された検索リストのタイトル一覧を検索結果画面343として端末表示部34に表示させる。
検索結果画面343が表示されている状態で、再生指示キー353が押下されると、表示制御部33から音声出力部36に選択された検索リストの再生指示が出力され、音声出力部36は、検索結果画面343が表示されたタイトル一覧に対応する楽曲データ、すなわち選択された検索リストの楽曲データを端末楽曲データベース32から順次読み出し、読み出した楽曲データを伸長し、伸長した楽曲データをヘッドフォン50に出力して音声出力させる。また、検索結果画面343が表示されている状態で、十字キー351の上下でいずれかのタイトルを選択した上で再生指示キー353が押下されると、表示制御部33から音声出力部36に選択された楽曲の再生指示が出力され、音声出力部36は、選択された楽曲データを端末楽曲データベース32から読み出し、読み出した楽曲データを伸長し、伸長した楽曲データをヘッドフォン50に出力して音声出力させる。
検索方法選択画面341で「選曲マップによる検索」が選択された場合には、表示制御部33は、表示する選曲マップ346の横軸および縦軸に表す印象度データとカーソルの大きさとを指定する縦横軸指定画面344を端末表示部34に表示させる。縦横軸指定画面344では、端末表示部34に表示させる選曲マップ346における横軸および縦軸の印象度データの評価項目をそれぞれ選択できるようになっており、ユーザは、横軸および縦軸の印象度データの評価項目をそれぞれ選択する。すなわち、本実施の形態の場合には、印象度データとして「明るい、暗い」、「澄んだ、にごった」、「激しい、穏やか」の3項目の評価項目が存在するが、当該3項目の内、2次元のマップに表す2項目を選択する。なお、評価項目の選択方法は、十字キー351の上下で「横軸」、「縦軸」を選択し、十字キー351の左右で3項目の評価項目のいずれかを選択できるようになっており、図19には、横軸の印象度データとして評価項目「明るい、暗い」が、縦軸の印象度データとして評価項目「激しい、穏やか」が指定されている状態が示されている。
また、縦横軸指定画面344では、選曲マップ346上での範囲指定の大きさ、すなわち端末表示部34に表示されるカーソル形状を指定することもできるようになっており、ユーザは、縦横軸指定画面344において十字キー351の上下で「カーソル」を選択し、十字キー351の左右で予め用意された複数の大きさのカーソル形状からいずれかを選択する。図19には、カーソル形状として「中(1*1の矩形)」が指定されている状態が示されている。
縦横軸指定画面344において、決定キー352が押下されると、表示制御部33は、選曲マップ346の横軸および縦軸に表す印象度データとして指定された評価項目を印象度データ収集部37にそれぞれ出力すると共に、指定されたカーソル形状をカーソル生成部38に出力する。
印象度データ収集部37は、端末楽曲データベース32に記憶されている全楽曲データについて指定された横軸および縦軸の印象度データをそれぞれ収集し、選曲マップ作成部39に出力する。選曲マップ作成部39は、印象度データ収集部37から入力された横軸および縦軸の印象度データに基づいて各楽曲データを配置した2次元の選曲マップ346を作成して表示制御部33に出力する。
また、カーソル生成部38は、十字キー351の上下左右によって移動されるカーソル349の中心座標(x、y)とカーソル形状とを表示制御部33に出力し、表示制御部33は、図20(a)を参照すると、印象度データ収集部37によって作成された選曲マップ346と、選曲マップ346上の範囲を指定するカーソル349とを含む選曲マップ表示画面345を端末表示部34に表示させる。なお、図20(a)に示す選曲マップ346は、横軸が評価項目「明るい、暗い」に、縦軸が評価項目「激しい、穏やか」にそれぞれ指定されたものであり、各楽曲データがドットとして表現されている例が示されている。
また、選曲マップ表示画面345には、カーソル349内に配置されている楽曲データの数を表示する選曲数表示領域347と、カーソル349の中心に最も近い楽曲データの書誌データを表示する中心楽曲情報表示領域348とが設けられている。カーソル349内に配置されている楽曲データの数のカウントと、カーソル349の中心に最も近い楽曲データの特定は、楽曲データ抽出部40によって行われ、楽曲データ抽出部40から表示制御部33に通知される。すなわち、楽曲データ抽出部40は、カーソル生成部38から出力されるカーソル349の中心座標(x、y)とカーソル形状とに基づき、カーソル349内に含まれる楽曲データを抽出する。具体的には、カーソル形状が1*1の矩形であるとすると、図21に示すように、評価項目「明るい、暗い」が(x−0.5)〜(x+0.5)であり、且つ評価項目「激しい、穏やか」が(y−0.5)〜(y+0.5)である楽曲データを抽出し、抽出した楽曲データの数と、中心座標(x、y)の最も近くに配置されている楽曲データとを表示制御部33に出力する。
図20(a)に示す選曲マップ表示画面345が表示されている状態で、決定キー352が押下されると、表示制御部33は、図20(b)に示すように、カーソル349の中心座標(x、y)を中央にしてズームした選曲マップ346を表示する。さらに、図20(b)に示す選曲マップ表示画面345が表示されている状態で、決定キー352が押下されると、表示制御部33は、楽曲データ抽出部40によって抽出された楽曲データの書誌データを端末楽曲データベース32から読み出し、図20(c)に示すように、読み出した書誌データの一覧を選曲リスト画面350として端末表示部34に表示させる。さらにまた、図20(c)に示す選曲リスト画面350が表示されている状態で、決定キー352が押下されると、表示制御部33は、再び図20(a)に示す選曲マップ表示画面345を端末表示部34に表示させる。
図20(a)、(b)に示す選曲マップ表示画面345が表示されている状態と、図20(c)に示す選曲リスト画面350が表示されている状態とで、再生指示キー353が押下されると、表示制御部33から音声出力部36に楽曲データ抽出部40によって抽出された楽曲データの再生指示が出力され、音声出力部36は、楽曲データ抽出部40によって抽出された楽曲データを端末楽曲データベース32から順次読み出し、読み出した楽曲データを伸長し、伸長した楽曲データをヘッドフォン50に出力して音声出力させる。
以上説明したように、本実施の形態によれば、端末楽曲データベース32に楽曲データと当該楽曲データの特徴を表す3項目以上の印象度データを記憶しておき、端末操作部35から印象度データの内の2項目を選択する入力を受け付け、選択された2項目の印象度データを端末楽曲データベース32から収集し、収集した2項目の印象度データに基づいて楽曲データを配置した2次元の選曲マップ346を作成して端末表示部34に表示すると共に、選曲マップ346上の範囲を指定するカーソル349を生成し、カーソル349内に配置された前記楽曲データを選曲して再生するように構成することにより、小画面の端末表示部34において端末楽曲データベース32に記憶された楽曲データの傾向を視覚的に捉えた上で楽曲データを選曲することができるため、携帯端末装置30単体で記憶されている楽曲データの傾向を容易に把握することができ、類似する情感の楽曲データを簡単に選曲することができる
という効果を奏する。
なお、本実施の形態では、各楽曲データをドットとして表現するようにしたが、ドットとして表現する場合には、カーソル349内に配置されている楽曲データの表現を他の楽曲データと区別するようにすると、カーソル位置を視覚的に容易に把握することができ好適である。例えば、端末表示部34が2階調である場合には、配置された楽曲データを通常ドットとして表示させると共に、カーソル349内に配置されている楽曲データを白抜きドットして表示させ、端末表示部34が多階調である場合には、配置された楽曲データを最も薄いドットとして表示させると共に、カーソル349内に配置されている楽曲データを最も濃いドットして表示させる。
また、本実施の形態では、各楽曲データをドットとして表現するようにしたが、各楽曲データをドットとして表現する方法としては、様々な方法が考えられ、例えば、端末表示部34が多階調である場合には、ドット密度に応じて濃淡表示するようにしても良い。ドット密度に応じて濃淡表示する場合には、多数の楽曲データが端末楽曲データベース32に記憶されており、選曲マップ346上でドットが重なってしまうような場合にも、端末楽曲データベース32に記憶されている楽曲データの傾向を把握し易いという利点がある。
なお、本発明が上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変更され得ることは明らかである。また、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。なお、各図において、同一構成要素には同一符号を付している。