问题标签 [mozilla-deepspeech]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1031 浏览

deep-learning - 如何在训练和推理过程中有效地使用 Deespeech (v0.5.1) 和语言模型的使用?

我正在尝试使用 Deepspeech v0.5.1 for English 训练和使用模型。我的目标是训练两个模型,一个有语言模型,一个没有语言模型。请在几个方面请求您的帮助。对不起,这很长,但尽量详细;而且,作为 Linux 和数据科学的新手,我可能会说一些非常明显的事情。预先感谢您的帮助。由于 SO 说原始表单是垃圾邮件,因此我发布并回答此问题并提供更多背景信息。问候, 罗希特

B)我的问题:

B1) 当使用语言模型进行训练或推理时,我是否必须指定 lm_binary 参数和相应的 trie 文件?可以只使用 trie 工作吗?

B2)不管在训练模型时是否使用了语言模型(binaryFile和trie一起),以后当模型用于推理时,我可以选择使用或不使用语言模型吗?以后可以使用不同的语言模型还是只使用用于训练的语言模型?选择替代模型时有什么需要注意的吗?例如,使用 3-gram 模型进行训练,但在推理期间使用 4-gram 模型?你还能想到这样的事情吗?

B3) 假设我的模型已经通过对词汇文件、arpa、trie 和 lm_binary 的训练构建而成,这些文件仅由 10k 个数据点构建而成。假设我从比用于训练的语料库更大的语料库创建了一个名为 BigVocabulary.file 的新词汇表。例如,validated.tsv 文件中的全部 629731 个数据点;使用更大的词汇来创建 .arpa、lmBinary 和 trie 文件。我通过比较字母文件来确保有效字符完全相同。那么在使用较小词汇量训练的模型上,我可以在使用命令进行推理时使用 BigVocabulary.binary.file 和 BigVocabulary.trie 吗?

我已经创建了一个只有前 1000 个文件的模型,推理很差但有效。命令:

deepspeech \ --model /home/rohit/dpspTraining/models/v051/model8-validFirst1k-yesLM-4gram/savedModel/output_graph.pb \ --alphabet /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/alphabetDir/字母-Set5First1050.txt \ --lm /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/lm/lm4gram/vocabulary-Set5First1050_4gram.klm \ --trie /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5- 1kTotal/trie/trie4gram/Set5First1050_4gram.trie \ --audio /home/rohit/dpspTraining/data/wavFiles/wav33/test/File28。

控制台输出:

将模型文件转换为映射图以减少堆使用。2019-08-01 16:11:02.155443: I tensorflow/core/platform/cpu_feature_guard.cc:141] 您的 CPU 支持未编译此 TensorFlow 二进制文件以使用的指令:AVX2 FMA 2019-08-01 16:11:02.179690 : E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "CPU"') 用于未知操作:UnwrapDatasetVariant 2019-08-01 16:11:02.179740: E tensorflow/core/ framework/op_kernel.cc:1325] OpKernel ('op: "WrapDatasetVariant" device_type: "GPU" host_memory_arg: "input_handle" host_memory_arg: "output_handle"') 未知操作:WrapDatasetVariant 2019-08-01 16:11:02.179756: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "WrapDatasetVariant" device_type: "CPU"') 用于未知操作:WrapDatasetVariant 2019-08-01 16:11:02.179891: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "GPU" host_memory_arg : "input_handle" host_memory_arg: "output_handle"') 用于未知操作:UnwrapDatasetVariant 在 0.0283 秒内加载模型。从文件 /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/lm/lm4gram/vocabulary-Set5First1050_4gram.klm /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/trie/trie4gram/Set5First1050_4gram 加载语言模型。 trie 在 0.068 秒内加载语言模型。运行推理。a 中的 a 是 3.041 秒音频文件的推理耗时 0.449 秒。E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "GPU" host_memory_arg: "input_handle" host_memory_arg: "output_handle"') for unknown op: UnwrapDatasetVariant 在 0.0283 秒内加载模型。从文件 /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/lm/lm4gram/vocabulary-Set5First1050_4gram.klm /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/trie/trie4gram/Set5First1050_4gram 加载语言模型。 trie 在 0.068 秒内加载语言模型。运行推理。a 中的 a 是 3.041 秒音频文件的推理耗时 0.449 秒。E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "GPU" host_memory_arg: "input_handle" host_memory_arg: "output_handle"') for unknown op: UnwrapDatasetVariant 在 0.0283 秒内加载模型。从文件 /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/lm/lm4gram/vocabulary-Set5First1050_4gram.klm /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/trie/trie4gram/Set5First1050_4gram 加载语言模型。 trie 在 0.068 秒内加载语言模型。运行推理。a 中的 a 是 3.041 秒音频文件的推理耗时 0.449 秒。) 对于未知操作:UnwrapDatasetVariant 在 0.0283 秒内加载模型。从文件 /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/lm/lm4gram/vocabulary-Set5First1050_4gram.klm /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/trie/trie4gram/Set5First1050_4gram 加载语言模型。 trie 在 0.068 秒内加载语言模型。运行推理。a 中的 a 是 3.041 秒音频文件的推理耗时 0.449 秒。) 对于未知操作:UnwrapDatasetVariant 在 0.0283 秒内加载模型。从文件 /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/lm/lm4gram/vocabulary-Set5First1050_4gram.klm /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/trie/trie4gram/Set5First1050_4gram 加载语言模型。 trie 在 0.068 秒内加载语言模型。运行推理。a 中的 a 是 3.041 秒音频文件的推理耗时 0.449 秒。

但是,如果我使用 BigVocabulary.trie 和 lmBinary 文件,则会收到一条错误消息,指出 trie 文件版本不匹配并更新 trie 文件。

但它似乎仍然加载了语言模型。那么 Deepspeech 真的把它捡起来并正确应用了吗?如何修复此错误?

命令:

deepspeech \ --model /home/rohit/dpspTraining/models/v051/model8-validFirst1k-yesLM-4gram/savedModel/output_graph.pb \ --alphabet /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/alphabetDir/字母-Set5First1050.txt \ --lm /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/lm/lm4gram/vocabulary-allValidated_o4gram.klm \ --trie /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/trie/ trie4gram/allValidated_o4gram.trie \ --audio /home/rohit/dpspTraining/data/wavFiles/wav33/test/File28.wav

控制台输出:

(dpsp5v051basic) rohit@DE-W-0246802:~/dpspCODE/v051/DeepSpeech$ deepspeech \

--model /home/rohit/dpspTraining/models/v051/model8-validFirst1k-yesLM-4gram/savedModel/output_graph.pb \ --alphabet /home/rohit/dpspTraining/data/wavFiles/commVoiceSet5-1kTotal/alphabetDir/alphabet- Set5First1050.txt \ --lm /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/lm/lm4gram/vocabulary-allValidated_o4gram.klm \ --trie /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/trie/trie4gram/ allValidated_o4gram.trie \ --audio /home/rohit/dpspTraining/data/wavFiles/wav33/test/File28.wav 从文件/home/rohit/dpspTraining/models/v051/model8-validFirst1k-yesLM-4gram/savedModel/加载模型output_graph.pb TensorFlow:v1.13.1-10-g3e0cc53 DeepSpeech:v0.5.1-0-g4b29b78 警告:将整个模型文件读入内存。将模型文件转换为映射图以减少堆使用。2019-08-01 16:11:58.305524: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "GPU" host_memory_arg: "input_handle" host_memory_arg: "output_handle"') for unknown op: UnwrapDatasetVariant 在 0.0199 秒内加载模型。从文件/home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/lm/lm4gram/vocabulary-allValidated_o4gram.klm /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/trie/trie4gram/allValidated_o4gram.trie 加载语言模型 错误:Trie文件版本不匹配(4 而不是预期的 3)。更新您的 trie 文件。在 0.00368 秒内加载语言模型。运行推理。一个 on o tn o as te tee Inference 为 3.041 秒的音频文件花费了 1.893 秒。从文件/home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/lm/lm4gram/vocabulary-allValidated_o4gram.klm /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/trie/trie4gram/allValidated_o4gram.trie 加载语言模型 错误:Trie文件版本不匹配(4 而不是预期的 3)。更新您的 trie 文件。在 0.00368 秒内加载语言模型。运行推理。一个 on o tn o as te tee Inference 为 3.041 秒的音频文件花费了 1.893 秒。从文件/home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/lm/lm4gram/vocabulary-allValidated_o4gram.klm /home/rohit/dpspTraining/data/wavFiles/testVocabAllValidated/trie/trie4gram/allValidated_o4gram.trie 加载语言模型 错误:Trie文件版本不匹配(4 而不是预期的 3)。更新您的 trie 文件。在 0.00368 秒内加载语言模型。运行推理。一个 on o tn o as te tee Inference 为 3.041 秒的音频文件花费了 1.893 秒。

感谢您的时间。

0 投票
1 回答
998 浏览

speech-to-text - 如何使用 mozilla deepspeech 使用其预训练模型将语音转换为文本?

我想使用 Mozilla deepspeech 将语音转换为文本。但是输出真的很差。

我已经下载了 mozilla 的预训练模型,然后我所做的是:

现在输出与我的音频样本相去甚远。我该怎么做才能提高它的准确性?

0 投票
1 回答
873 浏览

python - 深度语音训练

我尝试使用 Mozilla DeepSpeech 对小数据进行训练。所有要求均已安装。

./bin/run-ldc93s1.sh

但我遇到了这个问题:

有人有什么建议吗?

非常感谢!

0 投票
0 回答
582 浏览

python - 无法使用 Mozilla DeepSpeech 转录 - 非法指令(核心转储)

我尝试根据官方 repo https://github.com/mozilla/DeepSpeech/blob/master/README.rst中显示的指南安装和运行 Mozilla DeepSpeech

但是每当我尝试用

我得到一个Illegal instruction (core dumped)没有任何进一步解释的

有人有什么建议吗?此消息的可能原因是什么?

谢谢!

0 投票
0 回答
276 浏览

flutter - 有没有办法将实时录制的音频片段连续发送到 Flutter.io 中的后端服务器?

我正在创建一个使用 Mozilla 的 Deep Speech API 将用户的语音转录为文本的应用程序。输入需要某种格式的音频文件,为了让这个应用程序工作,我需要在用户录制音频时不断地将这些音频文件发送到我的烧瓶服务器。

我已经看到大多数 Flutter 插件只允许您录制、暂停和停止,但是,我需要找到一种方法来继续录制,同时发送音频文件。如果有人找到了使用 Flutter.io 的录音插件完成此任务的方法,任何指导和信息都会有所帮助。

我的备用计划是使用 Flutter 的 Speech-To-Text 插件之一,例如:https://pub.dev/packages/speech_to_text#-example-tab-,然后通过 websocket 将文本发送到我的后端服务器。但是,我不知道他们使用什么样的 API 进行转录,以及文本转录的准确度如何。

关于如何做到这一点的任何想法?或者有人会碰巧知道像 Swift/React-Native 这样的另一个框架是否可以做到这一点?

0 投票
1 回答
160 浏览

speech-recognition - 在语音识别期间获得替代建议

我想使用离线语音进行文本识别,主要是德语。

特别是,我想使用Mozilla DeepSpeech(百度 DeepSpeech 架构的 TensorFlow 实现),但我担心音频输入的音频质量不足以产生低错误率(WER - 单词错误率)。

(英文)示例:

说话者说“知道”,但引擎可能已经理解“流动”“展示”“开始”“知道”

我想[flow, show, go, know]从引擎中恢复过来,以便之后我可以手动决定哪个建议最适合。我怎样才能得到这个?

其他语音转文本引擎是否提供这种可能性?

0 投票
0 回答
146 浏览

speech-recognition - 转录期间的分段错误 - DeepSpeech 0.4.1/西班牙语

按照西班牙 deepspeech github repo的指示,我在具有 64GB RAM 的 RedHat 7 服务器上使用 deepspeech 0.4.1来转录西班牙语音频。

开始处理后不久,我收到“分段错误”错误。

这是一个示例输出:

在这条线之后出现了可怕的“分段错误

我在 SO 或deepspeech Mozilla 论坛中找不到有关原因或解决方案的任何信息

0 投票
1 回答
635 浏览

python - DeepSpeech 给出了不好的结果

我是 DeepSpeech 的新手,我按照此链接创建语音转文本代码,但我的结果与原始语音相差甚远。我正在使用 Deepspeech 0.6.1 并安装了相关的预训练模型。我正在使用此链接创建带有默认选项的 wav 文件。下面是我的代码。

我怀疑这个问题是因为我的音频格式或其他原因。请帮助我解决这个问题,我怎样才能充分利用 deepspeech 库。

0 投票
0 回答
278 浏览

python - ImportError:DLL 加载失败:动态链接库 (DLL) 初始化例程失败。(导入 deepspeech python 时出错)

我正在尝试在 Windows Server 2016 上使用 deepspeech 的 python 模块运行 deepspeech 的预训练模型,但出现以下错误:

回溯(最近一次通话最后):

_run_module_as_main 中的文件“c:\program files\python36\lib\runpy.py”,第 193 行

主要”,mod_spec)

_run_code 中的文件“c:\program files\python36\lib\runpy.py”,第 85 行

执行(代码,run_globals)

文件“C:\Program Files\Python36\Scripts\deepspeech.exe__main__.py”,第 5 行,在

文件“c:\program files\python36\lib\site-packages\deepspeech__init__.py”,第 23 行,在

从 deepspeech.impl 导入 PrintVersions 作为 printVersions

文件“c:\program files\python36\lib\site-packages\deepspeech\impl.py”,第 13 行,在

从 ._impl 导入 *

ImportError:DLL 加载失败:动态链接库 (DLL) 初始化例程失败。

0 投票
1 回答
771 浏览

python - 无法为 Deepspeech 运行麦克风 VAD 流

我下载了用于测试 DeepSpeech 的模型目录。当我按照此处的说明进行操作时,出现此错误:

有人可以帮我弄清楚那里出了什么问题吗?