Placeholder repo for DSP, SDR and ML experiments in C.
Concurrency handled via libdill's channels in conjunction with libwebsocket's ring buffer.
For more details regarding dependencies and build process look at GitHub workflow file.
Simple wide band FM radio with mono and stereo demodulation.
Expects a file stations.txt
with station frequencies.
If the file does not exist, it will perform a scan and create one.
Transmitting a flexframe via computer speaker.
Receiving a flexframe via computer microphone.
Turns 16kHz sampled 1s wave files into a Mel scale spectrogram in a form of a PNG.
Recognizes 17 keywords spoken into a microphone. Some details regarding model training here.
Decoded sound from LPC (Linear predictive coding) coefficients
Usage:
./lpc_decoder | play -t raw -b 16 -e signed -c 1 -v 1 -r 11000 -
- eliminate temporary buffer on stack in
link_run
- add more processing blocks