Klangstrom (KLST) is a subtractive infrastructure design framework to facilitate generative, networked, embedded sound + music + composition. klangstrom is comprised of two software libraries ( klang a node+text-based sound synthesis library and strom a node+text-based generative composition library ), an embedded hardware platform, and a programming environment to allow seamless development of generative, networked, embedded sound + music + composition applications.
contains a series of libraries that are mostly but not exclusively used by the Arduino IDE or arduino-cli. klangstrom-libraries are used ( as git subtree ) in the repositories klangstrom-hardware and klangstrom-arduino.
libraries included in klangstrom-libraries:
klangstrom-libraries
├── Klangstrom
├── Klangstrom_Emulator
├── Klangstrom_KLST_EMU
├── Klangstrom_KLST_PANDA_STM32
├── Klangstrom_KLST_PANDA_STM32_CubeMX
├── USBDevices
└── USBHost # <- ⚠️ WIP ⚠️ currently brokenKlangstrom is the library that applications interact with. it defines the Klangstrom API.
infrastructure for running Klangstrom emulators. it is based on Umfeld for Arduino. it tries to mimic some Arduino functions but by far not every available function.
this library is usually not used directly.
implementation of Klangstrom API for running on the emulator. currently emulates KLST_PANDA and KLST_CATERPILLAR.
implementation of board-specific (BSP) functions of the Klangstrom API for KLST_PANDA and KLST_CATERPILLAR.
this library is usually not used directly.
low-level firmware files generated by STM32CubeMX with definitions found in the project configuration files ( .ioc ) in the klangstrom-hardware repository.
this library is usually not used directly.
USB device library for STM32H7 devices. in USB terminology a device is a peripheral that is connect to a host e.g a keyboard, mouse or audio interface.
USB host library for STM32H7 devices. in USB terminology a host allows devices to connect to it. this library implements a sub-set of Human-Interface Devices (HID):
- keyboard
- mouse
- MIDI