以下、本発明の実施の形態に係る音響信号分析制御装置および音響信号分析制御プログラムについて図面を用いて詳細に説明する。
(1)電子音楽装置の構成
図1は本発明の実施の形態に係る音響信号分析制御装置を含む電子音楽装置の構成を示すブロック図である。図1の電子音楽装置1によれば、ユーザは演奏を行うことができるとともに楽曲の制作、後述する自動演奏データおよび自動伴奏データの制作等の音楽制作を行うことができる。また、電子音楽装置1は、ユーザによる音楽制作および演奏を支援するために音響信号分析制御装置100を含む。
電子音楽装置1は、演奏データ入力部2、入力I/F(インタフェース)3、設定操作子4、検出回路5、タッチパネルディスプレイ6、検出回路7および表示回路8を備える。演奏データ入力部2は、鍵盤またはマイク等を含み、入力I/F3を介してバス20に接続される。ユーザの演奏動作に基づく演奏データが演奏データ入力部2により入力される。設定操作子4は、オンオフ操作されるスイッチ、回転操作されるロータリエンコーダ、またはスライド操作されるリニアエンコーダ等を含み、検出回路5を介してバス20に接続される。この設定操作子4は、音量の調整、電源のオンオフおよび各種設定を行うために用いられる。
タッチパネルディスプレイ6は、検出回路7および表示回路8を介してバス20に接続される。タッチパネルディスプレイ6には、後述する図3の表示画面および各種情報が表示される。ユーザは、タッチパネルディスプレイ6を操作することにより各種操作を指示することができる。
電子音楽装置1は、RAM(ランダムアクセスメモリ)9、ROM(リードオンリメモリ)10、CPU(中央演算処理装置)11、タイマ12および記憶装置13をさらに備える。RAM9、ROM10、CPU11および記憶装置13はバス20に接続され、タイマ12はCPU11に接続される。外部記憶装置15等の外部機器が通信I/F(インタフェース)14を介してバス20に接続されてもよい。RAM9、ROM10、CPU11およびタイマ12がコンピュータを構成する。
RAM9は、例えば揮発性メモリからなり、CPU11の作業領域として用いられるとともに、各種データを一時的に記憶する。ROM10は、例えば不揮発性メモリからなり、システムプログラム、音響信号分析制御プログラムおよび分析プログラム等のコンピュータプログラムを記憶する。CPU11は、ROM10に記憶された音響信号分析制御プログラムをRAM9上で実行することにより後述する分析制御処理を行う。タイマ12は、現在時刻等の時間情報をCPU11に与える。
記憶装置13は、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含む。この記憶装置13には、一または複数の楽曲データが記憶される。楽曲データは、楽曲を表す音響信号(オーディオデータ)である。ここで、楽曲は、広く音楽の曲を意味し、楽器の演奏による曲および人の声による曲を含む。また、音響信号は、楽曲の音の変化を表す波形信号を所定のサンプリング周期でサンプリングすることにより得られる複数のサンプリング値からなる。楽曲データは、楽曲の全体を表す音響信号であってもよく、または楽曲の一部(例えば一部のフレーズ)を表す音響信号であってもよい。
演奏データ入力部2から入力される演奏データに基づいて楽曲データが生成され、記憶装置13に記憶されてもよい。なお、単に音の変化を表す音響信号が楽曲データとして記憶装置13に記憶されてもよい。また、記憶装置13には、自動演奏データ、自動伴奏データ、伴奏スタイルデータ、音符表示データ等が記憶される。上記の音響信号分析制御プログラムおよび分析プログラムが記憶装置13に記憶されてもよい。
外部記憶装置15は、記憶装置13と同様に、ハードディスク、光学ディスク、磁気ディスクまたはメモリカード等の記憶媒体を含む。この外部記憶装置15に楽曲データ等の各種データ、音響信号分析制御プログラムまたは分析プログラムが記憶されてもよい。
なお、本実施の形態における音響信号分析制御プログラムおよび分析プログラムは、コンピュータが読み取り可能な記録媒体に格納された形態で提供され、ROM10または記憶装置13にインストールされてもよい。また、通信I/F14が通信網に接続されている場合、通信網に接続されたサーバから配信された音響信号分析制御プログラムおよび分析プログラムがROM10または記憶装置13にインストールされてもよい。
電子音楽装置1は、音源16、効果回路17およびサウンドシステム18をさらに備える。音源16および効果回路17はバス20に接続され、サウンドシステム18は効果回路17に接続される。音源16は、演奏データ入力部2から入力される演奏データ、記憶装置13から与えられる自動演奏データまたは自動伴奏データ等に基づいて楽音信号を生成する。効果回路17は、記憶装置13から与えられる楽曲データまたは音源16により生成される楽音データに音楽的効果を付与する。サウンドシステム18は、デジタルアナログ(D/A)変換回路、増幅器およびスピーカを含む。このサウンドシステム18は、記憶装置13から効果回路17を通して与えられる楽曲データまたは音源16から効果回路17を通して与えられる楽音信号をアナログ音信号に変換し、アナログ音信号に基づく音を発生する。それにより、楽曲データ、自動演奏データまたは自動伴奏データ等が再生される。
電子音楽装置1において、主としてタッチパネルディスプレイ6、RAM9、ROM10、CPU11、タイマ12、記憶装置13、サウンドシステム18およびバス20が音響信号分析制御装置100を構成する。
音響信号分析制御装置100では、記憶装置13に記憶された複数の楽曲データに関する一般的な操作(以下、操作と略記する)を指示することができる。操作には、楽曲データの選択、楽曲データの再生、楽曲データの再分析および楽曲データに関する音楽情報の表示等が含まれる。ユーザによる楽曲データへの操作の指示に連動して、楽曲データから音楽情報を抽出するための分析が行われる。音楽情報とは、テンポ、拍点、コード、調、拍子および演奏位置等を含む。本実施の形態では、少なくともテンポが音楽情報として抽出される。
楽曲データの分析により複数種類の音楽情報が抽出されてもよい。
楽曲データの分析は、ROM10または記憶装置13に記憶される分析プログラムに楽曲データを入力することにより行われる。分析プログラムは、バージョンアップ等により更新される。再分析とは、分析済みの楽曲データを再度分析することをいう。
(2)音響信号分析制御装置100の機能的な構成
図2は本発明の実施の形態に係る音響信号分析制御装置100の機能的な構成を示すブロック図である。図2に示すように、音響信号分析制御装置100は、記憶部101、分析部102、検出部103、実行部104、判定部105および制御部106を含む。
記憶部101は、図1の記憶装置13により構成される。分析部102は、ROM10または記憶装置13に記憶される分析プログラムにより実現される。検出部103は、タッチパネルディスプレイ6およびCPU11により構成される。実行部104は、タッチパネルディスプレイ6、CPU11およびサウンドシステム18により構成される。また、CPU11がROM10または記憶装置13に記憶された音響信号分析制御プログラムを実行することにより分析部102、検出部103、実行部104、判定部105および制御部106の機能が実現される。
記憶部101は、一または複数の楽曲データを記憶する。分析部102は、分析プログラムに従って、記憶部101に記憶された楽曲データの分析を行うことにより楽曲データから音楽情報を抽出する。検出部103は、記憶部101に記憶された楽曲データへの操作の指示を検出する。本実施の形態では、検出部103は、ユーザによる楽曲データの選択、楽曲データの再生、楽曲データの再分析および楽曲データに関する音楽情報の表示の指示を検出する。
実行部104は、検出部103により検出された操作の指示を実行する。本実施の形態では、実行部104は、ユーザの操作による楽曲データの選択、楽曲データの再生、楽曲データの再分析および楽曲データに関する音楽情報の表示の指示を実行する。
判定部105は、楽曲データへの操作の指示が検出部103により検出された場合に、指示された楽曲データの分析が可能か否かを判定する。本実施の形態では、判定部105は、一の楽曲データに対する操作の指示の検出時点で他の楽曲データが分析中である場合に、指示された楽曲データの分析が可能でないと判定する。また、判定部105は、一の楽曲データに対する操作の指示の検出時点で、指示された楽曲データよりも高い優先順位を有する他の楽曲データの分析が待機状態でない場合に、指示された楽曲データの分析が可能であると判定する。
制御部106は、指示された楽曲データの分析が可能であると判定部105により判定された場合に、指示された楽曲データの分析を開始するように分析部102を制御する。また、制御部106は、指示された楽曲データの分析が可能でないと判定部105により判定された場合に、指示された楽曲データの分析を待機させ、指示された楽曲データの分析が可能になった後に、指示された楽曲データの分析を開始するように分析部102を制御する。
(3)表示画面の説明
図3は図1のタッチパネルディスプレイ6に表示される表示画面の一例を示す図である。本例では、図1の記憶装置13に複数の楽曲データS1〜S8が記憶されているものとする。
表示画面600には、複数の楽曲データS1〜S8にそれぞれ対応する複数の楽曲表示欄601〜608が表示される。楽曲表示欄601〜608の各々には、主として再生表示610、楽曲名表示620および再分析ボタン630が設けられる。図3においては、楽曲表示欄601〜608内に楽曲データS1〜S8が括弧書きで表示されている。また、分析済みの楽曲データに対応する楽曲表示欄には、分析結果640が表示される。本例では、分析結果640として楽曲データのテンポが表示される。図3の例では、楽曲データS1,S4,S6の分析が終了している。そのため、楽曲表示欄601,604,606内に分析結果640であるテンポが表示されている。分析結果640の表示は、分析の終了の表示を兼ねる。
本実施の形態では、選択の指示と再生の指示とが兼用される。ユーザが楽曲表示欄601〜608のいずれかを指定することにより、楽曲データの選択および再生が指示される。ユーザは、タッチパネルディスプレイ6の画面上の該当部分をタッチすることにより指定を行うことができる。
例えば、ユーザが楽曲表示欄601を指定すると、楽曲データS1が選択されるとともに、楽曲データS1の再生が開始される。この場合、楽曲表示欄601の表示態様が選択状態になり、楽曲表示欄601内の再生表示610がオン状態になる。図3の例では、選択状態がハッチングで示される。実際には、色の変化により選択状態と非選択状態とが表される。また、再生表示610のオン状態とオフ状態とは色の反転により表される。楽曲データS1の分析は既に終了しているため、楽曲データS1の分析は行われない。楽曲データS1の再生が終了するまでユーザが他の操作を指示しない場合には、楽曲データS1の再生の終了後に再生表示610はオフ状態に切り替わる。
次に、ユーザが楽曲データS1の再生中に楽曲表示欄602を指定すると、楽曲データS2が選択されるとともに、楽曲データS1の再生が停止され、楽曲データS2の再生が開始される。この場合、楽曲表示欄601の表示態様が非選択状態になり、楽曲表示欄602の表示態様が選択状態になる。楽曲表示欄601内の再生表示610はオフ状態となり、楽曲表示欄602内の再生表示610がオン状態になる。また、楽曲データS2は分析されていないため、楽曲データS2の分析が開始される。楽曲データS2の分析が終了する前にユーザが楽曲表示欄603を指定すると、楽曲データS3が選択されるとともに、楽曲データS2の再生が停止され、楽曲データS3の再生が開始される。この場合には、楽曲データS3の分析が待機させられ、楽曲データS2の分析の終了後に、楽曲データS3の分析が開始される。
ユーザは、同じ楽曲表示欄の指定により再生の開始と再生の停止とを切り替えることができる。例えば、ユーザが楽曲表示欄601を指定すると、楽曲データS1の再生が開始され、ユーザが楽曲表示欄601を再度指定すると楽曲データS1の再生が停止される。
ユーザが複数の再分析ボタン630のいずれかを指定すると、指定された再分析ボタン630に対応する楽曲データの選択および分析が指示される。なお、再分析ボタン630の指定により対応する楽曲データの再生が指示されてもよい。例えば、ユーザが楽曲表示欄606の再分析ボタン630を指定すると、楽曲表示欄606の表示態様が選択状態になり、楽曲データS6の分析が再度指示される。
この場合、表示画面600上または他の画面上でユーザに分析条件が提示される。分析条件としては、例えば、「追加情報なしで分析」、「現在抽出されているテンポを半分のテンポとして分析」および「現在抽出されているテンポを2倍のテンポとして分析」がある。例えば、分析により楽曲データのテンポが本来の楽曲データのテンポの2倍または2分の1として抽出される場合がある。楽曲データから抽出されたテンポが楽曲データの本来のテンポと明らかに異なる場合には、抽出されたテンポが速すぎる、または遅すぎるとユーザが気づく可能性が高い。このような場合には、ユーザは、分析条件を指定して楽曲データの再分析を指示することができる。
図3の例において、楽曲データS6の分析結果640としてテンポが142bpmと表示されている。ユーザは、楽曲データS6のテンポとして142bpmが速すぎると考えた場合、「半分のテンポとして分析」という分析条件を指定することができる。この場合、楽曲データS6のテンポが72bpmであるとして楽曲データS6が再分析される。また、ユーザは、楽曲データS6のテンポとして142bpmが妥当であると考えた場合、「追加情報なしで分析」という分析条件を指定することができる。この場合、分析条件なしに楽曲データS6が再分析される。なお、分析条件を示す追加情報は、テンポに関する追加情報に限定されず、拍点等の他の音楽情報に関する追加情報であってもよい。
表示画面600の最上部には、音楽情報表示ボタン650および付属情報表示ボタン660が表示される。ユーザが音楽情報表示ボタン650を指定すると、選択状態にある楽曲表示欄に対応する楽曲データの分析結果が別の音楽情報表示画面に表示される。例えば、楽曲表示欄606が選択状態にあるときに、ユーザが音楽情報表示ボタン650を指定すると、音楽情報表示画面が開く。音楽情報表示画面には、分析により抽出された音楽情報が抽出順に表示される。例えば、テンポの他にコードシーケンスが小節線と拍点位置とに合わせて表示される。
なお、上記の再分析ボタン630が音楽情報表示画面に表示されてもよい。この場合、ユーザは音楽情報表示画面に表示された音楽情報を見ながら、再分析ボタン630を指定することにより楽曲データの再分析を指示することができる。ユーザが付属情報表示ボタン660を指定すると、選択状態にある楽曲表示欄に対応する楽曲データに付随する画像データ等の付随情報が別の画面に表示される。
表示画面600の複数の楽曲表示欄601〜608の上方には、全楽曲データ分析ボタン670が表示される。ユーザが全楽曲データ分析ボタン670を指定すると、分析済みか否かに関らず、表示画面600に表示された全ての楽曲表示欄601〜608に対応する楽曲データS1〜S8が表示順に分析される。分析プログラムの更新時等には、楽曲データの再分析の指示を個別に行うのではなく、全楽曲データに対して再分析の指示を行うことにより全ての楽曲データの再分析が効率的に行われる。
さらに、表示画面600には終了ボタン680が表示される。ユーザは終了ボタン680を指定することにより楽曲データの再生の停止または楽曲データの分析の停止を指示することができる。
(4)分析制御処理の動作例
図4は複数の楽曲データの再生所要時間、分析所要時間および分析結果の例を示す図である。図4の楽曲データS1〜S8の再生所要時間、分析所要時間および分析結果は、図1の記憶装置13に記憶される。
図4には、分析結果として抽出された音楽情報のうちテンポが代表的に示される。分析により抽出されたテンポは、楽曲データと対応付けて記憶装置13に記憶される。分析により抽出された他の音楽情報も楽曲データと対応付けて記憶装置13に記憶される。図4の例では、楽曲データS1,S4,S6の分析が既に終了している。一方、他の楽曲データS2,S3,S5,S7,S8については分析が一度も行われていない。
次に、図4の状態に基づく分析制御処理の動作例について説明する。図5は分析制御の第1の動作例を示し、図6は分析制御処理の第2の動作例を示し、図7は分析制御処理の第3の動作例を示す。
図5の第1の動作例においては、時点t2,t3,t4,t5,t6,t7,t8で楽曲表示欄602〜608の指定により楽曲データS2〜S8が5〜15秒の間隔で順に選択される。それにより、楽曲データS2〜S8が順に再生される。楽曲データS4,S6については既に分析済みであるため、楽曲データS4,S6の分析は行われない。
時点t3では、楽曲データS2の分析が終了していないので、楽曲データS3の分析は待機させられる。時点t30で楽曲データS2の分析が終了すると、楽曲データS3の分析が開始される。時点t5,t6では、楽曲データS3の分析が終了していないので、楽曲データS5の分析は待機させられる。時点t7でも、楽曲データS3の分析が終了していないので、楽曲データS5,S7の分析が待機させられる。時点t70で楽曲データS3の分析が終了すると、楽曲データS5の分析が開始される。
時点t8では、楽曲データS5の分析が終了していないので、楽曲データS7の分析は待機させられる。時点t80で楽曲データS5の分析が終了すると、楽曲データS7の分析が開始される。時点t90で楽曲データS7の分析が終了すると、楽曲データS8の分析が開始される。時点t100で楽曲データS8の分析が終了する。楽曲データS8の分析の終了は、楽曲データS8の選択から55秒後である。このように、本例では、楽曲データの選択順に分析の優先順位が高い。
図6の第2の動作例においては、時点t2,t3,t4,t5で楽曲表示欄602〜605の指定により楽曲データS2〜S5が順に選択される。それにより、楽曲データS2〜S5が順に再生される。楽曲データS4については既に分析済みであるため、楽曲データS4の分析は行われない。時点t2〜t5での動作は図4の動作と同様である。
その後、時点t6で楽曲表示欄606の再分析ボタン630の指定により楽曲データS6の再分析が指示される。時点t7,t8で楽曲表示欄607,608の指定により楽曲データS7,S8が順に選択される。
時点t6,t7では、楽曲データS3の分析が終了していないので、楽曲データS5,S6,S7の分析は待機させられる。時点t70で楽曲データS3の分析が終了すると、楽曲データS6の分析が楽曲データS5の分析に優先して開始される。時点t8では、楽曲データS6の分析が終了していないので、楽曲データS5,S7,S8の分析は待機させられる。時点t81で楽曲データS6の分析が終了すると、楽曲データS5の分析が開始される。時点t82で楽曲データS5の分析が終了すると、楽曲データS7の分析が開始される。時点t91で楽曲データS7の分析が終了すると、楽曲データS8の分析が開始される。時点t101で楽曲データS8の分析が終了する。楽曲データS8の分析の終了は、楽曲データS8の選択から75秒後である。本例では、再分析ボタン630による再分析の指示の時点で再分析の対象である楽曲データS6の分析の優先順位が最も高い。
図7の第3の動作例においては、時点t2,t3,t4,t5で楽曲表示欄602〜605の指定により楽曲データS2〜S5が順に選択される。それにより、楽曲データS2〜S5が順に再生される。楽曲データS4については既に分析済みであるため、楽曲データS4の分析は行われない。時点t1〜t5での動作は図5の動作と同様である。
その後、時点t6で楽曲表示欄607の指定により楽曲データS7が選択される。それにより、楽曲表示欄607が選択状態となる。時点t6では、楽曲データS3の分析が終了していないので、楽曲データS5,S7の分析は待機させられる。
その後、時点t7で音楽情報表示ボタン650の指定により音楽情報表示が指示される。それにより、楽曲表示欄607に対応する楽曲データS7の音楽情報を表示するための音楽情報表示画面が表示される。
時点t7では、楽曲データS3の分析が終了していないので、楽曲データS5,S7の分析は待機させられる。時点t70で楽曲データS3の分析が終了すると、楽曲データS7の分析が楽曲データS5の分析に優先して開始される。楽曲データS7の分析により抽出される音楽情報は、音楽情報表示画面に順次表示される。時点t71で楽曲データS7の分析が終了すると、楽曲データS5の分析が開始される。時点t72で楽曲データS5の分析が終了する。本例では、音楽情報表示ボタン650による音楽情報表示の指示の時点で選択されている楽曲データS7の分析の優先順位が最も高い。
楽曲データS7の分析の終了は、楽曲データS7の選択から40秒後であり、音楽情報の表示指示から35秒後である。一方、楽曲データS5の分析の終了は、楽曲データS5の選択から60秒後である。楽曲データS7の音楽情報表示の指示を行わない場合には、楽曲データS5の分析が楽曲データS7の分析より先に行われる。この場合、楽曲データS7の分析の終了は、楽曲データS7の選択から50秒後である。一方、楽曲データS5の分析の終了は、楽曲データS5の選択から30秒後である。
(5)音響信号分析制御装置100の動作
図8〜図13は音響信号分析制御装置100により行われる分析制御処理を示すフローチャートである。図8〜図13の分析制御処理は、図1のCPU11がROM10または記憶装置13に記憶された音響信号分析制御プログラムを実行することに行われる。図8〜図13のフローチャートにおいては、判断ステップを横長の六角形で表す。
分析待ちリストおよび分析中フラグがRAM9または記憶装置13に記憶される。分析待ちリストには、分析の待機状態にある楽曲データを特定するための情報(以下、特定情報と呼ぶ)が登録される。また、いずれかの楽曲データの分析が行われているときには分析中フラグがオンとなり、いずれの楽曲データの分析も行われていないときには分析中フラグがオフとなる。以下の説明において、選択されている楽曲データを選択中楽曲と呼び、分析中の楽曲データを分析中楽曲と呼ぶ。
まず、CPU11は初期化処理を行う(ステップS11)。それにより、分析待ちリストが空の状態になり、分析中フラグがオフとなり、選択中楽曲および分析中楽曲は「なし」になる。また、CPU11はタッチパネルディスプレイ6に図3の表示画面600を表示させる(ステップS12)。表示画面600の複数の楽曲表示欄601〜608は非選択状態とされ、複数の再生表示610はオフ状態にされる。分析済みの楽曲データに対応する楽曲表示欄にはテンポを示す分析結果640が表示される。
次に、CPU11は、終了指示を検出したか否かを判定する(ステップS13)。ユーザは、図3の終了ボタン680を指定することにより終了を指示することができる。終了指示が検出された場合には、CPU11は終了処理を行う(ステップS14)。この場合、楽曲データが再生中のときには、CPU11は再生を停止させる。楽曲データが分析中のときには、CPU11は分析中の楽曲データの分析が終了した後、抽出された音楽情報を分析済みの楽曲データに対応付けて記憶装置13に記憶させ、それ以降の楽曲データの分析を中止する。
ステップS13において終了指示が検出されない場合には、CPU11は表示画面600上のいずれかの楽曲データに対する操作が検出されたか否かを判定する(ステップS15)。いずれかの楽曲データに対する操作が検出された場合には、後述する図9〜図12に示す操作検出時の処理を行う(ステップS16)。本例では、説明を簡単にするために、付属情報表示ボタン660による付属情報表示の際の処理の説明については省略する。操作検出時の処理の終了後、CPU11はステップS17に進む。
ステップS15においていずれの楽曲データに対する操作も検出されない場合には、CPU11は分析中フラグがオンであるか否かを判定する(ステップS17)。分析中フラグがオンである場合には、後述する図13の分析開始制御処理を行う(ステップS18)。分析開始制御処理の終了後、CPU11はステップS19に進む。
ステップS17において分析中フラグがオフである場合には、CPU11はその他の処理を行う(ステップS19)。その他の処理は、音量調整処理および画面設定処理等を含む。通常、制作後の楽曲データのダイナミクスは標準化されている。それにより、一般の音楽再生装置では、楽曲データは標準音量レベルで再生される。一方、本実施の形態に係る電子音楽装置1を用いて音楽制作のために楽曲データを選択的に再生する際には、ユーザは音量が大きすぎると感じることがある。この場合、記憶装置13に記憶された楽曲データの音量レベルを標準音量レベルよりも例えば6dB程度下げて再生を行うと、聴きやすい音量になることが多い。そこで、CPU11は記憶装置13に記憶された楽曲データの音量レベルを音量調整処理により標準音量レベルよりもある程度(予め定められた量)低く調整してもよい。なお、CPU11は選択された楽曲データを再生および分析する際にその楽曲データの音量レベルを音量調整処理により調整してもよい。
また、ステップS19のその他の処理において、全楽曲データ分析指示の検出時の処理が行われてもよい。ユーザは、図3の全楽曲データ分析ボタン670を指定することにより全楽曲データ分析を指示することができる。分析中フラグがオフの状態で全楽曲データ分析指示が検出された場合、図3の表示画面600に表示される全ての楽曲データについて順に再分析が指示される。この場合、CPU11は、1番目の楽曲データの再分析を開始し、他の楽曲データの特定情報を分析待ちリストに順に登録する。一方、分析中フラグがオンの状態で全楽曲データ分析指示が検出された場合には、CPU11は分析待ちリストに登録された特定情報を一旦削除し、全ての楽曲データの特定情報を分析待ちリストに順に登録する。
次に、図9〜図12を参照しながら図8のステップS16の操作検出時に処理について説明する。CPU11は、音楽情報表示ボタン650の指定による音楽情報表示指示が検出されたか否かを判定する(ステップS21)。音楽情報表示指示が検出されない場合、CPU11は再分析ボタン630の指定による再分析指示が検出されたか否かを判定する(ステップS22)。再分析指示が検出されない場合、CPU11は楽曲表示欄601〜608の指定による選択指示が検出されたか否かを判定する(ステップS23)。
選択指示が検出された場合、CPU11は選択指示された楽曲データが選択中楽曲であるか否かを判定する(ステップS24)。選択指示された楽曲データが選択中楽曲でない場合、CPU11は選択中楽曲の表示態様を非選択状態に変更する(ステップS25)。また、CPU11は、選択中楽曲が再生中であるか否かを判定する(ステップS26)。選択中楽曲が再生中である場合には、CPU11は選択中楽曲の再生を停止するとともに選択中楽曲に対応する再生表示610をオフ状態に変更する(ステップS27)。また、CPU11は、選択中楽曲を選択された楽曲データに変更する(ステップS28)。ステップS26において選択中楽曲が再生中でない場合には、CPU11はステップS28に進む。次いで、CPU11は、選択中楽曲の表示態様を選択状態に変更する(ステップS29)。また、CPU11は、選択中楽曲の再生を開始するとともに選択中楽曲に対応する再生表示610をオン状態に変更する(ステップS30)。
例えば、図3の楽曲表示欄601が選択状態であるときに、ユーザが楽曲表示欄602を指定する。その場合、楽曲表示欄601が非選択状態に変更され、楽曲データS1の再生が停止されるとともに楽曲表示欄601の再生表示610がオフ状態に変更される。さらに、楽曲表示欄602が選択状態に変更され、楽曲データS2の再生が開始されるとともに楽曲表示欄602の再生表示610がオン状態に変更される。
その後、CPU11は、選択中楽曲が分析済みであるか否かを判定する(図10のステップS31)。選択中楽曲が分析済みでない場合には、CPU11は分析中フラグがオフであるか否かを判定する(ステップS32)。分析中フラグがオンである場合には、CPU11は選択中楽曲が分析中楽曲であるか否かを判定する(ステップS33)。すなわち、CPU11は選択された楽曲データが分析中であるか否かを判定する。選択中楽曲が分析中楽曲でない場合には、CPU11は分析待ちリストに選択中楽曲の特定情報があるか否かを判定する(ステップS34)。分析待ちリストに選択中楽曲の特定情報がない場合には、CPU11は選択中楽曲の特定情報を分析待ちリストの末尾に追加し(ステップS35)、図8のステップS17に進む。
例えば、図3の楽曲表示欄602の楽曲データS2が分析済みでなくかつ他の楽曲データが分析中である場合には、楽曲データS2の特定情報が分析待ちリストの末尾に追加される。それにより、楽曲データS2の分析が待機させられる。
ステップS32において分析中フラグがオフである場合には、CPU11は分析中フラグをオンする(ステップS40)。また、CPU11は分析中楽曲を選択中楽曲とし(ステップS41)、分析中楽曲の分析を開始する(ステップS42)。その後、CPU11は図8のステップS17に進む。
例えば、図3の楽曲表示欄602の楽曲データS2が分析済みでなくかつ他の楽曲データが分析中でない場合には、CPU11は楽曲データS2の分析を開始する。
ステップS31において選択中楽曲が分析済みである場合、ステップS33において選択中楽曲が分析中楽曲である場合、およびステップS34において分析待ちリストに選択中楽曲の特定情報がある場合には、CPU11は図8のステップS17に進む。
例えば、図3の楽曲表示欄602の楽曲データS2が選択されたとき、楽曲データS2が分析済みである場合、または楽曲データS2が分析中である場合、または他の楽曲データが分析中でかつ楽曲データS2が分析待ちリストにある場合には、楽曲データS2の選択指示の検出による楽曲データS2の分析開始は行われない。
図9のステップS24において選択指示された楽曲データが選択中楽曲である場合、CPU11は選択中楽曲が再生中であるか否かを判定する(ステップS43)。選択中楽曲が再生中である場合には、CPU11は選択中楽曲の再生を停止するとともに選択中楽曲に対応する再生表示610をオフ状態に変更し(ステップS44)、図8のステップS17に進む。ステップS43において選択中楽曲に対応する楽曲データが再生中でない場合には、CPU11は選択中楽曲の再生を開始するとともに選択中楽曲に対応する再生表示610をオン状態に変更し(ステップS45)、図8のステップS17に進む。
例えば、図3の楽曲表示欄601が選択状態でかつ再生表示610がオン状態であるときに、ユーザが同じ楽曲表示欄601を指定する。その場合、楽曲データS1の再生が停止されるとともに楽曲表示欄601の再生表示610がオフ状態に変更される。一方、図3の楽曲表示欄601が選択状態でかつ再生表示610がオフ状態であるときに、ユーザが同じ楽曲表示欄601を指定する。その場合、楽曲データS1の再生が開始されるとともに楽曲表示欄601の再生表示610がオン状態に変更される。
ステップS22において再分析ボタン630による再分析指示が検出された場合には、CPU11は図11のステップS50に進む。ステップS50において、CPU11は再分析指示された楽曲データが選択中楽曲であるか否かを判定する。再分析指示された楽曲データが選択中楽曲でない場合、CPU11は選択中楽曲の表示態様を非選択状態に変更する(ステップS51)。また、CPU11は、選択中楽曲が再生中であるか否かを判定する(ステップS52)。選択中楽曲が再生中である場合には、CPU11は選択中楽曲の再生を停止するとともに選択中楽曲に対応する再生表示610をオフ状態に変更する(ステップS53)。また、CPU11は、選択中楽曲を再生分析指示された楽曲データに変更する(ステップS54)。ステップS52において選択中楽曲が再生中でない場合には、CPU11はステップS54に進む。
次いで、CPU11は、選択中楽曲の表示態様を選択状態に変更する(ステップS55)。このとき、CPU11は、選択中楽曲の再生を開始するとともに選択中楽曲に対応する再生表示610をオン状態に変更してもよい。
例えば、図3の楽曲表示欄605が選択状態であるときに、ユーザが楽曲表示欄606の再分析ボタン630を指定する。その場合、楽曲表示欄605が非選択状態に変更され、楽曲データS5の再生が停止されるとともに楽曲表示欄605の再生表示610がオフ状態に変更される。また、楽曲表示欄606が選択状態に変更される。このとき、楽曲データS6の再生が開始されるとともに楽曲表示欄606の再生表示610がオン状態に変更されてもよい。
その後、CPU11は分析中フラグがオフであるか否かを判定する(ステップS56)。分析中フラグがオンである場合には、CPU11は選択中楽曲が分析中楽曲であるか否かを判定する(図12のステップS57)。すなわち、CPU11は選択された楽曲データが分析中であるか否かを判定する。
選択中楽曲が分析中楽曲でない場合には、CPU11は分析待ちリストに選択中楽曲の特定情報があるか否かを判定する(ステップS58)。分析待ちリストに選択中楽曲の特定情報がある場合には、CPU11は選択中楽曲の特定情報を分析待ちリストの先頭に移動させ(ステップS59)、図8のステップS17に進む。ステップS58において分析待ちリストに選択中楽曲の特定情報がない場合には、CPU11は選択中楽曲の特定情報を分析待ちリストの先頭に追加し(ステップS60)、CPU11は図8のステップS17に進む。
例えば、図3の楽曲表示欄606の再分析ボタン630が指定されかつ他の楽曲データが分析中である場合には、楽曲データS6の特定情報が分析待ちリストの先頭に登録される。それにより、楽曲データS6の再分析が待機させられる。この場合、楽曲データS6の分析の優先順位が最も高くなる。
図11のステップS56において分析中フラグがオフである場合には、CPU11は分析中フラグをオンにする(ステップS61)。また、CPU11は分析中楽曲を選択中楽曲とし(ステップS62)、分析中楽曲の分析を開始する(ステップS63)。その後、CPU11は図8のステップS17に進む。
例えば、図3の楽曲表示欄606の再分析ボタン630が指定されかつ他の楽曲データが分析中でない場合には、直ちに楽曲データS6の再分析が開始される。
図11のステップS50において再分析指示された楽曲データが選択中楽曲である場合、CPU11はステップS56に進み、ステップS61〜S63の処理または図12のステップS57〜S60の処理の終了後、図8のステップS17に進む。
例えば、図3の分析済みの楽曲データS6に対応する楽曲表示欄606が選択状態であるときに、ユーザが楽曲表示欄606の再分析ボタン630を指定する。他の楽曲データが分析中である場合には、楽曲データS6の特定情報が分析待ちリストの先頭に登録される。それにより、楽曲データS6の再分析が待機させられる。この場合、楽曲データS6の分析の優先順位が最も高くなる。
図9のステップS21において音楽情報表示ボタン650による音楽情報表示指示が検出された場合には、CPU11は図11のステップS70に進む。ステップS70において、CPU11は選択中楽曲があるか否かを判定する。選択中楽曲がある場合には、CPU11は選択中楽曲に対応する音楽情報表示画面をタッチパネルディスプレイ6に表示させる(ステップS71)。音楽情報表示画面には、分析により既に抽出されている音楽情報が表示される。音楽情報表示画面に表示される音楽情報は楽曲データの分析の進行に伴って更新される。音楽情報が全く抽出されていない場合には、音楽情報表示画面に音楽情報は表示されない。
なお、楽曲データの分析が終了していない場合に、まず、波形データおよび時間軸のように分析に関係しない情報を音楽情報表示画面に表示し、分析の終了後に音楽情報を表示するか、または分析の進行に伴って抽出される音楽情報を確定順に音楽情報表示画面に表示してもよい。
その後、CPU11は、選択中楽曲が分析済みであるか否かを判定する(ステップS72)。選択中楽曲が分析済みでない場合には、CPU11はステップS56に進み、再分析指示の検出時と同様に、ステップS56〜S63の処理を行う。
例えば、図3の楽曲表示欄607が選択状態であるときに、ユーザが音楽情報表示ボタン650を指定する。この場合、楽曲データS7に対応する音楽情報表示画面が表示される。他の楽曲データが分析中である場合には、楽曲データS7の特定情報が分析待ちリストの先頭に登録される。それにより、楽曲データS7の再分析が待機させられる。この場合、楽曲データS7の分析の優先順位が最も高くなる。他の楽曲データが分析中でない場合には、直ちに楽曲データS7の再分析が開始される。
図11のステップS70において選択中楽曲がない場合、およびステップS72において選択中楽曲が分析済みの場合には、CPU11は図8のステップS17に進む。また、図9のステップS23において選択指示が検出されない場合には、CPU11は図8のステップS17に進む。
次に、図13を参照しながら図8のステップS18の分析開始制御処理について説明する。CPU11は、分析中楽曲の分析が終了したか否かを判定する(ステップS81)。分析中楽曲の分析が終了した場合には、CPU11は分析中楽曲から抽出された音楽情報を分析中楽曲に対応付けて記憶装置13に記憶させる(ステップS82)。この場合、CPU11は、抽出された音楽情報を抽出順に表示してもよい。また、CPU11は、分析中楽曲から抽出された音楽情報のうちテンポを分析結果640として表示画面600の対応する楽曲表示欄に表示させる(ステップS83)。この場合、テンポを示す分析結果640が分析済みを表す表示態様である。
次に、CPU11は、分析待ちリストが空であるか否かを判定する(ステップS84)。分析待ちリストが空である場合には、CPU11は分析中フラグをオフにし(ステップS85)、分析中楽曲を「なし」に初期化する(ステップS86)。その後、CPU11は図8のステップS19に進む。
ステップS84において分析待ちリストが空でない場合には、CPU11は分析待ちリストの先頭に登録された特定情報に対応する楽曲データを分析中楽曲とする(ステップS87)。その後、CPU11は、分析待ちリストの先頭に登録された特定情報を削除する(ステップS88)。
次いで、CPU11は、分析中楽曲に対応する分析条件が指定されているか否かを判定する(ステップS89)。分析中楽曲に対応する分析条件が指定されている場合には、CPU11は指定された分析条件に従って分析中楽曲の分析を開始する(ステップS90)。ステップS89において分析中楽曲に対応する分析条件が指定されていない場合には、CPU11は分析条件なしで分析中楽曲の分析を開始する(ステップS91)。その後、CPU11は図8のステップS19に進む。
(6)実施の形態の効果
本実施の形態に係る音響信号分析制御装置100によれば、一の楽曲データの分析中にユーザが他の楽曲データの選択および再生、他の楽曲データの再分析または他の楽曲データに関する音楽情報の表示等の操作を指示した場合、他の楽曲データに関する操作が実行される。この場合、一の楽曲データの分析が継続されるとともに、他の楽曲データの分析が待機させられる。したがって、ユーザの操作の指示のタイミングに関らず既に分析中の楽曲データからの音楽情報の抽出が保障される。
また、楽曲データに関する操作と連動して、当該楽曲データの分析が行なわれるかまたは分析待ちリストに登録される。それにより、楽曲データに関する操作および楽曲データの分析の指示が煩雑とならない。したがって、ユーザは、効率的な操作の指示で楽曲データから音楽情報を抽出することができる。
さらに、ユーザが楽曲表示欄の指定により楽曲データを選択した場合には、選択された楽曲データが再生される。また、分析待ちリストに登録された特定情報に対応する楽曲データの分析が終了した後に、選択された楽曲データの分析が開始される。それにより、ユーザは、楽曲データを任意の順に選択することにより楽曲データの分析を選択順に行うことができる。
また、ユーザが再分析ボタン630の指定により楽曲データの再分析指示を行った場合には、分析中の楽曲データの分析が終了した後に、分析待ちリストの特定情報に対応する楽曲データに優先して、再分析指示された楽曲データの分析が行われる。それにより、ユーザは、再分析指示した楽曲データの分析を優先的に行うことができる。
また、ユーザが音楽情報表示ボタン650の指定により音楽情報表示指示を行った場合には、選択中の楽曲データの音楽情報が表示されるとともに、分析中の楽曲データの分析が終了した後に、分析待ちリストの特定情報に対応する楽曲データに優先して、選択中の楽曲データの分析が行われる。それにより、ユーザは、音楽情報表示指示の際に選択中の楽曲データの分析を優先的に行うことができる。
(7)音楽情報の利用例
ドラム等の複数のリズムのフレーズからテンポが抽出される場合、ユーザは、複数のフレーズのうち好みのフレーズをリズムパターンとして抽出されたテンポとともに保存し、演奏の際に、自己の演奏に合うテンポを有するリズムパターンを選択して用いることができる。
複数の楽曲データからテンポおよびコードが抽出される場合、ユーザは、抽出されたテンポに近い推奨テンポが設定された伴奏スタイルデータを選択することができる。それにより、ユーザは、楽曲データを再生しつつ、抽出されたコードを使用して選択した伴奏スタイルデータによる自動伴奏を行うことができる。また、ユーザの演奏の際に、抽出されたテンポに基づいて、ユーザの演奏のテンポが遅れている、または速すぎる等の状態を音声または表示により知らせることも可能である。さらに、楽曲データから抽出されたテンポをプレイリスト(再生リスト)の作成の参考にすることもできる。
抽出されたコードに基づいて、楽曲データの再生に合わせてハーモニー音を自動的に生成することが可能となる。ユーザが楽曲データの再生に合わせて演奏を行う場合には、抽出されたコードに合うようにユーザの演奏を補正することが可能となる。それにより、ユーザの演奏を楽曲データに自動的に合わせることができる。さらに、抽出されたコードに基づいて、コードシーケンス、自動伴奏データまたはハーモニーデータ等を生成することができる。
楽曲データからテンポおよび拍点が抽出される場合には、タッチパネルディスプレイ6に表示された楽譜上で演奏位置をユーザに示すことができる。また、抽出されたテンポおよび拍点に合わせてメトロノーム音を生成することができる。さらに、楽曲データに対応する演奏ガイドデータならびに抽出されたテンポおよび拍点に基づいてユーザの押鍵を指示する演奏ガイドを行うことができる。音符情報、拍点および拍子が抽出された場合には、楽譜表示データを生成することも可能である。
(8)他の実施の形態
楽曲データの選択と楽曲データの再生の開始/停止とが別の操作により指示されてもよい。この場合、再生表示610が再生ボタンに変更され、再生ボタンのオンおよびオフに再生の開始/停止が割り当てられる。また、楽曲表示欄601〜608の指定により楽曲データの選択のみが行われる。さらに、プレイリストのように予め設定された楽曲順に再生指示が自動的に行われてもよい。この場合、各楽曲データの冒頭部分(数秒程度)のみが順に自動的に再生されるように指示が行われてもよい。
複数の楽曲データの分析が待機状態である場合に、分析中の楽曲データの分析の終了時に最も近い時点で選択(再生)指示された楽曲データの分析が優先的に開始されてもよい。また、複数の楽曲データに共通の再分析ボタンを設けてもよい。この場合には、ユーザが共通の再分析ボタンを指定した時点で選択されている楽曲データの再分析が指示される。
音響信号分析制御プログラムのバージョンアップ等により分析プログラムが更新された場合に、全ての楽曲データが未分析の状態に変更されてもよい。この場合、各楽曲データを新たな分析プログラムにより分析することにより高い精度で音楽情報の抽出を行うことができる。また、分析プログラムが更新されたとき、またはユーザが分析条件を与えたときに再分析が行われてもよい。さらに、複数の分析手法がある場合には、ユーザが分析手法を切り替えたときに再分析が行われてもよい。
表示画面600上での楽曲データの追加、削除または編集の機能を設けてもよい。楽曲データが追加または編集された場合には、その楽曲データは未分析の状態になり、選択(再生の開始/停止)指示、音楽情報表示指示または再分析指示が検出されたときに分析が指示される。
音楽情報表示指示または再分析指示等の特定の指示の対象となる楽曲データの分析の優先順位が任意に設定可能であってもよい。例えば、特定の指示の対象となる楽曲データの特定情報を分析待ちリストの先頭または末尾以外の任意の位置に登録するようにユーザが設定可能であってもよい。それにより、ユーザは、特定の指示が検出された場合における楽曲データの分析の開始タイミングを任意に設定することができる。
楽曲データの予め設定された部分の分析が完了したときに楽曲データの分析が終了したと判定してもよい。また、楽曲データごとに分析完了位置を設定および記憶する機能を設け、楽曲データの先頭から分析完了位置までの分析が完了したときに分析が終了したと判定してもよい。同様に、楽曲データごとに分析開始位置を設定および記憶する機能を設け、楽曲データの分析開始位置から末尾(または分析完了位置)までの分析が完了したときに分析が終了したと判定してもよい。また、各楽曲名に対応するボタンの点灯表示、各楽曲名に対応して表示される文字または記号の表示、または楽曲名の表示態様の変更により分析の終了を示してもよい。
表示画面600の近くに配置されたボタン等のスイッチを用いて楽曲データの選択等の操作を指示してもよく、タッチパネルディスプレイ6の代わりに液晶ディスプレイ、有機EL(エレクトロルミネッセンス)ディスプレス等の表示装置を設け、楽曲データの選択等の操作を指示するためのマウスまたはスイッチ等の入力装置を設けてもよい。また、複数の楽曲データが電子音楽装置1または音響信号分析制御プログラムから参照可能な外部記憶装置15、他の電子音楽装置またはサーバ等の外部機器に記憶されてもよい。
ユーザが実際のテンポは抽出されたテンポより速いことまたは遅いことを示す指示を行うこと、または予想されるテンポの概略の数値を入力することにより、抽出されたテンポを修正する機能を設けてもよい。それにより、より高い精度で音楽情報を得ることができる。
上記実施の形態に係る音響信号分析制御装置100は、CPU11等のハードウエアおよび音響信号分析制御プログラム等のソフトウエアにより実現されるが、図2の音響信号分析制御装置100の各構成要素が電子回路等のハードウエアにより実現されてもよい。
(9)請求項の各構成要素と実施の形態の各部との対応
以下、請求項の各構成要素と実施の形態の各部との対応の例について説明するが、本発明は下記の例に限定されない。請求項の各構成要素として、請求項に記載されている構成または機能を有する他の種々の要素を用いることができる。
上記実施の形態では、ステップS21〜S23が検出ステップの例であり、ステップS28〜S30,S44,S45,S63,S71が実行ステップの例であり、ステップS31,S32,S56が判定ステップの例であり、ステップS33〜S35,S40〜S42,S58〜S63,S90,S91が分析ステップの例であり、CPU11がコンピュータの例である。また、選択および再生が第1の操作の例であり、再分析および音楽情報表示が第2の操作の例である。
さらに、記憶装置13または記憶部101が記憶手段の例であり、CPU11または分析部102が分析手段の例であり、CPU11または実行部104が実行手段の例であり、CPU11または判定部105が判定手段の例であり、CPU11または制御部106が制御手段の例である。