DSP algorithms
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
-
- KVRAF
- 2460 posts since 3 Oct, 2002 from SF CA USA NA Earth
-
Music Engineer Music Engineer https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=15959
- KVRAF
- 4379 posts since 8 Mar, 2004 from Berlin, Germany
i just thought about your idea of stacking several instances of the same vsti - the following idea came to my mind: such a concept could be easily expanded to effect plugins as well. think about a simple chorus-unit like the one delivered with cubase, and using several instances of it with different lfo-frequencies, output-pannings, etc. this would produce a richer sound than one unit alone. additionally one could think about not just stacking them (meaning a parallel connection), but to put them in a series connection. in such a series connection, however, the dry/wet parameter has to treated differently than the other parameters: the first unit in the series should have the smallest wet-amount whereas the last unit should have the largest wet-amount. once i read that professional sound-engineers use such a series connection of the same effect to produce richer effects. maybe it could be even possible to let the user specify an arbitrary combination of series/parallel connections. (by the way - this idea came to my mind (what a cliche) under the shower)Galleoneer wrote:exactly what I planned.braindoc wrote:did i get that right? you want to build a plugIn which in itself hosts several instances of the same VSTi, each instance with a slightly displaced set of parameters? this then could be really called unisono. but i guess my cpu is already afraid of it. however, in such a monstrosity - i think - the user should specify which parameters should be displaced (randomly or determistically) and by which amount. and -of course- how many instances of the vsti should be created (o.k.,i think this is obvious)
-
- KVRist
- Topic Starter
- 430 posts since 21 Feb, 2005 from Berlin/Germany
yes, interesting indeed. I had the idea with the parallel effects. To be honest there is no code difference in hosting vsti or vst (same procedure). Just with the fact that most synths have audio input the "stacker" has to have it, too. and so you can easyly load effects instead of synths and use them.braindoc wrote:i just thought about your idea of stacking several instances of the same vsti - the following idea came to my mind: such a concept could be easily expanded to effect plugins as well. think about a simple chorus-unit like the one delivered with cubase, and using several instances of it with different lfo-frequencies, output-pannings, etc. this would produce a richer sound than one unit alone. additionally one could think about not just stacking them (meaning a parallel connection), but to put them in a series connection. in such a series connection, however, the dry/wet parameter has to treated differently than the other parameters: the first unit in the series should have the smallest wet-amount whereas the last unit should have the largest wet-amount. once i read that professional sound-engineers use such a series connection of the same effect to produce richer effects. maybe it could be even possible to let the user specify an arbitrary combination of series/parallel connections. (by the way - this idea came to my mind (what a cliche) under the shower)
The serial approach is a new idea to me and it is interesting. So big thanks for this one
-
- KVRian
- 568 posts since 20 Nov, 2003 from Basel, Switzerland
Always did.birrbits wrote:SOLAFS requires pitch detection? since when?
Whoa, I think you're mixing up things - read up on it again (I did just that a moment ago), you seem to have no clue whatsoever. You need autocorrelation for SOLA, which actually does pitch detection. Crosscorrelation would imply two different signals.birrbits wrote:or are you refering to the correlation function used to realign the samples? that is NOT a pitch detection algorithm, its just crosscorrelation.
say again???? what a pile of nonsense...birrbits wrote:The problem with merely modulating to shift pitch is that all frequencies shift by the same amount, this is far from musical. So if your talking realtime audio input with decent 'musical' pitchshifting (that can shift more than an octave) and a low CPU hit an algorithm like SOLAFS is the easiest thing to implement that I am aware of.
--th
I'm the stereo chancellor
-
- KVRAF
- 1743 posts since 3 Dec, 2004
SOLAFS not SOLA....in any case crosscorrelation is employed, not auto. Nor does autocorrelation by any figment of the imagination naturally imply pitch detectiontahome wrote: Whoa, I think you're mixing up things - read up on it again (I did just that a moment ago), you seem to have no clue whatsoever. You need autocorrelation for SOLA, which actually does pitch detection. Crosscorrelation would imply two different signals.
(is radar a pitch detector?)
I think you might need to do some more reading....
http://www.ee.columbia.edu/~dpwe/papers ... solafs.pdf
care to elaborate?tahome wrote: say again???? what a pile of nonsense...
--th
-
- KVRian
- 568 posts since 20 Nov, 2003 from Basel, Switzerland
Here, straight from the horse's mouth (this guy has practically invented modern time stretching and pitch shifting): http://www.dspdimension.com/data/html/t ... .html#tdhs
--th2.2 Time Domain Harmonic Scaling (TDHS). This is based on a method proposed by Rabiner and Schafer in 1978. It is heavily based on a correct estimate of the fundamental frequency of the sound processed. In one of the numerous possible implementations, the Short Time Autocorrelation of the signal is taken and the fundamental frequency is estimated by picking the maximum value from all autocorrelation lags. Alternatively, one can use the Short Time Average Magnitude Difference function and find the minimum value, which is usually faster on an average CISC based computer systems. The timebase is changed by copying the input to the output in an overlap-and-add manner (therefore it's also sometimes referred to as '(P)SOLA' - (pitch) synchronized overlap-add method) while simultaneously incrementing the input pointer by the overlap-size minus a multiple of the fundamental period. This results in the input being traversed at a different speed than the original data was recorded at while aligning to the fundamental period estimated by the above method. This algorithm works well with signals having a prominent fundamental frequency and can be used with all kinds of signals consisting of a single (musically monophonic) signal source. When it comes to mixed-source (musically polyphonic) signals, this method will produce satisfactory results only if the size of the overlapping segments is increased to include a multiple of cycles thus averaging the phase error over a longer segment making it less audible. For Time Domain Harmonic Scaling the basic problem is estimating the pitch period of the signal, especially in cases where the actual fundamental frequency is missing.
I'm the stereo chancellor
-
- KVRAF
- 1743 posts since 3 Dec, 2004
PSOLA is not the same as SOLAFS, they are both off shoots of the SOLA method, but they are not the same (hence the different letters).
SOLAFS employs a varying window size and does not rely on any fundamental pitch.
SOLAFS employs a varying window size and does not rely on any fundamental pitch.


