30

Does any one know of an application that can convert audio to text? I'm running ubuntu 12.04 LTS.

  • I assume it is spoken text. Which language is that text in? – Martin Ueding Jul 9 '12 at 11:33
  • The speech text is in simple english. – Kopano Jul 9 '12 at 14:33
23

The software you can use is Vosk-api, a modern speech recognition toolkit based on neural networks. It supports 7+ languages and works on variety of platforms including RPi and mobile.

First you convert the file to the required format and then you recognize it:

ffmpeg -i file.mp3 -ar 16000 -ac 1 file.wav

Then install vosk-api with pip:

pip3 install vosk

Then use these steps:

git clone https://github.com/alphacep/vosk-api
cd vosk-api/python/example
wget https://github.com/alphacep/kaldi-android-demo/releases/download/2020-01/alphacep-model-android-en-us-0.3.tar.gz
tar xf alphacep-model-android-en-us-0.3.tar.gz 
mv alphacep-model-android-en-us-0.3 model-en
python3 ./test_simple.py file.wav > file.json

Result will be stored in json format.

| improve this answer | |
  • also, as an addition to this answer, there's a cool demo of both speech recognition and voice command tools here: youtube.com/… – Daithí Jan 8 '15 at 10:22
  • How do you add an acoustic model to the system? – jarno Feb 8 '15 at 13:38
  • You just download it and unpack, there is no such thing as "add to the system" – Nikolay Shmyrev Feb 8 '15 at 13:56
  • @NikolayShmyrev Where should I unpack it so that pocketsphinx_continuous finds it? – jarno Feb 8 '15 at 14:14
  • 4
    Well, I installed packages pocketsphinx-utils, pocketsphinx-hmm-en-hub4wsj and pocketsphinx-lm-en-hub4 in universe repository of Ubuntu 14.04. Then pocketsphinx_continuous -infile file.wav -hmm en_US/hub4wsj_sc_8k -lm en_US/hub4.5000.DMP 2> pocketsphinx.log worked. Maybe they are not optimal packages, but they were best matches I could find in the repositories. – jarno Feb 8 '15 at 15:05
13

I know this is old, but to expand on Nikolay's answer and hopefully save someone some time in the future, in order to get an up-to-date version of pocketsphinx working you need to compile it from the github or sourceforge repository (not sure which is kept more up to date). Note the -j8 means run 8 separate jobs in parallel if possible; if you have more CPU cores you can increase the number.

git clone https://github.com/cmusphinx/sphinxbase.git
cd sphinxbase
./autogen.sh
./configure
make -j8
make -j8 check
sudo make install
cd ..
git clone https://github.com/cmusphinx/pocketsphinx.git
cd pocketsphinx
./autogen.sh
./configure
make -j8
make -j8 check
sudo make install
cd ..

Then, from: https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English/ download the newest versions of cmusphinx-en-us-....tar.gz and en-70k-....lm.gz

tar -xzf cmusphinx-en-us-....tar.gz
gunzip en-70k-....lm.gz

Then you can finally proceed with the steps from Nikolay's answer:

ffmpeg -i book.mp3 -ar 16000 -ac 1 book.wav
pocketsphinx_continuous -infile book.wav \
    -hmm cmusphinx-en-us-8khz-5.2 -lm en-70k-0.2.lm \
    2>pocketsphinx.log >book.txt

Sphinx works alright. I wouldn't rely on it to make a readable version of the text, but it's good enough that you can search it if you're looking for a particular quote. That works especially well if you use a search algorithm like Xapian (http://www.lesbonscomptes.com/recoll/) which accepts wildcards and doesn't require exact search expressions.

Hope this helps.

| improve this answer | |
  • 4
    every thing works like a charm but in my case i had to run following command to fix pocketsphinx_continuous: error while loading shared libraries: libpocketsphinx.so.3: cannot open shared object file: No such file or directory -------> export LD_LIBRARY_PATH=/usr/local/lib -------> export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig – Vijay Dohare Sep 19 '17 at 11:30
  • This is also recommended at cmusphinx.github.io/wiki/tutorialpocketsphinx/… – andrybak Sep 19 '19 at 21:58
11

I you are looking to convert speech to text you could try opening up your Ubuntu Software Center and search for Julius

Description

"Julius" is a high-performance, two-pass large vocabulary continuous speech recognition (LVCSR) decoder software for speech-related researchers and developers.

Or another option that isn't in the Software Center is Simon

... is an open-source speech recognition program and replaces the mouse and keyboard.

Reference Links

http://julius.sourceforge.jp/en_index.php

http://sourceforge.net/projects/speech2text/

http://simon-listens.org/index.php?id=122&L=1

| improve this answer | |
  • 1
    Could you add to this answer an example of how to run Julius? It is phenomenally unclear from the documentation. – Radon Rosborough Mar 7 at 0:17
0

You can use Mozilla DeepSpeech is an opensource speech-to-text tool. But you will need to train the application or download Mozilla's pre-trained model. For my project, the accuracy was still not sufficient, as audio files were not good quality, and used Transcribear instead, a web based editor with speech-to-text capabilities, but you will need to be connected online to upload recordings to the Transcribear server.

| improve this answer | |
  • I am considering transcribing about 70 hours by one speaker (accented, clear non-native en). Can DeepSpeech be trained using the existing mp3 files. – LenB Apr 26 at 19:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.