JOCLoudness

Version

The JOCLoudnessRuby is a native ruby code able to load a wav file and calculate its Loudness in LKFS following the ITU-R BS.1770

Accepted formats (.WAV):

  • Headers of 16, 18, 40 bytes

  • Any sampling frequency

  • Any number of channels

  • PCM 8,16,24 bits per sample or FLOAT 32 bits per sample

Note 1: This module recalculates automatically the filter coefficients depending on input file sampling frequency

Note 2: ITU-R BS.1770 is a NOT gated measure

Usage examples:

  • Simple:
require 'JOCLoudness'

wavfilename = "c:\\Test.wav"

begin
  loud = JOCLoudness.new(wavfilename)

  lkfs = loud.CalcLoudness()

  loud.Close()

  puts "Loudness of #{wavfilename} = #{lkfs.round(1)} LKFS"

rescue Exception => e
  puts "Error: #{e.message}, Trace: #{e.backtrace.inspect}"
end
  • Advanced:
require 'JOCLoudness'

wavfilename = ARGV[0]
logfilename = ARGV[1]

begin
  loud = JOCLoudness.new(wavfilename, logfilename, Logger::DEBUG)

  lkfs = loud.CalcLoudness()

  loud.Close()

  puts "Loudness of #{wavfilename} = #{lkfs.round(1)} LKFS"

rescue Exception => e
  puts "Error: #{e.message}, Trace: #{e.backtrace.inspect}"
end

You can download test files from https://tech.ebu.ch/loudness (See test material)

If you want more information about loudness you can go to http://www.jordicenzano.name/projects/loudness

To contact me: [email protected]