Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Welcome to the Rockbox Technical Forums!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Feature Ideas
| | |-+  FS#10199 - Dynamic Range Compression
« previous next »
  • Print
Pages: 1 [2] 3 4

Author Topic: FS#10199 - Dynamic Range Compression  (Read 17498 times)

Offline ykevinw

  • Member
  • *
  • Posts: 4
Re: FS#5455 - Dyanamic Range Compression
« Reply #15 on: September 13, 2008, 02:43:09 PM »
I'm not sure why you would really need a dynamic compressor for pop or dance music. It comes pretty much 100% compressed from the factory. Modern pop/rock/dance is pretty much just at one volume which is usually max. See:
http://en.wikipedia.org/wiki/Loudness_war

Replaygain works perfectly well in getting tracks of this type of music at the same average level without changing the waveform - that is if we are listening to our tracks and not running a competitive pop radio station.

A dynamic compressor is useful for dynamic music like classical when you can let it be dynamic - like in a car, or late at night, or if you have kids, or if the music is background. This music is dynamic by design because that's how it achieves emotional effect but in the preceding situations you just can't let it go at full range.

I don't think there has been much call for a dynamic compressor in Rockbox because it's a DAP OS and the high dynamic range of classical music is not a concern when you are wearing headphones - in fact you want music to be dynamic when you can.

However, I use my DAP as a source at home and in the car which is what I think the original poster was getting at. If there are many others with this situation that are into dynamic music like classical then adding a filter like vlevel would be really great. I prefer a volume leveling algorithm because it doesn't butcher the waveform. I don't code so I don't really know if this is easy or not.
Logged

Offline pabouk

  • Member
  • *
  • Posts: 387
Re: FS#5455 - Dyanamic Range Compression
« Reply #16 on: September 14, 2008, 10:25:17 AM »
Quote from: ykevinw on September 13, 2008, 02:43:09 PM
I don't think there has been much call for a dynamic compressor in Rockbox because it's a DAP OS and the high dynamic range of classical music is not a concern when you are wearing headphones - in fact you want music to be dynamic when you can.
It is a concern with headphones because in a noisy environment (which is nearly everywhere) you cannot hear quiet passages if the sound is fully dynamic and you would not like to be deafened by the loud passages. (It is very similar situation to listening to music in a car.)
Logged

Offline ZincAlloy

  • Member
  • *
  • Posts: 488
Re: FS#5455 - Dyanamic Range Compression
« Reply #17 on: September 14, 2008, 11:14:29 AM »
another tool to mess up a perfectly well mastered recording? nothing against compressors per se, I just don't want to see them in the wrong hands.
Logged

Offline Chronon

  • Rockbox Expert
  • Member
  • *
  • Posts: 4379
Re: FS#5455 - Dyanamic Range Compression
« Reply #18 on: September 15, 2008, 01:25:52 PM »
You can also "mess up" a perfectly well mastered recording with the EQ.
Logged
Sansa e280, Gigabeat F40, Gigabeat S60, Sansa Clip+, iPod Mini 2g

Offline ZincAlloy

  • Member
  • *
  • Posts: 488
Re: FS#5455 - Dyanamic Range Compression
« Reply #19 on: September 15, 2008, 03:15:35 PM »
right. that's why I said "another" tool  ;D

on the othe hand: if all consumer music players had a compressor or limiter built in it would make the loudness wars redundant.
Logged

Offline ykevinw

  • Member
  • *
  • Posts: 4
Re: FS#5455 - Dyanamic Range Compression
« Reply #20 on: September 20, 2008, 12:37:29 AM »
Don't worry ZincAlloy, it wont go into the wroing hands. 
If this compressor gets implemented I promise to use it for good and not evil  :)
Logged

Offline CatBus

  • Member
  • *
  • Posts: 34
Re: FS#5455 - Dyanamic Range Compression
« Reply #21 on: September 29, 2008, 05:44:49 PM »
FWIW, I use a specially compressed (using the compand utility in sox) copy of my library for the car, and have discovered that per-track dynamic range compression can break gapless playback, because the sound levels at the juncture of two tracks will not necessarily match after each track has been separately processed.

So, in the event this gets implemented, it will need to be unaware of track boundaries and simply apply to the audio output stream, like the equalizer.  If it is aware of track boundaries, it will need to gently fade in and out the effect at the ends of tracks.
Logged

Offline Blue Dude

  • Member
  • *
  • Posts: 19
Dynamic range compressor / limiter
« Reply #22 on: April 21, 2009, 07:54:47 PM »
This feature is one I have been hoping for.  I play a lot of music with a large dynamic range (symphonic, instrumental, etc.) in the car and I find myself working the volume control a lot.  Since this feature doesn't seem to be immediately forthcoming, I think I'll just write it myself.  :)

The problem is that it's been a long time since I've done any programming, and I never learned C anyway.  I'm going to get myself up to speed on C just for the sake of doing it, but I'll likely need some assistance in getting around the Rockbox code.

Anyway, my plan is to implement a simple hard limiter with selectable pre-amplification.  It would be user selectable with a simple menu item: OFF, Min, Med, Max.  OFF will pass through audio with no changes.  Min, Med, and Max simply set the amount of pre-amplification of the audio, perhaps +3, +6 and +12 dB.  If DRC is active, the output buffer will be checked to make sure the audio will not be clipped.  If not, then no further changes are made.  If there will be clipping, then we can ramp down the volume output over a short period of time (a few milliseconds) leading up to the clipped sample(s) to keep it under the max signal limit (minus a bit of headroom).  The volume will then return to normal at a slower rate (call it 100ms) to prevent pumping.

Result: louder audio without digital clipping.  This does raise the noise floor, and it won't do very much for you if the audio is already reasonably loud to begin with.  It also robs the music of punch.  In fact, it'll sound much like commercial FM radio or TV ads.  This is really only intended for dynamic material in noisy environments, not critical listening.

Feedback, from users and developers, would be appreciated!
Logged

Offline Chronon

  • Rockbox Expert
  • Member
  • *
  • Posts: 4379
Re: FS#5455 - Dyanamic Range Compression
« Reply #23 on: April 21, 2009, 09:49:57 PM »
Hi.  I merged your topic with the existing one.
Logged
Sansa e280, Gigabeat F40, Gigabeat S60, Sansa Clip+, iPod Mini 2g

Offline Blue Dude

  • Member
  • *
  • Posts: 19
FS#10199 - Dynamic Range Compression / Hard Limiting
« Reply #24 on: May 11, 2009, 11:33:21 AM »
A test patch is now available, as FS#10199.  This is an interface test only.  I'm just trying to hook into the system without compromising anything else.

I decided to go with a user selectable preamp setting vs. and OFF,MIN,MED,MAX scheme.  Amplification is selectable from 0 to +20dB, with 0 disabling the feature.  Comments are welcome, especially if you spot potential problems or bugs.
Logged

Offline oayz

  • Member
  • *
  • Posts: 86
Re: FS#10199 - Dynamic Range Compression / Hard Limiting
« Reply #25 on: May 26, 2009, 05:44:25 PM »
Quote from: Blue Dude on May 11, 2009, 11:33:21 AM
I decided to go with a user selectable preamp setting vs. and OFF,MIN,MED,MAX scheme.  Amplification is selectable from 0 to +20dB, with 0 disabling the feature.  Comments are welcome, especially if you spot potential problems or bugs.
I believe there are more parameters than preamp gain: attack/decay times, noise come to mind. Having a few presets may be a better option than giving an user full programmability.
Logged

Offline Blue Dude

  • Member
  • *
  • Posts: 19
Re: FS#5455 - Dyanamic Range Compression
« Reply #26 on: May 31, 2009, 08:14:06 AM »
I decided to hard code attack/delay times to a reasonable compromise.  I'm ignoring noise as a programmable component.  I wanted to leave the preamp level user selectable at least long enough to figure out if it's necessary.  For instance, I've got it set now for .5 dB increments.  That's likely too granular, maybe 1.5 or even 3 would be better?  That's getting close to the opaque Min, Med, Max scenario.

Logged

Offline hoyo

  • Member
  • *
  • Posts: 3
Re: FS#5455 - Dynamic Range Compression
« Reply #27 on: July 06, 2009, 07:00:11 AM »
i can give you an other reason why we need this feature !!!
i often hear radio dramas with H340@rockbox on boring car rides.
But, this radio dramas are recorded for quiet rooms.
There you have loud voices and quiet noises and susurrus.

If you want to understand what they whisper you pump up the Volume and if then someone screams in the drama your ears get busted.  :'(

On my home receiver is an feature called midnight mode which compressed the range hard.
On professional studio equipment you have also compressors on the microphone's from the singers.
It's an usual feature.

AFAIK at transformation from ac3 to mp3 DRC is used. Maybee you can find there some Information's how they work. --> besweet
Logged

Offline CCCMikey

  • Member
  • *
  • Posts: 5
Re: FS#5455 - Dynamic Range Compression
« Reply #28 on: July 06, 2009, 08:36:42 PM »
I too am hanging out for this.

The Palm TX did it well, but has died.

Now, rather than using the iPod I have to use a 10 year old Toshiba laptop with FooBar for playing the poddies in the car.

As an example, Merrick and Rosso podcasts have 'wipes' (sound effects between show segments) that can be twice as loud as their voices. Radio station transmitters automatically level this out but podcasts tend to have the full dynamic range - hence it's deafening.

ABC's Thank God It's Friday is a live presentation and has full dynamic range so audience cheering is much louder than the presenter telling his 'the news from nowhere.'

I guess the only other solution is to remaster the poddies before loading them into the iPod.
Logged

Offline Chronon

  • Rockbox Expert
  • Member
  • *
  • Posts: 4379
Re: FS#5455 - Dynamic Range Compression
« Reply #29 on: July 06, 2009, 11:59:52 PM »
Those of you interested in this feature, why not try out the patch and offer some feedback?  http://www.rockbox.org/tracker/task/10199
Logged
Sansa e280, Gigabeat F40, Gigabeat S60, Sansa Clip+, iPod Mini 2g

  • Print
Pages: 1 [2] 3 4
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  Feature Ideas
| | |-+  FS#10199 - Dynamic Range Compression
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.125 seconds with 14 queries.