A webpage to visualize and audibilize sorting algorithms using javascript.
Requires Node.js 24+ and pnpm (version pinned in package.json).
pnpm install --frozen-lockfile
pnpm startBuild with pnpm run build (output: dist/). Run checks with pnpm run check.
See development documentation for browser tests and deployment.
- timbre.js — Synthesizes tones and plays soundfont instruments for sorting playback.
- D3 — Draws SVG bars, markers, and paths using modular selection, scale, color, shape, and array utilities.
- jQuery — Handles DOM updates, UI events, and legacy plugins.
- Bootstrap 2 — Provides the responsive layout, styling, tabs, dropdowns, and modals.
- bootstrap-slider — Stefan Petre's slider controls for audio settings, dataset size, and playback position.
- Ace — Powers the algorithm editor with syntax highlighting and JavaScript diagnostics.
- jsmidgen — Encodes sorting playback as MIDI files.
- FileSaver.js — Downloads generated MIDI files in the browser.
Musical scale data is adapted from subcollider.js. All 108 scales and the original license notice are preserved in scales.mjs.
Copyright (c) 2013 skratchdot
Licensed under the MIT license.
