You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Loudness is a C++ library with Python bindings for modelling perceived loudness.
The library consists of processing modules which can be cascaded to form a loudness model.
Dependencies
To build the C++ library you will need:
libsndfile1-dev >= 1.0.25
libfftw3-dev >= 3.3.3
zlib1g-dev >= 1.2.8
To build the Python bindings you will need:
swig >= 3.0.0
python-numpy-dev
Note
This project is still in heavy development so is not stable. I am also now only
supporting Python 3.5+. Please register an issue at:
https://github.com/deeuu/loudness/issues
Example - Loudness of a 1 kHz tone @ 40 dB SPL according to ANSI S3.4:2007
import loudness as ln
# All inputs and outputs make use of a SignalBank
inputBank = ln.SignalBank()
nSources = 1
nEars = 1
nChannels = 1
nSamples = 1
fs = 1
# There are 4 dimensions
inputBank.initialize(nSources, nEars, nChannels, nSamples, fs)
# Set the centre frequency of the first channel
inputBank.setCentreFreq(0, 1000)
# Set the intensity in normalised units
level = 40
inputBank.setSample(0, 0, 0, 0, 10.0 ** (level / 10.0))
# The loudness model
model = ln.StationaryLoudnessANSIS342007()
model.initialize(inputBank)
# Now process the input
model.process(inputBank)
# Get the output of this loudness model
feature = 'Loudness'
outputBank = model.getOutput(feature)
print 'Loudness in sones %0.2f' % outputBank.getSample(0, 0, 0, 0)