BachBits

Einige kürzere Kompositionen von J.S.Bach auf einfachen 8-bit Microcontrollern realisiert.


(english later on..)


- Musik ist Mathematik!


- reine digitale, 2-5 stimmige Klangerzeugung (1 pin = 1 Stimme), ins Stereo-Panorama gemischt (mit Widerständen, oder Mixer).


- Erzeugung von Rechteckwellen mit variabler Pulsweite für unterschiedliche Klangfarben.


- bei unter 5 Stimmen Verwendung von 'Sub-Oscillatoren' je Simme.


- angenäherte 8-bit „Wohl“-temperierte Stimmung.


- selbstauferlegte Einschränkung durch Verwendung von einfachsten 8-bit Microcontrollern (Microchip PIC12F509, 1.5kBytes ROM, 41 Bytes RAM, 1Mhz interner Takt). Programmierung in Assembler. Maximal 470 Noten (1 Note = 1 Byte) wegen Table-Lookup Beschränkung des PIC. Keine Interrupts, keine Verwendung des internen Timers, keine Libraries.


- von Noten (Midi-Files) zu komprimierten Melodie-, Frequenz- und Dauer-Tabellen dank eigenen, speziellen Analyse-Skripts.


- Umsetzung von musikalischen Eigenschaften wie Pausen, Reprisen, Fermaten, Tempoänderungen.


- Wegen den genannten Einschränkungen mussten kleine Veränderungen am 'Urtext' vorgenommen werden.


- Das Repertoire ist inzwischen auf 28 (2x14;) Stücke angewachsen und bereit für Live-Präsentationen.


- Umgesetzt und programmiert von Michael Gianfreda, Bern, Mai-Juli 2023.


Beispiele:




BachBits


Some short compositions by J.S. Bach realized on simple 8-bit microcontrollers.


- Music is math!


- pure digital sound synthesis, 2-5 voices (1 pin per voice), mixed with resistors into stereo panorama.


- Generated square waves with variable pulse width for different sounds.


- Sub-oscillators per voice (if less than 5).


- Approximated 8-bit 'well'-tempered tuning.


- Self imposed limitations by using a very simple 8-bit microcontroller (Microchip PIC12F509, 1.5kBytes ROM, 41 Bytes RAM, 1Mhz internal clock). Programmed in Assembler. Max. 470 notes (1 note = 1 byte, table-lookup limitation by this PIC). No interrupts, no internal timer used, no libraries.


- Conversion from notes (Midi-files) to melody-, frequency- and duration-tables with specially written analytical tools.


- Implementation of musical characteristics such as pauses, reprises, fermata, tempo changes


- Some small changes in the compositions had to be made due to the limitations.


- In the meantime the repertoire has grown to 28 (2x14;) Bach pieces and it's ready for live presentation.


- Adapted and programmed May-July 2023 by Michael Gianfreda, Bern, Switzerland.




Comments