SoundStorm : génération audio parallèle efficace
(google-research.github.io)- SoundStorm est un modèle qui prend les jetons sémantiques d’AudioLM et génère en parallèle des jetons de codec audio neuronal, afin de réduire la charge de calcul de la génération d’audio long
- Grâce à une attention bidirectionnelle et à un décodage parallèle fondé sur la confiance, il vise une qualité équivalente à l’approche auto-régressive tout en améliorant la cohérence avec les conditions vocales et acoustiques
- Sur TPU-v4, il génère 30 secondes d’audio en 0,5 seconde, soit une vitesse supérieure de plusieurs dizaines de fois à celle du générateur acoustique d’AudioLM
- Combiné à SPEAR-TTS, il permet de contrôler le contenu parlé via un script, la voix du locuteur via un court prompt vocal et les changements d’interlocuteur via des annotations, pour synthétiser 30 secondes de dialogue naturel en 2 secondes sur un seul TPU-v4
- L’imitation vocale pouvant être détournée pour l’usurpation et le contournement de la biométrie vocale, des garde-fous sont nécessaires ; après remplacement, l’audio généré restait détectable à 98,5 % par un classifieur dédié
Mode de génération et performances de SoundStorm
- SoundStorm est un modèle efficace de génération audio non auto-régressive
- L’entrée est constituée des jetons sémantiques d’AudioLM, et la sortie de jetons de codec audio neuronal
- Les performances de génération reposent sur deux choix de conception
- une attention bidirectionnelle qui exploite à la fois le contexte précédent et suivant
- un décodage parallèle fondé sur la confiance qui génère plusieurs jetons en une seule passe
- Par rapport à la génération auto-régressive d’AudioLM, il produit un audio de qualité équivalente tout en offrant une meilleure cohérence avec les conditions vocales et acoustiques
- Sur TPU-v4, il génère 30 secondes d’audio en 0,5 seconde
Synthèse de dialogue
- SoundStorm peut être combiné à l’étape de modélisation texte-sémantique de SPEAR-TTS pour synthétiser des dialogues naturels de haute qualité
- Trois éléments peuvent être contrôlés
- le contenu des énoncés via le script
- la voix du locuteur via un court prompt vocal
- les changements d’interlocuteur via les annotations du script
- Le temps d’exécution pour synthétiser une séquence de dialogue de 30 secondes est mesuré à 2 secondes sur un seul TPU-v4
- Les textes et locuteurs utilisés dans les exemples proviennent de données jamais vues pendant l’entraînement
Génération avec ou sans prompt
- SoundStorm génère l’audio à partir des jetons sémantiques d’AudioLM, avec démonstration à la fois avec et sans prompt vocal de 3 secondes
- Sans prompt, il échantillonne différents locuteurs
- Avec prompt, il maintient la voix du locuteur avec une forte cohérence
- Les échantillons d’origine proviennent de LibriSpeech test-clean
- La vitesse de génération est de plusieurs dizaines de fois supérieure à celle du générateur acoustique d’AudioLM
Comparaison avec les modèles de référence
- En génération guidée par prompt, SoundStorm présente une cohérence acoustique supérieure à AudioLM et préserve mieux la voix du locuteur du prompt
- Dans le même modèle, comparé au RVQ level-wise greedy decoding, SoundStorm génère un audio de meilleure qualité
- Les exemples comparatifs présentent côte à côte les sorties Original, AudioLM, Greedy et SoundStorm
Impact et considérations de sécurité
- SoundStorm est un modèle capable de générer de manière efficace et de haute qualité des représentations audio fondées sur des codecs audio neuronaux
- Dans ce travail, il est utilisé comme composant de remplacement du pipeline de génération acoustique d’AudioLM et de SPEAR-TTS
- Les échantillons générés peuvent refléter les biais des données d’entraînement, et les exemples peuvent inclure des limites liées aux accents représentés ou à certaines caractéristiques vocales
- Le prompt permet de contrôler de manière stable les caractéristiques du locuteur, mais une analyse plus approfondie des données d’entraînement et de leurs limites reste un chantier futur
- La capacité d’imitation vocale présente des risques d’abus
- elle peut servir au contournement de l’authentification biométrique vocale et à l’usurpation d’identité, d’où l’importance de garde-fous
- après remplacement, l’audio généré restait détectable à 98,5 % avec un classifieur dédié comme celui de Borsos et al. (2022)
- en tant que composant d’un système plus vaste, SoundStorm est considéré comme peu susceptible d’ajouter des risques supplémentaires à ceux déjà discutés dans Borsos et al. (2022) et Kharitonov et al. (2023)
- en réduisant les besoins mémoire et de calcul d’AudioLM, il pourrait rendre la recherche sur la génération audio accessible à une communauté plus large
- à l’avenir, d’autres approches de détection de voix synthétique, comme le watermarking audio, devraient être explorées
1 commentaires
Commentaires sur Hacker News
Dans le CGI, il y a toujours eu des jalons qui semblaient se rapprocher. Les arbres avec des feuilles sont enfin devenus proches du réel, l’herbe qui ondule dans le vent est devenue presque crédible, les cheveux, la gelée et autres éléments du même genre se sont améliorés, et on voyait souvent sur quoi se concentraient les courts-métrages de Pixar avant que cela soit appliqué au cinéma
Ensuite sont arrivées la motion capture et la technologie consistant à superposer un visage numérique sur le visage d’un acteur réel ; j’ai été sidéré la première fois que j’ai vu ça dans Pirates of the Caribbean, et les singes de Planet of the Apes m’ont fait le même effet. Une grande partie de l’industrie du CGI semble maintenant être arrivée à un point où les problèmes les plus difficiles paraissent résolus
Puis j’ai lancé le premier dialogue synthétique de Dialogue Synthesis, « Where did you go last summer? | I went to Greece, it was amazing. », et j’ai de nouveau été stupéfait. J’ai l’impression qu’on a atteint un jalon où les machines parlent vraiment comme des humains, au point de devenir indiscernables
Il y a encore 5 à 10 ans, si on voulait utiliser du TTS, la meilleure solution consistait à rendre un fichier audio avec un téléphone Android, et tout le reste était vraiment mauvais. C’était particulièrement affreux du côté open source
Du coup, dans combien de temps une future génération de Raspberry Pi pourra-t-elle télécharger un modèle de cette qualité et produire une voix parfaite en sortie audio sans cloud, avec seulement des appels HTTP ? 5 ans ?
Même aujourd’hui, avec beaucoup d’efforts, et si on utilise un petit modèle affiné sur une seule voix au lieu d’un grand modèle généraliste capable de produire n’importe quelle voix, c’est peut-être déjà presque possible. whisper-tiny ne tourne-t-il pas en temps réel sur un Pi ? En plus, il n’utilise même pas le GPU du Pi. (https://github.com/ggerganov/whisper.cpp/discussions/166)
Édit : medium semble être 30 fois plus lent que tiny sur un Pi, donc j’étais sans doute trop optimiste. Je ne pensais pas que Whisper tiny était à ce point plus rapide que medium
Cette approche marche aussi plutôt bien avec Tortoise, au point d’obtenir une qualité proche de celle de modèles plus gros en utilisant un réglage de qualité Tortoise très rapide. Bien sûr, si on affine tout le système sur une seule voix, on perd une bonne partie des fonctionnalités intéressantes. Tortoise serait probablement encore trop lent pour un Pi, mais la même stratégie pourrait fonctionner avec des modèles plus rapides comme SoundStorm
En matière de qualité, il reste encore beaucoup de chemin à parcourir sur la cohérence à long terme dans de longs segments audio. Quand une vraie personne lit un livre audio, les mots en haut de la page influencent fortement la manière dont elle lira ceux du bas. L’influence peut même s’étendre de la page 10 à la page 300. Si on produit un livre audio avec les meilleurs modèles TTS et qu’on écoute attentivement, ces incohérences sautent vraiment aux oreilles. On a l’impression que le lecteur a enregistré les paragraphes dans le désordre, ou comme dans les dialogues de jeux vidéo où les acteurs enregistrent chaque réplique séparément sans réagir au jeu des autres
Si on étend la fenêtre de contexte à 1 ou 2 minutes, on s’en rapproche davantage, et cela peut suffire pour certains livres. À court terme, un humain peut aussi ajuster tous les échantillons audio et les retoucher manuellement pour leur donner un rendu naturel. Cela rendrait possibles des projets comme des livres audio faits par des fans, où l’on prend le temps de tout aligner correctement. Mais dans un livre entièrement automatisé, ces incohérences deviennent follement agaçantes. Comme l’interprétation est très proche par endroits, le moindre décalage de ton devient encore plus douloureux
Mais aujourd’hui, chaque nouvelle technique qui imite et réplique la créativité et le comportement humains ajoute une nouvelle couche d’angoisse
Ai-je le droit de savoir si ce que je regarde ou lis a été généré ?
C’est bien que Bing et Bard utilisent les derniers produits Microsoft et Google Cloud, mais j’aimerais que ces avancées dans la voix sortent sous forme d’API publique ou d’interface utilisateur, avec des choses comme audio palm(https://google-research.github.io/seanet/audiopalm/examples/)
Le TTS de Bard est correct, mais il est clairement en retard
Cela dit, le TTS anglais/coréen de Bing est vraiment bon. Je ne savais pas que Microsoft utilisait son produit haut de gamme pour le TTS gratuit d’Edge, et c’est pour ça qu’il est bien meilleur que les voix TTS par défaut de Google
Il y a de meilleures voix parmi celles d’Azure, et l’application web TTS a quelques petits bugs, mais l’expérience globale était vraiment très satisfaisante
https://cloud.google.com/text-to-speech/docs/wavenet#studio_voices_preview
Je ne sais pas si « produit haut de gamme pour du TTS gratuit » veut dire une bibliothèque de logiciel libre, un SaaS gratuit, si « on Edge » désigne le navigateur Edge, ou une exécution en edge sur la machine cliente. Est-ce que ça veut dire que tous les TTS exécutés sur l’ordinateur du client sont meilleurs que les voix TTS par défaut de Google ?
Ce que les gens oublient quand ils expliquent avec aisance que les artisans n’ont qu’à trouver un autre travail, c’est que ce nouveau travail est souvent simple et mal payé. Quand Amazon évince les commerces de quartier, leurs propriétaires ne lancent pas une nouvelle activité : ils finissent par chercher un emploi chez Wal-Mart.
Il est intéressant de voir que SoundStorm a été entraîné à créer des dialogues à deux à partir de scripts où les changements de locuteur sont marqués par
|. Mais il semble que le modèle Bark fasse presque naturellement la même chose avec ce même caractère|pour générer des dialogues.Environ un tiers, voire un peu plus, des sorties de Bark ressemblent à un monologue dialogué, et il manque souvent les changements de voix. Malgré cela, le caractère pipe produit de façon assez fiable un audio qui sonne comme un dialogue du point de vue du jeu d’acteur.
https://twitter.com/jonathanfly/status/1675987073893904386
Y aurait-il quelque part dans les données d’entraînement des données texte-audio où
|est utilisé pour les changements de voix ?Fait amusant, Bark a tendance à restituer les prompts de SoundStorm sur un ton moqueur. Je ne sais pas si c’est une différence de style entre les modèles, ou si Google a simplement choisi pour ses exemples de référence des lectures plus directes.
[laughs]fonctionnent.Je me demande si des places de marché comme UpWork ou Fiverr pourront s’adapter assez vite à cette nouvelle situation où des logiciels peuvent désormais fournir beaucoup de services autrefois réalisés par des humains.
L’interface actuelle de ces marketplaces ne semble pas adaptée. Les acheteurs voudront des résultats immédiats, au lieu de contacter quelqu’un puis d’attendre la fin du travail.
Il faudrait donc sans doute transformer la plateforme en App Store : les vendeurs y branchent leurs services, et les acheteurs les utilisent directement.
Si on avait sous la main un outil capable de prendre quelques anciennes répliques d’un acteur, de générer quelque chose pour combler les trous selon des paramètres définis à l’avance, puis de continuer le projet sans tous ces problèmes logistiques, ce serait le paradis.
Mais cela pourrait aussi tuer tout un métier. Et dévaloriser les acteurs. En réalité, c’est déjà en train d’arriver. Il existe déjà sur le marché des programmes qui remplacent entièrement les doubleurs, et ils sont utilisés dans le jeu vidéo.
Cela pourrait clairement m’aider dans mon travail. En même temps, je sais parfaitement à quel point le potentiel d’abus est énorme.
La partie la plus impressionnante, c’est qu’on dirait qu’il peut produire 30 secondes de TTS à partir de seulement 3 secondes d’original. C’est vraiment génial, et honnêtement bien plus avancé que ce à quoi je m’attendais.
Vu les progrès récents, existe-t-il des voix TTS pour Linux correctes que le grand public puisse utiliser sans configuration compliquée ?
Je n’aurais pas envie de jouer à un jeu généré de cette façon. La raison précise pour laquelle j’ai envie d’écouter les dialogues des PNJ, c’est que ce sont des dialogues écrits par des humains.
Impressionnant, mais dans le premier exemple, à la toute fin, la voix de l’homme virtuel glisse vers le haut en disant « what? », avec un effet évident de correction de hauteur façon Auto-Tune, et ça rate clairement.
Les autres exemples sont tout simplement stupéfiants. Si quelques secondes d’apprentissage suffisent vraiment à produire plusieurs minutes d’une voix crédible, l’étape suivante sera sans doute de la faire chanter. Je pense qu’il y aura une tempête juridique le jour où quelqu’un utilisera une technologie similaire pour faire entendre, par exemple, la voix d’Elvis dans une publicité sans le nommer, de sorte que les fans la reconnaissent, mais sans que l’audio ne corresponde à ses paroles ni à ses chansons existantes.
Ce n’est pas particulièrement profond, mais lancer tous les samples en même temps est vraiment amusant. On dirait une sorte d’Ableton Live en version HTML.