Hello is it possible to have a speech to text option on calls wherein the receiver of the call will get a live transcript of that call. I have tried to read about IBM Watson's Speech to Text service but to no avail as it only has instructions on already recorded data. Can anyone help me out or is this not possible?
You can stream in audio, but you will need to make use of the web sockets API - https://cloud.ibm.com/apidocs/speech-to-text#recognize-audio-websockets-
You open the web socket, send a start packet, then send the stream as you capture it as data packets, terminate with an stop packet. You will need to set interim_results to true if you want a transcript flow.
Related
I am making an app in which I am recording a video and at the same time want to implement a speech-to-text recognition functionality without speech dialog, can someone tell me how to proceed.
I would recommend using the RecognizerIntent Class. The class sends the recorded speech to a Google cloud server. The server in turn converts the speech to text and sends the results to your app.
A worked out example can be found on the following site
right here.
Using this approach however does imply that your app will rely having a working internet connection. Only if the user decides to enable offline voice typing in the phone's settings, won't the app be relying on a working internet connection.
I have wifi connection between java desktop app and android app. I need to transfer opponent's voice during call to desktop side and also transer my voice from desktop's microphone to opponent. How can I do it? How can I get input and output streams of call?
You can not handle gsm call data (neither send over uplink nor receive over downlink). I think you can try sip calls if that meets your requirement.
I'm working on entry phone. The entry phone is sending to me voice and video through rtsp protocol so I can simply get voice and video from camera on my device. But I have no idea how to send a voice to that device. Is there anything that would help me send and receive audio in the same time (something like a call)?
If I understand correct you want video calls. Just like sipdroid app. It is an open source project look at VideoCamera.java class in this project.
http://code.google.com/p/sipdroid/
I'm developing an AIR for Android application, and am current sending audio to fms servers via standard NetStream/Microphone options. I (ignorantly) assumed that attaching a bluetooth device would be pretty simple, and connecting it would make it show up as a native "Microphone". Unfortunately, it does not.
I don't think it is even possible to use Netstream.publish and publish raw bytes, so the only hope is that there's a way to use NativeProcess + Java to create a native microphone "handle" that AIR can pick up on.
Has anyone run into this issue?
I think one possible solution would be using NetConnection.send() instead of Netstream.publish().
You should get sound data from your BT microphone. I am not sure if you can get using AIR. You may need to use an android service that gets the sound data and feeds your AIR app via a file, a UDP port or an invoke etc.
When you get some sound data, encode it so flash can play it (Speex, Nellymoiser, etc) You can do the encoding in your Android service as well.
Whenever your AIR app receives a sound data, send it to your streaming server via NetConnection.Send().
Extend your streaming server to process sound data received. You can embed it into a flv stream, or send to other flash clients if it is a chat app.
Other than that, I can't find a way to have a "microphone handle" for your BT microphone. I once thought of creating a virtual device on Android, but I couldn't find any solution.
I plan to develop Android application which will encrypt/decrypt voice data such that parties can communicate using secure channel. So the question is: how to intercept voice/audio data during GSM call? Is it possible or not? Should I use Android NDK or something else?
In GSM it is not possible to encrypt the voice and send it through the voice channel due to channel characteristics. The signal sent through the voice channel has to be (similar to) human voice as vocoder (CELP) is used for channel coding.
So even if you had access to low level libraries and used it to encrypt voice to send it directly through the voice channel it would be not possible for the called party to receive and decrypt the signal.
Encrypted voice however could be sent through the data channel as data.
This is something that happens in the low level of the operating system. You wouldn't be able to access this information in the application level.
I suggest that you look into VOIP like SipDroid. I bet you'll be able to set it up to use encryption easily. (srtp instead of rtp)
Even if you SipDroid doesn't support this, it's is open source so you could add this feature.
Call recording is not yet possible on Android. See this feature request.
You can record your voice from microphone, but you can not record the sound of the other party. If you only want to record your voice use android.media.MediaRecorder.AudioSource.MIC
Simple Answer, NO!
if you are able to access low level libraries and used it to encrypt voice to send it directly through the voice channel off course it would not be possible for the called party to receive and decrypt the signal but if you modulate encrypted voice data and transform this voice data into speech like waveform and send through the voice channel of GSM then surely other party will receive and decrypt the voice.
I know there are apps that act like voice changer where they change your voice and transmit that thru gsm voice. Maybe you can make an app that takes the voice then modulate it to something like phase shift keying or digital radio monodiale like what hams used in vhf and hf radio communication and transmit the audio to gsm then demodulate it back to voice but instead of straight forward modulation demodulation you can add pgp, aes, or whatever encryption you like. I'm also intrested to see a project like this.
I think it would also be great if you could use this to transmit data thru voice gsm channel like the 56k modems in the past instead of the gprs channel.
See reference
http://freedv.org/tiki-index.php
http://www.aprs.org