当前位置: 首页>>技术教程>>正文


Speech-recognition 应用程序将 MP3 转换为文本?

,

问题描述

有人知道可以将音频转换为文本的应用程序吗?我正在运行 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.gzen-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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12161.html,未经允许,请勿转载。