Comment segmenter l'audio des appels téléphoniques en silence / non silence?

9

Mon problème est que je ne connais pas l'énergie du bruit de fond, donc je ne peux pas simplement limiter l'énergie. Le traitement se fait en temps réel, et j'ai environ 500 ms pour décider. Idéalement, je voudrais que les consonnes silencieuses soient considérées comme non silencieuses.

Michael Litvin
la source
6
Je n'ai pas suffisamment d'informations pour donner une réponse complète, mais votre problème est appelé détection d'activité vocale . Il n'y a pas de meilleure façon convenue de le faire, et si vous regardez, vous rencontrerez probablement de nombreuses approches différentes. Peut-être que d'autres peuvent l'étoffer un peu plus.
Jason R
@Michael Litvin, il existe une classe de filtres non linéaires (utilisés dans la «détection d'énergie» sous le nom de «Teager-Kaiser». Je pense que c'est un sous-ensemble de ce que l'on appelle les «noyaux de voltera». Désolé, je ne peux pas en fournir. plus d'informations, mais si vous recherchez ces mots, vous trouverez peut-être ce que vous cherchez. Je sais que la méthode Teager-Kaiser est utilisée pour «quand» les sons des baleines commencent VS juste le bruit de fond.
Spacey

Réponses:

4

Il y a un tas de paramètres que vous pouvez regarder:

  1. Énergie globale
  2. Spectre à court terme: la parole a un spectre "rose" assez distinctif et le bruit (qui se produit pendant les parties non vocales) a tendance à être blanc s'il est électriquement dominé ou "rouge" (c'est-à-dire lourd à basse fréquence) s'il s'agit d'un fond acoustique bruit ou bruit de microphone
  3. Statistiques d'amplitude. La plupart des signaux de bruit ont une distribution gaussienne, la parole est plus proche d'une distribution de Laplace

Je pense qu'une combinaison de ces trois devrait donner un schéma de détection assez robuste.

Hilmar
la source