Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Audio Converter CLI

Project description


A simple CLI to convert a directory of audio files from one format to another. This CLI sits ontop of pydub and ffmpeg


I have some old music in a lossless format. Now that I am constantly jumping between computers, I wanted it to be converted in a more universal format such as mp3 so that I can play it with the simplest of players. I also wanted to avoid having to stream my music on cloud platforms. Upon a cursory and naive scan on the web, I found that existing scripts are defunct (again cursory) or was not as simple as I would like it to be. I did not want to download a GUI for a one time use or upload a directory of music online to have it be converted on some server and download it again either. Instead, I wrote this quick CLI to do it for me.


Install ffmpeg

Go follow the pydub tutorial on how to set up ffmpeg on the various platforms.

Install CLI

pip install --upgrade AudioConverter


audioconvert [--verbose/-v] convert INPUT_DIRECTORY OUTPUT_DIRECTORY [--output-format/-o TARGET_FORMAT]

This will recursively search the INPUT_DIRECTORY for files with music extensions. Each file found will then be converted to the TARGET_FORMAT and placed in the OUTPUT_DIRECTORY with the same name but updated extension.

The --verbose/-v flag must be provided before the convert command. This will enable debugging logs and allow you to monitor progress.

Accepted Formats

Due to not being super savvy with audio formats, I hard coded the extensions that are searched for in the INPUT_DIRECTORY and acceptable TARGET_FORMAT. Here is a list of formats I thought were popular:

  • .mp3
  • .flac
  • .aiff
  • .mp4
  • .m4a

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for AudioConverter, version 0.0.5
Filename, size File type Python version Upload date Hashes
Filename, size AudioConverter-0.0.5-py3-none-any.whl (5.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size AudioConverter-0.0.5.tar.gz (8.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page