| Crates.io | triforce-lv2 |
| lib.rs | triforce-lv2 |
| version | 0.3.2 |
| created_at | 2025-01-26 09:17:01.862525+00 |
| updated_at | 2025-05-17 06:06:58.765016+00 |
| description | Minimum variance distortionless response beamformer for Apple mic arrays |
| homepage | |
| repository | https://github.com/chadmed/triforce |
| max_upload_size | |
| id | 1531198 |
| size | 49,879 |
Triforce implements a Minimum Variance Distortionless Response adaptive beamformer for the microphone array found in the following Apple Silicon laptops:
Triforce tries to keep dependencies to a minimum. On top of the crates specified in Cargo.lock, you will only require:
The Apple Silicon laptops mentioned above have an array of microphones arranged either in a triangle or in a straight line. Much like with the speakers, Apple are trying way too hard to be fancy here, and implement an adaptive beamformer in userspace to try and isolate the desired signal from background noise. Without beamforming, the array is far too sensitive and omnidirectional to be at all useful. Thus, to make it useful outside of macOS, we need a beamformer.
Finding accessible literature on any DSP-related topics, let alone something like wideband adaptive beamforming, is challenging to say the least. This is an attempt at a beamformer armed only with first year undergrad level engineering maths and some vague idea of the principles gleaned from various webpages and PDFs. Do not expect it to outperform Apple's implementation at this time. Patches to improve it are always welcome!