les voix onecore (Paul et julie) utilisable avec Sapi 5

les voix onecore (Paul et julie) utilisable avec Sapi 5 2.0

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patricktoulon

XLDnaute Barbatruc
patricktoulon a soumis une nouvelle ressource:

les voix onecore (Paul et julie) utilisable avec Sapi 5 - comment utiliser les voix oncore Julie et Paul avec sapi 5 en vba

Activer et utiliser les voix Paul et Julie (OneCore) dans VBA avec SAPI 5

Bonjour a tous
une demande a été faite ces derniers jour juin 2025) sur le fait de pouvoir utiliser une autre voix française en vba

en 2014 sur DVP j'avais fait un tutoriel sur comment installer et utiliser la voix virginie ou autres dans windows 7 64 pour une utilisation dans excel 2007 32 bits en vba
vous trouverez ce tutoriel ici(pour ceux qui...

En savoir plus sur cette ressource...
 
Dernière édition:
Bonjour a tous
petite mise à jour entre parenthèses
j'ai pensé que parler un peu de l'object natif de vba etait quand même utile

Mais qu'est qu'il en est de l'object en natif vba (Application.Speech.Speak)​


✅ Changer dynamiquement la voix utilisée par Application.Speech.Speak


La voix utilisée est celle définie par la clé :
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\Voices\DefaultTokenId

Vous pouvez la modifier via VBA :
Vous pouvez aussi sauvegarder et restaurer la voix initiale dynamiquement par vba

je vous montre un exemple complet ci dessous

🧠 de mon constat ,Les voix comme Julie (Mobile) respectent mieux les effets typographiques pour les pauses.
Hortense et Paul peuvent raccourcir ou ignorer certains effets selon la version Windows et le contexte. Pour des effets plus maîtrisés, utilisez des points de suspension ... combinés à des espaces intelligemment répartis.

Attention !!! on joue avec la modif de cle de registre soyez sur!!! des chaine de chemin des clés


je rappelle que cet exemple a été testé avec les voix française (Hortense , Julie et paul)
si vous avez d'autres voix dispos dans votre config il faudra alors les intégrer dans le code

VB:
'Tutoriel 7264 excel parle
auteur: patricktoulon
Option Explicit

Dim oldPrenom As String
Dim actualprenom As String
Const Lp As String = " ..." 'petite pause
Const bp As String = " ... " 'grande pause

Sub TestCompletVoix()
    ' Sauvegarder la voix actuelle
    oldPrenom = GetDefautVoice
  
    ' Changer et tester
    ChangerVoixParDefautSAPI "hortense"
    actualprenom = "Hortense"
    TestVoixParDefaut
  
    ChangerVoixParDefautSAPI "paul"
    actualprenom = "Paul"
   TestVoixParDefaut
  
    ChangerVoixParDefautSAPI "julie"
    actualprenom = "julie"
   TestVoixParDefaut
  
    ' Restaurer la voix initial
    If oldPrenom <> "" Then
         ChangerVoixParDefautSAPI oldPrenom
        Application.Speech.Speak " C'est moi" & Lp & "hortense" & bp & "apres Julie et paul ,me revoila de retour "
    End If
End Sub

'cette macro récupère le prénom de la voix par défaut
Function GetDefautVoice() As String
    Dim wsh As Object
    Set wsh = CreateObject("WScript.Shell")
    On Error Resume Next
    Dim chemin As String
    GetDefautVoice = ""
    chemin = LCase(wsh.RegRead("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\Voices\DefaultTokenId"))
    Debug.Print chemin
    If InStr(chemin, "hortense", vbTextCompare) > 0 Then GetDefautVoice = "hortense": Exit Function
    If InStr(chemin, "paulm", vbTextCompare) > 0 Then GetDefautVoice = "paul": Exit Function
    If InStr(chemin, "julie", vbTextCompare) > 0 Then GetDefautVoice = "julie": Exit Function
    If Err Then
        MsgBox "Attention !! l'application n'a pas pu determiner la voix " & " cette exemple ne gere que les voix francaises (Hortense , Julie , Paul)"
    End If
    On Error GoTo 0
End Function



'cette macro change la voix par defaut
Sub ChangerVoixParDefautSAPI(nomVoix As String)
    Dim wsh As Object, cheminCle As String
  
    Set wsh = CreateObject("WScript.Shell")
  
    Select Case LCase(nomVoix)
        Case "hortense"
            cheminCle = "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech\Voices\Tokens\TTS_MS_FR-FR_HORTENSE_11.0"
        Case "paul"
            cheminCle = "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech\Voices\Tokens\MSTTS_V110_frFR_PaulM"
        Case "julie"
            cheminCle = "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Speech\Voices\Tokens\MSTTS_V110_frFR_JulieM"
        Case Else
            MsgBox "Voix inconnue : " & nomVoix, vbCritical
            Exit Sub
    End Select
  
    On Error Resume Next
    wsh.RegWrite "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\Voices\DefaultTokenId", cheminCle, "REG_SZ"
    If Err Then
        MsgBox "l'application n'a pas pu changer la voix" & vbCrLf & " Vérifiez la syntaxe ou la chaine de la clé!!!"
    End If
    On Error GoTo 0
End Sub

'macro de test de voix
Sub TestVoixParDefaut()
    Application.Speech.Speak "Bonjour, c'est moi" & Lp & actualprenom & bp & " je suis la voix actuellement définie par défaut dans  Windows."
End Sub

Important : NB! cette exemple à été testé sur Windows 10 et excel 2013 en 32 bits
il est possible que le chemin de la clé soit différent pour d'autre version d'excel ou windows

je joins un mini tutoriel en pdf comme ça vous avez tout hors ligne
 

Pièces jointes

patricktoulon a mis à jour les voix onecore (Paul et julie) utilisable avec Sapi 5 avec une nouvelle entrée de mise à jour:

Ajout du module d'exploitation des voix pour SAPI 5 et Speech.Speak

Bonjour a tous
voici une mises a jour contenant diverses fonctions pour accéder et utiliser les voix
Vous avez un bouton pour installer les cle de registre
vous avez un module de test
et le module des fonctions

les fonctions :
' ➤ GetOrRestaureDefaultVoiceToken
' - Fonction à double usage :
' 1. Si appelée la première fois : mémorise la voix par défaut
' 2. Si rappelée ensuite : restaure la voix mémorisée
' - Utilisation :
'...

Lire le reste de cette entrée de mise à jour...
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour