Attention
This is the documentation stub to the upcoming TBD V2 release.
It is incomplete and subject to future changes.
OverviewΒΆ
TBD is a highly flexible system organised in components, that allows adding features, adapting the firmware to different hardware and use cases and contributing to the project in all kinds of ways. Depending on your interests there are different aspects of the system of interest, requiring different skill levels
- Hardware Developers [basic]
Understanding an editing firmware config YAML files to configure pinouts and add/swap components matching the hardware. Adding ESPHome actions to add custom business logic and make components interact.
TODO: add link to section
- Custom Frontend Developers [basic]
Writing your own arduino app for Raspberry Pi 2xxx based TBD control boards using the tbd_client library to communicate with the TBD core audio processing unit. Can be utilized to use custom front panels or custom high level applications like samplers.
- Audio Enthusiast [basic]
Writing sound processing functions for custom audio plugins to add your own sound plugins. Mathematically generate output samples from plugin parameters and input audio samples.
TODO: add link to section
- Module Developers [medium]
Create custom TBD and esphome components of any kind in C++ to add completely new features or add support for unsupported hardware or extend certain functionality.
TODO: add link to section
- Subsystem Developers [expert]
Create componentes that provide features for other componentes, providing python helpers, utilizing the power of the build and generation system and the build stage mechanics.
TODO: add link to section
- Build System Developers [advanced expert]
Add features to the build generators and reflection processors themselves (requires deeper understanding of the build system itself).
TODO: add link to section