[chuck-users] chugin tutorial or docs?

Joel Matthys jwmatthys at yahoo.com
Wed Dec 25 02:07:16 EST 2013

Thanks for the response, Spencer. Your suggestions matched exactly with 
what I implemented! I used my own FFT, and filled an internal sample 
buffer. It works great!

I also have a stereo GVerb ChuGin underway. The DSP is working but I 
haven't implemented all of the settable options yet.

My code is in a fork of the CCRMA chugin repo at 

I made a little demo of the pitch tracker by combining it with PitShift 
to make a simple autotuner. The ostinato ModalBar is GVerb-ed. It's 
here: https://soundcloud.com/jwmatthys/obama-autotuned-chuck-version


On 12/24/2013 11:00 AM, Spencer Salazar wrote:
> Hey Joel,
> Its not currently possible to create a UAna ChuGin, though this is 
> something we are definitely considering for the future. If it were me 
> doing this right now I would buffer FFT frames internally in a UGen 
> and spit out pitches from a member function or variable as they become 
> available. You would probably have to write your own FFT (or use 
> code/a library from somewhere else), which is sort of lame/inefficient 
> from a software design perspective, given that ChucK already has its 
> own FFT implementation built-in.
> That being said, I think a dependable, go-to pitch tracker would be a 
> great addition to ChucK's chugin library, so please keep us posted on 
> your work and we would be happy to help with any general guidance or 
> specific questions. This is the kind of use case we want to make easy, 
> or at least not unnecessarily cumbersome.
> Im planning to write a solid chugin tutorial some time in the next 
> month or so, but for now, yes, the paper and the source code are the 
> primary documentation. A good portion of ChucK's internal 
> ugens/libraries use the ChuGin-style API (but are compiled in 
> statically of course). So the ChucK source tends to have more breadth 
> in showing how the system works than most of the existing chugins, 
> which are generally pretty simple.
> spencer
> On Mon, Dec 23, 2013 at 6:04 PM, Joel Matthys <jwmatthys at yahoo.com 
> <mailto:jwmatthys at yahoo.com>> wrote:
>     I'm trying to implement a good pitch tracker as a ChuGin. Is there
>     any kind of tutorial or walk-through that anyone has done?
>     A few questions:
>     - Is it possible to create a UAna ChuGin or must it be a UGen?
>     - How do you suggest implementing an FFT-based instrument which
>     uses 1024 or 2048 sample frames for analysis?
>     - Besides the CCRMA paper and the source code, is there any
>     documentation of ChuGin programming?
>     Thanks!
>     Joel
>     _______________________________________________
>     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
> _______________________________________________
> chuck-users mailing list
> chuck-users at lists.cs.princeton.edu
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cs.princeton.edu/pipermail/chuck-users/attachments/20131225/26cbc8e6/attachment.htm>

More information about the chuck-users mailing list