Google Speecht-to-Text diarization python SDK

问题描述

我正在尝试构建一个 Python 应用程序来使用 Google Cloud Speech-to-Text API 转录录音。由于它涉及多个发言者之间的对话,我想实现 speaker diarization。但是,似乎 STT 仅提供单词级别的分类

转录结果用分配给的数字标记每个单词 个人演讲者。同一说话者说的词具有相同的含义 号。

因为我想转录对话,所以我更喜欢在句子级别进行分类。我尝试过这样的事情(基于此 example):

# Handling audio stream happens before this

transcript = ''

tag = 1
speaker = ''

for word_info in words_info:
    if word_info.speaker_tag == tag:
        speaker = speaker + ' ' + word_info.word
    else:
        transcript += 'speaker {}: {}'.format(tag,speaker) + '\n'
        tag = word_info.speaker_tag
        speaker = ' ' + word_info.word

transcript += 'speaker {}: {}'.format(tag,speaker)

但是,这种方法很难确定一个演讲者何时结束,另一个演讲者何时开始。确定这一点的唯一方法是基于扬声器之间的变化。这可能会导致一些问题。这也使得使用 SDK 的某些功能变得更加困难,例如自动添加标点符号

有没有更好的方法解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)