- 9 Ways to Improve Your Android Phone’s Sound and Volume
- Speaker and headphone volume boosters are part of the solution
- Causes of Problems With Android Phone Volume
- How to Improve Android Phone Volume
- What Developers Can and Cannot Do to Lower Android Audio Latency: The Android Audio Low Latency Primer to Android’s 10ms Problem.
- Audio latency in Android User Space
- How do I know any Android device’s round-trip audio latency?
- How does the Superpowered iOS and Android audio latency test app work?
- What about Android USB audio and Android MIDI audio latency?
- How should developers work with OpenSL ES?
- If I use Superpowered to process audio and then send it back it out through OpenSL ES, is Superpowered a wrapper?
- Audio latency in Android System (Kernel) Space
- What are the fundamental contributors to Android audio latency in system space?
- If Android system space latency is non-trivial, what should developers do?
- How does Superpowered offer low latency audio performance?
- More questions you’d like to see answered here?
9 Ways to Improve Your Android Phone’s Sound and Volume
Speaker and headphone volume boosters are part of the solution
If your Android phone’s volume is too low, or the sound is completely muted, you can try several ways to fix your phone’s speakers or headphone. There could be a few reasons why your Android phone’s sound isn’t working.
Instructions in this article apply to phones running Android 7.0 (Nougat) or later. All steps are the same regardless of your carrier or who made your phone.
Causes of Problems With Android Phone Volume
Several issues can cause problems with Android phone speakers:
- Your phone is tethered via Bluetooth to another device that plays sound.
- An app is running in the background that controls the overall volume.
- Do Not Disturb Mode is active.
- The speakers or headphones have hardware problems.
If your phone’s volume is still too low after ruling out the above issues, there are sound boosters and equalizer apps you can try to improve your device’s sound performance.
How to Improve Android Phone Volume
To make sure the volume on your phone is working properly:
Turn off Do Not Disturb Mode. Along with silencing your ringer, Do Not Disturb mode also mutes all speaker and headphone volume. To deactivate it:
- Open your phone’s Settings and tap Sound and vibration.
- If Do not disturb is On, tap the toggle switch to turn it off.
Turn off Bluetooth. To untether your phone from Bluetooth devices, swipe down to reveal the Quick Settings, then tap the Bluetooth icon so that it turns gray.
You can also deactivate Bluetooth by going to Settings > Connections and switching off the toggle beside Bluetooth.
Brush the dust off your external speakers. If your speakers aren’t putting out what they used to, try cleaning them out. A compressed air can works best if you have it, but a clean brush can do the trick too.
Clear the lint out of your headphone jack. Lint can get trapped in your headphone jack and compacted down further when plugging in headphones. You can use a sewing needle or safety pin to skewer bits of lint and scoop them out.
Test your headphones to see if they are shorted. If your headphones are fairly old, heavily worn, kinked in places from repeated spooling and unspooling, or have gotten wet more than a few times, they’re more likely to die on you from wiring coming undone or shorting out. Try out a different set of headphones and see if your sound comes back.
Adjust your sound with an equalizer app. If your audio is only faint instead of completely thwarted, it might be time to tweak it with an equalizer app, which lets you change the intensity levels of certain sonic frequencies in the audio emanating from your speakers or headphones. This is the best solution if your sound is imbalanced and you just need to amp up certain frequencies, such as if you need to make up for impaired hearing ranges or you have skewed background noise to cut through.
If you’re not sure what adjustments to make, one notable standout is the Neutralizer app from Javeo Software. Instead of leaving the tweaking to the user, Neutralizer runs a diagnostic scan to determine which frequencies need boosting, and which need toning down. To equalize your phone’s sound:
- Open the Neutralizer app and tap Plus (+) icon in the bottom-right of the home screen. You’ll then be prompted to give your sound profile a name.
- From here, Neutralizer will play a tone that you can manipulate in intensity using the circular dial at the bottom of the screen. Once set to where you can barely hear the tone, tap the arrow in the lower-right of the graph and do the same for the next tone. After doing this for all tones, tap the checkmark in the top-right corner to save your settings.
- Toggle the switch in the upper-right of your profile to On to enable your custom soundscape.
Use a volume booster app. Many equalizer apps, like Equalizer FX, allow you to increase your phone’s overall volume. On startup, the app presents a default profile which you can edit. To up your volume, go to the Effects tab, switch the Loudness Enhancer to On and move the slider to the right until you’re satisfied.
For this or other equalizers to work, you might have to disable Android’s built-in equalizer in your Apps & notifications settings.
Adjust volume from settings to circumvent a broken volume rocker. If your audio isn’t muted and you still can’t adjust the volume, it might be due to a malfunctioning volume rocker, the single up-down hardware volume button on the side of your phone that rocks back and forth. This may result from dust or grime accumulating under the rocker button and stopping it from depressing, or it’s possible the connection between the rocker and the rest of your hardware has been broken.
To increase the volume without using the rocker, access your Settings and go to Sound and vibrations > Volume, then drag the Media Volume slider to the right.
Close any open audio-playing apps. Some apps that play audio and/or video have their own app-specific volume settings, which can alter the volume of your system while running in the background. The most common culprits are misconfigured or buggy equalizer apps. Since they’re designed to take precedence over the system volume, they can suppress volume if set up incorrectly. To close them, bring up your open apps and swipe them to the side.
If you suspect apps are still running in the background, try rebooting your device.
Источник
What Developers Can and Cannot Do to Lower Android Audio Latency: The Android Audio Low Latency Primer to Android’s 10ms Problem.
To best understand the origins (and fixes) of Android audio latency, it is best to segregate contributions to total round-trip Android audio latency into two parts:
- Audio latency in Android user space. In userland, developers have many methods to lower latency. They are described below.
- Audio latency stemming from Android system space. In system space, developers cannot affect latency, but OEMs and device manufacturers can. Options to lower audio latency originating in Android system space are also described below.
Latency is the lag or delay between between when an audio signal is sent, processed and received. Audio latency is considered professional-grade or вЂreal-time’ when round-trip latency is 10 ms or less.
Audio latency in Android User Space
This includes the Android app itself, application frameworks, and 3rd party and native API and libraries such as OpenSL ES. Developers can should remember low latency best practices in Android app programming logic such as:
- Do not do any audio processing in Java. Keep all audio processing in C++.
- Use the JNI (Java Native Interface) for successful interoperability between native (C++) code and Java. (Prepare yourself, this is not necessarily fun).
- Always make your code sample-rate and buffer size agnostic. Your app should work with any sample-rate or buffer size. Do not expect buffer sizes to be a power of 2, they can be any multiples of 8.
- Do not depend on audio features offered by Android because Android audio feature implementation/function is erratic, unpredictable and may be device dependent.
- The CPU governor reduces CPU frequency and may cause audio drop-outs. We once advised developers to use ‘fake touch events’ to keep the CPU governor from activating. However, this only works on Nexus devices. SuperpoweredCPU is a universal solution for Android CPU Frequency Scaling and is now included in Superpowered.
- Keep in mind that there are multiple, different audio signal paths and each has its own specific latency.
- Using Bluetooth audio will add minimum 100ms to latency.
- Wifi will also add latency. Highly variable, depends on implementation and needs to be measured on site. Can range from 40 ms to several seconds.
- For audio processing, do not use OpenSL ES вЂwrappers’ or OpenSL ES itself. Use self-contained android low latency audio API in static libraries like Superpowered Audio SDK.
- Use OpenSL ES for audio I/O only.
How do I know any Android device’s round-trip audio latency?
Android audio latency is not device-specific or tied to specific hardware.
The round-trip latency on a HTC Nexus 9 LTE running Android 6.0.1 (MMB29R 2482564) is 14ms, while the same device running Android 5.1.1 (LMY47X 1849464) clocks in at 42 ms round-trip latency. The same device may exhibit different latencies depending on Android version and build as well as carrier specific modifications in the HAL (hardware abstraction layer), audio driver, and/or audio hardware settings.
To help developers determine device latency, Superpowered maintains a free, open-source iOS and Android audio latency test app as well as continuously updated public database of latencies and native buffer sizes for Android devices.
All things being equal, the lower the buffer size, the lower the latency. However, all things are rarely equal in Android.
The latency test app also records the presence of hardware feature flags:
- android.hardware.audio.low_latency indicates a continuous output latency of 45 ms or less.
- android.hardware.audio.pro indicates a continuous round-trip latency of 20 ms or less.
How does the Superpowered iOS and Android audio latency test app work?
Our latency test app measures the total round-trip latency of every component of the entire audio chain.
NOTE: the Superpowered audio latency test app for Android and iOS does not use Superpowered, and in fact, does not do any audio processing whatsoever. It measures the theoretical minimum round-trip latency of any device by measuring audio in and audio out. The latency data-table displays the best (lowest) measured value, if the dispersion is within 2x. We display a latency range if dispersion is outside of 2x.
For full transparency, the latency test app’s source is open and available on GitHub. We use the same code on all Android and iOS devices, and it works as follows:
How one measurement step works:
- Listen and measure the average loudness of the environment for 1 second.
- Create a threshold value 24 decibels higher than the average loudness.
- Begin playing a 1000 Hz sine wave and start counting the samples elapsed.
- Stop counting and playing if the input’s loudness is higher than the threshold, as the output wave is coming back (probably).
- Divide the the elapsed samples with the sample rate to get the round-trip audio latency value in seconds.
- We expect the threshold exceeded within 1 second. If it did not, then fail with error. Usually happens when the environment is too noisy (loud).
How the measurement process works:
- Perform 10 measurement steps.
- Repeat every step until it returns without an error.
- Store the results in an array of 10 floats.
- After each step, check the minimum and maximum values.
- If the maximum is higher than the minimum’s double, stop the measurement process with an error. It indicates an unknown error, perhaps an unwanted noise happened. Double jitter (dispersion) is too high, an audio system can not be so bad.
The latency test app does not distinguish between input and output latency. In theory, input latency and output latency are symmetrical, however devices may have an uneven split, due to different period sizes and period counts. Furthermore, many devices feature built-in mic processing to prevent echo, suppress noise and the Larsen effect (feedback).
Lastly, the latency test app only tests for one of the four main audio signal paths. The four main possible audio signal path options, that can and do vary in latency on the same device, are:
Audio Path | Example |
---|---|
Inbuilt speaker and inbuilt microphone. | Your phone in your hand. |
Audio output plugged into headphone jack and inbuilt microphone. | Your phone with your favorite headphones plugged in. For example, a karaoke app. |
Audio input and output plugged into the headphone jack. | Your phone with either a headset (headphone + microphone) plugged in or with a special audio loopback dongle for latency measurement. |
USB or HDMI audio. | A USB sound card connected via the OTG adapter. |
A casual user might think each audio path returns a similar result, however, this is not the case. Below we tested a few common devices to demonstrate the differences in latencies between audio paths.
Audio Path | HTC Nexus 9 Round-Trip Audio Latency (Android 6.0) |
---|---|
Inbuilt speaker and inbuilt microphone. | 26 ms |
Audio output plugged into headphone jack and inbuilt microphone. | 14 ms |
Audio input and output plugged into the headphone jack. (Audio Loopback Dongle) | 14 ms |
USB or HDMI audio. | N/A |
What about Android USB audio and Android MIDI audio latency?
This article is for readers interested in Android USB audio and Android MIDI.
How should developers work with OpenSL ES?
OpenSL ES is the standard audio API for Android apps. Android mandates that all audio in and audio out pass through OpenSL ES. However, it does not mandate that apps use OpenSL ES to process audio in the app. This allows developers to use 3rd party C++ audio libraries such as Superpowered for low latency audio processing, which radically reduces latency as compared to audio features offered by OpenSL ES. OpenSL ES feature availability also varies wildly between the different devices.
If I use Superpowered to process audio and then send it back it out through OpenSL ES, is Superpowered a wrapper?
No. Wrappers are an abstraction layer above and around the audio features of an operating system and built on top of the existing audio environment. Wrappers attempt to make it easier to interact and program for audio APIs but have no impact on the fundamental technological capabilities such as latency, audio quality or power consumption.
For example, FooAudioWrapper might allow you to interface with OpenSL ES in less complex ways but cannot deliver better actual audio performance because it still processes audio in OpenSL ES.
With Superpowered, a true audio вЂengine’, every Superpowered feature is implemented via the Superpowered library. Therefore, you not only get better performance, but since it is cross-platform, you get the same features, processing speed and audio quality regardless you run it on iOS or Android.
Audio latency in Android System (Kernel) Space
[To be more precise, Android has a system space while Linux has a kernel. The audio driver is a Linux system component, while the HAL is an Android system space component.]
For the purposes of understanding audio latency reduction, Android system space is where all the system drivers reside. These cannot be modified directly by app developers.
Of most interest in the Android audio path and its contributions to latency in system space are (in no particular order) the ALSA audio driver, the HAL (hardware abstraction layer) and AudioFlinger inside the Android Media Server.
What are the fundamental contributors to Android audio latency in system space?
There are many misconceptions as to the root cause of latency in Android system space. They are typically thought to be hardware related, Linux audio related or ALSA driver related.
Our research suggests that the root cause lies in how the ALSA and AudioFlinger communicate. Specifically, AudioFlinger вЂpushes’ audio buffers to the ALSA. вЂPushing’ causes scheduling problems, which cause audio quality problems. All pro audio, low latency systems use the pull mechanism as does the Superpowered Media Server for Android.
If Android system space latency is non-trivial, what should developers do?
While developers cannot affect Android audio latency directly, they can lobby OEMs and device manufacturers to license the Superpowered Low Latency Media Server for Android. The Superpowered Media Server is injected into system space and radically improves audio latency performance.
How does Superpowered offer low latency audio performance?
The heart of Superpowered technology involves patent-pending innovation in algorithm selection and optimization for audio processing on low-power mobile devices. Superpowered technology use fewer CPU clock cycles which means not only is processing faster, but because it uses fewer clock cycles, it uses less power as well — allowing a mobile device to run other non-audio related tasks concurrently.
It’s like taking a VW Bug, adding technology to it, which would make it accelerate like a Porsche and get the fuel efficiency of a Prius at the same time.
The physics of automobiles won’t actually allow you do that — but the physics of digital signal processing do.
More questions you’d like to see answered here?
Superpowered products and services include:
Professional audio on Android just got Superpowered.
Источник