首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vosk说话人识别

Vosk说话人识别
EN

Stack Overflow用户
提问于 2021-05-04 22:38:17
回答 1查看 236关注 0票数 0

我目前正在将Vosk Speech recognition实现到一个应用程序中。具体来看说话人识别,我已经实现了示例中的test_speaker.py,它是功能性的。作为一名新手,我如何识别和/或创建参考说话人签名?使用提供的一个,使用我的音频示例计算的距离列表没有描述涉及的两个扬声器:

代码语言:javascript
复制
[1.0182311997728735, 0.8679279016022726, 0.8552687907177629, 1.0258941854519696, 0.8666933753723253, 0.9291881495586336, 1.0316585805917928, 1.0227699471036409, 0.8442800102809634, 0.9093189414477789, 0.9153723223264221, 0.9705387223260904, 0.9077720598812595, 0.9524431272217568, 0.9179475137290445]

如果没有有效的方法从正在分析的音频中计算参考扬声器,您是否知道可以与Vosk一起使用的其他解决方案来识别音频文件中的扬声器?如果没有,你还会推荐什么其他的语音转文本选项?(我已经用过谷歌的了)

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-10-22 15:30:19

我最近也在使用Vosk,创建一个新的参考扬声器的方法是从识别器中提取X-Vector输出。

这是python示例中的代码,我将其修改为将每个话语的X向量放入名为"vectorList“的列表中。

代码语言:javascript
复制
    if recognizer.AcceptWaveform(data):
        res = json.loads(recognizer.Result())
        # print("Text:", res['text'])
        # Checks that X-Vector ('spk') is in the data file, res
        if 'spk' in res:
            # Append X-Vector to baseline list
            vectorList.append(res['spk'])

在我的程序中,我使用矢量列表中的这些矢量作为参考扬声器,与cosine_dist函数中的其他x矢量进行比较。cosine_dist函数返回一个“扬声器距离”,告诉您两个x向量有多大不同。

总而言之,我正在开发的程序执行以下操作:

  • 通过识别器运行一些“基线”音频文件以获得列表中的x矢量列表中的x矢量
  • 通过识别器运行一些测试音频文件以使用
  • 测试使用cosine_dist对每个“基线”x矢量运行每个测试x矢量cosine_dist返回的扬声器距离以获得平均扬声器距离

我不是Vosk的专家,我应该提一下,完全有可能有更好的方法来做这件事。这正是我根据python目录中的示例问题找到的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67386930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档