Skip to main content

Dynamic Range (DR) algorithm implementation in python

Project description

Dynamic Range meter

Analyze audio files for their Dynamic Range (DR) as proposed by the Pleasurize Music Foundation.

The algorithm has been reverse-engineered using the available information and officially endorsed software to calcuate the DR value. The output of drmeter.py is probably within 99.9% accuracy towards the official DR tools.

This project is in no way affiliated with the Pleasurize Music Foundation or its Dynamic Range Project.

Requirements

In order to run the DRmeter, you need to have the following Python packages installed. Use the included Pipfile to install the dependencies via Pipenv (pipenv install)

  • Numpy (v0.14.5)
  • PySoundFile (v0.10.2)

The function has been developed using Python 3.6 on a Mac. The supported audio file formats are given by PySoundFile's underlying libsndfile library.

Usage

./drmeter.py <file or path>

Example output


DR analysis results:
====================
/Volumes/media/music/Coldplay/Mylo Xyloto/01-01 - Mylo Xyloto.flac

     :   Chann  1  ::  Chann  2  ::
Peak :    -2.49 dB ::   -3.08 dB ::
RMS  :   -14.60 dB ::  -14.59 dB ::
DR   :     7.76    ::    7.27    ::

Which closely matches the results within the Dymanic Range DB.

License

This project is under MIT license, see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

drmeter-0.2.0a0.tar.gz (6.1 kB view hashes)

Uploaded Source

Built Distribution

drmeter-0.2.0a0-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page