EAB 3043 DIGITAL SIGNAL PROCESSING

DIGITAL SIGNAL PROCESSING PROJECT

RECORDED VOICE AND VARIOUS PLAYBACK

MOHAMED MEERA HUSSIEN B. JAWHAR SATHIK AZMEER B. ABDUL MAJID

15093 15136

OBJECTIVE

Moreover.1. delayed and fast forward conditions. Many Researches had been done to improvise this technology. 2. The application is not only limited for calls. however it can be used to simply human daily chaos. ipod and computer also use these features to simplify the audio function system in our daily life. then plays it back with various playback such as reverse. These outputs are produce with the concept of frequency sampling and inverse that satisfy the formula Fs>2Fo to avoid aliasing effect. there will be three outputs that is Reverse. Slow and Fast forward playbacks. dvd player. As an example. For the output of this project. The buffer is continually overwritten with new values until recording is halted manually. INTRODUCTION In this new technology era. This project record audio signal from the computer/audio cd . Slow and Fasforward) condition. speech recognition has become popular research topic. voice recorded is embedded in the security system and in mobile application. Voice activated recording is used with Audio file input and will start recording when the switch for record is press. The main idea of this project is to record the audio file from the computer or audio CD by recognizing the audio data using DSK6713 board. To apply these playbacks in our daily life for audio/music purpose. METHOD . REVERSE PLAYBACK INPUT SLOW PLAYBACK OUTPUT FAST FORWARD PLAYBACK FIGURE 1: Concept of this project on how the input being manipulated to produce three different types of output (Reverse.

%delayed playback y1 = wavread('C:\Users\Public\Music\Sample Music\Austin_Powers_danger. 1). Below is the Matlab code and flow chart.m recObj = audiorecorder(44100. % Store data in double-precision array. frequency response and quantization are applied to produce the desired outcome. the real programme is applied in DSK kit using C language. play(recObj). However.'C:\Users\Public\Music\Sample Music\Austin_Powers_danger_reverse. % Play back the recording. sec).wav'). wavwrite(y2. . wavLink = 'C:\record_chunk. Matlab code record_mic. title('Record Sound Waveform (RAW)'). % Plot the waveform. soundsc(y2). the Frequency sampling need to satisfy the formula Fs>2Fo to avoid aliasing effect. recObj = audiorecorder. get(recObj) % Record your voice for seconds.'). disp('Start speaking.') recordblocking(recObj. time shifting. plot(myRecording). %fipped playback y2=flipud(y).For this project. myRecording = getaudiodata(recObj). sound(y).wav'). disp('End of Recording. %normal playback Fs=8192.wav'). Moreover. 16. Matlab software is used for testing purpose. In analyzing the input signal. y = wavread('C:\Users\Public\Music\Sample Music\Austin_Powers_danger.wav'.wavLink). Fs = 5000. wavwrite(myRecording.

%fast playback y3 = wavread('C:\Users\Public\Music\Sample Music\Austin_Powers_danger.Fs. wavwrite(y1.Fs).wav').'C:\Users\Public\Music\Sample Music\Austin_Powers_danger_fast.wav').Fs. soundsc(y3.'C:\Users\Public\Music\Sample Music\Austin_Powers_danger_slow. Fs = 19000.soundsc(y1.Fs).wav'). . wavwrite(y3.

slow.Flowchart for Matlab start Set the sampling frequency of audio input Start Recording Record signal until time = 0sec Stop Recording 'End of Recording' Playback the record audio with three types of outputs (Reverse.fastforward) playback end .

void main() { //any DIP SW value except 0-15 2400000 //large buffer size 300 secs short recording = 0. short buffer[N]. // select input #define N long i. LED function were included as the switch turn ‘0’ or ‘1’ to show the signal playback. the value for frequency sample is set to 8Khz and the buffer length for recorded audio is set to 2400000(300secs) which equal to about 1 song for a playback. Below is the source code for the project. for (i=0 .EXT_RAM") //buffer ->external memory short DIP_Mask = 20. i<N . #pragma DATA_SECTION(buffer.DSK6713 For the DSK board.j.". Source code //record.h" Uint32 fs=DSK6713_AIC23_FREQ_8KHZ.c record/play input using external memory #include "dsk6713_aic23. . i++) buffer[i] = 0. DSK6713_LED_init(). Moreover. The switches on the DSK board were assign to SW3=Recording SW2=Fasforwad/Slow SW1=Reverse SW0=Original audio. short playing = 0.delay. short newMask = 0.Fastforward and slow playbacks). DSK6713_DIP_init(). For this project we use polling technique to determine the three outputs(Reverse. #define DSK6713_AIC23_INPUT_MIC 0x0015 #define DSK6713_AIC23_INPUT_LINE 0x0011 //codec support //set sampling rate Uint16 inputsource=DSK6713_AIC23_INPUT_LINE.

while (recording == 1) { DSK6713_LED_on(3). while(1) { //init DSK. i++) buffer[i] = 0. //last buffer index recording = 0. DSK6713_LED_off(3). i=0. //input data if (i>2000) if (DSK6713_DIP_get(3) == 1) { j=i. i<N . playing = 1. while (playing == 1) { DSK6713_LED_on(0). McBSP //infinite loop if(DSK6713_DIP_get(3) == 0) { for (i=0. //if SW#3 is pressed //turn on LED#3 if (i<N) buffer[i++] = input_left_sample(). //input data . codec. } //LED#3 off when buffer full } // while (recording == 1) } //if if(DSK6713_DIP_get(0)==0) //if SW#0 pressed { i=0. //turn on LED#0 output_left_sample(buffer[i++]). recording = 1.comm_poll().

play fast forward . // if SW#1 pressed. DSK6713_LED_off(0). playing = 1.if (i>=j) i=0. if (i>2000) if (DSK6713_DIP_get(0) == 1) { playing = 0. } //LED#3 off when buffer full } // while (playing == 1) } if(DSK6713_DIP_get(1)==0) { i=j. play backward while (playing == 1) { DSK6713_LED_on(1). if(i<=0) i=j. DSK6713_LED_off(1). if (DSK6713_DIP_get(1) == 1) { playing = 0. if(DSK6713_DIP_get(2)==0) // if SW#1 pressed. //turn on LED#1 //input data output_left_sample(buffer[i--]). } }//while (playing == 1) } /* { i=0.

//turn on LED#0 //equation for fast forward speed buffer[i++]=output_left_sample(buffer[i++]). play slow //turn on LED#0 delay= output_left_sample(buffer[i++]). while (playing == 1) { DSK6713_LED_on(2). if (i>=j) i=0. playing = 1.playing = 1. output_left_sample(delay). delay = 0. output_left_sample(buffer[i++]). } } }*/ //LED#3 off when buffer full //input if(DSK6713_DIP_get(2)==0) { i=0. // if SW#1 pressed. if (i>=j) i=0. DSK6713_LED_off(2). if (i>2000) if (DSK6713_DIP_get(2) == 1) //input //equation for slow playback . if (i>2000) if (DSK6713_DIP_get(2) == 1) { playing = 0. while (playing == 1) { DSK6713_LED_on(2).

{ playing = 0. } } } //LED#3 off when buffer full } } . DSK6713_LED_off(2). Flowchart for CCS Start .

Set the sampling frequency of audio input Test switch 3 if press?? yes Test switch 0 if press?? Yes Record signal until time = 0sec no Playback the record audio with three types of outputs (Reverse.fastforward) playback end Discussion .slow.

reverse and fast forward playback using DSK6713 board. All of the outputs have been test in Matlab and it works. Conclusion As what we learn in our lab for DSP. reverse fast forward and slow playbacks. we manage to implement it in our project Voice Recorded and Various Playback. As we tried using interrupt technique for this project . This occurs because of the formula used are not suitable with the program/source code. So we used the polling method instead. the switch function works fine but when we try to record the were no audio recorded. The project works fine in Matlab and DSK6713. we do the programming in Code Composer Studio to get the output using DSK6713 board using polling technique. However for the slow playback the ouput that we determine have certain noise. The frequency were set at 8KHz and the buffer length is 2400000(300secs) which equal to about for 1 song. This project can be implemented in our audio system to help human daily life. we manage to get 3 outputs that are original audio.From the project. From the project done. we are capable of handling certain techniques in Matlab as well as CCS that helps to understand in depth about Digital Signal Processing. Four switches used for recording. . After success in Matlab. original.

Sign up to vote on this title
UsefulNot useful