npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pi-dj

v3.0.7

Published

AI music suite for pi — YouTube, global radio (30k+ stations), Suno, Lyria AI, SoundCloud/Bandcamp, mix, trim, BPM. Windows + macOS + Linux + Termux.

Downloads

2,319

Readme

pi-dj 🎧

npm pi-package license

YouTube streaming, Suno AI generation, Lyria RealTime radio, SoundCloud / Bandcamp / BandLab downloads, mixing, trimming, BPM detection, and ffmpeg music video rendering — all from the terminal.

Works with pi coding agent.

pi-dj banner

Install

pi install npm:pi-dj

Dependencies are optional. The extension detects what's installed and degrades gracefully.

| Platform | Install | |----------|---------| | Windows | winget install mpv ffmpeg · pip install yt-dlp | | macOS | brew install mpv yt-dlp ffmpeg | | Linux / Raspberry Pi | sudo apt install mpv ffmpeg -y · pip install yt-dlp | | Termux | pkg install mpv ffmpeg python · pip install yt-dlp |

Commands

Playback

| Command | Description | |---------|-------------| | /dj-play <query\|url> | YouTube search, URL, or playlist → stream via mpv | | /pause | Toggle pause / resume | | /stop | Stop + clear queue | | /np | Now playing — title, timestamp, progress bar | | /vol <0-100> | Set volume | | /skip | Skip to next queued track | | /repeat | Toggle repeat current track | | /queue <query\|url> | Add to queue | | /history | Recently played |

Downloads

| Command | Description | |---------|-------------| | /sc <url> | SoundCloud → MP3 | | /bandcamp <url> | Bandcamp track or album → MP3 | | /bandlab <url> | BandLab track, album, or collection → MP3 |

Radio

| Command | Description | |---------|-------------| | /radio <genre\|name> | Search Radio Browser — 30k+ global stations, no API key | | /radio jazz japan | Genre + country filter | | /radio <http url> | Play any stream URL directly | | /radio lyria | Lyria RealTime AI generative radio (preset 1) | | /radio lyria chill | Lyria with preset name or custom prompt | | /radio lyria <1-9> | Lyria by preset number |

Radio Browser has 30k+ stations across every genre and country. Top station by votes plays automatically; alternatives listed.

Lyria requires lyria-cli.

Production

| Command | Description | |---------|-------------| | /mix <a> <b> [secs] | Crossfade two audio files | | /trim <file> <start> [end] | Trim a clip | | /bpm <file> | Detect BPM | | /render <file\|url> [style] | Render a music video with ffmpeg | | /dj-help | Show all commands + dependency status |

Render Styles

/render outputs a 1080×1080 MP4 with animated visualizer and title overlay. Pure ffmpeg — no extra dependencies.

Visualizer styles

| Style | ffmpeg filter | Notes | |-------|--------------|-------| | bars (default) | showspectrum | Frequency spectrum | | wave | showwaves | Waveform | | circle | avectorscope | Lissajous / stereo field | | cqt | showcqt | Constant-Q transform |

/render ~/Music/track.mp3
/render ~/Music/track.mp3 wave
/render https://youtu.be/xxx cqt

Output: ~/Music/Videos/<title>_<style>.mp4

If a URL is passed, yt-dlp downloads first.

Terminal Visualizer (/viz)

Audio-reactive terminal visualizer bundled as pi-djvj. Reacts to mpv IPC or mic.

/viz         — embedded in pi TUI (side panel)
/viz full    — fullscreen alt-screen mode

16 half-block shaders (Plasma, Tunnel, Starfield, Lissajous, Kaleidoscope…) + 6 Braille modes + ASCII (IBM CP437 luminance ramp). Spectral flux beat detection.

| Key | Action | |-----|--------| | N / P | Next / previous shader | | v | Cycle mode (halfblock → braille → ascii) | | + / - | Sensitivity | | F | Toggle fullscreen | | Q | Quit |

LLM Tools

Two tools the AI can call directly mid-conversation:

| Tool | Description | |------|-------------| | dj_play_music | Stream a YouTube search or URL | | dj_queue_music | Add a track to the queue | | dj_radio | Search and play global radio — genre, country, Lyria AI, or stream URL |

Division of Labour

| Extension | Commands | |-----------|----------| | cliamp | Local files, HTTP streams, Lyria radio — /play /music /lyria | | pi-dj | YouTube, AI, production, radio — /dj-play /radio /subs /render + tools | | pi-djvj | Terminal visualizer — /viz /viz fullbundled with pi-dj |

pi install npm:pi-dj installs both pi-dj and pi-djvj in one shot.

Platforms

Windows · macOS · Linux · Raspberry Pi · Termux

License

MIT