À propos du projet

audioFlux est une bibliothèque open-source pour l'analyse audio et musicale et l'extraction de caractéristiques, implémentée en C avec des liaisons Python. Elle est conçue autour d'une architecture de flux de données qui découple les modules d'algorithmes afin que des caractéristiques multidimensionnelles puissent être extraites rapidement et efficacement. Le projet cible les flux de travail d'apprentissage profond en audio, y compris la classification, la séparation de sources, la recherche d'informations musicales (MIR) et la reconnaissance automatique de la parole (ASR). La bibliothèque est organisée en trois modules principaux : transform, feature et mir. Le module transform fournit des représentations temps-fréquence. BFT (transformée de Fourier basée, similaire à STFT), NSGT (transformée de Gabor non stationnaire), CWT (transformée en ondelettes continue) et PWT (transformée en pseudo-ondelettes) prennent en charge plusieurs types d'échelles de fréquence : linéaire, linspace, Mel, Bark, Erb, Octave et Log. D'autres transformations sont proposées comme méthodes indépendantes : CQT (transformée en Q constant), VQT (transformée en Q variable), ST (transformée S/transformée de Stockwell), FST (transformée S rapide), DWT (transformée en ondelettes discrète), WPT (transformée en paquets d'ondelettes) et SWT (transformée en ondelettes stationnaire). Les techniques de synchrosqueezing et de réaffectation sont également incluses : réaffectation pour STFT, synsq utilisant des données CWT, et wsst pour CWT. Le module feature comprend des caractéristiques spectrales (prenant en charge tous les types de spectres), des coefficients cepstraux (xxcc), une déconvolution pour les spectres, et des caractéristiques chroma (prenant en charge le spectre CQT et les spectres linéaires/octave basés sur BFT). Le module mir couvre l'estimation de la hauteur tonale (YIN, STFT et autres), la détection d'attaques (flux spectral, nouveauté et autres), et la séparation de sources harmonique-percussive (filtrage médian et NMF). Les versions récentes ont ajouté une gamme d'algorithmes de hauteur tonale (YIN, CEP, PEF, NCF, HPS, LHS, STFT, FFP), des algorithmes PitchShift et TimeStretch, et un algorithme TuneTrack destiné aux accordeurs d'instruments couvrant la guitare, le ukulélé, la basse, le banjo, la mandoline et le violon. L'installation est disponible via PyPI (`pip install audioflux`) ou Anaconda, nécessitant Python 3.6 ou version ultérieure. La bibliothèque est multiplateforme, prenant en charge Linux, macOS, Windows, iOS et Android, avec des instructions de compilation séparées pour iOS, Android et la compilation à partir des sources. La documentation et les scripts d'exemple sont hébergés en ligne, couvrant Mel et MFCC, CWT et synchrosqueezing, CQT et chroma, différents types d'ondelettes, les caractéristiques spectrales, l'estimation de la hauteur tonale, la détection d'attaques et la séparation de sources harmonique-percussive. Un module de benchmark fournit des mesures de performance, et le projet est publié sous la licence MIT.