portedplugins
PortedPlugins
A collection of plugins for the SuperCollider sound environment, all of which are ported / remixed from elsewhere - including hardware synthesizers, research papers / demos, VST plugins, VCV rack and other programming environments.
Included plugins
See the PortedPlugins.schelp
help file for an overview inside of SuperCollider and the respective help files for each plugin for more information about the particularities of each plugin.
- AnalogBassDrum - Virtual analog 808 bass drum model. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- AnalogPhaserMod - The modulation section of a phaser based on/inspired by classic krautrock phasers. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogPhaser - Virtual analog feedback phaser based on/inspired by classic krautrock phasers. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogSnareDrum - Virtual analog 808 snare drum model. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- AnalogTape - Virtual analog tape model with variable oversampling and anti aliasing. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogVintageDistortion - A virtual analog vintage EQ and distortion by Jatin Chowdhury. Features oversampling. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogChew - Virtual analog tape model of tape chewing. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogLoss - Virtual analog tape model of loss emulation. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogDegrade - Virtual analog tape model of tape degradation. Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- AnalogFoldOsc - Buchla type of Oscillator with built in wavefolder circuit. Based on research by Fabián Esqueda, Henri Pöntynen, Vesa Välimäki and Julian D. Parker.
- BLOsc - Band limited oscillator. Original Author(s): Paul Batchelor, saw2 Faust by Julius Smith. Revisited by Ben Sergentanis for the DaisySP DSP library.
- Chen - Chen's chaotic double scroll attractor, based on code from Bryan Head's alternative Mutable Instruments firmware.
- DCompressor - Compressor from DaisySP DSP library, ported from faust originally by shensley andAvAars originally.
- HarmonicOsc - 16 voice harmonic oscillator. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- LPG - Virtual analog Buchla Lowpass-gate based on the work of Julian Parker and Stefano D'angelo.
- LockhartWavefolder - A virtual analog wavefolder with anti aliasing built in. Based on the work of Fabián Esqueda, Henri Pöntynen, Julian D. Parker and Stefan Bilbao.
- NeoFormant - Formant oscillator with aliasing-free phase reset. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- NeoVarSawOsc - Variable saw oscillator. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- NonlinearFilter - A filter with saturation in the feedback loop. Originally by Jatin Chowdhury.
- OscBank - A mixture of 7 sawtooth and square waveforms in the style of divide-down organs. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- PhasorModal - Ported from Jatin Chowdhury's ChowDSP-VCV-rack project.
- Resonator - A resonant body simulation (originally found in the Mutable Instruments Rings synthesizer module). Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- Rongs - A modal synthesis voice. This is a remix of the Mutable Instruments Rings algorithm allowing unrealistic sounds of sloppy gongs and 100km long strings. Original code by Èmilie Gillet / Mutable Instruments. See the overview helpfile PortedPlugins for more information which plugins are included.
- StringVoice - Extended Karplus-Strong. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- VadimFilter - Virtual analog low pass, high pass and band pass filters based on the ground breaking work of Vadim Zavalishin. Ported from folderkit
- VarShapeOsc - Variable Waveshape Oscillator. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- VosimOsc - Vosim oscillator (Two sinewaves multiplied by and sync'ed to a carrier). Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- ZOsc - Sinewave multiplied by and sync'ed to a carrier. Original code by Èmilie Gillet / Mutable Instruments. Revisited by Ben Sergentanis for the DaisySP DSP library.
- VAOnePoleFilter - Virtual analog onepole filter. Based on the work of Vadim Zavalishin and William Pirkle. Ported from the Odin2 project
- VADiodeFilter - Virtual analog diode filter. Based on the work of Vadim Zavalishin and William Pirkle. Ported from the Odin2 project
- VAKorg35 - Virtual analog Korg35 filter. Based on the work of Vadim Zavalishin and William Pirkle. Ported from the Odin2 project
- VALadder - Virtual analog ladder filter. Based on the work of Vadim Zavalishin and William Pirkle. Ported from the Odin2 project
- VASEM12 - Virtual analog SEM12 filter. Based on the work of Vadim Zavalishin and William Pirkle. Ported from the Odin2 project
Installation
Instructions for most systems:
1. Download one of the prebuilt releases. Choose the one that fits your operating system.
2. Unzip the contents in your extensions directory (If you don't know where this is, open up SuperCollider and evaluate Platform.userExtensionDir
- the path will be posted in the post window).
3. Recompile class library.
Building and installing from within SuperCollider
If you have Plugins.quark installed in your SuperCollider system, you can run the following line of code from SuperCollider. This will get the dependencies, build and install the plugins.
supercollider
Plugins.installPlugin("portedplugins")
Arch Linux:
yay -S supercollider-portedplugins
RaspberryPi OS / ALARM:
See the accompanying script for downloading, building and installing the plugins.
Building
Requirements
- CMake >= 3.5
- SuperCollider source code
Preparations for a build
Clone the project:
git clone https://github.com/madskjeldgaard/portedplugins
cd portedplugins
git submodule update --init --recursive
This will get you the portedplugins.
Before continuing, you need two things:
First, the SuperCollider source code :
bash
git clone https://github.com/supercollider/supercollider.git
Note where you placed this source code on your computer and copy the full path to it for use with CMake.
Secondly, you need the path to your SuperCollider extensions directory. This is where CMake will install the plugins.
You can get this by opening up SuperCollider and running this line of code
Platform.userExtensionDir
Note the path that it posts to your post window in SuperCollider, copy it and save it for the next part of the build process.
Actually Building
To build the plugins, run these commands. Note the two paths you need to put in to the CMake command, these are the ones you got from the preparatory steps above.
bash
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE='Release' -DSC_PATH=/path/to/sc/source -DCMAKE_INSTALL_PREFIX=/path/to/extensions
cmake --build . --config Release
cmake --build . --config Release --target install
Building for Raspberry Pi
This repository includes a script for the Raspberry Pi users (Raspberry Pi OS- / ALARM based) that installs the prerequisites for building (cmake), downloads all of the source code needed and compiles and installs it.
Building for Rosetta on the Mac M1
If you are compiling these plugins on a Mac M1, it will detect your architecture as arm and install an arm version of the plugins. Chances are you've installed the x86 version of SuperCollider and if so you will get architecture mismatches between the two.
To explicitly build for a Mac M1 running SuperCollider under the Rosetta compatibility layer, run these commands:
```bash
Location of SuperCollider source code
SC_LOCATION="/path/to/sc/source"
Force this architecture:
OSX_ARCH="x86_64"
Install here:
INSTALL_LOCATION="$HOME/Library/Application Support/SuperCollider/Extensions"
cmake .. -DCMAKE_BUILD_TYPE=Release -DSC_PATH="$SC_LOCATION" -DCMAKE_INSTALL_PREFIX="$INSTALL_LOCATION" -DCMAKE_OSX_ARCHITECTURES="$OSX_ARCH" cmake --build . --config Release cmake --build . --config Release --target install ```
Contributing
Contributions are welcome!
If you experience any problems, post it as an issue or if you have the skills to fix it yourself you may open up a PR with a suggested change.
If you see any problems in the documentation, feel free to do the same here (please submit a PR if you can - otherwise feel free to post an issue).
See CONTRIBUTING.md for more information on how to contribute.
Credits
Thank you to Notam for the support.
Most of these plugins build on code, research and ideas of others, including:
- Mutable Instruments / E. Pichenettes
- Julian Parker and Stefano D'angelo (LPG research)
- ElectroSmith's DaisySP DSP library
- Bryan Head (Chen attractor)
- Jatin Chowdhury
A massive thank you to them and everyone who contributed to the sub projects this relies on for sharing knowledge and ideas and making new sounds possible!
You can find more information about sources of information and code in the help files for the plugins.
26fa985d6987d642baefe461b25606396362cdd5
a150a6340949f884739f18db8d4cd61158ee8d12
dfd42991e50aacc30cdbefffed8900b8f5b6b83f
725edb1ec5e26dea62dc9f16fe33a91c2ecf0bed
27d0edb0230789f379f361feb58deecb04321813
b3b31887e1406ca23b026302381811747c45c4c0
057433c5721f0fc6aefacec8a43ba91ddffbb383
bcc6501ba5392010fbea512e3af173057a48c970
85940b3db74800015a40b7f0f2a745f2103113cb
fa9bd997b61db95e0e9b837d201e0b9c69478d26
512f6ac5148d9654f9428a49084f96ce11bb9bad
65b92dc474bd1b7c2ebd01d89199204a487332d6
c05ae18797d4c500c4dc4099af87702f488dbfd9
c05ae18797d4c500c4dc4099af87702f488dbfd9
afbb05dbfdd31be67f60c6180bee5225617bce91
2ca051dc4fd619aefbddf241dc2cb714d76140ff
2ca051dc4fd619aefbddf241dc2cb714d76140ff
2ca051dc4fd619aefbddf241dc2cb714d76140ff
5fea79a4de1836b16f4ce9f1822f978181554956
270ceab30dc14a1f09c0c31ddf669dd0ea8f2113
dcec4fb2bd32a0e335858cf1801631a322cb575f
ab23726bc70220aceebc5991370cb065a34afb1d
c9021828afba0d7be6e5073a67492830b5b69466
bc006ae4c3718df8ef7aa668bd1d2eb18f7db5b8
bc006ae4c3718df8ef7aa668bd1d2eb18f7db5b8
6f0301b5ced747fc3fd5fb4157f7d1d21d59dec1
bd69783f1b393e39d7e9ad26254f5b3075b7aa11
cda9b6d5832be29e2e10178f12ffb791f5549b71
10207bc7e93482cd2eb375b586a84bf905b72c2c
3e180633f51c6bc0182f5b322eef30d1d0eddd11
505f8ecfb0a013b6058d58068566b16e3fb3a982
2be6d7ea425a0137664f44294983a0aed8b20b3e
70665b61ed2b596dca1ba9e7aef32ffc5397cd07
4acb89f7b9d0867319acde72cb5c717b27075d5b
2b864b0da48a9133123f684e1665358ac44b0a61
435983bd6453db5baee4ece0af232e4ff9dea74e
6c2858d0d0d2ed420fc22c6655d8c7762b095b48
7c787b3c1fd6155c5b1859e85588928eede3f238
98a9d6eabf620dd2a28bc1540b8e530327af0b43
3b6208c89bd72d31760be843f1ef45731536c815
3b6208c89bd72d31760be843f1ef45731536c815
3b6208c89bd72d31760be843f1ef45731536c815
3b6208c89bd72d31760be843f1ef45731536c815
2aa6c2de76e99e41183cabef27d1439ea2e2c6b0
2aa6c2de76e99e41183cabef27d1439ea2e2c6b0
2aa6c2de76e99e41183cabef27d1439ea2e2c6b0
2aa6c2de76e99e41183cabef27d1439ea2e2c6b0
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
9b45284deb8fea9383d4ece12105ad71fe416b0b
0f819fe5aa42fae38ad6ee01c636724ad6cdfe17
641dc61d70539fdeb524556ca7fa62d5029523e1
641dc61d70539fdeb524556ca7fa62d5029523e1
641dc61d70539fdeb524556ca7fa62d5029523e1
641dc61d70539fdeb524556ca7fa62d5029523e1
bb6c1c45d7929f60ffffbd93aa661a8e14654c5f
c7eabb93f66ff70a2143fecbfa2732c189b1b77d
796568a4c111a9ad33c9618e07138eea275128f8
796568a4c111a9ad33c9618e07138eea275128f8
796568a4c111a9ad33c9618e07138eea275128f8
796568a4c111a9ad33c9618e07138eea275128f8
98d3b8239b2acac9f2f0a1f2910a396aee27e6d0
98d3b8239b2acac9f2f0a1f2910a396aee27e6d0
136e84527e75fcf2cb69fb448ce36fdf04158938
136e84527e75fcf2cb69fb448ce36fdf04158938
c44c6486498ddce6f3f58fb4fbdf6581e7b9da40
c44c6486498ddce6f3f58fb4fbdf6581e7b9da40
c44c6486498ddce6f3f58fb4fbdf6581e7b9da40
c44c6486498ddce6f3f58fb4fbdf6581e7b9da40
7a3fc7753981c24aaa1fb856ef31d87284d513aa
7a3fc7753981c24aaa1fb856ef31d87284d513aa
7a3fc7753981c24aaa1fb856ef31d87284d513aa
0c207b0a67637c8f48dfb33883077a5885a39af2
0c207b0a67637c8f48dfb33883077a5885a39af2
0c207b0a67637c8f48dfb33883077a5885a39af2
0c207b0a67637c8f48dfb33883077a5885a39af2
914c5792c38c24ee4957593eb7e78dca0c8eb702
0d52db2c200a975de777c93350ac8747d191ba14
0d52db2c200a975de777c93350ac8747d191ba14
210ce40cf55c885acb14e8f2bc91a9728a242a86
210ce40cf55c885acb14e8f2bc91a9728a242a86
a7f98ec595414ffaadf16804cf294e9194171038
a7f98ec595414ffaadf16804cf294e9194171038
a7f98ec595414ffaadf16804cf294e9194171038
9e712c760afe71ef8fac045086e3c69b675740c9
42a66ca0a3c36b1e6c4915acd14e9a0ad2f281e7
42a66ca0a3c36b1e6c4915acd14e9a0ad2f281e7
42a66ca0a3c36b1e6c4915acd14e9a0ad2f281e7
24b53d97611c0b6cf941ce0c01a026e6fe231a8d
b629ac7babb7ba00d410d21e8c9c777a2aa02973
b629ac7babb7ba00d410d21e8c9c777a2aa02973
b629ac7babb7ba00d410d21e8c9c777a2aa02973
b0784f60b8a36a325dcaa7cd2f022ae27fe45eb9
95893830d312aca86769002664585b3b3416c9f6
95893830d312aca86769002664585b3b3416c9f6
aabfdb683f0106c503e2b1a188738f1216e66f2c
dc3dba44afc94862e0d70d94aac25c4ae63afd61
ecf588fb5751208fce3ce33882919aae8cc33c98
2bd1ade3488540e159269f3ca122688d64e326b5
8ec9c97e88d20716f204e32ea4dd653a38640327
09201ffa55bfcf75a5cfa28e729d2706f1a7cf5b
15f1501aac9fbad3ff77498a146f190d6e67ed7d
3c986e53511cb90615744eaa62f0eb94dd6aff5b
c76dcd01ebfb906f5598552183e41f5be4a9b965
46bcca69fc062f99e5898b2cd9e37d768d181fce
796e0264de6e9971d134a35fbc8a5ccc5b1a0cbd
796e0264de6e9971d134a35fbc8a5ccc5b1a0cbd
414899e1d00cadc0639e8e200b27cee2d3ab815d
17ef4e7db1cb1c1844b2be372cdd00b443470e8c
2c5a6808087ec9fdd8b52decb282995048df2e58
22432730cab19e9ae6e342959da08dd5af4d496a
43bb2c11d2b4220d8eba1632d0ad413b162d3858
43bb2c11d2b4220d8eba1632d0ad413b162d3858
Repository
URL
https://github.com/madskjeldgaard/portedplugins
Since
2021-02-19
Last update
2024-05-22
Current version
v0.4.2