It might be possible to build an MCU-based solution that reads ambient noise levels (digitized), and vehicle speed (OBD/etc interfacing is probably non-trivial) and have it send vol-up or vol-down commands via the serial port. The one potential problem is that there's no easy way to contain "runaway" adjustments, although I suppose the MCU firmware could also sample the outgoing audio stream and see if the RMS signal level is "too high" (and force some limits that way). And this scheme of course assumes normalized volume levels for all tracks (good #@$!ing luck!), although even that might be do-able if the MCU keeps track of the average output level, and slowly increases volume for consistently "quiet" playback. But what happens when a loud track starts after a quiet one?

On another note, notwithstanding that player-supported noise cancelling would kick ass, isn't it actually something better suited to a separate device wedged between player output and amp (or pre-amp) input? A small box that samples the noise "out there", inverts, and mixes into the live stream (all analog) seems like a realistic possibility. Then again, I didn't go to school for EE...

Bear in mind, I'm still an utter novice at the moment, having owned my first player for just a week. But both hardware and software hackage are of keen interest to me.
_________________________
#040103342 (MK2a: 16MB, 20GB) - Glee!!