Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Comment faire dire n’importe quoi
à Bruce Willis et Sylvester Stallone
1
Pierre SENDOREK
psendorek@xebia.fr
Conversion de voix
Locuteur source Locuteur target
2
Voder
Voder
inverse
Réseau de
neurones
3
Voder
Voder
inverse
Réseau de
neurones
Audio (source)
4
Voder
Voder
inverse
Réseau de
neurones
Audio (source)
Représentation simplifiée (source)
5
Voder
Voder
inverse
Réseau de
neurones
Audio (source)
Représentation simplifiée (source)
Représentation simplifiée (target...
Voder
Voder
inverse
Réseau de
neurones
Audio (source)
Représentation simplifiée (source)
Représentation simplifiée (target...
Voder
Générer la voix à partir d’une représentation simplifiée
8
Voder
Représentation simplifiée (target)
Audio (target)
9
Voder
10
Cordes vocales : son “a”. Composante harmonique.
Souffle : son “ch”. Composante non harmonique.
Déformation de la...
Voder
11
Appareil phonatoire humain
Un modèle simplifié du mécanisme de
génération de la voix
“j”
=
“i” + “ch”
Voder
The Bell Telephone
Laboratory’s Voder
(from Voice Operating
Demonstrator) was the
first attempt to
electronically sy...
13
Fréquences Fréquences Fréquences
Spectre
14
Sonogramme
Spectre
Transformée
de Fourier
temps
fréquences
15
Sonogramme Spectre
Transformée
de Fourier
16
Spectre
une bande correspond à un spectre
(Transformée de Fourier)
Faible valeur
Grande valeur
Voder
Représentation simplifiée
du spectre du souffle
“ch”
“ch” filtré
Filtrage par
transformée
de Fourier
17
Voder
Représentation simplifiée
du spectre de la composante harmonique
“bzzz”
“bzz” filtré
Filtrage par
transformée
de Fou...
Voder
Représentation simplifiée
du spectre de la composante harmonique
+ fréquence de la voix
“bzzz”
modulé en
fréquence
“...
Voder
“ch” filtré
Représentation simplifiée
du spectre du souffle
+ du spectre de la composante
harmonique
+ fréquence de ...
Voder
“ch” filtré
Représentation simplifiée
du spectre du souffle
+ du spectre de la composante
harmonique
+ fréquence de ...
Voder inverse
Calculer une représentation simplifiée d’une voix
22
Voder inverse
Voder
inverse
Audio (source)
Représentation simplifiée (source)
23
24
Spectre
une bande correspond à un spectre
(Transformée de Fourier)
Faible valeur
Grande valeur
Approximer le spectre
vecteur “triangle” 1
ㄨ vrai spectre
ㄨ approximation spectrale
vecteur “triangle” 2
Base de fonctions...
Trouver la période
Période : son translaté de la période ≈ son
26
Trouver la période
Période : son translaté de la période ≈ son
Période
27
Séparation en composantes : périodique + bruit
Séparation
par
projection
orthogonale
Signal quasi périodique
Signal périod...
Séparation en composantes : périodique + bruit
espacebruit
signal périodique 1
ㄨ signal quasi périodique
ㄨ signal périodiq...
Séparation en composantes : périodique + bruit
espacebruit
signal périodique 1
ㄨ signal quasi périodique
ㄨ signal périodiq...
Apprentissage de la conversion
Réseaux de neurones artificiels
31
Réseau de
neurones
Représentation simplifiée (source)
Représentation simplifiée (target)
32
Réseau de neurones artificiels
× exemples
ー prédiction
33
Réseau de neurones artificiels
× exemples
ー prédiction
34
Reconstruction
sans prise en
compte du passé
Réseau de neurones récurrent
× exemples
ー prédiction
35
Réseau de neurones récurrent
36
Ø
Ø
Ø
Réseau de neurones récurrent
37
Ø
Ø
Ø
Réseau de neurones récurrent
38
Ø
Ø
Ø
Réseau de neurones récurrent
39
Ø
Ø
Ø
Alignement de séquences
Dynamic Time Warping
40
Réseau de neurones artificiels
41
Une entrée Une sortie
42
Alignement : Dynamic time warping
Base de données non alignée Base de données alignée
43
Alignement : Dynamic time warping
Matrice des Distances
Faible valeur
Grande valeur
Alignement : Dynamic time warping
44
Matrice des Distances
Faible valeur
Grande valeur
Correspondances
Alignement : Dynamic time warping
45
Correspondances
Alignement : Dynamic time warping
46
Résultats
47
48
Fichier passé en entrée Résultat de la conversion Objectif
?
49
Interprétation : surapprentissage
Conclusion
50
51
Résumé
Conversion de voix
A partir d’exemples de phrases prononcées par
deux locuteurs, on crée un modèle de conversion de...
Applications potentielles
Applications potentielles
Voix immortalisées et réutilisables.
Amélioration de la qualité de la ...
Applications potentielles
Conversion de voix
Améliorations possibles
Remplacer le Voder par un réseaux de neurones.
Utilis...
Merci
55
https://github.com/pierresendorek/voice_converter
Pierre SENDOREK | psendorek@xebia.fr
Prochain SlideShare
Chargement dans…5
×

XebiCon'17 : Faire dire n’importe quoi à Bruce Willis ou Sylvester Stallone - Pierre Sendorek

74 vues

Publié le

Notre algorithme transforme la voix de l’utilisateur en celle d’une personne de votre choix. Comment ? Avec des réseaux de neurones artificiels. Nous présenterons l’architecture de réseaux de neurones utilisée pour réaliser cette tâche en expliquant pourquoi elle est adaptée pour traiter de la voix. Nous ferons aussi une parenthèse sur les mécanismes acoustiques sous-jacents. Nous ferons enfin une démonstration de notre algorithme sur des phrases proposées par des membres du public.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

XebiCon'17 : Faire dire n’importe quoi à Bruce Willis ou Sylvester Stallone - Pierre Sendorek

  1. 1. Comment faire dire n’importe quoi à Bruce Willis et Sylvester Stallone 1 Pierre SENDOREK psendorek@xebia.fr
  2. 2. Conversion de voix Locuteur source Locuteur target 2
  3. 3. Voder Voder inverse Réseau de neurones 3
  4. 4. Voder Voder inverse Réseau de neurones Audio (source) 4
  5. 5. Voder Voder inverse Réseau de neurones Audio (source) Représentation simplifiée (source) 5
  6. 6. Voder Voder inverse Réseau de neurones Audio (source) Représentation simplifiée (source) Représentation simplifiée (target) 6
  7. 7. Voder Voder inverse Réseau de neurones Audio (source) Représentation simplifiée (source) Représentation simplifiée (target) Audio (target) 7
  8. 8. Voder Générer la voix à partir d’une représentation simplifiée 8
  9. 9. Voder Représentation simplifiée (target) Audio (target) 9
  10. 10. Voder 10 Cordes vocales : son “a”. Composante harmonique. Souffle : son “ch”. Composante non harmonique. Déformation de la cavité buccale : filtrage du son permet de former “a”, “e”, “i”, “o”, “u”, “ou” (cordes vocales vibrent) et “ch”, “s”, “h”, “kh” (souffle) mais aussi “j”, “z” (souffle + vibration des cordes vocales) Un modèle simplifié du mécanisme de génération de la voix Appareil phonatoire humain
  11. 11. Voder 11 Appareil phonatoire humain Un modèle simplifié du mécanisme de génération de la voix “j” = “i” + “ch”
  12. 12. Voder The Bell Telephone Laboratory’s Voder (from Voice Operating Demonstrator) was the first attempt to electronically synthesize human speech by breaking it down into its acoustic components. 12
  13. 13. 13 Fréquences Fréquences Fréquences Spectre
  14. 14. 14 Sonogramme Spectre Transformée de Fourier temps fréquences
  15. 15. 15 Sonogramme Spectre Transformée de Fourier
  16. 16. 16 Spectre une bande correspond à un spectre (Transformée de Fourier) Faible valeur Grande valeur
  17. 17. Voder Représentation simplifiée du spectre du souffle “ch” “ch” filtré Filtrage par transformée de Fourier 17
  18. 18. Voder Représentation simplifiée du spectre de la composante harmonique “bzzz” “bzz” filtré Filtrage par transformée de Fourier 18
  19. 19. Voder Représentation simplifiée du spectre de la composante harmonique + fréquence de la voix “bzzz” modulé en fréquence “bzz” modulé en fréquence + filtré Filtrage par transformée de Fourier 19
  20. 20. Voder “ch” filtré Représentation simplifiée du spectre du souffle + du spectre de la composante harmonique + fréquence de la voix “bzz” modulé en fréquence + filtré voix synthétisée Addition 20
  21. 21. Voder “ch” filtré Représentation simplifiée du spectre du souffle + du spectre de la composante harmonique + fréquence de la voix “bzz” modulé en fréquence + filtré voix synthétisée Addition 21 voix originale
  22. 22. Voder inverse Calculer une représentation simplifiée d’une voix 22 Voder inverse
  23. 23. Voder inverse Audio (source) Représentation simplifiée (source) 23
  24. 24. 24 Spectre une bande correspond à un spectre (Transformée de Fourier) Faible valeur Grande valeur
  25. 25. Approximer le spectre vecteur “triangle” 1 ㄨ vrai spectre ㄨ approximation spectrale vecteur “triangle” 2 Base de fonctions triangulaires 25
  26. 26. Trouver la période Période : son translaté de la période ≈ son 26
  27. 27. Trouver la période Période : son translaté de la période ≈ son Période 27
  28. 28. Séparation en composantes : périodique + bruit Séparation par projection orthogonale Signal quasi périodique Signal périodique + bruit aléatoire 28
  29. 29. Séparation en composantes : périodique + bruit espacebruit signal périodique 1 ㄨ signal quasi périodique ㄨ signal périodique ㄨ bruit signal périodique 2 Signal périodique + bruit aléatoire 29
  30. 30. Séparation en composantes : périodique + bruit espacebruit signal périodique 1 ㄨ signal quasi périodique ㄨ signal périodique ㄨ bruit signal périodique 2 Signal périodique + bruit aléatoire Base de signaux périodiques 30
  31. 31. Apprentissage de la conversion Réseaux de neurones artificiels 31
  32. 32. Réseau de neurones Représentation simplifiée (source) Représentation simplifiée (target) 32
  33. 33. Réseau de neurones artificiels × exemples ー prédiction 33
  34. 34. Réseau de neurones artificiels × exemples ー prédiction 34 Reconstruction sans prise en compte du passé
  35. 35. Réseau de neurones récurrent × exemples ー prédiction 35
  36. 36. Réseau de neurones récurrent 36 Ø Ø Ø
  37. 37. Réseau de neurones récurrent 37 Ø Ø Ø
  38. 38. Réseau de neurones récurrent 38 Ø Ø Ø
  39. 39. Réseau de neurones récurrent 39 Ø Ø Ø
  40. 40. Alignement de séquences Dynamic Time Warping 40
  41. 41. Réseau de neurones artificiels 41 Une entrée Une sortie
  42. 42. 42 Alignement : Dynamic time warping Base de données non alignée Base de données alignée
  43. 43. 43 Alignement : Dynamic time warping
  44. 44. Matrice des Distances Faible valeur Grande valeur Alignement : Dynamic time warping 44
  45. 45. Matrice des Distances Faible valeur Grande valeur Correspondances Alignement : Dynamic time warping 45
  46. 46. Correspondances Alignement : Dynamic time warping 46
  47. 47. Résultats 47
  48. 48. 48 Fichier passé en entrée Résultat de la conversion Objectif ?
  49. 49. 49 Interprétation : surapprentissage
  50. 50. Conclusion 50
  51. 51. 51
  52. 52. Résumé Conversion de voix A partir d’exemples de phrases prononcées par deux locuteurs, on crée un modèle de conversion de voix. Aujourd’hui fait pour fonctionner avec un seul locuteur source. 52
  53. 53. Applications potentielles Applications potentielles Voix immortalisées et réutilisables. Amélioration de la qualité de la transmission de la voix sur une ligne téléphonique. Utilisation de la voix d’un acteur dans les jeux vidéos. Canulars téléphoniques. 53
  54. 54. Applications potentielles Conversion de voix Améliorations possibles Remplacer le Voder par un réseaux de neurones. Utiliser un réseau de neurones de type LSTM pour la traduction entre deux séquences. Possibilité : plus aucun d’apprentissage nécessaire pour un nouveau locuteur. 54
  55. 55. Merci 55 https://github.com/pierresendorek/voice_converter Pierre SENDOREK | psendorek@xebia.fr

×