crap/README.md

69 lines
2.6 KiB
Markdown
Raw Normal View History

2013-05-22 15:56:59 -07:00
# crap
connor's rancid audio plugins. LADSPA and VST.
2013-09-10 02:17:53 -07:00
this is a set of hacked-together hacks to be hacked on
in the personal interest of learning and experimenting.
MIT-licensed; go wild.
## plugs
2015-06-04 09:58:15 -07:00
Name | Label | ID | Description
--- | --- | --- | ---
crap Parametric Equalizer | crap\_eq | `0x000CAFED` | multiband parametric EQ. try redefining BANDS. #define BANDS to desired number of equalizer bands; default 4.
crap sample delay test | crap\_delay\_test | `0xDEDEDEDE` | why did i commit this?
2015-06-06 19:41:23 -07:00
crap Constant Equalizer | crap\_eq\_const | `0x0DEFACED` | simpler code than crap\_eq for a static response. edit code as needed.
2015-06-04 09:58:15 -07:00
crap T420 Speaker Compensation | crap\_eq\_const\_T420 | `0x0DEFAE91` | lenovo tests
2015-06-06 19:41:23 -07:00
crap T420 Speaker Compensation (SVF) | crap\_eq\_const\_T420\_svf | `0x0DEFB3CA` | trying out State Variable Filters (SVFs)
2015-06-04 09:58:15 -07:00
crap mugi4 (moog-like) | crap\_mugi4 | `0xD8D0D8D0` | nonlinear moog filter implementation: [see reference][moog]
crap Tube Distortion | crap\_tube | `0x50F7BA11` | static waveshaper with 6x oversampling and parameter smoothing. doesn't actually emulate a tube. not actually for crapping in.
2015-12-04 12:18:58 -08:00
crap Leveller | crap\_level | `0xAAAAAAAA` | an early prototype of a heavy leveller.
2013-12-22 16:23:57 -08:00
2015-06-04 09:58:15 -07:00
[moog]: https://aaltodoc.aalto.fi/bitstream/handle/123456789/14420/article6.pdf
2013-12-22 16:23:57 -08:00
## build notes
2015-12-10 07:25:23 -08:00
### dependencies
crap is now dependent on [the Eigen header library.][eigen]
for your convenience, a `get_eigen` bash script is provided.
this script simply downloads and extracts the Eigen header files
required to build crap.
[eigen]: http://eigen.tuxfamily.org/
2015-06-07 18:05:49 -07:00
### clang is strongly recommended
gcc can potentially produce significantly slower code,
and odds are that your version is horribly outdated anyway.
*Debian/Ubuntu users:* your stable version of g++ can't even build this.
just `apt-get install clang-3.6` and export `CXX=clang++-3.6` when building.
2015-12-05 00:32:51 -08:00
If you really have to use g++,
you may need to add `-fabi-version=6` to CXXFLAGS.
2015-06-07 18:05:49 -07:00
### general building
`make linux` or `make windows` (works well with [mxe])
[mxe]: //mxe.cc
2014-02-24 16:18:58 -08:00
`make linux-arm` requires a CPU with a NEON unit
remember to export `VST_SDK_DIR` to the path of your `vstsdk2.4/`
2013-11-17 22:55:09 -08:00
other targets:
* all: no hand-holding.
* design: simple CLI to the biquad coefficient calculator.
* benchmark: does what it says on the tin. no Windows support.
2013-11-17 22:55:09 -08:00
## TODO
2015-06-04 09:58:15 -07:00
* LV2 support
* automatically generate markdown table based on crap contents
2013-11-17 22:55:09 -08:00
* rename plugins (fix capitalization consistency and such)
2015-12-10 07:25:23 -08:00
* fix code style; particularily braces in method definitions and spaces in casts
2015-06-04 09:58:15 -07:00
* scrap overly-complex makefile for a shell script
* don't mix CamelCase with underscores (only done for legacy reasons)