Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Win32::OLE get list of installed voices

by NetWallah (Canon)
on May 16, 2019 at 05:42 UTC ( [id://11100048]=note: print w/replies, xml ) Need Help??


in reply to Win32::OLE get list of installed voices

Discipulus' code simplified (UPDATE: and enhanced - it also SPEAKS the info using the voice):
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()); } }
Output:
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?"

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11100048]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (7)
As of 2024-03-28 12:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found