[Csnd] "phase reversal" "soft sync"
Date | 2014-01-13 21:15 |
From | cameron bobro |
Subject | [Csnd] "phase reversal" "soft sync" |
Tallying up various synthesis techniques which I've found good for responsive performance, I did not come across any simple documentation of this basic but powerful technique when googling around. So, for anyone who might be interested, here is the core idea of an implementation of "phase-reversal soft-sync" which is easy as pie to do in Csound and I would guess almost as easy to implement in Max/Msp, Pd, Reaktor and so on. kMod poscil3 kModAmp, kModCps, ifn if (kMod >= 0) then kMod = 1 elseif (kMod < 0) then kMod = -1 endif aSound poscil3 kAmp, kCps*kMod, ifn aSound dcblock aSound What happens is that whenever kMod, the modulating signal, dips below 0 (ie, is in a negative phase state), the frequency at which the oscillator aSound is read becomes negative, which means that the index into the wavetable reads
*backwards*. This creates a sync-type effect. When the modulating oscillator is in positive phase or at zero (whether at a zero crossing or because the amplitude of the modulator is zero), the frequency (rate of index into the wavetable) of aSound is read forward, unchanged (it is simply the standard indexing multiplied by one). The index moves backwards and forwards from whatever point in the table it is at, rather than leaping to a zero as it would in the reset of "hard" sync, or wrapping around from who-knows-what amplitude to zero as it does in phase advance sync. So, no discontinuities and their associated aliasing. It is also possible to "rewrite" classic hard-sync resultant shapes but gauge them so as not to alias. Those familiar with these things will notice that I'm not using the traditional "master" and "slave" paradigm, which I think is misleading. Like many other techniques in digital synthesis, this boils down to index modulation. |
Date | 2014-01-14 04:26 |
From | Jim Aikin |
Subject | [Csnd] Re: "phase reversal" "soft sync" |
Thanks for the tip. This produces anything from a nice rolling sync sound to insane gargling, depending on how I tweak the values. For best results, ksmps=1. For gargling, flip from positive to negative phase somewhere other than zero.... -- View this message in context: http://csound.1045644.n5.nabble.com/phase-reversal-soft-sync-tp5731599p5731624.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2014-02-06 14:57 |
From | Steven Yi |
Subject | Re: [Csnd] Re: "phase reversal" "soft sync" |
Hi Jim and Cameron, First, thanks Cameron for posting this! I wanted to ask, do either of you have a CSD example you could post here? Thanks! steven On Mon, Jan 13, 2014 at 11:26 PM, Jim Aikin |
Date | 2014-02-07 15:32 |
From | cameron bobro |
Subject | Re: [Csnd] Re: "phase reversal" "soft sync" |
Hi Steven, I'll try to get a csd up tomorrow. I don't use MIDI or the score for my own work, but pitch/amp following of acoustic playing, so I'll have to modify a csd to work for others! -Cameron From: Steven Yi <stevenyi@gmail.com> To: Csound <csound@lists.bath.ac.uk> Sent: Thursday, February 6, 2014 3:57 PM Subject: Re: [Csnd] Re: "phase reversal" "soft sync" Hi Jim and Cameron, First, thanks Cameron for posting this! I wanted to ask, do either of you have a CSD example you could post here? Thanks! steven On Mon, Jan 13, 2014 at 11:26 PM, Jim Aikin <midiguru23@sbcglobal.net> wrote: > Thanks for the tip. This produces anything from a nice rolling sync sound to > insane gargling, depending on how I tweak the values. For best results, > ksmps=1. For gargling, flip from positive to negative phase somewhere other > than zero.... > > > > -- > View this message in context: http://csound.1045644.n5.nabble.com/phase-reversal-soft-sync-tp5731599p5731624.html > Sent from the Csound - General mailing list archive at Nabble.com. > > > Send bugs reports to the Sourceforge bug trackers > csound6: > https://sourceforge.net/p/csound/tickets/ > csound5: > https://sourceforge.net/p/csound/bugs/ > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > > Send bugs reports to the Sourceforge bug trackers csound6: https://sourceforge.net/p/csound/tickets/ csound5: https://sourceforge.net/p/csound/bugs/ Discussions of bugs and features can be posted here To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" |
Date | 2014-02-07 17:40 |
From | Jim Aikin |
Subject | [Csnd] Re: "phase reversal" "soft sync" |
Here you go, Steven. ********************** |
Date | 2014-02-07 18:20 |
From | Steven Yi |
Subject | Re: [Csnd] Re: "phase reversal" "soft sync" |
Hi Jim and Cameron, Thanks very much! The example Jim posted is neat. It made me look up the Oscillator Sync article on Wikipedia[1] that describes "Reversing Sync". From there I saw Eli Brandt's paper "Hard Sync without Aliasing"[2], and a nice video demoing sync on the Moog Little Phatty. I hadn't thought about sync or had much experience using it in the past. I'll be looking forward to experimenting with this reversal sync and looking into that paper. Thanks again! steven [1] - http://en.wikipedia.org/wiki/Oscillator_sync [2] - http://www.cs.cmu.edu/~eli/papers/icmc01-hardsync.pdf [3] - http://www.youtube.com/watch?v=INqbAWnbstI On Fri, Feb 7, 2014 at 12:40 PM, Jim Aikin |
Date | 2014-02-07 19:05 |
From | Rory Walsh |
Subject | Re: [Csnd] Re: "phase reversal" "soft sync" |
Attachments | softsync.csd |
Here's a version that doesn't need ksmps to be 1. Thanks for posting, this is going to make a nice plugin. On 7 February 2014 18:20, Steven Yi |
Date | 2014-02-07 22:47 |
From | zappfinger |
Subject | [Csnd] Re: "phase reversal" "soft sync" |
Nice one Rory! Add some delay, modulation and play it like Jordan! Richard -- View this message in context: http://csound.1045644.n5.nabble.com/phase-reversal-soft-sync-tp5731599p5732441.html Sent from the Csound - General mailing list archive at Nabble.com. |