Skip to content
catright edited this page Mar 23, 2020 · 20 revisions

Before use

First

If you just want to control every apps manually, I recommend EarTrumpet which is much more stable, fancy, and easy to use. I also using it more than several years. You can download it on Microsoft store.

The purpose of Wale is automatic control of system wide sound output.

Second

If your sound card driver provides 'Loudness Equalization' or its equivalent, please use it. Your driver is also much more reliable and easy to use. Many sound drivers support this feature these days. Most of them can be accessed by following way.

  1. Open Sound setting panel. Fastest way is Run(Win+R) control mmsys.cpl sounds
  2. Double click to open your playback device.
  3. Switch to Enhancements tab.
  4. Check Loudness Equalization.

Accessing method varies with sound card vendors. On-board sound card users also use this feature same way.


Usage

Wale tries to adjust all sound generating processes' peak level to Target-Yellow bar- level. You can change Target to your preferred level.

However, Wale uses windows volume system for now, which means the app only can control volume between 0.0~1.0. Hence, if you set Target to near 1.0, then Wale could not control volume, because all processes' peak levels are always less than or equal to Target. So, you should lower Target a little. Default Target level is 0.15(-16.5dB).

Caution! Too low Target may cause sudden hugely loud sound. Low Target means quieter output sound from your windows system. Then, you may need to increase the volume of your hardware such as speaker to hear the sound. In this situation, uncontrolled process would make very loud sound caused by some trouble of sound system include unintentional stop of Wale.

  • Click blue checkbox on the session to uncheck it if you want to exclude some session from auto control. This exclusion is not saved when Wale is closed.
  • Click process name or white checkbox on the session to mute it. The mute state is saved in the process itself so kept when Wale is closed.
  • You can use your mouse wheel to adjust Relative-White bar- volume for each session. Relative value is not saved when Wale is closed.

Tips

If you want that Wale works more actively

Lower the Target to around 0.05(-26dB) on your own risk.
Please be sure to be aware of above Caution!

Exclude the app from auto control for permanently.

This setting would be cleared when you update the app.

  1. Open user.config file under most latest %userprofile%\Appdata\Local\WALE\Wale.exe~\{recent version}\
  2. Find ExcList paragraph, It should have some strings such as ShellExperienceHost, Windows Shell Experience Host.
  3. Add new <string>process name which you want to exclude</string> to inside of ArrayOfString.

Here is already excluded apps audacity, obs64, Studio One, shotcut, Resolve, Cakewalk, amddvr, ShellExperienceHost, Windows Shell Experience Host


Wale System Description

View(F2)

MASTER CONTROL - Left panel

Controls volume of current default render device with mouse wheel on anywhere of master tab. Control step is on small textbox which a left one of two of them.
Click ‘Set Volume’ button to set a volume of current default render device, target volume is on bigger textbox which a right one of two of them.
AlwaysTop(F7): all windows would be always on top
StayOn(F8): keep open the main window
DetailView(F9): more detailed information on session data

SESSION(APPLICATION) CONTROL - Right panel

Click checkbox or session name to include to or exclude from auto control list.
Click number to cycle values to volume, peak, average peak or relative volume when not detailed mode.
Use mouse wheel to change relative volume of each session.
Relative is kept between -1~1. And Final volume is multiplied by (2^Relative).

Config(F3)

Audio

  • UI Update [ms]: update interval of main UI and audio status, lower this if you want more smooth UI

  • Auto Control [ms]: auto control interval, Wale will consume more CPU power if this value is lower

  • GC Interval [ms]: garbage collection interval

  • Target Level: target peak level to equalization

  • Up Rate: rate of volume raising per second

  • Kurtosis: kurtosis for reciprocal functions

  • Function:
    linear=V+(R-R*V)
    sliced linear=(V<V_B)? V+A*V+R ∶ V+B*(V-1) [A=R-R/V_B][B=R*V_B/(V_B-1)]
    reciprocal=V+R*1/(K+(1-K)*V-1) [if (K==1&&V==0) reciprocal=99]
    fixed reciprocal=V+R*((K+(1-K)*V)^(1/(Log_2(K)))-1) [if (K==0) fixed reciprocal=input][if (K==1) fixed reciprocal=input+R]
    where V=Volume,R=UpRate,B=Base Volume,K=Kurtosis

  • Graph: graph for current volume raising function, yellow is base, blue is current, red is new(you want to set)

  • Average Time: peak collection time to compute average

  • Min Peak Level: minimum peak to control the session

  • Average Enabled: On/Off average computing, should always on

  • Static Mode: When checked, Stops normalizing and set all apps' volume to Target level. Wale's audio controller works along UIUpdateInterval(100ms in default) rather than AutoControlInterval(15ms in default).

  • Auto Control Enabled: On/Off Auto Session(App) volume control, should always on

  • Collapse Sub Sessions: (still on progress) When checked, Merge all sessions used by specific app to one representative process, and control them together.

Window

  • Run at Windows Startup: run at windows start
  • Show Session Icon: show session icon on session control panel
  • Detailed View: view mode for main window.
  • Detailed Log: (still on progress) log more detailed information to file.
  • Priority: process priority for Wale.

Log(F4)

you can find app log on log tab, detailed log on %appdata%\WaleAudioControl