以下、この発明による楽曲データ格納装置および楽曲再生順序設定方法の実施形態を、図を参照しながら説明する。以下に説明する実施形態は、この発明による楽曲データ格納装置を、パーソナルコンピュータにより構成される楽曲データ格納再生装置に適用した場合である。
[楽曲データ格納再生装置のハードウエア構成例]
図1は、楽曲データ格納再生装置のハードウエア構成例を示すブロック図である。この実施形態の楽曲データ格納再生装置は、システムバス100に対して、CPU(Central Processing Unit)101と、プログラムROM(Read Only Memory)102と、ワークエリア用RAM(Random Access Memory)103とが接続されて成るマイクロコンピュータにより、処理動作が制御される構成とされている。
そして、この実施形態の楽曲格納再生装置は、ラジオ放送の受信再生機能と、ラジオ放送番組を記録してデータ格納部に格納する機能と、外部入力されたオーディオ信号を音響再生出力する機能と、外部入力された楽曲のデータを記録して記録データ格納部に格納する機能と、記録された楽曲のデータを再生し音響再生出力する機能と、複数の楽曲を自動的に選択して編成する機能と、ユーザにより選択指定入力された複数の楽曲を、再生する楽曲として編成する機能と、前記複数の楽曲が再生楽曲群として編成されるときに、当該複数の楽曲の再生順序を設定する再生順序設定機能と、その他の機能とを備え、これらの機能を実現するための構成部分を備えている。
システムバス100には、操作部11が操作部インターフェース104を通じて接続されている。操作部11は、ラジオ放送受信のための選局用のキー、ラジオ放送受信モード、記録データの再生モード、CDからの楽曲取り込みモード、Web配信による外部入力の取り込みモードなどを切り替えるためのモード切り替えキー、複数の楽曲からなるグループ単位の楽曲の再生を指示するグループ再生指定キー、その他のキーを含む。
なお、操作部11の代わりに、リモコン送信機(リモートコマンダ)と、リモコン受信部を設け、リモートコマンダに上述した操作部11と同様のキーを設けるようにしてもよい。
また、操作キーは、ディスプレイ12をタッチパネルの構成とし、ディスプレイ12にアイコンボタンとして表示するようにしてもよい。また、ディスプレイ12に表示されたアイコンボタンと、操作部11に設けられた当該アイコンボタンを操作するようにする手段とからなるソフトウエアキーであってもよい。
また、楽曲データ格納再生装置は、CDからの楽曲データの取り込みのためにシステムバス100に光ディスクドライブ105が接続されている。また、Web配信による楽曲データの取り込みのためにシステムバス100には、通信インターフェース106が接続されている。通信インターフェース106は、インターネットなどの通信ネットワーク13に接続されている。
また、この実施形態の楽曲データ格納再生装置は、ラジオ放送記録再生機能およびオーディオ信号の音響再生出力機能を実現するために、アンテナ14と、ラジオ放送受信部15と、復調部16と、D/A(Digital−to−Analog)変換器17と、オーディオ出力アンプ18と、スピーカ19とを備える。
ラジオ放送受信部15には、I/Oポート107を通じて、操作部11を通じたユーザの選局入力に応じた番組選局制御信号が供給される。このラジオ放送受信部15では、アンテナ14にて受信された放送信号から、前記番組選局制御信号に基づいて、ユーザが操作部11を通じて指定した放送チャンネルの番組の信号が選択される。
ラジオ放送受信部15からの信号は復調部16に供給されて復調され、オーディオ信号インターフェース108においてデジタル信号とされて、システムバス100に供給される。
そして、後述するように、ラジオ放送受信モードのときには、システムバス100に入力されたデジタルオーディオ信号は、I/Oポート109を通じてD/A変換器17に供給されてアナログオーディオ信号に戻される。そして、D/A変換器17からのオーディオ信号がアンプ18を通じてスピーカ19に供給され、音響再生される。
なお、ラジオ放送番組の音響再生出力のための構成としては、復調部16からのオーディオ信号を、アンプ18を通じてスピーカ19に供給するようにしてもよい。その場合には、オーディオ信号処理装置1には、モード切り替えキーの操作に応じて発生するモード切り替え信号により、ラジオ放送受信モードのときには、復調部16からのオーディオ信号を選択し、その他のモードのときには、D/A変換器17からのオーディオ信号を選択するように制御される選択回路を設けるようにされる。
ラジオ放送信号や、パーソナルコンピュータなどの外部機器からのオーディオデータの記録機能および記録されたデータの再生機能のために、例えばハードディスク装置からなる記録データ格納部110がシステムバス100に接続されると共に、記録エンコード/再生デコード部111がシステムバス100に接続される。記録データ格納部110には、記録データが、その識別情報(以下、記録IDという)と対応付けられて格納される。
記録エンコード/再生デコード部111は、ラジオ放送信号や外部機器からのオーディオデータを、データ格納部110に格納するための形式の信号に変換するためのものである。この場合に、記録エンコード処理において、オーディオデータをデータ圧縮してデータ格納部110に格納し、再生デコード処理において、圧縮されているデータを伸長デコードするようにしても良い。
I/Oポート109、D/A変換器17、アンプ18およびスピーカ19の部分は、音響再生出力するための機能部分であり、記録データ格納部110に格納されている楽曲のデータが読み出されて、音響再生される場合にも用いられるものである。
データ格納部110に格納されているオーディオデータの再生時には、記録データ格納部110に格納されている楽曲のオーディオデータの中から、操作部11を通じてユーザにより選択指示された楽曲の記録オーディオデータが読み出され、記録エンコード/再生デコード部111で、再生デコードされる。そして、再生デコードされて得られるデジタルオーディオデータは、I/Oポート109を通じてD/A変換器17に送出される。これにより、データ格納部110に記憶されていた楽曲のオーディオ信号が、スピーカ19を通じて音響再生出力される。
また、ラジオ放送受信モードにおいて、記録ボタンがオンとされると、復調部16からオーディオ信号インターフェース108を通じてシステムバス100に入力されたデジタルオーディオ信号は、記録エンコード/再生デコード部111で、データ格納部110に格納される形式のデータに変更されて、データ格納部110に格納される。
この実施形態の楽曲データ格納再生装置においては、ラジオ放送信号を記録するときには、ラジオ放送番組のオーディオ信号をそのままデータ格納部110に記録する通常記録モードと、楽曲切り出し部112で、楽曲部分を切り出して、楽曲部分のみをデータ格納部110に記録する楽曲切り出し記録モードとを選択できる。
ラジオ放送信号中から、楽曲部分のみを切り出して記録することができるようにするため、例えばDSP(Digital Signal Processor)で構成される楽曲切り出し部112がシステムバス100に接続されている。
楽曲切り出し部112では、ラジオ放送番組におけるアナウンサーや解説者などの音声信号部分と、楽曲部分とを分離して、楽曲部分のみを抽出する処理を行なう。この楽曲切り出し処理は、例えば、オーディオ信号をスペクトル分析し、人声信号の周波数成分や周波数分布の特徴と、楽曲の周波数成分や周波数分布の特徴との違い検出することにより行なうことができる。
楽曲切り出し部112は、ラジオ放送信号から楽曲部分を切り出して、楽曲部分のみをデータ格納部110に記録する際に、楽曲切り出し処理の遅れによって楽曲部分の先頭の部分が記録されなくなるという、いわゆる頭切れを防止するため、バッファメモリに、ラジオ放送信号を蓄積しながら、楽曲部分の切り出し処理を行ない、記録データ格納部110への楽曲データの格納を行なうようにする。
通常記録モードの時には、記録データ格納部110に格納される形式に変換されたラジオ放送信号が、例えば、放送チャンネルや放送時刻などからなる情報からなる記録IDに対応付けられて、記録データ格納部110に格納される。
一方、楽曲切り出し記録モードの時には、楽曲切り出し部112で、切り出された楽曲単位で、記録IDが付与されて、当該楽曲単位で、記録データ格納部110に格納される。このときの楽曲単位の記録IDは、例えば、前述の放送チャンネルや放送時刻などからなる情報に加えて、切り出された順番の番号が含められる。なお、放送チャンネルや放送時刻の情報を含めず、記録データ格納部110において、一意となる番号を、切り出された楽曲それぞれについての記録IDとするようにすることもできる。
記録データ格納部110には、CDから取り込まれた楽曲のデータ、また、インターネットを通じて楽曲配信サーバから取り込まれる楽曲のデータも格納される。この場合には、楽曲のデータには、ISRC(International Standard Recording Code)などの識別情報が付加されているので、記録データ格納部110には、当該付加されている識別情報をそのまま記録IDとして用いて、前記楽曲のデジタルデータに対応付けて格納するようにする。
また、この実施形態の楽曲格納再生装置においては、楽曲切り出し記録モードのときに記録データ格納部110に格納される楽曲毎の楽曲特徴量を算出する楽曲特徴量算出部113と、算出された楽曲特徴量を記憶する楽曲特徴量記憶部114とがシステムバス100に接続される。
この楽曲特徴量算出部113は、例えばDSPで構成されるもので、楽曲切り出し部112で切り出された楽曲部分のオーディオデータが、処理用バッファメモリに書き込まれ、楽曲特徴量算出部113で当該処理用バッファメモリの楽曲部分のオーディオデータから、楽曲特徴量の算出が行なわれる。そして、算出された各楽曲部分についての楽曲特徴量は、楽曲特徴量記憶部114に、当該楽曲部分のデータが記録データ格納部110に格納される際に用いられるのと同じ記録IDに対応付けられて格納される。なお、楽曲切り出し部112と、楽曲特徴量算出部113とは、一つのDSP内に構成することも可能である。
楽曲特徴量算出部113は、この実施形態では、楽曲特徴量の一例として、テンポ(楽曲が演奏される速さ)を算出する。テンポを算出する楽曲特徴量算出部113の構成例は、後で詳述する。
楽曲切り出し部112と、楽曲特徴量算出部113とのそれぞれは、それぞれにおける処理を行なうためにバッファメモリを用いる。当該バッファメモリは、ワークエリア用のRAM103のメモリ領域を利用することもできるし、別個に設けるようにしてもよい。
また、楽曲切り出し部112の機能と、楽曲特徴量算出部113の機能とは、CPU101が、プログラムROM102のプログラムにしたがって、ワークエリア用RAM103を用いて行なうソフトウエア処理によって実現することもできる。
また、この実施形態の楽曲データ格納再生装置においては、前述した複数個の楽曲を再生対象とするグループ再生時の楽曲編成機能と、楽曲再生順序設定機能とを実現するために、楽曲編成部115と、特徴量順序パターンテーブル生成部116と、特徴量順序パターンテーブル保存部117とが、システムバス100に接続されて設けられる。楽曲編成部115および特徴量順序パターンテーブル生成部116は、CPU101が、プログラムROM102のプログラムにしたがって、ワークエリア用RAM103を用いて行なうソフトウエア処理によって実現することもできる。
この実施形態の楽曲データ格納再生装置は、楽曲編成に関して、自動編成モードと、手動編成モードとを備える。楽曲編成部115は、ユーザにより自動編成モードが選択されたときには、ユーザによりジャンルやアーティスト名などが指定される場合には、その指定されたジャンルやアーティスト名などの楽曲属性に基づいて、当該指定されたジャンルあるいはアーティストの楽曲を、記録データ格納部110に格納されている楽曲から、この例では、ランダムに予め定められた楽曲数だけ選定し、編成対象楽曲とする。ジャンルやアーティスト名などが指定されない場合には、記録データ格納部110に格納されている楽曲から、この例では、単にランダムに予め定められた楽曲数だけ選定し、編成対象楽曲とする。
なお、記録データ格納部110に格納されている楽曲からランダムに楽曲を選択するのではなく、システムバス100に、ユーザの楽曲再生履歴や操作履歴を記憶する履歴情報記憶部を接続して設け、当該履歴情報記憶部に記憶された履歴情報を参照することにより、ユーザの好みを考慮して、楽曲編成部115が楽曲編成対象となる複数の楽曲の選択を行なうようにしてもよい。
楽曲編成部115は、また、ユーザにより手動編成モードが選択されたときには、ユーザにより選択指定された複数個の楽曲を、編成対象楽曲とする。
そして、楽曲編成部115は、以上のようにして選定した編成対象楽曲について、楽曲特徴量記憶部114に記憶されているそれぞれの楽曲の楽曲特徴量を読み出し、当該読み出した楽曲特徴量と、特徴量順序パターンテーブル保存部117に保存されている、雛型の特徴量順序パターンとを比較参照して、後述するように、各楽曲の再生順序を決定するようにする。
特徴量順序パターンテーブル生成部116は、後述するように、この実施形態においては、専門家により楽曲編成され、かつ、楽曲順序が定められているアルバムCDに記録されている楽曲のデータを、この実施形態の楽曲データ格納再生装置に取り込んだとき、当該アルバムCDに記録されている楽曲の順序を雛型順序とするようにする特徴量順序パターンテーブルを生成する。
すなわち、後述もするように、アルバムCDから楽曲のデータを取り込んだとき、その再生順序で楽曲を取り込むが、その際に、各楽曲の楽曲特徴量を楽曲特徴量算出部113により算出する。そして、得られた各楽曲の楽曲特徴量と、その楽曲の再生順序との対応テーブルの情報を、特徴量順序パターンテーブル情報として生成する。
生成した特徴量順序パターンテーブル情報は、特徴量順序パターンテーブル保存部117に格納保存するようにする。
さらに、例えばLCD(Liquid Crystal Display)からなるディスプレイ12は、ディスプレイインターフェース118を通じてシステムバス100に接続されている。
[楽曲特徴量算出部113の例]
この実施形態では、楽曲特徴量算出部113は、楽曲特徴量としてテンポ(楽曲の進行速度)を算出する。この実施形態では、テンポは、所定時間当たりの信号ピークの検出回数として検出する。
<楽曲特徴量算出部の構成と処理内容>
図2は、この実施形態における楽曲特徴量算出部113を説明するためのブロック図である。この実施形態においては、この楽曲特徴量算出部113は、前述したようにDSPで構成されるもので、機能的には、解析データ抽出部31と、制御部32とにより構成される。
この実施形態において、解析データ抽出部31は、これに供給された音声信号を複数の周波数帯域に分離する帯域分離部311と、複数の周波数帯域に分離された音声信号のそれぞれのレベルを検出し、これをレベル情報として出力するレベル検出部312とからなっている。
制御部32は、CPU321と、ROM322と、RAM323と、不揮発性メモリ324とを備えて構成されている。
この実施形態において、帯域分離部311は、図2にも示したように、入力デジタルオーディオデータDAを、中心周波数が、この例においては、62Hz、157Hz、396Hz、1kHz、2.51kHz、6.34kHz、16kHzの7つの周波数帯域(7バンド)に分離するようにしている。
帯域分離部311において、各周波数帯域に分離されたオーディオデータのそれぞれは、レベル検出部312に供給され、そのそれぞれごとにレベルが検出される。レベル検出部312において検出された各周波数帯域のオーディオデータのレベルを示す情報は、制御部32に供給される。すなわち、帯域分割された各帯域の音声信号のレベル波形のデジタルデータが制御部9に供給される。
なお、解析データ抽出部31は、汎用の集積回路、例えば、IC A633AB(ST Microelectronice)等を用いて実現することが可能である。また、解析データ抽出部31をマイクロコンピュータで構成するようにし、ここで実行されるソフトウエアによって音声信号の帯域分割や信号レベルの検出を行なうようにすることもできる。
そして、制御部32は、解析データ抽出部31からの各周波数帯域のオーディオデータのレベル(音声レベル波形)を用い、ごく簡単な比較処理を中心とする処理により、処理対象の音声のテンポを特定する。
<テンポ特定処理について>
この実施形態においては、上述もしたように処理対象のオーディオデータを7つの周波数帯域(7バンド)に分割し、所定の時間単位区間(以下、1時間単位区間を1フレームという)を処理単位として処理を行なうようにしている。この実施形態において、1フレームは、連続する例えば4秒間の区間である。
そして、この実施形態においては、1フレームのオーディオデータをサンプリング周波数が20Hzのクロック信号を用いてサンプリングすることにより、1フレームに80サンプルを得るようにしている。さらに、例えば、10フレーム、20フレームなどのように、所定のフレーム数分の情報を累積し、この累積した情報に基づいて、テンポの決定(特定)を行なうようにしている。
<テンポ抽出処理(テンポ決定(特定)処理)について>
次に、テンポ抽出処理について具体的に説明する。図3はテンポ抽出処理を説明するためのフローチャートである。図3に示すように、ステップS1からステップS4までの各処理は、帯域分割された各バンド毎のオーディオデータを対象として行われる。
すなわち、制御部32のCPU321は、各バンド毎に、スレッショルドを設定する処理を行ない(ステップS1)、例えばRAM323、あるいは、不揮発性メモリ324に設けられるピーク位置検出用のバッファであるピークバッファの内容のシフト処理を実行する(ステップS2)。そして、ステップS1で設定したスレッショルド以上のレベルのピーク位置(レベル変化の頂点)を抽出する処理を行ない(ステップS3)、抽出したピーク位置に基づいて、各ピーク位置間のピーク間隔(ピーク位置間の時間間隔)を求める(ステップS4)。
各バンド(帯域)毎に行なわれるステップS1〜ステップS4までの処理の後、制御部32のCPU321は、各バンド毎のピーク間隔を1つのリストにまとめる処理を行ない、検出頻度(発生頻度)の最も高いピーク間隔(ピーク周期)を再生している音声のテンポとして特定する(ステップS5)。
次に、図3に示したテンポ抽出処理のステップS1のスレッショルド処理、ステップS3のピーク抽出処理、ステップS5のテンポを特定する処理のそれぞれについてより詳細に説明する。
図4は、図3に示したテンポ抽出処理のステップS1において行われるスレッショルド処理を説明するためのフローチャートである。この実施形態においては、帯域分割された各バンド毎に1フレームの区間に亘り、それぞれの最大音量レベルを求め、その値をMaxVol[band]として保持しておく。次の1フレームの区間に対してスレッショルド処理を行なう際に、保持されているMaxVol[band]を呼び出して、この値に、例えば0.8を掛け算することにより、最大音量MaxVol[band]の80パーセントのレベルを求め、この求めたレベルが前の1フレームの区間に対して求められたスレッショルドThresより大きいか否かを判断する(ステップS11)。
ステップS11の判断処理において、スレッショルドThresが、最大音量MaxVol[band]の80パーセントのレベルよりも大きいと判断した場合には、音量が低下していると判断し、スレッショルドThresに、当該スレッショルドThresの90パーセントのレベルを設定するようにする(ステップS12)。
ステップS11の判断処理において、スレッショルドThresが、音量MaxVol[band]の80パーセントのレベルよりも小さいと判断したときには、音量が上がっていると判断し、今回の新たな最大音量MaxVol[band]の80パーセントのレベルをスレッショルドThresに設定するようにする(ステップS13)。
このように、この実施形態のカーステレオ装置においては、各バンド毎に音量が低下した場合と上昇した場合との両方において、スレッショルドThresを適切に変更することができるようにしている。このスレッショルドThresを、音声信号のピーク位置を検出する場合の基準として用いることによって、楽曲のテンポを正確に特定することができるようにしている。
次に、図3に示したテンポ抽出処理のステップS3において行われるピーク位置の抽出処理について説明する。図5は、図3に示したステップS3において実行されるピーク位置の抽出処理を説明するためのフローチャートである。上述もしたように、この実施形態においては、サンプリング周波数が20Hzのクロック信号を用い、音声信号は、1フレームである4秒間に80回サンプリングされて、そのレベルが検出するようにされる。そして、各サンプルについて、図5に示す処理が行われることになる。
まず、制御部32は、現在のサンプルのレベルが、図4を用いて説明したようにして設定されるスレッショルドThresを下回っているか否かを判断する(ステップS21)。このステップS21の判断処理において、現在のサンプルのレベルが、スレッショルドThresを下回っていないと判断したときには、現在のサンプルのレベルが最大値である可能性があるので、既に最大値の候補として仮登録されているレベルと現在のサンプルのレベルとを比較し、現在のサンプルのレベルの方が高いか否かを判断する(ステップS22)。
ステップS22の判断処理において、現在のサンプルのレベルよりも、既に登録されている最大値の候補のレベルの方が高ければ、何もすることなく、この図5に示す処理を抜ける。ステップS22の判断処理において、現在のサンプルのレベルの方が、仮登録されている最大値の候補のレベルよりも高い場合には、現在のサンプルのレベルと当該サンプルの位置を仮登録し(ステップS23)、この図5に示す処理を抜ける。なお、仮登録は、例えば、RAM323、あるいは、不揮発性メモリ324の仮登録エリアにするようにされる。
また、ステップS21の判断処理において、現在のサンプルのレベルが、スレッショルドThresを下回っていると判断したときには、ステップS23において仮登録したレベルのサンプル位置は、現在の処理対象のフレーム内か否かを判断する(ステップS24)。
ステップS24の判断処理において、仮登録したレベルのサンプル位置は、現在の処理対象のフレーム内ではないと判断したときには、処理の対象となっているフレームが次のフレームに移っているので、何もすることなく、この図5に示す処理を抜けるようにする。
ステップS24の判断処理において、仮登録したレベルのサンプル位置は、現在の処理対象のフレーム内であると判断したときには、ピークの候補として仮登録したレベルとそのサンプリング位置とを、ピークレベルおよびピーク位置として、所定のエリア(最大値位置情報エリア)に追加記録するとともに、ピークの数を1カウントし(ステップS25)、この図5に示す処理を抜ける。
このように、この実施形態においては、比較的に簡単な比較処理だけで、ピークレベルを検出し、そのピークレベルの位置(ピーク位置)を抽出することができるようにしている。
そして、この実施の形態においては、図5に示した処理が、図3に示した処理のステップS3において行われることにより得られるピーク位置に基づいて、図3に示したステップS4においては、ピーク間隔(ピーク位置間の時間間隔)が求められる。
図6は、この実施の形態において行われるピーク間隔の検出処理を説明するための図である。図6に示すように、1フレーム内において、スレッショルドThres以上のピーク位置(ピーク点)が4つ存在する場合を例にして、ピーク間隔を求める処理について説明する。
制御部32は、例えば、RAM322あるいは不揮発性メモリ324に記憶保持されたピーク位置を示す情報に基づいて、図6において、アルファベットA、B、C、D、E、Fが示すように、同じ区間が重複することがないように、ピーク間隔を求める。
つまり、図6に示した例の場合には、4つのピーク位置のそれぞれを基準にして、他のピーク位置との間隔を求めるようにする。しかし、基準となるピーク位置と他のピーク位置とが逆になるだけの区間は、区間の重複となるので、実質的に区間が重複する場合には、その一方だけを生かすように処理する。
したがって、図6に示した例の場合には、4つのピーク位置のそれぞれについて、他の3つのピーク位置との間でピーク間隔が求められるので、12個のピーク間隔を検出することができるが、重複する区間については、そのうちの1つしか生かさないようにすることによって、図6に示すように、6つのピーク間隔A、B、C、D、E、Fが検出できる。
この処理は、処理対象のフレーム区間の各バンドのレベルデータを対象として行われる。そして、当該処理対象のフレーム区間の各バンドにおける求められたピーク間隔をピーク間隔(周期)リスト(以下、周期リストという)に展開し、この周期リストに基づいて、再生するようにしている楽曲のテンポが決定(特定)するようにされる。
図7は、図3に示したステップS5において実行される周期リスト作成およびテンポ決定処理を説明するためのフローチャートである。図7に示すフローチャートの処理は、制御部32において実行される処理である。
まず、制御部32は、現在、音量がゼロであるか否かを判断する(ステップS31)。この判断は、総音量をチェックすることにより行なうこともできるし、また、別途に、入力音声信号についての音量レベルを検出し、これをチェックするようにしてもよい。
なお、音量が完全にゼロにならない場合もあることを想定し、ステップS31の処理においては、例えば、規定スレッショルド以下の音声レベルの音声信号が規定サンプル以上続いた場合には、音量がゼロになった、すなわち、楽曲の再生が終了したと判断するようにしてもよい。
ステップS31の判断処理において、音量がゼロでないと判断したときには、制御部32は、図5を用いて前述したようにして求められるすべてのピーク間隔をスコアに重み付けをしながら周期リストに展開する(ステップS32)。周期リストは、例えば、図8に示すように、横軸をピーク間隔、縦軸をスコア(検出数)として、処理対象のフレーム区間における各バンドにおいて検出した各ピーク間隔について、その検出回数を累積するようにするものである。
ここで、重み付けは、各バンド毎、ピーク間隔の大小により所定の値を予め設定しておく。例えば、高音域のバンドに対する重み付けを、中音域のバンドに対する重み付けよりも小さい値とするようにしてもよい。あるいは、各バンドに対する重み付けを同一の値とするようにしてもよい。
なお、この例においては、図8に示したように、各バンド毎の重み付けをW1、W2、W3、…で示し、ピーク間隔毎の重み付けをAA、BBで示している。そして、図8にスコアの計算一例を示したように、この例においては、ピーク間隔毎の重み付けと各バンド毎の重み付けとを行なうことにより、各ピーク間隔のスコアを得るようにしている。
そして、図7に示した周期リストにおいては、図6を用いて説明したように検出されるピーク間隔の内、同じ間隔であるピーク間隔B、Eの検出回数が最も多く検出されていることがわかる。制御部32は、作成した周期リストから、検出回数、すなわち積み上げられたスコアの最も高いピーク間隔をテンポとして決定(特定)する(ステップS33)。
次に、制御部32は、周期リストのスコアの最大値が予め決められた規定値を超えているか否かを判断する(ステップS34)。テンポの決定は、周期リストに基づいて迅速に行なわなければならないので、周期リストに必要以上のデータを蓄積することは、処理の遅延、メモリの無駄使い等につながる可能性があるため望ましくない。
ステップS34の判断処理において、周期リストのスコアの最大値が予め決められた規定値を超えていない場合には、図7に示す処理を終了する。また、ステップS34の判断処理において、周期リストのスコアの最大値が予め決められた規定値を超えていると判断した場合には、周期リストのデータについての足切り処理を行ない(ステップS35)、この後、この図7に示す処理を終了する。
ステップS35において行われる周期リストの足切りは、上述もし、また、図9にも示すように、累積されていく各ピーク間隔のスコアが、規定値を超えた場合に行われる。具体的には、周期リストの各ピーク間隔のスコアから所定スコア分を減算するようにしたり、あるいは、周期リストに展開したデータのうち、例えば、一番古いフレームの各ピーク間隔のスコアを差し引くようにしたり、あるいは、一番古いフレームから新しいフレーム方向に複数フレーム分のピーク間隔のスコアを差し引くようにすることにより行われる。
また、図7に示したステップS31の判断処理において、音量がゼロであると判断したときには、楽曲の再生が終わったと判断することができるので、図8に示したように作成される周期リストをリセットし(ステップS36)、新たに再生される楽曲のテンポの解析処理に備えるようにして、この図7に示す処理を終了する。
なお、この実施形態において、制御部32は、各フレームにおいて検出されるそのフレームにおける検出頻度の最も高いピーク間隔を示す情報が、複数フレーム分、例えば1000フレーム分蓄積するようにされる。例えば、図10に示すように、各フレームの検出頻度の最も高いピーク間隔を示すデータが保持するようにされる。
このように、処理対象となった過去のフレームについても、ピーク間隔を示す情報を保持しておくことにより、例えば、あるフレームで突然ピーク間隔が大きく変わったような場合であっても、その前後のフレームのピーク間隔を示す情報を参照することによって、ピーク間隔の突然の変動に大きな影響を受けることなく、適正に再生対象の楽曲のテンポを決定することができるようにされる。
[特徴量順序パターンテーブル情報の生成処理]
特徴量順序パターンテーブル情報の生成処理を、図11〜図13を参照して説明する。
後述するように、アルバムCDからの楽曲のデータを取り込む際に、特徴量順序パターンテーブル生成部116において特徴量順序パターンテーブル情報を生成し、特徴量順序パターンテーブル保存部117に保存するようにする。
すなわち、後述もするように、アルバムCDからの楽曲のデータは、楽曲データ格納再生装置に取り込まれて、記録データ格納部110に、それぞれの楽曲IDを記録IDとして関連付けられて格納されると共に、アルバムCDからの楽曲それぞれの楽曲特徴量が楽曲特徴量算出部113で算出され、記録IDと対応付けられて楽曲特徴量格納部114に格納される。
そして、その際に、この実施形態では、特徴量順序パターンテーブル生成部116に内蔵のテーブルバッファメモリには、図11に示すように、アルバムCDからの再生順序(トラックナンバー(トラックNo.)に等しい)に対応して、楽曲特徴量としてのテンポ情報が記憶される。図11の例では、テンポ情報は、1分当たりの拍数で表わされている。また、図11の表において、計測時間は、テンポ情報を計測した時間を示している。この図11の情報は、横軸にトラックNo.を取り、縦軸にテンポ情報を取ると、図12のようなグラフとして表わすことができる。
次に、特徴量順序パターンテーブル生成部116は、テーブルバッファメモリに格納した情報を、図13(A)に示すように、テンポ情報の小さいもの順に並べ替えたものに変更する。この実施形態では、この並べ替えにより得られたトラックナンバーの情報が、特徴量順序パターンテーブル情報となる(図13(B)参照)。
すなわち、この図13(B)に示した順序パターンテーブルの各数値は、複数の楽曲を選択して楽曲編成する際に、それら複数の楽曲の楽曲特徴量を小さいもの順に並べたときの各楽曲の再生順序を示すものとなっているのである。
こうして生成した特徴量順序パターンテーブル情報を特徴量順序パターンテーブル保存部117に書き込む。
楽曲編成部115は、連続して再生する者として指定される複数の楽曲を編成するときに、その再生順序を、この特徴量順序パターンテーブル保存部117に保存された特徴量順序パターンテーブルを用いて後述するように決定するようにする。
なお、テンポ情報の小さいもの順ではなく、大きいもの順に並べ替えたものを特徴量順序パターンテーブルの情報とするようにしてもよい。その場合には、複数の楽曲を選択して楽曲編成する際に、それら複数の楽曲の楽曲特徴量を大きいもの順に並べ、特徴量順序パターンテーブルの情報を参照することにより、各楽曲の再生順序を決定することができる。
ここで、この実施形態では、特徴量順序パターンテーブル保存部116に保存する特徴量順序パターンテーブルは、例えば、アルバムCDについてのジャンルやアーティストなどの属性の違いに応じて、別々に保存するようにする。これにより、楽曲編成時に、ユーザがジャンルやアーティストを指定したときに、当該ジャンルやアーティストについて、生成された特徴量順序パターンテーブルを、楽曲編成のために用いる雛型の特徴量順序パターンテーブルとして用いるようにすることができるようにしている。
なお、この場合において、特徴量順序パターンテーブル情報は、全体で1個のみ、あるいは、ジャンルやアーティストごとに1個のみとしてもよいが、それぞれ複数個の特徴量順序パターンテーブル情報を保存するようにしてもよい。
前者のように、特徴量順序パターンテーブル情報を全体で1個、あるいはジャンルやアーティストごとに1個のみとする場合には、ユーザ指示に基づいて、ユーザが気に入っているアルバムCDに記録されている楽曲編成の特徴量順序パターンを、雛型特徴量順序パターンの情報として、特徴量順序パターンテーブル保存部116に保存するようにするとよい。
また、後者のように、特徴量順序パターンテーブル情報を複数個、用意している場合には、例えば、定期的に、楽曲編成に使用する特徴量順序パターンテーブル情報を変更するようにすることができる。そのように特徴量順序パターンテーブル情報を定期的に変更する場合には、より変化のある楽曲編成をすることができる。
また、アルバムCDを構成する楽曲数は、一定ではなく、種々の楽曲数によりアルバムCDが構成されている。そこで、複数個のアルバムCDから楽曲データを取り込んで生成した特徴量順序パターンテーブル情報として、種々の楽曲数からなるテーブル情報を保存することができる。そして、楽曲編成の際には、編成される楽曲数に等しいあるいは近似する楽曲数の特徴量順序パターンテーブル情報を、それら複数個の特徴量順序パターンテーブル情報から選択して用いることが可能になる。
なお、複数枚のアルバムCDからの複数種の楽曲編成パターンを読み込み、それらの平均値を取るなどして統合した雛型特徴量順序パターンを生成して保存して用いるようにしてもよい。
[楽曲データ格納再生装置の各モードの動作説明]
図14〜図19は、この実施形態の楽曲データ格納再生装置における記録再生動作および再生する楽曲編成処理動作を説明するためのフローチャートである。この実施形態の楽曲格納再生装置においては、前述したように、ラジオ放送受信モードと、CDからの楽曲データの取り込みモードと、インターネットを通じてWebサーバからの楽曲データの取り込みモードと、記録データ格納部110に格納されている楽曲データの再生モードとが、モード切り替えキーにより切り換えられるようにされている。以下、各モードにおける処理動作を説明する。
なお、以下のフローチャートの説明において、各ステップの処理は、CPU101が、ROM102のプログラムにしたがって、RAM103をワークエリアとして使用することにより実行されるものである。
<ラジオ放送受信モード:図14、図15>
操作部11を通じたモード切り換えキーの操作によりラジオ放送受信モードが選択されたことを検知すると、CPU101は、ラストチャンネルメモリ(図1では省略)に記憶されている前回の電源オンのときに最後に選局していた放送チャンネルを選択するように、ラジオ放送受信部15を制御し、当該放送チャンネルの放送信号を受信再生する状態とする(ステップS41)。
そして、CPU101は、操作部11を通じた他の放送チャンネルへの変更入力を受け付けたか否か判別し(ステップS42)、チャンネル変更入力を受け付けたと判別したときには、チャンネル変更入力により指定された放送チャンネルを受信するようにラジオ放送受信部15を制御するようにする(ステップS43)。そして、ステップS42に戻る。
ステップS42で、チャンネル変更入力を受け付けてはいないと判別したときには、CPU101は、操作部11を通じた記録ボタンのオン操作(記録開始操作)を受け付けたか否か判別する(ステップS44)。
ステップS44で、記録ボタンのオン操作がなされたと判別したときには、CPU101は、楽曲切り出しモードであるか否か判別し(ステップS45)、楽曲切り出しモードではないと判別したときには、通常記録モードとして、受信中のラジオ放送チャンネルと、受信時刻とに基づいた記録IDを設定し(ステップS46)、受信中のラジオ放送番組のオーディオ信号を記録データ格納部110に格納する(ステップS47)。
次に、CPU101は、操作部11を通じた記録停止操作(ストップボタンの操作入力)を受け付けたか否か判別し(ステップS48)、ストップボタンの操作入力を受け付けてはいないと判別したときには、ステップS47に戻り、記録データ格納部110へのラジオ放送番組のオーディオ信号の格納を継続する。また、ステップS48で、ストップボタンの操作入力を受け付けたと判別したときには、CPU101は、ラジオ放送番組のオーディオ信号のデータ格納部110への書き込みを停止する(ステップS49)。そして、ステップS42に戻る。
ステップS44で、記録ボタンがオンとされていないと判別したときには、CPU101は、他のモードへの変更の操作入力を受け付けたか否か判別し(ステップS50)、受け付けたと判別したときには、指定された他のモードの処理ルーチンへ移行する(ステップS51)。
また、ステップS45で、楽曲切り出し記録モードであると判別したときには、CPU101は、楽曲切り出し部112を制御して、受信中のラジオ放送信号から、楽曲部分の切り出しを実行させるようにする(図15のステップS61)。
そして、CPU101は、楽曲切り出し部112からの楽曲部分の検出出力を監視して、楽曲部分の先頭が検出されるのを待ち(ステップS62)、楽曲部分の先頭を検出したことを確認すると、楽曲切り出し部112で切り出された楽曲部分に、一意の記録IDを付与すると共に、当該記録IDに対応付けて切り出された楽曲部分のデータを、記録データ格納部110に格納する(ステップS63)。
そして、CPU101は、楽曲切り出し部112で切り出された楽曲のオーディオデータを楽曲特徴量算出部113に転送し、当該楽曲特徴量算出部113において、楽曲特徴量の算出を行なわせる(ステップS64)。
そして、CPU101は、楽曲切り出し部112の楽曲部分検出出力を監視し、楽曲部分が終了したか否か判別する(ステップS65)。楽曲部分が終了したと判別したときには、CPU101は、記録データ格納部110への楽曲データの格納を停止する(ステップS66)。また、楽曲特徴量算出部113で算出された楽曲特徴量を、ステップS63で設定された記録IDに対応付けて楽曲特徴量記憶部114に書き込み、楽曲特徴量算出部113の楽曲特徴量算出動作を停止する(ステップS67)。
次に、CPU101は、操作部11を通じた記録停止操作を受け付けたか否か判別し(ステップS68)、記録停止操作を受け付けていないと判別したときには、ステップS62に戻り、上述したステップS62以降の受信中のラジオ放送信号中の楽曲部分の検出および記録、楽曲特徴量の算出および書き込み、楽曲品質の測定および書き込みの処理を繰り返す。
また、ステップS68で、記録停止操作を受け付けたと判別したときには、CPU101は、ラジオ放送信号の記録モードを終了して、楽曲データの記録データ格納部110への書き込みを停止し(ステップS69)、その後、ステップS42に戻る。
また、ステップS65で、楽曲部分が終了してはいないと判別したときには、CPU101は、操作部11を通じた記録停止操作を受け付けたか否か判別し(ステップS70)、記録停止操作を受け付けていないと判別したときには、ステップS65に戻り、楽曲部分の終了を監視する。
また、ステップS70で、記録停止操作を受け付けたと判別したときには、CPU101は、ラジオ放送信号の記録モードを終了し、楽曲の途中で記録が停止され(ステップS71)、切り出し中の楽曲の記録が中途半端であることから、記録データ格納部110から当該切り出し中の楽曲の途中までの楽曲データを削除する(ステップS72)。そして、ステップS42に戻る。
<CDからの楽曲データの取り込みモード:図16>
操作部11を通じたモード切り換えキーの操作によりCDからの楽曲データの取り込みモードが選択されたことを検知すると、CPU101は、取り込みモードが楽曲単位か、アルバム単位であるかの指示入力の受付を待ち(ステップS81)、その指示入力を受け付けたと判別したときには、アルバム単位の取り込みモードであるか否か判別する(ステップS82)。
ステップS82で、アルバム単位の取り込みモードではなく、楽曲単位の取り込みモードであると判別したときには、CPU101は、取り込みの指定された楽曲のデータを、光ディスクドライブ105を通じてCDから取り込んでバッファメモリに一時格納し、記録エンコード/再生デコード部111により、記録データ格納部110に格納する形式のデータに変換して、CDから楽曲データと共に得た楽曲IDを記録IDとして、当該記録IDに対応付けて記録データ格納部110に格納する(ステップS83)。
また、CPU101は、取り込みの指定された楽曲のデータを前記バッファメモリから楽曲特徴量算出部113に転送して、前述したように、楽曲特徴量算出部113に、この例における楽曲特徴量としてのテンポ情報を算出させるようにする(ステップS84)。そして、CPU101は、楽曲特徴量算出部113で算出された楽曲特徴量としてのテンポ情報を、楽曲特徴量記憶部114に、当該楽曲の記録IDに対応付けて記憶するようにする(ステップS85)。
次に、CPU101は、他のモードへの変更入力を受け付けたか否か判別し(ステップS92)、他のモードへの変更入力を受け付けてはいないと判別したときには、ステップS81に戻る。また、他のモードへの変更入力を受け付けたと判別したときには、CPU101は、他のモードの処理ルーチンへ移行するようにする(ステップS93)。
ステップS82で、アルバム単位の取り込みであると判別したときには、CPU101は、CDからトラックナンバー順に、順次に楽曲データを取り込んでバッファメモリに一時格納し、記録エンコード/再生デコード部111により、記録データ格納部110に格納する形式のデータに変換して、各楽曲のデータを、CDから楽曲データと共に得た楽曲IDを記録IDとして、当該記録IDに対応付けて記録データ格納部110に格納する(ステップS86)。なお、このとき、アルバム単位の複数の楽曲については、アルバムIDが付与されて、記録データ格納部110に格納される。
また、CPU101は、トラックナンバー順の楽曲のデータを、順次に前記バッファメモリから楽曲特徴量算出部113に転送して、前述したように、楽曲特徴量算出部113に、この例における楽曲特徴量としてのテンポ情報を算出させるようにする(ステップS87)。そして、CPU101は、楽曲特徴量算出部113で算出された楽曲特徴量としてのテンポ情報を、楽曲特徴量記憶部114に、当該楽曲の記録IDに対応付けて記憶するようにする(ステップS88)。
また、CPU101は、楽曲特徴量算出部113で算出された楽曲特徴量を、特徴量順序パターンテーブル生成部116が備えるテーブルバッファメモリに、トラックナンバー(再生曲順)と対応させて、順次に格納するようにする(ステップS89;図11参照)。
次に、CPU101は、アルバム全ての楽曲の取り込みが終了したか否か判別し(ステップS90)、終了していないと判別したときには、ステップS86に戻り、このステップS86以降の処理を繰り返す。
ステップS90で、アルバム全ての楽曲の取り込みが終了したと判別したときには、CPU101は、特徴量順序パターンテーブル生成部116に雛型特徴量順序パターンテーブル情報の生成処理を行なわせるように制御する。特徴量順序パターンテーブル生成部116は、この制御に基づいて、テーブルバッファメモリに格納されているアルバムCDからの複数の楽曲(アルバムCDの全ての楽曲)についてのテーブル情報を、図13(A)に示したように、この例においては、テンポ情報の小さいもの順に並べ替える処理をし、その結果得られた図13(B)のような順序パターンテーブルの情報を、雛型特徴量順序パターンテーブル情報として、特徴量順序パターンテーブル保存部117に書き込む(ステップS91)。
次に、CPU101は、他のモードへの変更入力を受け付けたか否か判別し(ステップS92)、他のモードへの変更入力を受け付けてはいないと判別したときには、ステップS81に戻る。また、他のモードへの変更入力を受け付けたと判別したときには、CPU101は、他のモードの処理ルーチンへ移行するようにする(ステップS93)。
<Webサーバからの楽曲の取り込み>
この実施形態の楽曲データ格納再生装置は、通信インターフェース106に接続された通信ネットワーク13を通じてWebサーバ(楽曲配信サーバ)にアクセスして、楽曲のダウンロード要求することにより、当該Webサーバから楽曲データの配信サービスを受けることができる。
楽曲データ格納再生装置のユーザが、Webサーバからの楽曲データの配信要求モードを選択するように操作入力を行ない、かつ、Webサーバに対して楽曲データの配信要求のアクセスをしたときには、図17の処理ルーチンが起動される。
このとき、楽曲データ格納再生装置においては、Webサーバから受信した配信可能な楽曲の一覧リストである配信リストが、ディスプレイ12の画面に表示されており、ユーザは、当該配信リストを通じて、配信要求する楽曲の選択を行なえるようになっている。
CPU101は、配信リストを通じて配信要求する楽曲の選択がなされたか否か判別し(ステップS101)、楽曲の選択がなされたと判別したときには、選択された楽曲のダウンロード要求をWebサーバに送信する(ステップS102)。
この楽曲のダウンロード要求を受けたWebサーバは、要求された楽曲のデータを送信してくるので、CPU101は、通信インターフェース106を通じて当該楽曲データを受信してバッファメモリに一時格納する(ステップS103)。そして、受信した楽曲データを記録データ格納部110に格納する(ステップS104)。そのときの記録IDは、Webサーバから送られてくる楽曲IDがそのまま用いられる。
また、CPU101は、受信した楽曲データを楽曲特徴量算出部113に転送し、前述したように、楽曲特徴量算出部113に、この例における楽曲特徴量としてのテンポ情報を算出させるようにする(ステップS105)。そして、CPU101は、楽曲特徴量算出部113で算出された楽曲特徴量としてのテンポ情報を、楽曲特徴量記憶部114に、当該楽曲の記録IDに対応付けて記憶するようにする(ステップS106)。その後、ステップS101に戻る。
そして、ステップS101で、配信要求する楽曲の選択が行なわれていないと判別したときには、CPU101は、配信要求モードを終了する操作指示がユーザによりなされたか否か判別し(ステップS107)、当該操作指示はなされていないと判別したときには、ステップS101に戻る。また、ステップS107で、配信要求モードを終了する操作指示がユーザによりなされたと判別したときには、CPU101は、Webサーバとの通信路を切断し(ステップS108)、この配信モードを終了する。
<記録データ格納部の楽曲データの再生モード:図18、図19>
操作部11を通じたモード切り換えキーの操作により記録データ格納部の楽曲データの再生モードが選択されたことを検知すると、CPU101は、楽曲単位の再生が指定されたか、あるいは複数の楽曲をひとまとめにした再生(以下、グループ再生という)が指定されたかを判別する(ステップS111)。
ステップS111で、楽曲単位の再生が指定されたと判別したときには、再生する楽曲の選択を受け付ける(ステップS112)。このステップS112の処理においては、CPU101は、記録データ格納部110に格納されている楽曲の一覧リストを、ディスプレイ12の画面を通じてユーザに提供する。ユーザは、その一覧リストを利用して、再生を希望する楽曲の選択を行なう。
この場合に、楽曲の一覧リストは、ジャンル、アーティスト、アルバムなどの属性情報により階層構造にしておくことにより、ユーザの選択の便宜を図ることができる。ジャンル、アーティストなどの属性情報は、CDからの取り込み時やWebサーバからの取り込み時に付加データとして得られる場合には、それらの属性情報をも、各楽曲の記録IDに対応して、記録データ格納部110に格納して利用することができるようにする。
また、CDやWebサーバからの取り込み時にそれらの属性情報が得られなかった場合には、インターネットを通じて所定のサーバ装置に、ISRCなどの楽曲IDを用いて、属性情報の問い合わせのアクセスをすることにより、各楽曲の属性情報を取得して、記録データ格納部110に格納しておくことができる。
また、ラジオ放送信号から切り出して記録した楽曲のデータの場合には、ユーザが、後からジャンルやアーティスト名などを登録して、それぞれの楽曲の記録IDに対応して、記録データ格納部110に格納することができる。
次に、CPU101は、ステップS112で受け付けた楽曲の選択の情報を基に、当該選択された楽曲のデータを記録データ格納部110から読み出し、記録エンコード/再生デコード部111により再生デコードし、当該再生デコードしたデジタルオーディオ信号を、I/Oポート109を通じてD/A変換器17に送出する。これにより、スピーカ19を通じて、再生指定された楽曲が音響再生される(ステップS113)。
次に、CPU101は、操作部11を通じて再生終了操作(ストップキーの操作)がなされたか否か判別し(ステップS114)、当該再生終了操作がなされていないと判別したときには、ステップS113に戻り、選択指定された楽曲の音響再生が継続される。
ステップS114で、再生終了操作がなされたと判別したときには、CPU101は、操作部11を通じて他のモードへの変更入力操作を受け付けたか否か判別し(ステップS115)、他のモードへの変更入力操作を受け付けてはいないと判別したときには、ステップS111に戻り、次に再生する楽曲の選択指定を待つ。
また、ステップS115で他のモードへの変更入力操作を受け付けと判別したときには、CPU101は、指定された他のモードの処理ルーチンの処理に移行する(ステップS116)。
また、ステップS111で、楽曲単位の再生ではなく、複数の楽曲をひとまとめにしたグループ再生が指定されたと判別したときには、CPU101は、自動編成が選択されたか否か判別し(図19のステップS121)、自動編成ではなく、手動により編成する楽曲を選択する手動編成が選択されたと判別したときには、ユーザによる、グループ再生する複数の楽曲の選択入力を受け付ける(ステップS122)。そして、ステップS124に進む。この例においては、手動編成の際における選択可能な楽曲数は制限がない。
また、ステップS121で自動編成が選択されたと判別したときには、CPU101は、例えばユーザにより指定された自動編成のための属性情報の入力、例えばジャンルやアーティストに基づいて、この例では、予め定められている数の楽曲を、記録データ格納部110に格納されている楽曲のデータからランダムに選択する(ステップS123)。自動編成のための属性情報の入力が無いときには、CPU101は、記録データ格納部110から、前記定められている数の楽曲をランダムに選択する。そして、ステップS124に進む。
次に、CPU101は、選択された複数個の楽曲の楽曲特徴量を、楽曲特徴量記憶部114から読み出し、例えば図20(A)に示すように、読み出した複数個の楽曲特徴量が小さいもの順に並ぶように、前記複数個の楽曲を並べる(ステップS124)。図20において、再生順序の番号のそれぞれは、楽曲のそれぞれに対応している。
次に、CPU101は、特徴量順序パターンテーブル保存部117から、グループ再生対象として選択された楽曲数に近い(好ましくはグループ再生対象として選択された楽曲数よりは多い)楽曲数のアルバムCDから生成した特徴量順序パターンテーブル情報を選択して読み出す(ステップS125)。そして、読み出した当該選択した特徴量順序パターンテーブル情報に従って、楽曲編成される複数の楽曲の再生順序を決定する(ステップS126)。
ここで、選択される特徴量順序パターンテーブル情報は、自動編成において、ジャンルやアーティストが指定された場合には、当該ジャンルやアーティストのアルバムCDに基づいて生成された特徴量順序パターンテーブル情報とされる。
そして、楽曲の再生順序は、次のようにして決定される。例えば、前述した図13(B)に示した特徴量順序パターンテーブルが、ステップS125で選択された場合には、楽曲特徴量としてのテンポ情報が最小の楽曲は、再生順序が14番目(トラックNo.14)とされ、テンポ情報が2番目に小さい楽曲は、再生順序が6番目(トラックNo.6)とされ、テンポ情報が3番目に小さい楽曲は、再生順序が13番目(トラックNo.13)とされ、・・・というように、各楽曲の再生順序が決定される。
その結果、編成されたグループ再生される複数個の楽曲は、図20(B)に示すように、雛型として用いられた特徴量順序パターンテーブル情報が生成されたアルバムCDにおける複数の楽曲の楽曲特徴量の並び順と等しくなるような並び順で、楽曲編成される。
この実施形態では、以上のようにして、並び順が決定されて編成された複数個の楽曲についての並び順を含めた一覧情報が、ディスプレイ12の画面に表示される(ステップS127)。この一覧情報には、楽曲名やアーティスト名などを併せて表示することができる。
そして、CPU101は、以上のようにして、編成したグループの複数個の楽曲を順次に再生する(ステップS128)。次に、CPU101は、操作部11を通じて再生終了操作(ストップキーの操作)がなされたか否か判別し(ステップS129)、当該再生終了操作がなされていないと判別したときには、ステップS128に戻り、選択指定された楽曲の音響再生が継続される。
ステップS129で、再生終了操作がなされたと判別したときには、CPU101は、操作部11を通じて他のモードへの変更入力操作を受け付けたか否か判別し(ステップS130)、他のモードへの変更入力操作を受け付けてはいないと判別したときには、ステップS111に戻り、次に再生する楽曲の選択指定を待つ。
また、ステップS130で他のモードへの変更入力操作を受け付けたと判別したときには、CPU101は、指定された他のモードの処理ルーチンの処理に移行する(ステップS131)。
以上のようにして、この発明によれば、グループ再生する複数個の楽曲の再生順序を、それらグループ再生する複数個の楽曲のそれぞれの楽曲特徴量が雛型特徴量順序パターンテーブル情報に示される楽曲特徴量の順序に従うように、決定するので、楽曲特徴量が類似する複数の楽曲が連続してしまって、ユーザが飽きてしまうようなことを防止することができる。
[変形例]
なお、楽曲特徴量は、前述のような拍数で表わされるテンポ情報ではなく、前記計測時間内におけるテンポ情報の分布情報をも用いることができる。例えば、テンポ情報は、所定の幅の範囲で、その値(拍数など)がばらつくが、そのばらつきが、拍数の大きいほうに偏っているのか、拍数の小さいほうに偏っているのか、あるいは、拍数の平均値(中央値)を中心に左右対称となっているかなどを、特徴量として用いることができる。
その場合、例えば拍数の平均値を中心に左右対称となっているパターンを±0とし、拍数が大きい方に偏りがあればプラスの数値とすると共に、その偏りに応じてプラスの大きな数値を割り当て、一方、拍数が小さい方に偏りがあれば、マイナスの数値とすると共に、その偏りに応じてマイナスの大きな数値を割り当てるようにすることにより、特徴量を数値化できる。
また、楽曲特徴量としてのテンポ情報を得る方法は、上述の例の方法に限られるものではなく、例えば、特開2002−116754号公報に記載された技術を用いることもできる。すなわち、特開2002−116754号公報に記載された技術は、楽曲の音声データを時系列データとして取り込み、この音声データの自己相関を算出することにより当該音声データのピーク位置を検出して、テンポの候補を取得するようにし、一方で、自己相関パターンのピーク位置とそのレベルから当該楽曲のビート構造を解析し、テンポの候補とビート構造の解析結果とに基づいて、最も適切と思われるテンポを推定するものである。
なお、楽曲特徴量としては、テンポに限られるものではなく、楽曲毎の再生時間(再生時間長)や、曲調(例えば明るい楽曲、暗い楽曲など)などを算出して用いることもできる。
また、上述の実施形態では、全てのアルバムCDについて、特徴量順序パターンテーブルの情報を生成するように説明したが、ユーザが指示したアルバムCDからの楽曲データの取り込み時にのみ、特徴量順序パターンテーブルの情報の生成を行なうようにしてもよい。
また、Webサーバからの楽曲データの取り込み時にも、アルバム単位の楽曲データの取り込みが可能であれば、Webサーバからの取り込み時にも、特徴量順序パターンテーブルの情報の生成を行なうようにすることもできる。
110…記録データ格納部、113…楽曲特徴量算出部、114…楽曲特徴量記憶部、115…楽曲編成部、116…特徴量順序パターンテーブル生成部、117…特徴量順序パターンテーブル保存部