DEV Community

Cover image for KeySax — your keyboard is a saxophone
emmi-dev12
emmi-dev12

Posted on

KeySax — your keyboard is a saxophone

There is a YouTube toy where the number keys are a sax. I wanted that as a real instrument: install it, play it fullscreen, keep the sounds on this machine.

So I built KeySax.

Play it: https://emmi-dev12.github.io/KeySax/

Source: github.com/emmi-dev12/KeySax · MIT

No account. No cloud. No licensed samples. Every tone is synthesized in the browser with the Web Audio API. Preferences live in localStorage.

Install it like an app

  • Chrome / Edge — Install app
  • Safari on Mac — File → Add to Dock
  • iPhone / iPad — Share → Add to Home Screen

After that it is just KeySax in the dock or on the home screen. Reload with ⌘R if you ever need a fresh copy.

How it plays

Four letter rows, a numpad, and space. Each row has its own instrument, octave, and transpose.

Row Default
` 1–0 - = Alto sax
Q W E R T Y U I O P [ ] \\ Kalimba
A S D F G H J K L ; ' Piano
Z X C V B N M , . / Guitar
Numpad Drums
Space Bass thump

Pick a different voice on any row: tenor, bari, YouTube sax, Rhodes, crystal glass, chimes, music box, a pad. Two sax engines — classic additive harmonics, or a reed waveguide.

The default scale is the YouTube one (C D E F G A B♭). Major, minor, pentatonic, blues, mixolydian, dorian, and chromatic are in settings. Shift types uppercase and ! @ # into the letter video.

Hit Record. Letters fall, a sentence forms, and when you stop you can download the letter clip, a video of the whole app, or just the WAV.

Twenty seconds, Happy Birthday

YouTube scale, root C, home row:

A A S A F D

A A S A G F

A A K H F D S

J J H F G F

What I refused to add

A login. A sample pack. A server.

KeySax is the page you install. If it is in front, it plays. That is the whole product.

If you like taking things apart

It is a static PWA on GitHub Pages. Service worker, Web Audio graph, MediaRecorder on a canvas stream, MIDI out if you have a destination. No build step you have to care about — the docs/ folder is the app.

Clone it, break the reed, add a voice, send a PR.

Open it, press 1, and do not be surprised when a saxophone answers.

Top comments (0)