You are not logged in.

#1 2012-01-03 09:30:30

bred
Member
Registered: 2011-01-04
Posts: 46

DR14 T.meter a dynamic range meter for Linux

DR14 T.meter

dr14_tmeter is a simple command line tool that compute the DR (dynamic range) of the audio files in your music collection.
dr14 t.meter uses is based on the algorithm described by the Pleasurize Music Foundation.

For understanding the main propose of the DR14 visit:
http://www.pleasurizemusic.com/

And for having a better idea about the loudness war:
http://en.wikipedia.org/wiki/Loudness_war

In  a few words higher is the DR of an audio track will be more pleasant to hear.

The tool is very simple to use, you must type the command by specifying a music directory:

dr14_tmeter [your music directory] -m

for example:

dr14_tmeter /media/usb_disk/data/Music/Music/Sex\ Pistols/ -m

And it starts!

After the computation by default it writes the results in three tables named dr14.txt dr14.html and dr14_ddcode.txt located in the music directory.

The option  -m for enabling the  multithread is highly recommended!

For more details and options:

dr14_tmeter --help

AUR:
https://aur.archlinux.org/packages.php?ID=54278

Github:
https://github.com/simon-r/dr14_t.meter


Il tool is written in python and works correctely with python2 and python3.
It support the audio formats: mp3 flac ogg ape wma mp4


>>>>>>>> DR14 T.meter - HOME PAGE <<<<<<<<

Last edited by bred (2013-11-18 13:23:45)

Offline

#2 2012-01-03 19:17:42

big_bum
Member
From: Bucharest,Romania,Europe,World
Registered: 2011-08-29
Posts: 47

Re: DR14 T.meter a dynamic range meter for Linux

Can you make it to scan recursive?

Offline

#3 2012-01-03 20:11:13

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

big_bum wrote:

Can you make it to scan recursive?

For the moment try this command

for i in *; do dr14_tmeter -m "$i"; done

That's not recursive, but it's better than noting.


Added to wish-list smile

Offline

#4 2012-01-04 19:22:53

big_bum
Member
From: Bucharest,Romania,Europe,World
Registered: 2011-08-29
Posts: 47

Re: DR14 T.meter a dynamic range meter for Linux

Thank you!

Offline

#5 2012-01-04 20:36:31

Tristelune
Member
Registered: 2007-10-09
Posts: 86

Re: DR14 T.meter a dynamic range meter for Linux

Thank you for this tool I was just searching some tool to analyse the dynamic range!!!

But I have a problem: for some flac files I get this kind of error:

 - ERROR ! 
Elapsed time: 1.18
No audio files found

In the directory there are some flac files.

Do you have any idea ? What input do you need ?

Offline

#6 2012-01-09 11:58:20

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

Tristelune wrote:

Thank you for this tool I was just searching some tool to analyse the dynamic range!!!

But I have a problem: for some flac files I get this kind of error:

 - ERROR ! 
Elapsed time: 1.18
No audio files found

In the directory there are some flac files.

Do you have any idea ? What input do you need ?


Copy and paste the command line and the full output.

It uses the flac command for reading the files, so you must install the flac package with pacman.

pacman -Sy flac

The full dependencies list: faad2 ffmpeg flac lame python python-numpy python-scipy vorbis-tools

See also the AUR package:
https://aur.archlinux.org/packages.php?ID=54278

Last edited by bred (2012-01-09 12:00:21)

Offline

#7 2012-01-13 20:57:42

Tristelune
Member
Registered: 2007-10-09
Posts: 86

Re: DR14 T.meter a dynamic range meter for Linux

bred wrote:

Copy and paste the command line and the full output.

It uses the flac command for reading the files, so you must install the flac package with pacman.

pacman -Sy flac

The full dependencies list: faad2 ffmpeg flac lame python python-numpy python-scipy vorbis-tools

See also the AUR package:
https://aur.archlinux.org/packages.php?ID=54278

I assume you are the developper of this tool. I've sent you a mail and
the flac package is installed on my computer. Such that the other also
know it seems to be a bug with flac 24 bits/96khz. For every cd I ripped, also
16 bits/44.1 khz, the tool works perfectly.

Offline

#8 2012-01-13 21:13:05

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

Tristelune wrote:

I assume you are the developper of this tool. I've sent you a mail and
the flac package is installed on my computer. Such that the other also
know it seems to be a bug with flac 24 bits/96khz. For every cd I ripped, also
16 bits/44.1 khz, the tool works perfectly.

Yes, I'm the developer.
For being more precise is a bug wit the scipy libs that don't recognize the 24 bits sampling.

If you want to measure the DR of your 24 bits files, convert its to the mp3 format and measure these files.
Normally there's no difference.

Offline

#9 2012-01-14 09:29:50

Tristelune
Member
Registered: 2007-10-09
Posts: 86

Re: DR14 T.meter a dynamic range meter for Linux

bred wrote:

Yes, I'm the developer.
For being more precise is a bug wit the scipy libs that don't recognize the 24 bits sampling.

If you want to measure the DR of your 24 bits files, convert its to the mp3 format and measure these files.
Normally there's no difference.

Ok, thank  you for for the suggestion. Should I make a bug report for the scipy libs ?

Offline

#10 2012-01-14 10:43:58

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

Tristelune wrote:
bred wrote:

Yes, I'm the developer.
For being more precise is a bug wit the scipy libs that don't recognize the 24 bits sampling.

If you want to measure the DR of your 24 bits files, convert its to the mp3 format and measure these files.
Normally there's no difference.

Ok, thank  you for for the suggestion. Should I make a bug report for the scipy libs ?

That's not necessary

http://projects.scipy.org/scipy/ticket/1405  wink

Is a well known problem.
Maybe we should try to send an example.

Offline

#11 2012-01-14 11:08:50

Tristelune
Member
Registered: 2007-10-09
Posts: 86

Re: DR14 T.meter a dynamic range meter for Linux

bred wrote:

That's not necessary

http://projects.scipy.org/scipy/ticket/1405  wink

Is a well known problem.
Maybe we should try to send an example.

Ok, as I can see somebody already posted an example. But I'll probably send a
mail to ask if they need one..... just to show that other are also interested by a fix wink.

Offline

#12 2012-01-20 17:46:02

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

A new version is ready
0.8.0

Some news:
New and better out tables, based on audiofiles metadata.
alac support
and the table are written in utf-8.

Visit:
DR14 T.meter

AUR:
https://aur.archlinux.org/packages.php?ID=54278  (Vote this package big_smile )

Github:
https://github.com/simon-r/dr14_t.meter

https://bbs.archlinux.org/viewtopic.php … 5#p1035685

Last edited by bred (2013-11-18 13:25:28)

Offline

#13 2012-02-15 17:30:40

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

big_bum wrote:

Can you make it to scan recursive?

Now yes.


The version 0.8.3 has the option for the recursive scan.

Try it!

Visit:
DR14 T.meter

AUR:
https://aur.archlinux.org/packages.php?ID=54278  (Vote this package  )

Github:
https://github.com/simon-r/dr14_t.meter

FB:
http://www.facebook.com/pages/DR14-tmet … 5391119227

Last edited by bred (2012-02-15 17:55:12)

Offline

#14 2012-09-12 19:44:25

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

News ....

dr14 t.meter 1.0.5




Now it's capable to perform  the Dynamic compression of the audio files; so if you want to experiment what's happen with the  compression ... try it.

For example:

> dr14_tmeter 01-The_rolling_Stones_paint_it_black.mp3 --compress vh

The resulting file will be written in  /tmp  ....  What happen to you music with the compression http://i49.tinypic.com/1i1nhi.jpg (the compressed file is bellow)

Now it support the 24bit files (via down sampling)

And the  computation speed is dramatically increased.

It's doing also some audio analysis like histograms ...

Now it's also fully compatible with the DR database: http://www.dr.loudness-war.info/

Web page:
http://dr14tmeter.sourceforge.net

AUR:
https://aur.archlinux.org/packages.php?ID=54278

Github
https://github.com/simon-r/dr14_t.meter


That's the spectrogram of an audio file:
2vljiwo.jpg

Enjoy ....

Last edited by bred (2013-11-18 13:24:56)

Offline

#15 2012-10-18 23:56:36

djrobx
Member
Registered: 2012-10-18
Posts: 1

Re: DR14 T.meter a dynamic range meter for Linux

I'm having an issue using dr14_tmeter on MP3 files.  I always get:


dr14_tmeter -f Wonderful\ -\ Everclear.mp3 2012-10-18 16:55:12,190 - dr14log - DEBUG - ciao
/mnt/R/Music/Top 40/Wonderful - Everclear.mp3

Unexpected error: (<type 'exceptions.ValueError'>, ValueError('total size of new array must be unchanged',), <traceback object at 0xa91ee8c>)

- ERROR !

It does seem to work fine on WAV files.   LAME is installed.   Any idea?

Offline

#16 2012-10-19 08:19:23

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

djrobx wrote:

I'm having an issue using dr14_tmeter on MP3 files.  I always get:


dr14_tmeter -f Wonderful\ -\ Everclear.mp3 2012-10-18 16:55:12,190 - dr14log - DEBUG - ciao
/mnt/R/Music/Top 40/Wonderful - Everclear.mp3

Unexpected error: (<type 'exceptions.ValueError'>, ValueError('total size of new array must be unchanged',), <traceback object at 0xa91ee8c>)

- ERROR !

It does seem to work fine on WAV files.   LAME is installed.   Any idea?

Have you updated to python 3.3 ?
If yes, rebuild the package via AUR and let's me known.

Offline

#17 2012-10-19 10:54:34

kokoko3k
Member
Registered: 2008-11-14
Posts: 2,390

Re: DR14 T.meter a dynamic range meter for Linux

bred wrote:

In  a few words higher is the DR of an audio track will be more pleasant to hear.

[OT]Questionable, it depends on the environment noise level.[/OT]
...but i agree that having sources with higer DR is better so that you can compress it according to your needs.

Last edited by kokoko3k (2012-10-19 10:56:07)


Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !

Offline

#18 2012-10-19 14:47:07

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

kokoko3k wrote:
bred wrote:

In  a few words higher is the DR of an audio track will be more pleasant to hear.

[OT]Questionable, it depends on the environment noise level.[/OT]
...but i agree that having sources with higer DR is better so that you can compress it according to your needs.

Higher DR is not better quality, but generally, compression don't improve the quality.

Offline

#19 2013-05-01 21:49:58

Prozzaks
Member
Registered: 2009-08-23
Posts: 16

Re: DR14 T.meter a dynamic range meter for Linux

Hello,

I tried your tool with my music collection.  It worked well for a couple hundred of songs, but then I encountered an error.  Usually, it prints the name of the song followed by "DR xx", but just before the error message, it only printed "DR = 11" right at the beginning of the line.

My music collection is in ~/Music.  From ~, I launched the following command :

dr14_tmeter -ra Music

The actual error message was :

Traceback (most recent call last):
  File "/usr/bin/dr14_tmeter", line 26, in <module>
    dr14tmeter.dr14_tmeter.main()
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_tmeter.py", line 118, in main
    (success,clock,r) = scan_dir_list(subdirlist,options,out_dir)
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_utils.py", line 98, in scan_dir_list
    write_results( dr , options , out_dir , cur_dir )       
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_utils.py", line 173, in write_results
    dr.fwrite_dr( os.path.join( full_out_dir , tables_list&#91;code&#93;&#91;0&#93; ) , tables_list&#91;code&#93;&#91;1&#93; , table_format , append=options.append , dr_database=options.dr_database )
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dynamic_range_meter.py", line 124, in fwrite_dr
    self.table_txt = wr.write_dr( self , tm )       
  File "/usr/lib/python3.3/site-packages/dr14tmeter/write_dr.py", line 99, in write_dr
    artist = drm.meta_data.get_album_artist()
  File "/usr/lib/python3.3/site-packages/dr14tmeter/read_metadata.py", line 152, in get_album_artist
    return res
UnboundLocalError: local variable 'res' referenced before assignment


PS : I replaced the brackets with their character code since the message contains sequences that are BBCode.

Offline

#20 2013-05-04 20:34:46

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

Prozzaks wrote:

Hello,

I tried your tool with my music collection.  It worked well for a couple hundred of songs, but then I encountered an error.  Usually, it prints the name of the song followed by "DR xx", but just before the error message, it only printed "DR = 11" right at the beginning of the line.

My music collection is in ~/Music.  From ~, I launched the following command :

dr14_tmeter -ra Music

The actual error message was :

Traceback (most recent call last):
  File "/usr/bin/dr14_tmeter", line 26, in <module>
    dr14tmeter.dr14_tmeter.main()
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_tmeter.py", line 118, in main
    (success,clock,r) = scan_dir_list(subdirlist,options,out_dir)
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_utils.py", line 98, in scan_dir_list
    write_results( dr , options , out_dir , cur_dir )       
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_utils.py", line 173, in write_results
    dr.fwrite_dr( os.path.join( full_out_dir , tables_list&#91;code&#93;&#91;0&#93; ) , tables_list&#91;code&#93;&#91;1&#93; , table_format , append=options.append , dr_database=options.dr_database )
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dynamic_range_meter.py", line 124, in fwrite_dr
    self.table_txt = wr.write_dr( self , tm )       
  File "/usr/lib/python3.3/site-packages/dr14tmeter/write_dr.py", line 99, in write_dr
    artist = drm.meta_data.get_album_artist()
  File "/usr/lib/python3.3/site-packages/dr14tmeter/read_metadata.py", line 152, in get_album_artist
    return res
UnboundLocalError: local variable 'res' referenced before assignment


PS : I replaced the brackets with their character code since the message contains sequences that are BBCode.

In these tracks is specified the artist?
(See metadata).

[Try the current git version ... ]

Last edited by bred (2013-05-04 20:37:46)

Offline

#21 2013-05-04 22:42:22

nomorewindows
Member
Registered: 2010-04-03
Posts: 3,362

Re: DR14 T.meter a dynamic range meter for Linux

There was a soundsort utility, but it only works on WAV and not MP3s.


I may have to CONSOLE you about your usage of ridiculously easy graphical interfaces...
Look ma, no mouse.

Offline

#22 2013-05-05 07:41:45

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

nomorewindows wrote:

There was a soundsort utility, but it only works on WAV and not MP3s.

I've seen, but dr14 is a completely different thing.
soundsort seems to be an audio classifier.

Offline

#23 2014-05-18 02:30:24

horseman612
Member
Registered: 2014-05-18
Posts: 1

Re: DR14 T.meter a dynamic range meter for Linux

I keep getting this error:

Traceback (most recent call last):
  File "/usr/bin/dr14_tmeter", line 21, in <module>
    import dr14tmeter.dr14_tmeter
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dr14_tmeter.py", line 24, in <module>
    from dr14tmeter.dynamic_range_meter import DynamicRangeMeter
  File "/usr/lib/python3.3/site-packages/dr14tmeter/dynamic_range_meter.py", line 26, in <module>
    from dr14tmeter.compute_dr14 import compute_dr14
  File "/usr/lib/python3.3/site-packages/dr14tmeter/compute_dr14.py", line 19, in <module>
    from dr14tmeter.audio_math import *
  File "/usr/lib/python3.3/site-packages/dr14tmeter/audio_math.py", line 18, in <module>
    from numpy  import *
ImportError: No module named 'numpy'

python-numpy is installed & up to date.  Any idea what's wrong?

Offline

#24 2014-05-18 10:35:05

bred
Member
Registered: 2011-01-04
Posts: 46

Re: DR14 T.meter a dynamic range meter for Linux

horseman612 wrote:

python-numpy is installed & up to date.  Any idea what's wrong?

Try to recompile dr14_tmeter.

Offline

Board footer

Powered by FluxBB