https://github.com/daddesign-projects/asynchronous-spdif-mixer
"Asynchronous SPDIF Mixer" synchronizes and mixes up to three asynchronous S/PDIF streams into a 48 kHz output. Running on an STM32H743 and developed in C++ with CubeIDE, it compensates for drift with interpolation. A custom KiCad-designed PCB hosts this real-time audio processing solution.
https://github.com/daddesign-projects/asynchronous-spdif-mixer
asynchronous cpp mixer pcb spdif stm32 stm32h7
Last synced: about 1 year ago
JSON representation
"Asynchronous SPDIF Mixer" synchronizes and mixes up to three asynchronous S/PDIF streams into a 48 kHz output. Running on an STM32H743 and developed in C++ with CubeIDE, it compensates for drift with interpolation. A custom KiCad-designed PCB hosts this real-time audio processing solution.
- Host: GitHub
- URL: https://github.com/daddesign-projects/asynchronous-spdif-mixer
- Owner: DADDesign-Projects
- License: mit
- Created: 2024-09-27T07:26:45.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-05T09:07:41.000Z (over 1 year ago)
- Last Synced: 2025-02-05T10:22:21.299Z (over 1 year ago)
- Topics: asynchronous, cpp, mixer, pcb, spdif, stm32, stm32h7
- Language: C
- Homepage:
- Size: 2.21 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Asynchronous S/PDIF Mixer
"Asynchronous SPDIF Mixer" is a hardware and software project designed to synchronize and mix up to three asynchronous S/PDIF streams into a single output stream at 48 kHz. The system compensates for drift and uses interpolation to ensure smooth audio transitions. The software, developed in C++ with CubeIDE, is optimized for real-time audio processing and runs on an STM32H743 microcontroller. A custom electronic board, designed with KiCad, has been developed to host this solution and provide a tailored hardware platform.
 
## Author
This project is developed by **DAD Design**.
## License
This project is licensed under the [MIT License](LICENSE).
## Evolutions
Recent updates to the project include:
- **Addition of a third input**: Support for an additional audio stream has been integrated.
- **Development of a dedicated PCB**: A printed circuit board (PCB) has been designed to host the software.
## Features
- **Synchronization of Asynchronous S/PDIF Streams:**
The project synchronizes three input audio streams, each potentially running at different sample rates (96kHz, 48kHz, 44.1kHz, 32kHz), into a unified output stream at 48kHz.
- **Clock Drift Compensation:**
Drift between the input streams is handled through periodic drift factor recalculation, ensuring the output remains smooth and synchronized.
## Hardware Platform
The `KiCAD` folder contains the schematics and PCB files for the project's hardware. These files were created using **KiCAD version 8.0**.
## Development Environment
The project is developed and compiled using the **CubeIDE** environment provided by STMicroelectronics. CubeIDE is a fully integrated development environment (IDE) that supports STM32 microcontrollers and provides tools for debugging, flashing, and developing embedded systems.