Coder Social home page Coder Social logo

ez-volume-normalizer's Introduction

Overview

This is a volume normalizer and/or limiter for Microsoft Windows. It works by reducing the windows master volume, it can not boost your audio.

  • Requirements: 64 bit windows.
  • Tested on: Windows 10.

controls

Warning

This software has not been tested on many devices, so be careful at first, don't blow up your ears. Use at your own risk.

Installing

Changelog

v0.8.0

  • Added auto reset to respond faster to quiet parts.

User manual

Top row

  • Power on/off
  • Soundcard selection
  • Device info and volume reported by the device
  • Volume adjustment: At 50% it wil send -3dB to your soundcard instead of -6dB.
    Can be used to retain some of the original dynamics.
    This is done in the last stage, so visually you won't see any difference.
  • Presets

Level meters

  • Input signal
  • Output signal

Orange: limiter operating range (soft knee)
Red: fully limited

Target level

controls

The normalizer works by reducing the master volume. Therefore you need to set target level to some low value, like -30dB, to give it room to increase the volume when needed; setting it to 0 effectively disables the software.

The slider also sets the limiter operating range, indicated with C and L. These can be fine tuned with the limiter start/width setting.

Normalizer

controls

The normalizer controls the volume setpoint to make the output signal match the target level.
If not active then you can set the setpoint yourself. (volume slider on the right)

Graphic display

Displays input signal over time. There are 5 bars per second.

  • purple line: A moving average that selects bars, these will be bright green
  • yellow line: The average of the bright green bars, this is the loudness of what is playing.

Settings

  • selector: Length of the purple average.
    Increase this to ignore quiet parts.
  • WMA: Makes the selector respond faster to recent changes. (Weighted moving average)
  • average: How many green bars to use to compute the average loudness.
    Decrease this to converge more quickly to a new level.
  • auto reset: If the selector falls this many dB below then the average will be reset.

Limiter

controls

Because the normalizer is relatively slow, there is also a limiter.

The limiter starts compressing at C (or the orange area of the level meters) and won't let the signal go above L (fully limited) (red area). You can shift these points with start/width controls.

The thin red bar show the reduction applied by the limiter (in dB).

The limiter does not affect the volume slider, that would make it impossible to disable the normalizer and manually set the volume.

Settings

  • start/width: operating range, relative to the target level.
  • attack: how quickly to reduce the volume when the signal goes above the start level
  • hold
  • release: how quickly to reduce the volume reduction

Power off

To set the volume before exiting the program:

  • Disable normalizer
  • Set volume to your desired level
  • Toggle the power button, or close the program

Compiling

PATH=/c/D/dmd-2.100.2/windows/bin64/:/c/D/dmd-2.100.2/windows/bin:$PATH
rdmd.exe -m64 ./Build.d
  • Copy the folder 'generated\gtkd' to your D installation. 'C:\D\dmd-2.100.2\src\gtkd'
  • In VisualStudio goto tools -> options -> dmd and add the import path: C:\D\dmd-2.100.2\src\gtkd
  • Also copy the two generated lib files to C:\D\dmd-2.100.2\windows\lib64\gtkd.lib C:\D\dmd-2.100.2\windows\lib64\gtkdsv.lib
  • Open the project in visual studio 2022
  • In project properties -> linker -> general add the 2 generated lib files to 'library files'
  • compile and run
  • Full/slightly different instructions to install GTKD: https://github.com/gtkd-developers/GtkD/wiki/Installing-on-Windows

Acknowledgements

ez-volume-normalizer's People

Contributors

e-zijlstra avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.