mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-10-31 14:13:50 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			923 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			923 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /***************************************************/
 | |
| /*! \class PitShift
 | |
|     \brief STK simple pitch shifter effect class.
 | |
| 
 | |
|     This class implements a simple pitch shifter
 | |
|     using delay lines.
 | |
| 
 | |
|     by Perry R. Cook and Gary P. Scavone, 1995 - 2005.
 | |
| */
 | |
| /***************************************************/
 | |
| 
 | |
| #ifndef STK_PITSHIFT_H
 | |
| #define STK_PITSHIFT_H
 | |
| 
 | |
| #include "Effect.h" 
 | |
| #include "DelayL.h" 
 | |
| 
 | |
| namespace Nyq
 | |
| {
 | |
| 
 | |
| class PitShift : public Effect
 | |
| {
 | |
|  public:
 | |
|   //! Class constructor.
 | |
|   PitShift();
 | |
| 
 | |
|   //! Class destructor.
 | |
|   ~PitShift();
 | |
| 
 | |
|   //! Reset and clear all internal state.
 | |
|   void clear();
 | |
| 
 | |
|   //! Set the pitch shift factor (1.0 produces no shift).
 | |
|   void setShift(StkFloat shift);
 | |
| 
 | |
|  protected:
 | |
| 
 | |
|   StkFloat computeSample( StkFloat input );
 | |
| 
 | |
|   DelayL delayLine_[2];
 | |
|   StkFloat delay_[2];
 | |
|   StkFloat env_[2];
 | |
|   StkFloat rate_;
 | |
|   unsigned long delayLength;
 | |
|   unsigned long halfLength;
 | |
| 
 | |
| };
 | |
| 
 | |
| } // namespace Nyq
 | |
| 
 | |
| #endif
 | |
| 
 |