【发布时间】:2022-10-09 08:47:55
【问题描述】:
我想知道如何使用 Vosk 库在应用程序中实现多语言处理。我想制作一个支持波斯语、库尔德语和英语等多语言的应用程序。我想使用的编程语言是带有 Spring 框架的 Java。我知道我们可以使用Model model = new Model("path to model") 实现口语,但是我们如何为多个模型实现呢?
【问题讨论】:
标签: speech-to-text vosk
我想知道如何使用 Vosk 库在应用程序中实现多语言处理。我想制作一个支持波斯语、库尔德语和英语等多语言的应用程序。我想使用的编程语言是带有 Spring 框架的 Java。我知道我们可以使用Model model = new Model("path to model") 实现口语,但是我们如何为多个模型实现呢?
【问题讨论】:
标签: speech-to-text vosk
如何创建和运行两个或更多识别器? (您要检测的每种语言都有一个。)
通过AcceptWaveform 将相同的音频缓冲区传递给每个识别器。您的应用程序逻辑可以接收来自两个识别器的结果。我想你偶尔会有跨语言的同音词(例如英语“nine”和德语“nein”)来处理你想忽略一个匹配并使用另一个匹配的地方。但也许选择一个所需的启发式方法对您的应用程序来说并不难。
显然,运行多个识别器在 CPU/内存使用方面效率低下,但对于您的目的来说可能是可以接受的。进一步的改进可能是在您检测到一种语言的足够语音以预测说话者将继续使用该语言后,关闭不需要的识别器。
如果 Vosk/Kaldi 对于一个进程中的多个识别器实例不是线程安全的,您可以运行多个进程来隔离识别器,并通过某种进程间通信来管理识别器。
【讨论】: