Csound Csound-dev Csound-tekno Search About

Re: PSOLA synthesis?

Date1999-02-24 19:37
FromRichard Dobson
SubjectRe: PSOLA synthesis?
If anyone already replied to this, I missed it...

this sounds like a basic granular synthesis technique, so some or all of
the grain/granule opcodes should be able to do it. The full
'pitch-synchronous granular synthesis' is a little more tricky, but
needed if you really want artefact-free time-stretching. Otherwise,
plain-vanilla granular timestretching can work pretty well; you usually
need to randomize the start times of the grains a little to reduce, if
not eliminate, phasing effects. Fof is itself a particular species of
granular synthesis, but I don't think the opcode lends itself so well to
what you want to do; it synthesizes the grains rather than reading them
from a table.

Richard Dobson



Sean Costello wrote:
> 
> Hi Csounders:
> 
> I have a certain synthesis technique I would like to perform, but I am
> not sure of the best way to do it.  What I would like to do is take a
> single one-cycle sample of a vocal sound, and trigger that sample at a
> certain rate.  The sample should not change pitch or duration as it is
> triggered - for triggering rates below the frequency of the original
> sample, there should be gaps between the triggered samples, while for
> triggering rates above the frequency of the original sample, the samples
> should overlap.
> 
> How would I do this in Csound?  Obviously, simply loading the sound into
> a table and using oscili or a phasor/tablei combination will not yield
> the desired effect (this would change the pitch of the sample).
> Convolving the sample with a pulse train would work, but would probably
> take forever to compute.  Can any of the fof routines do this (i.e.
> trigger a sample once, with the triggering controlled at an audio rate,
> as opposed to cycling through the sample table and enveloping the
> result)? Are there other techniques I am overlooking?
> 

-- 
Test your DAW with my Soundcard Attrition Page!
http://wkweb5.cableinet.co.uk/rwd

Date1999-02-24 19:43
FromRichard Karpen
SubjectRe: PSOLA synthesis?

The fof unit does allow one to read samples via Gen01 and for what you're
describing Sean, I think you could give fof a try (there's also a fof2).
By rigging the freq of the grain to be sr/table_len (like for sampling)
and making the frequency at which new grains are initiated as often or
seldom as you want, you can might be able to get a flavor of what you're
suggesting you'd like to do. Maybe!

RK


On Wed, 24 Feb 1999, Richard Dobson wrote:

> If anyone already replied to this, I missed it...
> 
> this sounds like a basic granular synthesis technique, so some or all of
> the grain/granule opcodes should be able to do it. The full
> 'pitch-synchronous granular synthesis' is a little more tricky, but
> needed if you really want artefact-free time-stretching. Otherwise,
> plain-vanilla granular timestretching can work pretty well; you usually
> need to randomize the start times of the grains a little to reduce, if
> not eliminate, phasing effects. Fof is itself a particular species of
> granular synthesis, but I don't think the opcode lends itself so well to
> what you want to do; it synthesizes the grains rather than reading them
> from a table.
> 
> Richard Dobson
> 
> 
> 
> Sean Costello wrote:
> > 
> > Hi Csounders:
> > 
> > I have a certain synthesis technique I would like to perform, but I am
> > not sure of the best way to do it.  What I would like to do is take a
> > single one-cycle sample of a vocal sound, and trigger that sample at a
> > certain rate.  The sample should not change pitch or duration as it is
> > triggered - for triggering rates below the frequency of the original
> > sample, there should be gaps between the triggered samples, while for
> > triggering rates above the frequency of the original sample, the samples
> > should overlap.
> > 
> > How would I do this in Csound?  Obviously, simply loading the sound into
> > a table and using oscili or a phasor/tablei combination will not yield
> > the desired effect (this would change the pitch of the sample).
> > Convolving the sample with a pulse train would work, but would probably
> > take forever to compute.  Can any of the fof routines do this (i.e.
> > trigger a sample once, with the triggering controlled at an audio rate,
> > as opposed to cycling through the sample table and enveloping the
> > result)? Are there other techniques I am overlooking?
> > 
> 
> -- 
> Test your DAW with my Soundcard Attrition Page!
> http://wkweb5.cableinet.co.uk/rwd
> CDP homepage: http://www.bath.ac.uk/~masjpf/CDP/CDP.htm
>