2010-05-20 22 views
10

Kromatik bir enstrüman tuneri için en sağlam algoritmayı kim bilir?Kromatik enstrüman tuneri için sağlam algoritma?

Bir enstrüman tuner yazmaya çalışıyorum. Basit bir otokorelasyon (http://en.wikipedia.org/wiki/Autocorrelation)

aşağıdaki temel karşılaşılan tepe frekansı

  • bir getirmemek periodogramı oluşturmak ve daha sonra tespit etmek için

    1. FFT: Aşağıdaki iki algoritma çalıştık sorunlar:

      1. Kesinlik 1: F FT örnekleme, kayıt uzunluğu ve kutu boyutu arasındaki ilişki sabittir. Bu, birkaç sentin doğruluğunu elde etmek için 1-2 saniyelik bir veri kaydetmem gerektiği anlamına gelir. Bu tam olarak ne zaman gerçek dediğim değil.

      2. Kesinlik 2: Otokorelasyon biraz daha iyi çalışır. Birkaç sentin gereken doğruluğunu elde etmek için örneklerin doğrusal enterpolasyonunu tanıtmak zorunda kaldım.

      3. Sağlamlık: Bir gitar durumunda çok fazla taş tonu görüyorum. Bazı çıkıntılar aslında dizgenin ürettiği ana tondan daha güçlüdür. Doğru dizeyi seçmek için sağlam bir yol bulamadım.

      Yine de, herhangi bir ucuz elektronik radyo alıcımdan daha sağlam çalışır. Bu tunerler nasıl uygulanır?

  • cevap

    4

    Ayrıca FFT'leri de enterpolasyon yapabilir ve daha yüksek hassasiyet için daha yüksek harmonikleri kullanabilirsiniz. Üretilen enstrümanın harmonikleri hakkında biraz bilgi sahibi olmanız gerekiyor ve yarım oktav hedeften daha az olduğunuzu varsaymanız daha kolay olacaktır, ancak bunun yokluğunda bile, temel frekans genellikle çok daha güçlüdür. İlk subharmonikten daha fazladır ve birincil harmoniğin çok altında değildir. Basit bir sezgisel temel frekansı seçmenize izin vermelidir.

    Otokorelasyon yönteminin tüm enstrümanlarda güçlü bir şekilde çalışacağından şüphe duyuyorum, ancak bir temel frekansla dengelendiğinizde bir dizi kendilik benzerlik skoru elde etmelisiniz. Eğer ikiye giderseniz, aynı puanı tekrar almalısınız (farklı harmoniklerin gürültü ve diferansiyel sönümleri dahilinde).

    +0

    Harmonikleri ve altharmonikleri basit bir sezgisel olarak kullanmak gerçekten çok yardımcı oldu. Sağol Rex. – Stiefel

    İlgili konular