1

オンセット位置からノートの長さを決定する方法について質問があります。

たとえば、振幅値の配列 (short を含む) と、ノートの開始が検出された場合は 1、検出されなかった場合は 0 を含む同じサイズの別の配列があります。したがって、基本的には、各 1 間の距離が継続時間を決定するために使用されます。

これどうやってするの?オーディオ データのサンプル レートやその他の属性を使用する必要があることはわかっていますが、使用できる特定の式はありますか?

ありがとうございました!

4

2 に答える 2

1

したがって、ONSETS のリストから始めています。実際に探しているのは、OFFSETS のリストです。

発症検出には多くの方法があります (ここに論文があります) http://bingweb.binghamton.edu/~ahess2/Onset_Detection_Nov302011.pdf

同じ方法の多くをオフセット検出に適用できます。

開始はスペクトル コンテンツの増加によってマークされるため、スペクトル コンテンツの減少を測定できます。

1) 発症の前後に妥当な時間枠を取る。(.25-.5s) 2) ウィンドウを小さなセグメントに切り刻み、50% オーバーラップするフーリエ変換を行います。3) 2 つの連続するウィンドウ間のフーリエ係数の差を計算し、SD の負の変化のみを許可します。4) 結果に -1 を掛けます。5) 結果からピークを選択します 6) 出来上がり、オフセット。

(スペクトル差関数の詳細については、上記の論文の 7 ページを参照してください。(上記のように) 変更されたバージョンを適用できます。

于 2012-03-19T03:37:55.657 に答える
0

Hz 単位のサンプルレートが fs の場合、2 つのノード間の時間は次のようになります。

1/fs * <number of zeros between the two node-ones>

とてもシンプルです:-)

よろしく

于 2011-09-13T16:20:21.130 に答える