Skip to content

mryndzionek/dsp_experiments

Repository files navigation

dsp_experiments

Placeholder repo for DSP, SDR and ML experiments in C.

Concurrency handled via libdill's channels in conjunction with libwebsocket's ring buffer.

Main dependencies

For more details regarding dependencies and build process look at GitHub workflow file.

Applications

wbfm_demod

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.

flex_tx

Transmitting a flexframe via computer speaker.

flex_rx

Receiving a flexframe via computer microphone.

wav2mel

Turns 16kHz sampled 1s wave files into a Mel scale spectrogram in a form of a PNG.

keywords

Recognizes 17 keywords spoken into a microphone. Some details regarding model training here.

lpc_decoder

Decoded sound from LPC (Linear predictive coding) coefficients

Usage:

./lpc_decoder | play -t raw -b 16 -e signed -c 1 -v 1 -r 11000 -

TODO

  • eliminate temporary buffer on stack in link_run
  • add more processing blocks

About

Different DSP and ML applications, mostly in C and a minimalistic dataflow framework based on libdill

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published