I encountered that too and reported it to Stephane. faust2caqt had no problem. Looking forward to hearing what that's about!
On Sat, Feb 25, 2023 at 4:05 PM Dario Sanfilippo <sanfilippo.da...@gmail.com> wrote: > Just so you know, Julius' code gives me this assert on the IDE: > > ASSERT : please report this message and the failing DSP file to Faust > developers (file: wasm_code_container.hh, line: 60, version: 2.54.11, > options: -lang wasm-ib -cn > a08c5ceec105cc33e58fe2dfaaa8d2f0a80eaf39e4a593811bb636d3de7a14d3 -es 1 -mcd > 16 -single -ftz 0 ) > > Here is a non-delay-based alternative (tested very briefly, but it seems > to work): > > import("stdfaust.lib"); > > PI = ma.PI; > TWOPI = 2.0 * ma.PI; > > phasor(freq, phase) = ma.frac((loop ~ _) + phase / TWOPI) > with { > loop(y) = ma.frac(freq / ma.SR + y); > }; > > tri(ph) = abs(ma.frac(ph - .25) * 4.0 - 2.0) - 1.0; > ph0 = hslider("ph0", 0, -PI, PI, .001); > ph1 = hslider("ph1", -PI / 2.0, -PI, PI, .001); > f = hslider("freq[scale:log]", 1000, 20, 20480, .001); > > // Oscillation by phase-mod > // process = os.oscp(0, os.phasor(TWOPI, 1000)) , > // sin(TWOPI * phasor(0, os.phasor(TWOPI, 1000))) , > // tri(phasor(0, os.phasor(TWOPI, 1000))); > > process = os.oscp(f, ph0) , > os.oscp(f, ph1) , > sin(phasor(f, ph0) * TWOPI) , > sin(phasor(f, ph1) * TWOPI) , > tri(phasor(f, ph0)) , > tri(phasor(f, ph1)); > > Dr Dario Sanfilippo > http://dariosanfilippo.com > > > On Sun, 26 Feb 2023 at 00:28, Julius Smith <julius.sm...@gmail.com> wrote: > >> Ok, I see it. The implementation of os.lf_sawpos_phase is impulse-based: >> >> lf_sawpos_phase(freq,phase) = phasor_imp(freq, (1-1'), phase); >> >> This means it is only sampled at time zero. For continuous phase >> control, you want something delay based, e.g., >> >> lf_triangle_phase (freq, phase) = os.lf_triangle(freq) @ (phase * >> ma.SR/freq); >> >> Here is my updated test program (no scope needed - I used faust2caqt): >> >> import("stdfaust.lib"); >> >> lf_triangle_phase(freq, phase) = os.lf_triangle(freq) @ (phase * >> ma.SR/freq); >> lfo_freq = hslider("[1] Freq", 0.5, 0.001, 50, 0.01); >> lfo1 = lf_triangle_phase(lfo_freq, 0); >> lfo_phase = hslider("[2] Phase", 180, 0, 360, 1) / 360; >> lfo2 = lf_triangle_phase(lfo_freq, lfo_phase); >> process = lfo1, lfo2 : hbargraph("[3] 0",-1,1), hbargraph("[4] >> Phase",-1,1); >> >> On Sat, Feb 25, 2023 at 2:03 PM Christopher Arndt <ch...@chrisarndt.de> >> wrote: >> >>> Am 24.02.23 um 21:50 schrieb Julius Smith: >>> > Hmmm, it looks to me like it should be working. >>> > I adapted your test program for use with faust2plot, and it's working >>> > for me: >>> >>> Yes, it works, if the phase is set initially. But what I want is to >>> change the phase of one LFO at run-time with a parameter and that >>> doesn't seem to work. >>> >>> Here are two images, which demonstrate this, I hope: >>> >>> 1) your code (lfophase.dsp) compiled with faust2jack and its output send >>> into a stereo oscilloscope. the two LFOs have different phase >>> >>> https://0x20.eu/nc/s/kWSwRE2oHD4rStt/preview >>> >>> 2) The code from my original post (lfophase2.dsp) compiled with >>> faust2jaqt again with its output into the scope. I have set the phase >>> two 91 after staring the program, but the output as seen in the scope >>> never changes and the two LFOs are still at the same phase. >>> >>> https://0x20.eu/nc/s/Y47eaLK8DGZZTbk/preview >>> >>> >>> Chris >>> >>> >>> >>> _______________________________________________ >>> Faudiostream-users mailing list >>> Faudiostream-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >>> >> >> >> -- >> "Anything that can be automated should be" >> _______________________________________________ >> Faudiostream-users mailing list >> Faudiostream-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/faudiostream-users >> > -- "Anything that can be automated should be"
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users