Académique Documents
Professionnel Documents
Culture Documents
L’objectif de ce TP est de manipuler les effets sonores étant donné que ces effets sont considérés
parmi les premières applications du DSP, en exploitant les propriétés temps réels des DSP.
#include « dsk6713_aic23.h »
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ ;
#define DSK6713_AIC23_INPUT_LINE 0x0011 Uint16
inputsource=DSK6713_AIC23_INPUT_LINE ;
#define LOOPLENGTH 8 Short loopindex=0 ;
Short gain = 10 ;
Short sine_table[LOOPLENGTH]={0,707,1000,707,0,-707,-1000,-707} ;
Interruptvoid c_int11(){
Output_left_sample(sine_table[loopindex++]*gain) ;
If(loopindex>= LOOPLENGTH) loopindex=0 ;
Return ;}
Voidmain() {
comm_intr() ;
While() ; }
On enregistre ce fichier file→Save as → nom gain.gel Après le chargement par loadGEl, on ouvre
gain.gel puis GEL→SineGain→Gain et on charge la valeur du gain.
V- ENREGISTREMENT DU SON
Dans cette partie on utilise un buffer situé dans la mémoire externe pour sauvegarder/restituer une
séquence audio. Pour ce faire on tape le code suivant :
#include « dsk6713_aic23.h »
Uint32 fs=DSK6713_AIC23_FERQ_8KHZ ;
#define DSK6713_AIC23_FREQ_8KHZ ;
Uint16 inputsource=DSK6713_AIC23_INPUT_LINE ;
#define N 2400000 Long i ; Short buffer[N] ;
#pragma DATA_SECTION(buffer, «SDRAM »)
Voidmain(){
Short recording = 0, playing = 0 ;
For(i=0 ;i<N ;i++) buffer[i]=0 ;
DSK6713_DIP_init() ;
DSK6713_LED_init() ;
Comm_poll() ;
While(1){ If (DSK6713_DIP_get(3)==0)
{i=0 ; Recording = 1 ;
While(recording==1) {DSK6713_LED_on(3) ;
{i=0 ; Recording = 1 ;
While(recording==1) {DSK6713_LED_on(3) ;
Buffer[i++]=input_left_sample() ;
If(DSK6713_DIP_get(3)==1)
{recording=0 ;
DSK6713_LED_off(3) ;} }}
If(DSK6713_LED_off(0)==0)
{i=0 ; Playing=1 ;
While(playing==1)
{DSK6713_LED_on(0) ;
Output_left_sample(buffer[i++]) ;
If(i>2000) If(DSK6713_DIP_get(0)==1)
{playing=0 ; DSK6713_LED_off(0) ;}}}}}
On commande l’enregistrement par SW_3 comme il est indiqué dans le programme ci-dessus. Et la
lecture par SW_0.
#include « DSK6713_AIC23.h »
Uint32 fs=DSK6713_AIC23_FREQ_8KHZ ;
#define DSK6713_AIC23_INPUT_LINE 0x0011
Uint16 inputsource=DSK6713_AIC23_INPUT_LINE ;
#define BUF_SIZE 8000 Short input, output,delayed ;
Short buffer[BUF_SIZE] ;
Int i ;
Interruptvoid c_int11()
{
Input = input_left_sample() ;
Delayed = buffer[i] ;
Output = delayed ;
Buffer[i]=input ;
If(++i >=BUF_SIZE) i=0 ;
Output_left_sample(output) ;
Return ;
}
Voidmain()
{ For(i=0 ; i<BUF_SIZE ;i++) buffer[i] ;
Comm_intr() ;
While(1) ;}
On diminue le du son puis on raccorde la sortie du lecteur MP3 à l’entrée LINE INPUT du DSK
et on relie la sortie LINE OUT à un hautparleur. Puis on lance notre programme on remarque
qu’il ya un retard entre l’entrée du son et sa sortie.
VII- CONCLUSION :
Ce TP nous a permis de se familiariser avec l’environnement du DSP et de bien manipuler la carte
DSK6713 ainsi d’essayer différents codes et tester plusieurs phénomènes de traitements de signal.