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
3 timers with loop
31 posts
• Page 1 of 4 • 1, 2, 3, 4
3 timers with loop
Hello,
I am new with FlowStone and I search how make a 3 timers with loop. I have 3 signal generators and I have multiplexer and switch for drive the sound. I want define the times with :
Slide T1 = time of the first generator play (time adjustable between 10s - 600s)
Slide T2 = time of the second generator play (time adjustable between 10s - 600s)
Slide T3 = time of the third generator play (time adjustable between 10s - 600s)
When we press the ON/OFF switch of the timer, we have T1,T2,T3,T1,T2,T3,T1...
If I have understand, the output of this timer must be 0,1,2,0,1,2,0 for drive the multiplex component.
0 when t=T1, 1 when t=T2, 2 when t=T3
I have search in the forum but I am lost with the counters.
Thank you for your help.
Nicolas.
I am new with FlowStone and I search how make a 3 timers with loop. I have 3 signal generators and I have multiplexer and switch for drive the sound. I want define the times with :
Slide T1 = time of the first generator play (time adjustable between 10s - 600s)
Slide T2 = time of the second generator play (time adjustable between 10s - 600s)
Slide T3 = time of the third generator play (time adjustable between 10s - 600s)
When we press the ON/OFF switch of the timer, we have T1,T2,T3,T1,T2,T3,T1...
If I have understand, the output of this timer must be 0,1,2,0,1,2,0 for drive the multiplex component.
0 when t=T1, 1 when t=T2, 2 when t=T3
I have search in the forum but I am lost with the counters.
Thank you for your help.
Nicolas.
- Nicolas605
- Posts: 13
- Joined: Fri Jan 19, 2018 10:02 pm
- Location: France
Re: 3 timers with loop
Hi Nicolas,
I hope this does the job right?
I've made it so that you can change the amount of indices at any time (see schematic).
Just take note that it is not sample-precise timing. If you need that, it would require a blue stream solution, which would be a task for the DSP gurus
I hope this does the job right?
I've made it so that you can change the amount of indices at any time (see schematic).
Just take note that it is not sample-precise timing. If you need that, it would require a blue stream solution, which would be a task for the DSP gurus
- Attachments
-
- continuous_timed_indexing.fsm
- (1.43 KiB) Downloaded 948 times
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: 3 timers with loop
Hi Tulamide,
Thank you very much, it's perfect
I don't understand your code but I hope soon.
I must replace Duration per index with my Sliders. Slider 1 for duration 1, Slider 2 for duration 2 and Slider 3 for duration 3. How the Duration per index window send the time ?
Thank you.
Nicolas.
Thank you very much, it's perfect
I don't understand your code but I hope soon.
I must replace Duration per index with my Sliders. Slider 1 for duration 1, Slider 2 for duration 2 and Slider 3 for duration 3. How the Duration per index window send the time ?
Thank you.
Nicolas.
Last edited by Nicolas605 on Mon Jan 29, 2018 2:00 pm, edited 1 time in total.
- Nicolas605
- Posts: 13
- Joined: Fri Jan 19, 2018 10:02 pm
- Location: France
Re: 3 timers with loop
I found a solution with Str2Arr component and 3 in Width. But I can't do less than 100.
Have you a better option for String > Array for a number between 10 and 600 ?
Have you a better option for String > Array for a number between 10 and 600 ?
- Nicolas605
- Posts: 13
- Joined: Fri Jan 19, 2018 10:02 pm
- Location: France
Re: 3 timers with loop
Attached is a solution in blue. (You will need to enable the ASIO Output (or replace with a Direct Sound Out) in order for the code to run.)
I've set up the code so that you can test it using the "count" slider to the right of the code box - all you need to do is replace the occurrences of "counter" in the code's "index" line with the word "count".
Note that Multiplexer primitives are green and cannot be driven by a blue stream connection (therefor are not sample accurate), so if sample accuracy is needed (and/or you wish to prevent pops in the audio during switching) you will need to drive the split in blue/stream. For this, I've set up a secondary code block, followed by multipliers (which could also use dezippers if you wish to smooth the switching). All of this could be combined into one code block (and probably someone could optimize it with assembler), but I wanted to leave it all broken out for simplicity of understanding the flow.
I've set up the code so that you can test it using the "count" slider to the right of the code box - all you need to do is replace the occurrences of "counter" in the code's "index" line with the word "count".
Note that Multiplexer primitives are green and cannot be driven by a blue stream connection (therefor are not sample accurate), so if sample accuracy is needed (and/or you wish to prevent pops in the audio during switching) you will need to drive the split in blue/stream. For this, I've set up a secondary code block, followed by multipliers (which could also use dezippers if you wish to smooth the switching). All of this could be combined into one code block (and probably someone could optimize it with assembler), but I wanted to leave it all broken out for simplicity of understanding the flow.
- Attachments
-
- continuous_timed_indexing - Blue.fsm
- (33.25 KiB) Downloaded 1005 times
- ChrisHooker
- Posts: 55
- Joined: Tue Jul 13, 2010 10:02 pm
Re: 3 timers with loop
I'm not quite sure about your issue. Basically you build a float array with the float array prim. If you can't manage to get it done, report back, post a schematic with the issue and I'll give it a try then.
@ChrisHooker:
Wow, that is really nice! Especially useful if you don't need a multiplexer. This deserves to be refined, so if somebody would hop in - it would be appreciated!
@ChrisHooker:
Wow, that is really nice! Especially useful if you don't need a multiplexer. This deserves to be refined, so if somebody would hop in - it would be appreciated!
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: 3 timers with loop
@Tulamide
Thank you, Excuse me for my understanding of FlowStone. Ruby is new and I search C ... I have not need precision but may be later, a audio fader when the multiplexer change the source. Your solution is very good. I take pictures with fsm file tomorrow.
Hello Chris, Thank you, I have tested your file but with crash for me. My project freeze when I add your component. I have ASIO output and 3% CPU working with the original file project. I have 3x2(setero) input with 1 stereo output. 3 Switch for select 1 or 2 or 3 like the "Solo" on the mixing hardware. When I have not solo, I can push on the switch of "Timer" for 1=time of Slider 1 and after 2=time of Slider 2 and after that 3=time of Slider3 and loop for 1 ect ...
FlowStone is very great and I found a new world, but I have need some time for understand.
Thank you, Excuse me for my understanding of FlowStone. Ruby is new and I search C ... I have not need precision but may be later, a audio fader when the multiplexer change the source. Your solution is very good. I take pictures with fsm file tomorrow.
Hello Chris, Thank you, I have tested your file but with crash for me. My project freeze when I add your component. I have ASIO output and 3% CPU working with the original file project. I have 3x2(setero) input with 1 stereo output. 3 Switch for select 1 or 2 or 3 like the "Solo" on the mixing hardware. When I have not solo, I can push on the switch of "Timer" for 1=time of Slider 1 and after 2=time of Slider 2 and after that 3=time of Slider3 and loop for 1 ect ...
FlowStone is very great and I found a new world, but I have need some time for understand.
- Nicolas605
- Posts: 13
- Joined: Fri Jan 19, 2018 10:02 pm
- Location: France
Re: 3 timers with loop
I forgot to hook up the on/off switch!
Here's a revised/condensed version, all in one code block (not as easy to see how it works), with opportunity to expand with dezipping (the code to do that is where I would have to think for a bit).
With the on/off switch implemented comes the next question: what should happen to the signal when the counter is turned off? I've set it up here to set the output to Out0, and the counter resets to zero.
Here's a revised/condensed version, all in one code block (not as easy to see how it works), with opportunity to expand with dezipping (the code to do that is where I would have to think for a bit).
With the on/off switch implemented comes the next question: what should happen to the signal when the counter is turned off? I've set it up here to set the output to Out0, and the counter resets to zero.
- Attachments
-
- continuous_timed_indexing - Blue condensed.fsm
- (27.31 KiB) Downloaded 957 times
- ChrisHooker
- Posts: 55
- Joined: Tue Jul 13, 2010 10:02 pm
Re: 3 timers with loop
ChrisHooker wrote:what should happen to the signal when the counter is turned off? I've set it up here to set the output to Out0, and the counter resets to zero.
That sounds reasonable! The stream has to go somewhere (or can it be prevented?), so the first output makes sense. In the Ruby version I've also set everything back to init, so "counter to zero" is the same behaviour.
I wouldn't know how to create effective dezip code yet, but I assume it would be some kind of crossfading over dezip time?
"There lies the dog buried" (German saying translated literally)
- tulamide
- Posts: 2714
- Joined: Sat Jun 21, 2014 2:48 pm
- Location: Germany
Re: 3 timers with loop
The stream has to go somewhere (or can it be prevented?)
Yes, it could easily be prevented! Changing the out line to include a mask will only allow a value to pass when "run" is active. This line would need to be used for all outs. [Edit: Actually, I take that back - it's only needed on out0, since when not running, the other outputs are already silenced, due to the counter being reset.]
- Code: Select all
out0=(run==1) & (in*amp0)
My idea for the stream-code dezip would be to have the "amp" in my code slide from 0-1 or 1-0.
For example, as amp0 switches from 1 to 0, amp1 simultaneously switches from 0-1... These switches would trigger a new counter to start, which counts up to the user-defined # of samples (or back down to zero). The dezipped amp would then multiply the input by a value between 0-1 based on % of completion of the counter. As both amps are changing over this same period of time, the result would be a linear crossfade.
- ChrisHooker
- Posts: 55
- Joined: Tue Jul 13, 2010 10:02 pm
31 posts
• Page 1 of 4 • 1, 2, 3, 4
Who is online
Users browsing this forum: No registered users and 62 guests