[Csnd] doppler shift options
| Date | 2011-11-12 17:06 |
| From | Andrew Lyons |
| Subject | [Csnd] doppler shift options |
| Hi, I'm resurrecting an old system for sound spatialisation after a 10 year rest, and I wanted to quickly survey if there are any new approaches to doppler pitch shifting in Csound besides the pvanal/pvoc approach I used originally. Some requirements: 1./ Ideally I can pitch shift in a single pass - rather than a two stage process. I'd like to pass a pitch control k-rate channel and a sound source, and get a doppler shifted sound back. 2./ The system can't alter the length (time domain) of the audio. Are there any new ways to do this kind of thing? Thanks! Cheers -- ======================================= Andrew D Lyons | Digital Artist | http://www.tstex.com ======================================= |
| Date | 2011-11-12 18:01 |
| From | Victor Lazzarini |
| Subject | Re: [Csnd] doppler shift options |
The first solution would be to pitch shift using pvsanal + pvscale + pvsynth, if you want to get any input signal. Another alternative, is to use a time-domain pitchshifter with delay lines. If you are reading from file, pvstanal, temposcal and mincer could also do the job. On 12 Nov 2011, at 17:06, Andrew Lyons wrote: Hi, Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie |
| Date | 2011-11-12 18:12 |
| From | Victor Lazzarini |
| Subject | Re: [Csnd] doppler shift options |
| By the way, if you're wondering about the delay pitchshifter: http://www.csounds.com/udo/displayOpcode.php?opcode_id=157 On 12 Nov 2011, at 18:01, Victor Lazzarini wrote:
Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie |
| Date | 2011-11-12 21:32 |
| From | joachim heintz |
| Subject | Re: [Csnd] doppler shift options |
have you tried the doppler opcode?
i haven't used it yet; i just know it's there. perhaps it fits for your
requirements.
best -
joachim
Am 12.11.2011 18:06, schrieb Andrew Lyons:
> Hi,
>
> I'm resurrecting an old system for sound spatialisation after a 10 year
> rest, and I wanted to quickly survey if there are any new approaches to
> doppler pitch shifting in Csound besides the pvanal/pvoc approach I used
> originally. Some requirements:
>
> 1./ Ideally I can pitch shift in a single pass - rather than a two stage
> process. I'd like to pass a pitch control k-rate channel and a sound
> source, and get a doppler shifted sound back.
>
> 2./ The system can't alter the length (time domain) of the audio.
>
> Are there any new ways to do this kind of thing? Thanks!
>
> Cheers
>
> --
> =======================================
> Andrew D Lyons | Digital Artist | http://www.tstex.com
> =======================================
Send bugs reports to the Sourceforge bug tracker
https://sourceforge.net/tracker/?group_id=81968&atid=564599
Discussions of bugs and features can be posted here
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
|
| Date | 2011-11-13 10:14 |
| From | menno |
| Subject | Re: [Csnd] doppler shift options |
There is also the space/spdist combination. And in the manual there is an example that uses the doppler effect: http://www.csounds.com/manual/html/spdist.html but, Menno -------------My music----------------- http://www.jamendo.com/de/album/6789/ http://www.jamendo.com/en/album/7428/ -------------My work----------------- http://members.home.nl/mag.knevel/ --- On Sat, 11/12/11, joachim heintz |
| Date | 2011-11-13 11:22 |
| From | Victor Lazzarini |
| Subject | Re: [Csnd] doppler shift options |
I also have these two UDOs that might be handy. They calculate doppler and also amp w.r.t. distance. ===== /* inputs are sig, abs distance, speed of sound */ opcode Doppler,a,aai asource,adist,ic xin adist tone adist, 10 ; smooth changes in direction adel = adist/ic adump delayr 1 ; max delay adopp deltap3 adel ; var delay delayw asource ; delay input amin init 1 ; min dist 1 m adist max adist, amin ampfac = 1/adist xout adopp*ampfac endop /* inputs are sig, distance (0 > left, 0 < right), speed of sound, max absolute distance */ opcode StereoDoppler,aa,aaii asource,apos,ic,imax xin asig Doppler asource,abs(apos),ic apan = apos/imax ap1 = (sqrt(2)/2)*(1-apan/sqrt(1+(apan*apan))) ap2 = (sqrt(2)/2)*(1+apan/sqrt(1+(apan*apan))) xout asig*ap1, asig*ap2 endop ==== example: instr 1 ipos1 = p4 ipos2 = p5 ic = 344 ; speed of sound kenv linen 0.5, .1, p3, .1 ; source sound envelope asource buzz kenv, p6, 20, 1 ; source sound generator apos linseg ipos1, p3, ipos2 ; moving the source imax1 = abs(ipos1) imax2 = abs(ipos2) a1,a2 StereoDoppler asource,apos,ic,(imax1 > imax2 ? imax1 : imax2) outs a1, a2 endin On 13 Nov 2011, at 10:14, menno wrote: > There is also the space/spdist combination. And in the manual there > is an example that uses the doppler effect: http://www.csounds.com/manual/html/spdist.html > > but, > Menno > > -------------My music----------------- > http://www.jamendo.com/de/album/6789/ > http://www.jamendo.com/en/album/7428/ > -------------My work----------------- > http://members.home.nl/mag.knevel/ > > > --- On Sat, 11/12/11, joachim heintz |