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
https://github.com/jwmatthys/chugins
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
Thanks,
Joel
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 <[email protected]
<mailto:[email protected]>> 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
[email protected]
<mailto:[email protected]>
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________
chuck-users mailing list
[email protected]
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
_______________________________________________
chuck-users mailing list
[email protected]
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users