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
Post a Comment