Hi, I'm reading more and more often that modern cars have an accessory called active noise canceling / reduction inside. Informing me of this technology allows the reduction of internal noise with a very simple active system. Thanks to the microphones, the background noise is recorded, such as that of the engine, the prairies and the hisses of air. They are sent to the stereo and reproduced through the audio speakers of the machine, but with opposite phase so as to cancel or almost these noises. You understand latency times of this processing but I have not found anything on the PlayStore that does something like that, maybe because it's useless on smartphones .. What do you think?
Noise cancelling can only be done in hardware. The latency required needs to be very close to 0ms to actually work. Even the best Android phones and iPhones are in the region of 10-20ms (my pixel2 measured 14ms)
Phones that have noise cancelling features do it in hardware, with no software involvement. In short, it's impossible to get an app to do this.
Related
The microphone for the Nexus 4 is very noisy. A user on another thread described a video he recorded
to sound as if it was "recorded underwater".
I looked up the Android SDK and the MediaRecorder object has access to the following audio streams:
CAMCORDER, DEFAULT, MIC, VOICE_CALL, VOICE_COMMUNICATION, VOICE_DOWNLINK, VOICE_RECOGNITION, VOICE_UPLINK.
http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html
I noticed that while audio and video recorders sound bad on Nexus4, voice calls are of decent quality.
Not all phones have the hardware to handle all these so most sound recorders use MIC or DEFAULT.
I found the source code to the MIUI Sound Recorder and it was easy to add a setting that lets you
manually select which hardware stream to record from.
I ran some tests on the Nexus 4 and came to the following conclusions:
- MIC, DEFAULT and VOICE RECOGNITION are probably the same stream and sound bad.
- the CAMCORDER audio stream is the cleanest.
I propose that until Google and LG fix this issue ROM developers alter the Android API on Nexus 4 (only)
so that the CAMCORDER stream always overwrites MIC and DEFAULT.
I'm attaching the modified MIUI Sound Recorder with manual stream select if anyone wants to do
tests on their own. Here's an amplified view of MIC vs CAMCORDER.
-Mindroid- said:
The microphone for the Nexus 4 is very noisy. A user on another thread described a video he recorded
to sound as if it was "recorded underwater".
I looked up the Android SDK and the MediaRecorder object has access to the following audio streams:
CAMCORDER, DEFAULT, MIC, VOICE_CALL, VOICE_COMMUNICATION, VOICE_DOWNLINK, VOICE_RECOGNITION, VOICE_UPLINK.
http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html
I noticed that while audio and video recorders sound bad on Nexus4, voice calls are of decent quality.
Not all phones have the hardware to handle all these so most sound recorders use MIC or DEFAULT.
I found the source code to the MIUI Sound Recorder and it was easy to add a setting that lets you
manually select which hardware stream to record from.
I ran some tests on the Nexus 4 and came to the following conclusions:
- MIC, DEFAULT and VOICE RECOGNITION are probably the same stream and sound bad.
- the CAMCORDER audio stream is the cleanest.
I propose that until Google and LG fix this issue ROM developers alter the Android API on Nexus 4 (only)
so that the CAMCORDER stream always overwrites MIC and DEFAULT.
I'm attaching the modified MIUI Sound Recorder with manual stream select if anyone wants to do
tests on their own. Here's an amplified view of MIC vs CAMCORDER.
Click to expand...
Click to collapse
I modified my kernel to fix this and I used your apk to test for both mic and camcorder and I don't notice the difference with my updated kernel.
http://faux.androidro.ms/mako/beta/mako-jb-kernel-004b06.zip
check for me to see if I really fix it or not since I am not an audio expert
Thank you, faux!
I've been meaning to try your kernel for a while so now I just have to.
Please treat my ideas about how Android exposes the audio stream as a speculation for now.
I didn't run any in-depth tests and I didn't trace the kernel code.
To my ears the MIC/DEFAULT streams are very noisy. The CAMCORDER one is noisy also
and but somewhat less so. They all sound bandpassed (probably a microphone limitation).
I'd like to know what other users think of the sound.
Very interesting.
I agree that N4 mic is so sensitive that it picks up a lot of background noises. I have been tweaking with mic volume to offset it.
If OP is true, then there's a hope for VoIP users who use Csipsimple. Without changing the kernel, csip can use CAMCORDER mode by changing the settings under media>audio troubleshooting.
The very high mic gain is the main issue with the sound quality. It needs to be adjusted from
the kernel driver which is not a trivial procedure. Gain from apps works on top of the hardware
gain and does not affect distortion that happens earlier in the signal chain.
One user put scotch tape on the mic to mechanically attenuate the sound and reported good results.
If the the sound system on the nexus 4 is built on top of ALSA, I.e. if the directory /proc/asound exists, then microphone levels can be adjusted in user-space. There is an app (ALSAMixer) available on the market that could be used here.
What would be the effect of covering the mic with something to reduce it's sensitivity?
chdloc said:
If the the sound system on the nexus 4 is built on top of ALSA, I.e. if the directory /proc/asound exists, then microphone levels can be adjusted in user-space. There is an app (ALSAMixer) available on the market that could be used here.
Click to expand...
Click to collapse
I'm not sure if that will do it. The textbook audio recording chain goes like this:
microphone -> preamp -> analog-to-digital converter
If I'm not mistaken ALSA(the driver) will take over afterwards. We need a way to control
the hardware gain on the preamp. It's possible that preamp gain is permanently fixed by design.
On the other hand almost all modern preamps have automatic variable gain so it might just be
a matter of figuring out how to turn it on.
EDIT:
ALSAMixer doesn't work at all on my phone (stock 4.2.1 - rooted)
Do you know of any custom kernels for the Nexus4 that use ALSA?
donec said:
What would be the effect of covering the mic with something to reduce it's sensitivity?
Click to expand...
Click to collapse
Aside from the ugly look it should work OK. I would suggest using some kind of soft thread fabric.
Wool is one of the best materials for sound absorption but you should try different materials.
The downside is that mechanical methods don't attenuate all frequencies linearly - they work much better
on higher frequencies so you will have to try and see what material works best.
If this works out it would be ideal to open the phone and plug the microphone hole on the inside with the proper material.
I don't have a Nexus 4, but I do know that the Nexus 7 uses ALSA. Have you checked for /proc/asound? If it exists, then you may need the proper ALSA libraries first.
Sent from my Nexus One using xda app-developers app
im starting to think LG just used cheap mics to keep cost down. From the buzzing to the sub par recording quality
-Mindroid- said:
Aside from the ugly look it should work OK. I would suggest using some kind of soft thread fabric.
Wool is one of the best materials for sound absorption but you should try different materials.
The downside is that mechanical methods don't attenuate all frequencies linearly - they work much better
on higher frequencies so you will have to try and see what material works best.
If this works out it would be ideal to open the phone and plug the microphone hole on the inside with the proper material.
Click to expand...
Click to collapse
I have my Nexus 4 in a case and thought maybe I could improve the quality by placing a piece of cloth between the case and the phone.
Lockeskidney said:
im starting to think LG just used cheap mics to keep cost down. From the buzzing to the sub par recording quality
Click to expand...
Click to collapse
The specs for the microphone do not look bad either. http://www.knowles.com/search/prods_pdf/SPU0410LR5H.pdf is the spec sheet and it should be working to 116 dB, which is louder than I'd want to be in - though it is only the loud end of rock concerts. Noise also looks okay on the spec sheet, but you cannot expect Schoeps quality of course..
The underwater sounds I'm hearing with the sound recording tool remind me of processing, heavy compression andf such. Not what I heard on my camcorder tests, which had a pleasant sound.
Overload is more likelely to be caused by audio codec settings. A voice call has the mouth close to the mic, that is loud too, and works well. But applications like movie recordings crank up the gain to record sounds further away.
jutezak said:
The specs for the microphone do not look bad either. http://dl-bacon.bbqdroid.org/GeebCM/EN_LG-E973_SVC_ENG_121127.pdf is the spec sheet and it should be working to 116 dB, which is louder than I'd want to be in. Noise also looks okay on the spec sheet, but you cannot expect Schoeps quality of course..
The underwater sounds I'm hearing with the sound recording tool remind me of processing, heavy compression andf such. Not what I heard on my camcorder tests, which had a pleasant sound.
Overload is more likelely to be caused by audio codec settings. A voice call has the mouth close to the mic, that is loud too, and works well. But applications like movie recordings crank up the gain to record sounds further away.
Click to expand...
Click to collapse
Nice find! Thank you for sharing!
Microphones in general are almost never bad. It's the preamps and digital processing that add more to the mix.
Regarding the "underwater" sound I now suspect a lack of a Low Pass filter. Check out my other thread:
http://forum.xda-developers.com/showpost.php?p=36856100&postcount=18
jutezak said:
The specs for the microphone do not look bad either. http://www.knowles.com/search/prods_pdf/SPU0410LR5H.pdf is the spec sheet and it should be working to 116 dB, which is louder than I'd want to be in - though it is only the loud end of rock concerts. Noise also looks okay on the spec sheet, but you cannot expect Schoeps quality of course..
Click to expand...
Click to collapse
Human speech can generate 116dB SPL measured at 1-2" distance fairly easily. I just measured the level my speech at 1" distance (with a lab-grade device) and I did not have to shout to produce 116dB SPL. The spec sheet says that the microphone produces about 10% THD typically at 118SPL for a 1kHz tone.
jutezak said:
Overload is more likelely to be caused by audio codec settings. A voice call has the mouth close to the mic, that is loud too, and works well. But applications like movie recordings crank up the gain to record sounds further away.
Click to expand...
Click to collapse
Distortion of the microphone signal is generated (or amplified) in at least four locations:
1. The microphone itself (analog or digital if the microphone is a digital microphone as many MEMS are; the above referenced Knowles mike is analog)
2. The amplifier (analog)
3. The analog-to-digital converter (ADC) which is spec'ed with a maximum input voltage to generate a signal that hits "digital rail", i.e. 0dB FS (full-scale)
4. digital gain along the digital processing path
Potential "clipping" (i.e. signals producing 0dB FS at the ADC) can only be avoided if the analog amplifier (if there is one) can be controlled. By looking at the ALSA mixer settings for the Nexus 4 my only hope lies in the controls that are labeled "ADCX Volume" where X=[1,6], i.e. numid. I believe -Mindroid- shared his "idle" settings vs. settings during a call and only X={1,3}, i.e. numid={48,50} have changed. Give changing those two parameters a try...
I posted this in a different thread, but thought it would be useful here as well as a potential lead to a workaround:
Looks like the audio chip in question is a Qualcomm WCD9310.
It's used in a few other devices as well (eg: GS3 USA). If their audio runs fine, perhaps we could try running their audio drivers on our device?
Hi,
strangely, i find the audio quality to be very poor (much worse than the GNEX i'm coming from anyway).
- sound stage is much narrower using the walkman app.
- using poweramp has proven to be impossible : there is an awful background noize (that i don't get either with the walkman app, either with google play music, like a FM radio interference.) The sound stage seems wider (I suppose this is thanks to the "direct volume control" feature of poweramp)
I did the test with 320kbps mp3, and a wide range of CD quality FLAC files.
I have tried the high res usb DAC output, but will not be using it on a daily basis as :
- it requires the platic waterproof protection to be off
- with my usb dac (dragonfly 1.2) the phone cannot control the dac's volume control (100% output volume would smash to pieces my earphones, and my ears)
- having a cable attached to the microusb port is the best way to break the port...
I'm not using any of the rubbishy musiFX, clearaudio stuff.
My earphones are high end IEMs (westone W60).
Anyone experienced this too ?
Well, I have encountered similar problem with you..
For the noise floor, it seems that this problem appears only if you use Poweramp, I have tried to use walkman and folder player with creative in-ear 3 and ATH-AD900X, the noise floor is not very obvious. Generally, I think z3c has a relatively good control of noise floor, and the arising of noise is due to Poweramp.
For the sound stage, yes it is narrower when you use Walkman, open the Clear Audio+ will enlarge sound stage a little bit but then the problem of sibilance arises
YEEES. Thank you so much for confirming I'm not going nuts and my phone is not malfunctioning !
I've sent a bug report to poweramp devs. I hope it gets fixed...
I personally can't bare clearaudio-style features which tend to give the feeling the music was recording microphone was set up inside a can...
ps: btw I learnt a new word today : sibilance.
ps2 : please upvote the bug thread on poweramp's forum (http://forum.powerampapp.com/index.php?/topic/6857-horrible-noise-floor-on-z3-compact/)
ps3: forgot to mention, this noise problem is related to Direct Volume Control. disabling this feature in poweramp removes the noise issue, but also reduces sound quality and sound stage.
icsha said:
Well, I have encountered similar problem with you..
For the noise floor, it seems that this problem appears only if you use Poweramp, I have tried to use walkman and folder player with creative in-ear 3 and ATH-AD900X, the noise floor is not very obvious. Generally, I think z3c has a relatively good control of noise floor, and the arising of noise is due to Poweramp.
For the sound stage, yes it is narrower when you use Walkman, open the Clear Audio+ will enlarge sound stage a little bit but then the problem of sibilance arises
Click to expand...
Click to collapse
hi, i'm too dissapointed about the music quality.
it was much better when i installed custom rom on xperia tipo with z1 features, clearaudio+ gave the huge quality boost
There's a hissing/static noise whenever audio starts. If I pause it'll stop after a few seconds. Anyone know the cause of this?
I'm also interested in this. When I tried playing in my car, firstly I thought it could be software or some equalization problem. But, even deactivating all, that hiss continued so maybe it could be the quality of audio cable (quite poor).
Trying at home with a quite decent pair of earphones: Sennheiser IE8, I still can hear the hiss. It is much less hearable (suppose less amplification of sound, I've been listening music at maximum level to detect it), but also here.
I think there are only 2 possibilities: bad software/ROM implementation or defective/bad hardware. The defective hardware is rare, I've read some opinions and all say more or less the same... I expected some more quality of sound, and more if it comes from Sony...
Hi did anyone try recording a musical instrument with the Nokia 8?
Is anyone willing to try and do something simple with a guitar or something else I'm really curious what the OZO sounds like when recording a musical instrument...
Thanks guaranteed!!
I haven't recorded isolated instruments, but I have noticed that in loud settings (concert venue, car stereo) the microphone seems to saturate and clip pretty easily. I haven't seen any kind of gain control, either. It would probably be pretty decent in a quiet, more studio-like setting, but it doesn't seem to handle louder environments well.
xasbo said:
I haven't recorded isolated instruments, but I have noticed that in loud settings (concert venue, car stereo) the microphone seems to saturate and clip pretty easily. I haven't seen any kind of gain control, either. It would probably be pretty decent in a quiet, more studio-like setting, but it doesn't seem to handle louder environments well.
Click to expand...
Click to collapse
Thank you this information is very useful for me, that kind of clipping worries me as I also play a high tin whistle that it's shrill high notes could cause microphones to clip, do you think they can fix that gain issue? Is the recording you did after the recent updates? Also have you tried recording a loud environment with a different phone to compare if they would clip in the same loud environments? Especially interested in the LG V30 or G6 with regard... I also heard that the new Sony Xperias should be good with regard and able to record loud concerts... Thank you very much!
I watched a video on Youtube in which a person used a Nokia 8 to record pushing back a Boeing 777 aircraft! wow! the sound is very crisp and doesn't clip despite the relatively loud environment, xasbo, do you reckon your specific unit could be faulty? and the clipping has been fixed in more recent units? thanks for your help!
https://www.youtube.com/watch?v=5jBIBjL-uXQ
Has anyone noticed the background noise cancellation when using the speaker microphone is too aggressive in a VOLTE or video call? Any time I lay my phone flat and step > 3' away and talk out loud at an angle that is not directly pointed at the phone, the receiving party complains that my voice is too low or cutting in and out. It happens with multiple video apps but is less prominent in Duo. I wanted to see if anyone else has been experiencing similar issues. This has been happening on 2 different devices after my first replacement.
Using a case or skin? Don't obstruct the mic ports, they tend to be very small.
Maybe just be the design, a setting or a firmware issue (hopefully Samsung will patch if so).
Been a wet dog year for Android and Samsung...
Yeah, i have tried without a case and the problem still exists. I think the audio processor for the Mic inputs may be too aggressive or not tuned for my voice. After looking at similar problems with other devices, I think the solution lies in the location of the audio configuration files; particularly in system/vendor/etc/audio_effects.xml and audio_platform_info.xml. I'm not too familiar with editing configuration files on a non-rooted device. Is there any way to modify some of the config files to play around with the stock noise suppression?
Try disabling or covering one or more of the mics.
Eventually Samsung will probably roll out a firmware or software fix
Akeid said:
Has anyone noticed the background noise cancellation when using the speaker microphone is too aggressive in a VOLTE or video call? Any time I lay my phone flat and step > 3' away and talk out loud at an angle that is not directly pointed at the phone, the receiving party complains that my voice is too low or cutting in and out. It happens with multiple video apps but is less prominent in Duo. I wanted to see if anyone else has been experiencing similar issues. This has been happening on 2 different devices after my first replacement.
Click to expand...
Click to collapse
I understand this isn't the correct place for my reply but I just bought two phones one came from Samsung which is the S21 Ultra 5G but the other is the Samsung Note 9. Both new. Every time I try to talk to someone with my note 9 they say they cannot hear me. So I have to Culp the phone and my mouth as like making a sound tunnel, if you will, from my mouth directly to the phone and they are able to hear me but not sure how well. So if you find the solution I'll keep and eye out so I can hopefully fix my problem
Historically, Samsung is known to switch to the top mic for speakerphone mode, and lower mic for handset mode sometimes ... Maybe try speaking into the top mic and see if the noise cancellation is still aggressive.
Akeid said:
Has anyone noticed the background noise cancellation when using the speaker microphone is too aggressive in a VOLTE or video call? Any time I lay my phone flat and step > 3' away and talk out loud at an angle that is not directly pointed at the phone, the receiving party complains that my voice is too low or cutting in and out. It happens with multiple video apps but is less prominent in Duo. I wanted to see if anyone else has been experiencing similar issues. This has been happening on 2 different devices after my first replacement.
Click to expand...
Click to collapse
Yes I agree. Same issue