6

I am interested in speech recognition software for Windows, that takes an audio file of a podcast, say, in one of the standard formats (MP3, WAV, OGG, etc.), and outputs a transcription of the speech as a text file. The motivation is to help in transcribing podcasts for an official wiki.

I would like it to be able to teach it, to improve the speech recognition, or learn new words. Also, it should be able to cope with multiple people talking, occasional overlapping speech, and occasional music, or non-speech sounds.

I only need the software to work with English.

2

3 Answers 3

2

Dragon NaturallySpeaking (not free):

  • can do voice transcription, but only on a single voice (i.e. not designed for use with multiple speakers) and this voice has to be yours as you need to train Dragon beforehand.
  • recognizes .wav, .wma, .dss, ds2 and .mp3 files for the PC version (.wav, .m4a, .m4v, .mp4, .aif, and .aiff audio file formats for the Mac version)
  • can be taught new words and be trained to improve the accuracy.
0
1

If you are looking for the open source software and ready to do some coding, check CMUSphinx. On Windows you can run Java version.

http://cmusphinx.sourceforge.net/wiki/tutorialsphinx4

You need to convert mp3 to wav files before you pass them to recognizer. You can do it with Java tritonus or with ffmpeg.

You can adapt it heavily to your domain and speakers and get good recognition accuracy from it.

1
0

OpenAI's Whisper (off-line, MIT license, Python 3.9, CLI, works on Windows and Linux) yields some highly accurate transcription.

To use it, put ffmpeg in your PATH, then:

conda create -y --name whisperpy39 python==3.9
conda activate whisperpy39
pip install git+https://github.com/openai/whisper.git 
whisper recording.wav
whisper recording.wav --model large

If using an Nvidia 3090 GPU, add the following after conda activate whisperpy39

pip install -f https://download.pytorch.org/whl/torch_stable.html
conda install pytorch==1.10.1 torchvision torchaudio cudatoolkit=11.0 -c pytorch

Performance info below.

Model inference time:

Size Parameters English-only model Multilingual model Required VRAM Relative speed
tiny 39 M tiny.en tiny ~1 GB ~32x
base 74 M base.en base ~1 GB ~16x
small 244 M small.en small ~2 GB ~6x
medium 769 M medium.en medium ~5 GB ~2x
large 1550 M N/A large ~10 GB 1x

WER on several corpus from https://cdn.openai.com/papers/whisper.pdf:

enter image description here

WER on several languages from https://github.com/openai/whisper/blob/main/language-breakdown.svg:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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