Aquarius - Polyphonic Synth


#1

So I always wanted a poly synth for the organelle, that has a simple UI to suit the Organelle’s interface while still being powerful enough to do what a decent poly synth can do. Well this patch tries to have it both ways.

My goal was fast access to all controls and making them simple. I never liked multi-page menus so I opted for a 2 page interface, where you access the second page by pressing and holding down the aux-button (no more waking up knobs).
The synth has 2 osc with 3 waveshapes each (saw, square, triangle), pwm, 6 AmpEG & 5 FilterEG settings to chose from & 3 types of chorus.

Sadly, I’m pushing the cpu pretty hard, but i was hoping to keep 5 voice polyphony. Should you have performance issues please do comment. (The problem is the bl-sawtooth, as it is super cpu hungry. So if someone was a better sawtooth-patch i’d be really grateful.)

link: https://patchstorage.com/aquarius/


#2

it’s marvelous stuff!


#3

Thanks for sharing this patch! The interface is great, keeps it really fun and interesting. nice work!


#4

Just fixed the Filter and Amp EG (ADSR) so that it always retriggers at 0 and added 2 phaser effects. Thanks for bearing with me… :slight_smile:

link: https://patchstorage.com/aquarius/


#5

Froze my Organelle at 100% CPU :frowning:

Cheers,
Lukasz


#6

Damn… I was really hoping to get away with 5 voices. :frowning: Strangely, I haven’t had any issues so far…


#7

I know. I wasn’t expecting it to freeze on a single patch… :frowning:

Cheers,
Lukasz


#8

Well, a polyphonic synth patch that uses the bob~ filter is heavy lifting for the single core processor the Organelle is sporting. Anyhow, I just updated the patch and implemented a different sawtooth subpatch, and in my tests I was able to keep the cpu under 90% (bear in mind I haven’t hooked up the Organelle to any screen or use the wifi on it; just saying as these things may use some cpu power as well). Would be cool if you could give it a try and see if it runs better…

AIso added presets to choose from with the encoder…


#9

imho - that might be pushing it a bit - Id think you might start getting audio dropouts at that load, Id aim for a bit lower 70-75? you could also increase the audio buffer size, it might help if you’re getting peaks in load.

an issue with running at really high cpu loads (for sustained periods) is that you’ll heat up the core, and at some point even the cpu will drop its speed to reduce the core temperature - this might also lead to inconsistent ‘results’ when you test.

I think i discuss (and how to measure?) this on my hacking thread on the 4 core, but its relevant to single core too.


#10

Hi mark, thanks for dropping by and sharing your input. I did see that on following thread (Heavy CPU load and Cooling : no issues :)) you did address cpu load. I having a hard time getting the load down. Having bob~filter and bl-oscs is super demanding for the cpu.

Anyhow, superficially speaking (use-test) I’ve been having no problems (with the newest version) and been running it for some time now, yet this may be not a very significant testing method. As far I understand your remarks in the above thread, I shouldn’t be harming the device if i let sit for a few hours to see what happens. Right?

Concerning peaks: the patch is pretty consistently pushing 82-89%, depending on which subpatches are currently switched on, so i guess buffer size won’t make a real difference? Any other ideas, how to get the load down? (Outside the obvious, like less voices and other filter). Thanks for the advice and feedback! :smiley:


#11

Just included a 4 voice version on patch-storage (which runs at about 72-77 % cpu). It’s same link but with two patches in the zip file…


#12

Have you tried the ‘moog~’ filter external? It is way more efficient than bob~ in my testing, but I haven’t done a side by side comparison of the sound.
moog~.zip (9.5 KB)


#13

Funny you should ask :joy:: Moog~ filter object

As i prepare my patches on my mac, i would need a moog~.pd_darwin version of the file. Which I can’t make, as the makefile from the only download i could find returned an error. You don’t have that file lying around by any chance? :slight_smile:


#14

I think it should be fine, though I think Id monitor the temperatures - I didn’t dare test to breaking point.

the issue is the Organelle is passively cooled, and doesn’t even a heatsink - so it cannot reduce its temperature that quickly. (though extreme temps seem to drop pretty fast :wink: )

It’ll help a bit, as there is an overhead in each render of audio, and even minor peaks might be smoothed out a bit. (bare mind reporting in ps/top is really averaging)

apart from increasing buffer sizes or reducing sample rate,
yeah your down to “better code” , or more efficient algos, or changing functionality
e.g. moving something from ‘voice level’ to top level)
(sorry not looked at the patch so cannot be specific)

one thing that might be possible is to turn off processing for parts of a patch which are not always used. (e.g. if your not using the saw don’t generate it) - C&G 13FX does this, by disabling the FXs that are not currently in use.

(Orac does it by dynamically loading/unloading modules, but thats not that easy to control with using C++/externals, as its a fair bit of code)


#15

whats the error from the makefile?

makefiles that are cross-platform for PD externals are reasonably easy to create, you could use pdlibmakefie (?)

or you could hack the one I use for Mutable Instruments, its in my MI4PD project on GitHub
But this uses CMake, which might be something you’re not familiar with?


#16

It seems as if it’s looking for a numerous files that are part of microsoft visual studio and returning about 40 errors as it can’t find them naturally… I will look into making my own. Thanks for the help!


#17

Thanks for all the input.:smiley: I’ll keep 4 voice version up on patchstorage, which the Organelle can easily handle and see if I can reduce overall cpu load with your suggestions and make a 5 voice version that doesn’t test the limits.


#18

might be its not ‘prepared’ for mac, just windows.

I used to use this:

basically all you need to do is then list the source files in the makefile, very easy to use…

(I only moved to using cmake as I use it for all my other development work(


#19

I don’t have one, you could try using this one that came up on google though:
http://mlab.taik.fi/~korayt/kuva/Pd-0.38.4-extended-RC7.app/Contents/Resources/extra/