STREAMING AUDIO FROM A FULL-DUPLEX NETWORK THROUGH A HALF-DUPLEX DEVICE
Streaming audio from a full-duplex network through a half-duplex device, including buffering, in the half-duplex device, input audio from the full-duplex network, where the input audio includes audio data for output through the half-duplex device; playing, through the half-duplex device, the buffered input audio; pausing, during voice activity on the half-duplex device, the playing of the buffered input audio; recording, during the voice activity, output audio to be sent to the full-duplex network; and resuming the playing of the buffered input audio after the voice activity.
1 . A method for streaming audio from a full-duplex network through a half-duplex device, the method comprising:
buffering, in the half-duplex device, input audio from the full-duplex network, the input audio comprising audio data for output through the half-duplex device;
playing, through the half-duplex device, the buffered input audio;
pausing, during voice activity on the half-duplex device, the playing of the buffered input audio;
recording, during the voice activity, output audio to be sent to the full-duplex network; and
resuming the playing of the buffered input audio after the voice activity.
2 . The method of claim 1 wherein:
the input audio from the full-duplex network comprises voice over the internet protocol (‘VOIP’), and
the half-duplex device comprises a distributed speech recognition (‘DSR’) client.
3 . The method of claim 1 wherein buffering input audio further comprises:
receiving, by a receive thread, audio data from an input audio stream; and
storing the audio data in an input memory buffer.
4 . The method of claim 1 further comprising detecting the voice activity on the half-duplex device.
5 . The method of claim 4 wherein detecting the voice activity on the half-duplex device further comprises:
detecting voice activity by a VAD engine; and
advising, by the VAD engine, a media thread of the voice activity.
6 . The method of claim 1 wherein:
playing the buffered input audio further comprises playing the buffered input audio by a media thread;
pausing the playing of the buffered input audio further comprises pausing the playing of the buffered input audio by the media thread; and
recording output audio for delivery to the full-duplex network further comprises recording output audio by the media thread in an output memory buffer.
7 . The method of claim 1 further comprising sending the recorded output audio by a send thread to the full-duplex network.
8 . Apparatus for streaming audio from a full-duplex network through a half-duplex device, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of:
buffering, in the half-duplex device, input audio from the full-duplex network, the input audio comprising audio data for output through the half-duplex device;
playing, through the half-duplex device, the buffered input audio;
pausing, during voice activity on the half-duplex device, the playing of the buffered input audio;
recording, during the voice activity, output audio to be sent to the full-duplex network; and
resuming the playing of the buffered input audio after the voice activity.
9 . The apparatus of claim 8 wherein:
the input audio from the full-duplex network comprises voice over the internet protocol (‘VOIP’), and
the half-duplex device comprises a distributed speech recognition (‘DSR’) client.
10 . The apparatus of claim 8 wherein buffering input audio further comprises:
receiving, by a receive thread, audio data from an input audio stream; and
storing the audio data in an input memory buffer.
11 . The apparatus of claim 8 further comprising a voice activity detection (‘VAD’) engine capable of detecting the voice activity on the half-duplex device.
12 . The apparatus of claim 8 further comprising computer program instructions capable of sending the recorded output audio by a send thread to the full-duplex network.
13 . A computer program product for streaming audio from a full-duplex network through a half-duplex device, the computer program product disposed upon a signal bearing medium, the computer program product comprising computer program instructions capable of:
buffering, in the half-duplex device, input audio from the full-duplex network, the input audio comprising audio data for output through the half-duplex device;
playing, through the half-duplex device, the buffered input audio;
pausing, during voice activity on the half-duplex device, the playing of the buffered input audio;
recording, during the voice activity, output audio to be sent to the full-duplex network; and
resuming the playing of the buffered input audio after the voice activity.
14 . The computer program product of claim 13 wherein the signal bearing medium comprises a recordable medium.
15 . The computer program product of claim 13 wherein the signal bearing medium comprises a transmission medium.
16 . The computer program product of claim 13 wherein:
the input audio from the full-duplex network comprises voice over the internet protocol (‘VOIP’), and
the half-duplex device comprises a distributed speech recognition (‘DSR’) client.
17 . The computer program product of claim 13 wherein buffering input audio further comprises:
receiving, by a receive thread, audio data from an input audio stream; and
storing the audio data in an input memory buffer.
18 . The computer program product of claim 13 further comprising computer program instructions capable of detecting the voice activity on the half-duplex device.
19 . The computer program product of claim 13 wherein:
playing the buffered input audio further comprises playing the buffered input audio by a media thread;
pausing the playing of the buffered input audio further comprise pausing the playing of the buffered input audio by the media thread; and
recording output audio for delivery to the full-duplex network further comprises recording output audio by the media thread in an output memory buffer.
20 . The computer program product of claim 13 further comprising computer program instructions capable of sending the recorded output audio by a send thread to the full-duplex network.