beta
This is a beta. It will get things wrong. Your practice data lives only in this browser, so keep an export.Report a bug or idea

Credits

Some of what you hear and most of what makes it work was made by other people and given away. Where a licence asks for credit, this page is it.

The sounds

Electric guitar and bass recordings — Karoryfer Samples
CC0

The notes you hear when the app plays something back. Real recordings, one every three semitones, pitch-shifted between.

Sample packaging for the web — nbrosowsky/tonejs-instruments
MIT (code) · CC-BY 3.0 (samples)

Trimmed and re-encoded here to keep the download small.

Nothing here is a recording of you. Your own takes stay on your machine — see privacy.

The machinery

Audio scheduling and synthesis — Tone.js
MIT

The clock everything in the app shares.

Polyphonic transcription — Spotify Basic Pitch
Apache-2.0

Reads a stored recording back as notes, with the bends and the real durations.

Guitar Pro and MusicXML reading — alphaTab
MPL-2.0

Parses tab files you import. Used unmodified; its source is at the link.

Memory scheduling — ts-fsrs
MIT

Decides when a shape you have learned should come back.

Local storage — Dexie
Apache-2.0

Keeps your practice on your own machine.

Everything else

The pitch detection is a McLeod normalised autocorrelation, written here. The scale shapes, arpeggio positions and chord voicings are derived rather than transcribed, so no shape in this app was copied from anywhere.

Built with Next.js, React and Tailwind, all MIT.