view sv/filter/DSP.h @ 282:d9319859a4cf tip

(none)
author benoitrigolleau
date Fri, 31 Oct 2008 11:00:24 +0000
parents 628531da16ef
children
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

/*	Sound Access	
		EASAIER client application.	
		Dublin Institute of Technology - Audio Research Group 2007
		www.audioresearchgroup.com
		Author: Dan Barry

	This program is free software; you can redistribute it and/or    
	modify it under the terms of the GNU General Public License as    
	published by the Free Software Foundation; either version 2 of the    
	License, or (at your option) any later version.  See the file    
	COPYING included with this distribution for more information.
*/

#include <QVector>

#define PI 3.14179

void intobyte(int num, char* pbyte1 ,char* pbyte2);

void cart2pol(float* cart, float* mags, float* phases, int framesize);

void pol2cart(float* cart, float* mags, float* phases, int framesize);

void hanning(float* window, int framesize);

void updatephases(float* c_phase,float* p_phase,float* c_synthphase, float* p_synthphase, int framesize,float hopfactor,float interpfactor);

void updatephases2(float* c_phase,float* p_phase,float* c_synthphase, float* p_synthphase, int framesize,float hopfactor,float interpfactor);

void rotatephases(float* c_phase, float* p_phase, float* c_synthphase, float* p_synthphase, int framesize, float interpfactor);

void rotatephases_peaklocked(float* c_phase, float* p_phase, float* c_synthphase, float* p_synthphase, float* cmags, int framesize, float interpfactor);

void cur2last(float* c_phase, float* c_synthphase, float* p_synthphase, int framesize);

int findpeaks(float* c_mags, float* p_mags, float framesize, float* peak_locations);

//void batchADRess();

//void ADRess(float* L_mags, float* L_phase, float* R_mags, float* R_phase, float azimuthvalue, float range, float cutfreq, float bleedthresh, int framesize, bool softbypass);

bool transient_detect(float* L_mags, float* R_mags, float* pL_mags, float* pR_mags, float drumthresh, float framesize);

void sintable(float* sinewave, float length, float sr);

void log10plot(float* L_mags, float* plotFFTarray, int framesize, int plotsize);

void log10plot2(QVector<float>& L_mags, float* plotFFTarray, int framesize, int plotsize);

void applyEQ(float* L_mags, float* R_mags, int framesize, int plotsize, QVector<float>& eqcurve);

void stereo2ms(float* left, float* right, int framesize);

void ms2stereo(float* left, float* right, int framesize);

void bandeq(float* L_mags, float* R_mags, QVector<float>& eqcurve, int framesize);