2016-12-06 2 views
0

J'ai enregistré un son de quelques secondes et contient deux sons similaires générés avec la même fréquence. Ils sont à quelques secondes d'intervalle. Ce que je voudrais faire est de détecter la fin de la première tonalité et le début de la deuxième tonalité en termes de nombre d'échantillons à part pour ce fichier audio. Supposons PCM signé 16 bits à 48KHz audio et un tableau d'octets pour représenter l'audio brut. Je me bats sur la façon dont je peux comprendre cela;Détection de fréquences/sons spécifiques en audio brut (PCM)

a) Exécuter un DFT pour détecter l'apparition de la fréquence spécifique du ton

b) Étant donné que les deux tons sont les plus virulents, en quelque sorte, comprendre les pics et où ils commencent/fin pour les deux tons

c) Exécutez le fichier audio à travers un filtre passe-bande pour filtrer toutes les autres fréquences, je terminerai potentiellement avec deux lignes ou deux segments non nuls dans le tableau

Quelle est la méthode la plus simple (n'hésitez pas à suggérer d'autres techniques)?

Répondre

0

Exécuter les échantillons à travers un Fast Fourier Transform, correspondant à vos fréquences attendues dans une certaine tolérance, puis compte le nombre d'échantillons entre quand ne correspond pas?

+0

Est-ce essentiellement l'utilisation de la réponse/ressources de http://stackoverflow.com/questions/17429407/get-frequency-wav-audio-using-fft-and-complex-class? Merci –

+0

Pas vraiment sûr. J'espérais juste que je pourrais vous pousser dans une direction possible. –

+0

J'ai réussi à faire fonctionner une FFT sur le signal à partir du lien que j'ai fourni ci-dessus. C'est un tableau de nombres réels/imaginaires. Je suis capable de trouver les amplitudes par fréquence. Étant donné le tableau FFT et son signal absolu, comment pourrais-je déduire des informations de fréquence basées sur le nombre d'échantillons? –