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
lost in ruby (mono to float)
21 posts
• Page 1 of 3 • 1, 2, 3
lost in ruby (mono to float)
Hello;
Im trying to make a LFO with float output to use this for commanding knobs.
seems obvious but...
i monitor the result with scope (cf shematic)
but with classic signal to float i get an awful stepped curve
with signal to float + (various) de zipper-smoother I get stepped curve with less visible step, but loss of the amplitude, and phase decay (anyway not a smooth suite of float)
searching forum i saw (approx) "mono to float is known to be approximative, but it is easy to make ruby conversion"
well it is not easy to me...
if someone could help
(or if there is something else to make without ruby)
Thanks
paya
Im trying to make a LFO with float output to use this for commanding knobs.
seems obvious but...
i monitor the result with scope (cf shematic)
but with classic signal to float i get an awful stepped curve
with signal to float + (various) de zipper-smoother I get stepped curve with less visible step, but loss of the amplitude, and phase decay (anyway not a smooth suite of float)
searching forum i saw (approx) "mono to float is known to be approximative, but it is easy to make ruby conversion"
well it is not easy to me...
if someone could help
(or if there is something else to make without ruby)
Thanks
paya
- Attachments
-
- lfo float dsp.fsm
- (378.11 KiB) Downloaded 912 times
- payaDSP
- Posts: 27
- Joined: Fri Aug 22, 2014 10:11 am
Re: lost in ruby (mono to float)
Hi there!
I had a go at it->
I wonder if this device is intrinsically quantized in FS.
The only way to not quantize discernably I can think of is
that maybe it can be done with 'mono to frame' in Ruby
Welcome!
I can keep trying if this doesn't work well enough
I had a go at it->
I wonder if this device is intrinsically quantized in FS.
The only way to not quantize discernably I can think of is
that maybe it can be done with 'mono to frame' in Ruby
Welcome!
I can keep trying if this doesn't work well enough
-
nix - Posts: 817
- Joined: Tue Jul 13, 2010 10:51 am
Re: lost in ruby (mono to float)
I think you need something like this, but I can't get it to output anything->
Cheers
Cheers
-
nix - Posts: 817
- Joined: Tue Jul 13, 2010 10:51 am
Re: lost in ruby (mono to float)
The basis of the problem, as I see it, is that once you enter the GREEN world you lose any timing accuracy. Green isn’t an audio rate process and is only dealt with when the STREAM world has allowed some time to be available.
If you look carefully at the waveforms out of the M2F prim, at higher LFO rates, each individual converted wave is different, due to the green process not being in sync with anything. No amount of “smoothing” in the green world can deal with this properly; garbage in, garbage out!
In my own mono LFOs I go into the green world in the same way, use a stock de-zipper prim then back to poly but I have to limit the upper LFO frequency due to this effect. It does work over a reasonably useful LFO range though.
However you generate your LFO, if you want the wave to get into the green world you’ll hit the problem at higher LFO speeds.
If I’m wrong or there is a way to do this I’d love to see the method!
Cheers
Spogg
If you look carefully at the waveforms out of the M2F prim, at higher LFO rates, each individual converted wave is different, due to the green process not being in sync with anything. No amount of “smoothing” in the green world can deal with this properly; garbage in, garbage out!
In my own mono LFOs I go into the green world in the same way, use a stock de-zipper prim then back to poly but I have to limit the upper LFO frequency due to this effect. It does work over a reasonably useful LFO range though.
However you generate your LFO, if you want the wave to get into the green world you’ll hit the problem at higher LFO speeds.
If I’m wrong or there is a way to do this I’d love to see the method!
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: lost in ruby (mono to float)
have a look at the first file I posted,
the 'slide' prim does something trick, at faster than tick100 it seems(using a ms).
In digital audio we are always quantized,
but green data is particularly iterated, working on a trigger system.
the mono always needs to be read from a tick-
which is limited to 500hz within usable CPU.
Like I say- a float array can be delivered 'by mono to frame', but it's a hectic problem to get it to stream.
We still end up reading the mem or float array with a samplerate counter.
the 'slide' prim does something trick, at faster than tick100 it seems(using a ms).
In digital audio we are always quantized,
but green data is particularly iterated, working on a trigger system.
the mono always needs to be read from a tick-
which is limited to 500hz within usable CPU.
Like I say- a float array can be delivered 'by mono to frame', but it's a hectic problem to get it to stream.
We still end up reading the mem or float array with a samplerate counter.
-
nix - Posts: 817
- Joined: Tue Jul 13, 2010 10:51 am
Re: lost in ruby (mono to float)
Hi Nix.
Here is a scope trace directly from your example. You can see the sample time period from green is inconsistent. As I undertand it whenever you go into green you'll ht this issue. You can see the conversion from the 2 positive-going edges are significantly different as a result.
Cheers
Spogg
Here is a scope trace directly from your example. You can see the sample time period from green is inconsistent. As I undertand it whenever you go into green you'll ht this issue. You can see the conversion from the 2 positive-going edges are significantly different as a result.
Cheers
Spogg
- Attachments
-
- Green sample timing.png (14.28 KiB) Viewed 23448 times
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: lost in ruby (mono to float)
I am certainly not arguing that the floats are hifi,
they are 500hz.
Here is the higher samplerate realized by turning slide on,
which is surprising IMO-->
they are 500hz.
Here is the higher samplerate realized by turning slide on,
which is surprising IMO-->
-
nix - Posts: 817
- Joined: Tue Jul 13, 2010 10:51 am
Re: lost in ruby (mono to float)
Nix, I understood that the max rate of green was typically about 65 Hz and it varies quite widely, not 500 Hz. Maybe tulamide or someone can confirm that .
I got similar results just using the stock de-zipper. If you increase the "slide rate" it performs like a filter with phase shift, as per your trace, which looks like about 90 degress. I tried putting in a HUGE time for smoothing then amplifying the output also by a huge amount but the result is still steppy at the higher frequency end. I assume it's still steppy because the green timing is unstable.
I don't do Ruby but I can't at present see how to get around the Green timing barrier, if the final result has to be output in green.
It would be nice be wrong on this one
Cheers
Spogg
I got similar results just using the stock de-zipper. If you increase the "slide rate" it performs like a filter with phase shift, as per your trace, which looks like about 90 degress. I tried putting in a HUGE time for smoothing then amplifying the output also by a huge amount but the result is still steppy at the higher frequency end. I assume it's still steppy because the green timing is unstable.
I don't do Ruby but I can't at present see how to get around the Green timing barrier, if the final result has to be output in green.
It would be nice be wrong on this one
Cheers
Spogg
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
Re: lost in ruby (mono to float)
Ruby has allowed us to break the tick 100 limit,
also allowing a greater steadiness in periodicity.
Here is the 500 hz:-
Is there a stock green dezip?
I only have the blue one atm.
I can reconstruct an approximate sine probably in blue, after the m2f
edit- here I have made the Ruby simpler,
do any of you think it could use less CPU somehow?-->
also allowing a greater steadiness in periodicity.
Here is the 500 hz:-
Is there a stock green dezip?
I only have the blue one atm.
I can reconstruct an approximate sine probably in blue, after the m2f
edit- here I have made the Ruby simpler,
do any of you think it could use less CPU somehow?-->
Last edited by nix on Wed Sep 07, 2016 2:47 pm, edited 1 time in total.
-
nix - Posts: 817
- Joined: Tue Jul 13, 2010 10:51 am
Re: lost in ruby (mono to float)
No green de-zipper prim; you have to use slide as you did.
I agree your counter runs at 500 Hz but the problem comes when you look at the stability of the counter output. I've added a basic scope and copied the Ruby ticker to reset the counter every 1 second. This produces a repeating ramp for the scope.
If you capture a ramp by pausing the scope you'll see unevenly timed steps in the ramp. Also note what happens to the counter Integer display with the scope running or paused. You can see how uneven the count is. As I understand it this is due to the increased green activity within the scope itself.
The implication is that no matter what Ruby can do you won't be able to get around this green behaviour and the OP wanted his LFO to output in Green.
Cheers
Spogg
EDIT: maybe that green counter prim is a bit special
I agree your counter runs at 500 Hz but the problem comes when you look at the stability of the counter output. I've added a basic scope and copied the Ruby ticker to reset the counter every 1 second. This produces a repeating ramp for the scope.
If you capture a ramp by pausing the scope you'll see unevenly timed steps in the ramp. Also note what happens to the counter Integer display with the scope running or paused. You can see how uneven the count is. As I understand it this is due to the increased green activity within the scope itself.
The implication is that no matter what Ruby can do you won't be able to get around this green behaviour and the OP wanted his LFO to output in Green.
Cheers
Spogg
EDIT: maybe that green counter prim is a bit special
- Attachments
-
- 500hz tick-heavy CPU-1 with scope -Spogg.fsm
- (398.29 KiB) Downloaded 971 times
-
Spogg - Posts: 3358
- Joined: Thu Nov 20, 2014 4:24 pm
- Location: Birmingham, England
21 posts
• Page 1 of 3 • 1, 2, 3
Who is online
Users browsing this forum: No registered users and 75 guests