| This all sounds excellent, Victor!
Can't wait to check it out.
Best,
Andreas
On 18/05/2020, 10:55, "A discussion list for users of Csound on behalf of Victor Lazzarini" wrote:
The error yes, but for CPS, I would need to look into using the autocorrelation signal, which is never
as good as the other pitchtracking methods we have in Csound. At the moment, I have not
exposed the coefficients and residual, but the plan is to write an opcode to do that.
The idea is to provide the coefficients on an array, and to write an opcode also to take
arrays. I am also going to do a pvs opcode that will produce a spectral envelope for
use with other PVS opcodes, and opcodes to go from cepstrum to allpole coeffs and
vice-versa.
Formant-tracking is a different problem, but Ed Costello has worked on EKF tracker that
may be out at some point.
best
========================
Prof. Victor Lazzarini
Maynooth University
Ireland
> On 18 May 2020, at 09:38, Andreas Bergsland wrote:
>
> Great, Victor!
> Do you think it could be possible also to make variants that could access the error and cps values from the analysis so that you can do "classic" LPC resynthesis?
> LPC-based formant tracking could also be very nice.
> Looking forward to try.
> Best regards,
> Andreas
>
> On 17/05/2020, 23:23, "A discussion list for users of Csound on behalf of Victor Lazzarini" wrote:
>
> This should simplify the process.
> ========================
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
>
>> On 17 May 2020, at 21:50, Rory Walsh wrote:
>>
>> WARNINGThis email originated from outside of Maynooth University's Mail System. Do not reply, click links or open attachments unless you recognise the sender and know the content is safe.
>> Nice one Victor. I've never used any of the lpc stuff but this looks like a good opportunity to learn more about it.
>>
>> On Sun, 17 May 2020 at 21:20, Victor Lazzarini wrote:
>> Hi everyone,
>>
>> back to the list, after a while. You know, kids at home, work to do etc.
>>
>> I wanted to introduce you to some new stuff I am starting to add to Csound. Back in 2012
>> when we started planning Cs 6, on my todo list was the request of adding a streaming
>> version of lpc to Csound. I had a look then, the code in lpanal did not look suitable for
>> that and I did not pursue it any further.
>>
>> Now, I have been looking again at lpc, and noticed a much, much better algorithm than
>> what we have in lpanal is described in Makhoul’s tutorial. So I decided to have a go at
>> programming it in C, after prototyping it in Python. This weekend I finally had some time
>> to write it. It seems to work well, and it opens up a possibility for a suite of lpc streaming
>> opcodes. I have two of them written as a proof of concept and will add more as time
>> permits. In particular I see two things as promising: (a) integration with fsigs; (b) using
>> arrays to hold lpc data.
>>
>> So, the opcodes I wrote are
>>
>> asig lpcfilter ain, kpos, kflag, ifn, iN, iM [, ifw]
>>
>> ain - input
>> kpos - read pos in samples
>> kflag - 1 -> compute new filter coefficients, 0 -> keep old coefficients
>> ifn - source table for linear prediction
>> iN - autocorrelation size (lpc input size)
>> iM - allpole filter order
>> ifw - optional window table
>>
>> asig lpcfilter ain, asrc, iN, iM [, ifw]
>>
>> same as above, except for
>>
>> asrc - source signal for linear prediction
>>
>> The main difference is that the second opcode computes new coefficients every M samples,
>> using the past N samples from the source signal. The first computes when asked, from
>> N samples taken from the table at pos kpos.
>>
>> Examples:
>> ==========
>> gifn ftgen 0,0,0,1,"fox.wav",0,0,1
>> gifw ftgen 0,0,1024,20,2,1
>>
>> instr 1
>> k1 init 0
>> kts = .75 // timescale
>> a1 diskin “beats.wav",1,0,1
>> a3 lpcfilter a1/5,k1,1,gifn,1024,64,gifw
>> k1 += 64*kts
>> if k1 > ftlen(gifn) then
>> k1 = 0
>> endif
>> out a3
>> endin
>>
>> instr 2
>> a1 diskin "fox.wav",1,0,1
>> a2 diskin “beats.wav",1,0,1
>> a3 lpcfilter a2/5,a1,1024,64,gifw
>> out a3
>> endin
>> =======
>>
>> The first instrument, reading from the table, is capable of timescale modifications (and other
>> tricks).
>>
>> These may undergo some small changes before release, and I’ll add more as time permits.
>>
>> best
>> ========================
>> Prof. Victor Lazzarini
>> Maynooth University
>> Ireland
>>
>>
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472577141&sdata=hioM3VsCijSyUZymzByREue4hj58llKGjV7sEbhacAs%3D&reserved=0
>> Send bugs reports to
>> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=dC2WbZ%2BtyNn%2BAItwthRPmrifjXFZQVTq%2BNmzTYs7ne4%3D&reserved=0
>> Discussions of bugs and features can be posted here
>> Csound mailing list Csound@listserv.heanet.ie https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=2bXMbcGyBDQW9k1a09IEQBwzFbYFt9bZBnGP6QNkXrU%3D&reserved=0 Send bugs reports to https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=dC2WbZ%2BtyNn%2BAItwthRPmrifjXFZQVTq%2BNmzTYs7ne4%3D&reserved=0 Discussions of bugs and features can be posted here
>
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=2bXMbcGyBDQW9k1a09IEQBwzFbYFt9bZBnGP6QNkXrU%3D&reserved=0
> Send bugs reports to
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=dC2WbZ%2BtyNn%2BAItwthRPmrifjXFZQVTq%2BNmzTYs7ne4%3D&reserved=0
> Discussions of bugs and features can be posted here
>
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flistserv.heanet.ie%2Fcgi-bin%2Fwa%3FA0%3DCSOUND&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=2bXMbcGyBDQW9k1a09IEQBwzFbYFt9bZBnGP6QNkXrU%3D&reserved=0
> Send bugs reports to
> https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcsound%2Fcsound%2Fissues&data=02%7C01%7CVictor.Lazzarini%40mu.ie%7C4f0d8ec0bb844ec01aab08d7fb06ec41%7C1454f5ccbb354685bbd98621fd8055c9%7C1%7C0%7C637253879472587135&sdata=dC2WbZ%2BtyNn%2BAItwthRPmrifjXFZQVTq%2BNmzTYs7ne4%3D&reserved=0
> 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
|