[Csnd] Efficiently spectral morphing single-cycle waves

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Efficiently spectral morphing single-cycle waves

Jeanette C.
Hey hey,
is FFT or additive synthesis the only way to do it? If so: what is the
most efficient alternative on the CPU? Should I try to save an FFT analysis of
my waves and load those with Csound? Or should I try to express my waves
directly through additive synthesis in Csound?

As an aside: can I use one FFT analysis frame - of say a pvsanal - to create
respective frequency and amplitude tables? Given that I know the fundamental
frequency of the input?

Any practical hint is very much appreciated.

Best wishes,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Tarmo Johannes-3
Hi,

I am not sure if it helps you but to create a time varying sine with overtones
(like additive syntehsis) wiht only one oscillator -  waveshaping with
chebyshevpoly is very efficient way (the signal must be sine wave with
amplitude 1):

http://www.csounds.com/manual/html/chebyshevpoly.html

tarmo


On reede, 12. mai 2017 18:49.52 EEST you wrote:

> Hey hey,
> is FFT or additive synthesis the only way to do it? If so: what is the
> most efficient alternative on the CPU? Should I try to save an FFT analysis
> of my waves and load those with Csound? Or should I try to express my waves
> directly through additive synthesis in Csound?
>
> As an aside: can I use one FFT analysis frame - of say a pvsanal - to create
> respective frequency and amplitude tables? Given that I know the
> fundamental frequency of the input?
>
> Any practical hint is very much appreciated.
>
> Best wishes,
>
> Jeanette
>
> --------
> When you need someone, you just turn around and I will be there <3
>
> Csound mailing list
> [hidden email]
> 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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Iain McCurdy
In reply to this post by Jeanette C.

It sounds like you need ftmorf. tabmorpha might also be useful.


Iain




From: A discussion list for users of Csound <[hidden email]> on behalf of Jeanette C. <[hidden email]>
Sent: 12 May 2017 16:49
To: [hidden email]
Subject: [Csnd] Efficiently spectral morphing single-cycle waves
 
Hey hey,
is FFT or additive synthesis the only way to do it? If so: what is the
most efficient alternative on the CPU? Should I try to save an FFT analysis of
my waves and load those with Csound? Or should I try to express my waves
directly through additive synthesis in Csound?

As an aside: can I use one FFT analysis frame - of say a pvsanal - to create
respective frequency and amplitude tables? Given that I know the fundamental
frequency of the input?

Any practical hint is very much appreciated.

Best wishes,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Jeanette C.
May 12 2017, Iain McCurdy has written:

> It sounds like you need ftmorf. tabmorpha might also be useful.
...
Hi Iain,
I worked with those before, but, as I understand it, they use a sort of
crossfading, mixing the two shapes together with varying volume. Or am I
wrong here? I remember looking at the code for tabmorph and it does
exactly that. Maybe ftmorf is different?

Best wishes and thanks,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Jeanette C.
In reply to this post by Tarmo Johannes-3
May 12 2017, Tarmo Johannes has written:
...
> I am not sure if it helps you but to create a time varying sine with overtones
> (like additive syntehsis) wiht only one oscillator -  waveshaping with
> chebyshevpoly is very efficient way (the signal must be sine wave with
> amplitude 1):
...
Hi Johannes,
this sounds very interesting. It might do very well, if I can get a good
feeling for the effect of the Chebyshev polynomials. Then I could use
tabmorph or ftmorf to interpolate between coefficients for the
polynomials. Thanks for that tip, I'd never have looked at it.

Best wishes,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Iain McCurdy
In reply to this post by Jeanette C.

That's right, but morphing the coefficients of chebyschev waveshaping between different sets of coefficients will produce the same sonic result. What you could do with the chebyschev method would be to jitter and add varying lag to the interpolation points which could be quite interesting. If you want partials to gliss between inharmonic spectra that is another matter, and slightly more involved.


Iain




From: A discussion list for users of Csound <[hidden email]> on behalf of Jeanette C. <[hidden email]>
Sent: 12 May 2017 18:14
To: [hidden email]
Subject: Re: [Csnd] Efficiently spectral morphing single-cycle waves
 
May 12 2017, Iain McCurdy has written:

> It sounds like you need ftmorf. tabmorpha might also be useful.
...
Hi Iain,
I worked with those before, but, as I understand it, they use a sort of
crossfading, mixing the two shapes together with varying volume. Or am I
wrong here? I remember looking at the code for tabmorph and it does
exactly that. Maybe ftmorf is different?

Best wishes and thanks,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

AndreaS
In reply to this post by Jeanette C.
In the manual example regarding fof3 there's a macro with gen30 that could
interest you.
Greetings
Andrea S.

----- Original Message -----
From: "Jeanette C." <[hidden email]>
To: <[hidden email]>
Sent: Friday, May 12, 2017 8:28 PM
Subject: Re: [Csnd] Efficiently spectral morphing single-cycle waves


> May 12 2017, Tarmo Johannes has written:
> ...
>> I am not sure if it helps you but to create a time varying sine with
>> overtones
>> (like additive syntehsis) wiht only one oscillator -  waveshaping with
>> chebyshevpoly is very efficient way (the signal must be sine wave with
>> amplitude 1):
> ...
> Hi Johannes,
> this sounds very interesting. It might do very well, if I can get a good
> feeling for the effect of the Chebyshev polynomials. Then I could use
> tabmorph or ftmorf to interpolate between coefficients for the
> polynomials. Thanks for that tip, I'd never have looked at it.
>
> Best wishes,
>
> Jeanette
>
> --------
> When you need someone, you just turn around and I will be there <3
>
> Csound mailing list
> [hidden email]
> 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


---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus

Csound mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

AndreaS
excuse me! grain3, not fof3!

----- Original Message -----
From: "Andrea Strappa" <[hidden email]>
To: <[hidden email]>
Sent: Friday, May 12, 2017 11:06 PM
Subject: Re: [Csnd] Efficiently spectral morphing single-cycle waves


In the manual example regarding fof3 there's a macro with gen30 that could
interest you.
Greetings
Andrea S.

----- Original Message -----
From: "Jeanette C." <[hidden email]>
To: <[hidden email]>
Sent: Friday, May 12, 2017 8:28 PM
Subject: Re: [Csnd] Efficiently spectral morphing single-cycle waves


> May 12 2017, Tarmo Johannes has written:
> ...
>> I am not sure if it helps you but to create a time varying sine with
>> overtones
>> (like additive syntehsis) wiht only one oscillator -  waveshaping with
>> chebyshevpoly is very efficient way (the signal must be sine wave with
>> amplitude 1):
> ...
> Hi Johannes,
> this sounds very interesting. It might do very well, if I can get a good
> feeling for the effect of the Chebyshev polynomials. Then I could use
> tabmorph or ftmorf to interpolate between coefficients for the
> polynomials. Thanks for that tip, I'd never have looked at it.
>
> Best wishes,
>
> Jeanette
>
> --------
> When you need someone, you just turn around and I will be there <3
>
> Csound mailing list
> [hidden email]
> 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


---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus

Csound mailing list
[hidden email]
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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Jeanette C.
May 13 2017, Andrea Strappa has written:

> excuse me! grain3, not fof3!
[has an interesting macro with GEN30]
...
Hi Andrea,
wow! This example is fascinating, but not for the macro, though that
might be interesting.
I love the soft sync, the best I've heard with Csound yet!

Best wishes and thanks,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Efficiently spectral morphing single-cycle waves

Jeanette C.
In reply to this post by Iain McCurdy
May 12 2017, Iain McCurdy has written:

> That's right, but morphing the coefficients of chebyschev waveshaping between different sets of coefficients will produce the same sonic result.
...
Iain,
thanks for pointing that out. I didn't think about this properly. I
guess, what I want or need is a partial dependent varying morphing
function. But implementing that - for a multi-instance realtime
instrument/UDO - might be challenging. :)

I wonder what the typical wavetable synth do? Probably store
interpolated waveforms. I know that the Waldorf Microwave series did
that. They offered a small program to create user wavetables, which
allowed the user to specify the "morphing" algorithm. There was no
general algorithm, it depended on the creation method of the waveforms.

Best wishes,

Jeanette

--------
When you need someone, you just turn around and I will be there <3

Csound mailing list
[hidden email]
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