Thanks for the quick reply!
I want to change the pitch without changing the original tempo. Pitshifts sound quality is fine for me. It doesn’t necessarily have to sound “good” for what I’m doing. I’m guessing pitshift is using something like the “synchronized overlap-add” method and currently Nyquist can’t access the “Subband Sinusoidal Modeling Synthesis” Audacity uses for the Sliding Time Scale/Pitch Shift effect.
Is it possible to do the type of pitch envelope I’d like in the standalone Nyquist?
Or perhaps, change the speed with the pitch then change the speed back without changing the pitch back?
Otherwise, now I’m thinking I may be able to fudge something like this for a reasonable facsimile.
(setf highestpitch 2)
(setf lowestpitch .5)
(sim
(pitshift (mult (pwlv 1 .2 1 .4 0 .6 0 .8 1 1 1) *track*) highestpitch 1)
(pitshift (mult (pwlv 0 .2 0 .4 1 .6 1 .8 0 1 0) *track*) lowestpitch 1))
I pitshift track to the highest pitch in the range and set its amplitude by the original intended pitch envelope.
Then I invert the breakpoints of that envelope and apply it the amplitude of track pitshifted to the lowest pitch in the range.
I’m thinking if I add a few more versions pitshifted to pitches in the middle of the pitch range and adjust all the envelopes top and/or bottom lines to appropriate ratios, I may get something smooth enough I could work with.
(setf highestpitch 2)
(setf midpitch 1.25)
(setf lowestpitch .5)
(sim
(pitshift (mult (pwlv 1 .5 0 1 0) *track*) highestpitch 1)
(pitshift (mult (pwlv 0 .5 1 1 0) *track*) midpitch 1)
(pitshift (mult (pwlv 0 .5 0 1 1) *track*) lowestpitch 1))
Something like that, except doing that with the pitch range set between each of the breakpoints inside the original envelope.
I’ll have to come up with an algorithm to take the original envelope and calculate the inverted and adjusted envelopes by the number of mid range pitches. I think I see this working but it’ll take me awhile to get the actual formula down. But since I’m automating, I should be able to add as many mid range pitches as I want.
Think there is any merit in this idea? See any big flaws? Am I explaining it in a way that makes sense or is this just the ramblings of an insane mind?