Nouvelle version du système de synthèse vocale Silero

Une nouvelle version publique du système de synthèse vocale par réseau neuronal Silero Text-to-Speech est disponible. Le projet vise principalement à créer un système de synthèse vocale moderne et de haute qualité, qui ne soit pas inférieur aux solutions commerciales des entreprises et qui soit accessible à tous sans utiliser d'équipement de serveur coûteux.

Les modèles sont distribués sous licence GNU AGPL, mais la société développant le projet ne divulgue pas le mécanisme de formation des modèles. Pour exécuter, vous pouvez utiliser PyTorch et des frameworks prenant en charge le format ONNX. La synthèse vocale dans Silero est basée sur l'utilisation d'algorithmes de réseaux neuronaux modernes profondément modifiés et de méthodes de traitement du signal numérique.

Il est à noter que le principal problème des solutions de réseaux neuronaux modernes pour la synthèse vocale est qu'elles ne sont souvent disponibles que dans des solutions cloud payantes, et que les produits publics ont des exigences matérielles élevées, sont de moindre qualité ou ne sont pas complets et prêts à l'emploi. des produits. Par exemple, pour exécuter l'une des nouvelles architectures de synthèse de bout en bout populaires, VITS, en mode synthèse (c'est-à-dire pas pour la formation de modèles), des cartes vidéo avec plus de 16 Go de VRAM sont nécessaires.

Contrairement à la tendance actuelle, les solutions Silero fonctionnent avec succès même sur 1 thread x86 d'un processeur Intel avec instructions AVX2. Sur 4 threads de processeur, la synthèse permet de synthétiser de 30 à 60 secondes par seconde en mode synthèse 8 kHz, en mode 24 kHz - 15-20 secondes, et en mode 48 kHz - environ 10 secondes.

Principales fonctionnalités de la nouvelle version de Silero :

  • La taille du modèle a été réduite de 2 fois à 50 mégaoctets ;
  • Les modèles savent faire une pause ;
  • 4 voix de haute qualité en russe sont disponibles (et un nombre infini de voix aléatoires). Exemples de prononciation ;
  • Les modèles sont devenus 10 fois plus rapides et, par exemple, en mode 24 kHz ils permettent de synthétiser jusqu'à 20 secondes d'audio par seconde sur 4 threads de processeur ;
  • Toutes les options vocales pour une langue sont regroupées dans un seul modèle ;
  • Les modèles peuvent accepter des paragraphes entiers de texte en entrée, les balises SSML sont prises en charge ;
  • La synthèse fonctionne simultanément sur trois fréquences d'échantillonnage au choix - 8, 24 et 48 kilohertz ;
  • Les « problèmes des enfants » ont été résolus : instabilité et mots manquants ;
  • Ajout de drapeaux pour contrôler le placement automatique des accents et le placement de la lettre « е ».

Actuellement, pour la dernière version de la synthèse, 4 voix en russe sont accessibles au public, mais dans un avenir proche, la prochaine version sera publiée avec les modifications suivantes :

  • Le taux de synthèse augmentera encore 2 à 4 fois ;
  • Les modèles de synthèse pour les langues de la CEI seront mis à jour : kalmouk, tatar, ouzbek et ukrainien ;
  • Des modèles pour les langues européennes seront ajoutés ;
  • Des modèles pour les langues indiennes seront ajoutés ;
  • Des modèles pour l'anglais seront ajoutés.

Certaines des pannes du système inhérentes à la synthèse Silero :

  • Contrairement aux solutions de synthèse plus traditionnelles telles que RHVoice, la synthèse Silero n'a pas d'intégration SAPI, de clients faciles à installer ou d'intégrations pour Windows et Android ;
  • La vitesse, bien que sans précédent pour une telle solution, peut ne pas être suffisante pour une synthèse à la volée sur des processeurs faibles et de haute qualité ;
  • La solution d'accent automatique ne gère pas les homographes (des mots comme château et château) et fait encore des erreurs, mais cela sera corrigé dans les prochaines versions ;
  • La version actuelle de la synthèse ne fonctionne pas sur les processeurs sans instructions AVX2 (ou vous devez spécifiquement modifier les paramètres de PyTorch) car l'un des modules à l'intérieur du modèle est quantifié ;
  • La version actuelle de la synthèse a essentiellement une seule dépendance PyTorch ; tout le remplissage est « câblé » dans le modèle et les packages JIT. Les codes sources des modèles ne sont pas publiés, ainsi que le code d'exécution des modèles à partir des clients PyTorch pour d'autres langages ;
  • Libtorch, disponible pour les plateformes mobiles, est beaucoup plus volumineux que le runtime ONNX, mais une version ONNX du modèle n'est pas encore disponible.

Source: opennet.ru

Ajouter un commentaire