Go Back   Zune Boards > Zune Discussions > Zune Games and Applications > Development Discussions

Development Discussions All developers who are coding games may stop by here for any help, suggestions, and everything development related.

Reply
 
Thread Tools
Old 10-23-2009, 06:30 AM   #1
greedo
Jr. Zuner
 
Join Date: Sep 2009
Posts: 30
greedo is on a distinguished road
Default

Is anyone else absolutely sick of new music being recorded and mastered at extremely high volume?

I've created a very rough version of an app to normalize song volumes, but I can't work out a way to systematically get data from songs so it knows when to adjust the volume (and by how much).

Currently I've tested it on one song, and the app does the following:
Checks if the current song is a specific song, and if so reduce the volume otherwise set the volume to maximum.

So I can start a playlist and the newer song that is recorded a lot louder than old stuff sounds much closer to the same volume as the rest.

Is there any way to check the value of custom metadata in C#/XNA? If so I could just add a tag called 'volume' or somesuch and use that to store a value to base the volume change on.

This app would be absolutely awesome if I could work out a way to set and retrieve the information, and even more so if the app could run in the background without the rebooting!

This feature should be in the Zune firmware...it would take literally 5 lines of code...

In reply to my own post...

I just had the idea to create new genres in my library, for example 'pop_loud', 'rock_loud', etc. to tag all overly loud songs. I can still keep my autoplaylists by adding 'pop_loud' to my pop playlists, etc.

Last edited by Seb; 10-23-2009 at 07:36 AM.



greedo is offline   Reply With Quote

Advertisement [Remove Advertisement]

Old 10-23-2009, 01:24 PM   #2
Red Sky
lost in paradise with rae
Development Front
Retired Staff
Super ZunerĀ²
 
Red Sky's Avatar
 
Join Date: Nov 2007
Location: Pennsylvania
Posts: 3,660
Red Sky is a name known to allRed Sky is a name known to allRed Sky is a name known to allRed Sky is a name known to allRed Sky is a name known to all
Send a message via MSN to Red Sky Send a message via Skype™ to Red Sky
Default

This is a nice program, but it's essentially useless. All you're doing is making the audio quieter and that's about it. The only real way to fix the loudness is during the mastering of the song, which we have absolutely no control over.





Red Sky is offline   Reply With Quote

Old 10-23-2009, 04:20 PM   #3
greedo
Jr. Zuner
 
Join Date: Sep 2009
Posts: 30
greedo is on a distinguished road
Default

Yeah, the problem is the music industry's.

But this app will at least allow you to hit shuffle or a playlist, then load up this app and have the volume of every song match pretty closely instead of suddenly an extremely loud song coming on, then a normal quiet song, then another LOUD song, etc.



greedo is offline   Reply With Quote

Old 10-23-2009, 04:21 PM   #4
Red Sky
lost in paradise with rae
Development Front
Retired Staff
Super ZunerĀ²
 
Red Sky's Avatar
 
Join Date: Nov 2007
Location: Pennsylvania
Posts: 3,660
Red Sky is a name known to allRed Sky is a name known to allRed Sky is a name known to allRed Sky is a name known to allRed Sky is a name known to all
Send a message via MSN to Red Sky Send a message via Skype™ to Red Sky
Default

That's good, then. Hopefully the music industry will fix themselves, but that's a discussion for another thread. Be sure to post any updates you make to this program!





Red Sky is offline   Reply With Quote

Old 10-23-2009, 10:30 PM   #5
greedo
Jr. Zuner
 
Join Date: Sep 2009
Posts: 30
greedo is on a distinguished road
Default Test uploaded

I've completed a test version (kind of a 'proof of concept'). Please everyone try it out if you're interested.

Public - Windows Live

IMPORTANT - How to use it.

This version will lower the volume by a set amount when a song with a rating of 2 or 3 is played (these are the ratings given by Zune when the song has a 'broken heart').

To test this, you will need a playlist of songs with differing volumes and set the overly loud ones to have a broken heart rating (it seems to take a while for the broken heart ratings to sync properly between device and software though).

Start up the playlist and then run the app.

The app will display a blank screen with some text about the song you are listening to. If the song has a rating of 2 or 3 the volume will be reduced and the text will say that volume is being reduced.

To test it I used the latest REM album 'Accelerate', which is mastered WAY TOO LOUD and added it to a playlist with some older REM tracks. The app made them all sound the same volume! This app will be great for driving in the car listening to a playlist or shuffle.


I'm not sure if using broken heart ratings is the way to go or not. The only other way I can think of is to create separate genres for all loud music and then make songs with e.g. 'loud_music' genre to be turned down. I suppose I could even make a setting within the app to select the criteria.

Unfortunately XNA has limited access to the metadata (at least as far as I know), otherwise it would be trivial to simply create a new tag called 'volume_adjustment' and have individual settings for each track allowing precision control.


NOTE: this is my first piece of programming, so don't judge it too harshly. I am just learning to use XNA/C#.

thanks,



greedo is offline   Reply With Quote

Reply

Bookmarks

Thread Tools
no new posts