Skip to content

This repository presents the results of a technological initiation that encouraged my undergraduate thesis, I sought to improve my knowledge in digital signal processing applied to music. It is a spectral analysis tool for the audio of musical instruments, focusing on objectively characterizing timbre.

License

Notifications You must be signed in to change notification settings

jps-pereira/Timbral-Analysis

Repository files navigation

Status: Done

GitHub License

Project

To achieve the results presented in this repository, the important phases of the project were as follows:

  • Use of main tools for timbre analysis, such as spectrograms and mel spectrograms.
  • Development of the graphical interface: To bring together the tools developed in the previous stage in an easy and interactive manner, a graphical user interface GUI was developed using the MATLAB software through the AppDesigner tool. This interface assists in the analysis process by grouping the obtained results.

App Designer is a MATLAB tool that enables the creation of graphical application interfaces. With AppDesigner, users can design user interfaces with a variety of graphical elements, such as buttons, text boxes, graphs, progress bars, and more. This allows for the creation of visually appealing and interactive applications that can be used for tasks such as data analysis, simulation, system control, and result visualization.

The process of publishing applications created in AppDesigner is also simplified, allowing users to share their applications with others. Applications can be published as standalone apps or integrated into an existing MATLAB environment. The installation file .mlappinstall is in this repository; the installation will integrate the developed application into the previously installed MATLAB software. Additionally, the source code is available in this repository as timbral_analisys_exported.m and the file used on Appbuilder as timbral_analysis.mlapp. The MATLAB code and installation file generate a tool for spectral analysis of music signals, serving as a useful means for instrument timbre recognition and facilitating other projects related to applications in MIR (Musical Information Retrieval).

How to use

  • Step 1: Choose the audio file to be read using the file button. Upon selecting the file, its name will be displayed in the text box, and information about the audio will be shown in the MATLAB command line. Execute the file reading by clicking the Run button , so that the signal is represented on the already displayed graphs in the interface, in both the time and frequency domains using the FFT algorithm. If the user does not set limits on the time and frequency sliders, a message box will appear to guide them towards a better decision, and by default, the frequency axis will use the value of 20 kHz, and the time axis will use 100 s.

  • Step 2: If necessary, you can edit the audio by specifying the start and end times in the Start and End text boxes. This step permanently alters the signal for all subsequent functions, unlike the sliders that only display the desired segments based on their values. Whether or not the audio is edited, you can listen to the played audio using the play and pause buttons.

  • Step 3: Define the windowing and filter bank parameters for extracting spectrogram and mel-spectrogram features. If any parameter is not specified, an error message will alert the user about which parameter needs to be filled in.

  • Step 4: Final stage of feature extraction using the Spectrogram and Mel-spectrogram buttons, allowing for the adjustment of parameters for a new feature extraction, enhancing the analysis with greater precision.

Development ideas

  • Instrument classification;
  • Gender recognition;
  • Analysis of audio on real time (not recorded);
  • Separation of source (musical instruments);
  • Analysis of noises.

Author

João Pedro Pereira

About

This repository presents the results of a technological initiation that encouraged my undergraduate thesis, I sought to improve my knowledge in digital signal processing applied to music. It is a spectral analysis tool for the audio of musical instruments, focusing on objectively characterizing timbre.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages