Als Antwort auf diesen Beitrag
Moin, :-)
...
nachdem ich das
Sprachpaket Spanisch hinzugefügt habe -
ganz passabel. ;-)
Ich habe also "
Microsoft Helena Desktop - Spanish (Spain)". ;-)
Wenn du "
Main_1" ausführst und siehst im Direktfenster
keine spanische Stimme, dann hast du keine "
spanische SAPI-Stimme". Dann brauchst du "
Main_2"
nicht ausführen. ;-)
Option Explicit
Public Sub Main_1()
Dim objVoice As Object
Dim objSAPI As Object
Set objSAPI = CreateObject("SAPI.SpVoice")
For Each objVoice In objSAPI.GetVoices
Debug.Print "Name: " & objVoice.GetDescription
Debug.Print "Language: " & objVoice.GetAttribute("Language")
Debug.Print "Gender: " & objVoice.GetAttribute("Gender")
Debug.Print String(60, "-")
Next
End Sub
Public Sub Main_2()
Dim objVoice As Object
Dim objSAPI As Object
Set objSAPI = CreateObject("SAPI.SpVoice")
For Each objVoice In objSAPI.GetVoices
If InStr(1, objVoice.GetDescription, "Helena", vbTextCompare) > 0 Then
Set objSAPI.voice = objVoice
Exit For
End If
Next objVoice
objSAPI.Rate = -2 ' -10 bis +10
objSAPI.Volume = 100 ' 0 bis 100
objSAPI.Speak "Hola, me llamo Alejandro. ¿Cómo estás?"
End Sub
Zwei Dinge noch - spiele etwas mit der "
Rate" - bei mir klingt
-2 ganz OK. ;-)
Und was auch noch
wichtig ist - die Aussprache wird deutlich
besser, wenn der Text korrekte spanische Satzzeichen und Akzente enthält. Also statt "
Buenos dias! Como esta usted?", besser so - "
¡Buenos días! ¿Cómo está usted?". ;-)
Wenn du "
bessere" Aussprachen willst, kommst du an sowas
nicht vorbei: ;-)
https://developers.openai.com/api/docs/guides/text-to-speech
Servus
Case