Améliorer le traitement audio avec des couches SFI
De nouveaux algos améliorent la performance du traitement audio à différents taux d'échantillonnage.
― 7 min lire
Table des matières
L'apprentissage profond a été utilisé dans plein de tâches liées à l'audio, comme séparer des sources musicales, améliorer la qualité de la parole et traduire de la musique en notes. Un problème courant, c'est que ces systèmes attendent généralement que le taux d'échantillonnage de l'entrée audio soit le même pendant l'entraînement et quand ils sont utilisés. Si le taux d'échantillonnage change, il faut un traitement supplémentaire, comme changer la vitesse de l'audio, ce qui peut devenir compliqué.
Pour remédier à ça, des chercheurs ont développé des couches spéciales dans les modèles d'apprentissage profond appelées couches indépendantes de la fréquence d'échantillonnage (SFI). Ces couches permettent au modèle de fonctionner avec différents taux d'échantillonnage sans avoir besoin de changer d'abord l'audio. Elles peuvent remplacer des couches traditionnelles dans plein de conceptions de réseaux, ce qui les rend flexibles. Cependant, combiner ces couches SFI avec d'autres couches a montré qu'il y a certaines limitations. Par exemple, un modèle bien connu utilisé pour séparer les sources audio, appelé Conv-TasNet, a des difficultés quand les changements de taux d'échantillonnage ne sont pas des nombres entiers, ce qui entraîne une performance moins bonne.
Le Problème des Pas Non Entiers
Dans les opérations classiques, les réseaux neuronaux s'attendent à ce que certaines valeurs, comme le pas et la taille du noyau, soient des nombres entiers. Quand on travaille avec des valeurs non entières, ces systèmes ne peuvent pas fonctionner correctement. Par exemple, si un modèle est entraîné en utilisant des pas de 5 ms et 2.5 ms à un taux d'échantillonnage de 32 kHz, il rencontre des problèmes s'il doit fonctionner à un autre taux d'échantillonnage, comme 22.05 kHz, où les valeurs changent et deviennent des fractions.
Arrondir ces valeurs au nombre entier le plus proche semble être une solution simple, mais ça cause des soucis. Cet arrondi peut changer la résolution temporelle de l'entrée, entraînant une performance moins bonne dans des tâches comme la séparation audio. De plus, une autre méthode impliquant des systèmes complexes a aussi montré qu'elle limitait la flexibilité dans la conception. Du coup, une nouvelle approche est nécessaire pour gérer ces valeurs non entières de manière efficace.
La Solution Proposée
On propose d'utiliser l'interpolation de sinc fenêtrée comme solution. Cette méthode nous permet de créer une version continue d'un signal audio discret. En l'appliquant avant de réduire les données dans le modèle, on peut créer des échantillons d'entrée aux intervalles nécessaires sans perdre en qualité.
Pour ça, on conçoit des algorithmes pour les couches convolutionnelles SFI et les couches convolutionnelles transposées. Ces algorithmes utiliseront l'interpolation de sinc fenêtrée pour gérer les valeurs de pas non entiers, dans le but de s'assurer que le système conserve son exactitude dans la représentation des signaux audio.
Comment Fonctionnent les Couches Convolutionnelles SFI
La couche convolutionnelle SFI est conçue pour traiter l'audio en travaillant avec divers canaux. Elle utilise des filtres analogiques pour s'adapter à différents taux d'échantillonnage. Quand l'audio est entré, le système traite le signal en calculant une corrélation croisée avec des poids, puis réduit les données à des intervalles définis. Cependant, si ces intervalles ne sont pas des nombres entiers, le système a du mal.
En appliquant l'interpolation de sinc fenêtrée, on peut surmonter ces problèmes de pas non entiers. L'interpolation adoucit les changements, permettant au modèle de fonctionner sans être affecté négativement par des valeurs non entières. Ça crée une transition plus fluide, assurant de meilleurs résultats dans des tâches comme la séparation audio.
La Couche Convolutionnelle Transposée SFI
Tout comme la couche convolutionnelle, la version transposée est également modifiée pour utiliser la méthode d'interpolation de sinc. Ce type de couche alternatif fonctionne en ajoutant des zéros entre les valeurs d'entrée avant de traiter le signal plus loin. Pour les pas non entiers, on a encore besoin de la version continue du signal d'entrée.
En traitant le signal comme un signal avec une période d'échantillonnage, on peut rassembler les points de données nécessaires pour le traitement. La même technique d'interpolation s'applique ici, permettant un bon traitement des signaux audio sans perdre en détail.
Expérimentation avec la Séparation de Sources Musicales
Pour tester l'efficacité de nos méthodes proposées, on a réalisé des expériences de séparation de sources musicales en utilisant un ensemble de données bien connu. Cet ensemble contient différentes pistes musicales qui présentent divers instruments. Pour les tests, on a entraîné les modèles en utilisant une combinaison de réglages et utilisé des mesures comme le rapport signal/distorsion pour évaluer la performance.
Notre attention se portait sur la comparaison de différentes méthodes de gestion des pas non entiers. Les méthodes incluaient l'arrondi simple, le resampling audio à un taux d'échantillonnage compatible, et notre méthode proposée utilisant l'interpolation de sinc.
Résultats et Observations
Les résultats des expériences ont montré que les méthodes proposées utilisant l'interpolation de sinc offraient une performance cohérente et fiable à travers différents taux d'échantillonnage. En revanche, la méthode d'arrondi simple a conduit à des baisses significatives de performance, surtout à des taux d'échantillonnage plus faibles.
Avec l'arrondi, on a remarqué que la qualité de séparation diminuait à mesure que le taux d'échantillonnage baissait, soulignant comment cette méthode compromet la qualité audio. Les méthodes de resampling étaient meilleures que l'arrondi simple, mais n'ont toujours pas pu égaler les résultats stables obtenus avec nos algorithmes proposés.
Nos découvertes ont aussi montré que certains types d'instruments, en particulier les sons à hauteur, étaient plus affectés par les pas non entiers que les sons sans hauteur comme les percussions. Cette observation suggère qu'il est crucial de gérer la résolution temporelle de manière consistante et claire, surtout en ce qui concerne des types audio plus complexes.
Conclusion
On a présenté de nouveaux algorithmes pour les couches SFI afin de gérer efficacement les pas non entiers dans les tâches de traitement audio. En utilisant l'interpolation de sinc fenêtrée, nos méthodes comblent les lacunes causées par des taux d'échantillonnage variables, menant à une performance toujours meilleure dans la Séparation de sources audio par rapport aux anciennes méthodes.
Les résultats de nos expériences soulignent l'importance de gérer ces défis techniques d'une manière qui préserve la qualité audio et fonctionne dans différents contextes. Notre travail ouvre la voie à des systèmes de traitement audio plus robustes qui peuvent s'adapter à une gamme de conditions sans perdre en efficacité.
Ces avancées indiquent une direction prometteuse pour la recherche future dans le traitement audio et l'apprentissage profond, ouvrant la voie à des modèles qui peuvent fonctionner de manière plus flexible et précise dans des applications réelles.
Titre: Algorithms of Sampling-Frequency-Independent Layers for Non-integer Strides
Résumé: In this paper, we propose algorithms for handling non-integer strides in sampling-frequency-independent (SFI) convolutional and transposed convolutional layers. The SFI layers have been developed for handling various sampling frequencies (SFs) by a single neural network. They are replaceable with their non-SFI counterparts and can be introduced into various network architectures. However, they could not handle some specific configurations when combined with non-SFI layers. For example, an SFI extension of Conv-TasNet, a standard audio source separation model, cannot handle some pairs of trained and target SFs because the strides of the SFI layers become non-integers. This problem cannot be solved by simple rounding or signal resampling, resulting in the significant performance degradation. To overcome this problem, we propose algorithms for handling non-integer strides by using windowed sinc interpolation. The proposed algorithms realize the continuous-time representations of features using the interpolation and enable us to sample instants with the desired stride. Experimental results on music source separation showed that the proposed algorithms outperformed the rounding- and signal-resampling-based methods at SFs lower than the trained SF.
Auteurs: Kanami Imamura, Tomohiko Nakamura, Norihiro Takamune, Kohei Yatabe, Hiroshi Saruwatari
Dernière mise à jour: 2023-06-19 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2306.10718
Source PDF: https://arxiv.org/pdf/2306.10718
Licence: https://creativecommons.org/licenses/by-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.