DD4WH
Well-known member
The SongBeam is a new add-on board for the Teensy 4.1 and has been developed at the Royal Holloway University of London:
www.cuco.group
It is open source and can be purchased at LabMaker: https://www.labmaker.org/collections/earth-and-ecology/products/songbeam
It is meant as a four-channel recorder and the beamforming is intended to be done from the recordings on your PC.
I tried to develop code for realtime beamforming on the Teensy 4.1 with delay-and-sum beamforming and it kind of works. Code can be found here:
github.com
The beamforming effect is not really impressive, and I suspect it is my coding that is the cause. I can easily hear an effect when I turn the PCB with the mics around.
My question would be whether anyone has an idea how to improve the beamforming effect.
I already did the following (with the help of perplexity.ai, but also using github repositories from you Teensy forum users
):
* Bandpass FIR filter the audio from the 4 mics (surely helpful, because the beamforming is only effective from about 2kHz to 8kHz)
* normalize the Audio from the 4 mics (not so sure, whether this is effective/correct)
* precalculate the FIR coeffs for a FIR fractional delay filter with 5x oversampling (I am a novice in this topic, so maybe there is possibility of optimization here)
* apply the FIR filter in the frequency domain (standard Fast FFT convolution filtering)
* sum up the four outputs for delay-and-sum beamforming output
Maybe you have ideas where I could best try to optimize in order to get a more pronounced effect of the beamforming. However, I am a novice in beamforming, so maybe I overrate the effect I can get from this small minimal array with four mics in a row with distances of 45mm, 30mm and 45mm.
CuCo group - SongBeam
It is open source and can be purchased at LabMaker: https://www.labmaker.org/collections/earth-and-ecology/products/songbeam
It is meant as a four-channel recorder and the beamforming is intended to be done from the recordings on your PC.
I tried to develop code for realtime beamforming on the Teensy 4.1 with delay-and-sum beamforming and it kind of works. Code can be found here:
SongBeam/code/0_SongBeam256.ino at main · DD4WH/SongBeam
Songrecorder using beamforming technology. Contribute to DD4WH/SongBeam development by creating an account on GitHub.
The beamforming effect is not really impressive, and I suspect it is my coding that is the cause. I can easily hear an effect when I turn the PCB with the mics around.
My question would be whether anyone has an idea how to improve the beamforming effect.
I already did the following (with the help of perplexity.ai, but also using github repositories from you Teensy forum users
* Bandpass FIR filter the audio from the 4 mics (surely helpful, because the beamforming is only effective from about 2kHz to 8kHz)
* normalize the Audio from the 4 mics (not so sure, whether this is effective/correct)
* precalculate the FIR coeffs for a FIR fractional delay filter with 5x oversampling (I am a novice in this topic, so maybe there is possibility of optimization here)
* apply the FIR filter in the frequency domain (standard Fast FFT convolution filtering)
* sum up the four outputs for delay-and-sum beamforming output
Maybe you have ideas where I could best try to optimize in order to get a more pronounced effect of the beamforming. However, I am a novice in beamforming, so maybe I overrate the effect I can get from this small minimal array with four mics in a row with distances of 45mm, 30mm and 45mm.