Csound Csound-dev Csound-tekno Search About

[Csnd] new opcode

Date2010-02-14 12:37
FromVictor Lazzarini
Subject[Csnd] new opcode
Hi everyone,

I have added a new (experimental) opcode for independent time- 
stretching and pitch modification, based on the phase-locked vocoder.  
It might require some polishing, but the basic idea is there and seems  
to work as expected. Here is a description,

a1   mincer   atimpt, kamp, kpitch, klock, ktab[, ifftsize, idecim]

atimpt = time pos in seconds into the table (values < 0 or  > table  
length in secs wrap around the table)
kamp = amplitude scaling
kpitch = pitch scaling
klock = 0 turns off phase locking, any other values turn it on
ktab = source table (GEN01 for instance, containing sound to be  
transformed, any size allowed)

ifftsize = fftsize (default 2048)
idecim = decimation (defaults to 4)

As the timescale is a point in secs, it should be possible to do any  
manipulation required, backwards, freezing, jumping, etc.

Here is a



-d


0dbfs = 1 ; MAX AMPLITUDE IS 1.0 !!!!
nchnls=1
ksmps =10
gaef init 0

instr 1

idur = p3
ilock = p4
itab = 1
ipitch = 1
itimescale = 0.5
iamp = 0.5

atime line 0,idur,idur*itimescale
a1 mincer atime,iamp,ipitch,itab,ilock

     out a1
endin



f1 0 0 1 "tune.wav" 0 0 1

i1 0 30 1
i1 + 30 0




This is in CVS now. I hope any issues that arise from playing with it,  
if any, can be fixed before the next release.
I also hope to add an alternative version that will have a slightly  
different format (no time pointer, but a timescale parameter), that  
will internally detect attacks and control timescaling ("temposcaling").

Regards

Victor





Send bugs reports to this list.
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"

Date2010-02-14 13:25
FromRory Walsh
Subject[Csnd] Re: new opcode
Great, can't wait to try it out. Can you hear clear improvements in
time stretching using this new opcode over other methods?

On 14 February 2010 12:37, Victor Lazzarini  wrote:
> Hi everyone,
>
> I have added a new (experimental) opcode for independent time-stretching and
> pitch modification, based on the phase-locked vocoder. It might require some
> polishing, but the basic idea is there and seems to work as expected. Here
> is a description,
>
> a1   mincer   atimpt, kamp, kpitch, klock, ktab[, ifftsize, idecim]
>
> atimpt = time pos in seconds into the table (values < 0 or  > table length
> in secs wrap around the table)
> kamp = amplitude scaling
> kpitch = pitch scaling
> klock = 0 turns off phase locking, any other values turn it on
> ktab = source table (GEN01 for instance, containing sound to be transformed,
> any size allowed)
>
> ifftsize = fftsize (default 2048)
> idecim = decimation (defaults to 4)
>
> As the timescale is a point in secs, it should be possible to do any
> manipulation required, backwards, freezing, jumping, etc.
>
> Here is a
>
> 
> 
> -d
> 
> 
> 0dbfs = 1 ; MAX AMPLITUDE IS 1.0 !!!!
> nchnls=1
> ksmps =10
> gaef init 0
>
> instr 1
>
> idur = p3
> ilock = p4
> itab = 1
> ipitch = 1
> itimescale = 0.5
> iamp = 0.5
>
> atime line 0,idur,idur*itimescale
> a1 mincer atime,iamp,ipitch,itab,ilock
>
>    out a1
> endin
>
> 
> 
> f1 0 0 1 "tune.wav" 0 0 1
>
> i1 0 30 1
> i1 + 30 0
> 
> 
>
>
> This is in CVS now. I hope any issues that arise from playing with it, if
> any, can be fixed before the next release.
> I also hope to add an alternative version that will have a slightly
> different format (no time pointer, but a timescale parameter), that will
> internally detect attacks and control timescaling ("temposcaling").
>
> Regards
>
> Victor
>
>
>
>
>
> Send bugs reports to this list.
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe
> csound"
>


Send bugs reports to this list.
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"

Date2010-02-14 13:33
FromVictor Lazzarini
Subject[Csnd] Re: Re: new opcode
I have not done extensive testing, but to my ears locking helps with  
the messy sound in timestretching of some sounds, but it might cause  
artifacts with others.

Victor
On 14 Feb 2010, at 13:25, Rory Walsh wrote:

> Great, can't wait to try it out. Can you hear clear improvements in
> time stretching using this new opcode over other methods?
>
> On 14 February 2010 12:37, Victor Lazzarini  
>  wrote:
>> Hi everyone,
>>
>> I have added a new (experimental) opcode for independent time- 
>> stretching and
>> pitch modification, based on the phase-locked vocoder. It might  
>> require some
>> polishing, but the basic idea is there and seems to work as  
>> expected. Here
>> is a description,
>>
>> a1   mincer   atimpt, kamp, kpitch, klock, ktab[, ifftsize, idecim]
>>
>> atimpt = time pos in seconds into the table (values < 0 or  > table  
>> length
>> in secs wrap around the table)
>> kamp = amplitude scaling
>> kpitch = pitch scaling
>> klock = 0 turns off phase locking, any other values turn it on
>> ktab = source table (GEN01 for instance, containing sound to be  
>> transformed,
>> any size allowed)
>>
>> ifftsize = fftsize (default 2048)
>> idecim = decimation (defaults to 4)
>>
>> As the timescale is a point in secs, it should be possible to do any
>> manipulation required, backwards, freezing, jumping, etc.
>>
>> Here is a
>>
>> 
>> 
>> -d
>> 
>> 
>> 0dbfs = 1 ; MAX AMPLITUDE IS 1.0 !!!!
>> nchnls=1
>> ksmps =10
>> gaef init 0
>>
>> instr 1
>>
>> idur = p3
>> ilock = p4
>> itab = 1
>> ipitch = 1
>> itimescale = 0.5
>> iamp = 0.5
>>
>> atime line 0,idur,idur*itimescale
>> a1 mincer atime,iamp,ipitch,itab,ilock
>>
>>    out a1
>> endin
>>
>> 
>> 
>> f1 0 0 1 "tune.wav" 0 0 1
>>
>> i1 0 30 1
>> i1 + 30 0
>> 
>> 
>>
>>
>> This is in CVS now. I hope any issues that arise from playing with  
>> it, if
>> any, can be fixed before the next release.
>> I also hope to add an alternative version that will have a slightly
>> different format (no time pointer, but a timescale parameter), that  
>> will
>> internally detect attacks and control timescaling ("temposcaling").
>>
>> Regards
>>
>> Victor
>>
>>
>>
>>
>>
>> Send bugs reports to this list.
>> To unsubscribe, send email sympa@lists.bath.ac.uk with body  
>> "unsubscribe
>> csound"
>>
>
>
> Send bugs reports to this list.
> To unsubscribe, send email sympa@lists.bath.ac.uk with body  
> "unsubscribe csound"



Send bugs reports to this list.
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"

Date2010-02-14 14:16
FromPeiman Khosravi
Subject[Csnd] Re: new opcode
wow! This is amazing, thanks. I can't wait to try it out.

Best,

Peiman

On 14 Feb 2010, at 12:37, Victor Lazzarini wrote:

> Hi everyone,
>
> I have added a new (experimental) opcode for independent time- 
> stretching and pitch modification, based on the phase-locked  
> vocoder. It might require some polishing, but the basic idea is  
> there and seems to work as expected. Here is a description,
>
> a1   mincer   atimpt, kamp, kpitch, klock, ktab[, ifftsize, idecim]
>
> atimpt = time pos in seconds into the table (values < 0 or  > table  
> length in secs wrap around the table)
> kamp = amplitude scaling
> kpitch = pitch scaling
> klock = 0 turns off phase locking, any other values turn it on
> ktab = source table (GEN01 for instance, containing sound to be  
> transformed, any size allowed)
>
> ifftsize = fftsize (default 2048)
> idecim = decimation (defaults to 4)
>
> As the timescale is a point in secs, it should be possible to do any  
> manipulation required, backwards, freezing, jumping, etc.
>
> Here is a
>
> 
> 
> -d
> 
> 
> 0dbfs = 1 ; MAX AMPLITUDE IS 1.0 !!!!
> nchnls=1
> ksmps =10
> gaef init 0
>
> instr 1
>
> idur = p3
> ilock = p4
> itab = 1
> ipitch = 1
> itimescale = 0.5
> iamp = 0.5
>
> atime line 0,idur,idur*itimescale
> a1 mincer atime,iamp,ipitch,itab,ilock
>
>    out a1
> endin
>
> 
> 
> f1 0 0 1 "tune.wav" 0 0 1
>
> i1 0 30 1
> i1 + 30 0
> 
> 
>
>
> This is in CVS now. I hope any issues that arise from playing with  
> it, if any, can be fixed before the next release.
> I also hope to add an alternative version that will have a slightly  
> different format (no time pointer, but a timescale parameter), that  
> will internally detect attacks and control timescaling  
> ("temposcaling").
>
> Regards
>
> Victor
>
>
>
>
>
> Send bugs reports to this list.
> To unsubscribe, send email sympa@lists.bath.ac.uk with body  
> "unsubscribe csound"



Send bugs reports to this list.
To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"