SkillAgentSearch skills...

Rhythmonics

Interactive music toy relating polyrhythms and harmony.

Install / Use

/learn @msabin/Rhythmonics

README

rhythmonics - (demo)

<img src="/screencaps/rhythmonics-bpm.gif" width="640">

'rhythmonics' is a portmanteau of rhythm and harmonics and, true to its name, is a music toy meant to show the relationship between polyrhythms and harmony.

See a video demo of the app here!!

This project is an interactive GUI that visualizes polyrhythms and allows a sliding scale of speed to auditorily and visually show how harmony is just really fast polyrhthms!

An understanding of overtones/harmonics and of polyrhythms is useful but not required. This interactive toy is meant to make the concepts intuitive and palatable just by graphically playing with it!

<p> <img src="/screencaps/rhythmonics-blur.png" width="350"> <img src="/screencaps/rhythmonics-quartet.png" width="350"> <img src="/screencaps/rhythmonics-all.png" width="350"> <img src="/screencaps/rhythmonics-harmony.png" width="350"> </p>

Warning

This application has fast and strobing movement and may trigger epilepsy for those with photo-sensitive epilepsy. Future versions will have an option to minimize movement but this is not available now.

Installation

This is a Python project and requires Python 3 to run. These installation instructions should work for MacOS with the default shell.

Open a directory on your computer that you want to download this repository to and clone it from GitHub from the command line with:

git clone https://github.com/msabin/rhythmonics.git

In the directory you've placed rhythmonics, it is recommended you create and activate a virtual environment to make sure rhythmonics uses the right versions of the libraries it was created with:

python3 -m venv .venv

source .venv/bin/activate

With an active virtual environment, use the requirements.txt file here to install all the libraries that rhythmonics depends on:

pip install -r requirements.txt

The main event loop that powers rhythmonics should be ready to run now:

python3 main.py

File Structure

There are four files of Python code that organize the code's components as follows:

main.py

Run the main event loop for the rhythmonics program.

harmonics.py

Module for simulating all harmonic components: sound, polygons, balls.

interface.py

Module for the GUI of rhythmonics, wrapped in a console aesthetic.

config.py

Global constants (mostly colors) for the program to use.

View on GitHub
GitHub Stars10
CategoryEducation
Updated5mo ago
Forks0

Languages

Python

Security Score

92/100

Audited on Oct 23, 2025

No findings