AlgoMIDI is a unique musical studio that uses cellular automata and graph traversal algorithms to create dynamic music. Each 'living' cell generates a musical note, allowing for innovative compositions. With features like custom rules, adjustable playback speed, and a visual piano interface, this project offers a creative way to explore sound through technology.
AlgoMIDI is an innovative musical studio designed to create music using cellular automata and graph traversal algorithms. As a spiritual successor to Cellular Minimata, AlgoMIDI transforms traditional automata into an engaging audio-visual experience, where each 'living' cell generates musical notes.
Technology Stack
Built with modern technologies, AlgoMIDI leverages:
- Vue 3 - for an interactive user interface
- Vite - to enable faster development
- TypeScript - ensuring type safety in JavaScript
- Web Audio API (via Tone.js) - for high-quality audio generation
- p5.js - facilitating creative coding
- Cytoscape.js - for visualizing graph structures
The piano sampler used in this project is sourced from Tone.js instruments.
Key Features
Cellular Automata
- Select from classic Game of Life rules (B3/S23) or choose from other presets.
- Input custom rules (format B3/S2,3) to create unique patterns.
- Adjust playback speed between 60-240 BPM for a tailored musical experience.
- Click on cells to create initial patterns and bring them to life musically.
Graph Traversal Algorithms
- Visualize notes represented as nodes via BFS (Breadth-First Search) and DFS (Depth-First Search) algorithms, crafting melodic sequences.
- Utilize drag-and-drop functionality for edge creation, providing an intuitive workflow.
- Choose from various layout options, including circle, grid, and random arrangements for dynamic visuals.
Piano Interface
- Receive visual feedback for notes played, creating an engaging interaction.
- Display notes generated by both cellular automata and graph algorithms.
- Basic playback controls make it easy to manage the musical output.
AlgoMIDI offers a unique approach to music creation by blending algorithms with musical concepts. Whether exploring cellular automata or graph traversal, this project serves as a powerful tool for both learning and experimentation in algorithm-driven sound generation.
No comments yet.
Sign in to be the first to comment.