Trance Gate

Until our dedicated user library is in place you can post examples and modules here

Moderators: electrogear, exonerate

Re: Trance Gate

Postby trogluddite on Fri Oct 15, 2010 10:56 am

Mo wrote:another way to do it?

Yes, that can be done quite easily (as long as you are using code), by using stages. The trick is to read the subtraction value during stage(0). A stage(0) section of code only runs once, whenever a new note is initialised - though it does behave strangely sometimes with stolen notes, so make sure you have enough voices to avoid stealing.
If you don't specify stages in the code, then it will automatically default to stage(1), which always processes every single sample. You can put as much or as little code as you like inside the curly brackets - but you always need the brackets for the syntax to be correct.

Something like this...
Code: Select all
streamin PPQin;
streamout PPQout;

float SubValue;

stage(0)  //Initialise Values
{
  SubValue=PPQin;
}

stage(1)  //Every Sample
{
  PPQout=PPQin-SubValue;
}
Feel free to use any schematics and algorithms I post on the forum in your own designs - a credit is appreciated (but not a requirement).
Don't stagnate, mutate to create. Without randomness and serendipity the earth would be just another barren rock.
User avatar
trogluddite
smychopath
 
Posts: 3032
Joined: Mon Oct 20, 2008 3:52 pm
Location: Yorkshire, UK

Re: Trance Gate

Postby Mo on Fri Oct 15, 2010 5:52 pm

Thanks trog,

Anyway i realized using VST PPQ of course only works when host is running. What i want is a poly sync sequence when i press a note, also when host is stopped. That makes me left with a counting/reset method. Good is it seems to work fine so far and is precise (is following VST PPQ 100% in host!), i only need to fix that tempo shift won't make it go out of sync again and triole resetting. This would work as precise ramp for standalone timing too. -Cheers!
User avatar
Mo
essemilian
 
Posts: 439
Joined: Thu Jan 24, 2008 2:00 pm
Location: Copenhagen

Re: Trance Gate

Postby trogluddite on Fri Oct 15, 2010 6:24 pm

Hmm, that's given me an idea - PPQ only being active on playback annoys me too, but my project is a little different because I do want sync to always be on note transitions. Using the VST 'Is Playing' primitive, it will be easy to switch between the PPQ and built in timer on the fly - with the free run counter automatically taking over from PPQ when the host is stopped, you'd get the best of both kinds of behaviour. When playback starts again, you could lock the timer duration to PPQ again, and carry on without a glitch - which should solve any problems with tempo changes.
I'll have a little experiment tomorrow - I'm having a little break from synths/sequencers tonight, off to watch some French guys (Ed Wood Jr)thrash their guitars.
Feel free to use any schematics and algorithms I post on the forum in your own designs - a credit is appreciated (but not a requirement).
Don't stagnate, mutate to create. Without randomness and serendipity the earth would be just another barren rock.
User avatar
trogluddite
smychopath
 
Posts: 3032
Joined: Mon Oct 20, 2008 3:52 pm
Location: Yorkshire, UK

Re: Trance Gate

Postby Mo on Sat Oct 16, 2010 9:58 pm

Ok, i have now fixed the timing and it's works for perfect sync when host not running, but using it when host is running is still not great when changing tempo or skipping in the song. Therefore using the PPQ on the fly is a good idea, but with your code i getting nothing in stage0 in poly. Is stage0 right? I tested with a readout of the subValue and it stays at 0 in host.
User avatar
Mo
essemilian
 
Posts: 439
Joined: Thu Jan 24, 2008 2:00 pm
Location: Copenhagen

Re: Trance Gate

Postby trogluddite on Sat Oct 16, 2010 10:46 pm

Sussed it- something I should have remembered, oops. :blush:
The PPQ module runs in stage(1), so it doesn't return a value if it's read during stage(0).
The easiest way around this is to use the Trigger output from the MIDI to Poly to sample the PPQ value - it sends a boolean 'True' on the first sample of a voice.

Code: Select all
streamin PPQin;
streamboolin Trig; //trigger from M2P
streamout PPQout;

float SubValue;

//Just using stage 1
SubValue=SubValue+(PPQin-SubValue)&Trig; //Sample and Hold
PPQout=PPQin-SubValue;

Tested this on an export and it works much better!
Feel free to use any schematics and algorithms I post on the forum in your own designs - a credit is appreciated (but not a requirement).
Don't stagnate, mutate to create. Without randomness and serendipity the earth would be just another barren rock.
User avatar
trogluddite
smychopath
 
Posts: 3032
Joined: Mon Oct 20, 2008 3:52 pm
Location: Yorkshire, UK

Re: Trance Gate

Postby Mo on Sat Oct 16, 2010 11:59 pm

This seems really to work very well! I use the TriggerToGate module as in example synth to trigger or can i just use the gate output from V to P module? Need to do some optimization and i can finally finish my SM timing project here. Thanks again trog!
User avatar
Mo
essemilian
 
Posts: 439
Joined: Thu Jan 24, 2008 2:00 pm
Location: Copenhagen

Re: Trance Gate

Postby trogluddite on Sun Oct 17, 2010 12:37 am

You'll need to use the Trigger to Gate one (confusing name, surely should be 'Counter to Trigger' !) - that one always gives a pulse that is only one sample. The VtoP gate output stays on for the whole of the note, so the SubValue would keep getting updated contantly using that.
Looking forward to seeing the finished article...
Feel free to use any schematics and algorithms I post on the forum in your own designs - a credit is appreciated (but not a requirement).
Don't stagnate, mutate to create. Without randomness and serendipity the earth would be just another barren rock.
User avatar
trogluddite
smychopath
 
Posts: 3032
Joined: Mon Oct 20, 2008 3:52 pm
Location: Yorkshire, UK

Re: Trance Gate

Postby loopeytunes on Fri May 04, 2012 9:45 pm

It's been along time since i saw this project and was wondering if there is anyone willing to try and take down the cpu on this and reposting the osm? I do have a gift in return????

Loopey
User avatar
loopeytunes
essemilian
 
Posts: 452
Joined: Tue Dec 22, 2009 12:25 am
Location: Yorkshire, UK

Re: Trance Gate

Postby Mo on Mon May 14, 2012 9:41 am

Hi Loopey,

Here it is. Everything optimized:
Sequencer, graphics, redraws, redraw area, controllers and mixer. Mixer in ASM. Fixed a bug with the sliders was jumping back to the previous value after changing preset and they also had the same preset name and Ticker 100 on label redraw. Stereo input and de-zippers added. More than 75% faster.

Replicated Trancegate PPQ Optimized.osm
(50.94 KiB) Downloaded 361 times
User avatar
Mo
essemilian
 
Posts: 439
Joined: Thu Jan 24, 2008 2:00 pm
Location: Copenhagen

Re: Trance Gate

Postby Warmonger on Mon May 14, 2012 1:48 pm

Good stuff, I really like that feature in Nexus.
Addictive synthesis.
User avatar
Warmonger
essemist
 
Posts: 189
Joined: Wed Jul 20, 2011 5:40 am
Location: Warsaw, Poland

Re: Trance Gate

Postby Devaux on Wed Apr 24, 2013 10:54 am

loopeytunes wrote:here it is:
Replicated Trancegate Screenshot.jpg


Replicated Trancegate.osm


Loopey



Looks straight out of ReFx Nexus TG...lol Beautiful design if i do say so myself, though. Cheers for the upload! ;)
001011-101101-101101-10101-1011-011-1100101001-0000
User avatar
Devaux
essemer
 
Posts: 20
Joined: Tue Apr 23, 2013 6:14 pm
Location: Columbus, Ohio & Ventura. California

Previous

Return to Examples

Who is online

Users browsing this forum: No registered users and 2 guests