1. Project Requirements - mehmetkayaalp/swe599 GitHub Wiki

In this section, I will be listing and discussing the Project's Requirements and analyzing them.

1. Overall Description

1.1 Product Description

This product is designed to analyze Turkish Classical music data. A person can be assessed herself/himself with this program. S/he will upload his/her music data into the program and will select Turkish Classical music type that s/he wants to see. As a result, they can see what they did wrong or right.

1.2 Operating Environment

This program will be a desktop application and can be runnable in every operating system as long as Python 2.7 is installed on the environment.

2. Functional Requirements

    1. The user of the application shall be able to analyze Turkish Classical Music data.
  • 2.1 The user should upload a music file.
  • 2.1.1 The user shall be able to select part of the music from the application.
  • 2.1.2 The user shall be able to listen to the music.
  • 2.1.3 The user shall be able to listen selected part of the music explained in the 1.1.1 Section.
  • 2.1.4 The user should choose music type from the draft.

  • 2.2 The user should see frequency of the uploaded music data with respect to the time.
  • 2.2.1 The user should see frequency of the music data in a plot diagram.
  • 2.2.2 The user should see time on the x axis and frequency of the music data on the y axis.
  • 2.2.3 The user shall be able to change the frequency of the music data.
  • 2.2.4 The user shall be able to see draft data in the plot diagram with respect to the chosen music, explained in the 2.1.4.
  • 2.2.5 The user shall be able to move the drafted data.

  • 2.3 The user should see Melogram data of the uploaded music data with respect to the time.
  • 2.3.1 The user should see music waves in a plot diagram.
  • 2.3.2 The user should see time on the x axis and music waves on the y axis.
  • 2.3.3 The user shall be able to select some point intervals in the plot diagram.
  • 2.3.4 The user shall export the selected point intervals to a file.
  • 2.3.4.1 The user should see values of the music waves data of the selected points in 2 milliseconds intervals in the exported file.

3. NonFunctional Requirements

  • 3.1. Uploaded music file's extension should be wav.
  • 3.2. Default unit of plot diagrams should be Hertz in y axis.
  • 3.3. The unit of frequency of the music should be changeable with Koma and Cent.
  • 3.4. All plot diagrams should be scalable (zoom in/out).
  • 3.5. There should be no limit to size of the music file.
  • 3.6 The system should be a desktop application.
  • 3.7 The system should keep already analyzed data in a folder and should not analyze already analyzed music file again.
  • 3.8 The system should keep Turkish Classical Music series as a draft.
  • 3.9 The exported fill shall be Excel file.