Last week I published a CSS Wish List, which reminded me I have another wish list rattling around in my head, and I’d like to throw out into the world. This one is for an MP3 player in the vein of WinAmp or Apple Music, but with slightly more DJ-like capabilities in its playlists.
- The ability to set the playback volume for a track in a playlist. Right now, if I adjust the playback volume of a track to match the others on a playlist, I’m changing its volume in every context. Let’s say I bump up the volume setting on Yes’s “Leave It” so it matches Army of Anyone’s “Leave It”. Now, if I go back to play 90215, which is the Yes album containing their “Leave It”, that one track will be way louder than the rest of the album. This is honestly ridiculous, and it ought to be easy to fix. Just let me say “on this playlist, play this track at this volume”. And no, I don’t want some automagic “volume stabilizer” to try to do it for me, because they’re never quite right. They’re the autocorrect of autotuning.
- The ability to define, to the millisecond, how much two successive tracks in a playlist overlap. This is useful when trying to mix two songs so the beat of one plays off against the beat of the other, so you get a smoothly bumpin’ segue. Ideally, you would do this by click/tap-dragging waveform visualizations of the two tracks, in order to be able to match up (or offset) the beat-peaks, and quickly play just the overlap (maybe with a few extra seconds to either side).
- The ability to trim tracks in a playlist. This is closely related to the previous wish, but here, you could trim off the silent bit at the beginning or end of a track when it’s played in the playlist you’re building. When it’s in the context of its source album, the silences are left intact. This could also be used to trim off actual sound, in case you wanted to start a verse in or something, but the primary use case would be saying “for this track in this playlist, skip the half-second of silence”. Again, being able to work with waveform visualizers would help here.
- The ability to define the duration of fade-ins and fade-outs for each track in a playlist. Maybe, paired with the previous wish for overlap duration, I want to be able to fade one song out and the next song in during the overlap period. Or maybe for only part of the overlap, or for longer than the period of overlap, or even when there is no overlap. I know you can set crossfade durations in apps like Apple’s Music, but they’re global and that’s not okay. Sometimes you want to say “no crossfades on this playlist except for these two segues, one of which is 5 seconds long and the other of which is 2.7 seconds”.
- The ability to play back these playlists on my mobile device (iPhone, Android phone, whatever). On desktop too, sure, but the primary use case here is on mobile: a carefully-made woodshop playlist, or a workout playlist, or whatever.
- If I’m really dreaming, I’d also like to have this supported by all music apps, so I could port playlists from one app to another. Having all this supported in some kind of streaming service, so I could allow other people to listen to my playlists with relatively ease, would be even more incredible.
To reiterate: those would all be things applied on a per-playlist basis. The tracks would sound within their source albums as they were produced to sound, but could be audibly modified for playlist purposes in a non-destructive way.
I’ve occasionally done stuff like this in Audacity, which works okay, but it does mean I have to import all the tracks, decide where to set the track break during overlaps, and then render them into new tracks, essentially creating copies of the songs with new waveforms and maybe parts of other songs mixed in at the beginning or end.
That all seems wasteful when this stuff could probably be expressed using simple strings of text within a playlist file. I mean, the UI for the playlist editing could be all graphical and cool and Audacity-like (or better), but the actual data could be represented in just a few bytes of text. And maybe this is all possible in an application like Logic Pro — I wouldn’t know, having never used it — but it shouldn’t require a $300 piece of software to make these things possible.
Maybe this is something that would only appeal to old farts like me, them what made mixtapes when they were created using a dual-deck player using actual magnetic tapes. But I bet some of the young’uns would find it fun and interesting as well.