New pitch-tacker & Accelerate framework

PhiDjee's icon

Hi,

I move this topic from MaxMSP "Guitar tone, Fiddle~ etc.":

Olaf Matthes replied:
----------------------------------------
> You need the #include, and you have to vDSP_create_fftsetup(),
> the rest depends more or less how your code works.
----------------------------------------

You already know that this code is based on Stephan M. Bernsee "smbPitchShift.cpp" v1.2.
From my point of view, I don't know any other code providing a so fast pitch-tracker, here embedded in a pitch-shifter.
On a fast machine (G5 dual or Quad, Mac Pro), it can be used for real-time processing (latency < 10 milliseconds) when playing a musical instrument such an electric guitar or an electric violin.
Tested on a G5 Quad 2*2.5gHz.

All known bugs have been fixed and successfully recompiled in Xcode 2.4.

Well, is it worth looking at this code to translate part of it into a MaxMSP external, or not?
I have the free time for, but for what result in MaxMSP?
Could I expect a same performance as an MSP external versus a 'pure' AU plug-in?

In advance, thanks for your insights.
Kind wishes,
Philippe
========================================

The #include are:

- in the cpp, the following header:

#include "Pitchy.h"

- and in "Pitchy.h":

#include
----------------------------

vDSP_create and vDSP_destroy are (See vDSP.h in Xcode):

vDSP_create_fftsetupD()
vDSP_destroy_fftsetupD()

* Availability:
* Mac OS X: in version 10.2 and later in
vecLib.framework
* CarbonLib: not available
* Non-Carbon CFM: not available
----------------------------

* Sample:

    // create an FFT coefficient setup if necessary
    if(mFFTSetup != NULL) {
        vDSP_destroy_fftsetupD(mFFTSetup);
        mFFTSetup = NULL;
    }
    mFFTSetup = vDSP_create_fftsetupD(fftLog2n, 0);

========================================