0% found this document useful (0 votes)
17 views

GUIProject

Uploaded by

PUSPA JOSHI
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

GUIProject

Uploaded by

PUSPA JOSHI
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/345081619

GUI Project Audio Processing, Convolution, and Filters

Article · October 2020

CITATIONS READS
0 836

3 authors, including:

Josia Jacob
University of South Florida
6 PUBLICATIONS 1 CITATION

SEE PROFILE

All content following this page was uploaded by Josia Jacob on 31 October 2020.

The user has requested enhancement of the downloaded file.


GUI Project
Audio Processing, Convolution,
and Filters

Samantha Borges, Josia Jacob,


Mirza Maliha
Computer Tools
Project Objective

The main objective for this project was to create a Graphical User Interface (GUI) through

MATLAB in order to process audio files. Through the GUI, we used convolution and filtering to

create sound effects in the input audio files and then we plotted the power spectral density of the

input and output audio signals in time and frequency domain.

Project Approach

An impulse response of a system can be described as the output signal of a system when

an impulse is added to the original or input signal. When it comes to audio, an impulse response

is usually used in order to add reverb to an audio file, or alter it in a way that is useful to the user.

The technical definition of convolution is that it is an integral of the product between an input

signal and a filter. Basically convolution is used to combine two different signals into one output

signal and has characteristics of both input signals. For this project, we used convolution to

combine the input audio file (such as a song) with the impulse responses audio files of cathedral,

cave, and stadium to produce an altered output audio signal that has the characteristics of both the

impulse response and input audio.

GUI Development

To create the GUI through MATLAB, we used the App Designer application that already

is embedded into the MATLAB program. The App Designer allows users to create apps by being

able to edit the visual representation of the GUI and be able to configure the functions of the

different components that the user adds to the GUI. On the visual representation of our GUI, we

added four different Graphs, the top two are used to see the input audio file in the time domain and

frequency domain and the bottom two are used to see the output audio signal after the audio file
has been processed through convolution and filtering in the time and frequency domain. We also

added six different push buttons, five of which are used for the different ways the audio file is able

to be altered, such as if the user wants the audio file to sound like it is being played in a cathedral

or a karaoke version of the audio file. When these buttons are pressed the output audio will start

playing and the graphs for the time and frequency domains will be displayed. The last button is a

stop button, this is used when the user would like to stop the audio from playing. We also added

in multiple text boxes in that allows the user to add in measurements for frequencies, gains and

orders of filters.

How It Should Work

The way the GUI should work is that an audio file will be put into the interface. The GUI

would then read the audio file and be able to produce a plot in the time and frequency domains.

The user then has the choice of whether they want the output audio to sound like if it is being

played in a Cathedral, a Cave, a Stadium, a karaoke version or with no instrumental music (voice

only). Each button is configured to process in order to get the intended effect. So when the user

pushes the desired button, the GUI will go through the process of altering the input audio file and

display the input and output audio signals on the corresponding graphs for visual representation of

the GUI. At the end, the user is also able to press the stop button in order to stop the output audio

from playing. For the Karaoke and Off-Instrument options, the user is able to input values for the

different frequencies, gain and order of filters into the GUI. We can then use these values to help

filter out the audio file in order to have it sound the way the user would like.
Demonstration

Cave

Cathedral
Stadium

Karaoke
Off-Instrument

Conclusion

While working on this project we were able to learn more about graphical user interfaces

and audio processing through MATLAB. For instance, we were able to learn how to efficiently

create a GUI through MATLAB. There are two different ways to create a GUI in MATLAB, either

through GUIDE or App Designer. At first we tried to create it through GUIDE, but we soon

realized that App Designer is more efficient when it comes to GUI development simply because it

allows the user to have more component options for when they are building the visual

representation of their GUI. Also the code file for the GUI is easier to understand on App Designer

than the one in GUIDE because it has all the component laid out in order and allows the user to

add the functions for the components just by adding a callback. We also were able to learn more

about the different functions on MATLAB, such as how to utilize Fourier transformation in order

to graph the frequency domains for the input and output audio files. Also, we learned how to use

convolution to create sound effects for the input audio signal using brief input audio sounds.
Overall, this project was a great opportunity to gain more experience with GUI and MATLAB and

to learn more about how they can go hand in hand when it comes to creating Apps and other web

applications.
References

Fehlhaber, William. "What Is An Impulse Response?" LinkedIn. Linkedln, n.d.

Web. 06 Dec. 2019.

Gonçalves, Hugo. "Convolution." Convolution - A Tutorial with Definition,

Interactive Examples and Properties. OnMyPhD, n.d. Web.

"MATLAB App Designer." MATLAB. N.p., n.d. Web. 06 Dec. 2019.

“Download - Impulse Response Files.” CKSDE, www.cksde.com/p_6_250.htm.

View publication stats

You might also like