Cabbage Logo
Back to Cabbage Site

Simple Arpeggiator

Hi Rory,

Since I started using Cabbage, I can now do a handstand completely unaided or without the use of a wall. But I can’t seem to incorporate your simple arpeggiator into my very first virtual synth or to get any sound from your MidArpSimpSynthual Healing.csd|attachment (5.7 KB) MidiArpSimple.csd (755 Bytes) … any thoughts? Thanks for the time…

If you just want something that arpeggiates on a single note then you can just add the arp code into your main instrument. For example, the following two examples will let users toggle an arp on/off.

One of the examples uses subinstr, which I find kind of buggy. Sometimes notes will hang. I don’t think it frees memory correctly, which has a negative effect for future calls.

The second one wraps the synth code into a UDO. I did this merely to save myself from copying and pasting code, although in this case it was quite minimal. For large instruments I think the UDO will make things easier to manage.

Let me know if you have any questions.
arpSubinstr.csd (1.6 KB) arpUDO.csd (1.9 KB)

Great Rory, thanks…

One more question for ya…

Is it possible to have a high pass and low pass filter in there as well?

Hi Rory,

I keep getting wrong syntax for </cs instruments> in line 163 when I try to add the arpUDO… I’m sure its something very simple? Thanks again for your time…Synthcorp.csd (7.5 KB)

That’s not going to work. You don’t have an endin for instrument 1. You need to go back and study the code I sent. There are good reason why I split everything up into three separate instruments. The code for your original synth should become a UDO. After that there isn’t much ore for you to do.

Synthcorp.csd (7.6 KB)

Thanks Rory,

Still no joy, created 4 instruments, I’m getting sound but no arpeggiator effect, or time and delay sliders…

That’s the key here. Don’t create four instruments. 3 is enough. But you need to convert the simple synth UDO so that it contains your original instrument. Instr 1, 1000, and 1001 from my example should remain the same. Only the UDO should change.

Hi Rory,

Thanks for your patience while I try to grasp this… How do I keep 3 instruments from the simple synth UDO and add my original instrument to that, is that not 4 instruments then?

Simp SynthHeal.csd (8.4 KB)

Hi Rory,

I’m I on the right track with this?

You need to replace the SimpleSynth UDO with your own UDO. So take the example I posted, remove the SimpleSynth UDO and replace it with your own UDO. This new UDO should feature the code for your synth :wink:

Hi Rory,

I had to park the UDO thing for awhile. I’m not grasping it at all…

Could you tell me where I’m going wrong with adding reverb to my synth that I’ve attached above…

Synthcorp.csd (13.9 KB)

This looks fine, but you never start instr 2, so there is never any reverb added to the output. UDOs can be tricky for beginners. So I took the liberty of modifying your example. When you figure out the reverb, please post the full example. It’s going to be a lot of fun when it’s done.

Synthual Healing.csd (6.4 KB)

Got It! So easy when you know how…

Sorry for all the messages Rory, thanks a lot

savage savage bacon and cabbage

1 Like

Synthcorp.csd (14.6 KB)

Hi Rory,

Do I need another piece of code to hook up the outs of my synth to the ins of reverbsc? Can’t seem to get them to work together… any info would be class, thanks…

Ps The synth sounds very glitchy, can this be fixed?


inch only grabs audio from an input device. If you want to grab the signal being generated by another instrument, send it from that instrument using a channel.

Synthcorp.csd (14.7 KB)

I see you’re using the Mixer opcodes. I’d avoid these if I were you. They seem like a good solution to certain things, but they fall short on functionality and will in many times need replacing. The chnget/chnset option is far more robust.

When you say glitchy, do you mean distorted? If so, you need to take down the main outputs on the UDO. Just multiply by numbers less than 1 until you get something that sounds good.