Streaming For ASR

Home » Asterisk Users » Streaming For ASR
Asterisk Users 8 Comments

Hello, I have been working on designs for two different projects, where both of them would need to use the IBM Watson streaming ASR service.

Based on our discussion at AstriDevCon, I know there is currently no support for that. However, there may be some workarounds I am not aware of.

Would it be possible to write out the audio frames as they get recorded?
Watson supports 16 bit signed little endian audio, IIRC, but there are a few other raw formats available.

The goal is to eventually fund the development of a small module to get something a bit better working, but for now I would be happy with a solution I can build a prototype on.

Thanks to everybody!

Luca

8 thoughts on - Streaming For ASR

  • That’s the main problem I was discussing at AstriDevCon. There’s no way currently to stream the frames to a service.

    At the moment I’m saving to a file and then sending that file once recording has finished.

  • Matt Riddell wrote:

    The UnicastRTP channel driver allows you to send RTP to a specific target address with media. Combined with Chanspy (or Snoop channels in ARI) you can duplicate audio from a channel and send it off to where you want.

  • So originate a new channel, make one leg a UnicastRTP and the other a chanspy to spy on the channel you’re interested in transcribing?

    Cheers,

    Matt Riddell

  • Matt Riddell wrote:

    Theoretically, yes. Orchestrating stuff could get complicated but that is a way to get media out.

  • Hello,
    (sorry for not continuing the thread, I had set the list to digest).

    Would UnicastRTP be able to output u-law frames directly? If so, I think that is all I need. Does anyone know what the EAGI output is? Raw RTP?

    Best regards,

    Luca

  • Matt Riddell wrote:

    I did indeed, although I think the options have since changed.

    channel originate UnicastRTP/127.0.0.1:5001//c(g722) extension 1000@test

    Would be the current.

    As well running from git is currently needed as a bug was fixed which would cause a crash in UnicastRTP.