Listen to the Mic - General Questions and Answers

No, not spying on the user. I want to create a service that listens to the mic, all the time, waiting for a tone (specifically a DTMF tone). On hearing a specific tone (DTMF typically has 16) it triggers a broadcast intent. That intent might be configured to be specific to some other app, or mimic a keyboard button press.
It's just a way to get a simple external gadget to send messages to any app that cares to listen. And, no, BT, BLE, USB are not an option. Direct input to the mic line is possible.
Really simple in theory but I suspect fraught with permissions and always on problems.
I'm not smart enough to write real code for Android but I can appreciate an overview of what's needed.
Any help gratefully received.

Related

bluetooth dialing

I read over at cnet today a feature on FROYO.
"Froyo highlights
Of the significant changes in Froyo, the new Bluetooth an app-saving capabilities stand out. Drivers using any version of the operating system prior to Android 2.2 are unable to initiate phone calls through their Bluetooth headsets, a vast inconvenience for those who strive to go hands-free. In our tests, pairing and voice dialing were on point."
I have my phone hooked up to my Nissan Altima and when i press call on my steering wheeling, My captivate makes the call just like every other phone i've had. Same thing with my other car, the Benz's B67875878 BT module.
Why are they saying this about 2.1 when it's not true?
I have 2 different blue tooth headsets ( a blueant, and a plantronics ) and neither of them allow for voice dialing.
ahhh. that answers it. It's voice dialing. that's what they meant.
The article said "initiate phone calls through their Bluetooth headsets". That's what was confusing me. I guess most cars i've had, use an internal voice command that stores a digital number with a voice. So when i tell my car, "CALL HOME", it only is transmitting the number, not the voice data.
I think most articles are exaggerating the lack of this feature, most cars come equipped with voice tech that is internal to the auto or GPS device.
orateam said:
I think most articles are exaggerating the lack of this feature, most cars come equipped with voice tech that is internal to the auto or GPS device.
Click to expand...
Click to collapse
Cars come equipped with Bluetooth systems are still a minority. For most of us that can't afford a luxury car, BT headset is all we can afford. So, yes, BT dialing is an important feature. And I'm glad Android finally get it.
i dunno know about that. The benz is luxury, but my altima sure isn't. And nowadays, every car can get handfrees calling. Every ****ty ford has 'sync' which comes with it. Most newer cars have the bluetooth handsfree, it's the iphone sync to media player they it expensive.
I think I uderstand exactly what they are talking about. I have a Ford Edge with the Sync system. With my windows mobiel phones I was able to download the phonebook from my exchange account into the sync radio. I than could voice dial by saying Dial followed by the contact name.
Since getting the Captivate, my first Android phone, I have lost the ability to do this. When I tell the sync system to download the phonebook it seems to do so. But than I an unable to dial via voice. When I navigate the phonebook from the sync radio It seems all I have are the dumb AT&T information numbers that come with the phone.
I believe this has to do with the way the two differene OS's handle the contact synchronization of exchange accounts. With Windows Mobile it actually downloaded the cantacts from your exchange and synchronized them with your local phonebook. Android seems keep the contacts from the different sources seperate so the Exchange contacts never make it to the "local phonebook" that systems like "Sync" interact with.
This is just a theory as I am not a developer or anything. What bother's me is that my buddy bought a Droid X and is able to use his with "Sync" type systems. I don't knwo if this has something to do with the Blur software or not but it kind of made me think my theory didn't hold any water.
About time! I miss this feature from my blackberry!

Way to make or emulate a "dead air" call via bluetooth?

Does anyone have any idea software or otherwise to make Android to do this...
- Intercept an outgoing bluetooth phone call (IE someone dialed "*123" over bluetooth)
- Keep the BT audio channel OPEN, but do NOT dial the call
- Run Google Voice Search and direct audio input / output to that instead
The reason is I am trying to figure out a way to have my Android phone controllable via voice from my car kit (Chrysler UConnect), which is being "too smart" and has no idea to simply send a Bluetooth "action button" to Android. My idea is if I can write a little app that does the above, then I can simply save this "magic number" to my contacts and have it voice dialed

[Q] Bluetooth Voice Command prompts not loud enough / Nexus 5 and Pioneer CD-BTB200

Hey,
I am having trouble with my Pioneer CD-BTB200 Bluetooth Adapter, which is a common problem, according to the very few available threads on the internet.
This also didn't work with any other Smartphone before i.e. Samsung S3 or Blackberry Bold 9700.
Cliffnotes:
-pairing, media streaming (different source) and receiving and making calls works great! No issues there
-transfering the contact list results in a big mess, I have to dig in there if I can figure it out or if I just transfer one contact after another....
-now for the problem.......I installed Cyberon Voice Commander because it gives me the best behaviour and voice recognition since I am a native German speaker. Google, Dragon and AIVC don't work really well. But it doesn't matter which voice assist app I use, because it is the Bluetooth adapters fault. The Nexus 5 is rooted and runs stock Kernel with KitKat 4.4.2.
When I press the voice dial button on my Pioneer AVH-P5000DVD deck it activates the Cyberon Voice Commander app (or whichever is set as default). so far so good, that is what I want.
But! the dialog between me and the phone is almost impossible because the output volume over the car speakers is way to low. I have to literally pick up the phone and look at it's display to see what the voice commanding app is doing because you have to wait until it is finished asking what I want to do. (just holding a phone is illegal in Germany)
Assuming the app understood me right and starts dialing everything turns to be fine from that point because the volume of the actual call is perfect!
When the phone talks back to me I have to crank the volume all the way up to understand it a little bit and then turn it back down fast before the phone call starts or it'll blow the speakers out....since my car is quite loud when on temperature I don't think I will understand anything when I am driving.
I heard that the app TASKER could be programmed to raise the Bluetooth volume at a certain point and then lower it again. I checked but it only goes up to 15, which I already have set before with the stock volume slider. Additionally I have no idea how to configure Tasker to (maybe) get rid of the problem.
Has anyone ever heard of a similar problem and / or has an idea how to handle it?
Again, it's only the voice command prompts that are way to quiet when I start the voice dialing function via Bluetooth, everything else is fine.
Fixed the issue with SoundAbout!
https://play.google.com/store/apps/details?id=com.woodslink.android.wiredheadphoneroutingfix&hl=de
Now the voice prompts play loud and clear over the car speakers! Every other volume managing app failed miserably!
I used the latest Beta Version btw, going to buy the Pro Version soon.
http://soundabout.userboard.net/f8-download-beta-versions
I did very little changes to the settings, if anyone is interested I can hook you up with some screenshots
sutobe said:
Fixed the issue with SoundAbout!
https://play.google.com/store/apps/details?id=com.woodslink.android.wiredheadphoneroutingfix&hl=de
Now the voice prompts play loud and clear over the car speakers! Every other volume managing app failed miserably!
I used the latest Beta Version btw, going to buy the Pro Version soon.
http://soundabout.userboard.net/f8-download-beta-versions
I did very little changes to the settings, if anyone is interested I can hook you up with some screenshots
Click to expand...
Click to collapse
I have this issue as well. SO what did you have to do with this app?

Siri Eyes Free Proxy for Android - Does it exist?

For those of you that haven't heard, Siri Eyes Free is Apple's iPhone intergration with select Honda and Chevy cars.
What happens is that the car's interior microphone and the steering wheel voice button both act as a proxy to funnel input to the phone over bluetooth.
Did anyone hack together an Android app to work with iOS's input api? All I really want is to send text messages / initiate calls using google now voice.
I could get an iphone for testing. I have a laptop and a phone with bluetooth, if those can record the raw bluetooth signal
I picked up a car that has Siri Eyes Free (after a firmware update) and have an Android so I'm bumping this .
Nearly a year later I'll bump this as well. Any ideas here? Just moved from an iPhone and lack of voice integration over Bluetooth is a bummer. Thanks.
A
Another bump on this for visbility and hopefully some additional useful information. Long story made short I recently got a new car, a Ford C-Max with MyFord Touch, that has Siri Eyes Free capability (as of v 3.6/3.8). Sadly the car I upgraded from had a cheap <$100 aftermarket radio that happily activated Google Now through the standard BT voice dial button and allowed me full hands free functionality and would like to get that back.
What I have found upon a little digging is Apple has published developer documentation which covers Eyes Free functionality:
https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf
As someone who can somewhat understand and comprehend this information but couldn't code to save his life, it appears to be fairly simplistic and is just a handful of custom BT serial commands, simple back and forth request/acknowledge commands, and an SCO audio link. Most of the user interface setup seems like it may be on the accessory/head unit end rather than the phone.
I would love to take a whack at this but unfortunately would not know where to begin. My first thought is would something like this with the serial BT communication, establishing an audio link, and triggering Google Now, be able to all be done without root?
If anyone begins on this or also wants to have a go at it, I'd definitely be willing to help where I can including testing and debugging.

[Completed] [Q] Android and BT microphones

Can someone please explain why a paired BT microphone will not simply replace the internal microphone on an android device in the same way as it does for a wired headset ?
I have found that BT mics only work during a phone call, or when trying to initiate a call via a voice dialer app. Audio input for any other app is routed via the built in mic, but sound output is always routed to the paired BT speaker or earphone.
This problem seems to affect most android devices and BT headsets. It has been written about in many forums, including the google/android forum, but the reason has never been explained. Within XDA the question has been raised a number of times, but even the smart guys on this forum seem to be stumped, or are part of a general conspiracy not to answer this question .
If I am a complete idiot and have missed some basic point don't spare my feelings, but please answer the question !
Please understand the whole Bluetooth A2DP Protocol has been designed around voice communication. Conceptually the kernel allows for acceptance of inputs from any valid compatible hardware resources at its disposal. This is why you'd see Voice dialer apps being able to effectively utilize bluetooth. However, this usage of external BT devices that are not always connected to phone, requires extensive programming on part of the Application to establish a listener and check for a BT device each time. App developers potentially will have to do a balance study between benefits and amount of time, and effort involved. This does include testing for myriad variety of Bluetooth devices and phones.
You may wish to post in
Hardware Hacking > Hardware Hacking General
so that the right experts may chime in.
Perseus71 said:
Please understand the whole Bluetooth A2DP Protocol has been designed around voice communication. Conceptually the kernel allows for acceptance of inputs from any valid compatible hardware resources at its disposal. This is why you'd see Voice dialer apps being able to effectively utilize bluetooth. However, this usage of external BT devices that are not always connected to phone, requires extensive programming on part of the Application to establish a listener and check for a BT device each time. App developers potentially will have to do a balance study between benefits and amount of time, and effort involved. This does include testing for myriad variety of Bluetooth devices and phones.
You may wish to post in
Hardware Hacking > Hardware Hacking General
so that the right experts may chime in.
Click to expand...
Click to collapse
Thanks for the reply Perseus71 and I have also reposted on the link you suggested, but I have not fully understood your meaning.
The fact that my BT mics work OK when in call proves hardware and software functionality. Why can't this working code be invoked when I am using another app which requires mic input?
Does the Android kernel somehow earmark BT audio "for telephony only" and deny other apps access to the audio stream.
Why would it matter to the Android OS if BT sourced audio data is being sent a file as opposed to the telephone network?
Thread Closed. Thank you.

Categories

Resources