Pitch Perfector
A real-time pitch-shifting microphone project at the University of Glasgow
 All Classes Functions
Public Member Functions | Public Attributes | List of all members
vocoder Class Reference

Performs the analysis and pitch sifting of input frequencies. More...

#include <vocoder.h>

Public Member Functions

 vocoder (int samplerate_input, int bufferSize_input, const float *scaleFreqs_input)
 
float binary_search (const float *NotesInKey, float *note, int highest_index, int lowest_index)
 
float noteFinder (const float *NotesInKey, float *note)
 
float SampleToFreq (int sample)
 
void pitchShift_setup (fftw_complex *fft_spectrum)
 
void pitchShift ()
 
 vocoder (int samplerate_input, int bufferSize_input, const float *scaleFreqs_input)
 
float binary_search (const float *NotesInKey, float *note, int highest_index, int lowest_index)
 
float noteFinder (const float *NotesInKey, float *note)
 
float SampleToFreq (int sample)
 
void pitchShift_setup (fftw_complex *fft_spectrum)
 
void pitchShift ()
 

Public Attributes

float baseFreq
 
int baseSample
 
int samplerate
 
int bufferSize
 
float FreqRes
 
const float * scaleFreqs
 
float newFreq
 
float difference
 
int binDifference
 
fftw_complex * FourierTransform
 
double * RealFourier
 

Detailed Description

Performs the analysis and pitch sifting of input frequencies.

vocoder objects recieve frequency spectrums from the fft class and analyse them to find the fundamental frequency. Then the frequency spectrum is shifted to move the fundamental frequency to one of the notes in the key provided to the object's constructor.


The documentation for this class was generated from the following files: