Introduction
Is a native ruby code that can read a wav file and it compute is loudness level in LKFS following ITU-R BS.1770.
Accepted input wave (.wav) formats
Header type | Sample type | Sample frequencies |
Integer sample bits |
Float sample bits |
16 bytes 18 bytes 40 bytes (WAVEEX) |
Integer Float |
All | 8 16 24 |
32 |
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