When it comes down to my car’s MP3 player, seeking is the most painful capability—it’s limited to 2x-speed, which is disasterous for seeking to the 45m point of a podcast that’s 90m long. Yes, it’s terrible.
mp3splt to the rescue
If you could roughly split an MP3 into ten-tracks wherever there’s enough silence, you could divide each podcast into ten “rough” chapters. It turns out that there’s a nice CLI utility for doing this, called
mp3splt. Here is how I invoke it with a shell function:
mp3splt -s -p nt=10,th=-50 "$1" \
-d `basename "$1" .mp3`
This explodes the MP3 into ten tracks in its own directory, ready to go on any USB or disc media your MP3 player accepts. If you need to change the number of “chapters”, adjust the nt=10 parameter, e.g. nt=15 if you want 15-tracks. If the audio is noisy, raise the silence “floor” with the th=-50 paramter, e.g. th=-40.
mp3splt from http://mp3splt.sourceforge.net
This is right out of left-field and looks to re-invigorate streaming audio applications. What would you do with a 255 channel stream? To me that sounds like a potentially awesome future application of a remote mixing board or a live-broadcasting bonaza of choice for the harried producer or social streaming audio media. You could have an entire network blasted down to a consumer’s tuner and they could change channels without suffering audio drop-outs due to buffering.
Opus Interactive Audio Codec
Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s SILK codec and Xiph.Org’s CELT codec.
Opus can handle a wide range of audio applications, including Voice over IP, videoconferencing, in-game chat, and even remote live music performances. It can scale from low bit-rate narrowband speech to very high quality stereo music. Supported features are:
- Bit-rates from 6 kb/s to 510 kb/s
- Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
- Frame sizes from 2.5 ms to 60 ms
- Support for both constant bit-rate (CBR) and variable bit-rate (VBR)
- Audio bandwidth from narrowband to full-band
- Support for speech and music
- Support for mono and stereo
- Support for up to 255 channels (multistream frames)
- Dynamically adjustable bitrate, audio bandwidth, and frame size
- Good loss robustness and packet loss concealment (PLC)
- Floating point and fixed-point implementation
You can read the full specification, including the reference implementation, in RFC 6716. An up-to-date implementation of the Opus standard is also available from the downloads page.
This isn’t for your music—this is just for daily communication. Just think of how awesome it will be for video bloggers to be able NOT wear headphones and look like doofuses on Skype. This seems like a massive, untapped market for http://www.holosonics.com.
Bring back payphones with this technology and you’ll never have to touch an unsanitized handset ever again or worry about a missing handset.
I mean, really, kiosk “areas” for advertising your bananas in supermarkets is a really, asinine application of this technology. The only place I’ve ever seen this in the appropriate wild was a public library in Ogden, UT at a public-information station. But add a microphone to the mix and you’ve gotten away from mere pico-broadcasting and made something better.