Csound Csound-dev Csound-tekno Search About

[Csnd] Converting CV to frequency

Date2019-09-24 22:22
FromDave Seidel
Subject[Csnd] Converting CV to frequency
Hi all,

I have been developing some modular patches that I'd like to integrate with Csound. This is a development of my Implication Organ (IO) project.

In my modular system, I'm using the Tubbutec uTune module to quantize CV from a sequencer to frequencies based on tunings in Scala files. Now I'd like to get those notes from the modular rig into my Csound app so that I can use the IO code to generate additional tones, and I need to have specific frequency values.

My preferred solution is to use the uTune's MIDI output to send MIDI note message to my code, essentially in place of the MIDI keyboard I use when I play the IO. But I haven't been able to get that to work yet, and I'm waiting to hear back from the Tubbutec developer.

In the meantime, I'm investigating an alternative approach. I also have a module called the Rebeltech Open Sound Module (OSM), which has the ability to broadcast OSC over wifi. It has two input sections (A & B) with a CV input and a gate input, and the values it reads are converted to numeric values (floats for CV, 0 or 1 for gates) for the OSC output. I can obviously modify my Csound code to receive those OSC messages. But I need to know how to convert a CV float value to a frequency, and I don't know how to do that.

Is there a formula that performs that conversion? I think the MIDI solution is much better and simpler, because my code already knows how to convert a MIDI number to a frequency using tables built with GEN51. But I'd like to see if this other approach is practical.

Grateful for any advice.

Thanks,
Dave

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

Date2019-09-24 23:01
From"Jeanette C."
SubjectRe: [Csnd] Converting CV to frequency
Sep 24 2019, Dave Seidel has written:
> But I need
> to know how to convert a CV float value to a frequency, and I don't know
> how to do that.
...
Am I overly simple, suggesting the following. CV usually works with 1
volt per octave. It's exponential. Would it be 1/12V per equal tempered
semi-tone? Notwithstanding any pitch offset on your modules.

I suppose you could test it, if you hooked up your modular audio out to
your computer/mobile device and compared CV to generated frequency.

Or did you mean how to get a CV into your system and converting that to
a usable controller value? Hardware restrictions aside, I'd stupidly
start by routing your CV signal into Csound - most likely as audio - and
then using that directly or converting it to a control signal. I'd
probably try to measure the lowest and highest signal point and split
that into ten equal parts. Again, this might be very simplistic.

Hope any of that is helpful and to the point.

Best wishes,

Jeanette

-- 
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * SoundCloud: https://soundcloud.com/jeanette_c
  * Twitter: https://twitter.com/jeanette_c_s
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

It's not complicated
We just syncopated
We can read each others' minds <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

Date2019-09-27 12:51
FromDave Seidel
SubjectRe: [Csnd] Converting CV to frequency
Hi Jeanette,

I have my Csound code receiving OSC messages via wifi from the OSM module, with specific voltage values expressed as floats. What I'm looking for is a formula to convert those voltages into frequencies such that Csound and the modular are perfectly in tune. The modular rig is definitely using 1v/oct, but I don't use equal temperament. Put another way, I'm seeking an equation that will allow me to convert voltage values to pitch in an equivalent way to a hardware oscillator that uses the 1v/oct standard.

I have found an article that seems to provide what I want, but will probably require some tweaking: http://bytenoise.co.uk/CV-gate. Still getting the Csound code in shape, hoping to be able to test this and calibrate the algorithm soon.

Thanks,
Dave

On Fri, Sep 27, 2019 at 6:51 AM Jeanette C. <julien@mail.upb.de> wrote:
Sep 24 2019, Dave Seidel has written:
> But I need
> to know how to convert a CV float value to a frequency, and I don't know
> how to do that.
...
Am I overly simple, suggesting the following. CV usually works with 1
volt per octave. It's exponential. Would it be 1/12V per equal tempered
semi-tone? Notwithstanding any pitch offset on your modules.

I suppose you could test it, if you hooked up your modular audio out to
your computer/mobile device and compared CV to generated frequency.

Or did you mean how to get a CV into your system and converting that to
a usable controller value? Hardware restrictions aside, I'd stupidly
start by routing your CV signal into Csound - most likely as audio - and
then using that directly or converting it to a control signal. I'd
probably try to measure the lowest and highest signal point and split
that into ten equal parts. Again, this might be very simplistic.

Hope any of that is helpful and to the point.

Best wishes,

Jeanette

--
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * SoundCloud: https://soundcloud.com/jeanette_c
  * Twitter: https://twitter.com/jeanette_c_s
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

It's not complicated
We just syncopated
We can read each others' minds <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

Date2019-09-27 19:45
FromEd Cashin
SubjectRe: [Csnd] Converting CV to frequency
That link talks about going from pitch to voltage, but to go the other way, from voltage to pitch (in absolutes or intervals), there's math here that is nice and concise.

http://people.sju.edu/~rhall/SoundingNumber/pitch_and_frequency.pdf


On Fri, Sep 27, 2019 at 7:54 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi Jeanette,

I have my Csound code receiving OSC messages via wifi from the OSM module, with specific voltage values expressed as floats. What I'm looking for is a formula to convert those voltages into frequencies such that Csound and the modular are perfectly in tune. The modular rig is definitely using 1v/oct, but I don't use equal temperament. Put another way, I'm seeking an equation that will allow me to convert voltage values to pitch in an equivalent way to a hardware oscillator that uses the 1v/oct standard.

I have found an article that seems to provide what I want, but will probably require some tweaking: http://bytenoise.co.uk/CV-gate. Still getting the Csound code in shape, hoping to be able to test this and calibrate the algorithm soon.

Thanks,
Dave

On Fri, Sep 27, 2019 at 6:51 AM Jeanette C. <julien@mail.upb.de> wrote:
Sep 24 2019, Dave Seidel has written:
> But I need
> to know how to convert a CV float value to a frequency, and I don't know
> how to do that.
...
Am I overly simple, suggesting the following. CV usually works with 1
volt per octave. It's exponential. Would it be 1/12V per equal tempered
semi-tone? Notwithstanding any pitch offset on your modules.

I suppose you could test it, if you hooked up your modular audio out to
your computer/mobile device and compared CV to generated frequency.

Or did you mean how to get a CV into your system and converting that to
a usable controller value? Hardware restrictions aside, I'd stupidly
start by routing your CV signal into Csound - most likely as audio - and
then using that directly or converting it to a control signal. I'd
probably try to measure the lowest and highest signal point and split
that into ten equal parts. Again, this might be very simplistic.

Hope any of that is helpful and to the point.

Best wishes,

Jeanette

--
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * SoundCloud: https://soundcloud.com/jeanette_c
  * Twitter: https://twitter.com/jeanette_c_s
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

It's not complicated
We just syncopated
We can read each others' minds <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


--
  Ed Cashin <ecashin@noserose.net>
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

Date2019-09-27 19:51
FromEd Cashin
SubjectRe: [Csnd] Converting CV to frequency
Ugh.  I meant going from voltage to frequency.  Going from voltage to pitch is easy, because a one volt difference is a difference of twelve in pitch, a linear relationship.  The part that a formula helps with is getting past the fact that adding twelve to the pitch doubles the frequency.  The log base two is key there.


On Fri, Sep 27, 2019 at 2:45 PM Ed Cashin <ecashin@noserose.net> wrote:
That link talks about going from pitch to voltage, but to go the other way, from voltage to pitch (in absolutes or intervals), there's math here that is nice and concise.

http://people.sju.edu/~rhall/SoundingNumber/pitch_and_frequency.pdf


On Fri, Sep 27, 2019 at 7:54 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi Jeanette,

I have my Csound code receiving OSC messages via wifi from the OSM module, with specific voltage values expressed as floats. What I'm looking for is a formula to convert those voltages into frequencies such that Csound and the modular are perfectly in tune. The modular rig is definitely using 1v/oct, but I don't use equal temperament. Put another way, I'm seeking an equation that will allow me to convert voltage values to pitch in an equivalent way to a hardware oscillator that uses the 1v/oct standard.

I have found an article that seems to provide what I want, but will probably require some tweaking: http://bytenoise.co.uk/CV-gate. Still getting the Csound code in shape, hoping to be able to test this and calibrate the algorithm soon.

Thanks,
Dave

On Fri, Sep 27, 2019 at 6:51 AM Jeanette C. <julien@mail.upb.de> wrote:
Sep 24 2019, Dave Seidel has written:
> But I need
> to know how to convert a CV float value to a frequency, and I don't know
> how to do that.
...
Am I overly simple, suggesting the following. CV usually works with 1
volt per octave. It's exponential. Would it be 1/12V per equal tempered
semi-tone? Notwithstanding any pitch offset on your modules.

I suppose you could test it, if you hooked up your modular audio out to
your computer/mobile device and compared CV to generated frequency.

Or did you mean how to get a CV into your system and converting that to
a usable controller value? Hardware restrictions aside, I'd stupidly
start by routing your CV signal into Csound - most likely as audio - and
then using that directly or converting it to a control signal. I'd
probably try to measure the lowest and highest signal point and split
that into ten equal parts. Again, this might be very simplistic.

Hope any of that is helpful and to the point.

Best wishes,

Jeanette

--
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * SoundCloud: https://soundcloud.com/jeanette_c
  * Twitter: https://twitter.com/jeanette_c_s
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

It's not complicated
We just syncopated
We can read each others' minds <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


--
  Ed Cashin <ecashin@noserose.net>


--
  Ed Cashin <ecashin@noserose.net>
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

Date2019-09-27 20:17
FromDave Seidel
SubjectRe: [Csnd] Converting CV to frequency
Thanks Ed, this looks like a useful paper!

On Fri, Sep 27, 2019 at 2:51 PM Ed Cashin <ecashin@noserose.net> wrote:
Ugh.  I meant going from voltage to frequency.  Going from voltage to pitch is easy, because a one volt difference is a difference of twelve in pitch, a linear relationship.  The part that a formula helps with is getting past the fact that adding twelve to the pitch doubles the frequency.  The log base two is key there.


On Fri, Sep 27, 2019 at 2:45 PM Ed Cashin <ecashin@noserose.net> wrote:
That link talks about going from pitch to voltage, but to go the other way, from voltage to pitch (in absolutes or intervals), there's math here that is nice and concise.

http://people.sju.edu/~rhall/SoundingNumber/pitch_and_frequency.pdf


On Fri, Sep 27, 2019 at 7:54 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi Jeanette,

I have my Csound code receiving OSC messages via wifi from the OSM module, with specific voltage values expressed as floats. What I'm looking for is a formula to convert those voltages into frequencies such that Csound and the modular are perfectly in tune. The modular rig is definitely using 1v/oct, but I don't use equal temperament. Put another way, I'm seeking an equation that will allow me to convert voltage values to pitch in an equivalent way to a hardware oscillator that uses the 1v/oct standard.

I have found an article that seems to provide what I want, but will probably require some tweaking: http://bytenoise.co.uk/CV-gate. Still getting the Csound code in shape, hoping to be able to test this and calibrate the algorithm soon.

Thanks,
Dave

On Fri, Sep 27, 2019 at 6:51 AM Jeanette C. <julien@mail.upb.de> wrote:
Sep 24 2019, Dave Seidel has written:
> But I need
> to know how to convert a CV float value to a frequency, and I don't know
> how to do that.
...
Am I overly simple, suggesting the following. CV usually works with 1
volt per octave. It's exponential. Would it be 1/12V per equal tempered
semi-tone? Notwithstanding any pitch offset on your modules.

I suppose you could test it, if you hooked up your modular audio out to
your computer/mobile device and compared CV to generated frequency.

Or did you mean how to get a CV into your system and converting that to
a usable controller value? Hardware restrictions aside, I'd stupidly
start by routing your CV signal into Csound - most likely as audio - and
then using that directly or converting it to a control signal. I'd
probably try to measure the lowest and highest signal point and split
that into ten equal parts. Again, this might be very simplistic.

Hope any of that is helpful and to the point.

Best wishes,

Jeanette

--
  * Website: http://juliencoder.de - for summer is a state of sound
  * Youtube: https://www.youtube.com/channel/UCMS4rfGrTwz8W7jhC1Jnv7g
  * SoundCloud: https://soundcloud.com/jeanette_c
  * Twitter: https://twitter.com/jeanette_c_s
  * Audiobombs: https://www.audiobombs.com/users/jeanette_c
  * GitHub: https://github.com/jeanette-c

It's not complicated
We just syncopated
We can read each others' minds <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


--
  Ed Cashin <ecashin@noserose.net>


--
  Ed Cashin <ecashin@noserose.net>
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