Een Distortion/Waveshaper plugin met SynthCraft, FAUST, etc.

De plugin met Csound is ook gelukt:

Code:
<Cabbage>
form caption("Distortion") size(200, 580), guiMode("queue") pluginId("def1")

rslider bounds(50,  20, 100, 100), channel("A+"), range(-5, 5, 0, 1, 0.01), text("A+") textColour(0, 0, 0, 255)
rslider bounds(50, 130, 100, 100), channel("L+"), range(0, 10, 5, 1, 0.01), text("L+") textColour(0, 0, 0, 255)
rslider bounds(50, 240, 100, 100), channel("A") , range(0, 10, 5, 1, 0.01), text("A")  textColour(0, 0, 0, 255)
rslider bounds(50, 350, 100, 100), channel("L-"), range(0, 10, 5, 1, 0.01), text("L-") textColour(0, 0, 0, 255)
rslider bounds(50, 460, 100, 100), channel("A-"), range(-5, 5, 0, 1, 0.01), text("A-") textColour(0, 0, 0, 255)
</Cabbage>


<CsoundSynthesizer>

<CsOptions>
-n -d
</CsOptions>


<CsInstruments>
 
ksmps = 32
nchnls = 2
0dbfs = 1


instr 1
kA_plus cabbageGetValue "A+"
kL_plus cabbageGetValue "L+"
kA      cabbageGetValue "A"
kL_min  cabbageGetValue "L-"
kA_min  cabbageGetValue "A-"

kA_plus port kA_plus, 0.1
kL_plus port kL_plus, 0.1
kA      port kA,      0.1
kL_min  port kL_min,  0.1
kA_min  port kA_min,  0.1
 

a1 inch 1
a2 inch 2
aNul = 0


aR_plus1 max ( a1 + (kL_plus - 5)) , aNul
aR_min1  max (-a1 + (kL_min  - 5)) , aNul
aR_plus2 max ( a2 + (kL_plus - 5)) , aNul
aR_min2  max (-a2 + (kL_min  - 5)) , aNul


aAmp1 = 2*(5-kA)*a1
aDist_plus1 = 2.5*kA_plus*aR_plus1
aDist_min1 = -1.4*kA_min *aR_min1

aAmp2 = 2*(5-kA)*a2
aDist_plus2 = 2.5*kA_plus*aR_plus2
aDist_min2 = -1.4*kA_min *aR_min2

aOut1 = aAmp1 + aDist_plus1 + aDist_min1
aOut2 = aAmp2 + aDist_plus2 + aDist_min2

aOut1 dcblock2 aOut1
aOut2 dcblock2 aOut2

aOut1 limit aOut1, -0.1, +0.1
aOut2 limit aOut2, -0.1, +0.1


outs aOut1, aOut2
endin

</CsInstruments>
<CsScore>
f0 z
i1 0 [60*60*24*7]
</CsScore>
</CsoundSynthesizer>

En verder de bijlage. Let op dat Csound/Cabbage plugins enkel werken als je ook Csound of Cabbage geïnstalleerd hebt!
 

Attachments

  • DistortWave.zip
    4,2 MB · Bekeken: 74
Ik probeer 'm nu in PD te maken. Ik weet nog niet of dit gaat werken, maar dit heb ik nu:

zoiets.png
 
Dit doet in elk geval al iets:

Screenshot.png
 

Attachments

  • DistWave.pd.zip
    2,7 KB · Bekeken: 65
Of die in Ableton werkt weet ik niet, dat heb ik niet. In Reaper heet die:

VST: testen32(x86)
 
Ik ga het vanavond nog eens proberen, maar ik dacht dat ik dat al eerder geprobeerd had en dat die 64-bit versie het niet deed. Overigens kun je Reaper gratis downloaden en uitproberen.
 
Ik kan 'm compileren, maar in Reaper wordt die niet herkend. Misschien wel in Ableton?
 

Attachments

  • 64bitversie.zip
    91,1 KB · Bekeken: 68
Mooi!

De Pure Data patch lijkt te doen wat die moet doen, behalve dat er nog een effect (met audio input en output) van gemaakt moet worden.
 
Bijgevoegde Pure Data patch lijkt in PlugData als audio effect te werken (uitgeprobeerd in Reaper onder Windows), maar er zal mogelijk nog wel een en ander aan de patch verbeterd kunnen worden.
 

Attachments

  • DistWave2.pd.zip
    2,7 KB · Bekeken: 73
Hmmm geen sucses

Jammer - maar helaas! Lang niet alle geëxporteerde plugins van Faust doen het ook, en die het wel doen werken weer niet in alle DAWs.

Ik heb er meer vertrouwen in dat het je met PlugData wel lukt. PlugData kan als Pd host in je DAW geopend worden, en vervolgens kun je Pure Data patches dan weer in PlugData openen.
 
Inmiddels heeft SynthCraft nu ook de optie om effect plugins te maken. Als test heb ik een uiterst eenvoudige (enkel "gain") CLAP plugin gemaakt. In Reaper werkt die, maar ik heb een extreme latency! Ligt dat aan mijn laptop? Wie wil helpen met testen?
 

Attachments

  • simpleeffect.zip
    1,1 MB · Bekeken: 73
Door het veranderen van de Reaper settings werkt de simpele CLAP plugin uit mijn vorige berichtje bij mij nu zonder al te veel latency.
 
Gelukt: een op de Doepfer Distortion/Waveshaper module geïnspireerde clap plugin:
 

Attachments

  • clapplug.zip
    1,1 MB · Bekeken: 66
Back
Top