Show HN: Bring 8-Bit Sound Effects to Neovim
Hi all, I'm excited to share player-one.nvim, a plugin that adds 8-bit sound effects to Neovim.

Overview

player-one.nvim is a plugin that generates 8-bit sound effects on the fly, no audio files required! It enhances your editing experience with retro-style audio feedback for various Neovim events.

Features

Extensive customization:
- Generate any sound you like. Compatible with jsfxr - 8 bit sound maker and online sfx generator
- Build your sound theme from scratch
- Set interval between sounds
- Built-in sound themes
- Event-based sound triggers

Why?

As both a gamer and a developer, I love listening to nostalgic video game soundtracks while programming. This plugin is a tribute to those late-night gaming sessions—when the world is quiet, and all that remains are cheerful sound effects and the drive to beat the game. By bringing familiar 8-bit sounds to the coding sessions, it makes Neovim so much more fun! In fact, most of the development was done while listening to Littleroot Town from Pokémon Ruby, and it was really cool - typing felt like talking to an NPC and saving a file felt like saving my game.

What?

player-one.nvim comes with three preset sound themes - chiptune, crystal and synth.The preset sound themes are designed to be a minimal starting point. You can further expand it by adding new sounds to your liking. Here are some fun ideas to try:

- Add a upbeat jingle when you squash a bug.
- Add a beep during AI response streaming, as if the AI were talking.
- Add a subtle cue to your mode transitions.
- Play a nostalgic sound effect from your favorite game, perhaps Zelda's secret reveal cue when your build succeeds? Or the classic Super Mario jingle when Neovim starts up?

Who?

You may like this if you are:

- A developer who loves retro gaming aesthetics
- Developers with visual impairments who benefit from additional audio cues.
- A person who enjoys keyboard sounds/mechanical keyboards
- Anyone who multitasks and wants an extra layer of awareness without constantly looking at the screen.

You may not like this if you are:

- Working in quiet environments or shared spaces
- Someone who keeps their system audio muted
- Sensitive to repetitive sounds

Credits

Resources

- sfxr: The original sfxr by DrPetter.
- jsfxr: An online 8 bit sound maker and sfx generator.

Inspirations

- Klack: A MacOS app that adds mechanical keyboard sounds to every keystroke.
- EggbertFluffle/beepboop.nvim: A Neovim plugin that incorporate audio cues.
- jackplus-xyz/love2jump: A 2D platformer game built with LÖVE framework in Lua. This is my personal project to learn the fundamentals of game development. I got the idea of generating 8 bits notes and melody with love.audio, making this game free of audio file.

Libraries

- mlua-rs/mlua: High level Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Roblox Luau bindings to Rust with async/await support.
- bzar/sfxr-rs: Reimplementation of DrPetter's "sfxr" sound effect generator as a Rust library.
Note

I might be biased, but after using it for a month, it doesn't feel right anymore opening Neovim without these sound effects. I hope you find this useful, and I'm excited to see (and hear!) the sound themes you design.