C# - 免费的离线语音识别库 (SDK)

问题描述 投票:0回答:2

C# - 免费语音识别引擎库 (SDK)

System.Speech.Recognition 非常糟糕...我想要另一个 SDK 可以给我很好的结果并在 Visual Studio 上使用 c#...

我希望它离线而不是像谷歌 api 那样在线

谢谢

c# visual-studio speech-recognition speech-to-text speech
2个回答
0
投票

过去,我使用 pocketsphinx 或 Sphinx(如果您有更多可用资源)获得了很好的结果。在这里检查: https://cmusphinx.github.io/


0
投票

当您选择实施语音识别系统时,即使您是从头开始构建它,您也必须考虑以下几个方面:

如果语音识别引擎离线,这意味着计算负载必须由您的本地机器支持。这样做的好处是,您可以使整个系统从整体上独立于运行机器和操作系统之外的任何基础设施。这种方法的缺点是,如果语言模型很大,您的 RAM 内存、GPU 和/或 CPU 将被请求。

如果语音识别引擎离线,计算负载将由促进语音识别系统基础设施的主机支持。这具有将 RAM、CPU 和/或 GPU 负载保持在最低限度的优势,并且还允许高端和低端设备与语音识别引擎和/或实现它的应用程序进行交互。缺点是实现语音识别引擎的系统依赖于托管语音识别引擎的远程机器上的基础设施,因此这些服务器的任何停机都会导致语音识别引擎在所有设备上的实现无法运行。

从你的问题中我可以看出你对

System.Speech.Recognition
库的性能不满意,你说你想要离线的东西。可用的具有高精度的离线语音识别引擎会消耗大量资源,因为它们具有大型语言模型以提供这种准确性。在 C# 中,您有几个离线语音识别引擎:
Vosk
Whispercpp
Whisper
c++
中的实现)。另一种选择是使用 Python 中的官方 Whisper 实现,在 Python 脚本中运行它,并使脚本与 C# 应用程序通信。这些都是高质量的离线语音识别引擎,准确度会随着所用模型的大小而增加。但正如我之前所说,更高的准确度需要更大的计算能力,为了让这些“不烂”,您需要高性能硬件才能轻松运行更大的模型。

[ Vosk ]

项目的 GitHub 页面:https://github.com/alphacep/vosk-api

语音识别引擎模型:https://alphacephei.com/vosk/models



[耳语.cpp]

项目的 GitHub 页面:https://github.com/ggerganov/whisper.cpp

Whisper.cpp C# Api GitHub 页面:https://github.com/Const-me/Whisper



[耳语]

项目的GitHub页面:https://github.com/openai/whisper



[结论]


我的建议是您的实施使用在线语音识别引擎。如果应用程序仅在 Windows 上运行,请检查:https://stackoverflow.com/a/70041524/16587692。要实现这一点,请查看我的应用程序:https://sourceforge.net/projects/eva-ai/。对于我的应用程序的源代码,请查看:https://github.com/CSharpTeoMan911/Eva.


如果应用程序必须在多个平台上运行,请检查:

[耳语API]

Whiper在线语音识别引擎:https://platform.openai.com/docs/api-reference/introduction



[ Google Speech-To-Text API ]

https://codelabs.developers.google.com/codelabs/cloud-speech-text-csharp#0

© www.soinside.com 2019 - 2024. All rights reserved.