Browse & play embedded tracks from Angry Metal Guy music reviews

music, metal, extreme, angry, guy, player, youtube, bandcamp, soundcloud
pip install amg-player==2022.6.1.0


Angry Metal Guy Player

Latest version Tests status Coverage Lines of code Supported Python versions License

Angry Metal Guy Player (AMG Player) is a Python multi platform console tool to automatically play or download tracks from Angry Metal Guy reviews.

I created this because:

  • I like Angry Metal Guy, and discovered great music (both metal and totally non-metal) thanks to their reviews
  • I often disagree with their ratings (in fact I disagree more often than I agree), both for overrating and underrating
  • Even when I disagree, I like reading their reviews
  • I want to listen to the music before I read the review, to avoid getting influenced
  • To be efficient, I want to listen to the tracks like a radio, and read the review to learn more only when I like something


  • Can work either in interactive mode (manually select tracks) or totally automatic (play new tracks like a radio)
  • Supports embedded tracks from: YouTube, Bandcamp, SoundCloud, ReverbNation
  • Plays YouTube video if available, or generates a video on the fly with the cover image + audio track(s) (requires FFmpeg)
  • Can download tracks (with embedded album art) to play later


Selection screen:
selection image

Playing a track:
playing image


Angry Metal Guy Player requires Python >= 3.7. Some features are only available if FFmpeg >= 2.8 is installed.

From PyPI (with PIP)

  1. If you don't already have it, install pip for Python 3
  2. Install Angry Metal Guy Player: pip3 install amg-player

From source

  1. If you don't already have it, install setuptools for Python 3
  2. Clone this repository: git clone
  3. Install Angry Metal Guy Player: python3 install

Angry Metal Guy Player only supports MPV player for now.

Command line usage

Run amg -h to get full command line reference.


  • Browse and play interactively last 50 reviews:

    amg -c 50

  • Choose the first track to play, then play all tracks in chronological order:

    amg -m radio

  • Play last 20 tracks in chronological order, skipping those already played:

    amg -c 20 -m discover