GMU:PCB Arts/L.-E. Kühr/GOL-Midi: Difference between revisions

From Medien Wiki
Line 15: Line 15:


===MIDI===
===MIDI===
To send the state of the simulation using MIDI the library
To send the state of the simulation using MIDI the library MIDIUSB (https://github.com/arduino-libraries/MIDIUSB) was used. The state of the simulation is mapped to chrods of a selected scale that are hardcoded in memory and can be send all at once or as an arpeggio. To map to the scales the state of the automata is interpreted as an 8-Bit number that is then mapped to the tone. The speed or time of the intervall is controlled by the shield.


==Parts==
==Parts==

Revision as of 04:51, 2 April 2021

GOL-Midi Semesterprojekt

Concept

In this project I wanted to revisit my first-semester project about generating sound using cellular automata. Instead of synthesizing the sound directly from the state of the cellular automata, I wanted to take advantage of using the MIDI-capabilities of the ATmega32U4 microcontroller and design a custom PCB for an Arduino Micro shield which controlls the simulation. The state of the simulation is then send as MIDI over the USB-C port of the Arduino, which can then be used as a MIDI-controller. For the design of the PCB I wanted to take a procedural approach aswell while keeping it simple but taking advantage of all the layers available. The custom PCB controlls the speed and rules used in the one-dimensional automata.

All rules.png

Schematic

PCB

Final Design

Programming

Simulation

MIDI

To send the state of the simulation using MIDI the library MIDIUSB (https://github.com/arduino-libraries/MIDIUSB) was used. The state of the simulation is mapped to chrods of a selected scale that are hardcoded in memory and can be send all at once or as an arpeggio. To map to the scales the state of the automata is interpreted as an 8-Bit number that is then mapped to the tone. The speed or time of the intervall is controlled by the shield.

Parts

Video

TBA

Further Reading:

Elementary Cellular Automaton