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
interpolated delays and delaytimechanges?
17 posts
• Page 1 of 2 • 1, 2
interpolated delays and delaytimechanges?
hi all,
i`m working on a delay with modulated time after trying out different interpolated versions i see the same problem everywhere, when delay time changes there is always this "grainy pitch effects" happening, pitch down when time goes longer and pitch up when time goes shorter
how could i avoid this effect on fast time changes.... it really makes my delay unusable
i was reading about to "window" the delay buffer in SM Forum, trying to follow cyto`s delays.. but no way to follow his advanced asm coding..
i`m working on a delay with modulated time after trying out different interpolated versions i see the same problem everywhere, when delay time changes there is always this "grainy pitch effects" happening, pitch down when time goes longer and pitch up when time goes shorter
how could i avoid this effect on fast time changes.... it really makes my delay unusable
i was reading about to "window" the delay buffer in SM Forum, trying to follow cyto`s delays.. but no way to follow his advanced asm coding..
Last edited by Nubeat7 on Wed Nov 13, 2013 1:24 pm, edited 1 time in total.
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: interpolated delays and fast delaytimechanges?
Remove "hop" or at least reduce it to range somewhere between 2 and 32 (in ASM values are like "hop-1", because they are counted from 0). And check all modules for hop setting on that line. Max hop should not exceed your desired max.
If this does not helps, then I don't know. But let know if this worked.
hop=32 means, that at 44100Hz samplerate, you have only 1.4kHz resolution (or to be more precise - half of it?); anyway any modulator will start grainy far below that ("squared sinus" so to speak).
For balancing performance - just see how it works. hop=2, CPU usage reduction = 50%. But there is no big difference with hop 32 and 64, because both - 1/32 and 1/64 are only a fraction of your CPU (1.5-3% of non-hoped).
If this does not helps, then I don't know. But let know if this worked.
hop=32 means, that at 44100Hz samplerate, you have only 1.4kHz resolution (or to be more precise - half of it?); anyway any modulator will start grainy far below that ("squared sinus" so to speak).
For balancing performance - just see how it works. hop=2, CPU usage reduction = 50%. But there is no big difference with hop 32 and 64, because both - 1/32 and 1/64 are only a fraction of your CPU (1.5-3% of non-hoped).
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
Re: interpolated delays and fast delaytimechanges?
this has nothing to do with hopping, when changing time on interpolated delays it introduces this pitch shifting artifact, i`m lookingfor ways to reduce this effect..
here is some good information that i found about, sadly my dsp skills are not the best
http://msp.ucsd.edu/techniques/latest/b ... de113.html
https://ccrma.stanford.edu/~jos/pasp/Fr ... inear.html
here is some good information that i found about, sadly my dsp skills are not the best
http://msp.ucsd.edu/techniques/latest/b ... de113.html
https://ccrma.stanford.edu/~jos/pasp/Fr ... inear.html
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: interpolated delays and fast delaytimechanges?
Well... when delay time changes that actually mean that playback speed changes and that naturally results in pitch shifting. Time domain pitch shifters (like tempophon) actually use this effect to change the pitch. Or flanger effect uses modulated delay, to create variations in phrasing and pitch.
If yo what to avoid this effect only thing that comes to my mind is pitch shifting to compensate the pitch change. For example when delay decreases one sample per sample it means the playback speed is doubled and therefore pitch is doubled. You simply put an pitch shifter octave down after the delay.
If yo what to avoid this effect only thing that comes to my mind is pitch shifting to compensate the pitch change. For example when delay decreases one sample per sample it means the playback speed is doubled and therefore pitch is doubled. You simply put an pitch shifter octave down after the delay.
- KG_is_back
- Posts: 1196
- Joined: Tue Oct 22, 2013 5:43 pm
- Location: Slovakia
Re: interpolated delays and fast delaytimechanges?
I see. Anyway hoping also would produce grainy/unstable effects when modulating (tested).
When modulating delay - pitch change is natural to expect, because you expand and compress time, thus - pitch. You can't modulate delay without having pitch changes. Fast modulation = great pitch change.
Sure, you could try, but at some cost. As far I remember, it would require spliting the sound into fractions, applying delays to these fractions, and crossfading these fractions. But it would produce blurry sound.
//edit:
KG might be right. Try to combine delay with Trogs module for frequency shifting. It could work to some degree.
http://synthmaker.co.uk/forum/viewtopic ... &sk=t&sd=a
When modulating delay - pitch change is natural to expect, because you expand and compress time, thus - pitch. You can't modulate delay without having pitch changes. Fast modulation = great pitch change.
Sure, you could try, but at some cost. As far I remember, it would require spliting the sound into fractions, applying delays to these fractions, and crossfading these fractions. But it would produce blurry sound.
//edit:
KG might be right. Try to combine delay with Trogs module for frequency shifting. It could work to some degree.
http://synthmaker.co.uk/forum/viewtopic ... &sk=t&sd=a
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
Re: interpolated delays and fast delaytimechanges?
thanks for replies, but putting a pitchshifter after the delay will be pretty cpu expensive..
also it just happens while changing time so there are 2 issues, the time of the pitchshift and the direction...
would there be a way to manipulate the playspeed while time is changing directly inside the delay?
one of most promising solutions i read about would be a crossfade on timechange which would be useful on bigger jumps like different synced times https://ccrma.stanford.edu/~jos/pasp/La ... anges.html
this would be that a ccross-fade occurs from one read-pointer to another.
also it just happens while changing time so there are 2 issues, the time of the pitchshift and the direction...
would there be a way to manipulate the playspeed while time is changing directly inside the delay?
one of most promising solutions i read about would be a crossfade on timechange which would be useful on bigger jumps like different synced times https://ccrma.stanford.edu/~jos/pasp/La ... anges.html
this would be that a ccross-fade occurs from one read-pointer to another.
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: interpolated delays and fast delaytimechanges?
So instead of "delay", you should look for "time stretch" modules. Using modulation on them - they will act as such "delay without pitch shifting".
But there is a but. I don't know how fast is your modulation, so you may need extreme time stretching/compressing. The only thing that comes to my mind is Paul's Extreme Sound Stretch:
http://hypermammut.sourceforge.net/paulstretch/
I would also check SM forum for time stretching solutions, maybe one of them has better smoothing. Maybe here is something:
http://synthmaker.co.uk/forum/viewtopic ... 81&p=90773
But there is a but. I don't know how fast is your modulation, so you may need extreme time stretching/compressing. The only thing that comes to my mind is Paul's Extreme Sound Stretch:
http://hypermammut.sourceforge.net/paulstretch/
I would also check SM forum for time stretching solutions, maybe one of them has better smoothing. Maybe here is something:
http://synthmaker.co.uk/forum/viewtopic ... 81&p=90773
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
Re: interpolated delays and fast delaytimechanges?
tester wrote:So instead of "delay", you should look for "time stretch" modules. Using modulation on them - they will act as such "delay without pitch shifting".
But there is a but. I don't know how fast is your modulation, so you may need extreme time stretching/compressing. The only thing that comes to my mind is Paul's Extreme Sound Stretch:
http://hypermammut.sourceforge.net/paulstretch/
could you port it and build a delay out of it, because i have no idea how to use timestrech as delay?
-
Nubeat7 - Posts: 1347
- Joined: Sat Apr 14, 2012 9:59 am
- Location: Vienna
Re: interpolated delays and fast delaytimechanges?
Nubeat7 wrote:one of most promising solutions i read about would be a crossfade on timechange which would be useful on bigger jumps like different synced times https://ccrma.stanford.edu/~jos/pasp/La ... anges.html
this would be that a ccross-fade occurs from one read-pointer to another.
To me this seems the right way to go. The pitch shifter alternative is vast overkill and likely to introduce more artifacts.
-
martinvicanek - Posts: 1328
- Joined: Sat Jun 22, 2013 8:28 pm
Re: interpolated delays and fast delaytimechanges?
Nubeat7 wrote:tester wrote:So instead of "delay", you should look for "time stretch" modules. Using modulation on them - they will act as such "delay without pitch shifting".
But there is a but. I don't know how fast is your modulation, so you may need extreme time stretching/compressing. The only thing that comes to my mind is Paul's Extreme Sound Stretch:
http://hypermammut.sourceforge.net/paulstretch/
could you port it and build a delay out of it, because i have no idea how to use timestrech as delay?
Ask Martin or MyCo - would be cool to see this one ported to FS. I like this engine, because adjusting the windowing correctly - produces really nice effect.
As for using time stretch as delay - it is simple and not simple. For static delay - you need real delay, and nothing else. But if you wish to modulate it without pitch change (i.e. without doppler effect), then you may need delay (optional; serves as static offset if needed), and you will need time stretch module, that will be modulated. Time stretch: when you expand time of a sound, and have both (processed and original) played paralel, then expanded signal get's delayed to original source (just draw a sine wave and expanded sine wave, to see how it works), and when it's compressed back, then that delay gets to zero. So in essence you just use the "stretch" node (the one where you put these numbers like 50% or 120% for defining amount of stretching) for modulation, and scale input modulator either to sort of 0-1 range to go only one way (depends on how expand/compress is defined), or leave it symmetric in relation to null value (eqivalent of "100%" or 1:1), to go both ways.
I don't know how simpler to explain in words, have no FS under my hand.
Need to take a break? I have something right for you.
Feel free to donate. Thank you for your contribution.
Feel free to donate. Thank you for your contribution.
- tester
- Posts: 1786
- Joined: Wed Jan 18, 2012 10:52 pm
- Location: Poland, internet
17 posts
• Page 1 of 2 • 1, 2
Who is online
Users browsing this forum: No registered users and 35 guests