echo.c

来自「在dsk6711平台上」· C语言 代码 · 共 33 行

C
33
字号
//Echo.c Echo effect changed with size of buffer (delay)
short input, output;   
short bufferlength = 3000;		     //buffer size for delay
short buffer[8000];			     //create buffer
short i = 0;
short amplitude = 5;
short delay = 3;
short delay_flag = 3;			     //to vary amplitude of echo 
 
interrupt void c_int11()	           //ISR 
{
 input = input_sample(); 	           //newest input sample data
 output=input + 0.1*amplitude*buffer[i]; //newest sample+oldest sample 
 output_sample(output);  	           //output sample
 
 if (delay_flag != delay)                 //if delay has changed, new buffer size
  {
   delay_flag = delay;                    //reinit for future change
   bufferlength = 1000*delay;             //new buffer length
   i=0;                                   //reinit buffer count
  }

 buffer[i] = input; 	       	     //store newest input sample
 i++;                                    //increment buffer count
 if (i >= bufferlength) i = 0;           //if end of buffer reinit
}

main()
{
 comm_intr();				     //init DSK, codec, McBSP
 while(1);              		     //infinite loop
}

⌨️ 快捷键说明

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