in reply to Perl Reading Plain Text Documents
#!/usr/bin/perl use warnings; use strict; use Win32::Clipboard; use Win32::OLE; my $cb = Win32::Clipboard; my $voice = Win32::OLE->new("Speech.VoiceText") or die("TTS failed"); $voice->Register("", "$0"); $voice->{Enabled} = 1; $voice->{Speed}=180; $cb->Empty(); sub say { my $text = shift; $voice->speak($text, 1); sleep 1 while $voice->IsSpeaking; } say <<SPEAK; Copy some text, and I will read it to you. Hit Control C to stop. SPEAK while (1) { my $text = $cb->GetText(); next unless length $text; say $text; $cb->WaitForChange; }
I left this running when I copied the code to paste here - MS TTS doesn't read perl the way I do ;-)
Oh, and once it starts speaking, it won't stop until it is done.
|
|---|