Python Audio Tools, for the audio perfectionist

By

Back in 2003, Minnesota developer Brian Langenberger began creating a set of labor-saving audio tools to convert FLAC files to MP3 files, MP3 files to WAV files, and other simple operations that were tiresome to do by hand. “They were for my own personal use, and limited in scope for a long time,” he recalls. But in 2006 Langenberger discovered the Construct Python library, which makes parsing and building binary files simple. “As my tools started to get more capable, I started to feel they were something other people might get some use out of.” In July 2007 he released the first public version of Python Audio Tools.

“Since then, I’ve incorporated GNU libcdio for CD reading, LaTex for documentation, and other optional installs for additional functionality – though I have tried to minimize extra prerequisites people need to install,” Langenberger says. The most recent version, which arrived last month, lets you rip audio from CDs, transcode that audio from one format to another, edit audio metadata such as track names and cover art, and burn audio back to CDs. It’s primarily aimed at people with a bit of perfectionism about how their audio is ripped and tagged – people who want the best CD rips possible, the most accurate tags, and the utmost control over songs. Moreover, the tools are flexible – you can call them from the command line or from shell scripts, or even use their Python module directly to build new tools.

The project is still under active development. Langenberger says, “My immediate plans are to clean up the code to make it look more like a proper Python application; things like proper doctstrings are long overdue to make it more readable for other Python programmers. I’m also experimenting with portable GUI libraries in the hopes of building tools even novice users might find useful. I plan to continue incorporating other formats through the use of Python C extensions as I’ve done for FLAC and Apple Lossless, as time permits. It’s not only satisfying to learn how they work, but it also decreases the amount of extra stuff users have to install. There’s always something new that I haven’t thought of yet to pad my to-do list with.

“But as for whether I need help on the project, I’m not entirely sure myself. I get very little feedback, so I’m not sure what people are using Python Audio Tools for. I keep adding functionality I think might be useful and keep striving for better robustness.

“The most surefire way to get in touch with me is by e-mail. I’d also like to establish enough of an online community for feedback; I’ve put up a little SourceForge forum for that purpose, but I’m sure it will take some time. Suggestions for new features from users are always welcome.”

Comments are closed.