Solina Chorus
Date | 2016-05-23 03:06 |
From | Steven Yi |
Subject | Solina Chorus |
Hi All, I've put together a solina_chorus UDO that emulates the Solina String Ensemble's chorus module. The UDO and test file are available at: https://github.com/kunstmusik/libsyi/blob/master/solina_chorus.udo https://github.com/kunstmusik/libsyi/blob/master/tests/solina_chorus.csd and an audio rendering of the test is avaialble at: http://kunstmusik.com/solina_chorus.mp3 It's based on information from J. Haible's Triple Chorus: http://jhaible.com/legacy/triple_chorus/triple_chorus.html and the Reaktor Solina-V module by Hugo Portillo: 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 |
Date | 2016-05-23 03:11 |
From | Steven Yi |
Subject | Re: Solina Chorus |
(sorry, accidentally hit send before finishing the email!) and the Reaktor Solina-V module by Hugo Portillo: http://www.native-instruments.com/en/reaktor-community/reaktor-user-library/entry/show/4525/ The UDO takes in an audio signal and a pair of LFO frequency and amplitude values. The output is a mono chorused signal. The Reaktor module implements a pair of delay lines for L+R stereo processing, but I went with a mono implementation as it seemed closer to what would have been found on the String Ensemble and in the J. Haible Triple Chorus. It sounded good to my ears in its current shape so I thought it worth releasing, but any suggestions for improvement are welcome. Thanks! steven On Sun, May 22, 2016 at 10:06 PM, Steven Yi |
Date | 2016-05-23 03:25 |
From | Michael Gogins |
Subject | Re: Solina Chorus |
Very nice! I'll use it. Thanks, On May 22, 2016 10:06 PM, "Steven Yi" <stevenyi@gmail.com> wrote:
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
Hi All, |
Date | 2016-05-23 03:30 |
From | Justin |
Subject | Re: Solina Chorus |
Sounds real good! From: Michael Gogins Sent: 5/22/2016 10:25 PM To: CSOUND@LISTSERV.HEANET.IE Subject: Re: [Csnd] Solina Chorus Very nice! I'll use it. Thanks, On May 22, 2016 10:06 PM, "Steven Yi" <stevenyi@gmail.com> wrote:
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
Hi All, |
Date | 2016-05-23 08:13 |
From | Rory Walsh |
Subject | Re: Solina Chorus |
I'm copying and pasting as I type ;) On 23 May 2016 at 03:30, Justin <justinrosander@gmail.com> wrote:
|
Date | 2016-05-23 17:17 |
From | Steven Yi |
Subject | Re: Solina Chorus |
Thanks all, hope you all find it useful! One thing to note, it should be easy to modify the UDO to output the results of the three delays in case you want to pan those or what not. I'll probably just stick to the current implementation for my own uses, but though it was worth mentioning. All best! steven On Mon, May 23, 2016 at 3:13 AM, Rory Walsh |
Date | 2016-05-23 18:21 |
From | Iain McCurdy |
Subject | Re: Solina Chorus |
This sounds great Steven, very lush with so little code. Great work. (I'm glad to read that I was able to play a small part!) > Date: Sun, 22 May 2016 22:06:11 -0400 > From: stevenyi@GMAIL.COM > Subject: [Csnd] Solina Chorus > To: CSOUND@LISTSERV.HEANET.IE > > Hi All, > > I've put together a solina_chorus UDO that emulates the Solina String > Ensemble's chorus module. The UDO and test file are available at: > > https://github.com/kunstmusik/libsyi/blob/master/solina_chorus.udo > https://github.com/kunstmusik/libsyi/blob/master/tests/solina_chorus.csd > > and an audio rendering of the test is avaialble at: > > http://kunstmusik.com/solina_chorus.mp3 > > It's based on information from J. Haible's Triple Chorus: > > http://jhaible.com/legacy/triple_chorus/triple_chorus.html > > and the Reaktor Solina-V module by Hugo Portillo: > > 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 |
Date | 2016-05-23 18:25 |
From | Steven Yi |
Subject | Re: Solina Chorus |
Thanks Iain for the kind words and of course for your work! I'm catching up with studying your CSDs and learning plenty. Cheers! On Mon, May 23, 2016, 1:21 PM Iain McCurdy <i_mccurdy@hotmail.com> wrote:
|
Date | 2016-05-31 08:36 |
From | Ffanci Silvain |
Subject | Re: Solina Chorus |
Steven Yi, May 23 2016: > Hi All, > > I've put together a solina_chorus UDO that emulates the Solina String > Ensemble's chorus module. ... Hey hey Steven, I finally had a chance to give it a listen and tweak the example a bit. The chorus sounds very good! At first I was confused by the reverb, which smeared it a lot. Thanks for sharing these lovely UDOs. They sound beautiful, are very usable and sometimes an education. <3 Ta-ta ---- Ffanci * Homepage: https://freeshell.de/~silvain * Twitter: http://twitter.com/ffanci_silvain * GitHub: https://github.com/fsilvain 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 |
Date | 2016-06-01 16:38 |
From | Steven Yi |
Subject | Re: Solina Chorus |
Hi Ffanci, Yes, that's a good point: I added the reverb to the example but it is not a part of the chorus. I'll look at updating that example during my next csound programming session to demonstrate various parameter settings and to have both dry examples and ones with reverb. Thanks and enjoy! steven On Tue, May 31, 2016 at 1:36 AM, Ffanci Silvain |
Date | 2016-06-02 20:48 |
From | Kevin Welsh |
Subject | Re: Solina Chorus |
Steven, thanks for writing and sharing this! I'm already enjoying the unique characteristic it adds. I have a comment and two questions for you about this: First, the comment; I ran into a problem adding this into a cabbage effect. I had to make the following change to get it to compile: ;a0 = tablei(aphs, gi_solina_parabola, 1, 0, 1) ;a120 = tablei(aphs, gi_solina_parabola, 1, 0.333, 1) ;a240 = tablei(aphs, gi_solina_parabola, 1, -0.333, 1) a0 tablei aphs, gi_solina_parabola, 1, 0, 1 a120 tablei aphs, gi_solina_parabola, 1, 0.333, 1 a240 tablei aphs, gi_solina_parabola, 1, -0.333, 1 It looks like in the original function style of your version for some reason in cabbage is outputting krate when an arate is expected... but I have no idea why. It works fine function style in csound from the console, and changing to opcode style works fine in cabbage. Without that change I got the following errors form cabbage: INIT ERROR in instr 1 (opcode sol_lfo_3): table: index type inconsistent with output #k0 tablei.k aphs gi_solina_parabola 1 0 1 INIT ERROR in instr 1 (opcode sol_lfo_3): table: index type inconsistent with output #k1 tablei.k aphs gi_solina_parabola 1 0.333 1 INIT ERROR in instr 1 (opcode sol_lfo_3): table: index type inconsistent with output #k3 tablei.k aphs gi_solina_parabola 1 #i2 1 INIT ERROR in instr 1 (opcode sol_lfo_3): table: index type inconsistent with output #k0 tablei.k aphs gi_solina_parabola 1 0 1 INIT ERROR in instr 1 (opcode sol_lfo_3): table: index type inconsistent with output #k1 tablei.k aphs gi_solina_parabola 1 0.333 1 INIT ERROR in instr 1 (opcode sol_lfo_3): table: index type inconsistent with output #k3 tablei.k aphs gi_solina_parabola 1 #i2 1 For the first question, I think I found a typo/bug. I noticed where the delay is being applied "at2" is being used twice, and "at3" isn't used at all. Adding in at3 for the last delay line seems to add even more to the sound. I'm assuming this was just a simple copy paste mistake, and that at3 is actually supposed to be used? Next question, I noticed in the solina_chorus UDO that the audio input variable is named "aLeft". This made me wonder, what do you think would be the best way to make a stereo version of this effect? My first guess would be a half phase shift of the sol_lfo_3 phasor on only one channel. Did you plan on implementing a stereo version, or is that meant to be an exercise left up to the user for the sake of simplicity? Sorry for the bonus question, thanks again for this great contribution! On Wed, Jun 1, 2016 at 11:38 AM, Steven Yi |
Date | 2016-06-04 01:23 |
From | Rory Walsh |
Subject | Re: Solina Chorus |
Using tablei:a() will instruct Csound to use the a-rate version of tablei. How interesting it is that this works from the console but in Cabbage we need to use tablei:a()? For what it's worth, I'm happy to use tablei:a(). I think it leads to clearer code, but still curious to know why running a file through Cabbage should be any different than from the command line. On 2 June 2016 at 20:48, Kevin Welsh <tgrey1@gmail.com> wrote: Steven, thanks for writing and sharing this! I'm already enjoying the |
Date | 2016-06-04 02:46 |
From | Kevin Welsh |
Subject | Re: Solina Chorus |
Yeah, I realized typecasting to a-rate was an option just minutes after I sent the email. I found the difference between console and cabbage very odd too. I just about have the cabbage effect cleaned up enough to share, so I might start a topic on the cabbage forums with an example demonstrating this for you. My guess is it's really a problem upstream in csound, but it'd still be nice to figure out the details of the problem. On Fri, Jun 3, 2016 at 8:23 PM, Rory Walsh |
Date | 2016-06-04 07:33 |
From | Steven Yi |
Subject | Re: Solina Chorus |
Hi Kevin, Thanks for pointing out the copy/paste issue! I've corrected that now in the github project. I originally used aLeft as I worked on making the UDO more along the lines of what was done in the Reaktor ensemble by Hugo Portillo. In that project, at1, at2, and at3 are used to control two sets of two delays, with the left channel using at1 and at2 for two delay lines, and the right channel using at2 and at3 for two delay lines. Hope that helps! steven On Thu, Jun 2, 2016 at 12:48 PM, Kevin Welsh |
Date | 2016-06-04 08:22 |
From | Kevin Welsh |
Subject | Re: Solina Chorus |
Attachments | SolinaChorus_v1.0.csd |
I took a few liberties to allow both traditional chorus and some more non-traditional uses... but here's my first (hopefully release-ready) cabbage version of this. Thanks again Steven! The lfo frequency and amp controls are 0-1 ratios of whatever the overall scale is set to. Enabling stereo chorus phase shifts the phasor used for timing by half on the right channel, giving some stereo depth. On Sat, Jun 4, 2016 at 2:33 AM, Steven Yi |