Support

If you have a problem or need to report a bug please email : support@dsprobotics.com

There are 3 sections to this support area:

DOWNLOADS: access to product manuals, support files and drivers

HELP & INFORMATION: tutorials and example files for learning or finding pre-made modules for your projects

USER FORUMS: meet with other users and exchange ideas, you can also get help and assistance here

NEW REGISTRATIONS - please contact us if you wish to register on the forum

Users are reminded of the forum rules they sign up to which prohibits any activity that violates any laws including posting material covered by copyright

Timing

Post any examples or modules that you want to share here

Re: VST Timing

Postby billv » Sun Apr 21, 2013 12:42 am

Did another experiment to test this part of the circuit again
Image
This time i hooked it up to the FLSM Clock.
Was a great test result for that circuit.
It made the FL clock pefect in Reaper..
ScreenShot153.png
ScreenShot153.png (4.74 KiB) Viewed 24913 times

CONTINUED IN NEXT POST..
Last edited by billv on Sun Apr 21, 2013 12:53 am, edited 1 time in total.
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: VST Timing

Postby billv » Sun Apr 21, 2013 12:53 am

I thought i had another design with no errors, but then tested
in FL, and detected a very,very slight drift after 5 min
ScreenShot154.png
ScreenShot154.png (5.51 KiB) Viewed 24913 times

ScreenShot155.png
ScreenShot155.png (5.44 KiB) Viewed 24913 times

Ruby test_0_with fL CLOCK_2.fsm
(60.2 KiB) Downloaded 1341 times


So a quick update, as all these posts can get confusing..
The X11 2.01 Timer, posted earlier, with the s/r primitive, is still no errors, and
still getting the odd test everyday. Really looking good so far. :)
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: VST Timing

Postby Perfect Human Interface » Sun Apr 21, 2013 1:34 am

You know you can test for timing discrepancies using polarity inversion and checking for full cancellation, yes? It might make things a tad easier.
FL's internal timing should be perfect, so if you can set it up right I bet you could detect any discrepancy far before 5 minutes.
Perfect Human Interface
 
Posts: 643
Joined: Sun Mar 10, 2013 7:32 pm

Re: VST Timing

Postby trogluddite » Sun Apr 21, 2013 1:38 am

This is looking really good, billy. Just catching up after a little break doing other things, but I'll go through these threads in a bit more detail later and see what might be mashed together with my PPQ stuff.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Re: VST Timing

Postby billv » Sun Apr 21, 2013 2:19 am

Perfect Human Interface wrote:test for timing discrepancies using polarity inversion and checking for full cancellation, yes?

Wow, another "test method" :D :D Awesome..
Perfect Human Interface wrote:so if you can set it up right
.
Absolutly no idea.... :?
Can you give me the gist of setting it up, step by step, or knocking up a quick FSM.?
Perfect Human Interface wrote:you could detect any discrepancy far before 5 minutes

That's a real turn on :o - show me how.......
trogluddite wrote:Just catching up after a little break doing other things

Nice to hear you wander back in. Figured you were still tinkering in the "Graphics" section or something. :)
trogluddite wrote:go through these threads in a bit more detail later and see what might be mashed together with my PPQ stuff.

Yeh, we had some problems, with drift. Getting interesting now. finally have a protoype with no errors
to work off. I'm going to keep testing my current ppq fix from some more angles..........
Look forward to hearing what you make of it all...
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: VST Timing

Postby trogluddite » Sun Apr 21, 2013 3:01 am

billv wrote:tinkering in the "Graphics" section

He he, good guess...
http://sketchucation.com/forums/viewtopic.php?f=323&t=51433
Been a good eye opener working on a completely different kind of plugin - the guys over there REALLY know their Ruby.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

Re: VST Timing

Postby billv » Sun Apr 21, 2013 9:41 am

Just did big test using the X11 Synth with the PPQ fix.
Sat there for about 2 hours, doing short tests(1 min).
Tested wave seq/scale seq, and arp seq.
About 10 matrix triggers on.
the seqs were all automated by their modulators.
This time I'm using controls at the same time.
I'm bashing away at the "rand all trigger" button, which sends heaps of triggers that need to be calculated,
I'm randomising the matrix triggers on the fly.
I'm carefull not to fiddle with tempo's, knowing that my timing with a mouse is not as good as
the automation, which bring in tempo changes at the correct sample rate.
Rapidly twisting knobs continiously...Test after test, seq after seq, I FAILED TO GENERATE AN ERROR.
Unbelievable.
Timing/graphics/automation/sequencing all like clockwork and no conflicts yet....
CPU-wise in FL it chews the about the same as the Pro Synths found in FL, sit's at about 20%.
Yes DSPR-you win that round :D
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: VST Timing

Postby Perfect Human Interface » Sun Apr 21, 2013 10:02 am

billv wrote:
Perfect Human Interface wrote:so if you can set it up right
.
Absolutly no idea.... :?
Can you give me the gist of setting it up, step by step, or knocking up a quick FSM.?


The gist would be that you'd aim to generate exactly the same audio output within FL Studio's sequencing and within a FS schematic using your timing doodads that I don't understand. So, perhaps playing a sample once per beat or something. Then you'd just have the FL sequenced bit routed to one mixer track, and the FS bit routed to another, and then click the little "invert polarity" button on one of them.

If the audio output is 100% identical from both tracks, they will cancel 100% when one is inverted and they're combined in the master track. If they're not identical, you'll get some measure of audio output to the master track as it doesn't cancel completely. The level of audio might be very very low, but if the master level meter shows anything at all then you're not achieving a perfect cancellation and that mean's there's a discrepancy.

Make sense?

Edit: I just did a quick test, and if FS's "Delay" component is accurate, then delaying one signal by one sample and then mixing it with the inverse of the original is very much audible.
Perfect Human Interface
 
Posts: 643
Joined: Sun Mar 10, 2013 7:32 pm

Re: VST Timing

Postby billv » Sun Apr 21, 2013 12:01 pm

Perfect Human Interface wrote:The gist

Thanks for the explanation. Was real easy to set up using your guide, but not sure about result.
I made vst of the test synth
Then i made another, and just deleted the timer/midi generator, so it uses the Host clock.
So both synths output exactly same, but one generated by FS Timer, the other by host.
I send both to individual tracks, and then routed both to a single track.
Then i click the little "invert polarity" button on one of them, a few times. here's result
ScreenShot157.png
ScreenShot157.png (11.48 KiB) Viewed 24893 times

Notice how it's not showing a note in at start of every bar?
Is this because both signals are so accurate they dissappear altogether when they phase back in?
Is this what you mean by
Perfect Human Interface wrote:achieving a perfect cancellation

So the actual result is this,
A missing note, with no artefacts, or bits and pieces left over, is that right?
ScreenShot158.png
ScreenShot158.png (11.81 KiB) Viewed 24886 times
billv
 
Posts: 1157
Joined: Tue Aug 31, 2010 3:34 pm
Location: Australia

Re: VST Timing

Postby trogluddite » Sun Apr 21, 2013 1:45 pm

Yup, those 'missing' notes will be the ones that cancel perfectly, and the ones you can see are where there is a difference.

Before you go blaming your timer for the 'non-cancellation' though, you need to be careful to asses how the sound is generated, and the inner working of the sequencer.
If the subtracted values are very tiny (maybe you zoomed for the screenshot), it could easily be explained by interpolation of 'fractional' samples, or even some code somewhere in the test synth that is using hopping.
For example...
If the reference sounds are cut/pasted into place within the sequencer, they are most likely lined up exactly with sample boundaries, which might not always fall exactly on a beat (depending on tempo). So the placement has to round up or down to find the exact sample. Likewise, your synth will have to round the time to exact samples too - but may not necessarily be using the same form of rounding as the sequencer.
I'd try slicing up your test recording, and nudging the sounds in samples one way or the other to find out just how far out they are - and if it is an interpolation issue, you may find that there is not even a position that cancels exactly.

This is also why I prefer to use PPQ. When things are free running, you can still get drift even if the maths formula is correct in theory - it only needs the sequencer to do the calculations in a different order (swapping around the divides and multiplys, say), and the tiny rounding errors come out differently.
For example, in floating point maths, there is no guarantee that x / y = 1/y * x, even though maths theory says they should be exactly the same.
It could even be something as simple as one of them using single-precision maths and the other one using double-precision.
All schematics/modules I post are free for all to use - but a credit is always polite!
Don't stagnate, mutate to create!
User avatar
trogluddite
 
Posts: 1730
Joined: Fri Oct 22, 2010 12:46 am
Location: Yorkshire, UK

PreviousNext

Return to User Examples

Who is online

Users browsing this forum: No registered users and 49 guests