O nnaudio é uma caixa de ferramentas de processamento de áudio usando a rede neural convolucional Pytorch como back -end. Ao fazer isso, os espectrogramas podem ser gerados a partir de áudio on-the-fly durante o treinamento da rede neural e os kernels de Fourier (por exemplo, kernels CQT) podem ser treinados. A Kapre tem um conceito semelhante no qual eles também usam a rede neural convolucional 1D para extrair espectrogramas com base em Keras.
Outras ferramentas de processamento de áudio da GPU são Torchaudio e TF.Signal. Mas eles não estão usando a abordagem da rede neural e, portanto, a base de Fourier não pode ser treinada. A partir de Pytorch 1.6.0, o Torchaudio ainda é muito difícil de instalar no ambiente do Windows devido ao sox . O NNAUDIO é uma ferramenta de processamento de áudio mais compatível em diferentes sistemas operacionais, pois se baseia principalmente na rede neural convolucional Pytorch. O nome de nnaudio vem de torch.nn
pip install git+https://github.com/KinWaiCheuk/nnAudio.git#subdirectory=Installation
ou
pip install nnAudio==0.3.1
https://kinwaicheuk.github.io/nnaudio/index.html
| Recurso | nnaudio | Torch.stft | Kapre | Torchaudio | Tf.Signal | Torch-stft | Librosa |
|---|---|---|---|---|---|---|---|
| Treinável | ✅ | ✅ | ✅ | ||||
| Diferenciável | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Frequência linear Stft | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Frequência logarítmica STFT | ✅ | ✅ | |||||
| STFT inverso | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Griffin-Lim | ✅ | ✅ | ✅ | ✅ | |||
| Mel | ✅ | ✅ | ✅ | ✅ | ✅ | ||
| MFCC | ✅ | ✅ | ✅ | ✅ | |||
| CQT | ✅ | ✅ | |||||
| Vqt | ✅ | ✅ | |||||
| Gammatone | ✅ | ||||||
| CFP 1 | ✅ | ||||||
| Suporte à GPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
✅: Suporte totalmente ☑️: Desenvolvimento (disponível apenas na versão de dev): não suporta
1 Combinando representações espectrais e temporais para a estimativa multipitch de música polifônica
Para ver o Changelog completo, vá para Changelog.md
Versão 0.3.1 (24 de dezembro de 2021):
Versão 0.3.0 (19 de novembro de 2021):
nnAudio.Spectrogram será substituído por nnAudio.features nos lançamentos futuros. Atualmente, vários tipos de espectrograma são acessíveis através de ambos os métodos. O artigo para Nnaudio está disponível no IEEE Access
KW Cheuk, H. Anderson, K. Agres e D. Herremans, "Nnaudio: um áudio de GPU on-the-fly para espectrograma Caixa de ferramentas de conversão usando redes neurais convolucionais 1D", em IEEE Access, vol. 8, pp. 161981-162003, 2020, doi: 10.1109/access.2020.3019084.
@Article {9174990, Autor = {KW {Cheuk} e H. {Anderson} e K. {Agres} e D. {Herremans}}, Journal = {IEEE Access}, Title Foolbox = {nnaudio: um GPU GPU para a Fluste para Spectrogram Ferramenta volume = {8}, número = {}, páginas = {161981-162003}, doi = {10.1109/access.2020.3019084}}
O nnaudio é um pacote de rápido crescimento. Com o crescente número de solicitações de recursos, recebemos qualquer pessoa familiarizada com o processamento de sinais digitais e a rede neural para contribuir com o NNAUDIO. A lista atual de recursos pendentes inclui:
(Dicas rápidas para teste de unidade: cd Inside Instalation Pasta e, em seguida, digite pytest . Você precisa de pelo menos 1931 MIB GPU Memory para passar em todos os testes de unidade)
Como alternativa, você também pode contribuir por:
Numpy> = 1,14.5
Scipy> = 1.2.0
Pytorch> = 1.6.0 (Griffin-Lim disponível apenas após 1.6.0)
Python> = 3.6
Librosa = 0.7.0 (Teoricamente, o nnaudio depende da Librosa. Mas precisamos usar apenas uma única função mel de librosa.filters . Para salvar os problemas dos usuários da instalação de Librosa para essa função única, apenas copio o pedaço de funções correspondentes ao mel no meu código, de modo que o nnaudio corre sem a necessidade de instalar o LibrinSa)
Kapre
Torch-stft