如何使用python不断地对不断增加的音频文件进行语音识别?

时间:2019-07-09 16:53:37

标签: python speech-recognition asterisk ivr

我有一个项目,希望在实时通话中将音频文件连续转换为文本。

实际上,我只能在实时通话中记录被呼叫者的声音,我想识别在实时通话中他讲话的时间。记住,我只是想知道被叫方在说什么,直到他停止说那句话,而不是他在现场通话中已经说过的话。我想使用python或php完成所有这些操作。 Python是更好的选择。有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您应该可以使用ARI执行此操作。有一个python library for it。这是我的处理方法:

  1. 在Dialplan中,将呼叫置于Stasis中以启动ARI。参见docs
  2. Start recording the channel(不是网桥)。这样,您只能获得他们的音频。
  3. 如果您进行某种日志记录,则可以选择监视ChannelTalkingStarted和ChannelTalkingFinished事件,以保存它们正在讲话的时间戳。
  4. 流式传输记录文件最多Google Speech API(或类似文件),并在Python中处理接近实时的结果。
    • 您也可以使用通话开始/结束事件来“分割”录音(使用sox),如果不需要即时结果,可以在通话过程中抄录每段录音。
  5. 借助ARI(而不是Dialplan)的灵活性,您可以轻松地将文本结果发送到通过API制作的另一个应用程序中。