JP4973426B2 - テンポクロック生成装置およびプログラム - Google Patents

テンポクロック生成装置およびプログラム Download PDF

Info

Publication number
JP4973426B2
JP4973426B2 JP2007260031A JP2007260031A JP4973426B2 JP 4973426 B2 JP4973426 B2 JP 4973426B2 JP 2007260031 A JP2007260031 A JP 2007260031A JP 2007260031 A JP2007260031 A JP 2007260031A JP 4973426 B2 JP4973426 B2 JP 4973426B2
Authority
JP
Japan
Prior art keywords
beat
information
frequency
timing
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.)
Expired - Fee Related
Application number
JP2007260031A
Other languages
English (en)
Other versions
JP2009092681A (ja
Inventor
亮 大内
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2007260031A priority Critical patent/JP4973426B2/ja
Publication of JP2009092681A publication Critical patent/JP2009092681A/ja
Application granted granted Critical
Publication of JP4973426B2 publication Critical patent/JP4973426B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は、テンポクロックを生成する技術に関する。
ビート感のあるオーディオ信号からビート(beat;強いアクセントのあるリズム)を抽出する技術が開示されている。例えば、特許文献1では、音響信号からビートを抽出する装置が記載されている。
特開2007−033851号公報
上記特許文献1の技術においては、ビート抽出部が出力する信号の自己相関を求め、その極大値からBPM(Beat Per Minutes;一分間に4分音符が何個あるかを意味し、音楽の拍を表す)を推定する。また、そのBPMの値に応じた周波数で、推定されたビートに同期した位相の信号を、PLL(Phase Locked Loop)回路を用いて生成する。
しかし、上記の技術によれば、自己相関関数の極大値は、必ずしも4分音符の長さに対応した周期で現れるとは限らないため、適切に拍が特定できないこともある。例えば、図1で示されるように、シンコペーションしたリズムが入力された場合を例にとると、4分音符の長さに対応する周期では自己相関関数は極大にならないため、BPMの値を推定できない。実際、上記の例で自己相関関数が極大となる周期は、8分音符の長さに対応する周期と、付点4分音符の長さに対応する周期と、2分音符の長さに対応する周期などである。
また、ビート抽出部の出力信号が処理されるPLL回路における各種の設定、例えば同期引き込み範囲となるプルインレンジなどをユーザが設定する必要があり、操作が煩雑である。
本発明は上述の課題に鑑みてなされたものであり、精度良く簡易に、オーディオ信号に同期したテンポクロックを生成することを可能にする技術を提供することを目的とする。
本発明に係るテンポクロック生成装置は、楽曲を表すオーディオ信号を取得するオーディオ信号取得手段と、前記楽曲の拍のタイミングを示す拍情報を取得する拍情報取得手段と、前記楽曲のビートに対応するビート指示情報を取得するビート指示情報取得手段と、前記オーディオ信号取得手段により取得されたオーディオ信号が表す楽音のオンセットを順次抽出するオンセット検出手段と、前記オンセット検出手段が抽出したオンセットによって形成される波形について、当該波形に含まれる周波数成分を順次連続する所定フレーム長毎に検出する周波数成分検出手段と、前記周波数成分検出手段が検出した各周波数成分の中から、前記拍情報取得手段が取得した拍情報および前記ビート指示情報取得手段が取得したビート指示情報に対応する特定の周波数成分を前記楽曲のビート周波数として定めるビート周波数特定手段と、前記ビート周波数特定手段が特定した前記ビート周波数と、該特定されたビート周波数に対応する位相とを有する正弦波を生成する周期関数生成手段と、前記周期関数生成手段が生成した正弦波を各フレームについて重ね合わせる重合手段と、前記重合手段によって重ね合わされた正弦波について、その特定点が出現する特定点タイミングから、前記拍情報および前記ビート指示情報に基づいて複数のタイミングを選択し、該選択されたタイミングを示す情報を拍タイミング情報として出力する拍タイミング情報出力手段とを有することを特徴とする。
本発明に係るテンポクロック生成装置は、上記の構成において、前記拍情報取得手段は、操作に応じて拍のタイミングを示す操作情報を出力する操作手段を有し、前記操作手段が出力する操作情報を拍情報として取得しても良い。
本発明に係るテンポクロック生成装置は、上記の構成において、前記拍情報取得手段は、収音し対応する音を表す音信号を生成する収音手段を有し、前記収音手段が出力する音信号を拍情報として取得しても良い。
本発明に係るテンポクロック生成装置は、上記の構成において、前記拍情報取得手段は、前記オーディオ信号が表す楽曲の拍の少なくとも1つのタイミングと前記拍のテンポとを表すデータを拍情報として取得しても良い。
本発明に係るテンポクロック生成装置は、上記の構成において、前記拍タイミング情報出力手段は、前記楽曲における前記特定点タイミングの時刻を表すデータである拍タイミング情報を出力しても良い。
本発明に係るテンポクロック生成装置は、上記の構成において、前記ビート指示情報取得手段は、前記楽曲の1拍に含まれるビートの数をビート指示情報として取得しても良い。
その場合、前記ビート周波数特定手段は、前記拍情報から前記楽曲のテンポに対応する周波数を特定し、該特定された周波数に前記ビート指示情報が表す前記楽曲の1拍に含まれるビートの数を乗じた周波数に最も近似した値でピークを示す周波数を特定し、該特定された周波数を前記ビート周波数と定めるとしても良い。また、前記拍タイミング情報出力手段は、前記重合手段によって重ね合わされたおよそ正弦波形状の波形について、その特定点が出現する特定点タイミングから、前記拍情報により示される前記楽曲の拍と位相が同期するタイミングを特定し、該特定されたタイミングから、前記ビート指示情報が示す前記楽曲の1拍に含まれるビートの数ごとに他のタイミングを選択し、該選択された特定点タイミングを示す情報を拍タイミング情報として出力しても良い。
本発明に係るプログラムは、コンピュータを、楽曲を表すオーディオ信号を取得するオーディオ信号取得手段と、前記楽曲の拍のタイミングを示す拍情報を取得する拍情報取得手段と、前記楽曲のビートに対応するビート指示情報を取得するビート指示情報取得手段と、前記オーディオ信号取得手段により取得されたオーディオ信号が表す楽音のオンセットを順次抽出するオンセット検出手段と、前記オンセット検出手段が抽出したオンセットによって形成される波形について、当該波形に含まれる周波数成分を順次連続する所定フレーム長毎に検出する周波数成分検出手段と、前記周波数成分検出手段が検出した各周波数成分の中から、前記拍情報取得手段が取得した拍情報および前記ビート指示情報取得手段が取得したビート指示情報に対応する特定の周波数成分を前記楽曲のビート周波数として定めるビート周波数特定手段と、前記ビート周波数特定手段が特定した前記ビート周波数と、該特定されたビート周波数に対応する位相とを有する正弦波を生成する周期関数生成手段と、前記周期関数生成手段が生成した正弦波を各フレームについて重ね合わせる重合手段と、前記重合手段によって重ね合わされた正弦波について、その特定点が出現する特定点タイミングから、前記拍情報および前記ビート指示情報に基づいて複数のタイミングを選択し、該選択されたタイミングを示す情報を拍タイミング情報として出力する拍タイミング情報出力手段として機能させることを特徴とする。
本発明に係るテンポクロック生成装置およびプログラムによれば、精度良く簡易に、オーディオ信号に同期したテンポクロックを生成することが可能となる。
実施形態の説明に入る前に、楽曲の「拍子」、「テンポ」、および「ビート」について説明する。
楽曲において、基調となる所定の音符による拍が複数集まって小節をなし、該小節が周期的に繰り返される場合、「拍子」とは、その小節に含まれる上記所定の音符(拍)の数を示す。例えば、4分の4拍子の楽曲では、基調となる4分音符が4拍集まって1小節が構成される。
また、「テンポ」とは、上記基調となる所定の音符が発音される頻度であり、例えばテンポ120とは、4分音符が1分間に120回の頻度で発音される頻度である。
また、「ビート」とは、上記基調となる音符に対応する1拍について、どのようにリズムをとるかを示すものである。例えば4分の4拍子の場合、4分音符を単位にしてリズムをとると4ビートとなり、8分音符を単位にしてリズムをとると8ビートとなる。そのように、1つ1つの拍についてどの音符を単位にしてリズムをとるかを示すのがビートである。
以下の説明においては、上述した「拍子」、「テンポ」、および「ビート」の定義を用いて説明する。
以下、図面を参照しつつ、本発明を実施する際の最良の形態について説明する。
(A;構成)
図2は、本発明に係るテンポクロック生成装置1の全体構成を示す図である。テンポクロック生成装置1は、例えばパーソナルコンピュータで構成される。テンポクロック生成装置1は、制御部110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、操作部140、表示部150、HDD160(Hard Disk Drive)、音声処理部170、および音声処理部170に接続されたスピーカ180を有する。上記各部はバスを介して互いに接続されている。
制御部110は、例えばCPU(Central Processing Unit)であり、ROM120に格納された制御プログラムを実行することにより各部の制御を行う。
ROM120は、制御部110が実行する制御プログラムを格納している。
RAM130は、制御部110によってワークエリアとして利用される。
操作部140は、例えばキーボードやマウスであり各種の操作子を備える。操作部140はユーザによる操作内容を表す操作信号を制御部110へ出力する。
表示部150は、例えばLCD(Liquid Crystal Display)などの表示手段である。このディスプレイの画面には、オーディオ信号の処理に係る各種設定を行うためのメニュー画面が表示される。
HDD160は、大容量の記憶装置であり、楽曲を表すオーディオ信号を複数記憶している。該オーディオ信号は、例えばWAVE形式やMP3(MPEG-1 Audio Layer-3)形式の音データである。また、該オーディオ信号は時間波形を表すデータであり、音楽や人の声など各種のオーディオ帯域の音が含まれる。
なお、本実施形態においては、上記HDD160に含まれるオーディオ信号の中から、テンポは120、拍子は4分の4拍子、リズム構造は8ビートである特定のオーディオ信号について取り上げて具体的に説明する。
上記オーディオ信号の冒頭には、所定の間隔のインパルス音(以下、タッピング音)が所定時間付加されている。該タッピング音は、当該オーディオ信号に含まれる楽曲と同じテンポ(1分間に4分音符が120)であり、含まれる各インパルス音はオーディオ信号の拍と位相が同期している。
また、HDD160には、該オーディオ信号に含まれる楽曲のリズム構造を表すパラメータとして、N値が上記オーディオ信号と関連付けて書き込まれている。N値とは、オーディオ信号のビート数を4で除した値である。従って、上記オーディオ信号は8ビートであるため、N=2である。
音声処理部170は、D/A(Digital/Analog)変換器とアンプとからなる。制御部110から受取った音を表すデジタルのデータはD/A変換によりアナログの信号に変換され、アンプにより振幅が調整された後、スピーカ180に出力される。
スピーカ180は、音声処理部170から受取ったアナログの信号に基づいて音声を放音する。
以上がテンポクロック生成装置1の構成である。
(B;動作)
次に、ROM120に格納された制御プログラムに従って制御部110が行うビート抽出処理について説明する。
(B−1;処理の概要)
テンポクロック生成装置1の電源が投入されると、制御部110は、ROM120から制御プログラムを読み出しRAM130にロードする。
制御部110は、ユーザにより操作部140が操作され、特定のオーディオ信号が選択されると、該指示されたオーディオ信号、該オーディオ信号に関連付けられたタッピング音およびN値のデータをHDD160から読み出す。読み出されたN値のデータは、RAM130に書き込まれる。
制御部110は、まずタッピング音の解析を行う。すなわち、タッピング音に含まれるインパルス音の発音タイミングを特定し、そのタイミングからインパルス音の周期を算出する。該算出された各インパルス音の発音タイミングおよび周期はRAM130に書き込まれる。
次に、制御部110は、読み出したオーディオ信号を音声処理部170に供給し、スピーカ180に放音させる。そして、制御部110は、該オーディオ信号の再生と並行して、以下に延べるビート抽出処理を行う。
図3に示すように、制御部110は、オンセット検出部10と、テンポクロック生成部20とからなる。HDD160から読み出されたオーディオ信号は、オンセット検出部10に入力される。以下、該入力された楽曲を表すオーディオ信号を、オーディオ信号x(t)と呼ぶ。
オンセット検出部10は、オーディオ信号x(t)からオンセット(ビート)を抽出した信号であるオンセット検出信号y(t)を生成し、テンポクロック生成部20に出力する。
テンポクロック生成部20は、オンセット検出部10から入力されるオンセット検出信号y(t)から、オーディオ信号x(t)の拍を検出し、該検出された拍を表すテンポクロックパルス信号z(t)を生成する。
(B−2;オンセット検出部10の処理)
まず、オンセット検出部10の処理内容を簡潔に説明する。図4は、オンセット検出部10の処理の流れを示したフローチャートである。また、図5は、オンセット検出部10による処理を示したブロック図である。同図に示すように、オンセット検出部10は、パワー算出部11とローパスフィルタ12と差分生成部13と半波整流器14とを有する。
まず、オンセット検出部10は、オーディオ信号x(t)を受取る(ステップSA100)。図6は、入力されたオーディオ信号x(t)の処理過程において生成される各種の信号を、互いに時系列を対応させて示した図である。図6(A)には、入力されたオーディオ信号x(t)の時間波形が1小節分(2秒分)示されている。
そして、パワー算出部11において、オーディオ信号x(t)からパワーが算出される(ステップSA200)。なお、パワーはオーディオ信号x(t)の2乗、すなわち{x(t)2}により算出される時系列信号である。
次に、ローパスフィルタ12は、パワー算出部11から順次パワーを受取り、パワー波形のスムージングを目的として所定の閾値を越える高周波成分を取り除く(ステップSA300)。
差分生成部13は、ローパスフィルタ12により処理されたパワー波形に対して隣接する区間の間で、差分を算出する(ステップSA400)。
半波整流器14は、差分生成部13により生成された波形から正の部分を取り出し(ステップSA500)、該波形をオンセット検出信号y(t)としてテンポクロック生成部20に出力する(ステップSA600)。図6(B)は、以上の処理により生成されたオンセット検出信号y(t)である。
(B−3;テンポクロック生成部20の処理)
(B−3−1;処理の概要)
次に、テンポクロック生成部20が行う処理について説明する。図7は、テンポクロック生成部20の処理の流れを示したフローチャートである。また、図8は、テンポクロック生成部20による処理を示したブロック図である。
図8に示すように、テンポクロック生成部20において、入力されたオンセット検出信号y(t)は複数の処理系統1〜に入力される(ステップSB100)。
各処理系統においては、オンセット検出信号y(t)についてそれぞれ異なるフレームに対して同じ処理が行われ、それぞれの処理系統においては、最終的に信号s’n(t)が生成される。各処理系統において生成された信号s’n(t)は、加算器において加算されオーバーラップ加算正弦波s(t)が生成される。オーバーラップ加算正弦波s(t)に対して、ピーク検出処理(2)および1/N分周処理が施されることにより、最終的にテンポクロックパルス信号z(t)が生成される。
以上がテンポクロック生成部20の処理の概要である。
次に、各処理系統における処理内容について詳細に説明する。なお以下では、処理系統n(n=1、2、…)において実行される処理について、パラメータnを用いながら説明する。各処理系統1、2、…においては、以下の説明において割り当てられたnの値を代入した内容の処理が行われる。
(B−3−2;窓掛け処理(1))
処理系統nに入力されたオンセット検出信号y(t)には、まず窓掛け処理(1)が施される(ステップSB200)。窓掛け処理(1)において、オンセット検出信号y(t)は、数式(1)に従って処理され信号yn(t)が生成される。
数式(1)において、w1(t)は、所定の窓長(本実施形態では、5秒)のハミング窓関数である。従って、各処理系統では、オンセット検出信号y(t)から、所定の領域の信号(以下、フレーム)を“切り出す”。ここで、各処理系統において用いられるハミング窓関数の、隣接する処理系統間でのフレームのずれをT(本実施形態では、T=1秒)とする。
Figure 0004973426
数式(1)によれば、処理系統nにおいては、窓関数w1(t)がn・T秒シフトした窓関数であるw1(t−nT)が演算に用いられる。その結果、各処理系統においては、オンセット検出信号y(t)から、隣接するフレーム間でオーバーラップすると共に時間的に連続したフレームが切り出される。本実施形態においては、上記各フレームの時間長は5秒であり、隣接するフレームは1秒のずれを有することから、隣接するフレーム間で80%(4秒)がオーバーラップするようにオンセット検出信号y(t)からフレームが切り出される。
なお、本実施形態においては、上記ハミング窓関数の時間長を5秒、フレームのずれTを1秒としたが、それらにはユーザにより適宜定められた値を用いれば良い。
(B−3−3;フーリエ変換)
窓掛け処理(1)により生成された信号yn(t)に対して、数式(2)によるフーリエ変換が施される(ステップSB300)。各フレームの信号、すなわちオンセット検出信号y(t)の特定の区間がどのような周波数成分から成るかを示すパワースペクトルYn(ω)が生成される。
Figure 0004973426
(B−3−4;ピーク検出処理(1))
ピーク検出処理(1)においては、まず、上記フーリエ変換により生成されたパワースペクトルYn(ω)から、パワースペクトルにおける各周波数成分の振幅の2乗を表す|Yn(ω)|2を算出する。図9には、|Yn(ω)|2のグラフの一例を示す。
一般的に、インパルス列の関数をフーリエ変換すると、該インパルス列の角周波数および該角周波数の整数倍の角周波数で周期的にピークを迎えるインパルス列のパワースペクトルが生成されることが知られている。オンセット検出信号y(t)は、上述したように周期的にピークが現れることから、インパルス列の関数と類似の特徴を有する。従って図9に示すように、オンセット検出信号y(t)のパワースペクトルの振幅|Yn(ω)|2は、複数の周波数(本実施形態においては、4、8、12、…[Hz])において極大を示す。
なお、上述したようにオンセット検出信号y(t)にはノイズや不等間隔で現れるビート成分などが含まれるため、上記パワースペクトルにおいて極大を示す角周波数ωの間における周波数においても、その振幅値は0とならず正の値を示している。
|Yn(ω)|2が算出されると、オーディオ信号x(t)のテンポが、RAM130に書き込まれたタッピング音の周期から算出される。本実施形態においては、タッピング音は0.5秒おきのインパルス音となるよう設定されているため、テンポは120(1分間に4分音符120)と算出される。そして、算出されたタッピング音のテンポに対応する角周波数(上記の場合、4π[rad/秒])の所定数(RAM130に書き込まれたN値)倍の角周波数付近(前後所定の範囲)から、振幅|Yn(ω)|2が極大を示す角周波数ωnを特定する(ステップSB400)。
例えば、図9に示される|Yn(ω)|2においては、タッピング音のテンポ(2Hz)の2(=N)倍である4[Hz](ω=8π[rad/秒])の近傍の周波数で極大値となるような角周波数ωnが決定される。
また、該|Yn(ω)|2が極大を示す角周波数ωnの周波数成分の初期位相θn=arg(Yn(ω))を算出する。この場合、θnは上記|Yn(ω)|2が極大を示す角周波数ωnにおけるパワースペクトル値(複素数)を極形式で表示した場合の偏角であり、角周波数ωnにおけるパワースペクトル値の複素数から一義的に導かれる。
以上のようにして決定された角周波数ωnと初期位相θnは、発振器に出力される。
(B−3−5;発振器)
発振器においては、上述のピーク検出処理(1)において求められた角周波数ωnおよび初期位相θnに基づいて、角周波数がωnであり初期位相がθnである余弦波信号sn(t)が生成される(ステップSB500)。
Figure 0004973426
(B−3−6;窓掛け処理(2))
窓掛け処理(2)においては、上記発振器において生成された余弦波信号sn(t)に対して、数式(4)に従って窓掛け処理が施され、信号s’n(t)が生成される(ステップSB600)。本窓掛け処理(2)において用いられる窓関数w2(t)は、所定の窓長を有するコサイン窓関数である。
本実施形態においては、コサイン窓関数の時間長は5秒とするが、ユーザにより適宜定められた値を用いれば良い。なお、本実施形態においては、各処理系統の上記コサイン窓関数の区間は、同じ処理系統において窓掛け処理(1)で用いられたハミング窓関数の区間と同じである。
Figure 0004973426
次に、窓掛け処理(2)により生成された信号s’n(t)は、加算器において数式(5)に従って加算され、オーバーラップ加算正弦波s(t)が生成される(ステップSB700)。
Figure 0004973426
本処理により、オンセット検出信号y(t)の長さに対応するおよそ正弦波形状のオーバーラップ加算正弦波s(t)が生成される。図6(C)は、(B)に示されたオンセット検出信号y(t)から生成されたオーバーラップ加算正弦波s(t)である。同図に示されているように、オーバーラップ加算正弦波s(t)の極大値は、オンセット検出信号y(t)のピークと、タイミングが一致している。
なお、本加算処理の直前に、各信号s’n(t)にはコサイン窓関数による窓掛け処理(2)が施されていることから、それらを加算したオーバーラップ加算正弦波s(t)は、全時間領域でなめらかに連続した関数となる。
(B−3−7;ピーク検出処理(2))
ピーク検出処理(2)においては、加算器により生成されたオーバーラップ加算正弦波s(t)のピーク時刻(隣り合うゼロクロスとゼロクロスの中点となる時刻)を特定し、該時刻において値がk(k>0)となり、該時刻以外の時刻においては値が0となるパルス信号zN(t)を生成する(ステップSB800)。
Figure 0004973426
(B−3−8;1/N分周処理)
1/N分周器においては、上記ピーク検出処理(2)において生成されたパルス信号zN(t)において、パルスをN個に1個だけ残し他のパルスを「間引く」処理を行う(ステップSB900)。すなわち、1/N分周器においては、パルス信号zN(t)からN(=2)個に1つのパルスのみを選択し、該選択したパルスからなるテンポクロックパルス信号z(t)を生成する。
その場合、パルス信号zN(t)からN個に1つの間隔でパルスを選択する組み合わせは、N通り存在する。図10(A)に示されたオーバーラップ加算正弦波s(t)からは、図10(B)のように2(=N)通りの候補が生成される。それらは、オーディオ信号x(t)の拍の表に対応するテンポクロックパルス信号z(t)の候補と、裏に対応する候補である。なお、生成されたN通りの候補のいずれがオーディオ信号x(t)の拍と位相が対応しているか、オーバーラップ加算正弦波s(t)のみからは判断することはできない。
そこで、1/N分周器は、オーディオ信号と対応付けられたタッピング音からN通りの候補のいずれがタッピング音と位相が一致するかを検出し、最も良い一致を示した候補を最終的なテンポクロックパルス信号z(t)と決定する。その際、RAM130に書き込まれたタッピング音のタイミングおよびその周期と、上記テンポクロックパルス信号z(t)の候補に含まれるパルスのタイミングとを比較することにより上記判断を行う。ここでは、候補1が選択されたものとし、図6(D)には候補1をテンポクロックパルス信号z(t)として示す。
(C;まとめ)
本発明に係るテンポクロック生成装置1によれば、8ビートや16ビートなどのリズム構造を有する楽曲のオーディオ信号であれば、曲中でオンセットの出現パターンによらずに拍を特定できる。例えば、図1に示したようなシンコペーションなどのリズムからも適切にテンポクロックパルス信号z(t)を生成することができる。
また、オーディオ信号において、拍のタイミングで対応する音が意図的に抜かれているなどの場合においても、該タイミングにおける信号が補間されたテンポクロックパルス信号z(t)が生成される。
なお、以上の処理において、ユーザにより設定されることが要求されるパラメータは窓掛け処理(1)および(2)に係る窓関数の窓長および、処理系統間での窓関数のずれの量のみである。従って、従来のPLL回路を用いたビート検出の方法に比べ、ユーザはパラメータ設定に要する労力を省くことが出来る。
さて、上述のテンポクロック生成装置1により生成されたテンポクロックパルス信号z(t)は、様々な用途に用いることが可能である。例えば、オーディオ信号x(t)から抽出された拍に同期させてMIDIシーケンサなどを動作させることができる。すなわち、例えばカラオケ装置などにおいて、カラオケの歌詞をオーディオ信号x(t)に同期させてワイプしたりすることが可能となる。また、予め用意した伴奏をオーディオ信号x(t)に同期させて付加するなどの処理も可能となる。
(D;変形例)
以上、本発明の実施形態について説明したが、本発明は以下のように種々の態様で実施することができる。なお、以下に説明する種々の実施形態を、適宜組み合わせて実施することも可能である。
(1)上記実施形態においては、HDD160に予め格納されたオーディオ信号について処理を行う場合について説明した。HDD160に格納されたオーディオ信号を変更・追加・削除するため、以下のような手段を設けても良い。
(a)メディアドライブ
メディアドライブは、例えば音楽コンテンツが格納されているCD−ROMやDVD(Digital Versatile Disc)等の各種記録媒体(メディア)からデータを読み取る。読み取られたデータは、制御部110によりHDD160へ格納され、上記実施形態におけるオーディオ信号として用いても良い。
(b)マイクロホン
マイクロホンを音声処理部170に接続する。音声処理部170にはA/D(Analog/Digital)変換機能を持たせる。マイクロホンは収音した音を表すアナログ信号を生成し、音声処理部170は該アナログ信号をA/D変換しデジタルデータを生成する。制御部110は、生成されたデジタルデータをHDD160に書き込み、該デジタルデータを上記実施形態におけるオーディオ信号に代えて用いても良い。
(c)通信手段
通信ネットワークインタフェースを設け、各種音楽コンテンツ(オーディオ信号)を格納するサーバにインターネット網などの通信網を通じてアクセスし、音楽コンテンツの取得要求を送り、この取得要求に応じてサーバから送られてくる音楽コンテンツをHDD160に格納するなどしても良い。
また、上記の各種手段を用いて受取ったオーディオ信号を、HDD160に格納する処理と並行して、又はHDD160に格納する処理に代えて、該オーディオ信号をリアルタイムに処理するようにしても良い。
(2)上記実施形態において、オンセット検出信号y(t)において、所定のレベルを下回るインパルスをノイズと見なし、該成分をカットしてからテンポクロック生成部20に出力するなどしても良い。
(3)上記実施形態においては、あらかじめHDD160に格納されているタッピング音(インパルス音を表す音データ)を用いて楽曲の拍のタイミングおよびテンポを特定する場合について説明したが、オーディオ信号の再生時にリアルタイムに生成される情報をタッピング音に代えて用いても良い。そのような場合、上記変形例(1)に記載したマイクロホンに対して、ハンドクラップ(拍手)や打楽器などにより拍を刻むことにより音信号を生成させ、該生成された音信号を用いても良い。また、所定の操作手段、例えばキーボード(操作部140)のキーなど、の操作内容に応じて生成された信号を拍情報として用いても良い。
また、拍のタイミングとテンポとを指定する数値情報を用いても良い。例えば最初の拍の時刻と拍の間隔を示す数値データを、操作部140を介して入力することができるようにしても良い。また、複数の拍のタイミングを示す数値データを入力することができるようにしても良く、その場合は該拍同士の間隔から拍のテンポを算出すれば良い。
要は、オーディオ信号に含まれる楽曲の拍のタイミングおよびそのテンポが特定可能な情報が得られるようにすれば良い。
(4)上記実施形態においては、オーディオ信号x(t)から、音データであるテンポクロックパルス信号z(t)を生成する場合について説明した。しかし、該テンポクロックパルス信号z(t)に代えて、図11に示すような、オーディオ信号におけるテンポクロックパルスの時刻(例えば、オーディオ信号が開始されてから経過した時間)を示すデータ列(テンポクロックパルスデータ)として生成しても良い。
(5)上述した実施形態において、HDD160に格納されるオーディオ信号は、例えばWAVE形式やMP3形式の音データである場合について説明した。しかし、オーディオ信号は、他のどのような形式のデータであっても良い。
また、上記オーディオ信号は時間波形を表すデータである場合について説明したが、MIDI(Musical Instrument Digital Interface)形式など、発音すべきノートを時間経過に沿って記した音データなど、他の形式のデータであっても良い。そのように、時間波形を記したデータ以外のデータについて本発明を実施する場合には、該データを一旦時間波形に変換する変換手段を設け、該変換手段により時間波形データに変換したデータを上記オーディオ信号に代えて用いれば良い。
(6)上記実施形態においては、テンポクロック生成装置1に特徴的な機能をソフトウェアモジュールで実現する場合について説明したが、上記各機能を担うハードウェアモジュールを組み合わせてテンポクロック生成装置1を構成するようにしても良い。
(7)上記実施形態においては、本発明に係るテンポクロック生成装置1に特徴的な機能を実現するためのプログラムを、ROM120に予め書き込んでおく場合について説明したが、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、RAM、ROMなどのコンピュータ読み取り可能な記録媒体に上記プログラムを記録して配布するとしても良く、インターネット網などの電気通信回線経由のダウンロードにより上記制御プログラムを配布するようにしても良い。
(8)上記実施形態においては、テンポクロック生成装置1は、HDD160に格納されたオーディオ信号を処理する場合について説明した。しかし、オーディオ信号を供給する手段は、HDD160などの記憶手段に限られない。例えばテンポクロック生成装置1が各種の記録媒体に記録されたデータを読み出し出力する再生装置を更に備え、該再生装置により記録媒体から読み出したデータをリアルタイムに処理しても良い。
(9)上記実施形態においては、オーディオ信号の読出しおよび再生の進行に伴ってテンポクロックパルス信号z(t)を生成する場合について説明した。しかし、該処理は必ずしもオーディオ信号の進行に伴って行われなくても良い。例えば、オーディオ信号を一旦初めから終わりまで読み出し、読み出しが終了した段階で上述の処理を行い、テンポクロックパルス信号z(t)を生成するようにしても良い。
(10)上記実施形態においては、ステップSB200の窓掛け処理(1)において、窓関数としてハミング窓関数を用いる場合について説明した。しかし、用いられる窓関数はハミング窓関数に限られるものではなく、ハニング窓関数など他の窓関数でも良い。要は、区間の中央が1付近の値で、その両端で値が0である関数であれば良い。
(11)上記実施形態においては、ステップSB600の窓掛け処理(2)において、窓関数としてコサイン窓関数を用いる場合について説明した。しかし、用いられる窓関数はコサイン窓関数に限られるものではなく、ハミング窓関数など他の窓関数でも良い。要は、区間の中央が1付近の値で、その両端で値が0である関数であれば良い。なぜならオーバーラップ加算正弦波s(t)を、全時間領域でなめらかに連続した関数にしたいためである。
(12)上記実施形態においては、4分の4拍子で8ビートのオーディオ信号を例示して説明した。しかし、オーディオ信号が4分の3拍子である場合など、他の拍子にも本発明は適用可能である。その場合、オーディオ信号のビート数を1小節あたりの拍の数で除した値をN値とすれば良い。例えば、4分の3拍子、6ビートのオーディオ信号については、該オーディオ信号と対応するN値として、ビート数を3で除した値である2とすれば良い。
(13)上記実施形態においては、N値がオーディオ信号と関連付けて読み出される場合について説明したが、ユーザによりN値が操作部140を介して入力されるようにしても良い。また、ユーザにより操作部140を介して、ビート数が入力されるようにし、制御部110が、該入力されたビート数を1小節あたりの拍の数で除した値をN値として算出するようにしても良い。
また、1小節あたりの拍の数を表すパラメータをユーザが設定可能としても良い。
要は、1拍あたりに含まれるビートの数を表すN値が最終的に得られるようにすれば良い。以上のように、ユーザにより各種パラメータが入力される場合には、該パラメータを入力するための案内画面を表示部150に表示し、該表示内容に従って操作部140に入力された内容に基づいてパラメータを設定、算出するようにすれば良い。
(14)上記実施形態においては、各処理系統で、窓掛け処理(1)における窓関数のフレーム長を5秒とし、隣接する処理系統におけるフレームのずれをT=1秒とする場合について説明したが、それらの長さは上記の値に限定されるものではなく、適宜定められた値を用いれば良い。要は、音声など時間変換する信号の周波数と位相の変化を解析するために、順次フレーム範囲をずらして解析することが出来れば良い。
(15)上記実施形態においては、オンセット検出信号y(t)を生成するための手順の一例を示した。しかし、オーディオ信号に含まれる楽曲のオンセットを表す信号を生成するための処理方法は、上記の方法に限られるものではない。
例えば、特許文献(特開2003−280664号公報)には、原音楽波形からビートを抽出する技術が開示されている。該文献によれば、原音楽波形を短時間高速フーリエ変換し、原音楽波形の各フレームの波形に含まれる周波数成分を分析し、振幅が最も大きい周波数成分を特定する。そして、原音楽波形から、該特定された周波数成分に対応する正弦波で合成可能な成分と、合成できない成分(残差波形)を特定する。このようにして生成された残差波形は、原音楽波形に含まれるビートを良く抽出した波形となることから、上記実施形態におけるオンセット検出信号y(t)に相当する信号として用いることが可能である。
このように、オンセット検出信号y(t)に相当する信号を生成する方法は、上記実施形態に記載の方法に限定されるものではなく、オンセット(ビート)を抽出するための様々な方法を適用可能である。
(16)上記実施形態においては、発信器は、ピーク検出処理(1)において求められた角周波数ωnおよび初期位相θnに基づいて、角周波数がωnであり、初期位相がθnである余弦波信号snt(t)を生成する場合について説明した。しかし、発信器が生成する信号は余弦波に限られるものではない。
例えば、角周波数がωnであり、初期位相がθnである正弦波を生成する場合、ピーク検出処理(2)において、ゼロクロスをすると共にその微分値が正である時刻を特定し、該時刻において値がk(k>0)となり、該時刻以外の時刻において値が0となるパルス信号zn(t)を生成すれば良い。
また、発信器が生成する信号は、正弦波や余弦波に限られるものではない。例えば、方形波、三角波、鋸歯状波などのパルス波でも良い。その場合には、周期が2π/ωnであり、位相がθn進んだパルス波を生成すると共に、ピーク検出処理(2)において、各パルス波に応じた点(特定点)を特定し、該特定点に対応する時刻において値がk(k>0)となり、該時刻以外の時刻において値が0となるパルス信号zn(t)を生成すれば良い。上記特定点として、例えば方形波の場合には、振幅が最大値となった区間の中間の点など、三角波の場合には、振幅が最大値となった点など、鋸歯状波の場合には、信号の値が最大値の所定の値となる点などを指定すれば良い。
オーディオ信号のリズムの一例を示した図である。 テンポクロック生成装置1の全体構成を示すブロック図である。 制御部110による処理の流れを示すブロック図である。 オンセット検出部10の処理の流れを示したフローチャートである。 オンセット検出部10による処理を示したブロック図である。 テンポクロックパルス信号の生成における各種信号の波形を示した図である。 テンポクロック生成部20の処理の流れを示したフローチャートである。 テンポクロック生成部20による処理を示したブロック図である。 パワースペクトルの一例を示した図である。 テンポクロックパルス信号の生成における各種信号の波形を示した図である。 テンポクロックパルスデータの一例を示す図である。
符号の説明
1…テンポクロック生成装置、10…オンセット検出部、11…パワー算出部、12…ローパスフィルタ、13…差分生成部、14…半波整流器、20…テンポクロック生成部、110…制御部、120…ROM、130…RAM、140…操作部、150…表示部、160…HDD、170…音声処理部、180…スピーカ

Claims (9)

  1. 楽曲を表すオーディオ信号を取得するオーディオ信号取得手段と、
    前記楽曲の拍のタイミングを示す拍情報を取得する拍情報取得手段と、
    前記楽曲のビートに対応するビート指示情報を取得するビート指示情報取得手段と、
    前記オーディオ信号取得手段により取得されたオーディオ信号が表す楽音のオンセットを順次抽出するオンセット検出手段と、
    前記オンセット検出手段が抽出したオンセットによって形成される波形について、当該波形に含まれる周波数成分を順次連続する所定フレーム長毎に検出する周波数成分検出手段と、
    前記周波数成分検出手段が検出した各周波数成分の中から、前記拍情報取得手段が取得した拍情報および前記ビート指示情報取得手段が取得したビート指示情報に対応する特定の周波数成分を前記楽曲のビート周波数として定めるビート周波数特定手段と、
    前記ビート周波数特定手段が特定した前記ビート周波数と、該特定されたビート周波数に対応する位相とを有する正弦波を生成する周期関数生成手段と、
    前記周期関数生成手段が生成した正弦波を各フレームについて重ね合わせる重合手段と、
    前記重合手段によって重ね合わされた正弦波について、その特定点が出現する特定点タイミングから、前記拍情報および前記ビート指示情報に基づいて複数のタイミングを選択し、該選択されたタイミングを示す情報を拍タイミング情報として出力する拍タイミング情報出力手段と
    を有することを特徴とするテンポクロック生成装置。
  2. 前記拍情報取得手段は、操作に応じて拍のタイミングを示す操作情報を出力する操作手段を有し、前記操作手段が出力する操作情報を拍情報として取得することを特徴とする請求項1に記載のテンポクロック生成装置。
  3. 前記拍情報取得手段は、収音し対応する音を表す音信号を生成する収音手段を有し、前記収音手段が出力する音信号を拍情報として取得することを特徴とする請求項1に記載のテンポクロック生成装置。
  4. 前記拍情報取得手段は、前記オーディオ信号が表す楽曲の拍の少なくとも1つのタイミングと前記拍のテンポとを表すデータを拍情報として取得することを特徴とする請求項1に記載のテンポクロック生成装置。
  5. 前記拍タイミング情報出力手段は、前記楽曲における前記特定点タイミングの時刻を表すデータである拍タイミング情報を出力することを特徴とする請求項1に記載のテンポクロック生成装置。
  6. 前記ビート指示情報取得手段は、前記楽曲の1拍に含まれるビートの数をビート指示情報として取得することを特徴とする請求項1に記載のテンポクロック生成装置。
  7. 前記ビート周波数特定手段は、前記拍情報から前記楽曲のテンポに対応する周波数を特定し、該特定された周波数に前記ビート指示情報が表す前記楽曲の1拍に含まれるビートの数を乗じた周波数に最も近似した値でピークを示す周波数を特定し、該特定された周波数を前記ビート周波数と定めることを特徴とする請求項6に記載のテンポクロック生成装置。
  8. 前記拍タイミング情報出力手段は、前記重合手段によって重ね合わされたおよそ正弦波形状の波形について、その特定点が出現する特定点タイミングから、前記拍情報により示される前記楽曲の拍と位相が同期するタイミングを特定し、該特定されたタイミングから、前記ビート指示情報が示す前記楽曲の1拍に含まれるビートの数ごとに他のタイミングを選択し、該選択された特定点タイミングを示す情報を拍タイミング情報として出力することを特徴とする請求項6に記載のテンポクロック生成装置。
  9. コンピュータを、
    楽曲を表すオーディオ信号を取得するオーディオ信号取得手段と、
    前記楽曲の拍のタイミングを示す拍情報を取得する拍情報取得手段と、
    前記楽曲のビートに対応するビート指示情報を取得するビート指示情報取得手段と、
    前記オーディオ信号取得手段により取得されたオーディオ信号が表す楽音のオンセットを順次抽出するオンセット検出手段と、
    前記オンセット検出手段が抽出したオンセットによって形成される波形について、当該波形に含まれる周波数成分を順次連続する所定フレーム長毎に検出する周波数成分検出手段と、
    前記周波数成分検出手段が検出した各周波数成分の中から、前記拍情報取得手段が取得した拍情報および前記ビート指示情報取得手段が取得したビート指示情報に対応する特定の周波数成分を前記楽曲のビート周波数として定めるビート周波数特定手段と、
    前記ビート周波数特定手段が特定した前記ビート周波数と、該特定されたビート周波数に対応する位相とを有する正弦波を生成する周期関数生成手段と、
    前記周期関数生成手段が生成した正弦波を各フレームについて重ね合わせる重合手段と、
    前記重合手段によって重ね合わされた正弦波について、その特定点が出現する特定点タイミングから、前記拍情報および前記ビート指示情報に基づいて複数のタイミングを選択し、該選択されたタイミングを示す情報を拍タイミング情報として出力する拍タイミング情報出力手段
    として機能させることを特徴とするプログラム。
JP2007260031A 2007-10-03 2007-10-03 テンポクロック生成装置およびプログラム Expired - Fee Related JP4973426B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007260031A JP4973426B2 (ja) 2007-10-03 2007-10-03 テンポクロック生成装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007260031A JP4973426B2 (ja) 2007-10-03 2007-10-03 テンポクロック生成装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2009092681A JP2009092681A (ja) 2009-04-30
JP4973426B2 true JP4973426B2 (ja) 2012-07-11

Family

ID=40664781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007260031A Expired - Fee Related JP4973426B2 (ja) 2007-10-03 2007-10-03 テンポクロック生成装置およびプログラム

Country Status (1)

Country Link
JP (1) JP4973426B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5569228B2 (ja) * 2010-08-02 2014-08-13 ソニー株式会社 テンポ検出装置、テンポ検出方法およびプログラム
WO2019224990A1 (ja) 2018-05-24 2019-11-28 ローランド株式会社 ビート音発生タイミング生成装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0527751A (ja) * 1991-07-19 1993-02-05 Brother Ind Ltd 自動採譜装置等に用いられるテンポ抽出装置
JP2900976B2 (ja) * 1994-04-27 1999-06-02 日本ビクター株式会社 Midiデータ編集装置
JP4940588B2 (ja) * 2005-07-27 2012-05-30 ソニー株式会社 ビート抽出装置および方法、音楽同期画像表示装置および方法、テンポ値検出装置および方法、リズムトラッキング装置および方法、音楽同期表示装置および方法
JP4672613B2 (ja) * 2006-08-09 2011-04-20 株式会社河合楽器製作所 テンポ検出装置及びテンポ検出用コンピュータプログラム

Also Published As

Publication number Publication date
JP2009092681A (ja) 2009-04-30

Similar Documents

Publication Publication Date Title
JP4940588B2 (ja) ビート抽出装置および方法、音楽同期画像表示装置および方法、テンポ値検出装置および方法、リズムトラッキング装置および方法、音楽同期表示装置および方法
JP4767691B2 (ja) テンポ検出装置、コード名検出装置及びプログラム
JP3598598B2 (ja) カラオケ装置
WO2018084305A1 (ja) 音声合成方法
JP2012037722A (ja) 音合成用データ生成装置およびピッチ軌跡生成装置
JP4613923B2 (ja) 楽音処理装置およびプログラム
US11087727B2 (en) Auto-generated accompaniment from singing a melody
JP5229998B2 (ja) コード名検出装置及びコード名検出用プログラム
WO2019224990A1 (ja) ビート音発生タイミング生成装置
EP2775475B1 (en) Music synthesizer with correction of tones during a pitch bend, based on played chord and on pitch conversion harmony rules.
JP4973426B2 (ja) テンポクロック生成装置およびプログラム
JP2009098262A (ja) テンポクロック生成装置およびプログラム
JP5005445B2 (ja) コード名検出装置及びコード名検出用プログラム
JP4304934B2 (ja) 合唱合成装置、合唱合成方法およびプログラム
JP2009186762A (ja) 拍タイミング情報生成装置およびプログラム
JP4433734B2 (ja) 音声分析合成装置、音声分析装置、及びプログラム
JP2009075611A (ja) 合唱合成装置、合唱合成方法およびプログラム
JP4483561B2 (ja) 音響信号分析装置、音響信号分析方法及び音響信号分析プログラム
JP2000010597A (ja) 音声変換装置及び音声変換方法
JP5672960B2 (ja) 音響処理装置
JP2010002937A (ja) 音声分析合成装置、音声分析装置、音声合成装置、及びプログラム
JP4565846B2 (ja) ピッチ変換装置
JP2000003197A (ja) 音声変換装置、音声変換方法、および音声変換プログラムを記録した記録媒体
JP5953743B2 (ja) 音声合成装置及びプログラム
JP2000003200A (ja) 音声信号処理装置及び音声信号処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120220

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: 20120313

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: 20120326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees