comparison ext/essentia.R @ 0:205974c9568c tip

Initial commit. Predictions not included for lack of space.
author franrodalg <f.rodriguezalgarra@qmul.ac.uk>
date Sat, 29 Jun 2019 18:45:50 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:205974c9568c
1 library(dplyr)
2 library(tidyr)
3
4 feats_mode <- 'filtered_fb'
5
6 feats_path <- paste0('~/Repositories/research/datasets/features/gtzan/',
7 feats_mode, '/essentia/')
8
9 essentia_feats <- read.csv(
10 file = paste0(feats_path, 'feats_essentia.csv')
11 )
12 essentia_feats <- essentia_feats %>%
13 separate(json_file_name, c('a', 'b', 'file'), sep = '/') %>%
14 select(-a, -b) %>%
15 separate(file, c('gt'), extra = 'drop') %>%
16 mutate(ex_id = 1:nrow(essentia_feats)) %>%
17 select(ex_id, gt, everything())
18
19
20 lowlevel <- essentia_feats %>%
21 select(ex_id, gt,
22 starts_with('lowlevel'))
23 rhythm <- essentia_feats %>%
24 select(ex_id, gt,
25 starts_with('rhythm'))
26 tonal <- essentia_feats %>%
27 select(ex_id, gt,
28 starts_with('tonal')) %>%
29 mutate(
30 tonal.chords_scale = as.numeric(tonal.chords_scale),
31 tonal.chords_key = as.numeric(tonal.chords_key),
32 tonal.key_key = as.numeric(tonal.key_key),
33 tonal.key_scale = as.numeric(tonal.key_scale))
34
35 timbre_dynamics <- lowlevel %>%
36 select(ex_id, gt,
37 contains('loudness'),
38 contains('silence'),
39 contains('spectral'),
40 contains('complexity'),
41 contains('hfc'),
42 contains('zerocrossingrate'),
43 contains('dissonance'),
44 contains('salience'))
45 mfcc <- lowlevel %>%
46 select(ex_id, gt,
47 contains('mfcc'))
48 gfcc <- lowlevel %>%
49 select(ex_id, gt,
50 contains('gfcc'))
51 barkbands <- lowlevel %>%
52 select(ex_id, gt,
53 contains('barkbands'))
54 melbands <- lowlevel %>%
55 select(ex_id, gt,
56 contains('melbands'))
57 erbbands <- lowlevel %>%
58 select(ex_id, gt,
59 contains('erbbands'))
60
61 write.csv(x = rhythm,
62 file = paste0(feats_path, 'essentia_rhythm.csv'),
63 row.names = F)
64 write.csv(x = tonal,
65 file = paste0(feats_path, 'essentia_tonal.csv'),
66 row.names = F)
67 write.csv(x = timbre_dynamics,
68 file = paste0(feats_path, 'essentia_timbre_dynamics.csv'),
69 row.names = F)
70 write.csv(x = mfcc,
71 file = paste0(feats_path, 'essentia_mfcc.csv'),
72 row.names = F)
73 write.csv(x = gfcc,
74 file = paste0(feats_path, 'essentia_gfcc.csv'),
75 row.names = F)
76 write.csv(x = barkbands,
77 file = paste0(feats_path, 'essentia_barkbands.csv'),
78 row.names = F)
79 write.csv(x = melbands,
80 file = paste0(feats_path, 'essentia_melbands.csv'),
81 row.names = F)
82 write.csv(x = erbbands,
83 file = paste0(feats_path, 'essentia_erbbands.csv'),
84 row.names = F)