Equalizer314 v0.0.9-beta build 9
Requirements: 7.0+
Overview: Equalizer314 is a free, open-source system-wide audio equalizer for Android.
About
To start off there is really no “free” and/or “open source” alternatives to Wavelet and Poweramp EQ out there, and I felt like after using both of those apps ammong other various EQ apps that there were huge shortcomings in terms of the features & accessibilities they offered. When I started developing this app I wanted to have both a powerful parametric eq function with minimal permissions; this is why I choose to use both the DynamicsProcessing & Visualizer APIs as the framework for ths app as you only need minimal permissions for both of them to work in tandem. There are shortcomings from both these APIs, but I’ll discuss more of that later.
To start off this app is built off of DynamicsProcessing API you can read more about the documentation and features it offers here (https://developer.android.com/reference/android/media/audiofx/DynamicsProcessing); this is the same API that Poweramp EQ & Wavelet both use but I felt in some aspects they wern’t really being able really squeeze out the max potential that this API can offer.
As someone who comes from the audio production & IEM world I have a lot of experience understaning what both sides of those worlds want and wanted to be able to take advantage of both to create something that met my creative endeavors.
Using the Visualizer API I wanted to give users a way they can reliably cross reference visual data with audio data; this is both useful for the main EQ portion as you can visually reference audio changes you make, but this comes more into play with the Limiting & Multiband Compression sides of the app. While these features are for use in the DynamicsProcessing API; and many apps like Poweramp EQ & Wavelet (who premium locks these features); they just add knobs/sliders in and expect the user to understand exactly how these features work and without real audio-visual feedback, users aren’t really able to take advantage of these features in their full potential. This is the reason why many DAWs and VST Plugins use audio-visual feedback with these functions specifically.
Using Visualizer API with these DynamicsProcessing features; you’re really able to get an intimiate audio-visual feedback loop that gives you complete control over your audio framework. Shown below are some screenshots of the Multiband Compression & Limiter and how the Visualizer API functions with the input curves, gr trace curves, & the limiter waveform metering.
A lot of other funtions that don’t use the Visualizer API I also wanted to still give correct visual feedback (same style implementation that many DAWs use) such other various functions like the compressor & attack/release visuals. You can independently change these values with the slider and by moving you finger along the line/graph itself. This occurs in other places in the app as well, but these are two good examples of this.
Why DynamicsProcessing & Visualizer APIs?
There exists other apps and methods for device eq & visualization; but I wanted to talk about why I choose DynamicsProcessing & Visualizer as the framework for this app vs the other available and why I choose not to use those. To touch on this point again I choose to use the DynamicsProcessing API, the same API that both popular apps such as Poweramp EQ and Wavelet use as I decided DynamicsProcessing had enough tangibility in coparison to what I had to sacrifice using other more powerful methods.
Other methods of EQ available (ranked from);
Androids built-in Equalizer class (android.media.audiofx.Equalizer)
Fixed amount of EQ bands, this is what many “lazy” eq apps use and other apps who want to use EQ but don’t want to focus on building an EQ engine (audiobook apps, music players, media players, video players, etc)
Attaches to an audio session
AudioEffect API subclasses (https://developer.android.com/reference/android/media/audiofx/AudioEffect)
Much better than androids built-in equalizer class but still lacks in comparison to DynamicsProcessing
A lot of apps build with DynamicsProcessing & AudioEffects as there are some subclasses available within the API that can offer “different” features that DynamicsProcessing cannot and they can attach to the same audio session pipeline
Attaches to an audio session
AudioPlaybackCapture (RootlessJamesDSP)
Has much more access to the audio framework than what any of the avaialble APIs above can do, but in order to do so you need to grant ADB perms using something like Shizuku, going this way would also provide a much more accurate Visualizer/Spectrum; but going this route would force you to use the RECORD_AUDIO permission while also increasing latency with audio, and I wanted to keep the permissions in my app as low as possible and there was already a well developed app using this method so I wanted to stay clear of doing something that was already done
Another limitation is that some apps such as spotify block internal audio capture
AudioFlinger (JamesDSP & ViPER4Android)
This is the “best” method if you really want control over your audio without latency issues. There is no “down-side” to using this method other than you need a rooted device which steers a lot of people away. This along with RootlessJamesDSP are best used if you want to apply custom audio effects directly without relying on android’s built-in effects.
only con? root.
Presets & EQ Generation & AutoEQ
To reference, lots of apps run AutoEQ (https://github.com/jaakkopasanen/AutoEq/wiki/Choosing-an-Equalizer-App); including Wavelet & Poweramp EQ. What both those apps don’t offer are either “free access to auto eq” (comon wavelet….) & using the built in AutoEQ algorithm from the AutoEQ Github which you can take a look at here (https://github.com/jaakkopasanen/AutoEq/wiki/How-Does-AutoEq-Work%3F). This algorithm is done on the “Generate Custom EQ” section of the app; you need a “measurement” & “target” which both can be taken from squig.link along various resources online.
On top of this I would also like to mention maintaining homogenity between preset sharing among popular equalization “applications”; this why I want with APO as the main export method than having an independent export method such as what Poweramp EQ & Wavelet use (Also as shown below in the “Generated EQ” portion). This would allow you to transfer the exported APO file to your desktop equalization software (EqualizerAPO) without having running into conversion issues. I was thinking about creating a conversion software in the app or on this github so incase people want to trasnfer over from Wavelet & Poweramp EQ, they can with ease. It might be something I will implement later if a lot of people request.
➡ Untouched apk with Original Hash Signature
➡ Certificate MD5 digest: 62dd75b3eb23dfe7713962431de0dd3b
➡ No changes were applied
➡ Package name: com.bearinmind.equalizer314
➡ CPU architectures: None;
What’s New:
This release focuses on wiring up the audio pipeline and adding a lot of features people have been requesting. Yes I’m aware of the issues with the sound quality, I’ll be working on diagnosing this with future updates.
Channel input screen in the audio effects pipeline allows you to change & detect sessions and attach the processing to an app/session instead of being device wide (just like how wavelet and poweramp allow, using the same dumpsys perms). You’re also able to attach presets to each individual app this way as well; and mute system sounds/notifications/etc on the “skip system sounds” option, in future updates I can expand this feature, and allow users to input specific bypass, but this is a bandaid fix to issues a lot of people been wanting/having with this. – issue #21 ; issue #20 ; issue #13 ;
Added a quick settings tile to turn off / on the audio processing – issue #9
Channel output screen in the audio effects pipeline allows you to change and attach presets to output devices such as Bluetooth, speaker, usb dacs, etc – issue #13 ; issue #21
Added environmental reverb (have been working on the UI for this for a while and this took up most the bulk of my time looking for resources and various UIs I hope you guys find this UI easy to understand / use) – issue #4
I did the most testing I could alone so I’m sure problems will come up, I’ll do my best to fix and diagnose everything as quick as possible, just be aware I am solo developing this app so being on an on-time release schedule is a bit difficult, especially if the features I’m working on are quite intensive and take a lot of thought. I hope you all can use this
This app has no advertisements
More Info:https://github.com/bearinmindcat/Equalizer314
Download Instructions:
https://ouo.io/HUuaZHE
Mirrors:
https://ouo.io/pW3JR6
https://ouo.io/pkLpS1p