Sadece işleri açıklığa kavuşturmak için - bu özellik temel değil önemli . Spektrum hesaplaması için DFT yerine DCT kullanılması söz konusu olduğunda temel farktır.
Neden Cepstral Ortalama Normalizasyonu Yapıyoruz
Hoparlör tanımada tüm kanal efektlerini (vokal kanalı, ses yolu, oda vb. Dürtü yanıtı) kaldırmak istiyoruz. Giriş sinyalinin ve kanal impuls tepkisinin h [ n ] ile verilmesi şartıyla , kaydedilen sinyal her ikisinin de doğrusal evrişimidir:x [ n ]h [ n ]
y[ n ] = x [ n ] ⋆ sa [ n ]
Fourier Dönüşümü'nü alarak şunları elde ederiz:
Y[ f] = X[ f] ⋅ H[ f]
FT'nin konvolüsyon-çarpma denklik özelliği nedeniyle - bu aşamada FFT'nin bu kadar önemli bir özelliği vardır .
Cepstrumun hesaplanmasındaki bir sonraki adım spektrumun logaritmasını almaktır:
Y[ q] = günlükY[ f] = günlük( X[ f] ⋅ H[ f] ) = X[ q] + H[ q]
çünkü: . Açıkçası q , quefrencydır . Fark edileceği gibi, zaman alanında evrişim cepstrumunu alarak cepstral (quefrency) alanına ekleme ile sonuçlanırız.günlük( a b ) = günlüka + günlüğübq
Cepstral Ortalama Normalizasyonu Nedir?
Şimdi biliyoruz ki cepstral alanda herhangi bir evrişimsel bozulma, ilavelerle temsil edilmektedir. Hepsinin durağan olduğunu (vokal kanalı ve kanal yanıtı değişmediği için güçlü bir varsayımdır) ve konuşmanın durağan kısmının ihmal edilebilir olduğunu varsayalım. Gerçek olan her i-th çerçevesi için:
Yben[ q] = H[ q] + Xben[ q]
Tüm karelerin ortalamasını alarak
1N-ΣbenYben[ q] = H[ q] + 1N-ΣbenXben[ q]
Farkın tanımlanması:
R,ben[ q]= Yben[ q] - 1N-ΣjYj[ q]= H[ q] + Xben[ q] - ( H[ q] + 1N-ΣjXj[ q] )= Xben[ q] - 1N-ΣjXj[ q]
Kanal bozulmaları kaldırılmış sinyalimizle son buluyoruz. Yukarıdaki tüm denklemleri basit İngilizceye koymak:
- Cepstrum'u hesapla
- Her katsayıdan ortalamayı çıkarın
- İsteğe bağlı olarak Çıkarma yerine Cepstral Ortalama Normalizasyonu gerçekleştirmek için varyansa bölün.
Cepstral Ortalama Normalizasyonu gerekli midir?
Özellikle bir hoparlörü tek bir ortamda tanımaya çalıştığınızda bu zorunlu değildir. Aslında, ek gürültü nedeniyle hatalara eğilimli olduğu için sonuçlarınızı bile bozabilir:
y[ n ] = x [ n ] ⋆ sa [ n ] + w [ n ]
Y[ f] = X[ f] ⋅ H[ f] + W[ f]
günlükY[ f] = günlük[ X[ f] ( H[ f]+ W[ f]X[ f]) ] = günlükX[f] + günlük( H[f] +W[f]X[f])
Kötü SNR koşullarında, işaretli terim tahmini geçebilir.
CMS uygulandığında, genellikle birkaç yüzde daha fazla kazanabilirsiniz. Bu performans kazancını katsayı türevlerinden eklerseniz tanıma oranınızda gerçek bir artış elde edersiniz. Son karar size kalmış, özellikle de konuşma tanıma sistemlerinin iyileştirilmesi için kullanılan başka birçok yöntem var.