Skip to content

matthewboman/generator-1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Generator 1

Generator 1 is an attempt to create an ecology of sound and color. Informed by chaos theory, minute differences in initial conditions are amplified as the environment develops.

How it works

Generator 1 creates sounds based on the way the user's input interacts with the existing environment.

If on a phone or tablet, tap the screen. If on a desktop, press any key.

Each keypress or tap generates two parameters. These parameters are used to generate critters. The synthesizer type, note(s) played, effects, geometry, and color result from a combination of the user's input and the preexisting state.

After generating a sound, the critter passes a spore back to the environment, modifying the initial conditions in place when the user calls the next critter into being.

Try the demo.

Getting started

git clone https://github.com/crashspringfield/generator-1.git && cd generator-1
npm install
npx webpack

...and open index.html in your browser

Expanding

Critters are pure-ish functions that wrap Tone.js and THREE.js classes. Each Critter takes integer parameters to generate a sound and returns an integer. They don't manipulate application state, but it's generally easier for them to handle I/O && reference globals (like what musical key) in non-functional ways.

Fork and create your own critters in their own file under ./src/critters. If they follow the guide above, they should interact well with the existing environment.

License

GPL 3.0

About

An interaction between users and synthesizers for generative music.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published