VecVoice utility

9 views
Skip to first unread message

Richard Hutchinson

unread,
Jul 20, 2003, 3:40:34 PM7/20/03
to
Boring Sunday, so I made this -


www.vectrex.biz/WordMaker.zip

(unzip and place the folder in C:)


You simply put allophones in the boxes, and press speak to hear the result.

(eg 'robots' = rr1 ow pa2 bb2 aa pa3 tt1 ss)


I thought it might be useful to VecVoice coders, because you can play around
with words before testing on the real thing (i.e. it doesn't require the
hardware).

Richard H.

Richard Hutchinson

unread,
Jul 21, 2003, 7:58:01 AM7/21/03
to
...........one thing I have noticed, is that although the samples were taken
straight from the SPO256, speech sounds better on the hardware (i.e. there's
no 'rough edges' between certain combinations of allophones).

I'm guessing the chip must have some sort of filter to smooth the transition
between allophones.


BTW, you can put an Intellivoice chip (SPO256-12) into the VecVoice.

These are the sample addresses -

$6 - "Mattel Electronics Presents"
$7 - "Zero"
$8 - "One"
$9 - "Two"
$A - "Three"
$B - "Four"
$C - "Five"
$D - "Six"
$E - "Seven"
$F - "Eight"
$10 - "Nine"
$11 - "Ten"
$12 - "Eleven"
$13 - "Twelve"
$14 - "Thirteen"
$15 - "Fourteen"
$16 - "Fifteen"
$17 - "Sixteen"
$18 - "Seventeen"
$19 - "Eighteen"
$1A - "Nineteen"
$1B - "Twenty"
$1C - "Thirty"
$1D - "Forty"
$1E - "Fifty"
$1F - "Sixty"
$20 - "Seventy"
$21 - "Eighty"
$22 - "Ninety"
$23 - "Hundred"
$24 - "Thousand"
$25 - "Teen"
$26 - "Ty"
$27 - "Press"
$28 - "Enter"
$29 - "Or"
$2A - "N"

I'm trying to get hold of an Odyssey 2 'The Voice' chip (SPO256-19) as
apparently, this contains all 64 allophones as well as a large set of
phrases - too cool !

Richard H.

baron vr

unread,
Jul 22, 2003, 2:43:49 AM7/22/03
to
I ain't no coder, but I'll be having fun with this :)...

"Richard Hutchinson" <richard.h...@dsl.pipex.com> wrote in message

Richard Hutchinson

unread,
Jul 23, 2003, 10:55:52 AM7/23/03
to
I've improved it a bit, by adding more space for allophones + a speed
control (which is in milliseconds).


Overwrite the program in the 'WordMaker' folder with this :-


www.vectrex.biz/VecVoice.exe (32K)

Richard H.

Milan Pollé

unread,
Jul 23, 2003, 3:45:56 PM7/23/03
to

"Richard Hutchinson" <richard.h...@dsl.pipex.com> schreef in bericht
news:3f1ea1f3$0$18486$cc9e...@news.dial.pipex.com...

Dread, it doesn't work on my laptop with Realtek audiochip :^(

I wonder why that could be.


Richard Hutchinson

unread,
Jul 24, 2003, 6:24:34 AM7/24/03
to
>Dread, it doesn't work on my laptop with Realtek audiochip :^(

>I wonder why that could be.


Hmm...very strange, the software uses the Window's wav player api, so if
your sound card works with Windows, it should also work with the util.


Richard H.


Richard Hutchinson

unread,
Jul 24, 2003, 6:47:16 AM7/24/03
to
Did you put the 'WordMaker' folder directly in C: ?

Richard H.


GeoFury

unread,
Jul 24, 2003, 9:39:59 PM7/24/03
to
>Boring Sunday, so I made this -
>
>
>www.vectrex.biz/WordMaker.zip
>

Very nice...looking forward to working with VecVoice.

George

Milan Pollé

unread,
Jul 25, 2003, 9:10:29 AM7/25/03
to

"Richard Hutchinson" <richard.h...@dsl.pipex.com> schreef in bericht
news:3f1fb92d$0$18495$cc9e...@news.dial.pipex.com...

> Did you put the 'WordMaker' folder directly in C: ?

I heard something :^)

That was the trick, I had put it in a vectrex emu folder :^)

Very cool utility... off to make it say 'Greetings professor Falken' :^p
Hmmm... wargames... an idea for a Vectrex game ;^)


Milan Pollé

unread,
Jul 25, 2003, 9:49:29 AM7/25/03
to

"Milan Pollé" <ln.bewfmt....@nalim.nl> schreef in bericht
news:bfraf7$eec$1...@reader08.wxs.nl...

> Very cool utility... off to make it say 'Greetings professor Falken' :^p

Hey presto:

gg2 er2 iy tt2 ih ng hh ss
pp rr1 ow ff eh ss ao er1
ff aa ll kk1 eh nn1

Feel free to improve :^)

It might be easier to use if the list was sorted by allophone instead of
command number.
And then a few of those allophone input rows to make longer sentences.

Maybe the possibility of clicking on an allophone in the list to hear it
seperately.

And an export to wav function would be really cool. And possibly export to
command list text for developers.

At any rate it's a really cool utility.


Richard Hutchinson

unread,
Jul 25, 2003, 3:32:12 PM7/25/03
to
www.vectrex.biz/VecVoice.exe

>It might be easier to use if the list was sorted by allophone instead of
>command number.

Done

>And then a few of those allophone input rows to make longer sentences.

Done

>Maybe the possibility of clicking on an allophone in the list to hear it
>seperately.

Done

>And an export to wav function would be really cool. And possibly export to
>command list text for developers.

Working on it


Richard H.

baron vr

unread,
Jul 26, 2003, 4:18:30 AM7/26/03
to
Argh! I made the same mistake and now it works for me too... And thanks for
the professor Falken instructions :)...


"Milan Pollé" <ln.bewfmt....@nalim.nl> wrote in message
news:bfraf7$eec$1...@reader08.wxs.nl...

Richard Hutchinson

unread,
Jul 27, 2003, 3:23:21 AM7/27/03
to
Here's the latest version -


www.vectrex.biz/VecVoice.exe


I've put in the allophone to command code converter.


Richard H.


Brett Walach

unread,
Jul 27, 2003, 11:23:10 AM7/27/03
to
"Richard Hutchinson" wrote

> Did you put the 'WordMaker' folder directly in C: ?

You should put this in a readme.txt file....or help file. I ran into the
same problem even though I previously read your posts...

Brett


Brett Walach

unread,
Jul 27, 2003, 11:39:33 AM7/27/03
to
"Richard Hutchinson"

> Here's the latest version -
> www.vectrex.biz/VecVoice.exe
> I've put in the allophone to command code converter.

What is that?

Also, here my suggestions:

Instead of TAB'ing, make the allophone (AP) entry line a string or text box,
and just have the user separate AP's with a delimiter from a list like ( - ,
* . and space). The program would just look for any of these, and check it
as you type. So if I type "ay,ay,ay,ay", everything's fine. Maybe you could
even hear it as you type it (option selectable with check box). But if I
type "ay,ay,ay,tr", the "tr" gets highlighted red to let me know I'm an
idiot.

Also, you could mirror the AP's with the code like you've done, but do it so
the user can copy and paste the box right into their source code.

If you want to add another option selectable check box dimension, you could
have the program auto enter or auto compose the string of AP's as you click
on the individual AP's (which the wav sound from just clicking on those
should also be option selectable). And if you can hear it when you type it
and hear it when you click it, obviously you need to provide some
coordination with the two option check boxes.

Could also drag and drop AP's, but I like clicking better.

Maybe right click deletes the last AP. The right click right now doesn't
look like something you personally added...but rather something that comes
with the text field or something.

And I see you have the hardware option there..very cool if that works.
Haven't plugged in my VecVoice and VecRam yet to see.

Very nice utility...should save a lot of VV coders time.

Brett

Richard Hutchinson

unread,
Jul 27, 2003, 3:11:08 PM7/27/03
to
> I've put in the allophone to command code converter.

>What is that?

I meant to say allophone address codes (too much 'War Games' !)


I've implemented some of your suggestions -

'Clear' - clears all the allophone boxes
'Copy' - copies the address codes to the clipboard
'Type 'n' Talk' - speaks the allophones as typed (I like this one)


The 'hardware' option should allow you to hook up an actual VecVoice to the
PC's serial port (also need a 5V PSU). This is mainly to fine tune the
speech (as the hardware behaves a bit differently).


Richard H.


Milan Pollé

unread,
Jul 28, 2003, 4:05:45 PM7/28/03
to

"Richard Hutchinson" <richard.h...@dsl.pipex.com> schreef in bericht
news:3f2185b1$0$18487$cc9e...@news.dial.pipex.com...

Wow, awesome! I've never experienced such a fast reaction to my suggestions
before. :^)

I'm going to try it out right away!


Milan Pollé

unread,
Jul 28, 2003, 4:07:18 PM7/28/03
to

"baron vr" <vectrexnow....@yahoo.com> schreef in bericht
news:bftdkb$ioltl$1...@ID-23976.news.uni-berlin.de...

> Argh! I made the same mistake and now it works for me too... And thanks
for
> the professor Falken instructions :)...

:^)

Now to see if someone will build a game around it... the Coleco game was
pretty good.


Milan Pollé

unread,
Jul 28, 2003, 4:24:04 PM7/28/03
to

"Richard Hutchinson" <richard.h...@dsl.pipex.com> schreef in bericht
news:3f2423bd$0$11383$cc9e...@news.dial.pipex.com...

> I meant to say allophone address codes (too much 'War Games' !)

How about a nice game of chess?

> I've implemented some of your suggestions -
>
> 'Clear' - clears all the allophone boxes
> 'Copy' - copies the address codes to the clipboard
> 'Type 'n' Talk' - speaks the allophones as typed (I like this one)

I have another function that shouldn't be hard to implement but would be
handy. An 'insert' button. Select one of the allophone input boxes, click
insert to shift all the allophone boxes on the behind it one place to the
right, creating an empty space in the current box to insert an extra
allophone into.

This because words sometimes sound better with some extra allophones in
them.

Though using a single box to type a whole sentence in would already add this
automatically.

> The 'hardware' option should allow you to hook up an actual VecVoice to
the
> PC's serial port (also need a 5V PSU). This is mainly to fine tune the
> speech (as the hardware behaves a bit differently).

That's really awesome. I must look into getting/making one of these some
time.

I noticed one thing; 'AY' sounds like 'I', but if you add a pause behind it,
it gets cut off. If you add an empty box behind it, it doesn't get cut off.
I guess empty boxes indicate the end of a single word.
I assume pause commands should really behave the same and not cut off the
allophones?


Milan Pollé

unread,
Jul 28, 2003, 4:29:45 PM7/28/03
to

"Milan Pollé" <ln.bewfmt....@nalim.nl> schreef in bericht
news:bg40ul$1fo$1...@reader11.wxs.nl...

> I noticed one thing; 'AY' sounds like 'I', but if you add a pause behind
it,
> it gets cut off. If you add an empty box behind it, it doesn't get cut
off.
> I guess empty boxes indicate the end of a single word.
> I assume pause commands should really behave the same and not cut off the
> allophones?

Hmm, now I notice you actually sometimes do want the pause to cut off an
allophone, so I guess it's just a matter of adding an empty box before a
pause.


Milan Pollé

unread,
Jul 28, 2003, 7:31:24 PM7/28/03
to
I've made a basic game orientated dictionary to get the developers started
on adding VecVoice support :^)

Feel free to improve/extend.

* = empty box

and = ae nn1 dd1 pa1

base = bb2 ey * ss
button = bb2 ax * tt2 ax nn1

computer = kk2 ao mm * pp yy2 uh * tt2 er2

destroyed = dh2 ih ss * tt2 rr2 oy *** dd1
down = dd1 aw * nn1

enter = eh nn1 tt2 er2

fire = ff ay yy2 er1
for = ff oy rr2

galaxy = gg2 ae ll ae kk2 ss iy
game over = gg2 ey (yy1) mm * ow ww vv er2
good luck = gg2 uw2 dd1 * ll hh2 uh kk3 pa1

have = hh1 ae vv
hello = hh1 ae ll ow
high = hh2 ay
highscore = hh2 ay * ss kk2 or er1
human = yy2 uh * mm aa nn1
hurry up = hh2 er1 * iy * ax * pp

in = ih nn1
insert coin = ih nn1 ss er2 * tt2 * kk2 oy * iy nn1

joystick = yy2 oy ** ss tt2 ih kk2 pa1

laser = ll ey * ss er2
left = ll ae ff tt2
level = ll ae vv el
lives = ll ay * vv ss
lose = ll hh2 uh zz
lost = ll ao ss tt2
low = ll ow

name = nn1 ey * mm

or = or

pilot = pp ay * ll ax hh2 tt2
planet = pp ll ae nn1 ax tt2
play = pp ll ey
player = pp ll ey yy2 er2
playing = pp ll ey yy2 ih ng
please = pp ll iy * zz
points = pp oy *** nn1 tt1 ss
presents = pp rr2 iy ss ae nn1 tt2 ss
press = pp rr2 ae ss

right = rr2 ay * tt2
robot = rr2 ow bb2 ao tt2

score = ss kk2 or er1
ship = ss y2 ih pp
shoot = ss yy2 uw2 tt2
start = ss tt2 ar * tt2

thank you = th ae nn1 kk2 pa1 yy1 uh ww
to = tt2 uh ww

up = ax * pp

vectrex = vv ae kk2 pa1 tt2 rr2 ae kk2 ss

weapon = ww ae * pp ax nn1
welcome = ww ae ll * kk2 aa mm
win = ww ih nn1
with = ww ih th

you = yy2 uw2
your = yy1 or


this is the vectrex speaking = dh2 ih ss * ih ss * dh2 ax * vv ae kk2 pa1
tt2 rr2 ae kk2 ss * ss pp iy kk2 ih ng


one = ww ao nn1
two = tt2 ww uh
three = th rr2 iy
four = ff or
five = ff iy * vv
six = ss ih kk2 ss
seven = ss ae vv ax hh2 nn1
eight = ey * tt2
nine = nn1 ay nn1
ten = tt2 ae nn1

twenty = tt2 ww ae nn1 * tt2 iy
thirty = th er2 * tt2 iy
fifty = ff ih ff * tt2 iy
ty = tt2 iy

eleven = iy ll ae vv ax nn1
twelve = tt2 ww ae ll * vv
thirteen = th er2 * tt2 iy * nn1
fifteen = ff ih ff * tt2 iy nn1
teen = tt2 iy * nn1

hundred = hh2 ax nn1 * dd2 rr2 er2 pa1 dd1
thousand = th ow * ss ax nn1 * dd1
million = mm ih hh2 ll yy1 ax nn1


Brett Walach

unread,
Jul 28, 2003, 9:20:31 PM7/28/03
to
Cool!

Richard, maybe you could add this to a text file dictionary that accompanies
the VecVoice.exe that can be viewed/added to from the GUI. Maybe there's a
drop down box that auto-completes your entry if you start typing in there. A
LOAD or SAVE button will either create new, overwrite, or read the
allophone.

Users could send their dictionary files in to you, and maybe you could write
a utility that merges their dictionary with yours. If the entry does not
exist, add. If the entry is there, maybe the utility can play both versions
and you pick the best...or maybe it just increments a number after the word
to give everyone an alternate version. I think the later would be better,
everyone has different tastes.

By the time you're done adding all of these cool features, the utility will
make programming for the VecVoice a snap.

Brett

"Milan Pollé" wrote in message

Brett Walach

unread,
Jul 28, 2003, 9:45:08 PM7/28/03
to
"Milan Pollé" wrote in message
> I have another function that shouldn't be hard to implement but would be
> handy. An 'insert' button. Select one of the allophone input boxes, click
> insert to shift all the allophone boxes on the behind it one place to the
> right, creating an empty space in the current box to insert an extra
> allophone into.

Good idea, but moving the cursor to the box to insert on and holding down
the SHIFT key while clicking the allophone might be easier to use.

Brett


Richard Hutchinson

unread,
Jul 30, 2003, 2:52:08 PM7/30/03
to
I've updated it again, got it so it ignores blank boxes instead of treating
them as pauses.

I think I'll need to extend the allophone samples list, for when there's
2 the same together like - 'er1 er1' .

Where as the hardware will speak it as an unbroken sound, with the software
you can hear a gap between samples.


BTW Milan, nice work with the 'game words' (I'll eventually put them all in
a drop down list).


There's some other words here -

http://www.physics.brandeis.edu/phys32b_2002/SP056-Tandy.pdf

(pages 5-10)


Richard H.


Graham Toal

unread,
Jul 30, 2003, 9:53:32 PM7/30/03
to
"Richard Hutchinson" <richard.h...@dsl.pipex.com> wrote in message
news:3f2813d3$0$15032$cc9e...@news.dial.pipex.com

> There's some other words here -
>
> http://www.physics.brandeis.edu/phys32b_2002/SP056-Tandy.pdf
>
> (pages 5-10)

I hadn't been following this vecvoice thing but I looked at that just
now and realised what you've all been doing.

How come you're working out words by hand and not using a program
or one of the existing (huge) dictionaries - all that's needed
will be small tweaks to match your phoneme set. (You're not
really using allophones are you???) And even if the program or
lookup isn't perfect, it would surely give you a good starting
point to start tweaking from.

I've written some text to speech myself including one for Dutch.
I'll have a look for it and see if it's suitable for your project.
Did I hear you say something about a web page where you can test
the encodings? Or was that a PC program you have to run?

Point me at the background for this stuff, I'ld like to catch up...

Graham


--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG

Milan Pollé

unread,
Jul 31, 2003, 5:24:10 AM7/31/03
to
"Richard Hutchinson" <richard.h...@dsl.pipex.com> schreef in bericht
news:3f2813d3$0$15032$cc9e...@news.dial.pipex.com...

> I've updated it again, got it so it ignores blank boxes instead of
treating
> them as pauses.
>
> I think I'll need to extend the allophone samples list, for when there's
> 2 the same together like - 'er1 er1' .
>
> Where as the hardware will speak it as an unbroken sound, with the
software
> you can hear a gap between samples.

Okay, so blank spaces weren't supposed to work like that. (I guess it now
also doesn't pause at all the remaining blank boxes after input :^)

I was using those blank boxes though. As I explained all the pause
instructions cut off the allophones. Thing is, sometimes it sounds better
that way but sometimes you want the allophone to play through completely.

I wonder how the hardware handles that.

> BTW Milan, nice work with the 'game words' (I'll eventually put them all
in
> a drop down list).

Wow, that's great :^) They won't work properly though if spaces don't pause
while letting the allophone play through. So if there's another way to do
that, I'll adapt my words list to that.

> There's some other words here -
>
> http://www.physics.brandeis.edu/phys32b_2002/SP056-Tandy.pdf
>
> (pages 5-10)

Cool, I'll have a look.


Richard Hutchinson

unread,
Aug 1, 2003, 4:17:09 PM8/1/03
to
>Okay, so blank spaces weren't supposed to work like that.

Yes, it works just like the hardware now.

To make allophones sustain more in a word, just add an identical one
to it -

YES - YY2 EH EH SS SS


>They won't work properly though if spaces don't pause

They do - check out some of your words I've put in, they sound great !


Richard H.


Milan Pollé

unread,
Aug 1, 2003, 5:54:40 PM8/1/03
to
> To make allophones sustain more in a word, just add an identical one
> to it -
>
> YES - YY2 EH EH SS SS

> >They won't work properly though if spaces don't pause
>
> They do - check out some of your words I've put in, they sound great !

Wow, it's really coming along great! Love the insert function, it makes
tweaking words so much easier. And a smart move to add a delete button as
well, I didn't think of that.

The double allophones don't seem to work as well though, they just repeat
the sound twice making it sound like an echo. I have found another illegal
way of adding the pause I want LOL just add an illegal allophone.

To hear the effect I'm after replace the double allophone with an illegal
one. For instance, with the word base, notice the difference between 'bb2 ey
ey ss' and 'bb2 ey xx ss'.

I don't know how the hardware does this, does it just play the whole
allophone through when it finds a double one? That would solve the problem.

By the way, at least on my computer the default speed of 50 seems to be too
fast. I made all my example words at a speed of 100 which sounds better.

Rob Mitchell

unread,
Aug 5, 2003, 6:43:58 AM8/5/03
to
>>I'm trying to get hold of an Odyssey 2 'The Voice' chip (SPO256-19)<<

I have one of these! I need to play with it!

Rob Mitchell, Atlanta, GA

Rob Mitchell

unread,
Aug 5, 2003, 7:26:06 AM8/5/03
to
> There's some other words here -
>
> http://www.physics.brandeis.edu/phys32b_2002/SP056-Tandy.pdf
>
> (pages 5-10)
>

The Tandy word list has alot of errors in it .. but it is a good place
to start .. with Manu's list too! I'll look at both lists today for
comparison.

Rob Mitchell, Atlanta, GA
(back from Vacation!)

Manu

unread,
Aug 5, 2003, 7:58:14 AM8/5/03
to
> The Tandy word list has alot of errors in it .. but it is a good place
> to start .. with Manu's list too! I'll look at both lists today for
> comparison.
>
> Rob Mitchell, Atlanta, GA
> (back from Vacation!)


Mmm... my list? :) I doubt it was me..

Manu

Rob Mitchell

unread,
Aug 5, 2003, 10:25:45 AM8/5/03
to
>>Mmm... my list? :) I doubt it was me..<<

Milan! Milan! He's the one with the list!

Rob Mitchell, Atlanta, GA

Milan Pollé

unread,
Aug 5, 2003, 2:39:25 PM8/5/03
to

"Rob Mitchell" <solde...@my-deja.com> schreef in bericht
news:3F2FBE69...@my-deja.com...

> >>Mmm... my list? :) I doubt it was me..<<
>
> Milan! Milan! He's the one with the list!

LOL :^D

Slightly similar names :^)


Reply all
Reply to author
Forward
0 new messages