JP3888372B2 - 音信号分析装置及び方法 - Google Patents
音信号分析装置及び方法 Download PDFInfo
- Publication number
- JP3888372B2 JP3888372B2 JP2004217686A JP2004217686A JP3888372B2 JP 3888372 B2 JP3888372 B2 JP 3888372B2 JP 2004217686 A JP2004217686 A JP 2004217686A JP 2004217686 A JP2004217686 A JP 2004217686A JP 3888372 B2 JP3888372 B2 JP 3888372B2
- Authority
- JP
- Japan
- Prior art keywords
- section
- pitch
- note
- sound signal
- interval
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Auxiliary Devices For Music (AREA)
Description
この発明に従う分析結果は、必要に応じてMIDI情報等の形態の電子的楽譜情報として出力することができるものであり、従って、この発明は人間の音声等で入力した可聴的なメロディを自動的に楽譜化することができる技術に関するものである。
この種のコンピュータ演奏システムでは、演奏情報を発生するためのデータを入力する方式として、リアルタイム入力方式、ステップ入力方式、数値入力方式、楽譜入力方式等がある。
そこで、リアルタイム入力方式の利点を生かし、初心者でも短時間で簡単に演奏情報を入力できるようにした演奏情報発生装置として、人声音又は自然楽器の楽音をマイクを介して直接入力し、その入力音に応じて演奏情報を発生するものがある。すなわち、これは、人声音やギター等の音(単音)をマイクから入力するだけで、簡単にMIDI信号を発生することができ、MIDIキーボード等を使用しなくてもMIDI機器を制御できる。
これによれば、入力された音信号のサンプル振幅値の所定サンプル数毎にその最大値を検出し、検出された最大値を補間することによって補助波形を作成し、この補助波形が所定値以上の区間を第1の区間として検出することで、音の存在する有効区間を検出している。すなわち、この補間波形は音信号波形の各ピークレベル間を結ぶ振幅エンベロープ波形に類似した波形として得られるもので、音信号の振幅レベルの傾向を示しているので、検出した第1の区間は、音の存在する有効区間に相当している。このような補間波形の算出は、平均レベル情報の演算よりも素早く行えるので、処理速度を早くすることができ、各区間の検出速度を向上することができ、音信号の分析時間を短縮し、かつそのための演算装置の負担を軽減することができる、という効果をもたらす。また、第3の区間では波形の一致度合いを分析するようにすることで求めているので、特にピッチ検出に適した安定した区間を適切に検出することができる。また、上述と同様に、第3の区間に基づき検出された各音程区間をその時系列に従って所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置することに基づき適切な音程区間を有効な音符として選択するようにしているので、音信号分析に適した1つ1つの音符に相当する区間を適切に検出することができる。このように、複数段階の区間分析によって音信号分析用の1つ1つの音符に相当する区間を検出するようにしたので、音分析、特にピッチ検出、の精度を向上させることができる。
図2はこの発明に係る楽音情報分析装置及び演奏情報発生装置を内蔵した電子楽器の構成を示すハードブロック図である。
CPU1は、この電子楽器全体の動作を制御するものである。このCPU1に対して、データ及びアドレスバス1Eを介してプログラムメモリ2、ワーキングメモリ3、演奏データメモリ4、押鍵検出回路5、マイクインターフェイス6、スイッチ検出回路7、表示回路8及び音源回路9がそれぞれ接続されている。
演奏データメモリ4は、マイク等からの入力音に基づいて発生された演奏情報(MIDIデータ)などを記憶するものである。
このテンキー&各種スイッチ1B、並びにディスプレイ1CによってGUI(Graphical User Interface)が構成される。
音源回路9から発生された楽音信号は、アンプ及びスピーカからなるサウンドシステム1Dを介して発音される。
ステップ11:まず、初期設定処理を行い、図2のワーキングメモリ3内の各レジスタ及びフラグなどに初期値を設定したりする。
このとき、テンキー&各種スイッチ1B上の音符化処理スタートスイッチがオン操作された場合に、ステップ12〜ステップ18までの一連の処理を行う。
なお、図8(F)及び(G)では、有効区間の拡張を前後に行う場合について説明したが、前方向又は後方向のみにしてもよい。また、前後に拡張する場合に、前方向と後方向とで拡張許可レベルを異ならせるようにしてもよい。
ステップ41:図3で検出された有効区間内の平均音圧レベルカーブに基づいて、その傾斜度数を算出する。この処理では、図9(B)に示すように、傾斜を算出するための算出幅を例えば100ポイントとし、その算出幅のシフト量を例えば50ポイントとして、A点からB点に向かって順次シフトしながら、その傾斜度数を算出する。A点がサンプルポイント『000』だとすると、サンプルポイント『000』と『100』との間の傾斜を求め、次にそれをそれぞれ50ポイントずつシフトしたサンプルポイント『050』と『150』との間の傾斜度数を求める。例えば、サンプルポイント『000』の平均音圧レベルが『325』で、サンプルポイント『100』の平均音圧レベルが『1576』である場合、その傾斜度数は(1576−325)/100=12.51となる。以後、サンプルポイント『100』と『200』との間、『150』と『250』との間、『200』と『300』との間のように、順番にその傾斜度数を算出する。算出された傾斜度数の一例を図9(B)に示す。図から明らかなように、サンプルポイント『000』,『100』間の傾斜度数は12.51、サンプルポイント『050』,『150』間の傾斜度数は32.42、サンプルポイント『100』,『200』間の傾斜度数は20.12、サンプルポイント『150』,『250』間の傾斜度数は11.84、サンプルポイント『200』,『300』間の傾斜度数は5.24、サンプルポイント『250』,『350』間の傾斜度数は4.82、サンプルポイント『300』,『400』間の傾斜度数は2.34、サンプルポイント『350』,『450』間の傾斜度数は3.89、サンプルポイント『400』,『500』間の傾斜度数は5.36となる。これらの傾斜度数は前者のサンプルポイントにおける傾斜度数として記憶されることになる。すなわち、サンプルポイント『000』の傾斜度数は12.51、サンプルポイント『050』の傾斜度数は32.42として、それぞれのサンプルポイント毎に傾斜度数が記憶される。
このようにしてA点からB点までの全区間における傾斜度数を算出し、次のステップ42の安定区間抽出処理を行う。
ステップ43:前記ステップ42によって抽出された安定区間の存在に基づいて人間は初めてその安定区間の開始点付近に音符のトリガである音の開始点があることに気付く。ここでは、その音符の開始点付近を決定するために、前記ステップ42で抽出された安定区間を拡張する。
この安定区間を拡張する場合、すなわち音符の開始点を決定する場合、最初の安定区間aについては、必然的にA点がその安定区間aの音符の開始点となり、最後の安定区間cについては、必然的にB点がその安定区間cの音符の終了点となる。ところが、安定区間aの音符終了点、安定区間bの音符開始点は容易に求めることができない。そこで、安定区間の終了点から次の安定区間の開始点までの間における傾斜度数の最も大きいサンプルポイントをその安定区間の音符終了点及び次の安定区間の音符開始点とすることにした。各安定区間aの音符終了点及び安定区間bの音符開始点は図9(D)のようにC点となり、安定区間bの音符終了点及び安定区間cの音符開始点はD点となる。
なお、上述の説明では、傾斜度数の最も大きいサンプルポイントを安定区間の音符開始点及び次の安定区間の音符終了点とする場合について説明したが、これに限らず、安定区間の終了点から次の安定区間の開始点までの間で安定度数が所定の値(しきい値)を最初に越えた場合のサンプルポイントを音符終了点(音符開始点)としてもよいし、安定区間の開始点の直前で所定の値(しいき値)を下回った場合のサンプルポイントを音符終了点(音符開始点)としてもよいし、以上の3つの方法で求められたサンプルポイントを複合的に計算して新たに音符終了点(音符開始点)を求めるようにしてもよい。このようにして求められた区間AC,CD,DBがそれぞれのレベルに対応した安定区間になる。すなわち、図9の場合、安定区間aのレベルに対応した安定区間はACとなり、安定区間bのレベルの対応した安定区間はCDとなり、安定区間cのレベルに対応した安定区間はDBとなる。
音声や楽音などの音楽的なオーディオ信号を分析する場合、定常部がどこにあるかを知ることは重要なことである。リズム系以外の音色では、定常部の周期性によって音高が決定され、定常部を骨格として音価が決定されるからである。この実施の形態では、定常部は、楽譜として表した時に一つの音符に相当する区間のことであり、音色、音高、ベロシティという音の3大要素の変化に注目し、人間が一つの音として認識する区間を時間軸上で検出しようとすることをいう。
以下、図5のステップに従って、この定常区間検出処理について説明する。
ステップ52:ステップ51の第1次BPF処理によって得られた楽音波形信号に対してピーク位置検出法を用いて1周期の基準となるピーク基準位置検出処理を行う。このピーク位置検出方法は公知の手法によって行う。楽音波形のピークレベルを検知して、これを所定の時定数回路で保持し、その保持されている値をスレッシュルドホールド電圧として次にこのスレッシュルドホールド電圧以上になった場合を次のピークレベルとして保持し、それを順次繰り返すことによって、図10(A)のようなピーク位置を検出することができる。図10(A)はこのピーク位置を検出する際のスレッシュルドホールド電圧の様子を示す図である。
図10(A)の音声波形からは、図10(B)のようなピーク位置が検出されることになる。図10(B)ではピーク基準位置P1,P2,P3,P6は共に規則正しく所定の位置で現れているが、ピーク基準位置P4,P5については、音声波形の若干の乱れによって誤差を含む位置にピークが現れている。
これは、ステップ51の第1次BPF処理のカットオフ周波数の帯域が広い範囲を網羅しているため、図10(A)のようにピーク位置が連続して表れたからである。
図10(B)に示されるピーク基準位置について考察すると、ピーク基準位置P1からピーク基準位置P2までが区間d、ピーク基準位置P2からピーク基準位置P3までが区間eとなる。このとき、両区間d,eは帯域最低長よりも大きく、帯域最高長よりも小さいので、区間dが基本区間となり、区間eが移動区間となり、後述する波形比較処理の対象となる。
次に、区間eが基本区間となり、ピーク基準位置P3からピーク基準位置P4までが区間fとなる。このとき、両区間e,fは帯域最低長よりも大きく、帯域最高長よりも小さいので、今度は区間eが基本区間となり、区間fが移動区間となり、後述する波形比較処理の対象となる。
ところが、ピーク基準位置P4からピーク基準位置P5までの区間は帯域最低長よりも小さいので、比較対象の区間とはならずに、次のピーク基準位置P5からピーク基準位置P6までの区間gが区間fとの波形比較対象となる。
なお、波形比較処理の結果、区間f及び区間gは他の区間dや区間eとは異なった波形として認識されることになる。まず、ワーキングメモリ(RAM)には、ピーク基準位置情報をアドレスとして、そこに一致フラグ又は不一致フラグがそれぞれ書き込まれるデータ領域が設けられる。そして、図10(B)のような場合には、区間dと区間eとは一致すると判定されるので、区間eに対応するピーク基準位置情報P2に関するデータ領域には一致フラグが書き込まれる。一方、区間eと区間fとは一致しないと判定されるので、区間fに対応するピーク基準位置情報P3に関するデータ領域には不一致フラグが書き込まれる。ピーク基準位置P4からピーク基準位置P5までの区間は帯域最低長よりも小さいので、ピーク基準位置情報P4及びP5に関するデータ領域には不一致フラグが書き込まれる。なお、ピーク基準位置情報P1及びP6に関するデータ領域には一致フラグが書き込まれているものとする。このようにして順次ピーク基準位置情報と共に書き込まれた一致フラグ及び不一致フラグの様子が図10(C)に示されている。
図13はこの波形比較処理の中で行われる誤差率の算出方法を説明するための図である。
まず、誤差率の算出対象となる2つの波形が図12の示すような比較波1Xと比較波2Xであるとする。この波形は図10のピーク基準位置によって区切られた範囲となる。まず、比較波1X及び比較波2Xについて、最大振幅値が100パーセントとなるようにその振幅値の正規化を行う。まず、比較波1Xは比較波1Yとなり、比較波2Xは比較波2Yとなる。ここで、比較波2Xは比較波1Xに比べて時間軸(横軸)方向の長さが短いので、比較波2Xを比較波1Xと同じ時間幅となるように伸長する。すなわち、比較波2Yの時間軸を伸長して比較波2Zにする。
この比較波1Yと比較波2Zとの間で誤差率の計算が行われる。
図13は、比較波1Yと比較波2Zとの間の誤差率を算出する場合の具体的な値を示す図である。図では、比較波1Yと比較波2Zの最初の1周期の波形すなわちサンプリング数で24個分について誤差率を算出する場合について説明する。
比較波1Yと比較波2Zの同じサンプリング位置についてその差分を算出し、その差分の絶対値の合計を求める。図13の場合には絶対値の合計値は122である。これをサンプリング数24で除することによって、誤差率が求まる。この場合には誤差率は5となる。そこで、同じ波形がどうかのしいき値を10とすれば、図13の場合の誤差率5は10以下なので、同じ波形として処理されることになる。なお、図13において、各波形は1000を最大レベルとして正規化されている。
ステップ55:ステップ54で決定された新たなカットオフ周波数帯を用いて、第2次バンドパスフィルタ(第2次BPF)を通過させて、不要な倍音を除去する。例えば、前述の場合には、カットオフ周波数帯は110Hzから208Hzの範囲となる。これによって、倍音による間違いを減少させて、検出精度を向上させることができる。
ステップ56:ステップ52のピーク基準位置検出処理と同じ処理を行う。
ステップ57:ステップ53の波形比較処理と同じ処理を行う。
ステップ55からステップ57までの一連の処理によって、誤差の原因となる低周波や高調波がカットされてより精度の高いピーク基準位置検出処理及び波形比較処理が可能となり、前回よりも精度の高い一致区間が得られる。ステップ57の波形比較処理によって、図10(C)のように一致フラグ及び不一致フラグによって特徴付けられた有効区間の波形は、図10(D)のような三つの定常区間X,Y,Zのようなピッチ列が求められる。
(PD2−PD1)×(PV−PA)/(P2−P1)
ステップ5A:ステップ59の時変動BPF処理を経た楽音波形に対して、ステップ52のピーク基準位置検出処理と同じ処理を行う。
ステップ5B:ステップ59の時変動BPF処理を経た楽音波形に対して、ステップ53の波形比較処理と同じ処理を行う。
そこで、強いピークがどちら側に現れてもよいように、予め楽音波形をチェックして、ピークがプラス側又はマイナス側のどちらに強く現れているかを検出し、検出された側の楽音波形に基づいてピーク基準位置の検出及びピッチ検出を行うようにすればよい。例えば、図5のステップ51の第1次BPF処理後における安定区間の楽音波形が図11のようであったとする。この楽音波形の場合、強いピークはマイナス側に現れ、弱いピークがプラス側に現れている。この楽音波形の両側についてピーク基準位置の検出処理を施した場合、ピークの強さは異なるがどちら側にも安定したピークが現れているので、プラス側でもマイナス側でもほぼ変わりなく規則的なピーク基準位置を検出することは可能である。従って、この楽音波形の場合には、プラス側に注目して図5の定常区間検出処理を行ってもなんら支障はないことになる。しかしながら、楽音波形によっては、周期が比較的短かくて、長く繰り返す波形などの場合には、徐々にそのピークが鈍ることもあり、プラス側だけに注目して定常区間処理を行った場合に、正確なピーク基準位置を検出できなくなることがある。従って、図11のような波形の場合でも、できるだけ強いピークの現れるマイナス側に注目することが望ましい。
そこで、図4の安定区間検出処理によって検出された安定区間毎に、その区間全体で楽音波形の絶対値の最大がプラス側又はマイナス側のどちらに存在するかを検出し、検出する側に注目してピーク基準位置の検出を行うようにすればよい。図11の場合にはマイナス側に絶対値の最大が存在するので、マイナス側に注目してピーク基準位置の検出が行うことが望ましいことになる。これによって、倍音などに惑わされることなくピーク基準位置を検出することができる。
例えば、図14のような楽音波形の場合、ピーク位置としてPa〜Poが検出されることになる。従って、最初に波形比較処理されるのは、ピーク位置Paを起点とした以下の16通りの組み合わせについてである。
(Pa−Pb)と(Pb−Pc)、(Pa−Pb)と(Pb−Pd)、
(Pa−Pb)と(Pb−Pe)、(Pa−Pb)と(Pb−Pf)、
(Pa−Pc)と(Pc−Pd)、(Pa−Pc)と(Pc−Pe)、
(Pa−Pc)と(Pc−Pf)、(Pa−Pc)と(Pc−Pg)、
(Pa−Pd)と(Pd−Pe)、(Pa−Pd)と(Pd−Pf)、
(Pa−Pd)と(Pd−Pg)、(Pa−Pd)と(Pd−Ph)、
(Pa−Pe)と(Pe−Pf)、(Pa−Pe)と(Pe−Pg)、
(Pa−Pe)と(Pe−Ph)、(Pa−Pe)と(Pe−Pi)
この結果、区間(Pa−Pd)と区間(Pd−Pg)の波形が一致すると判定される。この結果、ピーク位置Paはピッチ基準位置PPaとなり、他のピーク位置Pb,Pcは候補から除外される。そして、次はピーク位置Pdを起点として同じようして16通りの組み合わせについて波形比較処理を行い、ピーク位置Pdがピッチ基準位置PPdとなる。以下、同様にして、ピッチ基準位置が次々と検出されることになる。
なお、16通りの中から同波形区間を検出する場合には、16通り全ての誤差率を算出し、その中で所定値(例えば10)以下の誤差率で最小のものを同波形区間としてもよいし、順次算出された誤差率の中で所定値(例えば10)以下のものが現れた時点でそれを同波形区間としてもよい。
(Pa−Pb)と(Pb−Pd)、(Pa−Pb)と(Pb−Pe)、
(Pa−Pb)と(Pb−Pf)、(Pa−Pc)と(Pc−Pd)、
(Pa−Pc)と(Pc−Pg)、(Pa−Pd)と(Pd−Pe)、
(Pa−Pd)と(Pd−Pf)、(Pa−Pe)と(Pe−Pf)、
(Pa−Pe)と(Pe−Pg)
の9通りについては比較処理を行わない。これは比較対象の波形区間長の比が2倍近いので、比較するまでもなく同波形とはなりえないので、事前にそれらの比較を行わないようにするためである。
従って、ここでは、次の7通りの組み合わせについて波形比較処理を行う。
(Pa−Pb)と(Pb−Pc)、(Pa−Pc)と(Pc−Pe)、
(Pa−Pc)と(Pc−Pf)、(Pa−Pd)と(Pd−Pg)、
(Pa−Pd)と(Pd−Ph)、(Pa−Pe)と(Pe−Ph)、
(Pa−Pe)と(Pe−Pi)
すると、前述の場合と同じく区間(Pa−Pd)と区間(Pd−Pg)の波形が一致すると判定される。この結果、ピーク位置Paはピッチ基準位置PPaとなり、他のピーク位置Pb,Pcは候補から除外される。そして、次はピーク位置Pdを起点として同じようして7通りの組み合わせについて波形比較処理を行うことになるが、ここでは、区間(Pd−Pg)に基づいて、次の比較対象となる区間を限定する。すなわち、区間(Pd−Pg)の区間長に±αとなるような区間(Pg−Pi)、(Pg−Pj)、(Pg−Pk)に対して波形比較処理を行う。ここで、αとして、例えば、区間(Pa−Pd)の約4分の1の長さを用いる。なお、αにはこれ以外の適当な値を用いてもよいことはいうまでもない。この波形比較処理の結果、区間(Pd−Pg)と区間(Pg−Pj)が同波形区間と判定される。従って、これ以降は3通りの組み合わせについて波形比較処理を行えばよいので、演算処理が非常に楽になる。
例えば、ステップ51からステップ5Bまでの処理によって、1つの安定区間が図15のように第1同母音部XXと第2同母音部YYという同波形区間すなわち定常区間が決定された場合、その安定区間の先頭部分に接する第1同母音部XXの先頭周期区間S1と、安定区間の末尾部分に接する第2同母音部YYの最終周期区間E2とは、その安定区間に沿って拡張すればよい。ところが、第1同母音部XXと第2同母音部YYとの間の不一致区間N1〜N6については単純に拡張することはできないので、次のように拡張する。
まず、前記ステップ53、57及び5Bの波形比較処理よりも誤差率の許容度の大きい拡張用誤差率に基づいて、第1同母音部XXの最終周期区間E1と不一致区間N1、N2、N3、N4、N5、N6の順に比較し、拡張用誤差率よりも小さいと判断された不一致区間を第1同母音部XXに組み込んで拡張する。同じく第2同母音部YYの先頭周期区間S2と不一致区間N6、N5、N4、N3、N2、N1の順に比較し、拡張用誤差率よりも小さいと判断された不一致区間を両方の同母音部XX、YYに組み込んで拡張する。図15(A)の場合は、不一致区間N1,N2が第1同母音部XXに組み込まれ、不一致区間N6が第2同母音部YYに組み込まれ、結果として、図15(B)のようになったとする。
なお、各同母音区間に組み込まれずに残った不一致区間N3,N4,N5は次のようにして、いずれかの同母音区間に組み込むようにする。不一致区間N3と、第1同母音部XXに組み込まれた不一致区間N2との間の波形比較処理を行って誤差率を求め、不一致区間N5と、第2同母音区間YYに組み込まれた不一致区間N6との波形比較処理を行って誤差率を求め、両方の誤差率を比較して、誤差率の小さい方(一致する度合いの高い方)をその同母音部として組み込み、拡張する。この結果、不一致区間N2と不一致区間N3との誤差率の方が小さいので、図15(C)のように、不一致区間N3が第1同母音部XXに組み込まれる。今度は、不一致区間N2と不一致区間N4との誤差率を求め、不一致区間N6と不一致区間N5との誤差率と比べ、同じく誤差率の小さい方を組み込む。このようにして、図15(C)のように不一致区間N3,N4が第1同母音部XXに組み込まれ、不一致区間N5は第2同母音部YYに組み込まれる。
なお、前述のように不一致区間N3が第1同母音区間に組み込まれた時点で、図15(D)のように、この不一致区間N3を第1同母音区間とみなして、次の誤差率算出の際の不一致区間N4と不一致区間N3とを比較対象区間としてもよいことはいうまでもない。
また、この誤差率の小さいほうをいずれかの同母音区間に組み込む際に、誤差率に上限値を設け、誤差率がその上限値を越えた場合には、その不一致区間は同母音区間に組み込まないようにしてもよい。
以上のようにして、すき間区間を両側の同母音区間に組み込み、定常区間の拡張処理を終了する。
例えば、ステップ5Aのピーク基準位置検出処理によって検出されたピーク基準位置に基づいてそれぞれの波形区間長の周波数を求めた場合、次のような周波数列になったとする。
134.6Hz、135.2Hz、145.7Hz、135.7Hz、・・・
従って、この周波数列を基本周波数列として、その整数倍の周波数帯を今度はカットオフ周波数とする時変動BPF処理をそれぞれの周波数帯毎に行い、それによって得られた波形を合成する。すなわち、上記のような周波数列の場合には、基本周波数列の2倍の周波数列として、
269.2Hz、270.4Hz、291.4Hz、271.4Hz、・・・
3倍の周波数列として、
403.8Hz、405.6Hz、437.1Hz、407.1Hz、・・・
4倍の周波数列として、
538.4Hz、540.8Hz、582.8Hz、542.8Hz、・・・
のように、それぞれ基本周波数列の整数倍の周波数列をカットオフ周波数とする時変動BPF処理をそれぞれ別々に行う。
このようにして得られた各周波数列に対応したBPF処理後の波形を合成して得られた合成波形をステップ5Bの波形比較処理の対象波形として使用する。
これによって、同母音区間の検出時には、音色(母音)の変化に従った正確な同母音区間の検出を行うことができるようになる。
なお、基本周波数を最低周波数とし、基本周波数の整数倍を最高周波数とするバンドパスフィルタ処理を行い、それを波形比較処理の対象波形として使用してもよいことはいうまでもない。
すなわち、ある定常区間の中におけるピーク基準位置間の長さ(周期長)を計算し、それでサンプリング周波数を割ることによってそのピーク基準位置における周波数が算出される。各定常区間を構成する各波形の周波数の値に基づいて、その波形区間の周波数f1と前波形区間の周波数f0との差分(すなわち比)を、ノートに対応したリニア軸で数値化した値すなわち「音程のセント値」に基づいた相対値xで表わすと、下記式のようになる。
f1/f0 = 2(x/12)
これを対数で表わして、xを解くと、
x = log(f1/f0)/log(12√2)
なる式によって求められる。なお、「12√2」は、2の12乗根である。周知のように、これは、2つの周波数の差すなわち比(すなわち音程)をセント値に変換する公式に対応している。ただし、一般的なセント値の表現では半音の音程が100セントで表現されるが、上記式に従うxは数値「1」が半音の音程に相当しており、半音の音程を「1」とする、小数点以下の値を含む値である。しかし、これは小数点の位取りの仕方の問題でしかないので、上記相対値xは、実質的にセント値に相当するものであると考えてもよく、要するに、相対的な音程情報のことである。上記式では、この相対値xは、f1とf0のどちらが大きいかによってプラス又はマイナスの符号を持つことになるが、ピッチ安定区間の検出のためにはこの正負符号は不要であるから、これを除去した絶対値表現|x|で表わしたものを「ノート距離」ということにする。図16(A)は、このようにして求められる「ノート距離」の時間的変化の関数(以下、ノート距離変動曲線という)の一例を示すもので、縦軸が「ノート距離」、横軸が時間である。このノート距離変動曲線がフラットである区間が、ピッチが安定している区間に相当する。
なお、このようにしてピッチ安定区間を求めてもよいが、この実施の形態では、動的ボーダ曲線を算出し、それに基づいてピッチ安定区間を検出するようにした。ここで、動的ボーダ曲線は、ノート距離変動曲線に基づいて算出されるものであり、例えば、あるサンプルポイントPXにおける動的ボーダは、開始位置からサンプルポイントPXまでのノート距離変動曲線の平均値を求め、それに所定の定数を乗じたものである。なお、これにオフセット値を加算してもよい。図16(A)の場合は、動的ボーダ曲線は曲線AC1のようになる。この動的ボーダ曲線AC1とノート距離変動曲線NC1とを比較して、ノート距離変動曲線NC1が動的ボーダ曲線AC1よりも小さな区間をピッチ安定区間とする。なお、このとき、動的ボーダ曲線AC1がノート距離変動曲線NC1よりも小さくなった時点で、動的ボーダ曲線AC1の演算を停止し、その値を保持し続けて、ノート距離変動曲線NC1とその保持していた値とが等しくなった時点で前回までの動的ボーダ曲線AC1の値をリセットして、再び最初から同じように動的ボーダ曲線AC1の演算を開始する。このようすが図16(B)に示されている。すると、図16(B)のようなピッチ安定区間PS3及びPS4が求まることになる。図16のようなノート距離変動曲線NC1の場合は、微分処理によって検出されたピッチ安定区間も、動的ボーダ曲線によって検出されたピッチ安定区間もさほど変わりはない。しかしながら、図17のようにノート距離変動曲線NC2の場合には、明確な違いが現れる。
一方、前述の動的ボーダ曲線によってピッチ安定区間を検出すれば、人間の耳と同じような反応を行わせることが可能となる。すなわち、図17のノート距離変動曲線NC2の動的ボーダ曲線を求めると、図17(B)のような曲線AC2になる。従って、この動的ボーダ曲線AC2よりも小さなノート距離変動曲線NC2の部分がピッチ安定区間PS9及びPSAとなり、図16のような大まかな2区間として把握されるようになる。すなわち、音程が安定している区間(図17の安定区間PS9)では、その後にそれなりの音程変化が発生すると音の区割りが変わったこと、つまり新しい音が始まったということを人間は感じる。逆に、音程が不安定な区間(図17の安定区間PSA)では多少の音程の変化は人間の耳にはあまり感じ取られなくなり、新しい音すなわち区間として認識しない。従って、音程が不安定な区間ではそれなりの大きな音程の変化でないと、音程の変化として認められなくなる。このような人間の耳に近いピッチ安定区間の検出を可能とするために、上述のような動的ボーダを曲線を用い、一連の処理で安定区間又は不安定区間を動的に検出し、区間分けを行っている。
このようにして検出されたピッチ安定区間が図5の定常区間検出処理によって最終的に検出された定常区間すなわち楽譜として表した時に一つの音符に相当する区間になる。
音声や楽音などを最終的に音符情報に変換する場合、ある特定周波数をどの音高に丸めるかによってメロディが大幅に変わってしまい、思ったような検出ができない場合が多い。そこで、この実施の形態では、相対音を主体として音高を決定し、さらにそれに調を利用して一番ふさわしい音高遷移を選択することによって音高列を決定するようにした。
この音高列決定処理の一例を図6のフローチャートに従って説明する。
ステップ61:ステップ15(図5)の定常区間検出処理によって得られた各定常区間に対してその区間の代表周波数を決定する。図19(A)は、最終的に得られた定常区間の一例を示す図である。ここでは全部で12個の区間が検出されたものとして、各区間に括弧記号で囲まれた〔0〕〜〔12〕の区間番号を割り当ててある。
各定常区間の代表周波数を決定する場合に重要なことは、各定常区間の周期位置から周波数の動向を洗い出して、その区間固有の周波数を1つに決定することである。そのための方法として、第1の方法は定常区間全体の平均周波数をその区間の代表周波数とする。第2の方法は定常区間の丁度中間付近の周期(周波数)をその区間の代表周波数とする。第3の方法はピッチが安定している部分の平均周波数をその区間の代表周波数とする。
なお、この実施の形態では、図5のステップ5Dのノート距離による細分化処理の際に使用したノート距離変動曲線、及びその時に検出されたピッチ安定区間を用いて代表周波数を算出する。すなわち、図5のステップ5Dの細分化処理によって細分化された区間すなわちピッチ安定区間におけるノート距離変動曲線の平均値を求める。この平均値を静的ボーダとする。例えば、図17のようなノート距離変動曲線NC2の場合には、ピッチ区間PS9における静的ボーダはSB1となり、ピッチ区間PSAにおける静的ボーダはSB2となる。そして、各ピッチ区間PS9及びPSAにおけるノート距離変動曲線NC2がこの静的ボーダSB1及びSB2よりも小さい区間を代表周波数検出区間F1及びF2として、その代表周波数検出区間F1及びF2に存在する各波形のピッチに基づいてその定常区間(ピッチ安定区間)PS9及びPSAの代表周波数を決定する。
例えば、図18の代表周波数検出区間F1を構成する波形区間が図19(B)のような12個であり、各波形区間の周期長は図示の通りとする。この場合、この代表周波数検出区間F1における周期長の平均値は、255.833となる。ここで、周期長はサンプリング数で表されているので、サンプリング周波数が44.1kHzだから、この代表周波数検出区間F1の代表周波数は、その周期長の平均値でサンプリング周波数を除することによって得られるので、図19(B)の場合には172.38Hzとなる。この場合、代表周波数の値は小数点2桁を有効として扱う。図19(C)はこのようにして図19(A)のような各定常区間の代表周波数を算出した結果を示す図である。
ステップ63:算出されたノート距離の小数点以下一桁を四捨五入して、ノート距離を12音階上の各音高へ丸め込む。例えば、図19(C)の場合には、各ノート距離は四捨五入されて、右欄の整数のようになる。この整数は、前音高からのノート番号上の差を示すことになるので、最初の音高を決定することによって、音高列データを完成することが可能となる。図19(C)の最右欄に示す音高列データが最初の音高を0とした場合の音高遷移のようすを示すデータである。
すなわち、図19(C)の場合には0−2−4−5−2−3・・・となる。
ステップ64:第1音の音高を決定する。まず、最も簡単な方法は、第1音にデフォルト値として60のノートナンバ(ノートネームC4)音を割り当てる。すなわち、MIDI規格の場合、ノートナンバの限界は0〜127なので、第1音の音高として、ノートナンバ60(ノートネームC4)の音を割り当てる。これによって、高音側(プラス側)には67半音分、低音側(マイナス側)には60半音分だけ音高を振ることができる。
このようにすると図19(C)の最右欄の音高列を示すデータは、60(C4)−62(D4)−64(E4)−65(F4)−62(D4)−63(D#4)・・・・となる。
なお、ステップ64では、第1音の音高をデフォルト値(例えば60)として決定し、音高列データを作成する場合について説明したが、これに限らず、最初の定常区間の代表周波数に最も近い純正率音階の周波数を検出し、その音階に当てはめるようにしてもよい。
例えば、図19(C)の場合には、区間番号〔0〕の代表周波数は172.38Hzなので、第1音の音高をそれに最も近いノートナンバ53(ノートネームF3)に決定する。
これによって、図19(C)の音高列を示すデータは、53(F3)−55(G3)−57(A3)−58(A#3)−55(G3)−56(G#3)・・・・となる。
なお、これ以外にも種々の方法で音程列を割り当ててもよいことは言うまでもない。
この第2の実施の形態に係る電子楽器が音信号分析装置及び演奏情報発生装置として動作する際のメインフローは図1と同じなので、その説明は省略する。ただし、メインフローの中のステップ13〜ステップ15の各処理の内容が前述の第1の実施の形態のものとは異なるので、以下その異なる点について詳細に説明する。
ステップ201:ステップ12によって求められたディジタルサンプル信号を所定のサンプル数毎に区切る処理を行う。図23(A)は、サンプリング周波数44.1kHzでサンプリングされた音声信号すなわちディジタルサンプル信号の波形値の一例を示す図である。図23(A)には、約4408ポイント分の波形値が示されている。図23(D)には、その2倍の約8816ポイント分の波形値が示されている。ステップ201では、所定のサンプル数(例えば、音声の最低周波数を80Hzとした場合におけるその最大周期に対応するサンプル数)でディジタルサンプル信号を区切る。従って、サンプリング周期44.1kHzの場合には、この所定サンプル数は『551=44100/80』である。図23(B)は図23(A)の波形値に対応しており、この波形値が551サンプル数毎に区切られた場合の各波形区間S1〜S8の様子を示す図である。
ステップ203:ステップ202で求められた各区間の最大値を補間(例えば直線補間)し、補助波形を作成する。図23(D)は、図23(A)〜(C)の約2倍の区間に相当する補助波形を示すものであり、各区間の最大値を直線補間することによって得られた補助波形を示している。なお、図23(A)のディジタルサンプル信号波形は点線で示されている。
次のステップ204〜ステップ206では、このようにして得られた補助波形に基づいて有効区間の抽出処理が行われる。
従って、このしきい値Thと補助波形との交点位置が有効区間及び無効区間の境界となり、このしきい値Thよりも大きい区間が有効区間となり、小さい区間が無効区間となる。
ステップ206:前記ステップ205の処理の結果、得られた有効区間及び無効区間のパターンの中から0.05msec以下の短い有効区間を無効区間に変更する処理を行う。この処理は前記ステップ205と同様の処理にて行う。
ステップ211:図20の有効区間検出処理によって検出された有効区間内のディジタルサンプリング信号に基づいて、波形のピークが強く出ているサイドを検出する。すなわち、図24(A)のように有効区間内のディジタルサンプリング信号のプラス(+)側の波形のピーク値maxとマイナス(−)側の波形のピーク値minのそれぞれの絶対値を取り、どちらの絶対値が大きいかによって、ピークの強く出ているサイドを決定する。なお、これ以外の方法でピークの強く出ているサイドを決定するようにしてもよい。例えば、上位3〜5個のピーク値の絶対値の合計を比較して決定するようにしてもよい。
ステップ212:ステップ211でピークの検出されたサイドにおいて、前方(時間経過方向)に向けてエンベロープを取り、そのピーク部を検出する。すなわち、図24(B)のように、プラス側の波形に対して前方にエンベロープを取り、そのピーク部を検出する。この結果、図24(B)の場合、ピーク部としてP1〜P4の4点が検出される。
ステップ213:今度はステップ212とは逆の方向(時間経過とは逆方向)に向けてエンベロープを取り、そのピーク部を検出する。すると、図24(C)のように、同じ位置にピーク部P1〜P4が検出されるが、波形によってはこれ以外にもピーク部PPが検出される。このことは、徐々にレベルが上がっている波形においては、いずれか一方向だけでエンベロープ検出を行った場合には、倍音ピークをピッチのピークとして取り間違え、実際にピークでない箇所(ピーク部PPなどのようなもの)を誤ってピークとして検出してしまうことがある。従って、ステップ212及びステップ213のように、異なる方向でエベロープを取り、ピーク部を検出することによって、ピーク部の検出精度を向上することができる。
ステップ215:以上の処理によって生成されたピーク値補間曲線に基づいて、ピーク間の合計傾斜を算出する。この処理では、図24(D)に示すように、傾斜を算出するための算出幅を例えば200ポイントとし、その算出幅のシフト量を例えば100ポイントとして、このシフト量に相当するポイントを順次シフトしながら、その傾斜を算出する。有効区間の最初のサンプルポイントa1が『100』だとすると、そのサンプルポイント『100』と『300』との間の傾斜b1は、算式:(a3 −a1)/200によって求められる。次にそれぞれのポイントを100ポイントずつシフトしたサンプルポイント『200』と『400』との間の傾斜b2を求める。
これらの傾斜b1〜b11は前者のサンプルポイントa1〜a11における傾斜として記憶される。すなわち、サンプルポイントa1の傾斜b1が0.03、サンプルポイントa2の傾斜b2が0.15として、それぞれのサンプルポイント毎に傾斜が記憶される。
このように合計傾斜を用いることで、一時的な傾きにだまされることなく、適切な傾斜部分が見つけ出せるので、適切な安定箇所を発見することができるようになる。
ステップ217:ステップ216の処理によって安定区間とみなされた区間毎に波形の最大値すなわちピーク値補間曲線の最大値を検出し、その最大値が所定値以下の場合にはその安定区間は削除し、不安定区間に変更する。
ステップ218:このようにして抽出された安定区間の存在に基づいて人間は初めてその安定区間の開始点付近に音符のトリガである音の開始点があることに気付く。そこで、その音符の開始点付近を決定するために、ステップ216及びステップ217で安定区間と認定された部分の音符開始点を検出し、それに応じて安定区間の拡張を行う。
なお、図26の場合に、安定区間d2がステップ217の処理で削除されなかった場合には、サンプルポイントf1が安定区間d1の音符終了点及び安定区間d2の音符開始点となり、サンプルポイントf2が安定区間d2の音符終了点及び安定区間d3の音符開始点となる。
ステップ222:ステップ221の第1次BPF処理によって得られた楽音波形信号に対してピーク位置検出法を用いて1周期の基準となるピーク基準位置検出処理を行う。
ステップ223:前記ステップ222で検出されたピーク基準位置に基づいて、あるピーク基準位置から始まる基本区間と、その基本区間の直後の次のピーク基準位置までの区間(以下、移動区間とする)との間の2つの区間の波形について波形が同じであるか否かの比較を図13に示すような誤差率算出方法によって行う。
ステップ224:ステップ223の波形比較処理の結果を利用して、誤差率が所定値(例えば10)よりも小さな区間同士を繋げて、それを疑似的な一致区間とし、各一致区間から抽出されるピッチの最大値と最小値を検出し、それに基づいてカットオフ周波数帯を決定する。
ステップ225:ステップ224で決定された新たなカットオフ周波数帯を用いて、第2次バンドパスフィルタ(第2次BPF)を通過させて、不要な倍音を除去する。
ステップ226:ステップ222のピーク基準位置検出処理と同じ処理を行う。
ステップ227:ステップ223の波形比較処理と同じ処理を行う。
ステップ225からステップ227までの一連の処理によって、誤差の原因となる低周波や高調波がカットされて、より精度の高いピーク基準位置検出処理及び波形比較処理が可能となり、前回よりも精度の高い一致区間が得られる。
ステップ228:ステップ227までの処理によって得られた各ピーク基準位置におけるピッチデータを補間して、1サンプルポイント毎に1ピッチデータとなるように直線補間する。
ステップ22A:ステップ229の時変動バンドパスフィルタ処理を経た楽音波形に対して、ピークが強く出ているサイドを決定し、ステップ228で得られた周波数変化に基づいて決定されるピリオド区間によって楽音波形を区切り、各区切り区間内で最大となる位置を検出し、そこをピーク基準位置とする。すなわち、ステップ229の時変動バンドパスフィルタ処理によって得られた楽音波形が図27に示すようなものである場合、その周波数変化に基づいて決定されるピリオド区間PR1〜PR5によって各楽音波形を区切る。この区切られた区間PR1〜PR5における最大値P1〜P6がピーク基準位置となる。ステップ222(ステップ52)やステップ226(ステップ56)のようなピーク基準位置検出処理によってピーク基準位置を検出すると、図10(A)に示すような波形の場合、明らかに誤った位置にピーク基準位置P4,P5が出現してしまうという問題があるが、このステップ22Aのようにピリオド区間によって楽音波形を区切り、その中でピーク基準位置を検出する場合だと、そのような明らかに誤ったピーク基準位置が検出されることはなくなり、ピーク基準位置検出精度が向上する。
このようにして、有声区間が決定したら、今度はその有声区間の中で所定長以下のもの(短い有声区間)を削除する。
この音色区間を検出する処理では、底辺部分に相当する波形区間を基本区間として固定し、その前後に存在する複数の波形区間を移動区間として順次波形比較処理を行い、その比較誤差を求める。このようにして求めた比較誤差を基準比較誤差と呼ぶ。
すなわち、図30(A)に示すように隣接比較誤差の底辺部分に相当する波形区間m0を基本区間とし、この基本区間とその両側に存在する複数の移動区間m1,m−1,m2,m−2,m3,m−3,m4,m−4・・・との間で波形比較処理を行う。基本区間は隣接比較誤差の最低値に相当するもの、すなわち、波形比較処理の結果、一致度が高いと認定された波形区間のことである。このようにして得られた比較誤差が図30(B)のような基準比較誤差曲線となる。この基準比較誤差曲線は波形区間m0を基準にして波形比較処理を行っている関係上、波形区間m0の近傍では隣接比較誤差曲線と同じような傾向を示すが、比較的離れた部分では誤差率は大きくなり、誤差率最大に収束する。
そして、この基準比較誤差曲線の値(誤差率)が所定値以下の部分の波形区間が音色区間TS1となる。
なお、基準比較誤差曲線を求める場合にも、ステップ22Bの有声区間検出処理のように、基準比較誤差曲線の値が所定値よりも大きくなった場合にそこを直ちに音色区間の区切りとしないで、所定値よりも大きい値が所定回数以上連続して発生した場合に音色区間の区切りとする。
なお、この場合もBPF処理後のサイン波形に近い波形に対して比較処理を行うことになるので、母音毎の特徴までもがフィルタリングされてしまい同母音区間すなわち同じ音色を抽出するという意義が薄れてしまう恐れがある。そこで、ピーク位置検出用と波形比較処理用の波形を別途用意して、それに基づいてそれぞれピーク位置検出及び波形比較処理を行うようにしてもよい。すなわち、ピーク位置検出用の波形としては時変動BPF処理後の波形をそのまま用い、波形比較処理用としてはその時変動BPF処理に用いた周波数成分の数倍周期の周波数帯波形を残すようなBPF処理を行った波形を用いるようにする。
なお、基本周波数を最低周波数とし、基本周波数の整数倍を最高周波数とするバンドパスフィルタ処理を行い、それを波形比較処理の対象波形として使用してもよいことはいうまでもない。
例えば、図31は8分音符長で分割された1小節分に該当する音程区間の一例を示す図である。図において、ステップ22Dによって最終的に決定された音程区間はPT1〜PT5のようになったとする。この場合、音程区間PT1はグリッドG2に、音程区間PT2はグリッドG4に、音程区間PT3はグリッドG5に当てはまる。しかしながら、グリッドG6に関しては、音程区間PT4と音程区間PT5の2つがグリッドG6に最も近い音程区間である。従って、この場合には、音程区間PT4と音程区間PT5の音長の長い方、すなわち音程区間PT5がグリッグG6に当てはめられることになる。
なお、グリッドG5に音程区間PT3が当てはめられている関係上、音程区間PT2の音長はクリッドG4からグリッドG5までとなるが、このときに、音程区間PT3が存在しない場合には、その音程区間PT2の音長の最終位置をそのまま採用してもよいし、音程区間PT2の末尾が最も近いグリッドにその音程区間を当てはめるようにしてもよい。この場合、音程区間の存在しない部分にノートオフ(休符)を当てはめるようにしてもよい。
また、音程区間PT3が存在しない場合には、その音程区間PT2の音長の最終位置を次の音程区間PT5の開始位置であるグリッドG6までとしてもよい。この場合には、ノートオフ(休符)などは存在しないことになる。
このように図22の定常区間検出処理によって音価が決定された後は、図1のステップ16の音高列決定処理によって、各音価に最適な音高列が割り当てられる。この音高列決定処理は第1の実施の形態と同じなので説明は省略する。
Claims (6)
- 1又は複数の音符の時系列的連なりからなる任意の音信号を入力するための入力手段と、
前記入力手段から入力された音信号のサンプル振幅値の所定サンプル数にわたる平均値をそれぞれ求め、その結果を時系列的な平均レベル情報として出力する演算手段と、
前記演算手段によって求められた平均レベル情報が所定値以上の区間を有効区間として検出する有効区間検出手段と、
検出した有効区間の中から、前記平均レベル情報の傾きに基づき、安定区間を検出する安定区間検出手段と、
検出した安定区間に基づき1つ1つの音符に相当すると推量される音程区間をそれぞれ検出する音程区間検出手段と、
前記検出された音程区間を、その時系列に従って、所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置し、各音程区間の開始又は終了端部のうち所定の一方の端部に最も近い1つのグリッド位置を各音程区間に対してそれぞれ割り当て、その結果同じグリッド位置に複数の音程区間が割り当てられた場合には最も時間長の長い1つの音程区間を有効な音符として選択する手段と
を具備した音信号分析装置。 - 1又は複数の音符の時系列的連なりからなる任意の音信号を入力するための入力手段と、
前記入力手段から入力された音信号のサンプル振幅値の所定サンプル数毎にその最大値を検出し、検出された最大値を補間することによって補助波形を作成する波形作成手段と、
前記波形作成手段によって作成された補助波形が所定値以上の区間を第1の区間として検出する第1区間検出手段と、
前記第1の区間内における前記音信号のサンプル振幅値に基づいて音信号分析用の第2の区間を、該第1の区間の中から検出する第2区間検出手段と、
前記第2の区間内における前記音信号中の隣接する波形同士の一致度合いを分析し、一致していると分析された連続する複数の波形からなる区間を第3の区間として検出する第3区間検出手段と、
検出した第3の区間に基づき1つ1つの音符に相当すると推量される音程区間をそれぞれ検出する音程区間検出手段と、
前記検出された音程区間を、その時系列に従って、所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置し、各音程区間の開始又は終了端部のうち所定の一方の端部に最も近い1つのグリッド位置を各音程区間に対してそれぞれ割り当て、その結果同じグリッド位置に複数の音程区間が割り当てられた場合には最も時間長の長い1つの音程区間を有効な音符として選択する手段と
を具備した音信号分析装置。 - 1又は複数の音符の時系列的連なりからなる任意の音信号を入力するステップと、
前記入力された音信号のサンプル振幅値の所定サンプル数にわたる平均値をそれぞれ求め、その結果を時系列的な平均レベル情報として出力するステップと、
前記求められた平均レベル情報が所定値以上の区間を有効区間として検出するステップと、
検出した有効区間の中から、前記平均レベル情報の傾きに基づき、安定区間を検出するステップと、
検出した安定区間に基づき1つ1つの音符に相当すると推量される音程区間をそれぞれ検出するステップと、
前記検出された音程区間を、その時系列に従って、所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置し、各音程区間の開始又は終了端部のうち所定の一方の端部に最も近い1つのグリッド位置を各音程区間に対してそれぞれ割り当て、その結果同じグリッド位置に複数の音程区間が割り当てられた場合には最も時間長の長い1つの音程区間を有効な音符として選択するステップと
を具備する音信号を分析するための方法。 - 1又は複数の音符の時系列的連なりからなる任意の音信号を入力するためのステップと、
前記入力された音信号のサンプル振幅値の所定サンプル数毎にその最大値を検出し、検出された最大値を補間することによって補助波形を作成するステップと、
前記作成された補助波形が所定値以上の区間を第1の区間として検出するステップと、
前記第1の区間内における前記音信号のサンプル振幅値に基づいて音信号分析用の第2の区間を、該第1の区間の中から検出するステップと、
前記第2の区間内における前記音信号中の隣接する波形同士の一致度合いを分析し、一致していると分析された連続する複数の波形からなる区間を第3の区間として検出するステップと、
検出した第3の区間に基づき1つ1つの音符に相当すると推量される音程区間をそれぞれ検出するステップと、
前記検出された音程区間を、その時系列に従って、所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置し、各音程区間の開始又は終了端部のうち所定の一方の端部に最も近い1つのグリッド位置を各音程区間に対してそれぞれ割り当て、その結果同じグリッド位置に複数の音程区間が割り当てられた場合には最も時間長の長い1つの音程区間を有効な音符として選択するステップと
を具備する音信号を分析するための方法。 - コンピュータによって読み取り可能な記録媒体であって、該コンピュータによって実行される音信号を分析するためのプログラムについての命令群をその記憶内容として有しており、前記音信号を分析するためのプログラムは、前記コンピュータに、
1又は複数の音符の時系列的連なりからなる任意の音信号の入力を受け付ける手順と、
前記入力された音信号のサンプル振幅値の所定サンプル数にわたる平均値をそれぞれ求め、その結果を時系列的な平均レベル情報として出力する手順と、
前記求められた平均レベル情報が所定値以上の区間を有効区間として検出する手順と、
検出した有効区間の中から、前記平均レベル情報の傾きに基づき、安定区間を検出する手順と、
検出した安定区間に基づき1つ1つの音符に相当すると推量される音程区間をそれぞれ検出する手順と、
前記検出された音程区間を、その時系列に従って、所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置し、各音程区間の開始又は終了端部のうち所定の一方の端部に最も近い1つのグリッド位置を各音程区間に対してそれぞれ割り当て、その結果同じグリッド位置に複数の音程区間が割り当てられた場合には最も時間長の長い1つの音程区間を有効な音符として選択する手順と
を実行させるプログラムであることを特徴とする記録媒体。 - コンピュータによって読み取り可能な記録媒体であって、該コンピュータによって実行される音信号を分析するためのプログラムについての命令群をその記憶内容として有しており、前記音信号を分析するためのプログラムは、前記コンピュータに、
1又は複数の音符の時系列的連なりからなる任意の音信号の入力を受け付ける手順と、
前記入力された音信号のサンプル振幅値の所定サンプル数毎にその最大値を検出し、検出された最大値を補間することによって補助波形を作成する手順と、
前記作成された補助波形が所定値以上の区間を第1の区間として検出する手順と、
前記第1の区間内における前記音信号のサンプル振幅値に基づいて音信号分析用の第2の区間を、該第1の区間の中から検出する手順と、
前記第2の区間内における前記音信号中の隣接する波形同士の一致度合いを分析し、一致していると分析された連続する複数の波形からなる区間を第3の区間として検出する手順と、
検出した第3の区間に基づき1つ1つの音符に相当すると推量される音程区間をそれぞれ検出する手順と、
前記検出された音程区間を、その時系列に従って、所定の音符長に対応する時間間隔で分割されたグリッド上にそれぞれ配置し、各音程区間の開始又は終了端部のうち所定の一方の端部に最も近い1つのグリッド位置を各音程区間に対してそれぞれ割り当て、その結果同じグリッド位置に複数の音程区間が割り当てられた場合には最も時間長の長い1つの音程区間を有効な音符として選択する手順と
を実行させるプログラムであることを特徴とする記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004217686A JP3888372B2 (ja) | 1996-11-20 | 2004-07-26 | 音信号分析装置及び方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32477596 | 1996-11-20 | ||
JP2004217686A JP3888372B2 (ja) | 1996-11-20 | 2004-07-26 | 音信号分析装置及び方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33632897A Division JP3669129B2 (ja) | 1996-11-20 | 1997-11-20 | 音信号分析装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004334240A JP2004334240A (ja) | 2004-11-25 |
JP3888372B2 true JP3888372B2 (ja) | 2007-02-28 |
Family
ID=33512773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004217686A Expired - Fee Related JP3888372B2 (ja) | 1996-11-20 | 2004-07-26 | 音信号分析装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3888372B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5549166B2 (ja) * | 2009-09-18 | 2014-07-16 | ブラザー工業株式会社 | 音声処理装置、プログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6083983A (ja) * | 1983-10-15 | 1985-05-13 | 日本ビクター株式会社 | 音符表示装置 |
JPS60262197A (ja) * | 1984-06-08 | 1985-12-25 | シャープ株式会社 | 周期的信号の基本周波数および位相検出回路 |
JPS61123897A (ja) * | 1984-11-20 | 1986-06-11 | ブラザー工業株式会社 | 音声の始端決定装置 |
JP2604412B2 (ja) * | 1988-02-29 | 1997-04-30 | 日本電気ホームエレクトロニクス株式会社 | 自動採譜方法及び装置 |
JP2604411B2 (ja) * | 1988-02-29 | 1997-04-30 | 日本電気ホームエレクトロニクス株式会社 | 自動採譜方法及び装置 |
JP2653456B2 (ja) * | 1988-02-29 | 1997-09-17 | 日本電気ホームエレクトロニクス株式会社 | 自動採譜方法及び装置 |
JP2604404B2 (ja) * | 1988-02-29 | 1997-04-30 | 日本電気ホームエレクトロニクス株式会社 | 自動採譜方法及び装置 |
JPH01288900A (ja) * | 1988-05-16 | 1989-11-21 | Nec Corp | 歌声伴奏装置 |
JP3149466B2 (ja) * | 1991-07-26 | 2001-03-26 | カシオ計算機株式会社 | ピッチ抽出装置及びそれを用いた電子楽器 |
JP3104350B2 (ja) * | 1991-12-19 | 2000-10-30 | カシオ計算機株式会社 | 採譜装置 |
JPH05241597A (ja) * | 1992-02-27 | 1993-09-21 | Kawai Musical Instr Mfg Co Ltd | ピッチ周期抽出方法 |
JP2969138B2 (ja) * | 1992-12-21 | 1999-11-02 | ヤマハ株式会社 | ピッチ検出装置 |
JP2591417B2 (ja) * | 1993-03-01 | 1997-03-19 | ヤマハ株式会社 | 自動演奏データ修正装置 |
JP3024447B2 (ja) * | 1993-07-13 | 2000-03-21 | 日本電気株式会社 | 音声圧縮装置 |
-
2004
- 2004-07-26 JP JP2004217686A patent/JP3888372B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004334240A (ja) | 2004-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4672613B2 (ja) | テンポ検出装置及びテンポ検出用コンピュータプログラム | |
JP4767691B2 (ja) | テンポ検出装置、コード名検出装置及びプログラム | |
US8735709B2 (en) | Generation of harmony tone | |
JPH08500452A (ja) | 音声和音発生方法及び装置 | |
WO2017082061A1 (ja) | 調律推定装置、評価装置、およびデータ処理装置 | |
US6525255B1 (en) | Sound signal analyzing device | |
JP3669129B2 (ja) | 音信号分析装置及び方法 | |
JP5229998B2 (ja) | コード名検出装置及びコード名検出用プログラム | |
JP2806351B2 (ja) | 演奏情報分析装置及びそれを用いた自動編曲装置 | |
EP2775475B1 (en) | Music synthesizer with correction of tones during a pitch bend, based on played chord and on pitch conversion harmony rules. | |
JP4134961B2 (ja) | 音信号分析装置及び方法 | |
JP3279204B2 (ja) | 音信号分析装置及び演奏情報発生装置 | |
JP4932614B2 (ja) | コード名検出装置及びコード名検出用プログラム | |
JP5005445B2 (ja) | コード名検出装置及びコード名検出用プログラム | |
JP2000261322A (ja) | 音響信号の符号化方法およびプログラム記録媒体 | |
JP3888372B2 (ja) | 音信号分析装置及び方法 | |
JP3888371B2 (ja) | 音信号分析装置及び方法 | |
JP3888370B2 (ja) | 音信号分析装置及び方法 | |
JP2017173655A (ja) | 音評価装置および音評価方法 | |
JP5088179B2 (ja) | 音処理装置およびプログラム | |
JP2011197564A (ja) | 電子音楽装置及びプログラム | |
JP5659501B2 (ja) | 電子音楽装置及びプログラム | |
JP6036800B2 (ja) | 音信号生成装置及びプログラム | |
JP5776205B2 (ja) | 音信号生成装置及びプログラム | |
JP2006154526A5 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060619 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060627 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060828 |
|
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: 20061107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061120 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101208 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111208 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121208 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |