私は現在、ゼロクロッシング推定を使用して着信信号の周波数を検出する必要があるオーディオ処理ソフトウェアを開発しています。完全な正弦波が入力された場合の周波数の推定は難しくありませんが、ピアノの場合は音波が異なり、その背後にある理論が変わります。
現時点では、ソフトウェアはすべてのゼロを検出し、それと前のゼロの間のインデックス位置を保存します (サンプルの数を記録するため)。
以下は、44.1kHz でサンプリングされた 130 Hz ピアノ C ノートの各ゼロ間のサンプルを含む配列です。
44 11 36 65 56 12 37 66 52 13 38 67 51 11 39 68 50 11 47 60 49 11 48 61 47 14 47 66 43 13
タスクは、未知の長さの未知のパターンを決定することです。ただし、これらのパターンには誤差が生じる場合があります。例えば、
44, 11, 36, 65
56, 12, 37, 66
52, 13, 38, 67
パターンです。そのため、パターンの平均和を処理した後、周波数を簡単に検出できます。 パターンがそのままで、その長さが不明であることを知っている場合、これらのタイプのパターンをどのように検出できますか。