This project is still under early development and really buggy. Think twice if you want to use it.



“Genetic Lifeform and Disk Player” – A small terminal based music visualizing gadget written in python. The name is inspired by Valve’s famous game “Portal”.

To do list

  • Automatically change tmux split direction by detecting terminal scale
  • Add a new panel to display another effects
  • Automatically clear the lyrics if it reached the maxium lines in terminal
  • Add some decorations to tmux panels
  • Add an option to change the lyrics displaying method
  • Add a custom exit hot key
  • Add error handler
  • Add a installation script (maybe)
  • Bake a cake


  • Print lyrics in your terminal (Mostly synchronous with music)
  • Print ASCII art in your terminal (ascii file is needed)
  • Can run in Android (With Termux)


  • tmux
  • mplayer
  • python3
  • audio-play (If you are using Termux)

Basic Usage (without ascii art)

Clone this repository and put some *.mp3 and *.lrc files in it’s main directory. (Their name should be the same) Then open your terminal, enter this directory and run

./ <your song file name>


If your song’s file name is sus.mp3 and the lyric file name is sus.lrc, then your command will be

./ sus

Play with ascii art

You should first copy-pasta your favorite ascii into a new *.txt file and put them into the ascii folder. (or not, if you think the default ones are ok)

Then create a <song file's name>.ascii file in this repository’s main directory, it should be looking like this:

[minutes:seconds]<Your ascii file's name>

The things in square brackets are timestamps, it’ll decide when it display your specified ascii art in your terminal. Example:


If every thing went right, you can now play it with ascii art you just specified.


View Github