Csound Csound-dev Csound-tekno Search About

[Csnd] [Share] - Subtractive synth sketch

Date2024-06-08 00:29
FromSteven Yi
Subject[Csnd] [Share] - Subtractive synth sketch
Attachmentssaw-fields.zip  
Hi All,

I was doing some live coding sketch work today and thought I'd share
the synth as I thought it sounded rather lovely. It's available online
at the Csound IDE at:

https://ide.csound.com/editor/LBpThLxJHQ8SVBHNK2Hr

(Also attached is a zip of the project.)

It uses my livecode.orc for some common UDOs I use. The interesting
part for me was the 50% keyboard tracking I added which I thought gave
it a nice balance across the octaves for the filtered cutoff:

instr S1
  ioct = octcps(p4)

  irel = 8

  ;; two saw oscillators slightly detuned
  asig = vco2(p5, p4)
  asig += vco2(p5, p4 * semitone(random:i(.023, .05)))
  asig *= 0.5
  aenv = transegr:a(0, 4, 0, 1, irel, -4.2, 0, irel, -4.2, 0)

  ;; oct value: 50% keyboard tracking + base 4 + aenv modulation
between 1-2 octaves
  asig = zdf_2pole(asig, cpsoct((aenv * random:i(1,2)) + 4 + (ioct * .5)), 1)

  ;; extra env for declicking
  asig *= linen:a(1, 0.01, p3 + irel, .01)

  pan_verb_mix(asig, random:i(0, 1), 0.05)
endin

transegr is set using linear attack and exponential decay with -4.2
curves which has been my go-to for a while now.

Cheers!
Steven

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

Date2024-06-08 07:54
Fromjoachim heintz
SubjectRe: [Csnd] [Share] - Subtractive synth sketch
hi steven -

thanks for sharing!!!  your code is always so inspiring, and for me 
somehow the classical new way of csound coding — clean and compressed 
but modularized ...

by "keyboard tracking" you do not mean the computer keyboard, but a 
piano keyboard, right?  and by 50% you mean that half of our ioct range 
is covered (ioct * .5)?

cheers -
	joachim


On 08/06/2024 01:29, Steven Yi wrote:
> Hi All,
> 
> I was doing some live coding sketch work today and thought I'd share
> the synth as I thought it sounded rather lovely. It's available online
> at the Csound IDE at:
> 
> https://ide.csound.com/editor/LBpThLxJHQ8SVBHNK2Hr
> 
> (Also attached is a zip of the project.)
> 
> It uses my livecode.orc for some common UDOs I use. The interesting
> part for me was the 50% keyboard tracking I added which I thought gave
> it a nice balance across the octaves for the filtered cutoff:
> 
> instr S1
>    ioct = octcps(p4)
> 
>    irel = 8
> 
>    ;; two saw oscillators slightly detuned
>    asig = vco2(p5, p4)
>    asig += vco2(p5, p4 * semitone(random:i(.023, .05)))
>    asig *= 0.5
>    aenv = transegr:a(0, 4, 0, 1, irel, -4.2, 0, irel, -4.2, 0)
> 
>    ;; oct value: 50% keyboard tracking + base 4 + aenv modulation
> between 1-2 octaves
>    asig = zdf_2pole(asig, cpsoct((aenv * random:i(1,2)) + 4 + (ioct * .5)), 1)
> 
>    ;; extra env for declicking
>    asig *= linen:a(1, 0.01, p3 + irel, .01)
> 
>    pan_verb_mix(asig, random:i(0, 1), 0.05)
> endin
> 
> transegr is set using linear attack and exponential decay with -4.2
> curves which has been my go-to for a while now.
> 
> Cheers!
> Steven
> 
> 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

Date2024-06-08 19:46
From"Jeanette C."
SubjectRe: [Csnd] [Share] - Subtractive synth sketch
Hi Steven,
thanks a lot for sharing this code. There are many interesting instruments and 
UDOs in your "library" file. Some of them look very inspiring and give me 
ideas.

Also, as Joachim pointed out: your code is very clean and slim. Although I use 
the modern Csound syntax wherever possible, I didn't completely realise its 
whole potential. Another lessong for future code!

Best wishes,

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

Just hang around and you'll see,
There's nowhere I'd rather be <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

Date2024-06-08 22:16
FromSteven Yi
SubjectRe: [Csnd] [Share] - Subtractive synth sketch
Yes, maybe others know it better as key tracking, just using the
frequency of the "keyboard key" (or here, p4) to modulate the cutoff
frequency. So here with a positive key tracking value the higher the
frequency for the note, the higher the frequency of the filter cutoff.
I liked it here as it changed the timbral quality, softening the color
of the lower notes a bit and leaving space for the higher notes to be
bright and rich. The ioct * .5 is the 50%, yes; it was enjoyable
exploring different values there between base oct value for the cutoff
and amount from the "keyboard" (p4) to shape the color of the sound
over the frequency range. :)

On Sat, Jun 8, 2024 at 2:54 AM joachim heintz  wrote:
>
> hi steven -
>
> thanks for sharing!!!  your code is always so inspiring, and for me
> somehow the classical new way of csound coding — clean and compressed
> but modularized ...
>
> by "keyboard tracking" you do not mean the computer keyboard, but a
> piano keyboard, right?  and by 50% you mean that half of our ioct range
> is covered (ioct * .5)?
>
> cheers -
>         joachim
>
>
> On 08/06/2024 01:29, Steven Yi wrote:
> > Hi All,
> >
> > I was doing some live coding sketch work today and thought I'd share
> > the synth as I thought it sounded rather lovely. It's available online
> > at the Csound IDE at:
> >
> > https://ide.csound.com/editor/LBpThLxJHQ8SVBHNK2Hr
> >
> > (Also attached is a zip of the project.)
> >
> > It uses my livecode.orc for some common UDOs I use. The interesting
> > part for me was the 50% keyboard tracking I added which I thought gave
> > it a nice balance across the octaves for the filtered cutoff:
> >
> > instr S1
> >    ioct = octcps(p4)
> >
> >    irel = 8
> >
> >    ;; two saw oscillators slightly detuned
> >    asig = vco2(p5, p4)
> >    asig += vco2(p5, p4 * semitone(random:i(.023, .05)))
> >    asig *= 0.5
> >    aenv = transegr:a(0, 4, 0, 1, irel, -4.2, 0, irel, -4.2, 0)
> >
> >    ;; oct value: 50% keyboard tracking + base 4 + aenv modulation
> > between 1-2 octaves
> >    asig = zdf_2pole(asig, cpsoct((aenv * random:i(1,2)) + 4 + (ioct * .5)), 1)
> >
> >    ;; extra env for declicking
> >    asig *= linen:a(1, 0.01, p3 + irel, .01)
> >
> >    pan_verb_mix(asig, random:i(0, 1), 0.05)
> > endin
> >
> > transegr is set using linear attack and exponential decay with -4.2
> > curves which has been my go-to for a while now.
> >
> > Cheers!
> > Steven
> >
> > 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

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

Date2024-06-08 22:18
FromSteven Yi
SubjectRe: [Csnd] [Share] - Subtractive synth sketch
Thanks Jeanette, happy that others find it useful. Enjoy!


On Sat, Jun 8, 2024 at 2:46 PM Jeanette C.  wrote:
>
> Hi Steven,
> thanks a lot for sharing this code. There are many interesting instruments and
> UDOs in your "library" file. Some of them look very inspiring and give me
> ideas.
>
> Also, as Joachim pointed out: your code is very clean and slim. Although I use
> the modern Csound syntax wherever possible, I didn't completely realise its
> whole potential. Another lessong for future code!
>
> Best wishes,
>
> 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
>
> Just hang around and you'll see,
> There's nowhere I'd rather be <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

Date2024-06-10 13:55
From"Dr. Richard Boulanger"
SubjectRe: [Csnd] [Share] - Subtractive synth sketch
really lovely steven.  thanks so much for sharing,

- Dr.B


Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division



On Sat, Jun 8, 2024 at 5:19 PM Steven Yi <stevenyi@gmail.com> wrote:
Thanks Jeanette, happy that others find it useful. Enjoy!


On Sat, Jun 8, 2024 at 2:46 PM Jeanette C. <julien@mail.upb.de> wrote:
>
> Hi Steven,
> thanks a lot for sharing this code. There are many interesting instruments and
> UDOs in your "library" file. Some of them look very inspiring and give me
> ideas.
>
> Also, as Joachim pointed out: your code is very clean and slim. Although I use
> the modern Csound syntax wherever possible, I didn't completely realise its
> whole potential. Another lessong for future code!
>
> Best wishes,
>
> Jeanette
>
> --
>   * Website: https://us-west-2.protection.sophos.com?d=juliencoder.de&u=aHR0cDovL2p1bGllbmNvZGVyLmRl&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=Z1Z2dGFzak1ZMmVreGNQNzdmUno0MDk5US9raG9Ydm8xYktRWVRSN2hjYz0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A - for summer is a state of sound
>   * Youtube: https://us-west-2.protection.sophos.com?d=youtube.com&u=aHR0cHM6Ly93d3cueW91dHViZS5jb20vY2hhbm5lbC9VQ01TNHJmR3JUd3o4VzdqaEMxSm52N2c=&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=TXRCZnZOZEtNRDYvN0R0QXpMUHh0ZVMzNU9HOTJFNnU5Nkk4aFNEa2NuST0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
>   * Audiobombs: https://us-west-2.protection.sophos.com?d=audiobombs.com&u=aHR0cHM6Ly93d3cuYXVkaW9ib21icy5jb20vdXNlcnMvamVhbmV0dGVfYw==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=emFIeXVKRkJiOGJ2c1BXVkJEc1hJVGdVUisxZ25OSU5zQXJ0dEQ5SnlXST0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
>   * GitHub: https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2plYW5ldHRlLWM=&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=anhzMlhqbG9WcGEzdTRSdE1pYkdHb2lOSmFGUW9wYkZBMmJONXRaWGpyMD0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
>
> Just hang around and you'll see,
> There's nowhere I'd rather be <3
> (Britney Spears)
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=WVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
> Send bugs reports to
>         https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=YlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
> Discussions of bugs and features can be posted here

Csound mailing list
Csound@listserv.heanet.ie
https://us-west-2.protection.sophos.com?d=heanet.ie&u=aHR0cHM6Ly9saXN0c2Vydi5oZWFuZXQuaWUvY2dpLWJpbi93YT9BMD1DU09VTkQ=&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=WVZMRlI4dlFUVUZ6V2NTOUU5eE9lZnFIemtoc2hxYlBDMFFCWmtKZzhzRT0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
Send bugs reports to
        https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9jc291bmQvaXNzdWVz&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=YlNrQ2lLclRLZUpGUE1iR0FyY2M1eW1NTUU5SUozWlJwMTNZU2NXT1BLOD0=&h=1955013c77a44a18ac8f73980497f98f&s=AVNPUEhUT0NFTkNSWVBUSVYpmKWVU1jKuTPLD5gnaWwAaG5wwcHTpfjKIfFGmt9h9A
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

Date2024-06-10 14:03
FromDave Seidel
SubjectRe: [Csnd] [Share] - Subtractive synth sketch
Very nice, Steven. I always learn from your code.

- Dave

On Fri, Jun 7, 2024 at 7:30 PM Steven Yi <stevenyi@gmail.com> wrote:
Hi All,

I was doing some live coding sketch work today and thought I'd share
the synth as I thought it sounded rather lovely. It's available online
at the Csound IDE at:

https://ide.csound.com/editor/LBpThLxJHQ8SVBHNK2Hr

(Also attached is a zip of the project.)

It uses my livecode.orc for some common UDOs I use. The interesting
part for me was the 50% keyboard tracking I added which I thought gave
it a nice balance across the octaves for the filtered cutoff:

instr S1
  ioct = octcps(p4)

  irel = 8

  ;; two saw oscillators slightly detuned
  asig = vco2(p5, p4)
  asig += vco2(p5, p4 * semitone(random:i(.023, .05)))
  asig *= 0.5
  aenv = transegr:a(0, 4, 0, 1, irel, -4.2, 0, irel, -4.2, 0)

  ;; oct value: 50% keyboard tracking + base 4 + aenv modulation
between 1-2 octaves
  asig = zdf_2pole(asig, cpsoct((aenv * random:i(1,2)) + 4 + (ioct * .5)), 1)

  ;; extra env for declicking
  asig *= linen:a(1, 0.01, p3 + irel, .01)

  pan_verb_mix(asig, random:i(0, 1), 0.05)
endin

transegr is set using linear attack and exponential decay with -4.2
curves which has been my go-to for a while now.

Cheers!
Steven

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