ShizuStore

WEcho

qumolangmo

2.5.2 · GitHub

Download APK
Audio Android 10+ 3 weeks ago GPL-3.0
107 ShizuStore
8.8k GitHub
116 Stars
97 MB Size

More about this app

An Android application for global audio effects processing

WEcho

GPL-3.0 Platform API

中文

Project Screenshots



Project Introduction

WEcho is a feature-rich Android Global Audio Effect Processor that works out-of-the-box without requiring root. With Shizuku support, compatibility is even stronger.

It uses Native C++ for DSP algorithms at the core and Flutter for the modern interactive interface, bringing clear, high-quality global audio enhancement to modern Android devices.

Beta Testing & Community

System Requirements

  • Android 10 (API level 29+)
  • CPU arm-v8a architecture

Core Features

Capture Settings

  • Speaker/Headphone Profile Adaptive: Off for unified configuration, on for automatic profile switching based on current device.
  • Power Saving: Stop processing WEcho after 60 seconds of silence to save battery life.
  • Blacklist: Exclude unsupported apps to prevent audio from being muted.

Audio Effects

  • Channel Balance: Adjust left/right channel volume balance for stereo field control
  • Global Gain: Adjust overall volume level affecting all audio signals
  • Port Compressor: Compress dynamic range, helpful when tracks have large loudness variations
    • Threshold, Knee, Ratio, Makeup Gain, Attack, Release
  • Diff Surrounding: extend the stereo
  • Transient Enhancement: Enhance mid-high frequency transient response for clarity and detail
  • Bass Enhancement: Boost low-frequency signals for better bass effect
    • Gain controls intensity, center frequency determines enhancement range, Q factor affects bass elasticity
  • Even Harmonic Generator: Generate even harmonics for warm analog device texture
    • Base, Warm, Sugar three-level adjustment
  • Convolution Reverb: Use impulse response files to simulate real-space acoustics
    • Supports up to 65536 samples/channel
  • Virtual Bass: Optimized for speaker playback, enhance bass perception
  • Multi-Band Limiter: Automatic limiting, significantly improves distortion
  • Low Cut: Speaker mode only, cut low frequencies below cutoff to allow louder output
  • IIR Equalizer: 1-64-band IIR equalizer with peak and shelf filters
  • FDN Reverb: FDN reverb effect with adjustable parameters
  • WEcho DSP: Generate custom audio effects with C language
  • Device Simulation: Use AutoEQ database to simulate other headphones' sound. (Only for reference, not actual quality).
  • Bass Resonator: Works with both speakers and headphones. Set center frequency to 150hz, low cat to 120hz, and reduce global gain when playing through speakers, it will have better sound.
Tech Stack

Dart(Flutter) + Kotlin + C++

Installation Guide

Build from Source

  1. Clone the repository
    git clone https://github.com/qumolangmo/wecho.git
    cd wecho
    
  2. Install dependencies
    flutter pub get
    
  3. Build the project
    flutter build apk
    
  4. Install to device
    flutter install
    

Install from Release

Go to the Releases page to download the latest APK file, then install it directly to your device.

Usage

  1. install WEcho, install Shizuku(optional)
  2. WEcho will query shizuku permission when shizuku installed. just allow it.
  3. if no shizuku, you can grant WEcho permission by executing adb commands:
    adb shell pm grant com.qumolangmo.wecho android.permission.DUMP
    adb shell appops set com.qumolangmo.wecho PROJECT_MEDIA allow
    

Dependencies

C++:

  • AudioFile: Used to read impulse responses
  • fftw3: FFT and IFFT for convolution

Flutter:

  • flutter: Cross-platform UI framework
  • file_picker: File picker
  • shared_preferences: Local storage for temporary configuration
  • path_provider: Get application document directory
  • smooth_onboarding: Onboarding screen for new users
  • window_manager: Window management
  • flutter_staggered_grid_view: Staggered grid view component
  • dartz: Functional programming, eliminate try-catch
  • flutter_code_editer: Code editor for Flutter
  • flutter_highlight: Code highlighting for Flutter

Other:

  • AutoEQ: Database for device simulation
  • shizuku: Root permission for WEcho to access DUMP and PROJECT_MEDIA permissions

Contribution

Welcome to submit Issues!

Features to be Improved

  • Replace AudioTrack with AAudio
  • AI tuning
  • Hi-Ending system
  • More audio effect plugins

Contact


Enjoy better audio experience! 🎵

If you like this project, please give it a Star!

License

This software is licensed under the GNU General Public License v3.0.

See the LICENSE file for the complete agreement.

Close

How Shizuku is used

Can self-grant DUMP and PROJECT_MEDIA permissions and apply global audio effects via `pm grant` and `appops set` through Shizuku.

This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.

How this app uses Shizuku

WEcho uses Shizuku to self-grant protected permissions that unlock its global audio effects processing.

  • Grant audio permissions: grants itself android.permission.DUMP with the pm grant shell command through Shizuku and allows the PROJECT_MEDIA app operation with the appops set shell command through Shizuku, using fixed arguments for its own package.
  • Discover active playback: uses the granted DUMP permission to read dumpsys media.audio_policy output and parse other apps media and game audio sessions, keeping the list updated when playback changes.
  • Mute original output: attaches a silencing DynamicsProcessing effect to other apps audio sessions and monitors playback changes, so listeners hear only the captured audio after WEcho processing instead of the original plus the processed copy.

Android APIs or commands used

  • pm grant
  • appops set
  • dumpsys media.audio_policy
  • AudioManager.registerAudioPlaybackCallback
  • DynamicsProcessing

Notable details

The same DUMP and PROJECT_MEDIA grants can be applied manually with ADB commands without Shizuku, as documented in the app setup text.

Close

Changelog

What's new for version 2.5.2

  1. refactored the UI and add theme subsystem.
  2. add bass resonator effect, it will deliver more impactful bass on the speakers (must run with lower global gain) than wecho virtual bass.
Close

Permissions

9 permissions requested

  • android.permission.RECORD_AUDIO
  • android.permission.FOREGROUND_SERVICE
  • android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION
  • android.permission.POST_NOTIFICATIONS
  • android.permission.DUMP
  • android.permission.QUERY_ALL_PACKAGES
  • android.permission.READ_MEDIA_IMAGES
  • com.qumolangmo.wecho.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
  • moe.shizuku.manager.permission.API_V23
Close