#gstreamer #speech #plugin #toolkit #vosk #text #buffer

gst-plugin-vosk

使用Vosk Toolkit进行语音转文的GStreamer插件

1 个不稳定版本

0.1.0 2022年4月1日

#48 in #speech

MPL-2.0 许可证

46KB
959 代码行数

Vosk语音识别GStreamer插件

使用Vosk Toolkit进行语音转录。可用于生成电影、直播、讲座和访谈的字幕。

Vosk是一个离线开源语音识别工具包。它支持20多种语言和方言 - 英语、印度英语、德语、法语、西班牙语、葡萄牙语、中文、俄语、土耳其语、越南语、意大利语、荷兰语、加泰罗尼亚语、阿拉伯语、希腊语、波斯语、菲律宾语、乌克兰语、哈萨克语、瑞典语、日语、世界语、印地语。更多即将到来。

https://github.com/alphacep/vosk-api

此GStreamer插件受到了@MathieuDuponchelleAwsTranscriber元素启发。

构建

编译此项目将生成一个共享库,该库可以被您的本地GStreamer安装使用。

cargo build --release

编译好的共享库 ./target/release/libgstvosk.dylib 必须设置为GStreamer可加载。一种可能的解决方案是在每次运行 gst-launch-1.0 命令行工具时使用 --gst-plugin-path= 参数指向库文件的位置。

示例用法

此插件通过WebSocket协议连接到Vosk服务器。运行Vosk服务器最简单的方法是使用Docker。您可以使用以下命令在本地运行服务器:

docker run --rm --name vosk-server -d -p 2700:2700 alphacep/kaldi-en:latest

将识别服务器作为独立进程运行的好处是,您不需要安装任何特殊软件。此外,语音识别的工作负载将不会影响您的GStreamer管道进程。

此示例将仅输出Vosk转录器发布的原始文本缓冲区。

gst-launch-1.0 \
  vosk_transcriber name=tc ! fakesink sync=true dump=true \
  uridecodebin uri=https://studio.blender.org/download-source/d1/d1f3b354a8f741c6afabf305489fa510/d1f3b354a8f741c6afabf305489fa510-1080p.mp4 ! audioconvert ! tc.

依赖关系

~14–27MB
~461K SLoC