Gnuspeech
gnu.org
gnu.org
wget https://ftp.gnu.org/gnu/gnuspeech/gnuspeechsa-0.1.5.tar.gz
tar -zxvf gnuspeechsa-0.1.5.tar.gz
cd gnuspeechsa-0.1.5/
mkdir build
cmake -D CMAKE_BUILD_TYPE=Release ..
make
./gnuspeech_sa -c ../data/en -p /tmp/test_param.txt -o /tmp/test.wav "Hello world." && aplay -q /tmp/test.wav
This uses Gnuspeech_SA, the cross-platform version. No idea how to get it to use a voice other than the default male one. wget -O- https://ftp.gnu.org/gnu/gnuspeech/gnuspeechsa-0.1.5.tar.gz | tar -xz
cd gnuspeechsa-0.1.5
cmake .
cmake --build .
./gnuspeech_sa -c data/en -p /tmp/test_param.txt -o /dev/stdout "Hello world." | aplay
$VISUAL data/en/ttm_control_model.configapparently I need a newer gcc
Festival can produce very good results, but you have to get into the weeds with it and do a lot of planning. If you don't like Scheme, you're not going to like dealing with festival, and if you do like scheme, you're going to be frustrated by their particular scheme.
I've also noticed a lot of folks looking at post filtering, but that is a sea of dragons at the moment.
It will work better on the ZipitZ2 and pentium2 machines.
Enough to listen short stories, but it's not suited to listen a full book from you bed.
With a small bit of work, you can have festival use an HTS voice directly. I usually use festival to generate my label files, post filter the phoneme timing, synthesize with HTS, then apply a post-filter.
Some better free-software offerings would really open this area up for experimentation, since the commercial offerings tend to be pretty black-box and targeted at very specific use-cases.
http://espeak.sourceforge.net/
http://simulationcorner.net/index.php?page=sam
I have to admit, that the quality is not good. But it also works on embedded systems.
Can't confirm how well espeak works, since I didn't try it, but I have tried pyttsx on Windows. (pyttsx is a Python library which uses SAPI5 on Windows and espeak on Linux.)
Worked okay for me. Not tested a lot though. Here's my simple Python snippet for trying pyttsx on Windows:
http://code.activestate.com/recipes/578839-python-text-to-sp...
(A commenter on the above ActiveState recipe said my pyttsx recipe worked fine for him with espeak on Crux Linux.)
and more details on the same here:
http://jugad2.blogspot.in/2014/03/speech-synthesis-in-python...
"The pyttsx library is a cross-platform wrapper that supports the native text-to-speech libraries of Windows and Linux at least, using SAPI5 on Windows and eSpeak on Linux."
Also, check out the synthesized train announcer's voice in my blog post above - somewhat eerie and cool :)
http://jugad2.blogspot.in/2014/03/speech-recognition-with-py...
The best implementations make an advantage in markets so they are well guarded. We do not know about the best implementations, because we did not notice a thing. For example some phone operators have replaced their customer services with TTS / STT solutions. Because people tend to lock up when they realize they are talking with a computer, they have had to make those systems sound very natural.
I know a few are pretty crappy ones, but a few are plain spooky. Customers that tend to joke and flirt with the computer, hoping for an emotional response, probably are most likely to notice them.
Then there's the case where the US intelligence services demonstrated their capabilities to a politician (senator/congressman) by recording him, and producing a voice clip of him saying something like "death to america" so well that no one could distinguish the speaker. It also seemingly passed further voice analysis. Google it up, pretty interesting read.
I got a call two years ago from a telemarketer that kept asking me yes/no questions with a robot voice and didn't leave me any space in the conversation to say anything. I really felt like I was talking to a computer so I tried to Turing-test him by forcing him to answer an open-ended question. It took two minutes, and the caller turned out to be human after all. That wasn't very relieving though. Humans should not speak with such zombified voice.
Why. Not. Let. The. Telemarketer. Have. Some. Fun. At. Their. Crappy. Job.
Also, holy crap! http://pages.cpsc.ucalgary.ca/~hill/extra-synthesis-examples...
say -v ?
Or just run this script to pass hours of time in joy and terror: https://gist.github.com/DelvarWorld/3f700aac8d7972b053f0FTA:
gnuspeech is currently fully available as a
NextSTEP 3.x version in the SVN repository
along with the Gnu/Linux/GNUStep version,
which is incomplete though functional
Wikipedia[1]: 3.0 September 8, 1992
3.1 May 25, 1993
3.2 October 1993
3.3 February 1995
[1] https://en.wikipedia.org/wiki/NeXTSTEP#Release_historyCan the voice synthesis method used on Android sing, scream, or make other sounds that are not speech?
http://www.cstr.ed.ac.uk/projects/festival/morevoices.html
I wonder if we will see any of the deep learning libraries try to do voice recognition, a good open source implementation is lacking, or voice generation.
?
(Also, "voice generation" is called "TTS" or "text to speech")
There are multiple world class open ASR systems using DNNs. Check out Kaldi.
This is the kind of article in which i'd love (and I have almost come to expect!) to find comments that provide so much more breadth and depth of information that the actual link, here on HN; this is one of the things that make this community so great.
There is also research into using this type of physical modeling for singing[1] and laughing[2], so its not far-fetched to imagine a model that can speak, sing, laugh, shout, and perform any of the various vocal articulations humans can make. The main obstacles seem to be figuring out how to control the model over time, how to smoothly transition between control states, and how to capture enough fine details to cross the uncanny valley.
[1] http://www.cs.princeton.edu/~prc/SingingSynth.html
[2] https://ccrma.stanford.edu/groups/mcd/publish/files/2013-nim...
I don't think linking the papers that form the basis of the work, and describing the history in fair detail (including the original development for the NeXT, and the technical change from real-time DSP-based synthesis to realtime CPU based synthesis enabled by CPU speed improvements since the NeXT was current) constitutes "half-way admitting" that the idea has been around for a while. Its pretty outright explicit.