11

I'm planning on writing a program for Linux that uses text to speech and speech recognition. What are the best tools/libraries for this? Should I use Windows instead to be able to use better tools? The tools need to be easily callable from a console or C program.

Cory Walker
  • 4,809
  • 4
  • 28
  • 32

12 Answers12

6

For speech recognition there are the various Sphinxes. The different variants have different pros and cons, there is a comparison here Comparison of Sphinx versions. Sphinx 4 is Java, but the others are C, I believe.

Matt G
  • 2,373
  • 1
  • 14
  • 12
5

It depends quite a bit on what speech you are trying to recognize.

This is an article from 2005 that explains some of the difficulties in creating a dictation program: http://www.cs.cmu.edu/~archan/personal/whyNoOpenSourceDictationDraft4.html . If you want that, the Julius speech recognition engine seems promising, but you will need to add your own acoustic and language models. You might be able to use the voxforge acoustic model.

If you are not trying to write a dictation program then you have a much easier task. Command programs have limited vocabularies, for example 'If you would like to continue in English, say "English"'.

I was able to get pretty good results using pocketsphinx and gstreamer to make a program that automatically edits most occurrences of the word "twitter" out of the TWiT podcast. It didn't work at all until I used my own language model based on transcripts of the podcast; the machine transcriptions from the speech recognizer are useless/hilarious but they do an okay job of finding the keyword.

joeforker
  • 40,459
  • 37
  • 151
  • 246
4

For speech recognition there exists very little for linux. I were only aware of one apparently decent option, something IBM released some years ago but later was no longer made available (anyone knows if this ViaVoice SDK is still possible to get hold of from anywhere?). There are some more information about possible options at wikipedia.

hlovdal
  • 26,565
  • 10
  • 94
  • 165
  • 1
    ViaVoice SDK. It was never in full release, and the docs demanded a fairly narrow range on 2.4 kernel release numbers. I toyed around with it for taking some typing load off when I had intermittent tedonitis in my wrists, but no luck... – dmckee --- ex-moderator kitten May 18 '09 at 14:53
3

I have used both Loquendo and Festival under linux. I would consider the festival voices I have used pretty poor, with very robotic synthesis. The Loquendo voices, on the other hand, are excellent - very high quality.

mysomic
  • 1,546
  • 3
  • 21
  • 34
  • If you are going to use Festival, you should install the alternate voices. Instructions (for debian/ubuntu) are here: http://ubuntuforums.org/showthread.php?t=677277 – Matt G May 18 '09 at 13:57
  • How was your experience with Loquendo? If you're up for it, I'd love to ask you a couple questions about it by email? – philfreo Jul 17 '10 at 07:54
0

For Debian/Ubuntu text-to-speech there is also SVOX Pico:

sudo apt-get install libttspico-utils
Ikem Krueger
  • 186
  • 1
  • 1
  • 12
-1

at&t fsm toolkit is also pretty awesome - no commercial use allowed though,

http://www.research.att.com/~fsmtools/fsm/

si28719e
  • 2,135
  • 5
  • 20
  • 22
-1

Did you checked the HMM-based speech synthesis for text-to-speech. You can find the free demo on the website http://hts.sp.nitech.ac.jp/. Installation will be little tedious.

se7en
  • 1
-1

This is a bit old but I saw that a fairly comprehensive guide on speech recognition on Hackaday a few days ago: http://hackaday.com/2010/07/09/get-started-with-speech-recognition/

Cory Walker
  • 4,809
  • 4
  • 28
  • 32
-1

http://simon-listens.org/ - simon open-source speech / voice recognition program

Grzegorz Wierzowiecki
  • 10,545
  • 9
  • 50
  • 88
-1

And then there is mbrola for text to speech.

user562374
  • 3,817
  • 1
  • 22
  • 19
-1

I know espeak is a very good text-to-speech program for linux (it can even do different accents!), but I don't know of any speech recognition systems designed for UNIX.

Rob Golding
  • 3,502
  • 5
  • 26
  • 28
-2

The original question was about finding suitable libraries, I know, but from as far as using speech recognition good enough for real dictation, there seems to be nothing out there for Linux (though I am sure it will change in time, I suspect it will take a while,as I am not sure that many people are interested).

At the moment I am trying to promote Dragon NaturallySpeaking as a supported product by CodeWeavers ... so if you are interested as a user it would help if you would cast a vote ...

http://www.codeweavers.com/compatibility/browse/name/?app_id=8427

David
  • 1