Text-To-Speech open sources also for Sony PSP?

Discuss the development of new homebrew software, tools and libraries.

Moderators: cheriff, TyRaNiD

mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Text-To-Speech open sources also for Sony PSP?

Post by mypspdev »

Let me put into evidence a portable Text-To-Speech source environment already ported to Palm and Linux and Windows CE.
On the chart nothing is forbidding porting to Sony PSP.
Here is the project, with docs and sources

RE-EDIT:
http://fife.speech.cs.cmu.edu/flite/index.html
(previous address wrong, sorry)

I've many ideas in robotics but more on hardware expert than on coding, so I'd like to join someone expert for setting up and run this Text to Speech on Sony PSP .

Thanks for attention, interest and of course co-operation.

My best
Last edited by mypspdev on Tue Jul 24, 2007 6:49 pm, edited 1 time in total.
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

Hi.
The link doesn't appear to work.
Doe it still work for you?
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

I'm sorry, new correct URL show in original post.
User avatar
dot_blank
Posts: 498
Joined: Wed Sep 28, 2005 8:47 am
Location: Brasil

Post by dot_blank »

i have only this to say ...
Flite is designed as an alternative synthesis engine to Festival for voices built using the FestVox suite of voice building tools.
10011011 00101010 11010111 10001001 10111010
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

If you're into robotics, you probably alreay have a lot of microcontrollers
doing things. Have you looked at the SPO-256? Out of production, but still out there (can provide links).
There is also the Speakjet if you have some money to spend on it.

Both of these devices could be controlled serialy by the PSP, if the PSP
must be involved.
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Art wrote:If you're into robotics, you probably alreay have a lot of microcontrollers
doing things. Have you looked at
thanks Art!
of course I've set up and run some of them ...

My challenge, now, is compiling with "pspdev" the Flite sorce code and run it as eboot on the psp.
I saw on the web some editions for PocketPC 2003, Palm, Linux ....
why not trying with PSP.

What is currently a big trouble for me is to set up the compiler's instructions and full environment.

Could anyone help me or join me around this matter?
May ba a long term step by step attemt should be the approach...
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

I think I'll take a look at it. There are lots of uses a text-to-speech library could be put to. A handy one would be a file reader for people who can't be stuck looking at the PSP for hours at a time - like having it speak a novel while you're driving. Books on tape the cheap way. :)
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

J.F. wrote:I think I'll take a look at it.
Thanks very much J.K.!

I'm developing for PSP under "pspdev" and Nanodesktop 0.3, both derived from cygwin and psptoolchain already compiled.
At present I've not yet been able to set up and work directly with CygWin and its PSPToolChain: problems with compilation.

So using cygwin for x386, I've been able to compile libraries and exe and flite "Hello World" is working well under windows.
As from instructions I used:
tar zxvf flite-1.3-release.tar.gz
cd flite-1.3-release
./configure
make

Of course, the next step now is to compile it for PSP and obtain libraries .a for new applications and flite.exe as a eboot.pbp.

flite.exe for x86 doesn't work under PSP-DosBox, of course: it needs windows (bleah!).

Some applications could be prepared under PSP as eboots or prxs/plugins:
- welcome messages at switch on and off or during actions....
- Hardware status: Battery charge, CPU speed, wlan switch, sniffer...
- some games...
- spelling music or video titles before playing them
- reading texts/ebooks
- .......

Of course Flite is allowing to change voice (better female....) and language: a little long and difficult but on the web something is ready to be used.

Further step could be add also Speech Recognition: some very small libraries could work on portable devices.

If you like I could send to you the x86 (bleah!) compiled libraries and exe to test as Flite is working.

Thanks, hope we will be succesfull with PSP-Text-To-Speech.

My best,
c
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

mypspdev wrote:
J.F. wrote:I think I'll take a look at it.
Thanks very much J.K.!

I'm developing for PSP under "pspdev" and Nanodesktop 0.3, both derived from cygwin and psptoolchain already compiled.
At present I've not yet been able to set up and work directly with CygWin and its PSPToolChain: problems with compilation.

So using cygwin for x386, I've been able to compile libraries and exe and flite "Hello World" is working well under windows.
As from instructions I used:
tar zxvf flite-1.3-release.tar.gz
cd flite-1.3-release
./configure
make

Of course, the next step now is to compile it for PSP and obtain libraries .a for new applications and flite.exe as a eboot.pbp.

flite.exe for x86 doesn't work under PSP-DosBox, of course: it needs windows (bleah!).

Some applications could be prepared under PSP as eboots or prxs/plugins:
- welcome messages at switch on and off or during actions....
- Hardware status: Battery charge, CPU speed, wlan switch, sniffer...
- some games...
- spelling music or video titles before playing them
- reading texts/ebooks
- .......

Of course Flite is allowing to change voice (better female....) and language: a little long and difficult but on the web something is ready to be used.

Further step could be add also Speech Recognition: some very small libraries could work on portable devices.

If you like I could send to you the x86 (bleah!) compiled libraries and exe to test as Flite is working.

Thanks, hope we will be succesfull with PSP-Text-To-Speech.

My best,
c
Some folks just seem to have trouble using CygWin to compile the toolchain. That's why quite a few folks (like myself) use linux. I've used Fedora 6 and 7, and Ubuntu 6.10 and 7.04 for PSP developing. These have no trouble compiling the toolchain, as long as you have all the dependencies installed.

I don't see speech recognition on the PSP. I think that takes a bit more resources than the PSP has. But speech generation shouldn't be an issue. They had text-to-speech on the old 8 bit Atari (SAM). After that, the Amiga had speech generation as a standard device in the OS.

I've gotten the 1.3 release source. I'll try compiling it in linux to start, then look for where to make changes for the PSP.
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Thanks J.K.!
Me too, I do not see Speech Recognition on 32Mb RAM only...
But I know some works on portable done even if without floating point coprocessor.
PSP may be is not able (slim one?).
I have prepared 3 cygwin directories on my hard drive root and renaming them according to usage, I could compile C programs.
- one is for native Windows-Intel686 .exe
- one is for psp: I found on the web a full-in-one 155Mb cgwin ready to work for PSP with last psptoolchain: I avoided loosing time with ./toolchain.sh...
- one set up for working with NanoDesktop: may be you know it (0.3 version, with vision recognition OpenCV embedded)

I am not yet so expert to change makefile and others for FLITE to be compiled under cygwin/psp : I was able to produce exe for Windows-Intel686: it works, not high quality like SAPI but it works fine: wav or speech are produced.

I hope you could be successfull compiling Flite for PSP and teach all of us how-to-do.

Thanks again!
c
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Any progress?
I'm still in trouble adapting compilation, before working on output fileio or .wav player srcs.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

mypspdev wrote:Any progress?
I'm still in trouble adapting compilation, before working on output fileio or .wav player srcs.
I'm a little more ambitious - I'm working on the au_psp.c audio driver so I can (hopefully) hear something once I get it working. :)
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

J.F. wrote:I'm a little more ambitious - I'm working on the au_psp.c audio driver so I can (hopefully) hear something once I get it working. :)
Wonderful!
Your ambition is forgiven!
Are you using cmu_us_kal16?

Thanks, I am still turning into a swamp.. of makefile, config, common_rules etc...
PspPet
Posts: 210
Joined: Wed Mar 30, 2005 2:13 am
Contact:

Post by PspPet »

[commentary]
> A handy one would be a file reader for people who can't be stuck looking at the PSP for hours at a time - like having it speak a novel while you're driving. Books on tape the cheap way. :)
IMHO the TTS audio quality of 'flite' and other similar PDA text-to-speech is rather poor. The main use of TTS on a PDA is for dynamic changing data, or for systems with small memory storage.
Listening to an on-the-fly 'flite' TTS playback of a long book may get irritating. The PSP is already a great media player.

For TTS books-on-tape, I recommend running it through a PC based TTS package (many available, some with GigaBytes of voice fonts for greatly improved voice quality). Then take the results, save as .MP3 and copy to your PSP (works with homebrew or non-homebrew PSPs too)
At a moderate bit rate .MP3, your memory stick can hold a long book. The PSP is already a great media player. For media creation, horsepower-wise, a PC wins hands down.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

mypspdev wrote:
J.F. wrote:I'm a little more ambitious - I'm working on the au_psp.c audio driver so I can (hopefully) hear something once I get it working. :)
Wonderful!
Your ambition is forgiven!
Are you using cmu_us_kal16?

Thanks, I am still turning into a swamp.. of makefile, config, common_rules etc...
Yeah. At the moment, I'm trying the ipaq linux cross compile instructions.
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

Me too, I do not see Speech Recognition on 32Mb RAM only...
I do!

All the speech recognition routine need do is recognise spoken numbers
and a few extra words used to speak numbers.
"teen","and","eleven","twelve","Hundred","thirty", "forty", etc.
The lower the quality of the comparison samples the better for both
RAM consumption, and the recognition routine accuracy.
When scanning samples to comapre, a tolerance is allowed for a match.
The user then issues an infinite number of commands to the program
speaking numbers, and never any real words.

Many PSP programs could make use of speech recognition that only
works with digits 0-9. How many commands do most programs use?
Art.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Art wrote:
Me too, I do not see Speech Recognition on 32Mb RAM only...
I do!

All the speech recognition routine need do is recognise spoken numbers
and a few extra words used to speak numbers.
"teen","and","eleven","twelve","Hundred","thirty", "forty", etc.
The lower the quality of the comparison samples the better for both
RAM consumption, and the recognition routine accuracy.
When scanning samples to comapre, a tolerance is allowed for a match.
The user then issues an infinite number of commands to the program
speaking numbers, and never any real words.

Many PSP programs could make use of speech recognition that only
works with digits 0-9. How many commands do most programs use?
Art.
Well, I have an old article on speech recognition via simple neural nets and Walsh-Hadamard transforms that could probably be converted over to the PSP. It's speaker specific - you have to train the net for the ONE person who uses it, but that's probably good enough for the PSP.

What do folks use for a microphone on the PSP?
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

J.F. wrote: What do folks use for a microphone on the PSP?
Well, I'm fully using GoCam for both Video and Microphone:
with Nanodesktop (I hope you now this wonderful development) and Intel OpenCV libraries ported to PSP I'd like to use video recognition of "faces" or objects or tracking with Text-To-Speech messages:
"I see you"
"Someone is there in front of me"
"I know this object..."
"I recognize squares, triangle..."
"Here is the red ball..."

Speech recognition is mainly to send commands to the PSP.

I used all these for a pc-based moving robot and now I'd like to port some parts to PSP.

I'm suggesting to use GoCam as a microphone, too.
Thanks, still attempting to adapt a PSP-Flite.
My best to all!
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

do we have a library for the usb camera microphone?
I didn't know there was a mic in it.
I didn't know we could access it.

The problem with the Socom compatible DIY jobs is that no micrphone
works anywhere near as good as the genuine Sony one.
I don't know why, although I have stripped one right down to the
microphone stalk, and there's still the same two wire leaving that.
Not prepared to wreck it completely since over here in Aus we have to buy
Socom to get it.
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Art wrote:do we have a library for the usb camera microphone?
I didn't know there was a mic in it.
I didn't know we could access it.
GoCam has a wide lens and a microphone.
In the post ChottoCam (japan name of the same device) there is the source code for both Video and Audio input via USB .
Thanks to kurunin and others.

bye
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

I'll have to keep an eye out for a chance to pick up the camera then.
Art
Posts: 642
Joined: Wed Nov 09, 2005 8:01 am

Post by Art »

Yeah, that's great news, only not in my country yet.. might try eBay, thanks!
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

that is why it's time to put our hands on the Skype APIs to develope a PSP VoIP, finally videoconferencing......
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Good day to all!
I'm just back from August holidays, and soon I'll restart working (or joking?) with PSP SDK.
I'd like to have, if any, news of Flite porting to PSP....
Thanks a lot to all replies
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Been busy... haven't had much time to work on it. Maybe this weekend I can make some time.
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Hi J.F.!:

I've been able to compile with psp-gcc all .c sources and libraries *.a have been created from /lang/ directories.
Now I'm working on /src/ sources. Again all objects has been succesfully compiled, but /src/audio/au_psp.c that must be modified from original (palmos?) and /src/utils/cst_file_psp.c that must be modified (from wince?), according with /include/cst_audio.h and /include/cst_file.h.

Flite Audio -> PSP Audio
Using pspaudiolib.c something could be related, up to my analysis:
audio_open_psp -> pspAudioInit
audio_close_psp -> pspAudioEnd
audio_write_psp -> pspAudioOutBlocking

with all added set-up of variables used by Flite.
One structure is appearing to be well understood: in Flite /include/cst_audio.h the structure ad is defined, with ad->sts value that has to be initialized.

Whenever you will have time to analyse in deep the audio and IO part of Flite->PSP we could share and update results.

Bye Bye
mypspdev
Posts: 178
Joined: Wed Jul 11, 2007 10:30 pm

Post by mypspdev »

Audio Porting of Flite to PSP (au_psp.c):

at the end we are going to port audio open/close/write without using audiolib:

OPEN:
int channel = sceAudioChReserve(PSP_AUDIO_NEXT_CHANNEL, PSP_AUDIO_SAMPLE_ALIGN(sampleBufferSize), PSP_AUDIO_FORMAT_STEREO);

CLOSE:
sceAudioChRelease(channel);

WRITE:
sceAudioOutputPanned(channel,PSP_AUDIO_VOLUME_MAX, PSP_AUDIO_VOLUME_MAX, sampleBuffer);

The rest is to initialize the structures and variables used by Flite in au_psp.c (as copied from others).

J.F.: we could work on it.

Thanks, next good news, hope
liberty
Posts: 33
Joined: Wed Sep 16, 2009 11:30 am

Post by liberty »

mypspdev wrote:Audio Porting of Flite to PSP (au_psp.c):

at the end we are going to port audio open/close/write without using audiolib:

OPEN:
int channel = sceAudioChReserve(PSP_AUDIO_NEXT_CHANNEL, PSP_AUDIO_SAMPLE_ALIGN(sampleBufferSize), PSP_AUDIO_FORMAT_STEREO);

CLOSE:
sceAudioChRelease(channel);

WRITE:
sceAudioOutputPanned(channel,PSP_AUDIO_VOLUME_MAX, PSP_AUDIO_VOLUME_MAX, sampleBuffer);

The rest is to initialize the structures and variables used by Flite in au_psp.c (as copied from others).

J.F.: we could work on it.

Thanks, next good news, hope
Why this is discontinued?
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

Frankly, I got busy on other things and forgot all about it. :D

By the way, flite's new address is: http://www.speech.cs.cmu.edu/flite/
coolkehon
Posts: 355
Joined: Mon Oct 20, 2008 5:44 am

Post by coolkehon »

so are you going to do it?
Post Reply