Csound Csound-dev Csound-tekno Search About

[Csnd] delay based pitch shift

Date2022-08-17 19:38
Fromjoachim heintz
Subject[Csnd] delay based pitch shift
hi all -

i wrote a UDO to implement a pitch shift in real-time based on variable 
delay lines:
https://github.com/csudo/csudo/blob/master/misc/DelTp.csd

it is based on victor's version in the springer csound book, but with 
some (hopefully) improvements. in particular the delay line has a 
flexible length which seems to minimized artefacts but nevertheless a 
very short latency (< 0.01 sec).

i am sure here are experts in this field around.  so if anyone has any 
comment, or just can try with some own sounds, i appreciate a feedback.

best -
	joachim

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2022-08-17 20:07
From"Jeanette C."
SubjectRe: [Csnd] delay based pitch shift
Aug 17 2022, joachim heintz has written:

> hi all -
>
> i wrote a UDO to implement a pitch shift in real-time based on variable delay 
> lines:
> https://github.com/csudo/csudo/blob/master/misc/DelTp.csd
...
Interesting, the quality is good, but the pitch shift value is oddly
scaled. Trying with a sine a pitch shift value of 1.6 equals a shift of
an octave. The factor seems constant though, since a pitch shift of:
1.6 * semitone(-5)
results in a fifth upwards.
That aside, it does sound very good and rather cleaner than a few other
implementations I have heard.

Best wishes and thanks a lot,

Jeanette

-- 
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

Here I go, on my own now <3
(Britney Spears)

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2022-08-17 20:15
From"Jeanette C."
SubjectRe: [Csnd] delay based pitch shift
Addendum, applying it to a monophonic, melodious signal, it seems that the 
pitch shift is uncorrelated to the notes somehow. More like shifting by a 
fixed frequency in Hz rather than a factor. I tried this with a fixed deltay 
time. Varying the delays adds extra vibrato.

Aug 17 2022, Jeanette C. has written:

> Aug 17 2022, joachim heintz has written:
>
>>  hi all -
>>
>>  i wrote a UDO to implement a pitch shift in real-time based on variable
>>  delay lines:
>>  https://github.com/csudo/csudo/blob/master/misc/DelTp.csd
> ...
> Interesting, the quality is good, but the pitch shift value is oddly
> scaled. Trying with a sine a pitch shift value of 1.6 equals a shift of
> an octave. The factor seems constant though, since a pitch shift of:
> 1.6 * semitone(-5)
> results in a fifth upwards.
> That aside, it does sound very good and rather cleaner than a few other
> implementations I have heard.
>
> Best wishes and thanks a lot,
>
> Jeanette
>
> --
>  * Website: http://juliencoder.de - for summer is a state of sound
>  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
>  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
>  * GitHub: https://github.com/jeanette-c
>
> Here I go, on my own now <3
> (Britney Spears)
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
>       https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>

-- 
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

Here I go, on my own now <3
(Britney Spears)

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2022-08-17 20:25
Fromjoachim heintz
SubjectRe: [Csnd] delay based pitch shift
thanks for testing!  yes now i see that my example was hiding the effect 
of changing the delay time constantly, because i used words and glissando.

the scaling is correct, i think, but only when the delay time is fixed. 
  for instance
	kPitchShift = 3/2
	kDelTim = 0.01
really results in a perfect fifth.

it might be necessary to sync the changes of the delay line, rather than 
floating all the time.  hmmm ...

cheers -	
	joachim


On 17/08/2022 21:15, Jeanette C. wrote:
> Addendum, applying it to a monophonic, melodious signal, it seems that 
> the pitch shift is uncorrelated to the notes somehow. More like shifting 
> by a fixed frequency in Hz rather than a factor. I tried this with a 
> fixed deltay time. Varying the delays adds extra vibrato.
> 
> Aug 17 2022, Jeanette C. has written:
> 
>> Aug 17 2022, joachim heintz has written:
>>
>>>  hi all -
>>>
>>>  i wrote a UDO to implement a pitch shift in real-time based on variable
>>>  delay lines:
>>>  https://github.com/csudo/csudo/blob/master/misc/DelTp.csd
>> ...
>> Interesting, the quality is good, but the pitch shift value is oddly
>> scaled. Trying with a sine a pitch shift value of 1.6 equals a shift of
>> an octave. The factor seems constant though, since a pitch shift of:
>> 1.6 * semitone(-5)
>> results in a fifth upwards.
>> That aside, it does sound very good and rather cleaner than a few other
>> implementations I have heard.
>>
>> Best wishes and thanks a lot,
>>
>> Jeanette
>>
>> -- 
>>  * Website: http://juliencoder.de - for summer is a state of sound
>>  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
>>  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
>>  * GitHub: https://github.com/jeanette-c
>>
>> Here I go, on my own now <3
>> (Britney Spears)
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>>       https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
>>
> 

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here