Csound Csound-dev Csound-tekno Search About

[Csnd] Quantizer

Date2024-11-24 02:30
FromDave Seidel
Subject[Csnd] Quantizer
Has anyone implemented a pitch quantizer in Csound?
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-11-24 06:45
Fromthorin kerr
SubjectRe: [Csnd] Quantizer
Do you mean pitch quantizing aka autotune?  Jeanette C. has a good one in the "Voice Processor UDOs" found here http://juliencoder.de/sound/index.html


On Sun, Nov 24, 2024 at 12:31 PM Dave Seidel <dave.seidel@gmail.com> wrote:
Has anyone implemented a pitch quantizer in Csound?
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-11-24 09:58
From"Jeanette C."
SubjectRe: [Csnd] Quantizer
Hi Dave and Thorin,
Thorin, thanks for the promotion.

Dave, in case you meant the quantiser as in the module to quantise continuous 
voltage to fixed pitches, I have something like that as well:
http://juliencoder.de/sound/scale_quantiser-1.1.zip

I think I have another implementation somewhere, with slightly different 
features. This set should have more than scale (including chromatic) 
quantisation. Namely, linear and possibly exponential. Sorry, I haven't looked 
at them in ages. :)

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

Do you even know what I like
Just what I'm living for,
What I adore <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-11-24 10:12
FromVictor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
I thought that you could just use cpsoct? It will do 1V per octave.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 24 Nov 2024, at 09:58, Jeanette C.  wrote:
>
> *Warning*
>
> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
>
> Hi Dave and Thorin,
> Thorin, thanks for the promotion.
>
> Dave, in case you meant the quantiser as in the module to quantise continuous
> voltage to fixed pitches, I have something like that as well:
> http://juliencoder.de/sound/scale_quantiser-1.1.zip
>
> I think I have another implementation somewhere, with slightly different
> features. This set should have more than scale (including chromatic)
> quantisation. Namely, linear and possibly exponential. Sorry, I haven't looked
> at them in ages. :)
>
> 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
>
> Do you even know what I like
> Just what I'm living for,
> What I adore <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-11-24 10:15
FromVictor Lazzarini <000010b17ddd988e-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
Ah, it won’t quantise. Too early in the morning.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 24 Nov 2024, at 10:12, Victor Lazzarini  wrote:
>
> I thought that you could just use cpsoct? It will do 1V per octave.
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
>
>> On 24 Nov 2024, at 09:58, Jeanette C.  wrote:
>>
>> *Warning*
>>
>> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
>>
>> Hi Dave and Thorin,
>> Thorin, thanks for the promotion.
>>
>> Dave, in case you meant the quantiser as in the module to quantise continuous
>> voltage to fixed pitches, I have something like that as well:
>> http://juliencoder.de/sound/scale_quantiser-1.1.zip
>>
>> I think I have another implementation somewhere, with slightly different
>> features. This set should have more than scale (including chromatic)
>> quantisation. Namely, linear and possibly exponential. Sorry, I haven't looked
>> at them in ages. :)
>>
>> 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
>>
>> Do you even know what I like
>> Just what I'm living for,
>> What I adore <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-11-24 12:34
FromDave Seidel
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
Thanks, all! I should have been a little more specific -- I'm looking for quantization of CV, specifically to microtonal scales, as opposed to auto-tune, which is quantization of audio. Thorin, thanks for reminding me of Jeanette's collection of treasures, which I've been meaning to explore for quite a while. I think her Control Signal Quantizer is probably along the lines of what I'm looking for, but I will look at the Voice Processor code as well. As always, thanks to Jeanette for your expertise, and your generosity!

- Dave 

On Sun, Nov 24, 2024 at 5:15 AM Victor Lazzarini <000010b17ddd988e-dmarc-request@listserv.heanet.ie> wrote:
Ah, it won’t quantise. Too early in the morning.
========================
Prof. Victor Lazzarini
Maynooth University
Ireland

> On 24 Nov 2024, at 10:12, Victor Lazzarini <Victor.Lazzarini@mu.ie> wrote:
>
> I thought that you could just use cpsoct? It will do 1V per octave.
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
>
>> On 24 Nov 2024, at 09:58, Jeanette C. <julien@MAIL.UPB.DE> wrote:
>>
>> *Warning*
>>
>> This email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
>>
>> Hi Dave and Thorin,
>> Thorin, thanks for the promotion.
>>
>> Dave, in case you meant the quantiser as in the module to quantise continuous
>> voltage to fixed pitches, I have something like that as well:
>> http://juliencoder.de/sound/scale_quantiser-1.1.zip
>>
>> I think I have another implementation somewhere, with slightly different
>> features. This set should have more than scale (including chromatic)
>> quantisation. Namely, linear and possibly exponential. Sorry, I haven't looked
>> at them in ages. :)
>>
>> 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
>>
>> Do you even know what I like
>> Just what I'm living for,
>> What I adore <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
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-11-24 12:41
From"Jeanette C."
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
Hi Dave,
I think you can adapt the control signal quantiser to use a microtonal scale. 
But I'm not entirely sure how much extra logic this would take. I use a logic 
of logarithms and exponentiation to achieve the modern 2^(1/12) grid. A 
microtonal scale with arbirary note distances would need some kind of table 
lookup and another mechanism to pull values to the closest table value.

I hope that this makes sense and gives you an idea.

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

Baby, take the time to realize
I'm not the kind to sacrifice <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-11-24 12:48
FromDave Seidel
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
Thanks, Jeanette, I think that makes sense. I was just taking a quick look at the code, and I see what you're talking about. If I come up with any modifications to enable microtonal scales, I will of course share them.

- Dave

On Sun, Nov 24, 2024 at 7:41 AM Jeanette C. <julien@mail.upb.de> wrote:
Hi Dave,
I think you can adapt the control signal quantiser to use a microtonal scale.
But I'm not entirely sure how much extra logic this would take. I use a logic
of logarithms and exponentiation to achieve the modern 2^(1/12) grid. A
microtonal scale with arbirary note distances would need some kind of table
lookup and another mechanism to pull values to the closest table value.

I hope that this makes sense and gives you an idea.

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

Baby, take the time to realize
I'm not the kind to sacrifice <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-11-24 13:00
From"Jeanette C."
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
Hi Dave,
I just had an idea: if you are working with modular systems, using an 
arbitrary CV signal, you could achieve something in an easier way. You can say 
that every 1/nth step equals one note, depending on how many notes you have in 
your scale. You can then use simple multiplication and rounding to get whole 
numbers:
kNote = round:k(kCV * iGradesPerOctave)
and then use the cpstun opcode. You can create microtonal scales with that 
that map whole number indicies to grades.

My quantisers assume an actual frequency in Hz coming in. These are then 
quantised to the nearest equal-tempered note frequency. With direct CV input, 
you can just introduce stepping, linear quantisation, which you can also find 
among the quantisers and use that to find a pitch in Hz.

My apologies for a slightly obfuscated description. It just came to me. :)

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

Baby, take the time to realize
I'm not the kind to sacrifice <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-11-24 13:08
FromDave Seidel
SubjectRe: [Csnd] [EXTERNAL] [Csnd] Quantizer
Thanks, Jeanette, I think that makes sense. I do work with modular systems, sometimes together with Csound. It will be a while before I can actually dig into this (I'm preparing for a series of gigs), but I think this will really be helpful with a compositional idea I had last night and that I will eventually pursue.

I appreciate your help!

- Dave

On Sun, Nov 24, 2024 at 8:00 AM Jeanette C. <julien@mail.upb.de> wrote:
Hi Dave,
I just had an idea: if you are working with modular systems, using an
arbitrary CV signal, you could achieve something in an easier way. You can say
that every 1/nth step equals one note, depending on how many notes you have in
your scale. You can then use simple multiplication and rounding to get whole
numbers:
kNote = round:k(kCV * iGradesPerOctave)
and then use the cpstun opcode. You can create microtonal scales with that
that map whole number indicies to grades.

My quantisers assume an actual frequency in Hz coming in. These are then
quantised to the nearest equal-tempered note frequency. With direct CV input,
you can just introduce stepping, linear quantisation, which you can also find
among the quantisers and use that to find a pitch in Hz.

My apologies for a slightly obfuscated description. It just came to me. :)

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

Baby, take the time to realize
I'm not the kind to sacrifice <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