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
-
- 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.