Csound Csound-dev Csound-tekno Search About

[Csnd] oscillators with dynamic waveforms/tables

Date2020-06-15 15:28
FromDave Seidel
Subject[Csnd] oscillators with dynamic waveforms/tables
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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

Date2020-06-15 15:38
FromDave Seidel
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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

Date2020-06-15 15:48
FromRichard van Bemmelen
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables

The superformula (https://en.wikipedia.org/wiki/Superformula) is another very interesting way of creating the most strange wave forms...

Richard

On 6/15/20 4:38 PM, Dave Seidel wrote:
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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

Date2020-06-15 16:01
FromDave Seidel
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
Thanks, Richard, that looks fascinating, but with my dismal level of maths, I'm not sure how to apply it in the context of Csound.

On Mon, Jun 15, 2020 at 10:48 AM Richard van Bemmelen <zappfinger@gmail.com> wrote:

The superformula (https://en.wikipedia.org/wiki/Superformula) is another very interesting way of creating the most strange wave forms...

Richard

On 6/15/20 4:38 PM, Dave Seidel wrote:
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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
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

Date2020-06-15 16:24
From"Jeanette C."
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
Jun 15 2020, Dave Seidel has written:
...
> I have a question about oscillator opcodes: are there opcodes other than
> oscilikt* and pvsosc that allow changing tables or predefined waveforms at
> k-rate? Preferably bandwidth-limited (but not a hard requirement)? 
How about tablekt or for smoother interpolations: tabmorph or ftmorf
with a normal table or even oscil opcode.

I have used tabmorph my a wavetable oscillator I did and it worked fine.

Another way is hvs. With something like hvs1 you could load an array of
ftables and morph between them, walk the line. Again I had some fun with
hvs3 in the m_cubicon oscillator. I used adsynt, where the ftables
morphed contained partial frequencies and amplitudes. I think there was
the question - a few times - whether adsynt automatically limits
partials to not rise above the Nyquist frequency, but I can't remember
the answer. :)

> I'd also
> be interested in other types of oscillators as long as they aren't too
> processor-intensive. So I am open to your suggestions.
How about some FM/PM using foscil or again table opcodes and modulating
the phasor that reads through the tables?

I believe Victor has released a few interesting orchestras using
distortion synthesis to create different waveforms. I believe this
technique is or was used sometimes in virtual analogue synths (to a
degree) to emulate the classic waveforms. I'm sorry, I don't have links
to these orchestras, but I think they were discussed in the Csound
journal and there was at least one paper on the topic of distortion
synthesis with examples in Csound.

HTH. It was good meeting you on Saturday.

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

Don't, don't let me be the last to know
Don't hold back, just let it go <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

Date2020-06-15 16:31
FromRichard van Bemmelen
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables

Ok, but the code examples are already there. There are also sites that show Python or C code for this, I believe. But to make this interesting, the table that contains the signal should change over time (should be updated with the function with one or more parameters changed).
Maybe a nice assignment for C sound students to create an opcode for this?


Richard

On 6/15/20 5:01 PM, Dave Seidel wrote:
Thanks, Richard, that looks fascinating, but with my dismal level of maths, I'm not sure how to apply it in the context of Csound.

On Mon, Jun 15, 2020 at 10:48 AM Richard van Bemmelen <zappfinger@gmail.com> wrote:

The superformula (https://en.wikipedia.org/wiki/Superformula) is another very interesting way of creating the most strange wave forms...

Richard

On 6/15/20 4:38 PM, Dave Seidel wrote:
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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
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

Date2020-06-15 16:39
FromDave Seidel
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
Thanks Jeanette, these are excellent suggestions for me to ponder.

On Mon, Jun 15, 2020 at 11:24 AM Jeanette C. <julien@mail.upb.de> wrote:
Jun 15 2020, Dave Seidel has written:
...
> I have a question about oscillator opcodes: are there opcodes other than
> oscilikt* and pvsosc that allow changing tables or predefined waveforms at
> k-rate? Preferably bandwidth-limited (but not a hard requirement)?
How about tablekt or for smoother interpolations: tabmorph or ftmorf
with a normal table or even oscil opcode.

I have used tabmorph my a wavetable oscillator I did and it worked fine.

Another way is hvs. With something like hvs1 you could load an array of
ftables and morph between them, walk the line. Again I had some fun with
hvs3 in the m_cubicon oscillator. I used adsynt, where the ftables
morphed contained partial frequencies and amplitudes. I think there was
the question - a few times - whether adsynt automatically limits
partials to not rise above the Nyquist frequency, but I can't remember
the answer. :)

> I'd also
> be interested in other types of oscillators as long as they aren't too
> processor-intensive. So I am open to your suggestions.
How about some FM/PM using foscil or again table opcodes and modulating
the phasor that reads through the tables?

I believe Victor has released a few interesting orchestras using
distortion synthesis to create different waveforms. I believe this
technique is or was used sometimes in virtual analogue synths (to a
degree) to emulate the classic waveforms. I'm sorry, I don't have links
to these orchestras, but I think they were discussed in the Csound
journal and there was at least one paper on the topic of distortion
synthesis with examples in Csound.

HTH. It was good meeting you on Saturday.

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

Don't, don't let me be the last to know
Don't hold back, just let it go <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

Date2020-06-15 16:41
FromDave Seidel
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
I do see the code, I just don't understand how to apply it to waveform creation. As I say, I am fairly naive and primitive when it comes to maths. Often, what is obvious to others is not at all clear to me.

On Mon, Jun 15, 2020 at 11:31 AM Richard van Bemmelen <zappfinger@gmail.com> wrote:

Ok, but the code examples are already there. There are also sites that show Python or C code for this, I believe. But to make this interesting, the table that contains the signal should change over time (should be updated with the function with one or more parameters changed).
Maybe a nice assignment for C sound students to create an opcode for this?


Richard

On 6/15/20 5:01 PM, Dave Seidel wrote:
Thanks, Richard, that looks fascinating, but with my dismal level of maths, I'm not sure how to apply it in the context of Csound.

On Mon, Jun 15, 2020 at 10:48 AM Richard van Bemmelen <zappfinger@gmail.com> wrote:

The superformula (https://en.wikipedia.org/wiki/Superformula) is another very interesting way of creating the most strange wave forms...

Richard

On 6/15/20 4:38 PM, Dave Seidel wrote:
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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
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
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

Date2020-06-16 11:03
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables

very good hint: i have lastly enhanced the wave terrain opcode to provide different curves with very good and interesting results (added limacon, lemniskate (G), rhodonea, lissajous, trisec, cornoid)

it seems that the superformula is a great addition to it - i will definitely try.

On 6/15/20 4:48 PM, Richard van Bemmelen wrote:

The superformula (https://en.wikipedia.org/wiki/Superformula) is another very interesting way of creating the most strange wave forms...

Richard

On 6/15/20 4:38 PM, Dave Seidel wrote:
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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
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

Date2020-06-16 11:36
FromTarmo Johannes
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
Hi!

I am very interested about your wave terrain solution. Would you care to share some examples in another thread?

Tarmo

T, 16. juuni 2020 13:04 docB <000005d2745f1ec0-dmarc-request@listserv.heanet.ie> kirjutas:

very good hint: i have lastly enhanced the wave terrain opcode to provide different curves with very good and interesting results (added limacon, lemniskate (G), rhodonea, lissajous, trisec, cornoid)

it seems that the superformula is a great addition to it - i will definitely try.

On 6/15/20 4:48 PM, Richard van Bemmelen wrote:

The superformula (https://en.wikipedia.org/wiki/Superformula) is another very interesting way of creating the most strange wave forms...

Richard

On 6/15/20 4:38 PM, Dave Seidel wrote:
Hmm, maybe it's time I learned about the squinewave opcode, which could be useful for my purpose.

On Mon, Jun 15, 2020 at 10:28 AM Dave Seidel <dave.seidel@gmail.com> wrote:
Hi all,

It was very nice to see some of you this weekend on Zoom.

I have a question about oscillator opcodes: are there opcodes other than oscilikt* and pvsosc that allow changing tables or predefined waveforms at k-rate? Preferably bandwidth-limited (but not a hard requirement)? I'd also be interested in other types of oscillators as long as they aren't too processor-intensive. So I am open to your suggestions.

For context, I am writing my first instrument for the Qu-Bit Nebulae module (which is built on a Raspberry Pi 3 and executes Csound code), an oscillator with stereo output that uses the Risset harmonic arpeggio effect (a perennial favorite of mine). The instrument's frequency is set from the module's v/oct input, and uses nine oscillator instances (for the original pitch and the offset pitches). I have the even-numbered oscillators on one output channel and the even-numbered oscillators on the other output channel.

I have this working well, and am using both oscilikt (for my own tables) and pvsosc (for its sawtooth and square waves). The user can rotate through the available waveforms (and their underlying opcodes) using one of the push buttons on the front panel of the module. Currently it offers 5 different waveforms, and I'm looking for ways to add more options for timbral variety.

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
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

Date2020-06-16 23:11
FromDave Seidel
SubjectRe: [Csnd] oscillators with dynamic waveforms/tables
Hi Jeanette,

I've decided, based on your recommendations, to look into table morphing. It really makes sense for the Nebulae, with all the panel controls that are available. So far, I've been using a push-button to ratchet through the tables. It would be much cooler to use a knob to smoothly morph between tables. And since all of the knobs on that module have associated CV inputs, the table could be changed under CV control (e.g., a slow LFO, or a stepped signal).

But I also realized something that wasn't obvious until I read up on ftmorf. If I use that opcode, I don't have to be limited to oscillators that take k-vars for the table number! So I may even be able to use my favorite opcode poscil3 (assuming it's not too CPU-intensive, because I'm running nine instances at once). But in any case, it opens up many possibilities.

Thanks again, very much, for these ideas and suggestions.

- Dave

On Mon, Jun 15, 2020 at 11:24 AM Jeanette C. <julien@mail.upb.de> wrote:
Jun 15 2020, Dave Seidel has written:
...
> I have a question about oscillator opcodes: are there opcodes other than
> oscilikt* and pvsosc that allow changing tables or predefined waveforms at
> k-rate? Preferably bandwidth-limited (but not a hard requirement)?
How about tablekt or for smoother interpolations: tabmorph or ftmorf
with a normal table or even oscil opcode.

I have used tabmorph my a wavetable oscillator I did and it worked fine.

Another way is hvs. With something like hvs1 you could load an array of
ftables and morph between them, walk the line. Again I had some fun with
hvs3 in the m_cubicon oscillator. I used adsynt, where the ftables
morphed contained partial frequencies and amplitudes. I think there was
the question - a few times - whether adsynt automatically limits
partials to not rise above the Nyquist frequency, but I can't remember
the answer. :)

> I'd also
> be interested in other types of oscillators as long as they aren't too
> processor-intensive. So I am open to your suggestions.
How about some FM/PM using foscil or again table opcodes and modulating
the phasor that reads through the tables?

I believe Victor has released a few interesting orchestras using
distortion synthesis to create different waveforms. I believe this
technique is or was used sometimes in virtual analogue synths (to a
degree) to emulate the classic waveforms. I'm sorry, I don't have links
to these orchestras, but I think they were discussed in the Csound
journal and there was at least one paper on the topic of distortion
synthesis with examples in Csound.

HTH. It was good meeting you on Saturday.

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

Don't, don't let me be the last to know
Don't hold back, just let it go <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