小编dgr*_*eck的帖子

C# - 捕获RTP流并发送到语音识别

我想要完成的事情:

  • 在C#中捕获RTP流
  • 将该流转发到System.Speech.SpeechRecognitionEngine

我正在创建一个基于Linux的机器人,它将接收麦克风输入,发送Windows机器,它将使用Microsoft语音识别处理音频并将响应发送回机器人.机器人可能距离服务器数百英里,所以我想在互联网上这样做.

到目前为止我做了什么:

  • 让机器人使用FFmpeg生成以MP3格式(其他可用格式)编码的RTP流(机器人在运行Arch Linux的Raspberry Pi上运行)
  • 使用VLC ActiveX控件在客户端计算机上捕获流
  • 发现SpeechRecognitionEngine具有可用的方法:
    1. recognizer.SetInputToWaveStream()
    2. recognizer.SetInputToAudioStream()
    3. recognizer.SetInputToDefaultAudioDevice()
  • 看着使用JACK将应用程序的输出发送到线路输入,但完全被它搞糊涂了.

我需要帮助的是:

我坚持如何实际将流从VLC发送到SpeechRecognitionEngine.VLC根本不公开流.有没有办法可以捕获流并将该流对象传递给SpeechRecognitionEngine?或者RTP不是解决方案吗?

在此先感谢您的帮助.

speech-recognition ffmpeg vlc stream rtp

5
推荐指数
1
解决办法
6007
查看次数

标签 统计

ffmpeg ×1

rtp ×1

speech-recognition ×1

stream ×1

vlc ×1