[ClOSED] Sound Meter for WearOs - Wear OS Software and Hacking General

Are you a professional, musician, sound engineer, or someone who needs to measure and monitor sound levels in your environment? Look no further than Sound Meter, the audio measurement and monitoring app for Android wear smartwatches.
With Sound Meter, you can easily and accurately measure sound levels on-the-go without the need for a separate sound measurement device. The app offers a range of features and functionality to help you get the most out of your sound measurement and monitoring experience.
Get a complete lowdown on the decibel levels in your surroundings with Sound Meter! It shows you the current, max, and average sound levels in real-time, giving you a spidey-sense for the noises around you. You can easily pause and resume your sound measurements at any time using the pause and close buttons. Keep track of your sound data and restart your session whenever you're ready, all with just a few taps.
In addition, Sound Meter includes an amplitude visualizer, which allows you to see the sound wave in real-time. The visualizer provides a clear and easy-to-understand representation of the sound levels, making it easier for you to monitor and manage the sound levels in your environment.
Sound Meter is designed to be user-friendly and intuitive, with a clean and simple interface that makes it easy to use even for those without a background in sound engineering. Plus, with support for a wide range of Android wear smartwatches, you can use Sound Meter on your preferred device.
So why wait? Download Sound Meter today and start measuring and monitoring sound levels like a pro.
Mod edit: DL link removed
Note:- Microphones in most devices are aligned to human voice and the maximum values are limited by the hardware. Very loud sounds (~90 dB and more) may not be recognized.

@Arunsudharsan
Greetings. I have closed your thread which is in vilation of XDA's Rules for Paid Apps and Themes, with emphasis on the following excerpt:
Spoiler
1) You must provide a free theme/app for all members. Your Thread must focus on this free theme/app. You may only mention and link to the paid theme/app.
2)The theme/app must remain free. No limited access, no registration required.
If/when you wish to provide a free version to our members, then please PM me and I'll be happy to open your thread.
Thank you for your cooperation, and have a pleasant day.
-Regards: Badger50

Related

[Q] Music Player with Pitch Adjust option or any plugin doing the trick.

Hi, I was wondering if anyone in here knows if there is any app or plugin for android 2.2 (Desire) that would allow users to adjust the pitch of music playback? I have no idea whether it is possible hardware-wise. What I am specifically after is turning it down to -0.32 semitones, that basically changes the playback frequency from standard 440 hz to 432 hz. Thanks in advance.
Why? (I am genuinely interested)
432hz vibrates on the principals of natural harmonics and unifies the properties of light, time, space, matter, gravity and magnetism with biology, the DNA code and consciousness.
432hz Natural Tuning has profound effects on consciousness and also on the cellular level of our bodies.
By retuning musical instruments and using concert pitch at 432 hertz instead of 440 hertz, you can "feel" the difference of connecting to natural resonance
You can give it a try on your computer by adjusting it in your music player. Foobar2000 does the thing after installing a little plugin called soundtouch. Activate it and configure by adjusting the pitch to -0.32 semitones. It smells a bit of another conspiracy theory, but I've just listened to few of my favourite dub albums and hell yeah, there is a difference.
echo3012 said:
432hz vibrates on the principals of natural harmonics and unifies the properties of light, time, space, matter, gravity and magnetism with biology, the DNA code and consciousness.
432hz Natural Tuning has profound effects on consciousness and also on the cellular level of our bodies.
By retuning musical instruments and using concert pitch at 432 hertz instead of 440 hertz, you can "feel" the difference of connecting to natural resonance
You can give it a try on your computer by adjusting it in your music player. Foobar2000 does the thing after installing a little plugin called soundtouch. Activate it and configure by adjusting the pitch to -0.32 semitones. It smells a bit of another conspiracy theory, but I've just listened to few of my favourite dub albums and hell yeah, there is a difference.
Click to expand...
Click to collapse
I just tried it, and -0.32 semitones isn't one of the options. The slider skips it. It's preset adjustments, and that isn't one.
You just tried what? Adjusting it in foobar? Use your keyboard arrows left/right, that allows you to adjust by 0.01 semitones.
echo3012 said:
432hz vibrates on the principals of natural harmonics and unifies the properties of light, time, space, matter, gravity and magnetism with biology, the DNA code and consciousness.
432hz Natural Tuning has profound effects on consciousness and also on the cellular level of our bodies.
By retuning musical instruments and using concert pitch at 432 hertz instead of 440 hertz, you can "feel" the difference of connecting to natural resonance
You can give it a try on your computer by adjusting it in your music player. Foobar2000 does the thing after installing a little plugin called soundtouch. Activate it and configure by adjusting the pitch to -0.32 semitones. It smells a bit of another conspiracy theory, but I've just listened to few of my favourite dub albums and hell yeah, there is a difference.
Click to expand...
Click to collapse
sounds interesting; going to try that in foobar once i get home.
you got any evidence to support your statements?
Can't tell a difference, and the other google results are from conspiracy theory sites.
If you can't hear the difference then forget the whole thing, 0.32 semitones is enough to at least admit that whatever you're listening to sounds a bit off key. You'll get used to it after a while and then it will just sound more mellow than usual.
Bump!
Is there any program for this?
Thanks!
echo3012 said:
Hi, I was wondering if anyone in here knows if there is any app or plugin for android 2.2 (Desire) that would allow users to adjust the pitch of music playback? I have no idea whether it is possible hardware-wise. What I am specifically after is turning it down to -0.32 semitones, that basically changes the playback frequency from standard 440 hz to 432 hz. Thanks in advance.
Click to expand...
Click to collapse
Writing one with help of SoundPool and setRate() shouldn't be hard...
I'll try tomorrow and post the APK and source code if succeed
This would also be handy for Karaoke singers, they can change the pitch of the track they're playing from the Phone?
Bumping this, is there a 432 converter or player?
Thanks
Bump!
In4ming said:
Bump!
Click to expand...
Click to collapse
Maple mp3 player does it!
http://www.roelhollander.eu/en/432-tuning/432-music-players/
Just need to find a player that will stream my 50,000 songs and change them to 432hz
432 Player -
http://forum.xda-developers.com/android/apps-games/app-432hz-music-player-t2959938

Sound Discussion for CM9

hello all,
we have all seen the sound issue with cm7/cm9 where the sound is distorted upon screen shutting down.
I thought maybe getting our research together may be able to help someone develop a fix so i'll start.
Based on some tear down research, I figured out the the touchpad comes with the Wolfson WM8958
here is a pdf with great info and diagrams (including pin layouts and diagrams, max ratings, and recommend operating conditions):
http://www.wolfsonmicro.com/documents/uploads/product_briefs/en/WM8958_ProductBrief_1.pdf
link: http://www.wolfsonmicro.com/products/audio_hubs/WM8958/
key features:
Features
24-bit 4-channel Hi-Fi DAC and 2-channel Hi-Fi ADC
100dB SNR during DAC playback (‘A’ weighted)
Smart MIC interface
- Power, clocking and data input for up to four digital MICs
- High performance analogue MIC interface
- MIC activity detect & interrupt allows processor to sleep
2W stereo (2x2W) class D/AB speaker driver
Capless Class W headphone drivers
- Integrated charge pump
- 5.3mW total power for DAC playback to headphones
4 Line outputs (single-ended or differential)
BTL Earpiece driver
Digital audio interfaces for multi-processor architecture
- Asynchronous stereo duplex sample rate conversion
- Powerful mixing and digital loopback functions
ReTune™ Mobile 5-band, 6-channel parametric EQ
Multiband compressor and dynamic range controller
Dual FLL provides all necessary clocks
- Self-clocking modes allow processor to sleep
- All standard sample rates from 8kHz to 96kHz
Active noise reduction circuits
- DC offset correction removes pops and clicks
- Ground loop noise cancellation
Integrated LDO regulators
72-ball W-CSP package (4.516 x 4.258 x 0.7mm)
----------------------------------------------------
now they have an opensource that may or may not be helpful:
http://opensource.wolfsonmicro.com/
Linux 2.6.38 was just released. As ever this release incorporates many enhancements from Wolfson, including substantial improvements in the memory usage when used with large and flexible devices such as modern audio hub CODECs and new driver support for WM8326, WM8737, WM8770 and WM8958
http://opensource.wolfsonmicro.com/content/wolfson-updates-2638
i was reading some information posted by timepants and eventually used by biotech creator of Touchvol on the webos side that seems interesting and may be useful:
here is a copy and paste since i'm not sure if i can post the link to another forum here.
To modify some "hidden" WM8958 CODEC settings from the console you can use the below commands using novaterm. I should caution that you should be very careful because you can break something if you set your headphones or the internal speakers to drive beyond their normal operating limits.
A reboot should reset the values to default.
See what mixer channels are available: "amixer" <enter>. I recommend copying the contents to a text editor window so you can maintain a list of defaults (which are the bottom line of each printed section). The headphones are tied to items relating to "AIF1" and "AIF1DAC1". I haven't explored speakers yet.
To control volume: amixer set "Headphone" <0..63>
To control volume boost: amixer set "AIF1 Boost" <0..3>
To enable/disable "3D Stereo": amixer set "3D Stereo" toggle
There are settings for an EQ but I haven't had success getting it to work yet. The associated settings appear to be "AIF1DAC1 EQ", "AIF1DAC1 EQ1", "AIF1DAC1 EQ2", "AIF1DAC1 EQ3", "AIF1DAC1 EQ4", "AIF1DAC1 EQ5", "AIF1DAC1 Enhanced EQ". Maybe there's another toggle or channel selection involved?
If anyone discovers any additional useful settings, be sure to share.
Edit: Changed WM8994 to WM8958. The kernel module in use is the WM8994 which is what confused me originally.
also seems like from reading the software may not take full advantage of the hardware, it may be using 2x1w rather then the 2x2w.
hope some of this helps, maybe we can get this issue resolved, thanks for reading

Need help with frame rate controls on android devices

I am working with a partner in developing an app that would go in between the apps and basically control it in order to show a uniform control of the pixels. Basically what we are trying to do is have pixel level control of the display regardless of the content on the phone.
My Questions are:
1. Does the smartphone developer API provide access to the frame buffer of the display, which can be modified for each frame that is displayed on the screen?
2. Does the smartphone have enough time to run a 2D filter on each frame before it gets displayed? Will the phone processor be fast enough that you can filter each image and still keep up with the output frame rate (e.g. 30 frames per second). Each calculation that will need to be calculated takes time for the processor to calculate, but how much? Can the phone do all of the calculations it will need to under 1/30 seconds AND keep up with normal app processing without affecting the overall frame rate. Much of this is based on the software that is developed to solve the problem, so the real question really isn't "Does the phone have enough real time," but rather " is the phone fast enough to handle a garden variety 2D convolution on top of everything it already does".
3. Will this level of control be achievable without root to be able to reach more people with unrooted devices or is this achievable only by root level permissions.
I do hope I am in the right area to post this very important question in the the development process. We need to get this sorted out first before we can begin programming.
All the help would be very much appreciated. Thanks xda!

[MOD] [ROOT] Camcorder Audio Quality Fix with Stereo Recording and Playback Support

Updates
Lollipop: The attached archive named camcorder_audio_fix_plus_stereo_playback_LMY47D_v1_1.tar.gz or this Aroma installer is fully supported on any AOSP-based Lollipop build greater than or equal to 5.1
M-Preview: The "simple" fix (without noise suppression) offered by this Aroma installer should work any of the M-Preview builds. The "advanced" mod, however, is incompatible with M-Preview builds.
October 8, 2015: Full Marshmallow support available here
August 26, 2016: Nougat support for simple fix available here
The Problem
The audio of a camcorder recording made by the Nexus 5 has often been described as "under-water" or "bubbly":
Speech signals sound distorted and low-level background sounds fade in and out. Overall, an embarrassingly bad audio quality.
As it turns out, the audio recording is fed to a noise suppression algorithm that is way too aggressive.
Also, the Nexus 5 is not able to record anything useful in very loud acoustic environments, such as a concert.
The mod presented here is aimed to fixing these issues.
Simple fix: Turning off noise suppression
I found a very simple way to turn off noise suppression altogether. All this fix does is to select a different audio device that bypasses noise suppression.
Unfortunately, this change requires modification of a system library which means that your phone needs to be rooted.
To experience the effect of the simple fix you can listen to some audio samples here.
Advantages of this "simple" version of the mod
- the recording is now devoid of any signal processing, i.e. no additional distortion is being introduced to the sound
- the mod should work with pretty much any Lollipop AOSP-based ROM. Separate mods are available for CM11 and CM12, see link below.
- the simple fix should not interfere with any other app
Disadvantages of this "simple" version of the mod
- since noise suppression has been disabled, the (white) noise that the acoustic front-end (microphone, preamp, analog circuitry) of the Nexus 5 produces is now very audible. While I do not see this a problem in high-noise and/or outdoor environments, the high level of white noise can be problematic in quiet environments
- by default, the volume of the recorded sound is now lower than stock. Refer to the section "Changing the microphone gain" below for more details
- aMGC (see below) is not supported
A new simpler "simple" version of the mod that does not require modification of a system library can be found here
Advanced Fix: Applying moderate noise suppression
After having spent a significant amount of time tinkering with the Android audio stack, I found a way to apply a moderate amount of noise suppression to the camcorder signal.
This new fix makes use of the webRTC noise suppression algorithm available in AOSP (but it was missing the required plumbing). For now, I'm giving you guys two options to play with: 6 dB and 12 dB of suppression.
Note that although 6dB of noise suppression is generally considered as "low", I can still hear some artifacts, but they are significantly reduced when compared to the stock experience. (The stock library adds about 20 dB of noise suppression)
For my taste 12 dB adds too much distortion, but it may fit the bill for some of you.
Keep in mind that webRTC's noise suppression algorithm has been optimized for speech signals and, as a result, other types of signals (music, nature sounds etc) may suffer from some distortion.
To experience the effect of the advanced fix, you can listen to some audio samples here.
Advantages of the advanced fix
- users now have the option to select the level of noise suppression that suits their needs.
I'm personally torn between no noise suppression and 6 dB of noise suppression due to some (barely audible) distortion still present when 6 dB of noise suppression is applied.
- aMGC is supported (see below)
Disadvantages of the advanced fix
- this fix may not work with ROMs other than Stock Android 4.4.4/5.0.x/5.1.x as fundamental changes to the Android audio subsystem (audioflinger) were necessary to feed audio to the built-in effects processor
- there may be problems with this fix in combination with other audio mods (e.g. DSP Manager). Please report back if you experience problems with this fix and other audio mods on stock Android
Known issues
- having either "hotword detection from any screen" or "touch sounds" enabled results in the audio bypass the effects processor, which means that either of these features will disable noise suppression completely!
Installation instructions:
Please refer to the README provided with the attached archive.
assisted Manual Gain Control (aMGC)
The Problem
By default, the microphone setup used for camcorder recordings is tuned to be fairly sensitive. The idea is that distant sources are still recorded with sufficient level. The disadvantage is that loud signals, such as music or screaming kids, will cause a great deal of distortions, thereby rending recordings in noisy environments virtually useless. Android does not offer any way to adjust the microphone gain by the user.
In looking into this issue, I have played around with automatic gain control (AGC) as offered by a webRTC component that ships with Android. I found that AGC as implemented (optimized for speech signals) is not suitable for camcorder recordings as it more often than not causes wild swings of level fluctuations.
An attempt to arrive at a solution
The idea as implemented in this "app" (more accurately a background service) is to show a UI with gain control during a camcorder recording along with a VU meter to assist the user to adjust the gain during a particular recording. I'm calling this approach assisted manual gain control (aMGC).
The attached apk for aMGC has been generated directly from a Tasker project by using the Tasker App Factory app.
A Tasker project that can be imported into your own Tasker setup is also supplied.
Note that the minimum API level for this app is 21. Hence, it is only compatible with Android > 5.0
The app does the following:
pretty much nothing if you click on the icon, as it is a service that starts automatically on boot. However, you may need to start it manually in case Android decides to kill it.
it kicks in whenever the Google Camera launches
it observes the state of the soundcard; if the microphone is opened (i.e. a camcorder recording is started), it displays a small floating and blocking UI in the lower right-hand corner of the screen with which the microphone gain can be adjusted
it uses the LED to display a VU meter, going from faint green (very low signal level detected) to yellow to orange to red (very high signal level detected)
by default it uses the gain as defined in mixer_paths.xml (indicated as 0 dB in the UI). Each short-press on the "down" button decreases the microphone gain by 6dB; a long-press decreases the gain by 12 dB; similarly each press on the "up" button increases the gain by 6 dB and a long-press by 12 dB. Additional gain is limited to +12 dB
Whenever a recording is stopped, the UI disappears and the LED VU meter stops. When the record button is pressed again, everything starts over again with the default values from mixer_paths.xml. Note that it is an Android implementation detail that mixer_paths.xml edits need a system reboot to be applied.
Prerequisites
latest "advanced" camcorder audio mod available here
tinymix (attached; uncompress, copy to /system/bin, and make executable)
NEW: all attached shell scripts, see shell_scripts.tar.gz; unpack, create a directory /data/local/tmp/camera, copy all scripts to that directory, and make all files executable. I had originally thought that Tasker automatically incorporates all shell scripts into the apk, but it does not. Currently, aMGC expects these files to reside in /data/local/tmp/camera . I'll try to fix that in a future revision of the app, by integrating the shell scripts into Tasker.
app needs root privileges
busybox
app needs Accessibility permissions. After installation go to Settings->Accessibility and enable CamcorderMGC. Unfortunately, this permission is required to detect Camera start/stop events. Don't worry, I'm not doing anything nasty
Android >= 5.0
If you are using Tasker (also needs Accessibility privileges) you need to run at least version v4.6. Running the attached Tasker project, i.e. CamcorderMGC.prj.xml, is generally preferred over using the app. Note that you will also need to copy the attached shell scripts to /data/local/tmp/camera when using the Tasker project.
Usage
Hit record and observe the VU meter. If the UI and VU meter do not start you may need to start the app manually as Android may have killed it.
You want the color of the LED to remain yellow/orange. Long periods of red means bad clipping. In that case you may want to lower the gain either gradually (6 dB steps) in moderately noisy environments or more aggressively (12 dB steps) in noisy environments until the LED keeps blinking yellow or orange. Short bursts of red are probably OK. I need you guys to give me feedback on that.
If the levels seem too low after a recording has been made, simply boost the gain by using a decent video editing app on your PC.
Known issues/limitation
Each interaction with the UI takes a couple of seconds to complete. Short-press or long-press the buttons once and be patient for the task to complete. Once completed, the current gain adjustment with respect to the default levels will be displayed.
aMGC currently does not work as expected when hotword detection is allowed from any screen.
aMGC currently does not work when "Touch sounds" are enabled in Settings -> Sound & notification -> Other sounds
Whenever the user changes the microphone gain(s) during a recording a very short click may be audible while the codec (WCD9320) changes the gains as requested. This occurs due to the discontinuity in the audio signal while the gain modification is being applied. Conventional remedies, such as cross-fading cannot be applied as the actual audio data is not available to the aMGC method. For "critical" recordings I recommend running a quick "sound check" first to find the appropriate gain and then quickly apply it at the onset of the actual recording. I suggest to be conservative with the gain as an overall low gain can be easily corrected for by post-processing while excessive gain may result in irreparable distortion.
Installation instructions:
Please refer to the separate README provided with the attached archive.
Aroma installer
Thanks to @spacetaxi there are extremely flexible Aroma installers available for added convenience.
The latest installer for Lollipop < 5.1.0 can be found here and the one for Lollipop 5.1 here.
The installer for KitKat (now deprecated) can be found here
Confirmed working ROM/kernel setups
stock Android 4.4.4/5.0.x/5.1 with stock kernel
Cataclysm (Jan 23) with Code Blue kernel
Cataclysm (Jan 23) with Cataclysm kernel
CM11 (simple fix only, no aMGC)
CM12 (simple fix only, no aMGC)
stock Android 4.4.x with stock kernel (no aMGC)
Additional mods
In this section I describe mods that don't have anything to do with camcorder recordings, but still appear (or will be appearing) in the modified mixer_paths.xml
Stereo playback
Based on prior work by @sshafranko (but originally discovered by @dontbelive) I enabled "true" stereo playback on our device by turning on and tuning the earpiece loudspeaker.
Refer to this post for details.
Sidetone for telephony
Closed-type headphones, noise canceling headphones, and IEM earphones are very good at shutting out environmental sounds. Unfortunately, they also block your own voice. While wearing these headsets you are actually hearing the sound of your own voice via means of bone conduction and resonances of head cavities. It sounds extremely low-pass filtered and it is very difficult to conduct a conversation while wearing headphones. This is where sidetone comes in. Please refer to this post for details.
Using external microphones
A tweak to the main mod is presented here, which allows an external microphone (via headset port) to be used instead of the built-in one. An important advantage of doing so is to be able to utilize a better-quality microphone. (The ultimate improvement in sound-quality can be achieved by using a (mono/stereo) microphone that connects via a good-quality preamp and ADC to the phone's USB port, if supported by an app.)
Additional information
Changing the microphone gain
Background:
The microphone path used by this mod is "voice-rec-mic-mod", which is derived from "voice-rec-mic" already present in the stock version of /system/etc/mixer_paths.xml .
The default microphone gain is set to 97 ("DEC6 Volume"). If one feels that microphone "sensitivity" is insufficient, this gain can be increased significantly. According to ALSA mixer data, the maximum level can be set 124. Measurements have shown that each "tick" (integer increase of this value) adds about 1 dB of gain).
You can actually also modify the "ADC1 Volume" parameter, which ranges from 0 to 19 (and adds about 1.5 dB per tick), but I have not seen any real advantage of modifying this value over the other in my tests. The abbreviation "ADC" (Analog-to-Digital Converter) suggests an analog gain which would result in a better
SNR (signal-to-noise ratio) if that gain is adjusted rather the one associated with DEC (which for sure is a digital gain and thus has no effect on SNR if used inside the signal's full digital scale). My tests, however, have shown no advantage of using the "ADC1 Volume" setting in terms of SNR.
Of course, there is a tradeoff between microphone gain and background noise, i.e. higher gain results in more audible microphone/preamp ("white") self-noise. As a matter of fact it is this noise that the original library tries to fight with its poorly implemented/configured noise suppression algorithm.
Static modification of microphone gain:
- method 1: The gain can easily be changed by editing the new mixer_paths.xml file directly via a file browser, like Root Explorer. The values can range from 0 to 124. Your phone needs to be rebooted for the changes to take effect.
- method 2: run the Aroma installer
Dynamic modification of microphone gain using tinymix:
Once the recording has started, the microphone gain can quite easily be modified with the help of the attached tinymix binary, which can be built from the AOSP tree.
The syntax (after it has been uncompressed), copied to, e.g., /system/bin, and made executable is:
> tinymix "DEC6 Volume" X
where X=[0,124]. Again, there will be a tradeoff between microphone gain and noise amplification.
The big caveat is that the gain is reset to the one listed in the file /system/etc/mixer_paths.xml every time a new recording is started.
If you are running the "advanced" mod, then you may want to try aMGC which helps you adjust the gain depending on the acoustic environments (see the section on aMGC).
Links to the simple mod for CM
Go here for CM11-based ROMs
and here for a CM12 (and CM12.1)-based ROMs
Thoughts on in-call voice quality
As the question regarding in-call audio quality has come up a few times, let me elaborate on my findings:
Most modern smartphones use two microphones when making phone calls. Dual-microphone processing can be very sensitive to the relative position of the talkers mouth and the microphone, in particular in varying background noise scenarios.
Especially when the main microphone on the N5 (the one behind the grille) is far away from the mouth the local talker may be mistaken for background noise and, hence, get suppressed.
As dumb as it sounds, try to hold your phone "right" when making calls, i.e. talk directly into the microphone and try not to move the phone much.
A second very important "good practice" suggestion is to keep the loudspeaker volume as low as possible and try to talk in low background noise environments (I know that the latter one is not always possible). The reason is the rather nasty subject of double-talk.
When a phone detects a double-talk situation, i.e. a loud RX signal combined with a strong TX signal (talker + background noise), the AEC (acoustic echo canceler) will typically start "clipping" the near-end speech, which results the other end not being able to hear you.
Other than these two basic suggestions, there are a couple of things a brave soul can try to fight this issue.
Note there is no (and possibly never will be a) real fix without Qualcomm's and LG's intervention. I'm currently using what's
behind door #2 below with success...
1. Changes in build.prop (not an endorsed workaround)
========================================
consider this change
- persist.audio.dualmic.config=endfire
+ persist.audio.dualmic.config=broadside
What this does is change the dual-microphone algorithm to an alternate one. In my (limited) testing, however, "broadside" was worse than the "endfire" configuration. Actually, I never got many complaints about other people not being able to hear me using "endfire"
However, it may work for you. If it does, great, and you don't need to move on to try other stuff, such as another change:
- persist.audio.dualmic.config=endfire
+ persist.audio.dualmic.config=none
This change turns off dual-microphone processing altogether. The big caveat is, however, is that this change seems to disable other vital signal processing as well, in particular AEC.
Other issues I have seen with these two changes is that the first call after a reboot is often "bad", which can be fixed by quickly switching to speakerphone mode and back. Not good.
2. A very complicated workaround (which works for me)
=========================================
As I mentioned earlier in the thread, I spent a lot of time trying to fix the in-call RX distortion issue when recording from the line.
I found a workaround that works for me that may partially address the issue of occasional low TX level as well. I say partial since low TX level may be caused by both the dual-microphone processing as well as the AEC in double-talk situations. This workaround only addresses (turns off) the dual-microphone processing while still enabling AEC as well as some noise suppression. Low TX levels in double-talk situations can only be improved by Qualcomm, but somewhat alleviated by an educated user (see suggestions above).
The fix requires:
* turning off dual-microphone processing (persist.audio.dualmic.config=none in build.prop)
* custom AOSP kernel (3.4.0-gd59db4e) that allows for injecting proper (?) audio calibration data via Qualcomm's acdb interface, which enables AEC as well as single-channel noise suppression
* a bunch of Tasker scripts
* a shell script
* a binary that commits the calibration data to the kernel/CPU upon a system reboot, or when needed as determined by the Tasker and shell scripts
Ultimately, in finding a fix for this issue, I got stuck at the lack of documentation of Qualcomm's audio interface.
My solution is just a huge hack to address a problem that really can only be fixed by Qualcomm and LG (and maybe Google) as
all processing during cellular calls is done by Qualcomm deep within the MSM/DSP. It is my understanding that the signal processing within that chip is controlled by some of the proprietary vendor blobs.
Some gory details
Up until now, the device identifier used for camcorder recordings in the audio HAL, i.e. audio.primary.msm8974.so, has been selected
as "SND_DEVICE_IN_VOICE_REC_MIC" (while stock uses the "CAMCORDER" device identifier with disastrous quality consequences).
Many people have been observing that the Nexus 5 is unable to produce any useable recordings in loud acoustic environments, in particular
club or concert hall settings. After spending a lot of time doing detective work, I found that the problem can be traced to a high-pass filter (HPF)
being active in either the codec itself (WCD9320) or the main chipset (MSM8974) while most available device identifiers are used, including
"CAMCORDER" and "SND_DEVICE_IN_VOICE_REC_MIC". I'm suspecting two problems with this HPF. One, I think that the HPF itself may be causing
distortions. Second, by filtering out low frequencies, the microphone level estimate that I'm performing inside the audioflinger service is biased in that it
cannot take into consideration the low frequencies that actually hit the analog-to-digital converter, which will eventually cause it to clip.
I found that the "ACDB_ID_VOICE_DMIC_EF_TMUS" identifier in the audio HAL disables the HPF filter. Now the level estimate that is being used by
aMGC is bias-less. Clipping can be properly detected and action can be taken with the aMGC UI to appropriately lower the microphone gain as needed.
An explanation why low-frequency clipping is much worse than clipping at higher frequencies:
In general, clipping (when a signal exceeds full-scale representation of a digital system) causes the introduction of even-order harmonics.
Assume you want to record a 50 Hz sinusoidal signal. Clipping of that signal will cause the recording to not only include a 50 Hz tone (0-th order harmonic),
but also a 150 Hz tone (2-nd order harmonic), a 250 Hz tone (4-th order harmonic), etc. In all, more than a hundred additional tones will show up in your
recording, albeit at progressively lower levels than the 0-th order harmonic. That original pure sine wave now sounds more like a "rectangular wave".
Imagine what happens when a more complex low-frequency signal is getting clipped. The recording is ruined.
On the other hand, a clipped 1000 Hz sinusoidal signals will "only" produce seven additional harmonics in the frequency range that the Nexus 5 is capable
of recording (approximately less than 16 kHz). Don't get me wrong, clipping is bad no matter the frequency (and a professional avoids clipping like the plague),
but the effect is much more dramatic when clipping is happening at low frequencies.
Thanks
Big thanks go to @spacetaxi for the Aroma installers and @skvalex without whom I would probably never have looked into any of this.
XDA:DevDB Information
[MOD] [ROOT] Camcorder Audio Quality Fix with Stereo Recording and Playback Support, Device Specific App for the Google Nexus 5
Contributors
chdloc
Version Information
Status: Testing
Created 2015-03-06
Last Updated 2015-03-06
So you say you found a signal path that bypasses noise suppression, but the modification is increasing the gain? Is their a specific gain value you are using that happens to bypass noise suppression?
Aroma installer package of chdloc's fix for Android 4.4.4 stock / AOSP-based roms
This is the aroma installer package of chdloc's camcorder audio fix for 4.4.4 stock / AOSP-based roms. Other installers of the fix are available for Android 5.1 (see post #627), Android 5.0 (see post #235) and for CM11 (see post #56).
Flashing the installer, you will get four options:
Install Audio Fix - simple: no noise suppression, bitrate 288 kbps
Install Audio Fix - advanced (6 dB): 6 dB noise suppression, bitrate 288 kbps
Install Audio Fix - advanced (12 dB): 12 dB noise suppression, bitrate 288 kbps
Install Stock KTU84P Audio: 20 dB noise suppression, bitrate 96kbps (stock audio libs and config from build KTU84P)
So if you are using Google's stock firmware build KTU84P, option 4 will revert the system files changed by options 1-3 (audio libs and config files) to their stock versions.
If you are using a different firmware build or if you've changed the config files and want to be able to revert the files to their current state, please make a backup of the system partition by using the recovery (CWM / TWRP) prior to installing this zip. Then you can just restore the system partition if you don't like the changes.
Every option will overwrite the following files:
/system/etc/media_profiles.xml
/system/etc/mixer_paths.xml
/system/lib/hw/audio.primary.msm8974.so
/system/lib/libaudioflinger.so
/system/lib/soundfx/libaudiopreprocessing.so
/system/vendor/etc/audio_effects.conf
By the way, you should make a backup of the system partition in any case! There's always a (small) risk that something goes wrong when flashing a zip. Anything you do, you are doing at your own risk. :fingers-crossed:
And please do not forget to post your experiences with this fix!
Happy flashing!
m52 power! said:
So you say you found a signal path that bypasses noise suppression, but the modification is increasing the gain? Is their a specific gain value you are using that happens to bypass noise suppression?
Click to expand...
Click to collapse
My mod is not changing the externally controllable gain at all by default. It gives you, however, the option
to change the gain without affecting any other apps.
initial testing seems to be working well, gonna do some more this evening & see how it goes. thanks for the share
Natural video sound again on my N5
After Google messed up the N5's camcorder audio in 4.4.3 and 4.4.4, I was getting by using Snap Camera with alternate mic enabled, but in all honesty the audio quality was still nowhere near as good as some of the phones I owned even 6 or 7 years ago,
Now I don't know exactly what this mod does, but my videos sound like they should again so big thanks to chdloc for the fix and spacetaxi for the aroma installer.
spacetaxi said:
Here I'm posting the up-to-date aroma installer package for chdloc's fix. I think he will refer to it from the first post as soon as he is online again. Happy flashing!
Click to expand...
Click to collapse
Any chance you could post a stock revert, just in case, please?
RussianBear said:
Any chance you could post a stock revert, just in case, please?
Click to expand...
Click to collapse
Check the aroma installer .zip. If I understood right it should be able to do the reverting. So just simply flash the file and you'll have an option to revert.
Does this mod do anything to fix the in call audio problem?
Could you possibly make a version for the L Preview? Thanks
RussianBear said:
Any chance you could post a stock revert, just in case, please?
Click to expand...
Click to collapse
rockknee said:
Check the aroma installer .zip. If I understood right it should be able to do the reverting. So just simply flash the file and you'll have an option to revert.
Click to expand...
Click to collapse
I've updated post #3 to make this clearer.
YES, this really does work! No bubbly-underwater like sound while recording video.
Now, you clearly know how to deal with libs and all. Any possibility you could fix dark video recording in low light on post 4.4.1 update? The 4.4.1 update prefers fast shutter speed to keep the framerate in low light, resulting in really dark night videos without flash. In 4.4, the camera was sluggish, but chose slower shutter speeds in video and though the framerate was 15-20 fps in darkness, you could actually see something. Like on an iphone and other phones recording in the dark.
Thank you.
Works on MIUI
Thank you for your mod!
I tested it on latest MIUI - and WORKs! It's based on 4.4.2.
Sound is now more consistent - before was choppy.
TNX... again!
Maxamillion said:
Does this mod do anything to fix the in call audio problem?
Click to expand...
Click to collapse
No, this mod only addresses the audio quality when using the camcorder.
Are you referring to the RX distortion issue when running CallRecorder or a similar app that records calls from the line?
If so, I do have a separate mod that is not for the faint of heart. You will need a custom kernel and a bunch of Tasker scripts to bypass the problem. Although the mod comes with a downside (it turns off dual-microphone processing), I'm running it without an issue.
PM me if you would like to give it a spin...
usaff22 said:
Could you possibly make a version for the L Preview? Thanks
Click to expand...
Click to collapse
I just downloaded the L Preview code tree and the sources that need to be modified for the mod have not changed.
There is a good chance this mod will work without any modification. Just try it and report back...
serzhanja said:
Now, you clearly know how to deal with libs and all. Any possibility you could fix dark video recording in low light on post 4.4.1 update? The 4.4.1 update prefers fast shutter speed to keep the framerate in low light, resulting in really dark night videos without flash. In 4.4, the camera was sluggish, but chose slower shutter speeds in video and though the framerate was 15-20 fps in darkness, you could actually see something. Like on an iphone and other phones recording in the dark.
Click to expand...
Click to collapse
I know how to deal with audio (I do this for a living) and I have some programming skills. Video is a whole different beast and I, unfortunately, don't have the time to work on video processing.
Hi,
can you tell me which lines/values are changed in your version of the mixer_paths.xml file compared to the stock version? Because I already have made some manual changes to my mixer_path file and don´t want to lose them.
Thanks,
Kusie
Kusie said:
Hi,
can you tell me which lines/values are changed in your version of the mixer_paths.xml file compared to the stock version? Because I already have made some manual changes to my mixer_path file and don´t want to lose them.
Thanks,
Kusie
Click to expand...
Click to collapse
I just uploaded a patch file for ROM devs to the OP, but basically just add the following path to your /system/etc/mixer_paths.xml :
<path name="voice-rec-mic-mod">
<path name="handset-mic" />
<ctl name="ADC1 Volume" value="15" />
<ctl name="DEC6 Volume" value="88"/>
</path>
Thanks, chdloc. Your mod works awasome! 9 months of useless video from nexus 5 is over. Greate job, man!
-Stakka- said:
Thanks, chdloc. Your mod works awasome! 9 months of useless video from nexus 5 is over. Greate job, man!
Click to expand...
Click to collapse
Did I read the OP right that this doesn't work on CM 11?
MrObvious said:
Did I read the OP right that this doesn't work on CM 11?
Click to expand...
Click to collapse
That's right. CM has made extensive changes to the audio subsystem, which would require a merge of the CM code tree
with the patch that I added to the OP.
I'd be happy to work with the CM team to make this mod available for CM 11 users.
I tried the aroma installer and it worked perfectly
awesome works guys !!
The cam sound is better than ever on the N5

[MOD] Nokia Recorder with OZO support

I ported a few codes into the Nokia Recorder app v8.1030.40 to enable support for OZO audio recording. I've only tested this in my Nokia 7 Plus, but it might work in other OZO-supported devices.
Changelog:
- Added spatial recording support: ACC recording format (screenshot 2) now records with spatial audio recording by default.
- Changed app theme color: just to differentiate it from the original base app.
NOTES: To make the most of the spatial recording feature, I forced Surround mode in this mod, which means all three microphones are used at once. Since this feature is for video recording by default, its full potential can be maximized in landscape mode (since the microphones are oriented vertically, putting the phone in landscape mode allows for differential left and right audio channels). Here, I forced the orientation such that the left audio channel is oriented at the top portion of the phone, and the right audio channel at the bottom. So for accurate audio channels, I recommend orienting the phone in landscape mode with the charging port on the right hand side (like recording a video). Of course if it doesn't matter to you that much, you can orient the phone however you like; audio quality is good, nevertheless. Enjoy recording audio in high quality!
Download:
voicenote_8.1030.40_surround.apk
P.S. I humbly request everyone to please do not spam with "add the feature/support to GCam" etc. etc. I've spent 4 days to figure this out and make it work, and I need a break right now. Cheers!
back.rider555 said:
P.S. I humbly request everyone to please do not spam with "add the feature/support to GCam" etc. etc. I've spent 4 days to figure this out and make it work, and I need a break right now. Cheers!
Click to expand...
Click to collapse
It work on n7 plus ta-1046,nice work keep it up
When this device was released, my PRIMARY purpose to buy this phone was to use OZO audio to record songs !!!
THANKS A LOTT !!
Kudos to you Sir!
Doing Nokia's (well, HMDs work in fact), but nevertheless greatly appreciated
Many thanks. [emoji16]
Work great on my Nokia 5 (pie).
back.rider555 said:
I ported a few codes into the Nokia Recorder app v8.1030.40 to enable support for OZO audio recording. I've only tested this in my Nokia 7 Plus, but it might work in other OZO-supported devices.
Changelog:
- Added spatial recording support: ACC recording format (screenshot 2) now records with spatial audio recording by default.
- Changed app theme color: just to differentiate it from the original base app.
NOTES: To make the most of the spatial recording feature, I forced Surround mode in this mod, which means all three microphones are used at once. Since this feature is for video recording by default, its full potential can be maximized in landscape mode (since the microphones are oriented vertically, putting the phone in landscape mode allows for differential left and right audio channels). Here, I forced the orientation such that the left audio channel is oriented at the top portion of the phone, and the right audio channel at the bottom. So for accurate audio channels, I recommend orienting the phone in landscape mode with the charging port on the right hand side (like recording a video). Of course if it doesn't matter to you that much, you can orient the phone however you like; audio quality is good, nevertheless. Enjoy recording audio in high quality!
Download:
voicenote_8.1030.40_surround.apk
Click to expand...
Click to collapse
But how OZO VIDEO record
Steps please
Why does it require phone permission?
Sparker0i said:
Why does it require phone permission?
Click to expand...
Click to collapse
This is to pause recording with incoming phone calls.
Thank you very much, this will be very helpful because most recording apps doesn’t utilize Nokia’s ozo audio. Nokia microphones are awesome!
I'm curious how you figured it out. Is there some Nokia API documentation somewhere or is it just a matter of enumerating device capabilities and trying the various options? Is is an Java API or do you need to call ioctl on some device?
Would you be able to post a code snippet?
back.rider555 said:
I ported a few codes into the Nokia Recorder app v8.1030.40 to enable support for OZO audio recording. I've only tested this in my Nokia 7 Plus, but it might work in other OZO-supported devices.
Changelog:
- Added spatial recording support: ACC recording format (screenshot 2) now records with spatial audio recording by default.
- Changed app theme color: just to differentiate it from the original base app.
NOTES: To make the most of the spatial recording feature, I forced Surround mode in this mod, which means all three microphones are used at once. Since this feature is for video recording by default, its full potential can be maximized in landscape mode (since the microphones are oriented vertically, putting the phone in landscape mode allows for differential left and right audio channels). Here, I forced the orientation such that the left audio channel is oriented at the top portion of the phone, and the right audio channel at the bottom. So for accurate audio channels, I recommend orienting the phone in landscape mode with the charging port on the right hand side (like recording a video). Of course if it doesn't matter to you that much, you can orient the phone however you like; audio quality is good, nevertheless. Enjoy recording audio in high quality!
Download:
voicenote_8.1030.40_surround.apk
Click to expand...
Click to collapse
is not installing on my phone
back.rider555 said:
I ported a few codes into the Nokia Recorder app v8.1030.40 to enable support for OZO audio recording. I've only tested this in my Nokia 7 Plus, but it might work in other OZO-supported devices.
Changelog:
- Added spatial recording support: ACC recording format (screenshot 2) now records with spatial audio recording by default.
- Changed app theme color: just to differentiate it from the original base app.
NOTES: To make the most of the spatial recording feature, I forced Surround mode in this mod, which means all three microphones are used at once. Since this feature is for video recording by default, its full potential can be maximized in landscape mode (since the microphones are oriented vertically, putting the phone in landscape mode allows for differential left and right audio channels). Here, I forced the orientation such that the left audio channel is oriented at the top portion of the phone, and the right audio channel at the bottom. So for accurate audio channels, I recommend orienting the phone in landscape mode with the charging port on the right hand side (like recording a video). Of course if it doesn't matter to you that much, you can orient the phone however you like; audio quality is good, nevertheless. Enjoy recording audio in high quality!
Download:
voicenote_8.1030.40_surround.apk
Click to expand...
Click to collapse
Can you upload ozo video recorder
Please
j€nish said:
Can you upload ozo video recorder
Please
Click to expand...
Click to collapse
It's stock Nokia camera ??*
Thanks for the great work and for sharing. Installed fine on my Nokia 8. Will do some test recordings and listen with headphones, the only way to really enjoy spatial audio.
I've been looking for some way of recording Ozo sound since I got my Nokia 8 over a year ago. Up until now I've had to record video as well using the camera app, then extract the audio in Audacity.
I had written to Nokia back in September 2018 and had this reply:
Hi Mark,
OZO Audio function on the Nokia 8 is only for native camera video recording function and not open to 3rd party applications. Please contact mobile phone division for any further questions and support.
Regards,
OZO Sales
I'd also written to the author of the Hi-Q app to see if he could get Ozo audio working, but he couldn't. The audio recorded by other apps had odd audio distortion present as if some algorithm was at play distorting everything.
I'll do some testing later!
You said you could configure the microphones. For the Nokia 8 it might be useful to use the bottom mic and the one on the screen side then you can leave the phone placed on a surface and still watch the recording.
Can you explain what you've done... I can let the Hi-Q app developer know!
Thanks,
Mark.
Liftedcorn said:
It's stock Nokia camera ??*
Click to expand...
Click to collapse
Yes my phone stock Nokia camera app
With further tests on my Nokia 8 I can see the microphone by the screen doesn't seem to influence any of the recordings. You can rub it or occlude it and the stereo field doesn't shift. If you rub the mic near the flash or near the USB socket you hear mono noise (equal in left and right) added to the recording. If you occlude either of these you get mono recordings and signal is equally split between left and right. If you occlude both mics everything goes very quiet and muffled. If sound reaches both mics then it successfully puts the recording in the stereo field. As rubbing sounds are noisy in one mic but probably not heard in the other the Ozo algorithm probably sends that equally to left and right channels as it can't tell where it is coming from. There is no audio distortion heard on recording music coming from a room TV. With my Hi-Q app, rubbing either of the same mics generates noise purely in the left or right channel. And that app still suffers from some very strange audio processing where music in the room seems to get signal processed away.
In short, this is the app we've all been waiting for!
Thanks for your detailed feedback. Where is the "screen side" microphone located ? Based on the notes that came with the app "forced surround", shouldn't it also be used by the app like in the surround mode of the videos produced by the stock camera app ?
I videod a piano concert the other day and while the surround sound sounded better than the "front" option I was a bit annoyed by the "shifting" in the sound, probably due to the OZO software interpreting the sound sent by the mics.
The third mic is to the side of the ear piece, in the glass cutout line (on the Nokia 8).

Categories

Resources