[chuck-users] stupid n00bie question: Part III
joerg piringer
joerg at piringer.net
Tue Oct 16 03:41:48 EDT 2007
there's a zero crossing unit-gen in chuck:
http://chuck.cs.princeton.edu/doc/program/ugen_full.html#zerox
the example is not very meaningful i am afraid.
here's some code i hacked together in a few minutes. it has some flaws
(don't know exactly why i have to divide by four to get the correct
value), but it works somehow.
to use your mic you should substitute the SawOsc with adc.
SawOsc o => ZeroX z => blackhole;
o => dac;
1000 => o.freq;
0 => float val;
0 => float counter;
0 => float sampcounter;
1::second/1::samp => float samplerate;
<<< "samplerate: ", samplerate >>>;
while(true)
{
if(z.last() != val)
{
z.last() => val;
1 +=> counter;
}
1 +=> sampcounter;
if(sampcounter > samplerate)
{
<<< "freq: ", counter/4 >>>;
0 => sampcounter;
0 => counter;
}
1::samp => now;
}
AlgoMantra schrieb:
> Thanks Joerg.
>
> although to be honest, I wasn't looking for the theoretical solution
> but what kind of Chuck code objects to use for this. My Chuck
> learning curve seems way slower than Python/PD, I don't know why.
> I think it's the lack of explanatory notes in examples, or some kind
> of proper tutorial.
>
>
>
> On 10/16/07, *joerg piringer* < joerg at piringer.net
> <mailto:joerg at piringer.net>> wrote:
>
> AlgoMantra schrieb:
> > 1. What is the simplest way to detect the pitch
> > of an audio signal (from the mic) in Chuck?
>
> zero crossing detection.
> count how many times the signal crosses zero. how many times a second it
> changes from positive to negative values or vice versa.
> that could be a rough estimate of the frequency. this is not very
> reliable but works quite well with sounds that are not too hissy. low
> pass filtering before counting helps a little bit.
>
> best
> joerg
>
>
>
> --
> http://joerg.piringer.net
> http://www.transacoustic-research.com
> http://www.iftaf.org <http://www.iftaf.org>
> http://www.vegetableorchestra.org/
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> <mailto:chuck-users at lists.cs.princeton.edu>
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
>
>
> --
> ------- -.-
> 1/f ))) --.
> ------- ...
> http://www.algomantra.com
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
--
http://joerg.piringer.net
http://www.transacoustic-research.com
http://www.iftaf.org
http://www.vegetableorchestra.org/
More information about the chuck-users
mailing list