Csound Csound-dev Csound-tekno Search About

[Csnd] pitchtracker

Date2020-06-24 23:04
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
Subject[Csnd] pitchtracker
i have recently bought a cheap fretless bass with 6 strings to also have 
a live instrument capable of microtonal music (fretless guitars are rare 
and expensive).

now i have checked all pitch trackers in csound.

bottom line: plltrack and a self written opcode using Antoine Schmitts 
Wavelet algorithm have produced the best results

so far but only above 131 HZ (great!) .

my question is: is there some research on tracking  deeper frequencies 
without extending the latency too much?

e.g. by machine learning (it would be sufficient to track my bass :-))

or analyzing the frequency spektrum more suitable for deep freqs as 
there are still higher harmonics present?

thx.

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-24 23:33
Fromljc
SubjectRe: [Csnd] pitchtracker
el Thu, 25 Jun 2020 00:04:54 +0200
docB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE> escribió:

> and a self written opcode using Antoine
> Schmitts Wavelet algorithm have produced the best results

that would be another nice addition to canonical Csound...



-- 
ljc 

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-25 07:48
FromJana Hübenthal
SubjectRe: [Csnd] pitchtracker
> so far but only above 131 HZ (great!) .
> 
> my question is: is there some research on tracking  deeper frequencies 
> without extending the latency too much?

You can't beat the physics ;-)  A single cycle of that assumed 131Hz lasts nearly 8ms, which tends to get perceivable. For a more precise pitch tracking, you need muliple cycles - the latency gets even worse...

I did some similar experimentation a few years ago and found no satisfying solution, too.

It ended up in counting samples to get the period time of the input signal, providing the result after the first cycle and then, with more cycles running in, improved the measurement more and more. The longer the tone, the higher the precision. Maybe that is also an approach for your application?

Best,
Jana

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-25 08:09
FromGiuseppe Silvi <000006613a17e48d-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] pitchtracker
Hi!
on the Faust tutorial n. 2 there is a simple tuner called universal pitch tracker zero-crossing based. You can consider to export a Csound opcode from it or try to port directly in Csound. It is a little coding.
Giuseppe

> On 25 Jun 2020, at 00:04, docB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE> wrote:
> 
> i have recently bought a cheap fretless bass with 6 strings to also have a live instrument capable of microtonal music (fretless guitars are rare and expensive).
> 
> now i have checked all pitch trackers in csound.
> 
> bottom line: plltrack and a self written opcode using Antoine Schmitts Wavelet algorithm have produced the best results
> 
> so far but only above 131 HZ (great!) .
> 
> my question is: is there some research on tracking  deeper frequencies without extending the latency too much?
> 
> e.g. by machine learning (it would be sufficient to track my bass :-))
> 
> or analyzing the frequency spektrum more suitable for deep freqs as there are still higher harmonics present?
> 
> thx.
> 
> 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-25 18:39
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] pitchtracker
>> so far but only above 131 HZ (great!) .
>>
>> my question is: is there some research on tracking  deeper frequencies
>> without extending the latency too much?
> You can't beat the physics ;-)  A single cycle of that assumed 131Hz lasts nearly 8ms, which tends to get perceivable. For a more precise pitch tracking, you need muliple cycles - the latency gets even worse...
>
> I did some similar experimentation a few years ago and found no satisfying solution, too.
>
> It ended up in counting samples to get the period time of the input signal, providing the result after the first cycle and then, with more cycles running in, improved the measurement more and more. The longer the tone, the higher the precision. Maybe that is also an approach for your application?

thats a good idea to try out as tracking the strike works fine with some 
code around the rms opcode.

best, christian
> Best,
> Jana
>
> 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-25 18:42
FromdocB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE>
SubjectRe: [Csnd] pitchtracker
> Hi!
> on the Faust tutorial n. 2 there is a simple tuner called universal pitch tracker zero-crossing based. You can consider to export a Csound opcode from it or try to port directly in Csound. It is a little coding.
> Giuseppe

hi, may be it is even possible to use the faust opcodes of csound - i 
will try ...

thx christian


>> On 25 Jun 2020, at 00:04, docB <000005d2745f1ec0-dmarc-request@LISTSERV.HEANET.IE> wrote:
>>
>> i have recently bought a cheap fretless bass with 6 strings to also have a live instrument capable of microtonal music (fretless guitars are rare and expensive).
>>
>> now i have checked all pitch trackers in csound.
>>
>> bottom line: plltrack and a self written opcode using Antoine Schmitts Wavelet algorithm have produced the best results
>>
>> so far but only above 131 HZ (great!) .
>>
>> my question is: is there some research on tracking  deeper frequencies without extending the latency too much?
>>
>> e.g. by machine learning (it would be sufficient to track my bass :-))
>>
>> or analyzing the frequency spektrum more suitable for deep freqs as there are still higher harmonics present?
>>
>> thx.
>>
>> 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