Text-To-Speech open sources also for Sony PSP?
Text-To-Speech open sources also for Sony PSP?
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
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.
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.
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.
thanks Art!Art wrote:If you're into robotics, you probably alreay have a lot of microcontrollers
doing things. Have you looked at
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...
Thanks very much J.K.!J.F. wrote:I think I'll take a look at it.
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.mypspdev wrote:Thanks very much J.K.!J.F. wrote:I think I'll take a look at it.
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
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.
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
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
[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.
> 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.
Yeah. At the moment, I'm trying the ipaq linux cross compile instructions.mypspdev wrote:Wonderful!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. :)
Your ambition is forgiven!
Are you using cmu_us_kal16?
Thanks, I am still turning into a swamp.. of makefile, config, common_rules etc...
I do!Me too, I do not see Speech Recognition on 32Mb RAM only...
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.Art wrote:I do!Me too, I do not see Speech Recognition on 32Mb RAM only...
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.
What do folks use for a microphone on the PSP?
Well, I'm fully using GoCam for both Video and Microphone:J.F. wrote: What do folks use for a microphone on the PSP?
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!
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.
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.
GoCam has a wide lens and a microphone.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.
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
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
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
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
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?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
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/
By the way, flite's new address is: http://www.speech.cs.cmu.edu/flite/