Credits and licences
The site uses other people's work, offered under open licences. Here is who made each thing, and on what terms.
Sounds
Salamander Grand Piano V3
Alexander Holm
The piano in the figures, the tools and the exercises.
Site typefaces
Fraunces
Undercase Type (Phaedra Charles, Flavia Zimbardi)
Titles and headings.
Literata
The Literata Project Authors
The text you read.
Inter
Rasmus Andersson
Menus, buttons and labels.
IBM Plex Mono
IBM Corp.
Chord symbols and note names.
Music notation fonts
Bravura
Steinberg Media Technologies
The symbols on the staves.
Petaluma
Steinberg Media Technologies
Petaluma Script
Steinberg Media Technologies
Academico
Steinberg Media Technologies
Gonville
Simon Tatham
On the server
libvips
John Cupitt (libvips)
Prepares the site's images on the server.
Trademarks
Download on the App Store badge
Apple Inc.
Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc., registered in the U.S. and other countries.
Get it on Google Play badge
Google LLC
Google Play and the Google Play logo are trademarks of Google LLC. Android is a trademark of Google LLC.
Software
340 open-source packages run the site.
- MIT
- 295
- ISC
- 15
- Apache-2.0
- 10
- 11 other licences
- 20
See all 340 packages
- @anthropic-ai/sdk 0.125.0 · MIT
- @babel/code-frame 7.29.7 · MIT
- @babel/helper-validator-identifier 7.29.7 · MIT
- @babel/runtime 7.29.7 · MIT
- @codemirror/autocomplete 6.20.3 · MIT
- @codemirror/commands 6.11.0 · MIT
- @codemirror/lang-css 6.3.1 · MIT
- @codemirror/lang-html 6.4.12 · MIT
- @codemirror/lang-javascript 6.2.5 · MIT
- @codemirror/lang-markdown 6.5.2 · MIT
- @codemirror/language 6.12.4 · MIT
- @codemirror/lint 6.9.7 · MIT
- @codemirror/merge 6.12.2 · MIT
- @codemirror/search 6.7.2 · MIT
- @codemirror/state 6.7.4 · MIT
- @codemirror/view 6.43.11 · MIT
- @eloqnt/config 0.1.0 · MIT
- @eloqnt/format-json 0.1.0 · MIT
- @eloqnt/format-po 0.1.0 · MIT
- @formatjs/fast-memoize 3.1.7 · MIT
- @formatjs/icu-messageformat-parser 3.5.17 · MIT
- @formatjs/icu-skeleton-parser 2.1.11 · MIT
- @formatjs/intl-localematcher 0.8.13 · MIT
- @img/colour 1.1.0 · MIT
- @isaacs/fs-minipass 4.0.1 · ISC
- @lezer/common 1.5.2 · MIT
- @lezer/css 1.3.6 · MIT
- @lezer/highlight 1.2.3 · MIT
- @lezer/html 1.3.13 · MIT
- @lezer/javascript 1.5.4 · MIT
- @lezer/lr 1.4.10 · MIT
- @lezer/markdown 1.7.2 · MIT
- @marijn/find-cluster-break 1.0.4 · MIT
- @mdx-js/mdx 3.1.1 · MIT
- @mdx-js/react 3.1.1 · MIT
- @next/env 16.3.4 · MIT
- @parcel/watcher 2.6.0 · MIT
- @schummar/icu-type-parser 1.21.5 · MIT
- @stablelib/base64 1.0.1 · MIT
- @supabase/auth-js 2.116.0 · MIT
- @supabase/functions-js 2.116.0 · MIT
- @supabase/phoenix 0.4.5 · MIT
- @supabase/postgrest-js 2.116.0 · MIT
- @supabase/realtime-js 2.116.0 · MIT
- @supabase/ssr 0.12.7 · MIT
- @supabase/storage-js 2.116.0 · MIT
- @supabase/supabase-js 2.116.0 · MIT
- @swc/core 1.16.2 · Apache-2.0
- @swc/counter 0.1.3 · Apache-2.0
- @swc/helpers 0.5.23 · Apache-2.0
- @swc/types 0.1.28 · Apache-2.0
- @tiptap/core 3.31.3 · MIT
- @tiptap/extension-blockquote 3.31.3 · MIT
- @tiptap/extension-bold 3.31.3 · MIT
- @tiptap/extension-code 3.31.3 · MIT
- @tiptap/extension-document 3.31.3 · MIT
- @tiptap/extension-heading 3.31.3 · MIT
- @tiptap/extension-italic 3.31.3 · MIT
- @tiptap/extension-list 3.31.3 · MIT
- @tiptap/extension-paragraph 3.31.3 · MIT
- @tiptap/extension-table 3.31.3 · MIT
- @tiptap/extension-text 3.31.3 · MIT
- @tiptap/extensions 3.31.3 · MIT
- @tiptap/pm 3.31.3 · MIT
- @types/debug 4.1.13 · MIT
- @types/estree-jsx 1.0.5 · MIT
- @types/estree 1.0.9 · MIT
- @types/hast 3.0.5 · MIT
- @types/mdast 4.0.4 · MIT
- @types/mdx 2.0.14 · MIT
- @types/ms 2.1.0 · MIT
- @types/unist 2.0.11 · MIT
- @types/unist 3.0.3 · MIT
- @types/vexflow 1.2.42 · MIT
- @ungap/structured-clone 1.4.0 · ISC
- abbrev 4.0.0 · ISC
- acorn-jsx 5.3.2 · MIT
- acorn 8.18.0 · MIT
- astring 1.9.0 · MIT
- automation-events 7.1.19 · MIT
- bail 2.0.2 · MIT
- base64-js 1.5.1 · MIT
- baseline-browser-mapping 2.11.22 · Apache-2.0
- bindings 1.5.0 · MIT
- bit-twiddle 1.0.2 · MIT
- bl 4.1.0 · MIT
- buffer 5.7.1 · MIT
- caniuse-lite 1.0.30001810 · CC-BY-4.0
- ccount 2.0.1 · MIT
- character-entities-html4 2.1.0 · MIT
- character-entities-legacy 3.0.0 · MIT
- character-entities 2.0.2 · MIT
- character-reference-invalid 2.0.1 · MIT
- chownr 1.1.4 · ISC
- chownr 3.0.0 · BlueOak-1.0.0
- client-only 0.0.1 · MIT
- codemirror 6.0.2 · MIT
- collapse-white-space 2.1.0 · MIT
- comma-separated-tokens 2.0.3 · MIT
- content-type 2.1.0 · MIT
- cookie 1.1.1 · MIT
- core-util-is 1.0.3 · MIT
- crelt 1.0.7 · MIT
- debug 4.4.3 · MIT
- decode-named-character-reference 1.3.0 · MIT
- decompress-response 6.0.0 · MIT
- deep-extend 0.6.0 · MIT
- dequal 2.0.3 · MIT
- detect-libc 2.1.2 · Apache-2.0
- devlop 1.1.0 · MIT
- drizzle-orm 0.45.2 · Apache-2.0
- end-of-stream 1.4.5 · MIT
- env-paths 2.2.1 · MIT
- esast-util-from-estree 2.0.0 · MIT
- esast-util-from-js 2.0.1 · MIT
- escape-string-regexp 5.0.0 · MIT
- estree-util-attach-comments 3.0.0 · MIT
- estree-util-build-jsx 3.0.1 · MIT
- estree-util-is-identifier-name 3.0.0 · MIT
- estree-util-scope 1.0.1 · MIT
- estree-util-to-js 2.0.0 · MIT
- estree-util-visit 2.0.0 · MIT
- estree-walker 3.0.3 · MIT
- expand-template 2.0.3 · (MIT OR WTFPL)
- exponential-backoff 3.1.3 · Apache-2.0
- extend 3.0.2 · MIT
- fast-sha256 1.3.0 · Unlicense
- fault 2.0.1 · MIT
- fdir 6.5.0 · MIT
- file-uri-to-path 1.0.0 · MIT
- format 0.2.2 · MIT
- fs-constants 1.0.0 · MIT
- github-from-package 0.0.0 · MIT
- gl 9.0.0-rc.10 · BSD-2-Clause
- glsl-tokenizer 2.1.5 · MIT
- graceful-fs 4.2.11 · ISC
- hast-util-to-estree 3.1.3 · MIT
- hast-util-to-jsx-runtime 2.3.6 · MIT
- hast-util-whitespace 3.0.0 · MIT
- iceberg-js 0.8.1 · MIT
- icu-minify 4.14.3 · MIT
- ieee754 1.2.1 · BSD-3-Clause
- immediate 3.0.6 · MIT
- inherits 2.0.4 · ISC
- ini 1.3.8 · ISC
- inline-style-parser 0.2.7 · MIT
- intl-messageformat 11.2.14 · BSD-3-Clause
- is-alphabetical 2.0.1 · MIT
- is-alphanumerical 2.0.1 · MIT
- is-decimal 2.0.1 · MIT
- is-extglob 2.1.1 · MIT
- is-glob 4.0.3 · MIT
- is-hexadecimal 2.0.1 · MIT
- is-plain-obj 4.1.0 · MIT
- isarray 0.0.1 · MIT
- isarray 1.0.0 · MIT
- isexe 4.0.0 · BlueOak-1.0.0
- js-tokens 4.0.0 · MIT
- json-schema-to-ts 3.1.1 · MIT
- jszip 3.10.1 · (MIT OR GPL-3.0-or-later)
- lie 3.3.0 · MIT
- loglevel 1.9.2 · MIT
- longest-streak 3.1.0 · MIT
- markdown-extensions 2.0.0 · MIT
- markdown-table 3.0.4 · MIT
- mdast-util-find-and-replace 3.0.2 · MIT
- mdast-util-from-markdown 2.0.3 · MIT
- mdast-util-frontmatter 2.0.1 · MIT
- mdast-util-gfm-autolink-literal 2.0.1 · MIT
- mdast-util-gfm-footnote 2.1.0 · MIT
- mdast-util-gfm-strikethrough 2.0.0 · MIT
- mdast-util-gfm-table 2.0.0 · MIT
- mdast-util-gfm-task-list-item 2.0.0 · MIT
- mdast-util-gfm 3.1.0 · MIT
- mdast-util-mdx-expression 2.0.1 · MIT
- mdast-util-mdx-jsx 3.2.0 · MIT
- mdast-util-mdx 3.0.0 · MIT
- mdast-util-mdxjs-esm 2.0.1 · MIT
- mdast-util-phrasing 4.1.0 · MIT
- mdast-util-to-hast 13.2.1 · MIT
- mdast-util-to-markdown 2.1.2 · MIT
- mdast-util-to-string 4.0.0 · MIT
- micromark-core-commonmark 2.0.3 · MIT
- micromark-extension-frontmatter 2.0.0 · MIT
- micromark-extension-gfm-autolink-literal 2.1.0 · MIT
- micromark-extension-gfm-footnote 2.1.0 · MIT
- micromark-extension-gfm-strikethrough 2.1.0 · MIT
- micromark-extension-gfm-table 2.1.2 · MIT
- micromark-extension-gfm-tagfilter 2.0.0 · MIT
- micromark-extension-gfm-task-list-item 2.1.0 · MIT
- micromark-extension-gfm 3.0.0 · MIT
- micromark-extension-mdx-expression 3.0.1 · MIT
- micromark-extension-mdx-jsx 3.0.2 · MIT
- micromark-extension-mdx-md 2.0.0 · MIT
- micromark-extension-mdxjs-esm 3.0.0 · MIT
- micromark-extension-mdxjs 3.0.0 · MIT
- micromark-factory-destination 2.0.1 · MIT
- micromark-factory-label 2.0.1 · MIT
- micromark-factory-mdx-expression 2.0.3 · MIT
- micromark-factory-space 2.0.1 · MIT
- micromark-factory-title 2.0.1 · MIT
- micromark-factory-whitespace 2.0.1 · MIT
- micromark-util-character 2.1.1 · MIT
- micromark-util-chunked 2.0.1 · MIT
- micromark-util-classify-character 2.0.1 · MIT
- micromark-util-combine-extensions 2.0.1 · MIT
- micromark-util-decode-numeric-character-reference 2.0.2 · MIT
- micromark-util-decode-string 2.0.1 · MIT
- micromark-util-encode 2.0.1 · MIT
- micromark-util-events-to-acorn 2.0.3 · MIT
- micromark-util-html-tag-name 2.0.1 · MIT
- micromark-util-normalize-identifier 2.0.1 · MIT
- micromark-util-resolve-all 2.0.1 · MIT
- micromark-util-sanitize-uri 2.0.1 · MIT
- micromark-util-subtokenize 2.1.0 · MIT
- micromark-util-symbol 2.0.1 · MIT
- micromark-util-types 2.0.2 · MIT
- micromark 4.0.2 · MIT
- mimic-response 3.1.0 · MIT
- minimist 1.2.8 · MIT
- minipass 7.1.3 · BlueOak-1.0.0
- minizlib 3.1.0 · MIT
- mkdirp-classic 0.5.3 · MIT
- ms 2.1.3 · MIT
- nan 2.28.0 · MIT
- nanoid 3.3.19 · MIT
- napi-build-utils 2.0.0 · MIT
- negotiator 1.1.0 · MIT
- next-intl-swc-plugin-extractor 4.14.3 · MIT
- next-intl 4.14.3 · MIT
- next-mdx-remote 6.0.0 · MPL-2.0
- next 16.3.4 · MIT
- node-abi 3.96.0 · MIT
- node-addon-api 7.1.1 · MIT
- node-gyp 12.4.0 · MIT
- nopt 9.0.0 · ISC
- once 1.4.0 · ISC
- opensheetmusicdisplay 2.1.2 · BSD-3-Clause
- orderedmap 2.1.1 · MIT
- pako 1.0.11 · (MIT AND Zlib)
- parse-entities 4.0.2 · MIT
- picocolors 1.1.1 · ISC
- picomatch 4.0.7 · MIT
- po-parser 2.2.0 · MIT
- postcss 8.5.23 · MIT
- postgres 3.4.9 · Unlicense
- prebuild-install 7.1.3 · MIT
- proc-log 6.1.0 · ISC
- process-nextick-args 2.0.1 · MIT
- property-information 7.2.0 · MIT
- prosemirror-changeset 2.4.2 · MIT
- prosemirror-commands 1.7.2 · MIT
- prosemirror-dropcursor 1.8.3 · MIT
- prosemirror-gapcursor 1.4.1 · MIT
- prosemirror-history 1.5.0 · MIT
- prosemirror-inputrules 1.5.1 · MIT
- prosemirror-keymap 1.2.3 · MIT
- prosemirror-model 1.25.11 · MIT
- prosemirror-schema-list 1.5.1 · MIT
- prosemirror-state 1.4.4 · MIT
- prosemirror-tables 1.8.5 · MIT
- prosemirror-transform 1.12.1 · MIT
- prosemirror-view 1.42.3 · MIT
- pump 3.0.4 · MIT
- rc 1.2.8 · (BSD-2-Clause OR MIT OR Apache-2.0)
- react-dom 19.3.0 · MIT
- react 19.3.0 · MIT
- readable-stream 1.0.34 · MIT
- readable-stream 2.3.8 · MIT
- readable-stream 3.6.2 · MIT
- recma-build-jsx 1.0.0 · MIT
- recma-jsx 1.0.1 · MIT
- recma-parse 1.0.0 · MIT
- recma-stringify 1.0.0 · MIT
- rehype-recma 1.0.0 · MIT
- remark-gfm 4.0.1 · MIT
- remark-mdx 3.1.1 · MIT
- remark-parse 11.0.0 · MIT
- remark-rehype 11.1.2 · MIT
- remark-stringify 11.0.0 · MIT
- rope-sequence 1.3.4 · MIT
- safe-buffer 5.1.2 · MIT
- safe-buffer 5.2.1 · MIT
- scheduler 0.28.0 · MIT
- semver 7.8.5 · ISC
- setimmediate 1.0.5 · MIT
- sharp 0.35.4 · Apache-2.0
- simple-concat 1.0.1 · MIT
- simple-get 4.0.1 · MIT
- source-map-js 1.2.1 · BSD-3-Clause
- source-map 0.7.6 · BSD-3-Clause
- space-separated-tokens 2.0.2 · MIT
- standardized-audio-context 25.3.77 · MIT
- standardwebhooks 1.1.1 · MIT
- string_decoder 0.10.31 · MIT
- string_decoder 1.1.1 · MIT
- string_decoder 1.3.0 · MIT
- stringify-entities 4.0.4 · MIT
- strip-json-comments 2.0.1 · MIT
- stripe 22.6.2 · MIT
- style-mod 4.1.3 · MIT
- style-to-js 1.1.21 · MIT
- style-to-object 1.0.14 · MIT
- styled-jsx 5.1.6 · MIT
- tar-fs 2.1.5 · MIT
- tar-stream 2.2.0 · MIT
- tar 7.5.22 · BlueOak-1.0.0
- through2 0.6.5 · MIT
- tinyglobby 0.2.17 · MIT
- tone 15.1.22 · MIT
- trim-lines 3.0.1 · MIT
- trough 2.2.0 · MIT
- ts-algebra 2.0.0 · MIT
- ts-fsrs 5.4.2 · MIT
- tslib 2.8.1 · 0BSD
- tunnel-agent 0.6.0 · Apache-2.0
- typescript-collections 1.3.3 · MIT
- undici 6.28.1 · MIT
- unified 11.0.5 · MIT
- unist-util-is 6.0.1 · MIT
- unist-util-position-from-estree 2.0.0 · MIT
- unist-util-position 5.0.0 · MIT
- unist-util-remove 4.0.0 · MIT
- unist-util-stringify-position 4.0.0 · MIT
- unist-util-visit-parents 6.0.2 · MIT
- unist-util-visit 5.1.0 · MIT
- use-intl 4.14.3 · MIT
- util-deprecate 1.0.2 · MIT
- vexflow 1.2.93 · MIT
- vexflow 5.0.0 · MIT
- vfile-matter 5.0.1 · MIT
- vfile-message 4.0.3 · MIT
- vfile 6.0.3 · MIT
- w3c-keyname 2.2.8 · MIT
- which 6.0.1 · ISC
- wrappy 1.0.2 · ISC
- xtend 4.0.2 · MIT
- yallist 5.0.0 · BlueOak-1.0.0
- yaml 2.9.0 · ISC
- zwitch 2.0.4 · MIT