Prime Bass is an innovative web app that turns prime numbers into music by generating and sequencing notes played on a bass guitar. With customizable settings for note duration and fret adjustments, users can explore the musicality of prime numbers in a unique way, enriching their auditory experience.
Prime Bass is a unique web application designed to transform prime numbers into music by utilizing a bass guitar. The application generates a selectable number of prime numbers and plays them in a musical sequence, allowing for an engaging experience that blends mathematics and music.
Demo
Explore the application and interact with it on the official demo page: Prime Bass Demo.
Introduction
The idea behind Prime Bass stems from the concept of feeling prime numbers through music. This web app leverages the power of Tone.js to create a synthesizer, enabling users to hear the melodies formed by prime numbers.
Features:
- Adjustable Settings: Customize the number of notes, frets, note duration, and total primes to generate. Experience the versatility of music creation based on prime integers.
- Musical Mapping: Each prime number gets mapped to a bass guitar frequency. The last digit of prime numbers (other than 2 and 5) determines which string of the bass guitar is used, resulting in melodious sequences.
Musical Representation of Prime Numbers
The underlying principle of Prime Bass lies in the characteristics of prime numbers. Primes can only terminate with 1, 3, 7, or 9, which fits perfectly with the four strings of a bass guitar. The mapping strategy uses the modulo operation with the number of frets for a harmonizing effect, creating a unique auditory representation of mathematical concepts.
Technology Stack
- Vite: A modern build tool that streamlines development for web projects.
- TypeScript: Offers a typed environment for JavaScript, enhancing development with more reliable code.
- Tone.js: A framework for enabling interactive music creation in the web browser.
- Prettier: A code formatting tool that ensures consistent style throughout the project.
- ESLint: A tool that aids in identifying and reporting patterns in JavaScript code, enhancing code quality.
Contributing
Contributions are welcomed! For guidelines and details, refer to the CONTRIBUTING.md file. Ideas for future improvements include:
- Synchronizing specific settings via query parameters.
- Expanding the app with additional instruments and tunings.
- Incorporating a visual component that represents the notes being played.
- Implementing functionality to save generated compositions as files.
ayo, this is cool
Thank you 🙏
Sign in to comment.