Discussion:
Found this speaking time vbs batch script today & figured I'd ask for advice on how it works and how Windows gadgets work
(too old to reply)
Arlen Holder
2020-06-11 16:50:36 UTC
Permalink
First off, I've _never_ run a VBS script before (as I didn't even know they
would work on Windows 10 without installing "something else"... nor have I
(knowingly) installed what is referred to in that thread as a "Windows
gadget"...

Hence my related question, in terms of scripts & gadgets for talking time.
o *Can you kindly expand on how this stuff works & what to look out for?*

As I am wont to do, I was helping out in this talkingiclock thread today:
o White-Tiger T-Clock Redux: Updated version of T-Clock
<https://groups.google.com/d/msg/alt.comp.freeware/MUxmAVcShTo/DwIvCYCmAgAJ>

In that endeavor to find a freeware talking clock, it turned out there may
be two existing freeware solutions, one of which is a vbs script (which
worked the first time in my tests) and the other of which is a "Windows
gadget", which I'm a bit afraid to install pending more information from
folks I trust.

The good news is, apparently, that the VBS script worked as tested:

(1) Visit this web site for the details, which I tested successfully:
o Windows Trick: How To Make Your Computer To Speak Out Time At Every Hour
<https://www.nextofwindows.com/windows-trick-how-to-make-your-computer-to-speak-out-time-at-every-hour>

(2) Download "time.vbs" <https://www.nextofwindows.com/download/Time.vbs>
Dim speaks, speech
speaks = "It is " & hour(time) & " O'clock"
Set speech = CreateObject("sapi.spvoice")
speech.Speak speaks

(3) Doubleclick on that "time.vbs" file, which should speak the time
(mine spoke it only within the hour, e.g., 8:15 was spoken as 8:00)

(4) Add that vbs script to the task scheduler to speak the time hourly:
Win+R > taskschd.msc
Task Scheduler: Task Scheduler (Local) > Actions > Create Task >
Create Task: General > Name=SpeakTime > Triggers
New Trigger: Begin the task=On a schedule
Advanced settings: [x]Repeate task every=1hour
for a duration of=Indefinitely > OK > Actions > New
New Action: Action=Start a program
Program/script=C:\app\os\bin\vbs\sayhourlytime.vbs > OK > OK
Task Scheduler: File > Exit

I only added it an hour ago, but it appears to be working, even as I don't
recall ever adding Microsoft Visual Basic interpreters on purposes, but
almost certainly some freeware somewhere required it, so that's likely why
it worked without downloading Microsoft Visual Basic:
<https://docs.microsoft.com/en-us/dotnet/visual-basic/>
<https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings-winpc/how-to-know-what-installed-andor-depends-on-each/796b997b-2389-442a-9155-d6021619cc4d>
<https://social.msdn.microsoft.com/Forums/vstudio/en-US/f45a1be4-a613-4b15-bda5-f57e3aa13037/what-versions-of-quotvisual-cquot-do-i-have>
etc.

If you need finer time-talking intervals than hourly, I found this:
o Talking Clock overview
<https://windows10gadgets.pro/clocks/talkingclock/talkingclock.html>
<https://windows10gadgets.pro/001/TalkingClock.zip>
Name: TalkingClock.zip
Size: 186489 bytes (182 KiB)
SHA256: 57AE1928D2713648C7216DC9F3E3FD098F517CD939D5C53CC5FA411CC3FF6657

Which is some kind of "Windows gadget" which I'm unfamiliar with.
Name: TalkingClock.gadget
Size: 189768 bytes (185 KiB)
SHA256: 005348106BE954D862A55278F10340E836C857C0BEDB4E2550EF67641260D525

Do you ever install Windows "gadgets" and what should I look out for?
o <https://en.wikipedia.org/wiki/Windows_Desktop_Gadgets>
"Windows Desktop Gadgets (called Windows Sidebar in Windows Vista)
is a discontinued widget engine for Microsoft Gadgets. "
o <https://en.wikipedia.org/wiki/Microsoft_Gadgets>
"Microsoft Gadgets are lightweight single-purpose applications,
or software widgets, that can sit on a Microsoft Windows user's
computer desktop"

It's confusing whether I should trust these "gadgets" or not:
"According to Microsoft, Gadgets were discontinued because they have
"serious vulnerabilities", "could be exploited to harm your computer,
access your computer's files, show you objectionable content,
or change their behavior at any time"; and "an attacker could even
use a gadget to take complete control of your PC".[1]"

In summary, what can you expound upon in terms of the visual basic script
and the Windows Gadget for adding a freeware talking time to Windows?
(so that all benefit from every action given your knowledge in this area)
--
The high cost of freeware is simply in finding & installing only the best.
Arlen Holder
2020-06-11 21:31:46 UTC
Permalink
Post by Arlen Holder
Dim speaks, speech
speaks = "It is " & hour(time) & " O'clock"
Set speech = CreateObject("sapi.spvoice")
speech.Speak speaks
UPDATE:

As described prior, the visual basic spoken hourly clock sucks.
<https://www.nextofwindows.com/windows-trick-how-to-make-your-computer-to-speak-out-time-at-every-hour>

That hourly time clock has some gotchas, so far in my quick test today:
1. It speaks out "14 o'clock", instead of "two o'clock", and,
2. It runs on the hour but from when you _started_ the schedule
(i.e., if you started at 10:15, it runs at 11:15, 12:15, 1:15, etc.,
speaking "11 o'clock", "12 o'clock" & "13 o'clock respectively).

In short, it sucks, so if it's going to be used, it needs improvement.
--
On Usenet, helpful adults pitch in to benefit everyone who participates.
Arlen Holder
2020-06-12 02:31:00 UTC
Permalink
Post by Arlen Holder
1. It speaks out "14 o'clock", instead of "two o'clock", and,
2. It runs on the hour but from when you _started_ the schedule
(i.e., if you started at 10:15, it runs at 11:15, 12:15, 1:15, etc.,
speaking "11 o'clock", "12 o'clock" & "13 o'clock respectively).
Duh.
o Mea culpa.

I'm clearly not used to using the task scheduler.
o To get it to start on the hour, all you do is change the start time.
--
It still speaks out 2pm as "fourteen o'clock" though...
*Char Jackson*
2020-06-12 02:38:47 UTC
Permalink
On Fri, 12 Jun 2020 02:31:00 -0000 (UTC), Arlen Holder
Post by Arlen Holder
Post by Arlen Holder
1. It speaks out "14 o'clock", instead of "two o'clock", and,
2. It runs on the hour but from when you _started_ the schedule
(i.e., if you started at 10:15, it runs at 11:15, 12:15, 1:15, etc.,
speaking "11 o'clock", "12 o'clock" & "13 o'clock respectively).
Duh.
o Mea culpa.
I'm clearly not used to using the task scheduler.
o To get it to start on the hour, all you do is change the start time.
--
It still speaks out 2pm as "fourteen o'clock" though...
I spent 20 seconds and made the following tweak to make it use a 12-hour
clock rather than the default 24-hour clock.

Dim speaks, d, speech
d = hour(time)
if d > 12 then d = d - 12
speaks = "The time is " & d & " O'clock."
Set speech = CreateObject("sapi.spvoice")
speech.Speak speaks


I also used the following line in place of the one above:
speaks = "Hi there, it's " & d & " O'clock. I thought you'd wanna know."
Arlen Holder
2020-06-13 05:13:33 UTC
Permalink
I spent 20 seconds...
This improvement takes into account common (Am)English vernacular.
o *As always, please improve so that all benefit from every post*.

Note: I tested that VBS below briefly for only four key conditions:
(1) Meridium indication (i.e., AM or PM)
(2) 'Oh clock' indication (i.e., at zero minutes)
(3) 'Oh' indication (i.e., from one to nine minutes)
(4) 'Oh No' indication (i.e., from ten to fifty-nine minutes)

Dim speaks, speech
hour_now=hour(time)

if hour_now > 12 or hour_now = 12 Then
hour12 = hour_now - 12
ampm = "PM"
Else
hour12 = hour_now
hourfinal = hour_now
ampm = "AM"
End If

If hour12 = 10 Then
hourfinal = "Ten"
Elseif hour12 = 11 Then
hourfinal = "Eleven"
Elseif hour12 = 12 Then
hourfinal = "Twelve"
Elseif hour12 = 0 Then
hourfinal = "Twelve"
Elseif hour12 > 0 and hour12 < 10 Then
hourfinal = hour12
End If

min_now=minute(time)

if min_now = 0 Then
ohno = " "
min_now = " "
Elseif min_now > 0 and min_now < 10 Then
ohno = " oh "
Else min_now=minute(time)
End If

speaks = "It is " & hourfinal & ohno & min_now & ampm
Set speech=CreateObject("sapi.spvoice")
speech.Speak speaks
--
Mostly based on this script but modified by me to add minutes:
<https://www.makeuseof.com/tag/windows-speak-time-every-hour/>
Robin Goodfellow
2020-06-11 22:51:32 UTC
Permalink
Arlen Holder <***@newmachine.com> was looking for an alternative operating system for his
smartphone. news:rbtncs$as$***@news.mixmin.net:


https://ubuntu-touch.io/


In its current state, our OS is designed primarily for touchscreen mobile devices such as smartphones and
tablet computers. Ubuntu Touch offers a completely refreshing approach to the mobile experience. Thanks to
the intuitive and clean interface, members of the community report a very 'natural' experience. With a gentle
swipe from the edge of the screen, you have access to all of the device's apps, tools and settings. There are no
accidental button pushes or hard-to-reach dungeons of your mobile device: Everything is just a swipe away.
This unique operating system will help you stand out in a crowd with a new fashion in mobile technology.


Privacy Ensured

Although Big Brother and others in the world may wish to spy on you and steal your personal data - don't worry.
With Ubuntu Touch - a safer system that respects your privacy - they will have nothing to see. Ubuntu Touch
keeps you secure because most unsafe parts are blocked by default; the only way that the peepers and
creepers can get a peek is if you invite them. We've got your back.
No Backdoors

Ubuntu is an open source software operating system. This means that everyone has access to the source code
and change, distribute or copy it. That makes it impossible to install software backdoors.

The Ubuntu Touch OS does not depend on the cloud and is also virtually free of viruses and other malware that
can extract your data.
R.Wieser
2020-06-12 09:16:37 UTC
Permalink
Arlen,
Post by Arlen Holder
(2) Download "time.vbs" <https://www.nextofwindows.com/download/Time.vbs>
Dim speaks, speech
speaks = "It is " & hour(time) & " O'clock"
Set speech = CreateObject("sapi.spvoice")
speech.Speak speaks
I don't think that you are ware that that is an *EXAMPLE*, giving you
something to start with. Its is NOT MENT as an install-and-just-use
script.
Post by Arlen Holder
(mine spoke it only within the hour, e.g., 8:15 was spoken as 8:00)
Yes, that is what "hour(time)" returns. Just the hour. If you want
minutes too you have to add that part yourself. Hint: Its strikingly
similar to how to get the hours. Hint(clue)-by-four: google for "vbscript
minutes".
You already have the script. Why don't you try to change it yourself ?
Post by Arlen Holder
In summary, what can you expound upon in terms of the
visual basic script and the Windows Gadget for adding a
freeware talking time to Windows?
Neither does.

Being able to speak has been part of Windows as far back as XP. Both are
just ways to gather what you want to have spoken, and than deliver it to the
speech engine. And as you have been able to see, in VBScript having the
'puter speak is done with just two lines of code (of the four lines of
script the first is not actually needed and the second is the gathering and
creation of /what/ to say).
Post by Arlen Holder
As described prior, the visual basic spoken hourly clock sucks.
VBScript is NOT equal to Visual Basic. Although they share quite a bit,
they are quite different. (for fun, there is also VBA - Visual Basic for
Applications)

As for "it sucks" ? It does exactly what its designed for. Maybe your
expectations where set a bit to high for this four-line example script ?
Post by Arlen Holder
In short, it sucks, so if it's going to be used, it needs
improvement.
...
Post by Arlen Holder
Duh.
o Mea culpa.
I'm clearly not used to using the task scheduler.
Understanding the tools that you use is a prerequisite. :-)
Post by Arlen Holder
It still speaks out 2pm as "fourteen o'clock" though...
Which is exacty what it was written to do. And as long as you do not change
the script it will keep doing that.

IOW: Welcome in the wonderous world of VBScripting.

Regards,
Rudy Wieser
Sjouke Burry
2020-06-12 12:26:06 UTC
Permalink
Post by R.Wieser
Arlen,
Post by Arlen Holder
(2) Download "time.vbs" <https://www.nextofwindows.com/download/Time.vbs>
Dim speaks, speech
speaks = "It is " & hour(time) & " O'clock"
Set speech = CreateObject("sapi.spvoice")
speech.Speak speaks
I don't think that you are ware that that is an *EXAMPLE*, giving you
something to start with. Its is NOT MENT as an install-and-just-use
script.
Post by Arlen Holder
(mine spoke it only within the hour, e.g., 8:15 was spoken as 8:00)
Yes, that is what "hour(time)" returns. Just the hour. If you want
minutes too you have to add that part yourself. Hint: Its strikingly
similar to how to get the hours. Hint(clue)-by-four: google for "vbscript
minutes".
You already have the script. Why don't you try to change it yourself ?
Post by Arlen Holder
In summary, what can you expound upon in terms of the
visual basic script and the Windows Gadget for adding a
freeware talking time to Windows?
Neither does.
Being able to speak has been part of Windows as far back as XP. Both are
just ways to gather what you want to have spoken, and than deliver it to the
speech engine. And as you have been able to see, in VBScript having the
'puter speak is done with just two lines of code (of the four lines of
script the first is not actually needed and the second is the gathering and
creation of /what/ to say).
Post by Arlen Holder
As described prior, the visual basic spoken hourly clock sucks.
VBScript is NOT equal to Visual Basic. Although they share quite a bit,
they are quite different. (for fun, there is also VBA - Visual Basic for
Applications)
As for "it sucks" ? It does exactly what its designed for. Maybe your
expectations where set a bit to high for this four-line example script ?
Post by Arlen Holder
In short, it sucks, so if it's going to be used, it needs
improvement.
...
Post by Arlen Holder
Duh.
o Mea culpa.
I'm clearly not used to using the task scheduler.
Understanding the tools that you use is a prerequisite. :-)
Post by Arlen Holder
It still speaks out 2pm as "fourteen o'clock" though...
Which is exacty what it was written to do. And as long as you do not change
the script it will keep doing that.
IOW: Welcome in the wonderous world of VBScripting.
Regards,
Rudy Wieser
Wow,yes, that worked in XP PRO. Sounded horrible though.
Mayayana
2020-06-12 12:42:01 UTC
Permalink
"Sjouke Burry" <***@ppllaanneett.nnll> wrote

| Wow,yes, that worked in XP PRO. Sounded horrible though.


If you care, the Michael and Mary voices were made
available by someone as an XP installable. There are
also other voices. Probably all of them could be put
on XP but it requires putting the file into...

C:\Program Files\Common Files\SpeechEngines\Microsoft\TTS\[language ID]\

...and then adding a few Registry settings.
R.Wieser
2020-06-12 16:35:30 UTC
Permalink
Mayayana,
Post by Mayayana
If you care, the Michael and Mary voices were
made available by someone as an XP installable.
Do you perhaps have some more info ?

A number of years ago I tried to add a more understandable voice to my
XPsp3, but hit a brick wall when the voice-files I downloaded never wanted
to work - and often didn't even contain files ending in either .sdf or .spd
(as the "sam" voice-files do).

Most of the time I can't understand what the "sam" voice says, even though
I've entered the text myself. Heck, just emitting a few beeps is currently
often more helpfull. :-(

Regards,
Rudy Wieser
Mayayana
2020-06-12 22:28:53 UTC
Permalink
"R.Wieser" <***@not.available> wrote

| Do you perhaps have some more info ?
|

It's under 4 MB. I could email it if you want to
get in touch. Note that my email autodeletes
webmail like gmail and hotmail.
nospam
2020-06-12 22:50:36 UTC
Permalink
Post by Mayayana
Note that my email autodeletes
webmail like gmail and hotmail.
that's rather extreme and doesn't do what you might think it does.

gmail and hotmail can be used with non-web mail clients via imap, both
desktop or mobile, and/or a custom domain.

other email providers frequently offer web access in addition to imap.
Auric__
2020-06-12 23:18:12 UTC
Permalink
Post by nospam
Post by Mayayana
Note that my email autodeletes
webmail like gmail and hotmail.
that's rather extreme and doesn't do what you might think it does.
gmail and hotmail can be used with non-web mail clients via imap, both
desktop or mobile, and/or a custom domain.
other email providers frequently offer web access in addition to imap.
I believe he means specifically those two, probably along with other free
services like Yahoo. It's not that extreme; I believe there are lots of
people who do so.
--
- No, come on, stay with me. Stay with me!
- The mission....The nightmares...are...finally over.
nospam
2020-06-13 00:04:30 UTC
Permalink
Post by Auric__
Post by nospam
Post by Mayayana
Note that my email autodeletes
webmail like gmail and hotmail.
that's rather extreme and doesn't do what you might think it does.
gmail and hotmail can be used with non-web mail clients via imap, both
desktop or mobile, and/or a custom domain.
other email providers frequently offer web access in addition to imap.
I believe he means specifically those two, probably along with other free
services like Yahoo. It's not that extreme; I believe there are lots of
people who do so.
almost none, since doing so will block a lot of legitimate email,
particularly since both can be used with custom domains. there is also
no reason to block those who choose to use a web client, which can be
used with just about any email provider.

if the goal is to block google and microsoft from ever seeing his
email, then blocking by domain is guaranteed to fail since there's no
way to reliably determine if email has transited either one.

if the goal is to block spam, then blocking by domain is also
guaranteed to fail since spammers fake just about everything.

gmail has some of the best spam filtering around, and one reason why
many companies use it as a back end for their own email on their own
domain.
Mayayana
2020-06-13 00:28:38 UTC
Permalink
"Auric__" <***@email.address> wrote

| > other email providers frequently offer web access in addition to imap.
|
| I believe he means specifically those two, probably along with other free
| services like Yahoo. It's not that extreme; I believe there are lots of
| people who do so.
|

Yes, that's exactly what I mean. When people write to me
it's generally to ask for help, code, etc. Which I'm happy to
provide. But I figure the least they can do is to write from
a real email address that isn't spyware.
nospam
2020-06-13 01:10:11 UTC
Permalink
Post by Mayayana
| > other email providers frequently offer web access in addition to imap.
|
| I believe he means specifically those two, probably along with other free
| services like Yahoo. It's not that extreme; I believe there are lots of
| people who do so.
|
Yes, that's exactly what I mean. When people write to me
it's generally to ask for help, code, etc. Which I'm happy to
provide. But I figure the least they can do is to write from
a real email address that isn't spyware.
gmail and outlook/hotmail are real email addresses and not spyware.

there's also no way to reliably determine if email is being handled by
either one.
Arlen Holder
2020-06-13 05:28:14 UTC
Permalink
As always, striving to add on-topic technical value with every post,
below is another template users may benefit from testing out.

It covers the four main conditions we spoke about prior:
. 11:59PM => Good evening; the current time is eleven fifty nine pm
. 12:00AM => Goood morning; the current time is 12 o'clock midnight
. 12:01AM => Goood morning; the current time is 12 oh one am
etc.

Set Sapi = Wscript.CreateObject("SAPI.SpVoice")
dim str
if hour(time) < 12 then
Sapi.speak "Good Morning TechLog" ' Add Your Own Greetings
Message.
else
if hour(time) > 12 then
if hour(time) > 16 then
Sapi.speak "Good evening TechLog" ' Add Your Own Greetings Message.
else
Sapi.speak "Good afternoon TechLog" ' Add Your Own Greetings Message.
end if
end if
end if
Sapi.speak "The current time is" ' Add Your Own Time Greetings
Message.
if hour(time) > 12 then
Sapi.speak hour(time)-12
else
if hour(time) = 0 then
Sapi.speak "12"
else
Sapi.speak hour(time)
end if
end if
if minute(time) < 10 then
Sapi.speak "o"
if minute(time) < 1 then
Sapi.speak "clock"
else
Sapi.speak minute(time)
end if
else
Sapi.speak minute(time)
end if
if hour(time) > 12 then
Sapi.speak "P.M."
else
if hour(time) = 0 then
if minute(time) = 0 then
Sapi.speak "Midnight"
else
Sapi.speak "A.M."
end if
else
if hour(time) = 12 then
if minute(time) = 0 then
Sapi.speak "Noon"
else
Sapi.speak "P.M."
end if
else
Sapi.speak "A.M."
end if
end if
end if
--
Source:
<https://techlog360.com/how-to-make-your-computer-greet-you-and-tell-you-the-time-on-startup/>
R.Wieser
2020-06-13 07:37:45 UTC
Permalink
Mayayana,
Post by Mayayana
It's under 4 MB. I could email it if you want
to get in touch.
That, or any other way.
Post by Mayayana
Note that my email autodeletes
webmail like gmail and hotmail.
:-) Your email addy is, just as mine, invalid. How do we do this ?

Regards,
Rudy Wieser
Paul
2020-06-13 08:16:40 UTC
Permalink
Post by R.Wieser
Mayayana,
Post by Mayayana
It's under 4 MB. I could email it if you want
to get in touch.
That, or any other way.
Post by Mayayana
Note that my email autodeletes
webmail like gmail and hotmail.
:-) Your email addy is, just as mine, invalid. How do we do this ?
Regards,
Rudy Wieser
https://send.firefox.com/

https://techcrunch.com/2019/03/12/mozilla-launches-its-free-encrypted-file-sharing-service-firefox-send/

"When Mozilla first began testing the web-based Send tool,
file shares were limited to 1 GB. Today, that remains the
limitation until users sign up for a free Firefox account.
They can then opt to share files up to 2.5 GB."

"To use the service, the sender visits the Send website,
uploads the files and sets an expiration period - a design
choice seemingly inspired by Snapchat and its concepts
around ephemerality.

You can opt to have the files protected with a password
before sending."

"Firefox Send then offers a link you can give to the
recipient however you see fit, which they simply click
to start the download. They will not need a Firefox account
of their own to access the files, Mozilla notes."

Since the files are public quantities, shouldn't be a
problem "Sending" them.

Those files might also be on archive.org . Having exact filenames
for the items would be a start.

*******

I'm getting hits on "Sam.spd", "Mary.spd", "Mike.spd" from SDK5.1.

SpeechSDK51.exe 71,275,856 bytes

And they didn't dump the webpage!

https://www.microsoft.com/en-us/download/details.aspx?id=10121

That must be where I got that folder of stuff.

*******

C:\Windows\inf\sapi5.inf gives some idea how sam.spd gets installed

*******

Maybe aiming for Microsoft Anna would be better ? I just tested
the VBS clock reading file, and Anna is less legible than Sam
at the current time.

https://en.wikipedia.org/wiki/Microsoft_text-to-speech_voices

There simply might not be a "win" available, with these voices.

Paul
Mayayana
2020-06-13 12:12:38 UTC
Permalink
"R.Wieser" <***@not.available> wrote

|
| :-) Your email addy is, just as mine, invalid. How do we do this ?
|

Sorry. I thought you knew my website. I would
have just posted it there, but it was made by a private
company, so I don't feel like I have permission to
do public distribution.

But Paul's link from yesterday is the same thing:

http://www.zero2000.com/free-text-to-speech-natural-voices.html

The Mike and Mary package is the same that I have.
According to the MSI info it was made by the people
at Zero2000.

The Michael and Michelle package is a 3rd-party thing
that it might be possible to adapt but I unpacked the
installer/settings and it's very different.
Paul
2020-06-12 23:15:40 UTC
Permalink
Post by R.Wieser
Mayayana,
Post by Mayayana
If you care, the Michael and Mary voices were
made available by someone as an XP installable.
Do you perhaps have some more info ?
A number of years ago I tried to add a more understandable voice to my
XPsp3, but hit a brick wall when the voice-files I downloaded never wanted
to work - and often didn't even contain files ending in either .sdf or .spd
(as the "sam" voice-files do).
Most of the time I can't understand what the "sam" voice says, even though
I've entered the text myself. Heck, just emitting a few beeps is currently
often more helpfull. :-(
Regards,
Rudy Wieser
I blame the lousy voices on Windows, on the "Bubbles" voice
on MacOS :-) That set the precedent for crap.

It seems OS companies are not interested in particularly
moving quickly in that area, whereas commercial synthesis
companies sell web based TTS and dictation for muĂ­ dinero.
When a scam phone call claiming to be the CRA arrives
on my phone, the synthesized voice on there sounds better
than an OS TTS.

I thought ATT made some voice files available, but I was never
able to track down a working example.

https://superuser.com/questions/1020849/get-more-microsoft-text-to-speech-voices

Paul
Mayayana
2020-06-13 00:40:47 UTC
Permalink
"Paul" <***@needed.invalid> wrote

| I thought ATT made some voice files available, but I was never
| able to track down a working example.
|
|
https://superuser.com/questions/1020849/get-more-microsoft-text-to-speech-voices
|

I just tried installing Michael/Michelle. It doesn't work.
So I unpacked the MSI. It's some kind of funky InstallShield
mess that's putting the files in the installshield folder and
not in the SAPI folder. There are also files put in an "L_H"
folder, but those files are not SPD and SPF speech files.
It seems to be a custom package for Lernout & Hospie,
not an actual SAPI5 package.
Mayayana
2020-06-13 00:44:41 UTC
Permalink
The Mike and Mary download does seem to be legitimate
Windows SAPI5 voices. They should work. Not as nice as
Siri, but not as surly, either.
R.Wieser
2020-06-12 09:19:43 UTC
Permalink
P.s.

Why did you xpost this to "alt.msdos.batch" ? Nothing in your post is
related to either DOS, or Batch.

Regards,
Rudy Wieser
Mayayana
2020-06-12 12:09:56 UTC
Permalink
"R.Wieser" <***@not.available> wrote

| Why did you xpost this to "alt.msdos.batch" ? Nothing in your post is
| related to either DOS, or Batch.
|

I think that demonstrates 2 common misunderstandings.
One is that VBS is VB. The other is that anything interpreted
is a "batch" file. Maybe that gets mixed up because there
was never really a name for it. In the beginning it was all
just DOS and sometimes people would automate that with
BAT files.
People write "batch" files these days and get very angry if
you call it DOS, even if it is. But even the word "batch" really
just indicates an automated operation to do something
repeatedly, which is not necessarily what script is doing.

To make matters more confusing, on Linux they call their
interpreters shells and refer to commandline as shell scripting,
while in Windows the shell (Explorer GUI) is everything except
commandline. Meanwhile, Microsoft named their DOS-esque,
Linux-wannabe, one-executable-for-every-command monstrosity
"PowerShell", adopting the Linux nomenclature.

A third common misconception is that
interpreted code and commandline are "bare metal"
computer use, which is like thinking that a fireplace
is the most efficient way to heat a house, simply because
it requires the most work.

My XP computer has a clock in the lower right that tells
me hours and minutes at a glance. I also have a clock on
the shelf over my computer. And Scheduled Tasks is
completely disabled. So I don't have to write any code to
find out the time. Ah, the good old days. :)
Arlen Holder
2020-06-13 05:43:10 UTC
Permalink
Post by Mayayana
I think that demonstrates 2 common misunderstandings.
Here are simple C# & Visual Basic "hello world" coding tutorials:
- Coding4Fun: *Giving Computers a Voice*
<https://channel9.msdn.com/coding4fun/articles/Giving-Computers-a-Voice>
(1) Create an Interop.SpeechLib.dll using Visual Studio
(2) Reference the interop namespace in C# or in VB
*In C#*:
using SpeechLib;
*In Visual Basic*:
Imports SpeechLib
(3) call Speak() in C# or in VB
*In C#*:
SpVoice voice = new SpVoice();
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault);
*In Visual Basic*:
voice = New SpVoice
voice.Speak("Hello World!", SpeechVoiceSpeakFlags.SVSFDefault)

For example, below are C# and VB.NET "hello world" samples to test out:
- <https://sec.ch9.ms/ecn/c4fcontent/migration/909044/TTSHelloWorld-CSharp.msi>
- <https://sec.ch9.ms/ecn/c4fcontent/migration/909044/TTSHelloWorld-Visual_20Basic.msi>
--
Every Usenet post should strive to add on-topic value for all to benefit.
JJ
2020-06-12 11:19:04 UTC
Permalink
Post by Arlen Holder
First off, I've _never_ run a VBS script before (as I didn't even know they
would work on Windows 10 without installing "something else"... nor have I
(knowingly) installed what is referred to in that thread as a "Windows
gadget"...
Is Windows 10 your first Windows OS?
Arlen Holder
2020-06-12 13:14:51 UTC
Permalink
Post by JJ
Post by Arlen Holder
First off, I've _never_ run a VBS script before (as I didn't even know they
would work on Windows 10 without installing "something else"... nor have I
(knowingly) installed what is referred to in that thread as a "Windows
gadget"...
Is Windows 10 your first Windows OS?
Hi JJ,

My post was initiated with "purposefully helpful" intentions.
o Consider my intent - and then think - think hard please - about yours.
--
I said from the start I never used nor cared for vbs nor for widgets, nor
did I claim to desire the results for myself (as my system clock is random
anyway); what I said, very clearly, was that I was helping others, and
hence, I simply asked for helpful advice in expounding on the experience.
JJ
2020-06-13 10:31:13 UTC
Permalink
Post by Arlen Holder
Post by JJ
Post by Arlen Holder
First off, I've _never_ run a VBS script before (as I didn't even know they
would work on Windows 10 without installing "something else"... nor have I
(knowingly) installed what is referred to in that thread as a "Windows
gadget"...
Is Windows 10 your first Windows OS?
Hi JJ,
My post was initiated with "purposefully helpful" intentions.
o Consider my intent - and then think - think hard please - about yours.
If that is your first Windows OS, then I would have to explain some basics
of Windows. Otherwise I won't. Frankly, I don't know why you thought
negatively first toward others.
Arlen Holder
2020-06-13 14:26:21 UTC
Permalink
Post by JJ
Post by Arlen Holder
My post was initiated with "purposefully helpful" intentions.
o Consider my intent - and then think - think hard please - about yours.
If that is your first Windows OS, then I would have to explain some basics
of Windows. Otherwise I won't. Frankly, I don't know why you thought
negatively first toward others.
Hi JJ,

Usenet is best when each person strives to add value when they post.
o Value that is archived in the permanent record for reuse by many.

I hope you understand that I feel you are capable of adding value.
o All I ask of you is that the next time you post, keep that in mind.

You'll note that _multiple_ people in this thread added value.
o Just not you.

For example, multiple VBS scripts were posted (each improving upon the
prior); new voices were unearthed; existing voices were unlocked
(particularly from Cortana); and definitions were clarified.

People like you, who clearly posted with zero purposeful intentions, _can_
redeem yourselves simply by posting with purposefully helpful intent.

It's not hard to post with purposeful intent, JJ...
o People like Rudy can't seem to rise to that level - but you can, JJ.

I'm sure you can.

Let's move forward given this is Usenet, JJ, where bygones are bygones.
o I don't expect people like Rudy to ever post with helpful intent.

*But I do expect you, JJ, to be able to post with helpful intent*.
o Where I expect your next post, JJ, to purposefully add on-topic value.

For example, like I did over here:
<https://groups.google.com/d/msg/alt.comp.freeware/Nv8cJ229qeI/NxjGgcceAwAJ>
o Where I added this section so that the script speaks the minutes better:
min_now=minute(time)

if min_now = 0 Then
ohno = " "
min_now = " "
Elseif min_now > 0 and min_now < 10 Then
ohno = " oh "
Else min_now=minute(time)
End If

speaks = "It is " & hourfinal & ohno & min_now & ampm
Set speech=CreateObject("sapi.spvoice")
speech.Speak speaks
--
That one snippet is more value than you added in this entire thread, JJ;
but I'm confident, JJ, that your next post _can_ add helpful value.
Arlen Holder
2020-06-13 15:32:34 UTC
Permalink
Correction!

Responding to JJ made me _look_ at that "minutes" section, where I
instantly realized there was a bug of redundancy in the code posted prior:
<https://groups.google.com/d/msg/alt.msdos.batch/Mpke6vAc48Y/OZPfr3S-AAAJ>

DO NOT USE THAT CODE!

After responding to JJ, I _corrected_ that bug, where I thank JJ for
allowing me the chance to take a second (fresh) look at the code I had
posted last night.

I instantly saw that I had made two calls, one of them extraneous, to:
o min_now=minute(time)

Since Usenet serves as a wonderfully permanent web-searchable archive of
purposefully helpful general purpose solutions which everyone can instantly
make use of, here's that update kindly inspired by responding to JJ's post:
<https://groups.google.com/d/msg/alt.msdos.batch/Mpke6vAc48Y/ZeJwEqHfAAAJ>

As always, please improve so that everyone benefits from your every post.
--
Usenet works best when helpful adults share ideas politely with each other.
Arlen Holder
2020-06-13 15:21:28 UTC
Permalink
UPDATE:
(a) Comments added
(b) Minutes redundancy fixed
(c) Reference URLs added

The main enhancements left are to add "noon" & "midnight" indicators.
o As always, please improve so that all benefit from your every action.

===== Begin cut for "saytime.vbs" =====
' Date: 20200613
' Name: c:\app\os\bin\vbs\saytime.vbs (8+3 conventions)
' Source (1) <https://www.nextofwindows.com/windows-trick-how-to-make-your-computer-to-speak-out-time-at-every-hour>
' Source (2): <https://www.makeuseof.com/tag/windows-speak-time-every-hour/>
' Source (3): <https://groups.google.com/d/msg/alt.comp.freeware/Nv8cJ229qeI/NxjGgcceAwAJ>
' Thread: <https://groups.google.com/forum/#!topic/alt.comp.freeware/Nv8cJ229qeI>
' Enhancement (1) 'Oh clock' indication (i.e., at zero minutes)
' Enhancement (2) 'Oh' indication (i.e., from one to nine minutes)
' Enhancement (3) 'Oh No' indication (i.e., from ten to fifty-nine minutes)
' Bugfix (1) Removed extraneous "min_now=minute(time)" call in the "Minutes" section
' WIP: Add "noon" & "midnight" as per <https://groups.google.com/d/msg/alt.comp.freeware/Nv8cJ229qeI/yeWvlpQfAwAJ>
' Free Voices: <http://www.zero2000.com/free-text-to-speech-natural-voices.html>
' Unlock System Voices: <https://winaero.com/blog/unlock-extra-voices-windows-10/>
' Unlock Cortana Voices: <https://www.ghacks.net/2018/08/11/unlock-all-windows-10-tts-voices-system-wide-to-get-more-of-them/>
Dim speaks, speech
hour_now=hour(time)
' Determine Meridiem <https://groups.google.com/forum/#!topic/alt.usage.english/eKeHcjtKuiI>
if hour_now > 12 or hour_now = 12 Then
hour12 = hour_now - 12
ampm = "PM"
Else
hour12 = hour_now
hourfinal = hour_now
ampm = "AM"
End If
' Determine Evening/Morning
If hour12 = 10 Then
hourfinal = "Ten"
Elseif hour12 = 11 Then
hourfinal = "Eleven"
Elseif hour12 = 12 Then
hourfinal = "Twelve"
Elseif hour12 = 0 Then
hourfinal = "Twelve"
Elseif hour12 > 0 and hour12 < 10 Then
hourfinal = hour12
End If
' Determine minutes
min_now=minute(time)
'
if min_now = 0 Then
ohno = " "
min_now = " "
Elseif min_now > 0 and min_now < 10 Then
ohno = " oh "
End If
' Saytime:
' Tested (1) 11:59PM => "It is eleven fifty nine pm"
' Tested (2) 12:00AM => "It is 12 am"
' Tested (3) 12:01AM => "It is 12 oh one am"
speaks = "It is " & hourfinal & ohno & min_now & ampm
Set speech=CreateObject("sapi.spvoice")
speech.Speak speaks
' EOF
===== End cut for "saytime.vbs" =====
--
Those who post purposefully helpfully are who make Usenet useful.
Loading...