Cabbage Logo
Back to Cabbage Site

Signal flow

so. i have created 287 vst plugins earlier. i cannot find out how to do a loop back. for example in guitsr am sims, you take a line from the poewrramp and loop it back to the gain section. to creat what is known as a presence knob. how can that be done… i guess basically i need more control of the signal flow. from one section to the next… how is that done.? thank you

Sounds like you want to create some kind of feedback loop? Have you read through the following. For feedback, you basically take the last sample being output and pass back into the instrument. For example:

instr 1
    iGain init .99
    a1 init 1
    aex = rand(expon:a(1, .1, 0.01))
    a1 delay (aex+a1)*iGain, (1/random:i(100, 1000))
    outs a1, a1
endin

In this case a1 delay (aex+a1)*iGain, (1/random:i(100, 1000)) is key. It takes the last value that was passed to a1, and sends it back into the delay line. The random stuff might seem a little cryptic, but it just tunes the delay line.

Note that the minimum delay you can avail of is ksmps. So if you need a single sample feedback loop you will need to set ksmps to 1.

essentially thats what it is. but just to go into a bit of detail, here that’s essentially what it o is, but but unlike a typical use, like in a delay, or other uses of such loops what this does is add a comb type filter effect because there is a sampledelay added and then the real time signal is combined with it. there is a control added that determines how many samples its delayed by. and then a MIX ( knob added which determines how loud the effect is. the mix can be applied to the delayed signal or the, or the mixed signal. i suppose it could be placed on the dry non delayed signal if thats a tonal or operational referencence… anyways thata what i want to do for a start. i also need to know how to send the signal to different places throughout in other words i need to alter where the signal goes to. these are the basics of amp simulation, and i’m trying to determin if csound can get this to happen. if so, then all our new plugins may be developed in it. there is a lot of positives i see in it. but my knowledge of it is so rudimentary i have not been able top determine if its for me yet. amazing piece of work. csound. thank you to anyone that has a response :slight_smile:

i am missing something. the delay is in samples i assume. so that instead of being random, could obtain it value from a knob? i gain could as well, and then applied to whatever the delayed line is ?? really likin this so far…

The delay opcode uses seconds. You can do something like:

iDelayInSample = 10
iDelayTime = 10/sr

aSig delay aIn, iDelayTime ...

I would actually just use the vdelay opcode, which will let you vary the delay size over time. Or you could also use the deltapr/w opcodes too. delay is a bit limited in its use.

Easily done. Here is an instrument to implements a basic home grown comb filter, but it also shows how you can send a signal from one instrument and pick it up in another.

homeComb.csd (1.1 KB)

There are many ways of doing this in Csound. I tend to use named channels as I find it makes my code easier to read. You could also use global variables.

THANK YOU RORY. YOU’VE BEEN AWESOME IN YOUR SUPPORT. HOWEVER, I’M JUST NOT GETTING ANYWHERE WITH THIS. I GOT CABBAGE TO RUN , IT WAS NOT FINDING CSOUND64.DLL. so i went and installed csound by itself. that seemed to solve the problem. but now its telling me to go to setup the sound is there a document somewhere that explains the cabbage interface. it seems that the links on the website are broken. most notably the first synth link. i need a grass roots document. sorry to be such a pita, but i really want to give this a serious go. also please note that i may use capitals in some of my posts. i had a stroke that affects my vision, and sometimes capitals aid me in seeing what i write. so please excuse the bad etiquate. i’m not trying to be rude or dramatic. i just need a little more help and i’m sure i’ll get it

https://cabbageaudio.com/docs/beginner_synth/

This link works fine for me? You can also check out the video tutorials. They cover quite a bit of content…