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

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

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 :
' GetOrRestaureDefaultVoiceToken ' Appel pour mémoriser
' ...
' GetOrRestaureDefaultVoiceToken ' Appel pour restaurer

' ➤ GetTokenByFirstName(prenom As String) → String
' - Retourne le chemin du token (clé du registre) correspondant au prénom de la voix.
' - Utilisable pour SAPI ou pour Application.Speech.Speak

' ➤ GetDisponibleVoices() → VoicesProperty()
' - Récupère la liste des voix compatibles sous forme de tableau typé :
' avec FirstName, Name (affiché), Token (clé registre complète)

' ➤ SetVoice(prenom As String) → Object
' - Crée un objet SAPI.SpVoice configuré avec la voix demandée
' - Exemple :
' Set voix = SetVoice("julie")
' voix.Speak "Bonjour"

' ➤ ChangeVoiceForSpeechSpeak(prenom As String)
' - Modifie la voix utilisée par Application.Speech.Speak
' - Écrit directement dans le registre à :
' HKEY_CURRENT_USER\SOFTWARE\Microsoft\Speech\Voices\DefaultTokenId

' ➤ SpeakWith(texte$, [prenom$], [preserveActualVoice As Boolean])
' - Fait parler la voix par défaut ou une voix spécifiée (Speech.Speak)
' - Sauvegarde/restaure la voix précédente si preserveActualVoice = True
'

' ➤ SapiSpeakWith (SAPI 5)
' arguments:
' prenom As String -->prenom de la voix(optionel "hortense par defaut'
' texte$ -->texte a faire lire par la voix
' Asynchrone as boolean -->argument pour la lecture asynchrone(true ou false)
' Cette fonction execute la voix avec le texte et la voix envoyé en paramètre
' exemple d'appel:
' SapiSpeakWith "julie", "Bonjour, je suis julie ", 0
' SapiSpeakWith "paul", "Bonjour julie je suis enchanté de faire votre connaissance", 1

' ➤ VoiceExist(prenom$) → Boolean
' - Vérifie si une voix avec le prénom spécifié existe dans les voix installées

' ➤ TextToAudioFile(texte$, [prenom$], [lPath$])
' - Enregistre la lecture du texte dans un fichier .wav
' - Si lPath est vide, une boîte de dialogue "Enregistrer sous" s’ouvre


les fonction de lecture pour sapi et speech on l'argument asynchrone
pratique par exemple jumelé a un msgbox (visuel et vocal)

exemple
VB:
Sub TestMsgbBoxPlusVoix()
texte$ = "Attention ! vous devez traverser dans les clous"
SpeechSpeakWith texte, "Paul", True, True
MsgBox texte, vbCritical
End Sub
ou encore
Enregistrer le message en fichier audio wav

VB:
Sub test_Audio_File()
    Dim texte$
    texte = "Bonjour, c'est Paul, comment allez vous aujourd'hui"
    TextToAudioFile texte, "paul"
End Sub

et bien d'autre exemple encore dans le module de test
Retour