Sobre el proyecto
audioFlux es una biblioteca de código abierto para análisis de audio y música y extracción de características, implementada en C con enlaces de Python. Está diseñada en torno a una arquitectura de flujo de datos que desacopla los módulos de algoritmos para que las características multidimensionales puedan extraerse de manera rápida y eficiente. El proyecto se dirige a flujos de trabajo de aprendizaje profundo en audio, incluidos clasificación, separación de fuentes, recuperación de información musical (MIR) y reconocimiento automático del habla (ASR).
La biblioteca se organiza en tres módulos principales: transform, feature y mir.
El módulo transform proporciona representaciones tiempo-frecuencia. BFT (transformada de Fourier basada, similar a STFT), NSGT (transformada de Gabor no estacionaria), CWT (transformada wavelet continua) y PWT (transformada pseudo-wavelet) admiten múltiples tipos de escalas de frecuencia: lineal, linspace, Mel, Bark, Erb, octava y logarítmica. Otras transformadas se ofrecen como métodos independientes: CQT (transformada de tono constante), VQT (transformada de tono variable), ST (transformada S/transformada de Stockwell), FST (transformada S rápida), DWT (transformada wavelet discreta), WPT (transformada de paquetes wavelet) y SWT (transformada wavelet estacionaria). También se incluyen técnicas de sincrosqueezing y reasignación: reasignación para STFT, synsq usando datos CWT y wsst para CWT.
El módulo feature incluye características espectrales (que admiten todos los tipos de espectro), coeficientes cepstrales (xxcc), deconvolución para espectros y características de croma (que admiten espectro CQT y espectros lineales/octava basados en BFT).
El módulo mir cubre estimación de tono (YIN, STFT y otros), detección de onset (flujo espectral, novedad y otros) y separación de fuentes armónico-percusivas (filtrado de mediana y NMF).
Las versiones recientes agregaron una variedad de algoritmos de tono (YIN, CEP, PEF, NCF, HPS, LHS, STFT, FFP), algoritmos de cambio de tono y estiramiento de tiempo, y un algoritmo TuneTrack destinado a afinadores de instrumentos que cubre guitarra, ukelele, bajo, banjo, mandolina y violín.
La instalación está disponible a través de PyPI (`pip install audioflux`) o Anaconda, y requiere Python 3.6 o posterior. La biblioteca es multiplataforma y admite Linux, macOS, Windows, iOS y Android, con instrucciones de compilación separadas para iOS, Android y compilación desde el código fuente. La documentación y los scripts de ejemplo están alojados en línea y cubren Mel y MFCC, CWT y sincrosqueezing, CQT y croma, diferentes tipos de wavelet, características espectrales, estimación de tono, detección de onset y separación de fuentes armónico-percusivas. Un módulo de referencia proporciona mediciones de rendimiento, y el proyecto se publica bajo la Licencia MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.