ChuckTune is a program designed to explore non-standard tuning systems, such as microtones and non-equal temperaments. The user can compare intervals and chord varieties of multiple tunings side-by-side in an approachable and colorful way.
Running ChuckTune is as simple as downloading the code and running `chuck main.ck` from the command line.
Milestone B
Milestone A
Ideas
1. ChuckTune (Tuning Visualizer)
This is my primary idea and the one that I will be building.
A keyboard instrument that the user can play to visually and audibly learn different tunings.
As I am learning more about non-12-TET tunings, I want to build a tool that can visualize the new intervals/chords that are available which each tuning and be able to compare them to each other.
See each tunings unique "color" to compare/contrast.
Isomorphic keyboard:
Build isomorphic layouts on top of the built-in keyboard / external keyboard. Isomorphism lends itself well to learning new tunings, and the keyboard layout is close enough to existing isomorphic instruments (and significantly more accessible).
Supports multiple tunings:
12TET, mean-tone / well-tempered tunings for 12 notes
EDO tunings (31, 19, 22)
Just-intonation
Non-equal tunings (Pelog)? Non-octave tunings?
Support additional tunings by reading in tuning files
Visualizer modes:
Color Gradient: Each pitch is represented as a color that overlaps based on its distance from other pitches. The color corresponds to its frequency (so there will be subtle differences between a Maj3 in 12TET vs. a Maj3 in 31EDO).
Interval Analyzer: Visual the notes in space to see all available intervals (such as Neutral 3rds / Sub-minor 3rds)
Timeline: Sort of like a spectrogram, play the keyboard in real-time and its Color Gradient will be drawn on the screen
Ability to compare:
Be able to "freeze" a chord / interval / pitch from a different tuning on the screen, and then play the keyboard in a different tuning in real-time to compare.
2. Modular Synth
An interactive, visual component to the standard synthesis objects that Chuck supports (Ugens).
This would be like VCV Rack but in Chuck for maximum flexibility/extensibility.
Add "modules" that correspond to Ugens (lowpass filter, oscillator bank, etc.) to the screen. The user click-drags from inputs to outputs to draw patch cables.
Modules can be extended through the graphic interface (such as adding more outputs / inputs)
Ability to save and load presets.
3. Generative Musical Video Game
This would be a rework / extension of a game that I built for my application.
As the player plays the game, music is generated and modulated based on their actions and performance.