Re: [music-dsp] music-dsp Digest, Vol 40, Issue 2

2018-10-01 Thread Frank Sheeran
> > I guess it can be > proven that the final value is a monotonic function of delta, but > possibly with large multipliers the output value step (for the smallest > change of delta) will be quite large, so the search will not fully > converge. Yes. For instance with Start = 0+-47dB, End

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Eugene Cherny
Hi Alex, Your question was “why buffers will collide” in response to the Robert’s answer: “time-scaling is not normally thought of as real-time because your input and output buffer pointers will collide”. Did I understand correctly, that you want to understand why time stretching can’t be

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Nigel Redmon
I think if you try to code up a simple pitch shifter—say, with linear interpolation—you’ll figure it out pretty quickly. You have to write a sample before you read it, obviously, and to pitch up, the read pointer is moving faster than the write pointer—or slower to pitch down. The faster one

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Alex Dashevski
Hi, Yes. I have seen it but I didn't find the answer on my question. Thanks, Alex ‫בתאריך יום ב׳, 1 באוק׳ 2018 ב-19:46 מאת ‪Nuno Santos‬‏ <‪ nunosan...@imaginando.pt‬‏>:‬ > Hey Alex, > > Have you seen this article before? > > https://www.surina.net/article/time-and-pitch-scaling.html > > It has

Re: [music-dsp] WSOLA on RealTime

2018-10-01 Thread Nuno Santos
Hey Alex, Have you seen this article before? https://www.surina.net/article/time-and-pitch-scaling.html It has a complete and detailed description on how time and pitch scaling works. Hope it helps! Best regards, Nuno > On 1

[music-dsp] WSOLA on RealTime

2018-10-01 Thread Alex Dashevski
Hi, I got this answer from Robert: WSOLA fundamentally does time-scaling. time compression or time stretching without changing pitch. time-scaling is not normally thought of as real-time because your input and output buffer pointers will collide. My question is: Why buffers will collide ?

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread David Olofson
On Mon, Oct 1, 2018 at 1:58 PM Frank Sheeran wrote: [...] > > Please take a look at my soft synth if you're bored. I think there's > nothing like it except Csound and Max/MSP/PureData, but I think > my language is the easiest to read and write for more complicated > patches.

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread Vadim Zavalishin
On 01-Oct-18 13:58, Frank Sheeran wrote: For curves other than 0 and 1, I discover a delta that will work to the exact number of samples iteratively because I am too stupid to figure out an equation for delta.  Werner is much better at math than I am! This is quite a smart way to work

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread Vadim Zavalishin
On 01-Oct-18 14:12, Vadim Zavalishin wrote: In principle IIRC the same rule applies for multiplier < 1, but there the losses are not too large. This also manifests at multiplier = 1 by having the "best offset" so that the curve's middle is at zero. Sorry, I meant to say that for

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread Vadim Zavalishin
On 01-Oct-18 13:52, Frank Sheeran wrote: Indeed, that's a simple parametric, but for generating envelopes we have the freedom to depend on the previous sample's output.  So, while an exponential curve parametric-style requires a pow(), the iterative solution is simply current = previous *

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread Frank Sheeran
> The math behind it looks a bit complicated but for very long (envelope) phases you might need to update the current value manually because floating errors will add up Sali Andre, I thought this would be a problem, but for exponential curves up to 5 seconds, ranging from 2^(1/12) start to 1

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread Frank Sheeran
> > A very simple parametric curve is > y = (1 - x) / (1 + a*x) > With a = 0, you get a line thru 0,1 and 1,0 > With increasing a, you bend the line to almost a sharp angle. Hello Stefan. Indeed, that's a simple parametric, but for generating envelopes we have the freedom to depend on the

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread André Michelle
Hi Frank, the solution Werner solved is working the same way. The multiplier and delta gets computed once when receiving all necessary data. For each sample you then only have to run one multiplication and one addition plus reassignment. The math behind it looks a bit complicated but for very

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread STEFFAN DIEDRICHSEN
A very simple parametric curve is y = (1 - x) / (1 + a*x) With a = 0, you get a line thru 0,1 and 1,0 With increasing a, you bend the line to almost a sharp angle. Best, Steffan > On 01.10.2018|KW40, at 09:21, Frank Sheeran wrote: > > Sali Andre, > > I'm just now seeing your answer,

Re: [music-dsp] variations on exponential curves

2018-10-01 Thread Frank Sheeran
Sali Andre, I'm just now seeing your answer, thanks! It seems a lot more complicated--but probably far more thorough--an explanation than I have. The solution I hit upon to generate coefficients "multiplier" and "delta" for the sample-by-sample calculation current = previous * multiplier +