Watch and listen to sorting algorithms in your browser, or edit them to experiment with their behavior.
- Live Demo: Try Audio Sort in your browser.
- About: The project’s origins and 2026 modernization.
- Algorithm API: Write custom algorithms using the recording API.
- Sorting algorithm catalog: Compare algorithms, implementation status, and candidates for additions.
- Original project page: The historical project overview and collection of related resources.
- Source Code: Browse the code, issues, and development history on GitHub.
- TODO List: See open feature ideas and maintenance work.
Requires Node.js 24+ and pnpm (version pinned in package.json).
pnpm install --frozen-lockfile
pnpm devOpen /audio-sort/ on the development server. Build with pnpm run build
(output: dist/audio-sort/). 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: Provides scale, color, path geometry, and array utilities; React renders the SVG charts.
- Jotai: Stores selected audio and sorting settings independently of the UI.
- React: Renders settings, playback controls, and editing/export dialogs.
- TanStack Start: Prerenders the React pages for static hosting.
- Tailwind CSS: Styles the workspace and its reusable components.
- shadcn/ui: Provides buttons, dialogs, tabs, and sliders built on Base UI.
- Lucide: Provides consistent SVG icons for playback and other controls.
- 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.ts.
- Wikipedia: Sorting Algorithms: An overview of sorting methods, complexity, and stability.
- Princeton: Algorithms, 4th edition: A sorting textbook companion with explanations, analysis, and Java implementations.
- CMU: Sorting lower bounds (PDF): Lecture notes explaining the limits of comparison-based sorting.
- c2.com: Sorting Algorithms: Community wiki discussions of sorting techniques.
- Visualising Sorting Algorithms by Aldo Cortesi: An explanation of static sorting diagrams and how to read them.
- Visualizing Algorithms by Mike Bostock: An illustrated essay on explaining algorithms through visualization.
- Sorting Algorithms Visualised by Callum Macrae: A blog post exploring sorting through visualization.
- DuckDuckGo: Sorting Algorithms: Search for more sorting resources.
- Sort Algorithms: Interactive visualizations of classic sorting algorithms and novelty sorts.
- Sorting Algorithms Animations: Compare sorting methods across different input arrangements.
- Visual Sorts on Canvas by Joshua Kehn: Compare JavaScript sorting algorithms with canvas animations and adjustable input data.
- Data Structure Visualizations: Interactive teaching demos covering sorting, trees, graphs, and other data structures.
- VisuAlgo: Animated explanations of data structures and algorithms.
- Algorithm Visualizer: An interactive platform for visualizing algorithms from code.
- Algorithm Playground: Visualize custom algorithms and step backward and forward through their execution.
- Python Algorithm Visualizations: A tool for visualizing algorithms written in Python.
- Sorting Visualizer - Karim Elghamry: A sorting visualizer built with React.
- SortDemon: Visualizations of over 30 sorting algorithms with adjustable speed and input size.
- Sounds of Sorting by Casey Rule: Sorts musical pitches with configurable pitch sets and separate sounds for reads and writes.
- Assortment - webcloud.se: A browser experiment combining sorting and sound.
- Sound Of Sorting: Downloadable App: A desktop application that visualizes sorting and turns comparisons into sound.
- sortvis.org: Static diagrams showing how items move through different sorting algorithms.
- YouTube: Visualization of Quick Sort: A video demonstration of quicksort.
- YouTube: 15 Sorting Algorithms in 6 Minutes: A video comparing the sights and sounds of 15 sorting algorithms.
- YouTube: What different sorting algorithms sound like: A video comparison of sorting algorithms through sound.
- YouTube: Heapsort audibilization: A sound-based demonstration of heapsort.
- YouTube: The Sound of Quicksort: A sound-based demonstration of quicksort.
- YouTube: SORTDEMO.BAS: A video of the BASIC sorting demonstration.
- Sorting Visualizations on imgur by FishyMcFishFace: A gallery of sorting animations.
- Sorting Out Sorting - Part 1: The opening segment of the sorting film.
- Sorting Out Sorting - Part 2: The second segment of the sorting film.
- Sorting Out Sorting - Part 3: The third segment of the sorting film.
- Sorting Out Sorting - Part 4: The final segment in this four-part upload.
- Sound Of Sorting: Source code for the desktop visualization and audio application.
- sortvis: Python/Cairo code for generating static sorting diagrams.
- VisualSort: Source for a browser visualizer that records and displays custom sorting algorithms.
- Illustrated Algorithms: Archived source and examples of visualizations with reversible execution.
- Wikibooks: Sorting implementations: Sorting implementations organized by algorithm and programming language.
- Rosetta Code: Sorting algorithms: Sorting tasks and implementations in multiple languages.
- escherba/algorithms-in-javascript: A collection of algorithm implementations in JavaScript.
- humanwhocodes/computer-science-in-javascript: JavaScript implementations of classic algorithms and data structures.
- Machine Learning visualizer: Interactive classification and clustering demos, including nearest neighbors and k-means.
- Morpheus - Visual Algorithm Simulator: Simulates synchronous distributed algorithms, including leader election in a ring.
Copyright (c) 2013 skratchdot
Licensed under the MIT license.
