It plays the musaks.
Python CSS JavaScript
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


A Python-based terminal music player that uses generators as playlists.


  1. Clone the repo.
  2. Install the requirements: pip install -r requirements.txt
  3. Install gst-python. Good luck with that.

Infinite thanks to the Mopidy team for setting up brew recipes for installing gstreamer and being 500% more helpful than anything else in the world on trying to get gstreamer installed on OS X. You should read their instructions for more information.


Now the fun part! takes a single argument that should point to a python file containing a generator named playlist. The file has an example that I will someday update to not depend on my own file paths.

Essentially, the generator should emit absolute paths to music files, and NoodleAmp will play them in order. This means that your generator can emit filenames however it needs to; you could randomize songs, store ratings and weight song frequency, or even play different songs depending on the time of day.

Future Work

Right now NoodleAmp is super-simple, but in the future I'd like to add:

  • A better GUI
  • Ability to move through the playlist and control playback
  • A set of utility functions that the playlist generator can import, like automatically choosing a random song, extracting song metadata, etc.
  • A way for playlists to add to the NoodleAmp GUI.
  • Some convenient environment variables to avoid hardcoding paths into playlist files.


  • I cannot thank the Mopidy team enough for their docs.
  • Erik Rose's awesome blessings library for making a terminal GUI dead simple.
  • Jen Fong for not getting mad at me for stealing her brand.


NoodleAmp is covered by the MIT License. See LICENSE for more details.