Playgen (pl4yg3n) is keygen music radio-like player (or a music streaming web app, if you prefer).
Free and Open Source!
There are currently over 5K musical tracks,
mostly in chiptune style,
dynamically loaded and played within the browser.
All music here is in a pretty unusual format
(not even close to mp3!), basically just notes + instrument samples.
No ads, no fees, no sign-up, no paywalls, no tracking scripts. Just free music to listen!
Playlists are generated from marked & tagged index of files,
and that's where the name from ("playlist generator").
But "playgen" also comes from "play" + "keygen", as major part of playlist is based on
collection of music
once found
in actual keygen-like programs.
Most music can be as well found on ModArchive
(playlist also includes a lot of additional cool tracks from there,
like Starshine by Purple Motion).
Share this website with your friends if you like it!
This project was inspired by Keygen FM internet radio stream.
However, Keygen FM was a server-side ShoutCast broadcast (and it had just around 700 tracks),
but here on Playgen you can skip music, select playlist and more!
Features
-
Select mode/playlist ("auto" mode picks it depending on current time).
There's also an additional option to play random music directly from full ModArchive collection (over 170K tracks!)
-
In "Music info", you can view internal texts (extracted directly from music file), and share/download/favorite this music
-
Press "···" to access additional controls: volume, playback speed, loop and more options!
-
You can even play your files, just drag and drop them, or select using "File" button (supported formats: xm, mod, s3m, it)
-
There is a lot of keyboard shortcuts (for mobile, you can tap on them here)
-
Press Space to toggle pause,
← / → to skip/return
(keyboard arrows, but media control buttons are supported as well)
-
Rewind: Alt ← / Alt →
(use Shift ← / Shift → to jump to beginning/end)
-
Speed up the music or slow it down! Alt ↑ / Alt ↓
(Alt / to reset)
-
To decrease volume, press -,
and press + to increase it back (volume is already at max by default,
use \ to reset to max)
-
You can use keybinds to quickly favorite (`)
or download (Ctrl S) current music,
and toggle music info panel with Backspace
-
You can use URL params to customize player behavior:
autoplay, repeat, seq, pl, id (can stack), t, and more (try it now)
-
Above controls, click "Playgen" graffiti to toggle some animation
(disabled by default because the animation consumed more CPU than music player did, lol)
Implementation details
-
No frameworks used. Written in pure JavaScript and HTML5. Fast and lightweight!
-
Web Audio API
is used to play music and
Media Session API
is used to allow control in background via media buttons. However due to weird
limitations,
the Media Session API does not work with Web Audio API,
that's why to make it work that small bubble sound is needed at the start.
-
Libopenmpt JS/WASM library
(version 0.8.3, under OpenMPT License)
is used to play music files.
-
A modded version of chiptune2.js (under MIT License)
is used to bind Libopenmpt and Web Audio API together.
-
Music files are used in original unmodified form under
ModArchive Licensing Terms.
Contacts