1 |
|
---|
2 | # Local Config Settings
|
---|
3 |
|
---|
4 | Open in a text editor, for example:
|
---|
5 |
|
---|
6 | emacs _local_prepare_config.sh
|
---|
7 |
|
---|
8 | review and edit appropriately.
|
---|
9 |
|
---|
10 | If you plan to use the Spotify based 'Track a' for MIR-based features,
|
---|
11 | then create an appropriate Spotify API credentials through:
|
---|
12 |
|
---|
13 | https://developer.spotify.com/dashboard/applications
|
---|
14 |
|
---|
15 | Otherwise you can use 'Track b' which -- proxied through the
|
---|
16 | eurovisionworld.com fan web site -- page scrapes YouTube content of
|
---|
17 | the songs, and then goes through a process using ffmpeg and essentia
|
---|
18 | to generate audio features. No key setup is needed if Track b.
|
---|
19 |
|
---|
20 |
|
---|
21 | # Setup a Virtual Python3 Environment
|
---|
22 |
|
---|
23 | Next create a virtual Python environment:
|
---|
24 |
|
---|
25 | ./CREATE-VENV-PYTHON3.sh my-python3-dev
|
---|
26 |
|
---|
27 | And then install required Python packages:
|
---|
28 |
|
---|
29 | * For processing Excel Voting data spreadsheet
|
---|
30 | pip3 install openpyxl
|
---|
31 |
|
---|
32 | * For parsing Wikipeida pages for missing category entries
|
---|
33 | pip3 install wikipedia beautifulsoup4
|
---|
34 |
|
---|
35 | * For Spotify/MusicBrainz musically computed audio content (Track 'a')
|
---|
36 | pip3 install -r spotify-musicbrainz/requirements.txt
|
---|
37 |
|
---|
38 | * For Essentia Audio Features (Track 'b')
|
---|
39 |
|
---|
40 | git clone https://github.com/davidbwaikato/eurovision-dataset essentia-audio-features
|
---|
41 |
|
---|
42 | pip3 install -r essentia-audio-features/requirements.txt
|
---|
43 |
|
---|
44 |
|
---|
45 | # Running the ALL-CAPS scripts
|
---|
46 |
|
---|
47 | The prefix to the scripts to run are sequentially numbers 01-...,
|
---|
48 | 02-... and so on.
|
---|
49 |
|
---|
50 | The (personal) convention of using ALL-CAPS is to signify that these scripts
|
---|
51 | can be run without any arguments and they will do something meaningful, with
|
---|
52 | the caveat that the current working directory must be the directory where
|
---|
53 | the scripts are located.
|
---|
54 |
|
---|
55 | To aid development and testing, there is a 'small' set of files that
|
---|
56 | can be prepared, based on only the Eurovision entries for 2015.
|
---|
57 |
|
---|
58 | You can run all the steps to generate the small version with:
|
---|
59 |
|
---|
60 | ./PREPARE-ALL-SMALL.sh
|
---|
61 |
|
---|
62 | Or else generate the data for the full collection with
|
---|
63 |
|
---|
64 | ./PREPARE-ALL.sh
|
---|
65 |
|
---|
66 | Look inside the scripts, and copy and paste just the bits you want to
|
---|
67 | run smaller segements of the prepare process.
|
---|
68 |
|
---|
69 | With the a complete run through done, move up one directory to the
|
---|
70 | main collection directory and build the collection.
|
---|
71 |
|
---|
72 |
|
---|
73 |
|
---|
74 |
|
---|
75 |
|
---|