dsp/README.md

75 lines
2.2 KiB
Markdown
Raw Normal View History

2015-10-18 23:06:39 -07:00
# random dsp code
it's a bunch of half-baked python code that's kinda handy.
don't expect commits, docs, or comments to be any verbose.
2018-02-21 04:04:24 -08:00
feel free to modify and adapt the [autoupdate](autoupdate)
shell script for your own repos like this!
2015-10-18 23:06:39 -07:00
## the stuff
* a basic BS.1770-3 normalization implementation
— [bs.py](/lib/bs.py)
2018-02-21 04:04:24 -08:00
* biquad butterworth/chebyshev filters
[(via DSPFilters)][dspf]
2016-04-23 20:12:55 -07:00
— [nsf.py](/lib/nsf.py)
2015-10-18 23:06:39 -07:00
2018-02-21 04:04:24 -08:00
* modified bilinear transformation: s-plane to z-plane
2015-10-18 23:06:39 -07:00
— [planes.py](/lib/planes.py)
* various functions for biquad filters
2018-02-21 04:04:24 -08:00
— [bq.py](/lib/bq.py)
2015-10-18 23:06:39 -07:00
2018-02-21 04:04:24 -08:00
* some functions for state-variable filters
[(via Raph Levien)][svf]
2015-10-18 23:06:39 -07:00
— [svf.py](/lib/svf.py)
2018-02-21 04:04:24 -08:00
* sine sweeps, and the Optimized Aoshima's Time-Stretched Pulse
[(via here)][sweeps]
2015-10-18 23:06:39 -07:00
— [sweeps.py](/lib/sweeps.py)
2018-02-21 04:04:24 -08:00
* basic [cepstrum][cep] utilities like minimum-phase reconstruction
[(via Julius Smith)][jos3]
— [cepstrum.py](/lib/cepstrum.py)
* utilities for magnitude plotting, including tilting and smoothing
— [fft.py](/lib/fft.py) [smoothfft.py](/lib/smoothfft.py) [mag.py](/lib/mag.py)
* a couple hard-coded polyphase halfband IIRs for nonlinear-phase resampling
or approximating hilbert transforms
(read more: [Olli Niemitalo][olli])
— [piir.py](/lib/piir.py)
* a dozen windowing functions and utility functions for constructing them
— [windowing.py](/lib/windowing.py)
2015-10-18 23:06:39 -07:00
2018-02-21 04:04:24 -08:00
* ad-hoc experiments with psychoacoustic equalization
("neon pink" and other crap before i realized
"grey noise" was the term i was looking for)
— [data.py](/lib/data.py)
2015-10-18 23:06:39 -07:00
* miscellaneous matplotlib stuff
— [plot.py](/lib/plot.py)
* miscellaneous utility functions
— [util.py](/lib/util.py) [wav.py](/lib/wav.py)
2018-02-21 04:04:24 -08:00
[dspf]: //github.com/vinniefalco/DSPFilters/
[svf]: http://nbviewer.jupyter.org/github/google/music-synthesizer-for-android/blob/master/lab/Second%20order%20sections%20in%20matrix%20form.ipynb
2015-10-18 23:06:39 -07:00
[sweeps]: http://www.sound.sie.dendai.ac.jp/dsp/e-21.html
2018-02-21 04:04:24 -08:00
[cep]: //en.wikipedia.org/wiki/Cepstrum
[jos3]: //ccrma.stanford.edu/~jos/fp/
[olli]: http://yehar.com/blog/?p=368
2015-10-18 23:06:39 -07:00
2017-09-25 09:02:30 -07:00
all wrapped up in a inconveniently named "lib" module!
2015-10-18 23:06:39 -07:00
## dependencies
2017-09-25 09:02:30 -07:00
python 3.5+
2015-10-18 23:06:39 -07:00
numpy scipy sympy matplotlib ewave
usually run in an ipython environment.