in reply to Win32::OLE get list of installed voices
Output:use strict; use warnings; use Data::Dumper; use Win32::OLE qw(in); GetVoiceInfo(); sub GetVoiceInfo{ my $tts = Win32::OLE->new("Sapi.SpVoice") or die "Sapi.SpVoice faile +d"; for my $voice (in $tts->GetVoices){ print "Found voice: ", $voice->GetDescription(), "\n\tID:", $voice->Id(), "\n\n"; $tts->{Voice} = $voice; # Sets the "Voice" PROPERTY $tts->Speak("I am the voice of " . $voice->GetDescription()); } }
Found voice: Microsoft David Desktop - English (United States) ID:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ +TTS_MS_EN-US_DAVID_11.0 Found voice: Microsoft Zira Desktop - English (United States) ID:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\ +TTS_MS_EN-US_ZIRA_11.0
"It's ten o'clock... Do you know where your AI programs are?"
|
|---|