Android APIs to Auto answer the call and read DTMF tones - android

I would like to know the following whether possible with Android or not. I keep searching on line but no luck. I feel that may be possible with new versions of the Android. I want check with experts on Stackoverflow.
Shall I Auto answer the call and play a pre-defined Audio file? At this time, we should not use Micro phone or Speaker.
Once we Auto answer the Call, shall we play pre-defined Audio files based on the DTMF tones received from other end? Do we have Native APIs to read and the DTMF tones? - Simply, can I build a "IVR System" as an Android App? (asking too much? send me your suggestions)
Shall we record the telephony streams as Audio files? We can write a trans-coder if we have access to the streams using the native APIs.
I may be asking too much here, because am a new to android and did not find any absolute answer online.
Thanks in Advance,
- PC Varma

Related

Automatically call numbers and play audio message

Basically there is a list of customer mobile numbers I like to call and play a recorded audio message. SMS is not an option. I was shocked to see that android does not support this and there is not much help available online regarding this. Any clues of how this would be accomplished? Will I need any specific hardware and/or software for this?
Check http://vicidial.org
Unfortanly you need voip account and linux server for that

Is there a way to get raw PCM from Deezer Android SDK?

In Android application, we're considering implement Deezer SDK with some post-processing of audio sources to boost up audio quality for end-users. To make it possible, we need to get raw PCM samples directly from the SDK but sadly there seems no such API. (I just looked through the API document. It has their native/android player providing play controls only?)
Is there a way to get this work? Or does Deezer has plan for providing such feature?
Thanks :)
Unfortunately, no, there's no way to get the raw PCM of Deezer's tracks using the SDK.
As stated in the comment, Deezer needs to make sure that the music is not pirated in any way.
Giving away the raw PCM data would be an easy way to allow piracy.
About giving a feature allowing developers to apply post-processing on the PCM data, IMHO it would be tricky to make sure that the PCM is still not leaked, but it's a good idea for a new feature.

Android Audio API in Python

I am trying to write a metronome application in Python, and I intend to publish the application for Android and iOS. I have found a few cross-platform frameworks like Kivy, but their audio support is lacking. More specifically, I need very precise audio timing and I can't rely on thread timing or events. I want to write audio data directly to the device's audio output, or create a MIDI file that can be played on the fly. The problem is, I cannot find any suitable framework for this task.
I know that many games have been written for Android in Python, and those games have excellent and precise sound timing. I need help finding either:
a way to create and play MIDI files on the fly in Android with Python,
a Python framework for Android with a suitable audio API to write sound directly to an audio device, or at least play audio with very accurate timing.
Thanks!
I'm looking for the same thing. I too am looking at Kivy. The possible solutions I can see to audio is hooking in a 3rd party application as a "recipe" in Kivy.
There is aubio, which apparently can be compiled for iOS/Android (see stackoverflow question regarding this), but I believe you have to get your own audio source for it, which could be potentially handled by the audiostream subproject in kivy.
Kivy/audiostream imports the core libpd project it appears, so you can use libpd python bindings. I think this is the path of least resistance, but I had issues when trying to run the examples.
Both of these approaches, I think could work but both need some effort to be able to start using.

Can we send an audio file directly to uplink of phone carrier?

I am beginner in android development and felt like google documentation is not able to help me out. So if anyone knows whether it is possible to send an audio file directly to uplink in between a call? Also share how incase it is possible.
There are no Android APIs that allow you to access, read or write to the audio stream in a call. If any manufacturer provides these APIs, I am not aware of them.
The reason for this is that, at least for AOSP Android, the call part of the device is handled on a hardware level, and not much control is available to Android itself.
It is not possible via the NDK either. The only way you'd have a chance of achieving this is if you were to modify and build Android directly from source.

Streaming MIDI API in Android

I am a MIDI based musical application author. In my application I am generating a .midi file with a small lib that I wrote and play it on MediaPlayer and that's enough for that app. However in the future app I plan to have more interactivity and that's where I would probably need a streaming API.
As far as I know Android leaks APIs for realtime midi synth (at least official). But still I can see some apps that do use midi in quite advanced way. Question is how? Do they use NDK to access Sonivox directly or are there an unofficial apis for that after all? Any ideas?
Also I'm very interested if Google is planning to improve MIDI support in future versions of Android (in case anybody of Google sees this :))
Thanks.
You should check out libpd, which is a native port of PureData for both Android and iOS. It will provide you with access to the MIDI drivers of the system while still being able to prototype your software with very high-level tools.
Java has a very important latency, so i think this should be done with the NDK. Check this question, it has a couple of hints. This was reported as an Android issue (NDK support for low-latency audio), there might be some tips or info there too.
This is a simple but great sample application that successfully streams MIDI on Android https://github.com/billthefarmer/mididriver
You will have to put your MIDI messages together manually though ( the example creates two MIDI messages for play note and stop note). One can refer to the MIDI specification to further control the MIDI channels. The problem is that the default sound fonts on Android sound so bad.

Categories

Resources