Related
Hi
I am Using Schaps WinMob6 with an Motorola S9 over A2DP, as soon as I start streaming the system slows down so bad that it is almost impossible to use!
Is this normal? Anyone using A2DP experiencing the same Problem? What can I do to fix this?
Grüsse,
Chris
i have experienced the same thing no matter when ROM I use. theres not a lot of settings to change so they just sit in a drawer now collecting dust.
i have experienced the same thing no matter what ROM I use. theres not a lot of settings to change so they just sit in a drawer now collecting dust.
I'm experiencing this as well with Schaps ROM. If someone got it to work without problem, please let us know.
Hmm, I don't remember this problem when I was using Schaps ROM... what app are you using to stream. I pretty much solely used Coreplayer 1.1.1 for everything though.
Definitely not having this problem with K's rom which I'm testing now. It works sweet.
If I remember correctly I tried with both WMP and PP with the same result.
I believe A2DP takes a fair amount of CPU power - first the application needs to decode the mp3, then feeds it into the virtual sound device - bluetooth stereo - whose drivers then transcode the sound into something that can fit into Bluetooth's bandwidth. The transcoding has to be done in real-time so it probably has a high priority for CPU time. I don't think I've ever used a ROM where A2DP wouldn't slow down the device, and this includes an Axim x50v @ 624 MHz.
Hi Guys,
I have the feeling that things have gotten a bit better after installing Total Commander!?
Does this make sense?
Using TCPMP with You Tub plugin ( Vids Run great unless A2DP / )
Grüsse,
Chris
kltye said:
I believe A2DP takes a fair amount of CPU power - first the application needs to decode the mp3, then feeds it into the virtual sound device - bluetooth stereo - whose drivers then transcode the sound into something that can fit into Bluetooth's bandwidth. The transcoding has to be done in real-time so it probably has a high priority for CPU time. I don't think I've ever used a ROM where A2DP wouldn't slow down the device, and this includes an Axim x50v @ 624 MHz.
Click to expand...
Click to collapse
It IS processor-intensive, particularly on Samsung CPU's, where it can easily eat 50% CPU time. This is why there's so bad a slowdown.
Read my related articles, they're all cross-posted to the Wiki here - I've elaborated a LOT on all these subjects.
mortplayer seems best for me, but yes there's always slowdown, the tcpmp thing; its the only program with which you can watch videos cleanly without skipping/slowdown via a2dp.
Darn
I just upgradet from a Magician in the hope that the Samsung would have more Power, but / On my Magician ther ist almost no Slowdown using A2DP.
Are there any aps where I can OC my Samsung?
Sadly My tcpmp skips vids using A2DP . I guess I will only be using my S9 when Joging or Biking.
Grüsse,
Chris
I'm having these probs on my 8525. No clue how to fix it. Theres a lot of storage and program memmory left on the darn phone. It used to work perfect, but suddenly had problems. The music stutters a lot with both wmp and tcpmp. I'm using the iphono minis with A2DP. These issues never existed with WM5 as far as I know, though the quality was of course lower. Perhaps the processes that up the quality of the [email protected] stream are causing a trade of in CPU/memory consumption. Maybe that means lowering the quality (maybe via a registry tweak) somewhat will alleviate the problem?
I'd recommend switching to a wired headset
I got the same issue with my A2DP headset. It's not an issue that can be fixed with tweaking. A2DP is simply CPU intensive (not memory intensive).
Lowering the bitrate would help, but not enough I'm afraid.
tweaks that help
Hey there,
I had a little trouble with helmi's wm6 (excellent rom) and the original wm5. The following link has some reg tweaks (http://forum.ppcgeeks.com/showthread.php?t=10668). It's still a little gappy, but much better. Also, the sound quality seems to be a lot better.
Does anybody know how to improve sound quality for playing music over A2DP profile with Parrot handsfree? On Rhodium i applied some tweaks for quality improve and it was clear and nice to listen, but Leo is not so nice to hear
Thx a lot
I had to tweak my diamond too, looked for tweaks on the HD2 but couldnt find them, but the sound quality is way better on my HD2. I dont think it needs the tweeks tbh.
If i take both, TP2 and HD2 to my car, let play the same song and im switching between HTC's then has got TP2 much more clear and brilliant sound, without any quiet cracklings from tweeter speaker like it is on HD2 :-(
Same problem here, sound quality for a2dp is not what it should be. I tried adding the LineSpeed registry setting, it did improve the overall quality, but did not remove the cracking noise - and in my case I still have frequent skipping and gaps in the audio playback. Have not yet had a reply for Tech Support, and if/when I do, I don't think it'll be a very intelligable one...
Yop, i think too, that the answer will be unusable, or maybe they tell you that u should do a Hard rst :-D
First time i connected it to HF and let music play i thought that is a bad quality song, but it isn't :-(
Anyone idea?
I know there are some settings to definately improve the sound of A2DP. I've added them on my previous HD, and worked perfectly after that! I just found some things you might try (I just applied them myself as well, but havent tested them yet; I'm almost sure they'll work):
http://forum.xda-developers.com/showthread.php?t=308752&highlight=A2DP+settings+bitpool
If I'll find the previost post which I applied in the past on my HD, I'll let you know. If the one I just posted will work, I'll let you know as well of course, because the litteral and figural crappy sound of A2DP is something I hate as well...
Edit:
Take a look at those settings as well from J-A-J-O at page 6:
http://forum.xda-developers.com/showthread.php?p=1677577#post1677577
Again, I don't know exactly if it were those settings, but they sound familiar to me. I'm also busy trying to get the best sound quality via bluetooth out of my HD2
More info about the settings:
http://forum.xda-developers.com/showthread.php?t=310438
Kind regards,
GreenFrog
The XDA tweaks are rubbish and do not work. I currently have a call out with HTC.
I have removed all reg tweaks from my HTC and now can get A2DP working on my parrot ONLY in the following situation:-
(1) Reboot HD2 (hold end key and select off. then switch on)
(2) Allow to connect to Parrott (will connect handsfree first)
(3) Open bluetooth from settings and select stereo audio and select connect.
(4) select handsfree and select disconnect.
(5) Press PLAY on the parrott kit
By doing this I get no skipping at all and the quality is good. I have no tweaks running.
This is obv crap and is why I have been speaking to HTC all week.
Steps 1-5 have to be strictly followed for this to work.
The BT tweaks mentioned on this forum do not work. They only appear to work as you have rebooted. After using the HD2 for a while and then connecting A2DP, skipping will occur again.
Try steps above and it will work.
Interesting! I'll try that on mine. Greenfrog all of those links and bitpool settings relate to the Microsoft Bluetooth stack. However the HD2 uses the Widcomm stack so those registry settings can't be made.
I too am fed up of the bluetooth sound quality. How can they assume we'll be happy with this mediocre sound?! I can't see why with a 1Ghz processor it skips.
Have you guys tried the A2DP with the latest 1.61 ROM? I'm still on 1.43....
When I find my 'goldcard' that I made I'll try it on 1.61 and let you know
We'll get there in the end....this is really my only bugbear with the HD2, so it would be good to get it fixed!!!
There got to be a way!
I, too, am really p***ed off by the bad audio quality i get using stereo blutooth. It's really an issue with the HTC HD2 and apparently no pro reviews pointed it out!!! I use it with the sony DR-50 which are one the best A2DP headphones out there, but the sound is horrible Please help...
I'm too suffering from the A2DP situation...
The Linespeed registry hack helps me on some devices ( HKML\Software\Widcomm\Plugins\AV add DWORD Linespeed with value between 64 and 512, the higher the better sound but higher probabilty for skipping).
With Linespeed = 320 sound is great and I have no skipping with a Sony DR-BT160AS. But: My Motorola S9 badly skips unless I have it very close to the HD2. Linespeed = 256 is working ok with both devices...
BUT:
I also have a blueLino A2DP Receiver which has a bad quality on both settings, at least on some songs. That's really disturbing.
Just a quick update, I've just flashed to 1.61 and it makes no difference. Default A2DP sound quality is unacceptable. Grr
purnelld said:
The XDA tweaks are rubbish and do not work. I currently have a call out with HTC.
....
The BT tweaks mentioned on this forum do not work. They only appear to work as you have rebooted. After using the HD2 for a while and then connecting A2DP, skipping will occur again.
Try steps above and it will work.
Click to expand...
Click to collapse
-----------------------------------------------------
Well, first I have to say I don't have the 'skipping' issue at all. I have my HD2 connected via bluetooth to my Pioneer DEH-P7100BT car radio. I have a clear connection when calling, but when playing music via bluetooth, I have the 'hissing' issue.
Next is that I have to admit that when I changed the settings according to my previous solution, did work a little, but not as it supposed to. When I had my previous Touch HD if found a link which worked perferctly for me! When I changed to those settings, the hissing were gone completely and the sound quality improved to CD level. Although, I'm still searching those ones again for my HD2 at the moment....
So, conclusion this far is that it totally depends on the hardware which you are connected to as well.
Regards,
GreenFrog
@Greenfrog:
I guess the bitpool settings which worked well on my HD as well, only work when using the MS Bluetooth stack. The HD2 uses the WIDCOMM Bluetooth stack, I haven't found a noticable difference.
The LineSpeed registry setting does improve overall audio quality, but I still have skipping and playback gaps. Very poor performance for the performance beast the HD2 is. I urge everyone to report this to HTC (I did) - this is really unacceptable.
I will also report this to HTC. I am so frustrated by it tbh
As Moses posted...I had linespeed set up on my TP2 and the sound was great, but now i have no time to test it now, can someone other test regitry key?
Bluetooth settings
Can be found here HKLM\Software\WIDCOMM\
A2DP Tweak Provided by R_phAn (Please note this will not work with all devices)
As we know from the past, each device has it's own preferences and capabilities (So you'll have to play around)
Managed to improve soundquality by adding DWORD 'LineSpeed' to HKLM\Software\WIDCOMM\Plugin\AV\ with a value of 320.
it is posted here for TouchPro2: http://forum.xda-developers.com/showthread.php?t=524655
Edit: I tryied it tomorrow morning and it is still the horrible quality, poor music quality and during the call skipping :-/
jonboyuk said:
...all of those links and bitpool settings relate to the Microsoft Bluetooth stack. However the HD2 uses the Widcomm stack so those registry settings can't be made.
Have you guys tried the A2DP with the latest 1.61 ROM? I'm still on 1.43....
When I find my 'goldcard' that I made I'll try it on 1.61 and let you know
We'll get there in the end....this is really my only bugbear with the HD2, so it would be good to get it fixed!!!
Click to expand...
Click to collapse
Okay, thanks a lot for this update! I was really unaware about the different stack, so I don't have to look further for the the previous links anymore... I'll try to add linespeed as well to see if it works with my Pioneer car radio. I hope it will...
There should be an answer for sure for this issue. I also cannot understand why it have to be this difficult. The previous solution did work very well. Why have they changed to the other stack anyway? Does someone know that?
I'm running the 1.48 ROM btw.
GreenFrog
I found one thing, i'm using SPB Radio for online streaming, when im listening in my car streamed radio then the sound quality is excelent...? How is that possible?
That's a very good question.
I experimented a bit with different quality settings during mp3 encoding. I found out that there indeed is a connection between the quality settings of the mp3 file and the badness of the sound quality, at least to a specific degree.
The most important setting seemed to be the stereo setting. If I set a song to "Joint Stereo" its by far better than normal stereo, although not perfect, yet. That's very confusing.
Do you know the settings of the radio channels you can stream with good quality? Maybe that would be worth a test.
--Update--
So I had a predictably useless response from HTC. Namely 'have you tried unpairing and repairing' and 'your device may not be fully compatible, please check our website for a list of compatible devices'.
Useless indeed. Their compatible devices amount to 3 items! The phone is either A2DP or it isn't. There are no compatibility options - it's happening to us all.
So, I haven't mustered up the energy to continue onto the next pointless exchange of basic trial and error possibilities. No doubt their next reply will be "have you tried rebooting the phone"...
Anyway, I digress. I noticed something today. I put on a new album to my SD card and out of nowhere the skipping was worse than ever. Audiomanager is always on the lookout for new songs as you may have realised. When you have music playing, a small circle rotates to show the player is searching. During searches whether or not you've introduced new mp3's to your device, it always makes the skipping far worse. When my circle had come to a stop, then the audio was fine....with very rare pauses and skips.
Still there but much less obvious.
Well that's my latest update and I will continue my investigation. I wonder if this skipping occurs in other music programs? ie wmp or pocket player? Has anyone tried?
Great work, guys. Nice to see a lot of people looking for a solution. I REALLY want to get this A2DP thing working right, it is bugging me a lot, and I'd like it to be fixed when I'm going on vacation (I'll be driving to two straight days, and would love to listen to my own music then). That'll be in about six weeks, so there's still some time left.
I'll try SPB radio myself, see if that causes the same amount of skipping. It could be that it is not the BT link causing the skipping and pauzes, but the audiomanager itself. That would be a bummer, because fixing that is probably way beyond what we can do here, and we'll have to hope for a HTC fix or a custom rom with an older and better working version of the audiomanager.
In my search for possible solutions, I found the priority of the A2DP can be altered. I've added the reg Dword value "Priority256" to HKLM/Drivers/BuiltIn/BtA2dpSnd, with different values. If the value is too high (150+), nothing changes. Set it too low - I tried 60 - and BlueTooth fails to start altogether. I've now set it 149, and it seemed to work, but haven't done extensive testing to see if the skips/pauzes don't return. Will get back on that.
jonboyuk said:
--Update--
(...)
I wonder if this skipping occurs in other music programs? ie wmp or pocket player? Has anyone tried?
Click to expand...
Click to collapse
I've tried PocketMusic, qualitywise no difference. I don't remember if it had the same skipping / pauzes problem, but the problem for me was it doesn't work with the AVRCP, so I can't play/pauze/ff/rew with my remote, and having to use the screen while driving is a pain - I've mounted my device quite high. I was really hoping to use the inbuilt musicplayer
All,
Does anybody have any fixes regarding the sound quality when using Bluetooth A2DP protocol? I use my Evo to mate with a Bluetooth receiver so I can listen to Rhapsody over my home stereo. The sound quality is flat. The high frequencies are not present. It sounds like a bad quality MP3. I know that its the A2DP causing the quality issue as directly connection (through 3.5 jack) is awsome.
The Apple 3GS A2DP sound quality was awsome. I am not sure why the Evo is not sounding good. Any help would be most appreciated.
Thanks,
Lance
use the cyanogen rom--this uses a bitpool of 53 giving you the best bluetooth quality possible. the stock/sprint/htc bluetooth drivers are set for a bitpool of 32
Is there any other ROM that has the bit pool set to 53?
Lance
Nope all Sense roms use HTC's ****ty low bitpool setting. This is why I'm running CM as well it's the only rom I can A2DP to my Sony Head unit and get good audio. I attempted to contact HTC about this issue here's the juicy details
Here's my initial question
I have terrible static when streaming music over A2DP on my HTC EVO to my sony mex-bt2800 car radio. If I use CyanogenMod 6.0 which uses a open source bluetooth stack my A2DP is crystal clear to my radio. I have used logcat to look at whats going on I dont know if its a bitrate problem or a bitpool problem or if my radio isn't in your acoustic database.
http://forum.xda-developers.com/showthread.php?t=708265&highlight=bluetooth+bitrate
Here's the response I received
Although the android software has been updated to be more compatible with Bluetooth headsets and car kits. Most of the time a Bluetooth manufacturer will have a list on there website stating devices they have found compatible, but this is not always the case. From the information on your issue it seems that your device is simply not fully compatible. The only thing we would be able to recommend would be to try another headset.
Then my response back
I would like an Engineer to read my question if possible since I don't think you fully grasp what I'm saying here. First My EVO's Bluetooth A2DP WORKS 100% clearly when using a Open Source ROM which implements Bluez Bluetooth stack http://www.bluez.org/
When I run your Sense UI ROM the Stock ROM you release which uses your own proprietary Bluetooth Stack I get static in the background so you cant really say its my phone now can you? Its your implementation that's not working properly. I'm not about to try every car stereo till I find one that works with the EVO when I know my stereo can work perfectly with my phone when using a properly coded open source Bluetooth stack.
Here is some extra info from a logcat that shows how your Bluetooth makes a connection through A2DP and what I believe is too low of a bitrate or bitpool setting
http://forum.xda-developers.com/showthread.php?t=708265&highlight=bluetooth+bitrate
PLEASE DON'T GIVE ME A ANSWER THAT YOU JUST READ FROM A SCRIPT. I would like a true response from someone who understands and can grasp my question fully like an engineer or a developer, when you give me a generic response of oh your Bluetooth headset isn't compatible keep buying new ones till you find one that works, that really makes me upset since you didn't even read my question it's a car stereo and there not cheap.
I await your educated answer.
And there final bull**** reply
We apologies for any inconvenience you may be experiencing. We will document your concern for review in development of our upcoming devices and future software updates. The situation is still an incompatibility with our device and your car kit weather on software or a hardware level. Unfortunately at this we have no further information beyond what has already been provided.
P_Dub_S said:
Nope all Sense roms use HTC's ****ty low bitpool setting. This is why I'm running CM as well it's the only rom I can A2DP to my Sony Head unit and get good audio. I attempted to contact HTC about this issue here's the juicy details
Here's my initial question
I have terrible static when streaming music over A2DP on my HTC EVO to my sony mex-bt2800 car radio. If I use CyanogenMod 6.0 which uses a open source bluetooth stack my A2DP is crystal clear to my radio. I have used logcat to look at whats going on I dont know if its a bitrate problem or a bitpool problem or if my radio isn't in your acoustic database.
http://forum.xda-developers.com/showthread.php?t=708265&highlight=bluetooth+bitrate
Here's the response I received
Although the android software has been updated to be more compatible with Bluetooth headsets and car kits. Most of the time a Bluetooth manufacturer will have a list on there website stating devices they have found compatible, but this is not always the case. From the information on your issue it seems that your device is simply not fully compatible. The only thing we would be able to recommend would be to try another headset.
Then my response back
I would like an Engineer to read my question if possible since I don't think you fully grasp what I'm saying here. First My EVO's Bluetooth A2DP WORKS 100% clearly when using a Open Source ROM which implements Bluez Bluetooth stack http://www.bluez.org/
When I run your Sense UI ROM the Stock ROM you release which uses your own proprietary Bluetooth Stack I get static in the background so you cant really say its my phone now can you? Its your implementation that's not working properly. I'm not about to try every car stereo till I find one that works with the EVO when I know my stereo can work perfectly with my phone when using a properly coded open source Bluetooth stack.
Here is some extra info from a logcat that shows how your Bluetooth makes a connection through A2DP and what I believe is too low of a bitrate or bitpool setting
http://forum.xda-developers.com/showthread.php?t=708265&highlight=bluetooth+bitrate
PLEASE DON'T GIVE ME A ANSWER THAT YOU JUST READ FROM A SCRIPT. I would like a true response from someone who understands and can grasp my question fully like an engineer or a developer, when you give me a generic response of oh your Bluetooth headset isn't compatible keep buying new ones till you find one that works, that really makes me upset since you didn't even read my question it's a car stereo and there not cheap.
I await your educated answer.
And there final bull**** reply
We apologies for any inconvenience you may be experiencing. We will document your concern for review in development of our upcoming devices and future software updates. The situation is still an incompatibility with our device and your car kit weather on software or a hardware level. Unfortunately at this we have no further information beyond what has already been provided.
Click to expand...
Click to collapse
Well I commend you for trying. This is something that makes me want to tear my hair out so I would love to see this resolved as well.
good on ya mate.
anyone know how to get another bluetooth stack on stock rooted 2.2?
I asked Flipz a while ago but I don't think he's looking into it. I also asked Netarchy he said he would look into it sometime but that i shouldn't hold my breath since he hadn't even looked at the code yet. HTC has released the source for their Bluez implementation so all we need is a dev willing to look into adjusting the bitpool setting.
This is a HUGE problem. I am flashing CM6 right now. HTC I am very disappointed with you..
The cyanogen rom also has great dsp equalizer
CyanogenMod will also make you a tropical island than transform your EVO into a jet plane and take you there ;-)
But in all seriousness, yeah, CM6 has BT fixed. One of my friends nagged Cyanogen about it last month, and he patched it right away.
I wish somebody could help us by increasing the bitpool on the Bluetooth driver. The Evo would be so much more enjoyable (for me at least) if the sound quality was better thru A2DP.
lancer123 said:
Is there any other ROM that has the bit pool set to 53?
Lance
Click to expand...
Click to collapse
It would be nice if there can be a patch of some sort...
Just an update today I got a call from HTC customer service since i gave a poor review of my experience on a survey they sent me. Talked in great detail about our problem with the Bluetooth stack told him about the bitpool setting how its 53 on CM and 35 on there roms. So hopefully on the next update well get a fix for the Stock Sense UI rom.
^^LMAO!!! dont blv the hype
I read that the CM6 ROM has this issue fixed. I have also read reports that the ROM email client doesn't support word wrapping (which I really do need). Can anybody confirm this?
Also,
Can anybody in ROM land please create a patch or an update to their ROM which increases the Bitpool to 53? I understand that the Bluetooth driver code has been released.
Thanks
bump............
any roms address this yet?
greenail said:
any roms address this yet?
Click to expand...
Click to collapse
maybe:
* Added DSP Manager (Digital Signal Processing) to boost audio and equalize sound for Headset, Phone Speaker and Bluetooth devices.
wont let me post links, but you know what to do:
forum.xda-developers.com/showthread.php?t=793471
I am using the latest OTA, rooted, along with the latest pandora and the bt audio quality is much better. I have the motorola t605.
With the initial 2.2 update bt quality sucked but now it's better.
Sent from my PC36100 using XDA App
mchlwvr614 said:
I am using the latest OTA, rooted, along with the latest pandora and the bt audio quality is much better. I have the motorola t605.
With the initial 2.2 update bt quality sucked but now it's better.
Sent from my PC36100 using XDA App
Click to expand...
Click to collapse
That was a streaming issue, not a bitpool issue.
The BT audio was a lot better on my TP2 when I updated the registry bitpool to 48 from 32.
I wish they would fix it.
Hi, I'm almost new here
Since this is my first post, I cannot post in the development section, I hope this do not cause problems.
A few days ago I got my first android phone and started to do some low-level development and I needed to record both the input from the headset mic and the internal mic at the same time. I searched a lot on the net and did not find anything useful for the Galaxy S (Vodafone european I9000), so I decided to add this feature to the wm8994 driver included in the samsung kernel source for the Galaxy S.
Since I've never worked with this kind of device, I do not know if this is the correct way to do it, but it seems to work great.
Basicly I've enabled both input at the same time and routed left adc channel output to left audio interface channel and right adc channe output to right audio interface channel. Everything else is on default settings (as configured by MAIN and SUB path, in fact I've just used the same code).
The code also adds a new enum entry for the capture path, called "DUAL", which now is after "MIC OFF", but its just an hack, I'll clean it up later. Using the command "amix" will dump all the mixer channel:
Code:
...
7 MIXER 0 0 0 1 rw ENUM Capture MIC Path { Main Mic=0, Hands Free Mic=1, BT Sco Mic=2, MIC OFF=3, Dual=4 }
...
It can be tested using the pcm_* and mixer_* routines taken from samsung's libaudio, you just need to call pcm_open without specifying PCM_MONO but just PCM_IN, since now both left and right channels will be populated. If you have access to Cyanogen Mod repository, just grab the arec.c source from there and remove the PCM_MONO flag. Beside this I suggest you to dump raw pcm audio and load it into something like Audacity, arec.c seems to produce a wrong riff header.
Now for the questions...
Any ideas on how to correctly setup the gain on both channels? Currently the gain of the headset mic is set to +15 dB on the input PGA and +0 dB on the adc channel while the gain of the internal mic is set to +10.5 dB on the input PGA and +0 dB on the adc channel. I also tried to use the same settings from Voodoo Sound high sensitivity path (with drc enabled), but no results so far... The default gain is far too low, I must talk very near to the headset mic.
Beside this, I've also noticed a strange behavior when recording from both mic. If they're very near, the audio recorded from the headset mic channel will be highly suppressed, if they're far apart, no suppression occurs. As far as I know, wm8994 do not perform noise cancellation on device, any clues on this? Anyway this is not a big deal, since the two microphones will be quite far during normal usage. By far the biggest problem is on the gain for the headset mic.
I hope someone might be interested on this extension to wm8994, this device is really powerful, it's a shame that samsung is using 1/10 of its power...
Attached to this post is the patch file, I've worked on the 2.6.35-12 (recently switched to -13) kernel from teamhacksung, you can get it on github (cannot post the link for the 8 post limit...), just apply the patch from the root kernel directory and rebuild the kernel image as usual.
Any help is highly appreciated
Thanks.
Bye!
EDIT: OPS I'm sorry but I forgot to mention that to enable dual mic recording, you have to activate its path of course through alsa_mixer, like this:
ctl = mixer_get_control(mixer, "Capture MIC Path", 0);
printf("ctl: %x\n", ctl);
if(ctl)
{
int r;
r = mixer_ctl_select(ctl, "Dual");
printf("res: %d\n", r);
}
Click to expand...
Click to collapse
forgive me
i think you should contact supercurio ( https://twitter.com/#!/supercurio )
he's a real badass when it comes to tweaking WM8994 driver
also you might want to check out his app called "voodoo control (plus)"
Welcome to xda! .... That's a great first post!
Sorry to not have any info to help you, but I hope you find what you are looking for and get this working how you want.
I agree that Supercurio is probably the most clued up on audio for these phones. But you probably already knew that since you mention Voodoo Sound (which is his work).
Good luck
Mike
Quake2 said:
Hi, I'm almost new here
Since this is my first post, I cannot post in the development section, I hope this do not cause problems.
A few days ago I got my first android phone and started to do some low-level development and I needed to record both the input from the headset mic and the internal mic at the same time. I searched a lot on the net and did not find anything useful for the Galaxy S (Vodafone european I9000), so I decided to add this feature to the wm8994 driver included in the samsung kernel source for the Galaxy S.
Since I've never worked with this kind of device, I do not know if this is the correct way to do it, but it seems to work great.
Basicly I've enabled both input at the same time and routed left adc channel output to left audio interface channel and right adc channe output to right audio interface channel. Everything else is on default settings (as configured by MAIN and SUB path, in fact I've just used the same code).
The code also adds a new enum entry for the capture path, called "DUAL", which now is after "MIC OFF", but its just an hack, I'll clean it up later. Using the command "amix" will dump all the mixer channel:
Code:
...
7 MIXER 0 0 0 1 rw ENUM Capture MIC Path { Main Mic=0, Hands Free Mic=1, BT Sco Mic=2, MIC OFF=3, Dual=4 }
...
It can be tested using the pcm_* and mixer_* routines taken from samsung's libaudio, you just need to call pcm_open without specifying PCM_MONO but just PCM_IN, since now both left and right channels will be populated. If you have access to Cyanogen Mod repository, just grab the arec.c source from there and remove the PCM_MONO flag. Beside this I suggest you to dump raw pcm audio and load it into something like Audacity, arec.c seems to produce a wrong riff header.
Now for the questions...
Any ideas on how to correctly setup the gain on both channels? Currently the gain of the headset mic is set to +15 dB on the input PGA and +0 dB on the adc channel while the gain of the internal mic is set to +10.5 dB on the input PGA and +0 dB on the adc channel. I also tried to use the same settings from Voodoo Sound high sensitivity path (with drc enabled), but no results so far... The default gain is far too low, I must talk very near to the headset mic.
Beside this, I've also noticed a strange behavior when recording from both mic. If they're very near, the audio recorded from the headset mic channel will be highly suppressed, if they're far apart, no suppression occurs. As far as I know, wm8994 do not perform noise cancellation on device, any clues on this? Anyway this is not a big deal, since the two microphones will be quite far during normal usage. By far the biggest problem is on the gain for the headset mic.
I hope someone might be interested on this extension to wm8994, this device is really powerful, it's a shame that samsung is using 1/10 of its power...
Attached to this post is the patch file, I've worked on the 2.6.35-12 (recently switched to -13) kernel from teamhacksung, you can get it on github (cannot post the link for the 8 post limit...), just apply the patch from the root kernel directory and rebuild the kernel image as usual.
Any help is highly appreciated
Thanks.
Bye!
EDIT: OPS I'm sorry but I forgot to mention that to enable dual mic recording, you have to activate its path of course through alsa_mixer, like this:
forgive me
Click to expand...
Click to collapse
@Quake2 : DO you have datasheet /pin diagram of wm8994
I would like to insert digital data on mic instead reading from analog input
As many out there know the wolfson audio DAC has been the subject of many sound mods to improve smartphone sound quality. Supercurio was the pioneer in this and made some great DAC control enhancements namely voodoo sound. This has been continued with the work of the boeffla sound, scooby doo and various wolfson control programs in many kernels for the Note 2, S3 intl. In both boeffla and voodoo mods there is a section for activating the onboard parametric equalizer of the DAC. What has NOT been available is a way to adjust the frequency, bandwidth of the bands. So we were left with fixed bands that could have gain adjustment only. Up to now I have been using the parametric equalizer of Neutron player which is quite good but thought why not try to do the same thing with the wolfson DAC directly. Since it is an on chip feature it takes not extra cpu time or battery use. Looking through many posts and boards, there was no real data on how to do this. So I started tinkering with the equalization band parameters directly and was able to get frequency adjustment changes looking at RMAA curves. But there seemed to be no good pattern to what I was doing. I was ready to just give up but found a post on a raspberry pi thread about changing some registers on the wolfson DAC and was finally able to do it. So here it is:
Go to http://www.wolfsonmicro.com/support/wisce and download the WISCE software for the 8994 board. Then download the 8994 "board" http://www.wolfsonmicro.com/product...ments/uploads/software/WM8994Setup_Rev3_0.zip.
Install the wisce, then the 8994 board.
Do not open either yet.
After all installed, open the 8994 program, create a new system, choose simulated and keep the default device, hit ok and you are ready.
Proceed down the left side to Tuning- A1F1Dac1, if you click that you will see the equalizer settings and curve.
Here you can adjust the center freq, high and low pass filters and bandwidth of each.
When you are satisfied , go to the View menu and choose registers.
See the screen shot but the values you are interested in are circled, they correspond to the file in sys/devices/virtual/misc/voodoo_sound/headphone_eq_bands_values. They are in hex. In wolfson/boeffla they are in a different file but in decimal. Under the File/Preferences menu of wisce you can change the display to decimal so no need to hand convert.
The gain must be set independently, so in the same folder sys/devices/virtual/misc/voodoo_sound, there will be files for gain of bands 1-5. Be gentle here, or you will get clipping. In fact I would make cuts in the parametric settings at least equal to your gains. If you use Neutron , you can set up a similar equalization curve, "normalize" the tracks to the curve and Neutron will set the preamp gain for each track individually. Then just disable Neutron's equalizer and the gain settings will still stick for the wolfson DAC changes.
Make sure that you go into either boeffla or voodoo settings and enable the bass booster, or equalizer even if you don't want the extra bass. That enables the use of the settings.
The changes may not survive a reboot and the equalization bands file will only show the changes if a headset is in the jack
I use tasker to overwrite the files each reboot and have a different profile if I am using my Shure 535 with a microphone control vs playing to a speaker setup(3 band plug)
Here is the result using RMAA including neutron as my original base.
Happy tuning!
Additional Note 2 tech data:
Hi
this applies to the nexus? 5-6
perobot said:
this applies to the nexus? 5-6
Click to expand...
Click to collapse
Sorry no
But see http://forum.xda-developers.com/android/software-hacking/reference-qualcomm-audio-codec-iir-t3093000
Pretty interesting, you know your stuff. Am i able to use this with my note 2 n7100?