⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 echo.c

📁 DSK6713開發系統ECHO.RAR應用範例程式
💻 C
字号:
//Echo effects with fading
//3 sliders to control effects: buffer size, amplitude, fading

#include "DSK6713_AIC23.h"					//codec-DSK file support
Uint32 fs=DSK6713_AIC23_FREQ_16KHZ;		//set sampling rate
short input, output;
short buffer[8000];			   			//max size of buffer
short bufferlength = 1000;		   		//initial buffer size
short i = 0;       			   			//buffer index
short delay = 3;				  				//determines size of buffer
short delay_flag = 1;			  			//flag if buffer size changes
short amplitude = 5;			   			//amplitude control by slider
short echo_type = 1;			   			//1 for fading (0 for no fading)

main()
{
 comm_poll();	  			  					//init DSK, codec, McBSP
 while(1)     				   				//infinite loop
 {
 short new_count;				   			//count for new buffer

 output=input+0.1*amplitude*buffer[i]; //newest+oldest sample
 if (echo_type == 1)			   			//if fading is desired
  {
   new_count = (i-1) % bufferlength;   //previous buffer location
   buffer[new_count] = output;	   	//to store most recent output
  }
 output_sample(output);     	    	   //output delayed sample

 input = input_sample();	    	   	//newest input sample data
 if (delay_flag != delay)		   		//if delay has changed
  {                                    //->new buffer size
   delay_flag = delay;			   		//reint for future change
   bufferlength = 1000*delay;		   	//new buffer length
   i = 0;				    	   			//reinit buffer count
  }
 buffer[i] = input;			   			//store input sample
 i++;					    	  					//increment buffer index
 if (i == bufferlength) i=0;		   	//if @ end of buffer reinit
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -