Godel 2 Synthesizer/Arpeggiator Released

Ernest's icon

Mac and PC versions are uploaded on http://www.yofiel.com. It has up to twice the performance of the betas, a streamlined UI, and a small addition: preset sequencer.

Two oscillators - Adjustable waveform shape - FM, sync, and FM feedback - Graphical pitch tracking, graphical FM tracking, and wave display

12/24-pole filter Graphical pitch tracking - Mixed poles, variable saturation, and variable drive

Two LFOs - Adjustable waveform shape, and frequency - Polyphonic spread by frequency or amplitude

Two ADSR envelopes - Attack velocity sensitivity - Graphical gate velocity sensitivity - Pitch slope modulation - Single, multiple, and repeat modes

Modulation matrix - Six assignable polyphonic modulations with individual level control for each matrix selection - 21 sources = 37 destinations

Stereo effects - Phaser/flanger - High-quality chorus - Ping-pong tempo delay - Efficient reverb - Custom fast-response limiter

Keyboard - Direct, stored note, and pitch transposition modes - Multicolor display - Notes may be stored in the preset and recalled in the same order played

MIDI input - Note on/off, program change, mod wheel, pitch bend, volume, all notes off, all sounds off, and MTC start/96-clock/stop signals

Arpeggiator - Sequences notes in the order played, with adjustable rate
- The arpeggio may either adjust to the number of notes on, or with fixed note count, allowing new notes to substitute into the arpeggio - Hold mode allows including multiple notes with the same pitch in the arpeggio - Notes are stored in the sequence played - Notes are fully polyphonic with adjustable duration (notes may overlap) - Keyboard input in direct mode may play along with the arpeggio - Adjustable rate, syncs with external clock

Chord generator - May add chord notes to directly played notes or arpeggiated notes - Adjustable velocity response and duration for each note in the chord adds realism - Pitch remapping to different keys with sophisticated note cache system to track note-off events even when remapping is changed while a note is on, for either direct notes, stored notes, or both - Arpeggiated chords may have variable and intervals and patterns

Custom voice allocator - Optimally assigns notes for best quality when CPU resources are low, with complex note age adjustment both for note on and note-off events

Presets and preset bank management - Loading and saving of external preset files - Single-click recall, save, and delete of 128 programs - Last session state restored when starting a new session - Text comments stored with each preset

Max 6 Implementation - User interface almost completely built in Max 6 objects - Audio completely implemented in Max 6 gen~

godel2c.png
png
Ruslan's icon

It looks nice! Why not to implement this synthesizer in Max for Live also, for users to experience a gen~ sound quality inside Ableton?

Ernest's icon

HI Ruslan, yes I do plan to add that too for PC users before the end of the weekend, but for Mac it's better to use Soundflower, because Live! does not support different IO vector sizes, and does not support the 'parallel' attribute on poly~.

Ruslan's icon

That is great, I'm on PC. Will try it for sure. There are not enough quality max for live synth on the market. And perhaps using gen~ will definately make it!

Ernest's icon

Thank you for your interest, please see the following page:

I really dont know very much about Live. I was a Cakewalk customer since DOS version 1, and have some knowledge of Cubase, So I tried to make the Live! version helpful, but I can only know it works on my own machine quite well now. Please let me know how it is for you, and if it is good I will publicize it more.

Mike S's icon

Hey Ernest, I checked out this application the other day and found the same problems that EthnoTekh Chris' application had. Updating the graphics on my machine completely uses up the CPU and to the point where the graphics grind to a halt and the audio crackles. I removed the objects that were updating (kslider/buttons/multislider) and it went to around 40%. This is a problem generally when running Max apps on a Mac. It might not seem like a problem at all on Windows.

My machine is a late 08 MBP with 2.6gHz dual core processor, and 4gb Ram. I do OK running big projects in Live and the applications I build run at around 40% CPU and have a lot of processes going on.

Ernest's icon

Thanks for the feedback, Mike. Actually my Mac machine has the same power as yours, and for most stuff its actually pretty good compared to older Macs isn't it? I just bought it before they discontinued the 2.6gh du--for a mere $600, and mostly I like it.

But I too had some performance problems when I first tried it compared to Windows on a 3ghz i7, which is my other host.

So there's a number of things in the new MacOs and windows binaries which are significantly faster. Typical cpu load for 16 voices is down from 65% to 35%.

The new versions dont require interrupt-mode drivers and work in standalon emode without clicking between 64 and 256 IOVs. There's about a month of trying several hundred different optimizations to find exactly which ones actually made it run faster, because quite alot of standard things one does to optimize code actually made it slower.

The other thing is, if you go to the settings tab and reduce the maximum number of voices, it can run without a slow ui in almost any situation with say 6-8 voices.

I am not ready to circulate a maxpat for them, as I am still refining some of it, but the binaries are available for download. And beyond that, the simplest way to reduce CPU load is to delete the modulation matrix inside gen~. Because continuously varying signals can't be reduced in data rate inside gen~, the LFOs and envelopes cause every single one of 37 different oscillator, filter and evnvelope parameters to be recalculated every clock cycle. this effectively triples the CPU load during normal polyphony, and it makes alot more difference than the UI does to overall usability. Also the audio effects cant be turned off without max complaining about the processing chain containing multiple poly~ objects.

So I plan a future version called 'Epicurus' which wont contain the effects and modulation matrix which will have about a third the CPU load of Godel. But I dont know yet how many other people would prefer that, and I dont have time to maintain both before the end of the year.

Let's hope some other folks are kind enough to provide some more feedbaxck.

Ruslan's icon

Hi ERNEST, got 403 error reaching your page and site. Can you provide me with access to the max for live device or send me it privately?

I think there is no problem building M4L devices with gen~ the reason is that with conventional Max objects most of the times there are problems updating a device file while updating the Cycling '74 software. And gen is a lower level solution.

Do you mind writing code in codebox instead of objects?

Ernest's icon

Unfortunateley, due to some horrendous and disgusting cyberattacks by Russian pornography sites, I had to disable access in Russia entirely. Also I had to block China, Afghanistan, and Turkey. My current host protection does not support permission for specific IP addresses in those countries, and the upgrade to do that is very expensive.

After I got used to it, I kind of liked Codebox. I learned to keep an eye on the code it makes in the code window, and to be very careful with using params as resulting values can be recalculated at IOV frequency in codebox, but not when using objects. So now there is a kind of strange mix of objects and code.