Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hey Marius Thanks for the quick reply.
I have now tried vd~, but I still encounter clicks noises when I change delay time.
audiosignal | [delwrite testname 2000]
delaytime | [sig~] | [vd~ testname] | audioout+back to delwrite
Do the click noises has something to do with the samplelength in delwrite~? (and can it at all be changed on the fly?)
/Bjørn
On Fri, Mar 27, 2009 at 00:13, marius schebella marius.schebella@gmail.com wrote:
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I think what you are talking about is zipper noise --- when you change the value sent to [vd~] what you are hearing is a discontinuity in the audio caused by the discontinuity between the new value and the previous value sent to [vd~]. Smooth your "trip" between the values with [line~]. Try something like this:
delaytime | [$1 100( | [line~] | [vd~ testname]
Play with the 2nd parameter in the message sent to line (shown as 100 above). I don't know how much "doppler effect" you are going to want to replace your clicks.
-John
Bjørn Nielsen wrote:
Hey Marius Thanks for the quick reply.
I have now tried vd~, but I still encounter clicks noises when I change delay time.
audiosignal | [delwrite testname 2000]
delaytime | [sig~] | [vd~ testname] | audioout+back to delwrite
Do the click noises has something to do with the samplelength in delwrite~? (and can it at all be changed on the fly?)
/Bjørn
On Fri, Mar 27, 2009 at 00:13, marius schebella marius.schebella@gmail.com wrote:
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hi again, vd~ allows you to be controlled via a dsp signal (as opposed to a message inlet which only gets updated every 1,6 ms or so) and thus allows you to smoothly change the delay time. but you have to do do an interpolation between the messages you are feeding into it, and the best way to do this is with [line~].
[numberbox
|
[line $1 100(
|
[vd~ del]
marius.
Bjørn Nielsen wrote:
Hey Marius Thanks for the quick reply.
I have now tried vd~, but I still encounter clicks noises when I change delay time.
audiosignal | [delwrite testname 2000]
delaytime | [sig~] | [vd~ testname] | audioout+back to delwrite
Do the click noises has something to do with the samplelength in delwrite~? (and can it at all be changed on the fly?)
/Bjørn
On Fri, Mar 27, 2009 at 00:13, marius schebella marius.schebella@gmail.com wrote:
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Thanks Marius, Frank & John
I got rid of the click noises now by doing this
[numberbox
|
[pack $f1 50]
|
[line~]
|
[vd~ testreadname]
But the pitch shifting it does while changing delay time is quite weird, so I think I will look into Franks example of doing this.
/ Bjørn
On Fri, Mar 27, 2009 at 07:08, marius schebella marius.schebella@gmail.com wrote:
hi again, vd~ allows you to be controlled via a dsp signal (as opposed to a message inlet which only gets updated every 1,6 ms or so) and thus allows you to smoothly change the delay time. but you have to do do an interpolation between the messages you are feeding into it, and the best way to do this is with [line~].
[numberbox
| [line $1 100( | [vd~ del]marius.
Bjørn Nielsen wrote:
Hey Marius Thanks for the quick reply.
I have now tried vd~, but I still encounter clicks noises when I change delay time.
audiosignal | [delwrite testname 2000]
delaytime | [sig~] | [vd~ testname] | audioout+back to delwrite
Do the click noises has something to do with the samplelength in delwrite~? (and can it at all be changed on the fly?)
/Bjørn
On Fri, Mar 27, 2009 at 00:13, marius schebella marius.schebella@gmail.com wrote:
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
from your first email, it sounds like you are expecting a pitch shift. So how does the pitch shift you are hearing differ from what you are expecting i.e. define "weird." I take it you tried different numbers where the 50 is i.e. 500 etc.? Still weird?
It seemed to me that Frank thought you wanted to build a pitch shifter using the delay effect.
-John
Bjørn Nielsen wrote:
Thanks Marius, Frank & John
I got rid of the click noises now by doing this
[numberbox
| [pack $f1 50] | [line~] | [vd~ testreadname]But the pitch shifting it does while changing delay time is quite weird, so I think I will look into Franks example of doing this.
/ Bjørn
On Fri, Mar 27, 2009 at 07:08, marius schebella marius.schebella@gmail.com wrote:
hi again, vd~ allows you to be controlled via a dsp signal (as opposed to a message inlet which only gets updated every 1,6 ms or so) and thus allows you to smoothly change the delay time. but you have to do do an interpolation between the messages you are feeding into it, and the best way to do this is with [line~].
[numberbox
| [line $1 100( | [vd~ del]marius.
Bjørn Nielsen wrote:
Hey Marius Thanks for the quick reply.
I have now tried vd~, but I still encounter clicks noises when I change delay time.
audiosignal | [delwrite testname 2000]
delaytime | [sig~] | [vd~ testname] | audioout+back to delwrite
Do the click noises has something to do with the samplelength in delwrite~? (and can it at all be changed on the fly?)
/Bjørn
On Fri, Mar 27, 2009 at 00:13, marius schebella marius.schebella@gmail.com wrote:
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
from your first email, it sounds like you are expecting a pitch shift. So how does the pitch shift you are hearing differ from what you are expecting i.e. define "weird." I take it you tried different numbers where the 50 is i.e. 500 etc.? Still weird?
Yeah I tried different line ramp numbers, and it change the pitch shifting to deeper frequencies the longer the line ramp is. And the longer the ramp is it feels more unresponsive, since the long ramp.
But the thing that really differs from an analog delays (with tapes) is that it is only changing pitch when you change the delaytime value at the same time as a sound come through. If you makes a short note, pass it through the delay with a 1sec delay and in the pause between to delayed notes change the delay time to 1/2 sec, it won't change pitch.
The sound while it change pitch do not sound very smoothly. It has a definitely digital sound, like a whammy effect. I would like it to have as much analog feeling as possible.
It seemed to me that Frank thought you wanted to build a pitch shifter using the delay effect.
Maybe he did? But I find the example interesting, because my max/msp friend said that he had made an delay effect that changed delay time smoothly but without pitch change, also with shifting between to delay chains. So I will see if can tweak it around for my purpose.
:-) Bjørn
Bjørn Nielsen wrote:
Thanks Marius, Frank & John
I got rid of the click noises now by doing this
[numberbox
| [pack $f1 50] | [line~] | [vd~ testreadname]But the pitch shifting it does while changing delay time is quite weird, so I think I will look into Franks example of doing this.
/ Bjørn
On Fri, Mar 27, 2009 at 07:08, marius schebella marius.schebella@gmail.com wrote:
hi again, vd~ allows you to be controlled via a dsp signal (as opposed to a message inlet which only gets updated every 1,6 ms or so) and thus allows you to smoothly change the delay time. but you have to do do an interpolation between the messages you are feeding into it, and the best way to do this is with [line~].
[numberbox
| [line $1 100( | [vd~ del]marius.
Bjørn Nielsen wrote:
Hey Marius Thanks for the quick reply.
I have now tried vd~, but I still encounter clicks noises when I change delay time.
audiosignal | [delwrite testname 2000]
delaytime | [sig~] | [vd~ testname] | audioout+back to delwrite
Do the click noises has something to do with the samplelength in delwrite~? (and can it at all be changed on the fly?)
/Bjørn
On Fri, Mar 27, 2009 at 00:13, marius schebella marius.schebella@gmail.com wrote:
hi Bjørn, maybe vd~ (variable delay) is what you're looking for? marius.
Bjørn Nielsen wrote:
Hey PD list This is my first mail to the list and I am a newbie in PD, so please bear with me.
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch. My max/msp friend said I should instead of clipping the sample, make it run faster. So I tried to figure if that was possible with delread~, vd~ or using arrays instead with tabread(4)~, but I have not found the golden key yet.
I would be very happy if somebody could lead me in right direction. Thanks, Bjørn
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- John Harrison http://alumni.media.mit.edu/~harrison
Hallo, Bj?rn Nielsen hat gesagt: // Bj?rn Nielsen wrote:
But the thing that really differs from an analog delays (with tapes) is that it is only changing pitch when you change the delaytime value at the same time as a sound come through. If you makes a short note, pass it through the delay with a 1sec delay and in the pause between to delayed notes change the delay time to 1/2 sec, it won't change pitch.
Yeah, that's actually how pitch shifting and delays work. If the delay time is not changing, you also don't hear a pitch change. Only while the delay time changes you get a pitchshifting effect.
That's the Doppler effect: If you sit in a police car, you don't hear a pitch change of the horn, but if it passes you, the time the signal needs to reach you is changing with the distance, and that makes the Doppler sound. If you want pitchshifting, check out the example patch, it should do what you want.
Frank
Are you suggesting that you've spent a lot of time in police cars thinking about this!
2009/3/27 Frank Barknecht fbar@footils.org:
Hallo, Bj?rn Nielsen hat gesagt: // Bj?rn Nielsen wrote:
But the thing that really differs from an analog delays (with tapes) is that it is only changing pitch when you change the delaytime value at the same time as a sound come through. If you makes a short note, pass it through the delay with a 1sec delay and in the pause between to delayed notes change the delay time to 1/2 sec, it won't change pitch.
On Fri, 2009-03-27 at 13:35 +0100, Bjørn Nielsen wrote:
from your first email, it sounds like you are expecting a pitch shift. So how does the pitch shift you are hearing differ from what you are expecting i.e. define "weird." I take it you tried different numbers where the 50 is i.e. 500 etc.? Still weird?
Yeah I tried different line ramp numbers, and it change the pitch shifting to deeper frequencies the longer the line ramp is. And the longer the ramp is it feels more unresponsive, since the long ramp.
But the thing that really differs from an analog delays (with tapes) is that it is only changing pitch when you change the delaytime value at the same time as a sound come through. If you makes a short note, pass it through the delay with a 1sec delay and in the pause between to delayed notes change the delay time to 1/2 sec, it won't change pitch.
i guess, there is no conceptual difference between analog and digital delay lines. they both work pretty much the same. while the delay is changing, there is a pitchshift. probably the only difference between tape delays and digital delays is, that you probably rather switch between several playheads instead of changing the position of one singleplayhead in a tape delay. in digital domain, it is very easy to do one or the other or both.
however, many tape delays have multiple heads anyway and you can switch them on and off as you need them. it's not very difficult to do the same in pd. you just need a [delwrite~] feeding several [delread~]s. you could also build a pitchshifting-less 'delay switcher' with to [delread~]s by fading the first [delread~] out, while the second [delread~] is faded in. so whenever you change delay time, one comes in and the other fades out, alternatingly.
The sound while it change pitch do not sound very smoothly. It has a definitely digital sound, like a whammy effect. I would like it to have as much analog feeling as possible.
if you are decreasing the delay time, the sound is pitched up and depending on the frequency spectrum of the signal and how fast you decrease the time, you get more or less aliasing effects.
roman
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de
Hallo, Bj?rn Nielsen hat gesagt: // Bj?rn Nielsen wrote:
This is my first mail to the list and I am a newbie in PD, so please bear with me.
We're going to stompbox you hard! No, of course not, welcome on board! ;)
I am trying to make a patch that simulates the delay effects I use as a stompbox for my guitar. I.e. a signal delay line, with a parameter of feedback and a parameter of delay time. While changing the delay time parameter the ongoing sampled part should change pitch.
My first attempt (as in the attached patch) is to use delread~/delwrite~, but changing the lenght of the sampled part in delread~ makes a lot of clicks noises (which can be fun, but not what I intended) and it do not change pitch.
So you want to use the delay effect as a pitchshifter.
Pitchshifting with a delay works by constantly changing the delay time, i.e. making it continously become slower or faster. (Using a not changing, constant delay would not change pitch, it just delays the signal.) For that you should drive your delay reader with an audio signal, otherwise you don't get constant pitch shifting, but jumps which are audible as clicks.
The object to use when you want variable delay times is called [vd~], it takes a signal input. To get a constantly growing delay time, you could for example drive it by a [phasor~], multiplied by some scalign factor.
But now at some point in time the phasor~ will wrap around and restart at 0 or you may even reach the end of the delay buffer. To work against that you can use overlapping and windowed phasors which you make by adding 0.5 to a phasor~ and applying [wrap~] to that signal path to get a second phasor~-like signal that is half out ouf phase to the original.
Then you drive two [vd~] objects with these phasor~s and add them together. With the correct windowing they sound almost like one delay.
This procedure is implemented in the example 3.audio.examples/G09.pitchshift.pd and a more verbose explanation is in Miller Puckette's book (which also explains the strange-looking multiplication by 0.05776 in the example.)
See http://crca.ucsd.edu/~msp/techniques/latest/book-html/node115.html and http://crca.ucsd.edu/~msp/techniques/latest/book-html/node125.html
Frank