Résumé des méthodes et des outils d'extraction de fonctionnalités audio

Cet article est apparu pour la première fois dans: Walker AI

La plupart des fonctionnalités audio proviennent de tâches de reconnaissance vocale. Elles peuvent rationaliser le signal échantillonné de la forme d'onde d'origine, accélérant ainsi la compréhension par la machine de la signification sémantique de l'audio. Depuis la fin des années 1990, ces fonctionnalités audio ont également été utilisées dans des tâches de recherche d'informations musicales telles que la reconnaissance d'instruments, et d'autres fonctionnalités conçues pour la musique audio ont vu le jour.

1. Catégories de fonctionnalités audio

Comprendre les différentes catégories de fonctionnalités audio ne consiste pas à classer avec précision une fonctionnalité donnée, mais à approfondir la compréhension de la signification physique de la fonctionnalité. En général, nous pouvons distinguer les fonctionnalités audio des dimensions suivantes:

(1) Si la caractéristique est directement extraite du signal par le modèle ou est basée sur les statistiques obtenues à partir de la sortie du modèle, telles que la moyenne, la variance, etc.

(2) Que la caractéristique représente un état transitoire ou une valeur globale, l'état transitoire est généralement basé sur une trame et l'état global couvre une dimension temporelle plus longue;

(3) Le degré d'abstraction des éléments. Le niveau d'abstraction le plus bas des éléments sous-jacents est également le plus facile à extraire du signal audio d'origine. Il peut être ensuite transformé en éléments intermédiaires de niveau supérieur qui représentent des éléments musicaux communs dans la partition, tels que la hauteur et le début des notes. Heure de début, etc .; les fonctionnalités de haut niveau sont les plus abstraites, principalement utilisées pour le style musical et les tâches émotionnelles;

(4) En fonction de la différence du processus d'extraction des caractéristiques, il peut être divisé en: caractéristiques extraites directement du signal d'origine (comme le taux de passage à zéro), caractéristiques obtenues en convertissant le signal en fréquence (comme le centroïde spectral) et celles obtenues grâce à un modèle spécifique Caractéristiques (telles que la mélodie), les fonctionnalités (telles que les MFCC) obtenues en modifiant l'échelle quantitative des fonctionnalités inspirées de la cognition auditive humaine.

Nous utilisons les «différences dans le processus d'extraction des caractéristiques» comme principal critère de classification et répertorions les caractéristiques les plus courantes dans chaque catégorie:

Résumé des méthodes et des outils d'extraction de fonctionnalités audio

Dans le même temps, nous avons également constaté que certaines fonctionnalités n'appartiennent pas complètement à l'une des catégories telles que MFCC, car l'extraction de MFCC convertira le signal du domaine temporel au domaine fréquentiel, puis l'obtiendra selon le filtre d'échelle MEL qui imite la réponse auditive humaine, il appartient donc aux deux fonctionnalités du domaine fréquentiel. C'est aussi une caractéristique perceptive.

2. Outils d'extraction courants

Vous trouverez ci-dessous une liste de certains outils et plates-formes couramment utilisés pour extraire des fonctionnalités audio.

Nom adresse Langage d'adaptation
Aubio https://aubio.org c / python
Essentia https://essentia.upf.edu c ++ / python
Librosa https://librosa.org python
Madmom http://madmom.readthedocs.org python
pyAudioAnalysis https://github.com/tyiannak/pyAudioAnalysis python
Plugins Vamp https://www.vamp-plugins.org c ++ / python
Yaafe http://yaafe.sourceforge.net python / matlab

3. Traitement du signal audio

Le signal audio numérique est une série de représentation numérique d'échantillons en constante évolution dans le domaine temporel, souvent appelée «forme d'onde». Pour analyser le signal numérique, le signal doit être échantillonné et quantifié.

L'échantillonnage fait référence au processus de discrétisation en temps continu. L'échantillonnage uniforme fait référence à l'échantillonnage une fois à chaque intervalle de temps égal. Le nombre d'échantillons sonores à collecter par seconde est appelé la fréquence d'échantillonnage. Les 44,1 kHz et 11 kHz souvent observés dans les fichiers audio font référence à Fréquence d'échantillonnage.

La quantification convertit les formes d'onde continues en nombres discrets. D'abord, toute l'amplitude est divisée en un ensemble d'étapes de quantification finies. La division d'amplitude peut être égale ou inégale. Les valeurs d'échantillons comprises dans une certaine étape reçoivent la même valeur. La valeur quantifiée. La profondeur de bits dans le fichier audio représente la valeur de quantification et la profondeur de bits de 16 bits représente la quantification de l'amplitude à 2 ^ 16.

La loi de Nyquist stipule que si la fréquence d'échantillonnage est supérieure ou égale à deux fois la composante de fréquence la plus élevée du signal, un signal peut être reconstruit avec précision à partir de sa valeur d'échantillonnage.En fait, la fréquence d'échantillonnage est nettement supérieure à la fréquence de Nyquist.

4. Transformations courantes

4.1 Transformée de Fourier à court terme

La transformée de Fourier de courte durée (transformée de Fourier de courte durée, STFT) convient à l'analyse spectrale de signaux lents variant dans le temps, et a été largement utilisée dans l'analyse et le traitement audio et d'image. La méthode consiste à diviser d'abord le signal en images, puis à effectuer une transformation de Fourier sur chaque image. Chaque trame de signal de parole peut être considérée comme étant coupée de diverses formes d'onde de signal stationnaire différentes, et le spectre de fréquence à court terme de chaque trame de parole est une approximation du spectre de fréquence de chaque forme d'onde de signal stationnaire.

Puisque le signal de parole est stable à court terme, le signal peut être divisé en trames pour calculer la transformée de Fourier d'une certaine trame, de sorte que la transformée de Fourier à court terme soit obtenue.

La transformée de Fourier (FFT) peut transformer un signal du domaine temporel au domaine fréquentiel, tandis que la transformée de Fourier inverse (IFFT) peut transformer le domaine fréquentiel en signal du domaine temporel; La transformée de Fourier transforme le signal du domaine temporel au domaine fréquentiel Le domaine est le moyen le plus courant de traitement du signal audio. Le spectrogramme obtenu par STFT est également appelé spectrogramme ou spectrogramme dans les signaux audio.

Résumé des méthodes et des outils d'extraction de fonctionnalités audio

4.2 Transformée en cosinus discrète

La transformation discrète en cosinus (DCT pour la transformation en cosinus discret) est une transformation liée à la transformation de Fourier, qui est similaire à la transformation de Fourier discrète (DFT pour la transformation de Fourier discrète), mais n'utilise que des nombres réels. La transformée discrète en cosinus équivaut à une transformée de Fourier discrète dont la longueur est environ deux fois plus longue. Cette transformée de Fourier discrète est effectuée sur une fonction paire réelle (car la transformée de Fourier d'une fonction paire réelle est toujours une fonction paire réelle ), dans certaines déformations, vous devez déplacer la position d'entrée ou de sortie d'une demi-unité.

4.3 Transformée en ondelettes discrète

Discrete Wavelet Transform (Discrete Wavelet Transform) est très utile dans l'analyse numérique et l'analyse temps-fréquence. Discrete Wavelet Transform discrétise l'échelle et la translation de l'ondelette de base.

4.4 Spectre Mel et Mel cepstrum

Le spectrogramme est souvent une très grande image. Afin d'obtenir une caractéristique sonore de taille appropriée, il est souvent passé à travers les bancs de filtres à l'échelle mel et transformé en banc de filtres à l'échelle mel.

La perception de la hauteur de l'oreille humaine est à peu près linéaire avec le logarithme de la fréquence fondamentale du son. Sous l'échelle de Mel, si les fréquences Mel de deux discours diffèrent de deux fois, la hauteur que l'oreille humaine peut percevoir est environ deux fois différente. Lorsque la fréquence est petite, le mel change rapidement avec Hz; lorsque la fréquence est grande, le mel monte très lentement et la pente de la courbe est petite. Cela montre que l'oreille humaine est plus sensible aux basses fréquences et que l'oreille humaine est très terne aux hautes fréquences, ce qui est inspiré de la banque de filtres Mel-scale.

Le filtre à l'échelle Mel est composé de plusieurs filtres triangulaires. Le filtre est dense aux basses fréquences et a une valeur de seuil élevée, les filtres à haute fréquence sont clairsemés et le seuil est bas. Cela correspond juste à la loi objective selon laquelle plus la fréquence est élevée, plus l'oreille humaine est terne. La forme de filtre représentée dans la figure ci-dessus est appelée banque de filtres Mel avec la même zone de banque, largement utilisée dans le domaine de la voix humaine (reconnaissance vocale, reconnaissance du locuteur) et d'autres domaines, mais si une voix non humaine est utilisée. Sur le terrain, beaucoup d'informations à haute fréquence seront perdues. À ce stade, nous préférons peut-être la banque de filtres Mel avec la même hauteur de banque.

Filtre de zone égale
Filtre contour

Implémentation du spectre MEL dans la librosa:

  import numpy as np

  def melspectrogram(y=None, sr=22050, S=None, n_fft=2048, hop_length=512,
                     power=2.0, **kwargs):
      S, n_fft = _spectrogram(y=y, S=S, n_fft=n_fft, hop_length=hop_length, power=power)

      # Build a Mel filter
      mel_basis = filters.mel(sr, n_fft, **kwargs)

      return np.dot(mel_basis, S)

Le mel cepstrum est analysé sur le spectre mel (logarithme et transformation DCT) pour obtenir le mel cepstrum.

  # -- Mel spectrogram and MFCCs -- #
  def mfcc(y=None, sr=22050, S=None, n_mfcc=20, **kwargs):
      if S is None:
          S = power_to_db(melspectrogram(y=y, sr=sr, **kwargs))

      return scipy.fftpack.dct(S, axis=0, type=dct_type, norm=norm)[:n_mfcc]

4.5 Transformation constante de Q

En musique, toutes les notes sont composées de 12 tempéraments égaux de plusieurs octaves, qui correspondent aux douze demi-tons sur une octave du piano. Le rapport de fréquence entre ces demi-tons est de 21/12. Evidemment, pour deux octaves de même hauteur, l'octave haute est le double de la fréquence de l'octave basse. Par conséquent, en musique, le son est distribué de manière exponentielle, mais le spectre audio obtenu par notre transformée de Fourier est distribué linéairement, et les points de fréquence des deux ne peuvent pas être une correspondance un à un, qui se référera à la valeur estimée de certaines fréquences d'échelle Produire des erreurs. Par conséquent, l'analyse moderne du son de la musique utilise généralement un algorithme de transformation temps-fréquence avec la même loi de distribution exponentielle: transformée constante Q (transformée constante Q).

CQT fait référence à un banc de filtres dont la fréquence centrale est distribuée de manière exponentielle, avec des largeurs de bande de filtre différentes, mais le rapport entre la fréquence centrale et la bande passante est constant Q. La différence entre elle et la transformée de Fourier est que la fréquence horizontale de son spectre n'est pas linéaire, mais basée sur log2, et la longueur de la fenêtre de filtre peut être modifiée en fonction de la fréquence du spectre pour obtenir de meilleures performances. Puisque la distribution des fréquences CQT et d'échelle est la même, en calculant le spectre CQT du signal musical, la valeur d'amplitude du signal musical à chaque fréquence de note peut être obtenue directement.

Résumé des méthodes et des outils d'extraction de fonctionnalités audio

Référence

《Un didacticiel sur l'apprentissage en profondeur pour la récupération d'informations musicales》

"STFT et spectrogramme, fonctionnalités Mel Bank et MFCC"

"Algorithme de conversion de spectre basé sur la reconnaissance musicale-CQT"

《Livre document》

Je suppose que tu aimes

Origine blog.51cto.com/15063587/2588660
conseillé
Classement