INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Album Dynamic Range (DR)  (Read 4007 times)

rael71

  • World Citizen
  • ***
  • Posts: 118
Album Dynamic Range (DR)
« on: July 05, 2014, 08:20:30 am »

I'd like to create a library view based on average album Dynamic Range (DR).
As far as I know it's not possible to obtain this value on jriver (only single track DR) but you can do that in foobar Dynamic range meter tool.

Is it possible that in the future an "album DR" field will be introduced?
In the meanwhile is there someone who knows how to create this field with an expression?

Thank you in advance and bye

Andrea
Logged
Bye!

Andrea

rael71

  • World Citizen
  • ***
  • Posts: 118
Re: Album Dynamic Range (DR)
« Reply #1 on: July 06, 2014, 04:58:48 am »

Anyone?

I followed the instructions in this thread
Quote
http://yabb.jriver.com/interact/index.php?topic=82810.0
but i can't figure out anything.

I I create an album field as described there by inflatable mouse MC returns always a 0 value.

Please help me!!!
Logged
Bye!

Andrea

marko

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 9139
Re: Album Dynamic Range (DR)
« Reply #2 on: July 06, 2014, 05:39:19 am »

I think you might be able to get at this using 'variables', but personally, I have a hard time following how they work.

mark_h and MrC have a good grasp though.

In the thread linked below, they discuss using them to generate average album ratings. Perhaps those instructions can be manipulated to get information you want?
http://yabb.jriver.com/interact/index.php?topic=72049.0

-marko

mark_h

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1854
Re: Album Dynamic Range (DR)
« Reply #3 on: July 06, 2014, 06:24:24 am »

Yes, variables are the solution to album based calculations inside MC, but they aren't necessarily easy to use and it definitely helps to have a background in programming as there are quite a few tripping points.

Anyway, in this case what you want to do is quite easy:

Album DR = ( sum track dynamic ranges ) / ( number of tracks )

Just copy and paste the code below into a smartlist and you're good to go:

Code: [Select]
[=save(0,var_number_of_tracks[album artist (auto)][album])1]=1
[=save(0,var_album_dynamic_range_sum[album artist (auto)][album])1]=1
[=save(math(1+load(var_number_of_tracks[album artist (auto)][album])),var_number_of_tracks[album artist (auto)][album])1]=1
[=save(math([Dynamic Range (DR)]+load(var_album_dynamic_range_sum[album artist (auto)][album])),var_album_dynamic_range_sum[album artist (auto)][album])1]=1
[=save(math(load(var_album_dynamic_range_sum[album artist (auto)][album]) / load(var_number_of_tracks[album artist (auto)][album])),var_album_dr[album artist (auto)][album])1]=1

The Album DR ends up in the variable: var_album_dr[album artist (auto)][album]

You could create a user field, eg Album DR and set it as a calculated field to:

load(var_album_dr[album artist (auto)][album])

This would then allow use to use the field anywhere inside MC.  But you would have to ensure you call the smartlist to populate the field values otherwise they would just be empty.

You'll notice I use [album artist (auto)][album] in the variables.  This helps to keep albums with the same title, but different artists, from clashing with each other, but won't keep compilation albums with the same title apart.  But that's another level of problem to solve.

Hope that helps :D

Mark

PS The above calculates the TT-DR for the album.  If you wanted R128 averages you'd need to replace Dynamic Range (DR) with Dynamic Range (R128)
PPS You could also use:

formatnumber(load(var_album_dr[album artist (auto)][album]),0)

In the user field to round the Album DR to the nearest decimal
Logged

InflatableMouse

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3978
Re: Album Dynamic Range (DR)
« Reply #4 on: July 06, 2014, 06:39:17 am »

Anyone?

I followed the instructions in this thread  but i can't figure out anything.

I I create an album field as described there by inflatable mouse MC returns always a 0 value.

Please help me!!!

The thread you linked still works, I use it all the time and I redid it not too long ago in the Linux version of MC too.

What part don't you get? The instructions are quite specific. maybe it helps to read the bitrate thread I linked to which is basically the same expressions but uses bitrate to calculate the average instead of DR.

Don't mean to state the obvious but you do need to use MC to analyze audio. Using Foobar or 3rd party tool won't fill MC's database fields which are used by these expressions.
Logged

rael71

  • World Citizen
  • ***
  • Posts: 118
Re: Album Dynamic Range (DR)
« Reply #5 on: July 06, 2014, 07:09:28 am »

Quote
Yes, variables are the solution to album based calculations inside MC, but they aren't necessarily easy to use and it definitely helps to have a background in programming as there are quite a few tripping points.

Anyway, in this case what you want to do is quite easy:.......

It works perfectly!!!

Thanks so much

Quote
The thread you linked still works, I use it all the time and I redid it not too long ago in the Linux version of MC too.

What part don't you get? The instructions are quite specific. maybe it helps to read the bitrate thread I linked to which is basically the same expressions but uses bitrate to calculate the average instead of DR.
In the meanwhile Mark answered I figured what I was doing wrong reading the average bitrate thread you mentioned.
I missed this part:
Quote
Paste this into the Set rules for file display in the view, via the Import/Export button:

[Media Type]=[Audio] [=save(0,v_tracks[album artist (auto)][album])1]=1 [=save(math(1+load(v_tracks[album artist (auto)][album])),v_tracks[album artist (auto)][album])1]=1 [=save(0,v_brsum[album artist (auto)][album])1]=1 [=if(compare([bitrate],=,0),save(-1,v_brsum[album artist (auto)][album]),)1]=1 [=if(compare(load(v_brsum[album artist (auto)][album]),>,-1),save(math([bitrate]+load(v_brsum[album artist (auto)][album])),v_brsum[album artist (auto)][album]),)1]=1 ~sort=[Album Artist (auto)],[Album],[Track #],[Media Type],[Disc #],[Name]

So now I have two ways to create Album DR field!!!

Thank you too!!

Bye

Andrea
Logged
Bye!

Andrea

rael71

  • World Citizen
  • ***
  • Posts: 118
Re: Album Dynamic Range (DR)
« Reply #6 on: July 06, 2014, 07:45:51 am »

Just another thing.
I've added Album DR as a column in the album window.

Is it possible to show this value in the title row next to "year" in the album window? (see attached image).

Thanks again and bye

Andrea

Logged
Bye!

Andrea

rael71

  • World Citizen
  • ***
  • Posts: 118
Re: Album Dynamic Range (DR)
« Reply #7 on: July 06, 2014, 08:47:19 am »

Quote
But you would have to ensure you call the smartlist to populate the field values otherwise they would just be empty.

Is there a way to bypass the smartlist and to show automatically the Album DR value?
Also is there a way to store the value so that MC doesn't have to recalculate each time the value?

I tried also with the other method by InfalatableMouse but i noticed JR to slow down dramatically maybe because I have a big library (5,5TB).

Andrea
Logged
Bye!

Andrea

mark_h

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1854
Re: Album Dynamic Range (DR)
« Reply #8 on: July 06, 2014, 08:59:22 am »

You could COPY all the calculated values into a normal field.  This would store all the calculated values for use without recalculation but you would need to ensure you updated  them each time you import a new album. 
Logged

rael71

  • World Citizen
  • ***
  • Posts: 118
Re: Album Dynamic Range (DR)
« Reply #9 on: July 06, 2014, 09:44:16 am »

Too complex....  :(

is there another way?

I tried what mr.c suggested in a thread (see below) but it doesn't work!   :'(

Quote
I've created a new library field [Album DR] with the following expression:
Code:
formatnumber(math(load(v_drsum[album artist (auto)][album]) / load(v_tracks[album artist (auto)][album])),2)

This works fine, I can add panes and collumns in views or add it to thumbnail text in an Album view.

However, I think this needs to go through the calculations each time a view is refreshed. I am wondering if there is something equal to Excel's paste value. You copy a cell's contents to the clipboard and if the cell contains a formula, Excel pastes the outcome of that formula into the destination cell.

In other words, I simply want the [Album DR] expression output and store the result, a plain number, not an expression that is required to be recalculated.

Is this possible?

Assign this field's value to another field:

   =[Album DR]

Logged
Bye!

Andrea

mark_h

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1854
Re: Album Dynamic Range (DR)
« Reply #10 on: July 06, 2014, 10:48:18 am »

I would suggest the COPY is the simplest method.  You only do it ONCE.  And then every time you import a new album you simply copy the calculation for the new import.  Doesn't really get any simpler and all your Album DR are available without any need to redo calculations every view refresh.

I'm not aware of any less complex, or indeed, more permanent method.
Logged

rael71

  • World Citizen
  • ***
  • Posts: 118
Re: Album Dynamic Range (DR)
« Reply #11 on: July 06, 2014, 11:05:11 am »

OK I think I will do in this way.
When I said too complex I meant that It isn't completely automatic because every new import I have to do the copy operation (I'm a little bit lazy.. ;D)
But anyway is a fairly good method and a very good suggestion, so.... thank you!!!

Bye

Andrea
Logged
Bye!

Andrea

mark_h

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1854
Re: Album Dynamic Range (DR)
« Reply #12 on: July 06, 2014, 12:37:34 pm »

Yes, agreed about the automation but it is what it is, at least for now.  Glad the Album DR stuff works for you though :)

PS My manual import workflow is about 11 smartlists that I work through one at a time filling in fields etc, so this sort of procedure is normal for me.  It's not so useful for those that auto-import.
Logged
Pages: [1]   Go Up