README.md 2.27 KB
Newer Older
waddafunk's avatar
waddafunk committed
1
2
# AudioFX_Recognition

waddafunk's avatar
waddafunk committed
3
4
User can try the software with the following databases:

David-Badiane's avatar
David-Badiane committed
5
[TRAIN SET DATABASE](https://drive.google.com/open?id=1O-mknCcecjtjRaeVAByxE91e5WFRzXLq)
David-Badiane's avatar
David-Badiane committed
6

waddafunk's avatar
waddafunk committed
7
8
[TEST SET DATABASE](https://drive.google.com/open?id=1jKyQA0UR4X2FsTq4ugXZaM8vCet6dPoG).

waddafunk's avatar
waddafunk committed
9
Otherwise user can download files from [IDMT database](https://www.idmt.fraunhofer.de/en/business_units/m2d/smt/audio_effects.html) or any other source (**wav** files needed) in order to build his own train and test databases. Whether generate_datasets() is set to True, only the **train folder** in /environment/databases has to be filled.
David-Badiane's avatar
David-Badiane committed
10

waddafunk's avatar
waddafunk committed
11
It's mandatory to put a directory named as the class inside databases train and test folders for each class to be classified. 
waddafunk's avatar
waddafunk committed
12

waddafunk's avatar
waddafunk committed
13
The code automatically adapts itself to the number of classes and features computed by checking featuresnames() and classes() in the user_interface. There is no limit to the number of classes and feature to feed to the machine learning algorithm provided that analisyslab modules and databases folders are correctly set.
waddafunk's avatar
waddafunk committed
14

waddafunk's avatar
waddafunk committed
15
The code is organized in modules and all scripts in the root directory can be run. For further insights see /pdf/report.pdf (*Chapter 3*).
David-Badiane's avatar
David-Badiane committed
16
17
18

## User interface 

David-Badiane's avatar
David-Badiane committed
19
20
In the folder AudioFX_Recognition/executables/modules/**analysislab** there is the **user_interface.py** file.
Here the user can choose the subsequent options for the software :
David-Badiane's avatar
David-Badiane committed
21

David-Badiane's avatar
David-Badiane committed
22
23
24
- **Fs** = sampling frequency
- **winlength** = window length for windowing operations
- **hopsize** = hopsize for windowing operations
David-Badiane's avatar
David-Badiane committed
25
- **window** = choose the kind of [window](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.get_window.html)
David-Badiane's avatar
David-Badiane committed
26
27
28
- **classes** = names of the classes to distinguish 
- **featuresnames** = names of the calculated features
- **kbest** = number of features chosen by feature selection
waddafunk's avatar
waddafunk committed
29
- **framefeats** = number of features computed with frameanalysis.getframefeatures()
waddafunk's avatar
waddafunk committed
30
- **do_plot**  = boolean defining wheter to plot all train features (True) or only selected ones (False)
David-Badiane's avatar
David-Badiane committed
31
- **generate_datasets**  = boolean defining wheter generate test/train datasets from a single dataset
waddafunk's avatar
waddafunk committed
32
- **test_size**  = number between 0 and 1 defining the test set length with respect to the single database length when generate_datasets is True
waddafunk's avatar
waddafunk committed
33
- **amplitude_scale** = set the maximum value of all audio files
David-Badiane's avatar
David-Badiane committed
34

David-Badiane's avatar
David-Badiane committed
35