2010-05-11 21 views
2

Je suis à la recherche d'un utilitaire/code qui pourrait détecter et laissez-moi savoir si mon fichier wav 1 minute contient du son ou non? D'une autre manière, si elle pouvait détecter la durée du silence (s'il existe) à n'importe quelle position dans le fichier wav, cela servirait également le but.Son/Silence dans un fichier wav

Est-ce que SOX supporte n'importe quelle commande pour cela? J'ai essayé avec Java, mais n'ai rien trouvé dans JMF.

Merci

Vivek

Répondre

0

SOX does have the ability-garniture silence, mais je ne sais pas si cela vous aide:

silence [-l] ci-périodes [seuil de durée [d |%] [seuil de durée inférieur à la période [d |%]]

Supprime le silence au début, au milieu ou à la fin de l'audio. `Silence 'est déterminé par un seuil spécifié.

+0

Merci pour cela. Mais je ne dois pas couper le silence ou le fichier wav. Je veux juste savoir, si le fichier est silencieux sur sa plage de durée de 1 minute ou s'il y a du son dedans? Merci Vivek – Vivek

0

Vous pouvez facilement écrire votre processeur de fichier wave, c'est un en-tête facile et ensuite des données simples. Vous pouvez facilement trouver la taille de l'échantillon, 8 ou 16 bits, puis lire le fichier échantillon par échantillon si vous trouvez une séquence d'échantillons avec la valeur de 0, alors vous avez le silence. Mesurez combien d'échantillons sont 0 et utilisez le taux d'échantillonnage (également dans l'en-tête) pour calculer la durée.

+0

Est-ce que Java fournit une API ou binaire pour lire les fichiers wav? Il serait d'une grande aide si n'importe quel code d'échantillon est disponible pour ceci? Merci Vivek – Vivek

+0

Je ne fais pas beaucoup de Java, mais je suis sûr qu'il a des capacités de lecture de fichiers binaires, recherchez les spécifications de format wav sur le web, il est un format très simple. –

0

Audacity fait cela et est OpenSourced sur sourceforge.net, donc vous devriez être capable de lire tout le code d'exemple dont vous avez besoin.