1 个不稳定版本
0.1.0 | 2022年4月1日 |
---|
#48 in #speech
46KB
959 代码行数
Vosk语音识别GStreamer插件
使用Vosk Toolkit进行语音转录。可用于生成电影、直播、讲座和访谈的字幕。
Vosk是一个离线开源语音识别工具包。它支持20多种语言和方言 - 英语、印度英语、德语、法语、西班牙语、葡萄牙语、中文、俄语、土耳其语、越南语、意大利语、荷兰语、加泰罗尼亚语、阿拉伯语、希腊语、波斯语、菲律宾语、乌克兰语、哈萨克语、瑞典语、日语、世界语、印地语。更多即将到来。
此GStreamer插件受到了@MathieuDuponchelle在AwsTranscriber元素启发。
构建
编译此项目将生成一个共享库,该库可以被您的本地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