Skip to content

Commit

Permalink
Add Korg 35 HPF plugin
Browse files Browse the repository at this point in the history
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
  • Loading branch information
SpotlightKid committed Jul 30, 2020
1 parent 0ca63d7 commit 0ed6c49
Show file tree
Hide file tree
Showing 9 changed files with 1,221 additions and 0 deletions.
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ libs:

plugins: libs
$(MAKE) all -C plugins/diodeladder
$(MAKE) all -C plugins/korg35hpf
$(MAKE) all -C plugins/korg35lpf
$(MAKE) all -C plugins/moogladder
$(MAKE) all -C plugins/mooghalfladder
Expand All @@ -43,6 +44,7 @@ endif

lv2lint:
$(MAKE) lv2lint -C plugins/diodeladder
$(MAKE) lv2lint -C plugins/korg35hpf
$(MAKE) lv2lint -C plugins/korg35lpf
$(MAKE) lv2lint -C plugins/moogladder
$(MAKE) lv2lint -C plugins/mooghalfladder
Expand All @@ -52,19 +54,22 @@ lv2lint:
clean:
$(MAKE) clean -C dpf/utils/lv2-ttl-generator
$(MAKE) clean -C plugins/diodeladder
$(MAKE) clean -C plugins/korg35hpf
$(MAKE) clean -C plugins/korg35lpf
$(MAKE) clean -C plugins/moogladder
$(MAKE) clean -C plugins/mooghalfladder
rm -rf bin build

install: all
$(MAKE) install -C plugins/diodeladder
$(MAKE) install -C plugins/korg35hpf
$(MAKE) install -C plugins/korg35lpf
$(MAKE) install -C plugins/moogladder
$(MAKE) install -C plugins/mooghalfladder

install-user: all
$(MAKE) install-user -C plugins/diodeladder
$(MAKE) install-user -C plugins/korg35hpf
$(MAKE) install-user -C plugins/korg35lpf
$(MAKE) install-user -C plugins/moogladder
$(MAKE) install-user -C plugins/mooghalfladder
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ packaged as multi-format plugins via the [DPF].
A diode ladder 24 dB lowpass filter


### Korg 35 HPF

A Korg 35 24 dB high pass filter as found in the MS-10 and early MS-20s


### Korg 35 LPF

A Korg 35 24 dB low pass filter as found in the MS-10 and early MS-20s
Expand Down
42 changes: 42 additions & 0 deletions faust/korg35hpf.dsp
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
declare name "Korg35HPF";
declare description "FAUST Korg 35 24 dB HPF";
declare author "Eric Tarr";
declare license "MIT-style STK-4.3 license";

import("stdfaust.lib");

//===================================Korg 35 Filters======================================
// The following filters are virtual analog models of the Korg 35 low-pass
// filter and high-pass filter found in the MS-10 and MS-20 synthesizers.
// The virtual analog models for the LPF and HPF are different, making these
// filters more interesting than simply tapping different states of the same
// circuit.
//
// These filters were implemented in Faust by Eric Tarr during the
// [2019 Embedded DSP With Faust Workshop](https://ccrma.stanford.edu/workshops/faust-embedded-19/).
//
// #### Filter history:
//
// <https://secretlifeofsynthesizers.com/the-korg-35-filter/>
//========================================================================================

//------------------`(ve.)korg35HPF`-----------------
// Virtual analog models of the Korg 35 high-pass filter found in the MS-10 and
// MS-20 synthesizers.
//
// #### Usage
//
// ```
// _ : korg35HPF(normFreq,Q) : _
// ```
//
// Where:
//
// * `normFreq`: normalized frequency (0-1)
// * `Q`: q
//---------------------------------------------------------------------

q = hslider("[1]Q[symbol: q][abbrev: q][style:knob]", 1.0, 0.5, 10.0, 0.01);
cutoff = hslider("[0]Cutoff frequency[symbol: cutoff][abbrev: cutoff][style:knob]", 0.0, 0.0, 1.0, 0.001):si.smoo;

process = _ : ve.korg35HPF(cutoff, q) <:_;
47 changes: 47 additions & 0 deletions plugins/korg35hpf/DistrhoPluginInfo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Korg 35 HPF audio effect based on DISTRHO Plugin Framework (DPF)
*
* SPDX-License-Identifier: MIT
*
* Copyright (C) 2020 Christopher Arndt <info@chrisarndt.de>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
*/

#ifndef DISTRHO_PLUGIN_INFO_H
#define DISTRHO_PLUGIN_INFO_H

#define DISTRHO_PLUGIN_BRAND "chrisarndt.de"
#define DISTRHO_PLUGIN_NAME "Korg 25 HPF"
#define DISTRHO_PLUGIN_URI "https://chrisarndt.de/plugins/faustfilters#korg35hpf"

#define DISTRHO_PLUGIN_HAS_UI 0
#define DISTRHO_UI_USE_NANOVG 0

#define DISTRHO_PLUGIN_IS_RT_SAFE 1
#define DISTRHO_PLUGIN_NUM_INPUTS 1
#define DISTRHO_PLUGIN_NUM_OUTPUTS 1
#define DISTRHO_PLUGIN_WANT_TIMEPOS 0
#define DISTRHO_PLUGIN_WANT_PROGRAMS 1
#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 0
#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 0

#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:LowpassPlugin"

#endif // DISTRHO_PLUGIN_INFO_H
Loading

0 comments on commit 0ed6c49

Please sign in to comment.