问题描述
有人知道可以将音频转换为文本的应用程序吗?我正在运行 ubuntu 12.04 LTS。
最佳思路
您可以使用的软件是 Vosk-api ,这是一种基于神经网络的现代语音识别工具包。它支持 7 种以上的语言,适用于包括 RPi 和移动在内的各种平台。
首先将文件转换为所需的格式,然后识别它:
ffmpeg -i file.mp3 -ar 16000 -ac 1 file.wav
然后使用 pip 安装 vosk-api:
pip3 install vosk
然后使用以下步骤:
git clone https://github.com/alphacep/vosk-api
cd vosk-api/python/example
wget https://alphacephei.com/kaldi/models/vosk-model-small-en-us-0.3.zip
unzip vosk-model-small-en-us-0.3.zip
mv vosk-model-small-en-us-0.3 model
python3 ./test_simple.py test.wav > result.json
结果将以json格式存储。
同一目录还包含一个 srt 字幕输出示例,它更容易评估,并且可以直接对某些用户有用:
python3 -m pip install srt
python3 ./test_srt.py test.wav
存储库中给出的示例以完美的美式英语口音和完美的音质表示,我将其转录为三个句子:
one zero zero zero one
nine oh two one oh
zero one eight zero three
“九哦二一哦”说的很快,但还是清晰的。前一个 “zero” 的 “z” 听起来有点像 “s”。
上面生成的 SRT 内容如下:
1
00:00:00,870 --> 00:00:02,610
what zero zero zero one
2
00:00:03,930 --> 00:00:04,950
no no to uno
3
00:00:06,240 --> 00:00:08,010
cyril one eight zero three
所以我们可以看到犯了几个错误,大概部分是因为我们理解所有单词都是数字来帮助我们。
接下来,我还尝试了 vosk-model-en-us-aspire-0.2
,它是 1.4GB 的下载量,而 vosk-model-small-en-us-0.3
的下载量为 36MB,并在 https://alphacephei.com/vosk/models 中列出:
mv model model.vosk-model-small-en-us-0.3
wget https://alphacephei.com/vosk/models/vosk-model-en-us-aspire-0.2.zip
unzip vosk-model-en-us-aspire-0.2.zip
mv vosk-model-en-us-aspire-0.2 model
结果是:
1
00:00:00,840 --> 00:00:02,610
one zero zero zero one
2
00:00:04,026 --> 00:00:04,980
i know what you window
3
00:00:06,270 --> 00:00:07,980
serial one eight zero three
又说对了一个词。
在 vosk-api 7af3e9a334fbb9557f2a41b97ba77b9745e120b3 上测试。
次佳思路
我知道这是旧的,但是为了扩展 Nikolay 的答案并希望在未来节省一些时间,为了让 Pocksphinx 的 up-to-date 版本正常工作,您需要从 github 或 sourceforge 存储库编译它(不确定哪个保留更多最新)。注意 -j8 意味着如果可能的话并行运行 8 个单独的作业;如果您有更多 CPU 内核,则可以增加数量。
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 ..
然后,从:https://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English/ 下载最新版本的 cmusphinx-en-us-....tar.gz
和 en-70k-....lm.gz
tar -xzf cmusphinx-en-us-....tar.gz
gunzip en-70k-....lm.gz
然后你终于可以继续 Nikolay 的回答中的步骤:
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
狮身人面像工作正常。我不会依赖它来制作文本的可读版本,但是如果您正在寻找特定的引用,它已经足够了,您可以搜索它。如果您使用 Xapian ( http://www.lesbonscomptes.com/recoll/ ) 之类的搜索算法,它接受通配符并且不需要精确的搜索表达式,则效果特别好。
希望这可以帮助。
第三种思路
如果您希望将语音转换为文本,您可以尝试打开 Ubuntu 软件中心并搜索 Julius
描述
“Julius” is a high-performance, two-pass large vocabulary continuous speech recognition (LVCSR) decoder software for speech-related researchers and developers.
或者不在软件中心的另一个选项是 Simon
… is an open-source speech recognition program and replaces the mouse and keyboard.
参考链接
http://julius.sourceforge.jp/en_index.php
http://sourceforge.net/projects/speech2text/
http://simon-listens.org/index.php?id=122&L=1