changeset 24:68a62ca32441

Organized python scripts
author Paulo Chiliguano <p.e.chiilguano@se14.qmul.ac.uk>
date Sat, 15 Aug 2015 19:16:17 +0100
parents 45e6f85d0ba4
children fafc0b249a73
files Code/7digital_fetch_audio.py Code/convolutional_mlp.py Code/eda.py Code/feature_extraction.py Code/genre_classification/classification/convolutional_mlp_7digital.py Code/genre_classification/classification/logistic_sgd.py Code/genre_classification/classification/mlp.py Code/genre_classification/classification/preprocess_spectrograms_7digital.py Code/genre_classification/learning/convolutional_mlp.py Code/genre_classification/learning/logistic_sgd.py Code/genre_classification/learning/mlp.py Code/genre_classification/learning/preprocess_spectrograms_gtzan.py Code/logistic_sgd.py Code/make_lists.py Code/mlp.py Code/prepare_dataset.py Code/preview_clip.py Code/read_songID.py Code/taste_profile_cleaning.py Code/time_freq_representation/feature_extraction.py Code/time_freq_representation/make_lists.py Code/time_freq_representation/utils.py Code/utils.py Dataset/7digital/CF_dataset_metadata.txt Dataset/7digital/features/feats.pkl Dataset/7digital/lists/audio_files.txt Dataset/7digital/lists/ground_truth.txt Dataset/CF_dataset_metadata.txt Dataset/genre_classification/best_params.pkl Dataset/genre_classification/genre_prob.pkl Dataset/gtzan/features/gtzan_3sec_1.pkl Dataset/gtzan/features/gtzan_3sec_2.pkl Dataset/gtzan/features/gtzan_3sec_3.pkl Dataset/gtzan/features/gtzan_3sec_4.pkl Dataset/gtzan/features/gtzan_3sec_5.pkl Dataset/gtzan/features/gtzan_3sec_6.pkl Dataset/gtzan/features/gtzan_3sec_7.pkl Dataset/gtzan/features/gtzan_3sec_8.pkl Dataset/gtzan/features/gtzan_3sec_9.pkl Dataset/gtzan/lists/audio_files.txt Dataset/gtzan/lists/ground_truth.txt Report/chapter2/background.tex Report/chiliguano_msc_finalproject.pdf Report/chiliguano_msc_finalproject.synctex.gz Report/chiliguano_msc_finalproject.toc
diffstat 45 files changed, 7572 insertions(+), 2559 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/7digital_fetch_audio.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,96 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Wed Jul 15 00:41:44 2015
+
+@author: paulochiliguano
+"""
+
+
+import csv
+import time
+from pyechonest import song, config #http://echonest.github.io/pyechonest/
+import oauth2 as oauth #https://github.com/jasonrubenstein/python_oauth2
+import urllib2
+import os
+
+# 7digital keys
+consumer_key = '7ds28qendsk9'
+consumer_secret = 'm5nsktn3hu6x45cy'
+consumer = oauth.Consumer(consumer_key, consumer_secret)
+
+# EchoNest key
+config.ECHO_NEST_API_KEY="LINDFDUTQZQ781IE8"
+
+# Retrieve audio clips
+mp3_folder = '/Users/paulochiliguano/Documents/msc-project/Dataset/clips/'
+filename_echonest = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
+CF_dataset_songID.txt'
+filename_7digital = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
+CF_dataset_metadata.txt'
+with open(filename_echonest, 'rb') as f, open(filename_7digital, 'wb') as out:
+    writer = csv.writer(out, delimiter='\t')	
+    for i in xrange(1218):
+        f.readline()
+    next = f.readline()
+    while next != "":
+        try:
+            s = song.Song(next)
+            #s = song.Song('SOPEXHZ12873FD2AC7')
+        #except:        
+        except IndexError:
+            time.sleep(3)
+            print "%s not available" % next[:-1]
+            next = f.readline()
+        else:
+            time.sleep(3)
+            try:
+                ss_tracks = s.get_tracks('7digital-UK')
+            except:
+                time.sleep(3)
+                print "%s not in UK catalog" % next[:-1]
+                next = f.readline()
+            else:
+                #print(len(ss_tracks))
+                if len(ss_tracks) != 0:
+                    ss_track = ss_tracks[0]
+                    preview_url = ss_track.get('preview_url')	
+                    track_id = ss_track.get('id')
+                    
+                    req = oauth.Request(
+                        method="GET",
+                        url=preview_url,
+                        is_form_encoded=True
+                    )
+                    req['oauth_timestamp'] = oauth.Request.make_timestamp()
+                    req['oauth_nonce'] = oauth.Request.make_nonce()
+                    req['country'] = "GB"
+                    sig_method = oauth.SignatureMethod_HMAC_SHA1()
+                    req.sign_request(sig_method, consumer, token=None)
+                    
+                    try:
+                        response = urllib2.urlopen(req.to_url())
+                    except:
+                        #time.sleep(16)
+                        print "No available preview for %s" % next[:-1]
+                        #writer.writerow([next[:-2], 'NA', s.artist_name.encode("utf-8"), s.title.encode("utf-8")])
+                    else:                                                
+                        print([
+                            next[:-1],
+                            track_id,
+                            s.artist_name,
+                            s.title,
+                            preview_url
+                        ])
+                        writer.writerow([
+                            next[:-1],
+                            track_id,
+                            s.artist_name.encode("utf-8"),
+                            s.title.encode("utf-8"),
+                            preview_url
+                        ])
+                        mp3_file = os.path.join(mp3_folder, next[:-1]+'.mp3')
+                        with open(mp3_file, 'wb') as songfile:
+                            songfile.write(response.read())
+                    time.sleep(16)
+                next = f.readline()	
+        
\ No newline at end of file
--- a/Code/convolutional_mlp.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,403 +0,0 @@
-"""This tutorial introduces the LeNet5 neural network architecture
-using Theano.  LeNet5 is a convolutional neural network, good for
-classifying images. This tutorial shows how to build the architecture,
-and comes with all the hyper-parameters you need to reproduce the
-paper's MNIST results.
-
-
-This implementation simplifies the model in the following ways:
-
- - LeNetConvPool doesn't implement location-specific gain and bias parameters
- - LeNetConvPool doesn't implement pooling by average, it implements pooling
-   by max.
- - Digit classification is implemented with a logistic regression rather than
-   an RBF network
- - LeNet5 was not fully-connected convolutions at second layer
-
-References:
- - Y. LeCun, L. Bottou, Y. Bengio and P. Haffner:
-   Gradient-Based Learning Applied to Document
-   Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 1998.
-   http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
-
-"""
-import os
-import sys
-import timeit
-
-import numpy
-
-import theano
-import theano.tensor as T
-from theano.tensor.signal import downsample
-from theano.tensor.nnet import conv
-
-from logistic_sgd import LogisticRegression, load_data
-from mlp import HiddenLayer
-
-# Paulo: Additional libraries
-import cPickle
-from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams
-
-# Paulo: Rectifier Linear Unit
-# Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
-def relu(x):
-    return T.maximum(0.,x)
-        
-# Paulo: Random Streams
-srng = RandomStreams()
-
-class LeNetConvPoolLayer(object):
-    """Pool Layer of a convolutional network """
-
-    def __init__(self, rng, input, filter_shape, image_shape, poolsize=(2, 2)):
-        """
-        Allocate a LeNetConvPoolLayer with shared variable internal parameters.
-
-        :type rng: numpy.random.RandomState
-        :param rng: a random number generator used to initialize weights
-
-        :type input: theano.tensor.dtensor4
-        :param input: symbolic image tensor, of shape image_shape
-
-        :type filter_shape: tuple or list of length 4
-        :param filter_shape: (number of filters, num input feature maps,
-                              filter height, filter width)
-
-        :type image_shape: tuple or list of length 4
-        :param image_shape: (batch size, num input feature maps,
-                             image height, image width)
-
-        :type poolsize: tuple or list of length 2
-        :param poolsize: the downsampling (pooling) factor (#rows, #cols)
-        """
-
-        assert image_shape[1] == filter_shape[1]
-        self.input = input
-
-        # there are "num input feature maps * filter height * filter width"
-        # inputs to each hidden unit
-        fan_in = numpy.prod(filter_shape[1:])
-        # each unit in the lower layer receives a gradient from:
-        # "num output feature maps * filter height * filter width" /
-        #   pooling size
-        fan_out = (filter_shape[0] * numpy.prod(filter_shape[2:]) /
-                   numpy.prod(poolsize))
-        # initialize weights with random weights
-        W_bound = numpy.sqrt(6. / (fan_in + fan_out))
-        self.W = theano.shared(
-            numpy.asarray(
-                rng.uniform(low=-W_bound, high=W_bound, size=filter_shape),
-                dtype=theano.config.floatX
-            ),
-            borrow=True
-        )
-
-        # the bias is a 1D tensor -- one bias per output feature map
-        b_values = numpy.zeros((filter_shape[0],), dtype=theano.config.floatX)
-        self.b = theano.shared(value=b_values, borrow=True)
-
-        # convolve input feature maps with filters
-        conv_out = conv.conv2d(
-            input=input,
-            filters=self.W,
-            filter_shape=filter_shape,
-            image_shape=image_shape
-        )
-
-        # downsample each feature map individually, using maxpooling
-        pooled_out = downsample.max_pool_2d(
-            input=conv_out,
-            ds=poolsize,
-            ignore_border=True
-        )
-        
-        # Paulo: dropout
-        # Source: https://github.com/Newmu/Theano-Tutorials/blob/master/5_convolutional_net.py
-        retain_prob = 1 - 0.20
-        pooled_out *= srng.binomial(
-            pooled_out.shape,
-            p=retain_prob,
-            dtype=theano.config.floatX)
-        pooled_out /= retain_prob
-        
-        # add the bias term. Since the bias is a vector (1D array), we first
-        # reshape it to a tensor of shape (1, n_filters, 1, 1). Each bias will
-        # thus be broadcasted across mini-batches and feature map
-        # width & height
-        #self.output = T.tanh(pooled_out + self.b.dimshuffle('x', 0, 'x', 'x'))
-        self.output = relu(pooled_out + self.b.dimshuffle('x', 0, 'x', 'x'))
-        
-        # store parameters of this layer
-        self.params = [self.W, self.b]
-
-        # keep track of model input
-        self.input = input
-
-
-def evaluate_lenet5(learning_rate=0.01, n_epochs=200,
-                    dataset='mnist.pkl.gz',
-                    nkerns=[32, 32], batch_size=10):
-    """ Demonstrates lenet on MNIST dataset
-
-    :type learning_rate: float
-    :param learning_rate: learning rate used (factor for the stochastic
-                          gradient)
-
-    :type n_epochs: int
-    :param n_epochs: maximal number of epochs to run the optimizer
-
-    :type dataset: string
-    :param dataset: path to the dataset used for training /testing (MNIST here)
-
-    :type nkerns: list of ints
-    :param nkerns: number of kernels on each layer
-    """
-
-    rng = numpy.random.RandomState(23455)
-
-    datasets = load_data(dataset)
-
-    train_set_x, train_set_y = datasets[0]
-    valid_set_x, valid_set_y = datasets[1]
-    test_set_x, test_set_y = datasets[2]
-
-    # compute number of minibatches for training, validation and testing
-    n_train_batches = train_set_x.get_value(borrow=True).shape[0]
-    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0]
-    n_test_batches = test_set_x.get_value(borrow=True).shape[0]
-    
-    n_train_batches /= batch_size
-    n_valid_batches /= batch_size
-    n_test_batches /= batch_size
-
-    # allocate symbolic variables for the data
-    index = T.lscalar()  # index to a [mini]batch
-
-    # start-snippet-1
-    x = T.matrix('x')   # the data is presented as rasterized images
-    y = T.ivector('y')  # the labels are presented as 1D vector of
-                        # [int] labels
-
-    ######################
-    # BUILD ACTUAL MODEL #
-    ######################
-    print '... building the model'
-
-    # Reshape matrix of rasterized images of shape (batch_size, 28 * 28)
-    # to a 4D tensor, compatible with our LeNetConvPoolLayer
-    # (28, 28) is the size of MNIST images.
-    #layer0_input = x.reshape((batch_size, 1, 28, 28))
-    layer0_input = x.reshape((batch_size, 1, 130, 128))
-    # Construct the first convolutional pooling layer:
-    # filtering reduces the image size to (28-5+1 , 28-5+1) = (24, 24)
-    # maxpooling reduces this further to (24/2, 24/2) = (12, 12)
-    # 4D output tensor is thus of shape (batch_size, nkerns[0], 12, 12)
-    layer0 = LeNetConvPoolLayer(
-        rng,
-        input=layer0_input,
-        #image_shape=(batch_size, 1, 28, 28),
-        image_shape=(batch_size, 1, 130, 128),
-        #filter_shape=(nkerns[0], 1, 5, 5),
-        filter_shape=(nkerns[0], 1, 8, 1),
-        #poolsize=(2, 2)
-        poolsize=(4, 1)
-    )
-
-    # Construct the second convolutional pooling layer
-    # filtering reduces the image size to (12-5+1, 12-5+1) = (8, 8)
-    # maxpooling reduces this further to (8/2, 8/2) = (4, 4)
-    # 4D output tensor is thus of shape (batch_size, nkerns[1], 4, 4)
-    layer1 = LeNetConvPoolLayer(
-        rng,
-        input=layer0.output,
-        #image_shape=(batch_size, nkerns[0], 12, 12),
-        image_shape=(batch_size, nkerns[0], 30, 128),
-        #filter_shape=(nkerns[1], nkerns[0], 5, 5),
-        filter_shape=(nkerns[1], nkerns[0], 8, 1),
-        #poolsize=(2, 2)
-        poolsize=(4, 1)
-    )
-    
-    # the HiddenLayer being fully-connected, it operates on 2D matrices of
-    # shape (batch_size, num_pixels) (i.e matrix of rasterized images).
-    # This will generate a matrix of shape (batch_size, nkerns[1] * 4 * 4),
-    # or (500, 50 * 4 * 4) = (500, 800) with the default values.
-    layer2_input = layer1.output.flatten(2)
-
-    # construct a fully-connected sigmoidal layer
-    layer2 = HiddenLayer(
-        rng,
-        input=layer2_input,
-        #n_in=nkerns[1] * 4 * 4,
-        n_in=nkerns[1] * 5 * 128,
-        n_out=500,
-        #n_out=100,
-        #activation=T.tanh
-        activation=relu
-    )
-
-    # classify the values of the fully-connected sigmoidal layer
-    layer3 = LogisticRegression(input=layer2.output, n_in=500, n_out=10)
-    #layer4 = LogisticRegression(input=layer3.output, n_in=50, n_out=10)
-    
-    # the cost we minimize during training is the NLL of the model
-    cost = layer3.negative_log_likelihood(y)
-
-    # create a function to compute the mistakes that are made by the model
-    test_model = theano.function(
-        [index],
-        layer3.errors(y),
-        givens={
-            x: test_set_x[index * batch_size: (index + 1) * batch_size],
-            y: test_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-
-    validate_model = theano.function(
-        [index],
-        layer3.errors(y),
-        givens={
-            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
-            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-    '''
-    # Paulo: Set best param for MLP pre-training
-    f = file('/homes/pchilguano/deep_learning/best_params.pkl', 'rb')
-    params0, params1, params2, params3 = cPickle.load(f)
-    f.close()
-    layer0.W.set_value(params0[0])
-    layer0.b.set_value(params0[1])
-    layer1.W.set_value(params1[0])
-    layer1.b.set_value(params1[1])
-    layer2.W.set_value(params2[0])
-    layer2.b.set_value(params2[1])
-    layer3.W.set_value(params3[0])
-    layer3.b.set_value(params3[1])
-    '''
-    # create a list of all model parameters to be fit by gradient descent
-    params = layer3.params + layer2.params + layer1.params + layer0.params
-    #params = layer4.params + layer3.params + layer2.params + layer1.params + layer0.params
-
-    # create a list of gradients for all model parameters
-    grads = T.grad(cost, params)
-
-    # train_model is a function that updates the model parameters by
-    # SGD Since this model has many parameters, it would be tedious to
-    # manually create an update rule for each model parameter. We thus
-    # create the updates list by automatically looping over all
-    # (params[i], grads[i]) pairs.
-    updates = [
-        (param_i, param_i - learning_rate * grad_i)
-        for param_i, grad_i in zip(params, grads)
-    ]
-
-    train_model = theano.function(
-        [index],
-        cost,
-        updates=updates,
-        givens={
-            x: train_set_x[index * batch_size: (index + 1) * batch_size],
-            y: train_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-    # end-snippet-1
-
-    ###############
-    # TRAIN MODEL #
-    ###############
-    print '... training'
-    # early-stopping parameters
-    patience = 1000  # look as this many examples regardless
-    patience_increase = 2  # wait this much longer when a new best is
-                           # found
-    improvement_threshold = 0.995  # a relative improvement of this much is
-                                   # considered significant
-    validation_frequency = min(n_train_batches, patience / 2)
-                                  # go through this many
-                                  # minibatche before checking the network
-                                  # on the validation set; in this case we
-                                  # check every epoch
-
-    best_validation_loss = numpy.inf
-    best_iter = 0
-    test_score = 0.
-    start_time = timeit.default_timer()
-
-    epoch = 0
-    done_looping = False
-
-    while (epoch < n_epochs) and (not done_looping):
-        epoch = epoch + 1
-        for minibatch_index in xrange(n_train_batches):
-
-            iter = (epoch - 1) * n_train_batches + minibatch_index
-
-            if iter % 100 == 0:
-                print 'training @ iter = ', iter
-            cost_ij = train_model(minibatch_index)
-
-            if (iter + 1) % validation_frequency == 0:
-
-                # compute zero-one loss on validation set
-                validation_losses = [validate_model(i) for i
-                                     in xrange(n_valid_batches)]
-                this_validation_loss = numpy.mean(validation_losses)
-                print('epoch %i, minibatch %i/%i, validation error %f %%' %
-                      (epoch, minibatch_index + 1, n_train_batches,
-                       this_validation_loss * 100.))
-
-                # if we got the best validation score until now
-                if this_validation_loss < best_validation_loss:
-
-                    #improve patience if loss improvement is good enough
-                    if this_validation_loss < best_validation_loss *  \
-                       improvement_threshold:
-                        patience = max(patience, iter * patience_increase)
-
-                    # save best validation score and iteration number
-                    best_validation_loss = this_validation_loss
-                    best_iter = iter
-
-                    # test it on the test set
-                    test_losses = [
-                        test_model(i)
-                        for i in xrange(n_test_batches)
-                    ]
-                    test_score = numpy.mean(test_losses)
-                    print(('     epoch %i, minibatch %i/%i, test error of '
-                           'best model %f %%') %
-                          (epoch, minibatch_index + 1, n_train_batches,
-                           test_score * 100.))
-                    # Paulo: Get best parameters for MLP
-                    best_params0 = [param.get_value().copy() for param in layer0.params]
-                    best_params1 = [param.get_value().copy() for param in layer1.params]
-                    best_params2 = [param.get_value().copy() for param in layer2.params]
-                    best_params3 = [param.get_value().copy() for param in layer3.params]
-                    #best_params4 = [param.get_value().copy() for param in layer4.params]
-                    
-            if patience <= iter:
-                done_looping = True
-                break
-
-    end_time = timeit.default_timer()
-    print('Optimization complete.')
-    print('Best validation score of %f %% obtained at iteration %i, '
-          'with test performance %f %%' %
-          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
-    print >> sys.stderr, ('The code for file ' +
-                          os.path.split(__file__)[1] +
-                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
-    # Paulo: Save best param for MLP
-    f = file('/homes/pchilguano/deep_learning/best_params.pkl', 'wb')
-    cPickle.dump((best_params0, best_params1, best_params2, best_params3), f, protocol=cPickle.HIGHEST_PROTOCOL)
-    f.close()
-    
-if __name__ == '__main__':
-    evaluate_lenet5()
-
-
-def experiment(state, channel):
-    evaluate_lenet5(state.learning_rate, dataset=state.dataset)
-
--- a/Code/eda.py	Tue Aug 11 14:23:42 2015 +0100
+++ b/Code/eda.py	Sat Aug 15 19:16:17 2015 +0100
@@ -8,8 +8,11 @@
 
 from math import sqrt, log10
 import numpy as np
+import pandas as pd
 from sklearn import mixture
 
+#Fine tuning
+
 #User-item dictionary
 users = {"Angelica": {"SOAJJPC12AB017D63F": 3.5, "SOAKIXJ12AC3DF7152": 2.0,
                       "SOAKPFH12A8C13BA4A": 4.5, "SOAGTJW12A6701F1F5": 5.0,
@@ -49,43 +52,140 @@
          "SOAJZEP12A8C14379B": [5, 5, 4, 2, 1, 1, 1, 5, 4, 1],
          "SOAHQFM12A8C134B65": [2.5, 4, 4, 1, 1, 1, 1, 5, 4, 1]}
 
-#Functions to compute similarity between items or between profiles
+# Functions to compute similarity between items or between profiles
 # Source: http://www.guidetodatamining.com
 def manhattan(vector1, vector2):
     """Computes the Manhattan distance."""
-    distance = 0
-    total = 0
-    n = len(vector1)
-    for i in range(n):
-        distance += abs(vector1[i] - vector2[i])
-    return distance
+    return sum(map(lambda v1, v2: abs(v1 - v2), vector1, vector2))
 
-def computeNearestNeighbor(itemName, itemVector, items):
-    """creates a sorted list of items based on their distance to item"""
-    distances = []
-    for otherItem in items:
-        if otherItem != itemName:
-            distance = manhattan(itemVector, items[otherItem])
-            distances.append((distance, otherItem))
-        # sort based on distance -- closest first
-        distances.sort()
-    return distances
+def nearestNeighbor(self, itemVector):
+    """return nearest neighbor to itemVector"""
+    return min([(
+        self.manhattan(itemVector, item[1]), item) for item in self.data
+    ])
 
-def classify(user, itemName, itemVector):
-    """Classify the itemName based on user ratings
-    Should really have items and users as parameters"""
-    # first find nearest neighbor
-    nearest = computeNearestNeighbor(itemName, itemVector, items)[0][1]
-    rating = users[user][nearest]
-    return rating
+def classify(self, itemVector):
+    """Return class we think item Vector is in"""
+    return(self.nearestNeighbor(self.normalizeVector(itemVector))[1][0])
+'''
+# Median
+# http://stackoverflow.com/questions/24101524/finding-median-of-list-in-python
+def get_median(lst):
+    return np.median(np.array(lst))
 
-# Fitness function of EDA
-def Fitness(profile, user):
-    nearest = computeNearestNeighbor(itemName, itemVector, items)[0][1]
-    rating = users[user][nearest]
-    return rating
+# Absolute Standard Deviation
+def get_asd(lst, median):
+    sum = 0
+    for item in lst:
+        sum += abs(item - median)
+    return sum / len(lst)
 
-    
+# Normalisation rating with Modified Standard Score
+def normalize_rating(ratings, median, asd):
+    for i in range(len(ratings)):
+        ratings[i] = (ratings[i] - median) / asd
+    return ratings
+'''
+# Normalise user play count
+for userID in users:
+    song_play_count = pd.DataFrame(
+        users[userID].items(),
+        columns=["songID", "play_count"]
+    )
+    '''Coefficient of variation'''
+    cv = song_play_count.play_count.std() / song_play_count.play_count.mean()
+    #user_ratings = np.array(users[userID].values())
+    #cv = user_ratings.std()/user_ratings.mean()
+    #print userID, cv
+    if cv <= 0.5:
+        for songID, play_count in users[userID].items():
+            users[userID][songID] = 3
+    else:
+        song_play_count_q = pd.cut(
+            song_play_count["play_count"],
+            5,
+            labels=False
+        ) + 1    
+        song_play_count.play_count = song_play_count_q
+        users[userID] = song_play_count.set_index('songID')['play_count'].to_dict()
+        #print song_play_count
+    #median = get_median(user_ratings)
+    #asd = get_asd(user_ratings, median)
+    #for songID, play_count in users[userID].items():
+        #users[userID][songID] = (play_count - median) / asd
+
+# Subset of most-liked items
+users_subset = {}
+for userID, songs in users.iteritems():
+    scores_above_threshold = {
+        songID: score for songID, score in songs.iteritems() if score > 2
+    }
+    users_subset[userID]= scores_above_threshold
+    '''
+    for songID, score in songs.iteritems():
+        print score >0
+        if score > 0:
+            print {userID: {songID: score}}
+
+{k: v for k, v in users.iteritems() for i,j in v.iteritems() if j > 0}
+'''
+# Fitness function for EDA
+def Fitness(profile, user_subset):
+    fitness_value = 0
+    for songID, score in user_subset.iteritems():
+        fitness_value += log10(score * manhattan(profile, items[songID]))   
+    return fitness_value
+
+# Given parameters for EDA
+population_size = len(users_subset)
+fraction_of_population = int(round(0.5 * population_size))
+
+# Generation of M individuals uniformly
+np.random.seed(len(users_subset))
+M = np.random.rand(population_size, len(items.values()[0]))
+#M.shape = (-1, len(items.values()[0]))
+profile = {}
+i = 0
+for userID in users_subset:
+    profile[userID] = M.tolist()[i]
+    i += 1
+
+# Compute fitness values
+users_fitness = {}
+for userID in profile:
+    users_fitness[userID] = Fitness(profile[userID], users_subset[userID])
+users_fitness_df = pd.DataFrame(
+    users_fitness.items(),
+    columns=["userID", "fitness"]
+)
+
+# Selection of best individuals based on fitness values
+best_individuals = {}
+users_fitness_df = users_fitness_df.sort(columns='fitness')
+M_sel = users_fitness_df.head(fraction_of_population)
+M_sel_dict = M_sel.set_index('userID')['fitness'].to_dict()
+for userID in M_sel_dict:
+    best_individuals[userID] = profile[userID]
+
+# Calculate sample mean and standard deviation
+np.random.seed(1)
+g = mixture.GMM(n_components=10)
+# Generate random observations with two modes centered on 0
+# and 10 to use for training.
+obs = np.concatenate((np.random.randn(100, 1), 10 + np.random.randn(300, 1)))
+g.fit(obs) 
+np.round(g.weights_, 2)
+np.round(g.means_, 2)
+np.round(g.covars_, 2) 
+g.predict([[0], [2], [9], [10]]) 
+np.round(g.score([[0], [2], [9], [10]]), 2)
+# Refit the model on new data (initial parameters remain the
+# same), this time with an even split between the two modes.
+g.fit(20 * [[0]] +  20 * [[10]]) 
+np.round(g.weights_, 2)
+
+
+'''
 # Pearson Correlation Coefficient
 def pearson(rating1, rating2):
     sum_xy = 0
@@ -145,7 +245,7 @@
         return sum_xy / denominator
 
 
-'''
+
 def Fitness(profile, user_index):
     sim = 0
     sum_log = 0
@@ -163,40 +263,12 @@
             #sum_log += log10(rating * sim)
     return sim
 '''
-# Generation of M individuals uniformly
-population_size = len(users)
-fraction_of_population = 0.5
-np.random.seed(len(users))
-M = np.random.uniform(size=population_size * len(items.values()[0]))
-M.shape = (-1, len(items.values()[0]))
-profile = {}
-i = 0
-for row in M.tolist():
-    profile["Profile" + str(i)] = M.tolist()[i]
-    i = i + 1
 
-'''
-Calculate fitness values
-'''
-Fitness(profile, 0)
 
 
 
 
 
 
-np.random.seed(1)
-g = mixture.GMM(n_components=7)
-# Generate random observations with two modes centered on 0
-# and 10 to use for training.
-obs = np.concatenate((np.random.randn(100, 1), 10 + np.random.randn(300, 1)))
-g.fit(obs) 
-np.round(g.weights_, 2)
-np.round(g.means_, 2)
-np.round(g.covars_, 2) 
-g.predict([[0], [2], [9], [10]]) 
-np.round(g.score([[0], [2], [9], [10]]), 2)
-# Refit the model on new data (initial parameters remain the
-# same), this time with an even split between the two modes.
-g.fit(20 * [[0]] +  20 * [[10]]) 
-np.round(g.weights_, 2)
+
+
--- a/Code/feature_extraction.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-"""
-Feature extraction.
-Siddharth Sigia
-Feb,2014
-C4DM
-"""
-import numpy as np #Paulo: numpy as standard
-#import subprocess
-#import sys
-import os
-#from spectrogram import SpecGram
-import tables
-#import pdb
-# Paulo Chiliguano: library for mel spectrogram
-import librosa
-#import random
-
-def read_wav(filename):
-    #bits_per_sample = '16'
-    #cmd = ['sox',filename,'-t','raw','-e','unsigned-integer','-L','-c','1','-b',bits_per_sample,'-','pad','0','30.0','rate','22050.0','trim','0','30.0']
-    #cmd = ' '.join(cmd)
-    #print cmd
-    #raw_audio = numpy.fromstring(subprocess.Popen(cmd,stdout=subprocess.PIPE,shell=True).communicate()[0],dtype='uint16')
-    audioFile, sr = librosa.load(filename, sr=22050, mono=True, duration=28)
-    #random.randint(0,audioFile.size)
-    #max_amp = 2.**(int(bits_per_sample)-1)
-    #raw_audio = (raw_audio- max_amp)/max_amp
-    return audioFile
-
-def calc_specgram(x,fs,winSize,):
-    S = librosa.feature.melspectrogram(y=x, sr=fs, n_mels=128, S=None, n_fft=winSize, hop_length=512)
-    log_S = librosa.logamplitude(S, ref_power=np.max)
-    log_S = np.transpose(log_S)
-    #spec = SpecGram(x,fs,winSize)
-    #return spec.specMat
-    return log_S
-
-
-def make_4tensor(x):
-    assert x.ndim <= 4
-    while x.ndim < 4:
-        x = np.expand_dims(x,0)
-    return x
-
-class FeatExtraction():
-    def __init__(self,dataset_dir):
-    	self.dataset_dir = dataset_dir
-        self.list_dir = os.path.join(self.dataset_dir,'lists')
-        self.get_filenames()
-        self.feat_dir = os.path.join(self.dataset_dir,'features')
-        self.make_feat_dir()
-        self.h5_filename = os.path.join(self.feat_dir,'feats.h5')
-        self.make_h5()
-        self.setup_h5()
-        self.extract_features()
-        self.close_h5()
-
-
-    def get_filenames(self,):
-        dataset_files = os.path.join(self.list_dir,'audio_files.txt')
-        self.filenames = [l.strip() for l in open(dataset_files,'r').readlines()]
-        self.num_files = len(self.filenames)
-
-    def make_feat_dir(self,):
-    	if not os.path.exists(self.feat_dir):
-    		print 'Making output dir.'
-    		os.mkdir(self.feat_dir)
-    	else:
-    		print 'Output dir already exists.'
-    
-    def make_h5(self,):
-    	if not os.path.exists(self.h5_filename):
-    		self.h5 = tables.openFile(self.h5_filename,'w')
-    	else:
-    		print 'Feature file already exists.'
-    		self.h5 = tables.openFile(self.h5_filename,'a')
-
-    def setup_h5(self,):
-    	filename = self.filenames[0]
-    	x = read_wav(filename)
-    	spec_x = calc_specgram(x,22050,1024)
-    	spec_x = make_4tensor(spec_x)
-    	self.data_shape = spec_x.shape[1:]
-    	self.x_earray_shape = (0,) + self.data_shape
-    	self.chunkshape = (1,) + self.data_shape
-    	self.h5_x = self.h5.createEArray('/','x',tables.FloatAtom(itemsize=4),self.x_earray_shape,chunkshape=self.chunkshape,expectedrows=self.num_files)
-    	self.h5_filenames = self.h5.createEArray('/','filenames',tables.StringAtom(256),(0,),expectedrows=self.num_files)
-    	self.h5_x.append(spec_x)
-    	self.h5_filenames.append([filename])
-
-
-    def extract_features(self,):
-        for i in xrange(1,self.num_files):
-    	    filename = self.filenames[i]
-         #print 'Filename: ',filename
-    	    x = read_wav(filename)
-    	    spec_x = calc_specgram(x,22050,1024)
-    	    spec_x = make_4tensor(spec_x)
-    	    self.h5_x.append(spec_x)
-    	    self.h5_filenames.append([filename])
-
-    def close_h5(self,):
-        self.h5.flush()
-        self.h5.close()
-        
-if __name__ == '__main__':
-	test = FeatExtraction('/home/paulo/Downloads')
-  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/classification/convolutional_mlp_7digital.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,688 @@
+"""This tutorial introduces the LeNet5 neural network architecture
+using Theano.  LeNet5 is a convolutional neural network, good for
+classifying images. This tutorial shows how to build the architecture,
+and comes with all the hyper-parameters you need to reproduce the
+paper's MNIST results.
+
+
+This implementation simplifies the model in the following ways:
+
+ - LeNetConvPool doesn't implement location-specific gain and bias parameters
+ - LeNetConvPool doesn't implement pooling by average, it implements pooling
+   by max.
+ - Digit classification is implemented with a logistic regression rather than
+   an RBF network
+ - LeNet5 was not fully-connected convolutions at second layer
+
+References:
+ - Y. LeCun, L. Bottou, Y. Bengio and P. Haffner:
+   Gradient-Based Learning Applied to Document
+   Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 1998.
+   http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
+
+"""
+import os
+import sys
+import timeit
+
+import numpy
+
+import theano
+import theano.tensor as T
+from theano.tensor.signal import downsample
+from theano.tensor.nnet import conv
+
+from logistic_sgd import LogisticRegression, load_data
+from mlp import HiddenLayer
+
+# Paulo: Additional libraries
+import cPickle
+from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams
+
+# Paulo: Rectifier Linear Unit
+# Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
+def relu(x):
+    return T.maximum(0.,x)
+        
+# Paulo: Random Streams
+srng = RandomStreams()
+
+class LeNetConvPoolLayer(object):
+    """Pool Layer of a convolutional network """
+
+    def __init__(self, rng, input, filter_shape, image_shape, poolsize=(2, 2)):
+        """
+        Allocate a LeNetConvPoolLayer with shared variable internal parameters.
+
+        :type rng: numpy.random.RandomState
+        :param rng: a random number generator used to initialize weights
+
+        :type input: theano.tensor.dtensor4
+        :param input: symbolic image tensor, of shape image_shape
+
+        :type filter_shape: tuple or list of length 4
+        :param filter_shape: (number of filters, num input feature maps,
+                              filter height, filter width)
+
+        :type image_shape: tuple or list of length 4
+        :param image_shape: (batch size, num input feature maps,
+                             image height, image width)
+
+        :type poolsize: tuple or list of length 2
+        :param poolsize: the downsampling (pooling) factor (#rows, #cols)
+        """
+
+        assert image_shape[1] == filter_shape[1]
+        self.input = input
+
+        # there are "num input feature maps * filter height * filter width"
+        # inputs to each hidden unit
+        fan_in = numpy.prod(filter_shape[1:])
+        # each unit in the lower layer receives a gradient from:
+        # "num output feature maps * filter height * filter width" /
+        #   pooling size
+        fan_out = (filter_shape[0] * numpy.prod(filter_shape[2:]) /
+                   numpy.prod(poolsize))
+        # initialize weights with random weights
+        W_bound = numpy.sqrt(6. / (fan_in + fan_out))
+        self.W = theano.shared(
+            numpy.asarray(
+                rng.uniform(low=-W_bound, high=W_bound, size=filter_shape),
+                dtype=theano.config.floatX
+            ),
+            borrow=True
+        )
+
+        # the bias is a 1D tensor -- one bias per output feature map
+        b_values = numpy.zeros((filter_shape[0],), dtype=theano.config.floatX)
+        self.b = theano.shared(value=b_values, borrow=True)
+
+        # convolve input feature maps with filters
+        conv_out = conv.conv2d(
+            input=input,
+            filters=self.W,
+            filter_shape=filter_shape,
+            image_shape=image_shape
+        )
+
+        # downsample each feature map individually, using maxpooling
+        pooled_out = downsample.max_pool_2d(
+            input=conv_out,
+            ds=poolsize,
+            ignore_border=True
+        )
+        
+        # Paulo: dropout
+        # Source: https://github.com/Newmu/Theano-Tutorials/blob/master/5_convolutional_net.py
+        retain_prob = 1 - 0.20
+        pooled_out *= srng.binomial(
+            pooled_out.shape,
+            p=retain_prob,
+            dtype=theano.config.floatX)
+        pooled_out /= retain_prob
+        
+        # add the bias term. Since the bias is a vector (1D array), we first
+        # reshape it to a tensor of shape (1, n_filters, 1, 1). Each bias will
+        # thus be broadcasted across mini-batches and feature map
+        # width & height
+        #self.output = T.tanh(pooled_out + self.b.dimshuffle('x', 0, 'x', 'x'))
+        self.output = relu(pooled_out + self.b.dimshuffle('x', 0, 'x', 'x'))
+        
+        # store parameters of this layer
+        self.params = [self.W, self.b]
+
+        # keep track of model input
+        self.input = input
+
+'''
+def evaluate_lenet5(learning_rate=0.01, n_epochs=200,
+                    dataset='mnist.pkl.gz',
+                    nkerns=[32, 32], batch_size=10):
+    """ Demonstrates lenet on MNIST dataset
+
+    :type learning_rate: float
+    :param learning_rate: learning rate used (factor for the stochastic
+                          gradient)
+
+    :type n_epochs: int
+    :param n_epochs: maximal number of epochs to run the optimizer
+
+    :type dataset: string
+    :param dataset: path to the dataset used for training /testing (MNIST here)
+
+    :type nkerns: list of ints
+    :param nkerns: number of kernels on each layer
+    """
+
+    rng = numpy.random.RandomState(23455)
+
+    datasets = load_data(dataset)
+
+    train_set_x, train_set_y = datasets[0]
+    valid_set_x, valid_set_y = datasets[1]
+    test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    n_train_batches = train_set_x.get_value(borrow=True).shape[0]
+    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0]
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0]
+    
+    n_train_batches /= batch_size
+    n_valid_batches /= batch_size
+    n_test_batches /= batch_size
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+
+    # start-snippet-1
+    x = T.matrix('x')   # the data is presented as rasterized images
+    y = T.ivector('y')  # the labels are presented as 1D vector of
+                        # [int] labels
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # Reshape matrix of rasterized images of shape (batch_size, 28 * 28)
+    # to a 4D tensor, compatible with our LeNetConvPoolLayer
+    # (28, 28) is the size of MNIST images.
+    #layer0_input = x.reshape((batch_size, 1, 28, 28))
+    layer0_input = x.reshape((batch_size, 1, 130, 128))
+    # Construct the first convolutional pooling layer:
+    # filtering reduces the image size to (28-5+1 , 28-5+1) = (24, 24)
+    # maxpooling reduces this further to (24/2, 24/2) = (12, 12)
+    # 4D output tensor is thus of shape (batch_size, nkerns[0], 12, 12)
+    layer0 = LeNetConvPoolLayer(
+        rng,
+        input=layer0_input,
+        #image_shape=(batch_size, 1, 28, 28),
+        image_shape=(batch_size, 1, 130, 128),
+        #filter_shape=(nkerns[0], 1, 5, 5),
+        filter_shape=(nkerns[0], 1, 8, 1),
+        #poolsize=(2, 2)
+        poolsize=(4, 1)
+    )
+
+    # Construct the second convolutional pooling layer
+    # filtering reduces the image size to (12-5+1, 12-5+1) = (8, 8)
+    # maxpooling reduces this further to (8/2, 8/2) = (4, 4)
+    # 4D output tensor is thus of shape (batch_size, nkerns[1], 4, 4)
+    layer1 = LeNetConvPoolLayer(
+        rng,
+        input=layer0.output,
+        #image_shape=(batch_size, nkerns[0], 12, 12),
+        image_shape=(batch_size, nkerns[0], 30, 128),
+        #filter_shape=(nkerns[1], nkerns[0], 5, 5),
+        filter_shape=(nkerns[1], nkerns[0], 8, 1),
+        #poolsize=(2, 2)
+        poolsize=(4, 1)
+    )
+    
+    # the HiddenLayer being fully-connected, it operates on 2D matrices of
+    # shape (batch_size, num_pixels) (i.e matrix of rasterized images).
+    # This will generate a matrix of shape (batch_size, nkerns[1] * 4 * 4),
+    # or (500, 50 * 4 * 4) = (500, 800) with the default values.
+    layer2_input = layer1.output.flatten(2)
+
+    # construct a fully-connected sigmoidal layer
+    layer2 = HiddenLayer(
+        rng,
+        input=layer2_input,
+        #n_in=nkerns[1] * 4 * 4,
+        n_in=nkerns[1] * 5 * 128,
+        n_out=500,
+        #n_out=100,
+        #activation=T.tanh
+        activation=relu
+    )
+
+    # classify the values of the fully-connected sigmoidal layer
+    layer3 = LogisticRegression(input=layer2.output, n_in=500, n_out=10)
+    #layer4 = LogisticRegression(input=layer3.output, n_in=50, n_out=10)
+    
+    # the cost we minimize during training is the NLL of the model
+    cost = layer3.negative_log_likelihood(y)
+
+    # create a function to compute the mistakes that are made by the model
+    test_model = theano.function(
+        [index],
+        layer3.errors(y),
+        givens={
+            x: test_set_x[index * batch_size: (index + 1) * batch_size],
+            y: test_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        [index],
+        layer3.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
+            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    
+    # Paulo: Set best param for MLP pre-training
+    f = file('/homes/pchilguano/deep_learning/best_params.pkl', 'rb')
+    params0, params1, params2, params3 = cPickle.load(f)
+    f.close()
+    layer0.W.set_value(params0[0])
+    layer0.b.set_value(params0[1])
+    layer1.W.set_value(params1[0])
+    layer1.b.set_value(params1[1])
+    layer2.W.set_value(params2[0])
+    layer2.b.set_value(params2[1])
+    layer3.W.set_value(params3[0])
+    layer3.b.set_value(params3[1])
+    
+    # create a list of all model parameters to be fit by gradient descent
+    params = layer3.params + layer2.params + layer1.params + layer0.params
+    #params = layer4.params + layer3.params + layer2.params + layer1.params + layer0.params
+
+    # create a list of gradients for all model parameters
+    grads = T.grad(cost, params)
+
+    # train_model is a function that updates the model parameters by
+    # SGD Since this model has many parameters, it would be tedious to
+    # manually create an update rule for each model parameter. We thus
+    # create the updates list by automatically looping over all
+    # (params[i], grads[i]) pairs.
+    updates = [
+        (param_i, param_i - learning_rate * grad_i)
+        for param_i, grad_i in zip(params, grads)
+    ]
+
+    train_model = theano.function(
+        [index],
+        cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-1
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training'
+    # early-stopping parameters
+    patience = 1000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                           # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                   # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    best_iter = 0
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    epoch = 0
+    done_looping = False
+
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if iter % 100 == 0:
+                print 'training @ iter = ', iter
+            cost_ij = train_model(minibatch_index)
+
+            if (iter + 1) % validation_frequency == 0:
+
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i) for i
+                                     in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+                print('epoch %i, minibatch %i/%i, validation error %f %%' %
+                      (epoch, minibatch_index + 1, n_train_batches,
+                       this_validation_loss * 100.))
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+
+                    #improve patience if loss improvement is good enough
+                    if this_validation_loss < best_validation_loss *  \
+                       improvement_threshold:
+                        patience = max(patience, iter * patience_increase)
+
+                    # save best validation score and iteration number
+                    best_validation_loss = this_validation_loss
+                    best_iter = iter
+
+                    # test it on the test set
+                    test_losses = [
+                        test_model(i)
+                        for i in xrange(n_test_batches)
+                    ]
+                    test_score = numpy.mean(test_losses)
+                    print(('     epoch %i, minibatch %i/%i, test error of '
+                           'best model %f %%') %
+                          (epoch, minibatch_index + 1, n_train_batches,
+                           test_score * 100.))
+                    # Paulo: Get best parameters for MLP
+                    best_params0 = [param.get_value().copy() for param in layer0.params]
+                    best_params1 = [param.get_value().copy() for param in layer1.params]
+                    best_params2 = [param.get_value().copy() for param in layer2.params]
+                    best_params3 = [param.get_value().copy() for param in layer3.params]
+                    #best_params4 = [param.get_value().copy() for param in layer4.params]
+                    
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print('Optimization complete.')
+    print('Best validation score of %f %% obtained at iteration %i, '
+          'with test performance %f %%' %
+          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
+    # Paulo: Save best param for MLP
+    f = file('/homes/pchilguano/deep_learning/best_params.pkl', 'wb')
+    cPickle.dump((best_params0, best_params1, best_params2, best_params3), f, protocol=cPickle.HIGHEST_PROTOCOL)
+    f.close()
+'''    
+def genres_lenet5(dataset, nkerns=[32, 32], batch_size=10):
+    """
+    :type dataset: string
+    :param dataset: path to the dataset used for training /testing (MNIST here)
+
+    :type nkerns: list of ints
+    :param nkerns: number of kernels on each layer
+    """
+
+    rng = numpy.random.RandomState(23455)
+    
+    f = file(dataset, 'rb')
+    data_x = cPickle.load(f)
+    f.close()
+    
+    test_set_x = theano.shared(
+        numpy.asarray(
+            data_x,
+            dtype=theano.config.floatX
+        ),
+        borrow=True
+    )    
+    
+
+    #datasets = load_data(dataset)
+
+    #train_set_x, train_set_y = datasets[0]
+    #valid_set_x, valid_set_y = datasets[1]
+    #test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    #n_train_batches = train_set_x.get_value(borrow=True).shape[0]
+    #n_valid_batches = valid_set_x.get_value(borrow=True).shape[0]
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0]
+    
+    #n_train_batches /= batch_size
+    #n_valid_batches /= batch_size
+    n_test_batches /= batch_size
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+
+    # start-snippet-1
+    x = T.matrix('x')   # the data is presented as rasterized images
+    #y = T.ivector('y')  # the labels are presented as 1D vector of
+                        # [int] labels
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # Reshape matrix of rasterized images of shape (batch_size, 28 * 28)
+    # to a 4D tensor, compatible with our LeNetConvPoolLayer
+    # (28, 28) is the size of MNIST images.
+    layer0_input = x.reshape((batch_size, 1, 130, 128))
+    # Construct the first convolutional pooling layer:
+    # filtering reduces the image size to (28-5+1 , 28-5+1) = (24, 24)
+    # maxpooling reduces this further to (24/2, 24/2) = (12, 12)
+    # 4D output tensor is thus of shape (batch_size, nkerns[0], 12, 12)
+    layer0 = LeNetConvPoolLayer(
+        rng,
+        input=layer0_input,
+        image_shape=(batch_size, 1, 130, 128),
+        filter_shape=(nkerns[0], 1, 8, 1),
+        poolsize=(4, 1)
+    )
+
+    # Construct the second convolutional pooling layer
+    # filtering reduces the image size to (12-5+1, 12-5+1) = (8, 8)
+    # maxpooling reduces this further to (8/2, 8/2) = (4, 4)
+    # 4D output tensor is thus of shape (batch_size, nkerns[1], 4, 4)
+    layer1 = LeNetConvPoolLayer(
+        rng,
+        input=layer0.output,
+        image_shape=(batch_size, nkerns[0], 30, 128),
+        filter_shape=(nkerns[1], nkerns[0], 8, 1),
+        poolsize=(4, 1)
+    )
+    
+    # the HiddenLayer being fully-connected, it operates on 2D matrices of
+    # shape (batch_size, num_pixels) (i.e matrix of rasterized images).
+    # This will generate a matrix of shape (batch_size, nkerns[1] * 4 * 4),
+    # or (500, 50 * 4 * 4) = (500, 800) with the default values.
+    layer2_input = layer1.output.flatten(2)
+
+    # construct a fully-connected sigmoidal layer
+    layer2 = HiddenLayer(
+        rng,
+        input=layer2_input,
+        n_in=nkerns[1] * 5 * 128,
+        n_out=500,
+        activation=relu
+    )
+
+    # classify the values of the fully-connected sigmoidal layer
+    layer3 = LogisticRegression(input=layer2.output, n_in=500, n_out=10)
+    
+    # the cost we minimize during training is the NLL of the model
+    # cost = layer3.negative_log_likelihood(y)
+    '''
+    # create a function to compute the mistakes that are made by the model
+    test_model = theano.function(
+        [index],
+        layer3.errors(y),
+        givens={
+            x: test_set_x[index * batch_size: (index + 1) * batch_size],
+            y: test_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        [index],
+        layer3.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
+            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    '''
+    # Genre soft classification
+    test_model = theano.function(
+        [index],
+        layer3.p_y_given_x,
+        givens={
+            x: test_set_x[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    
+    # Paulo: Set best paramaters
+    f = file('/homes/pchilguano/msc_project/dataset/genre_classification/\
+best_params.pkl', 'rb')
+    params0, params1, params2, params3 = cPickle.load(f)
+    f.close()
+    layer0.W.set_value(params0[0])
+    layer0.b.set_value(params0[1])
+    layer1.W.set_value(params1[0])
+    layer1.b.set_value(params1[1])
+    layer2.W.set_value(params2[0])
+    layer2.b.set_value(params2[1])
+    layer3.W.set_value(params3[0])
+    layer3.b.set_value(params3[1])
+    
+    # Probabilities
+    print "Computing probabilities..."
+    start_time = timeit.default_timer()
+    genre_prob_batch = [test_model(i).tolist() for i in xrange(n_test_batches)]
+    end_time = timeit.default_timer()
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
+    genre_prob = [item for sublist in genre_prob_batch for item in sublist]
+    
+    filename = '/homes/pchilguano/msc_project/dataset/7digital/lists/\
+audio_files.txt'
+    with open(filename, 'r') as f:
+        songID = [line.strip().split('/')[-1][:-4] for line in f]
+    
+    items = dict(zip(songID, genre_prob))    
+    print "Saving songs feature vectors in dictionary..."
+    f = file('/homes/pchilguano/msc_project/dataset/genre_classification/\
+genre_prob.pkl', 'wb')
+    cPickle.dump(items, f, protocol=cPickle.HIGHEST_PROTOCOL)
+    f.close()
+    
+    '''
+    # create a list of all model parameters to be fit by gradient descent
+    params = layer3.params + layer2.params + layer1.params + layer0.params
+    
+    # create a list of gradients for all model parameters
+    grads = T.grad(cost, params)
+
+    # train_model is a function that updates the model parameters by
+    # SGD Since this model has many parameters, it would be tedious to
+    # manually create an update rule for each model parameter. We thus
+    # create the updates list by automatically looping over all
+    # (params[i], grads[i]) pairs.
+    updates = [
+        (param_i, param_i - learning_rate * grad_i)
+        for param_i, grad_i in zip(params, grads)
+    ]
+
+    train_model = theano.function(
+        [index],
+        cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-1
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training'
+    # early-stopping parameters
+    patience = 1000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                           # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                   # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    best_iter = 0
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    epoch = 0
+    done_looping = False
+
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if iter % 100 == 0:
+                print 'training @ iter = ', iter
+            cost_ij = train_model(minibatch_index)
+
+            if (iter + 1) % validation_frequency == 0:
+
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i) for i
+                                     in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+                print('epoch %i, minibatch %i/%i, validation error %f %%' %
+                      (epoch, minibatch_index + 1, n_train_batches,
+                       this_validation_loss * 100.))
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+
+                    #improve patience if loss improvement is good enough
+                    if this_validation_loss < best_validation_loss *  \
+                       improvement_threshold:
+                        patience = max(patience, iter * patience_increase)
+
+                    # save best validation score and iteration number
+                    best_validation_loss = this_validation_loss
+                    best_iter = iter
+
+                    # test it on the test set
+                    test_losses = [
+                        test_model(i)
+                        for i in xrange(n_test_batches)
+                    ]
+                    test_score = numpy.mean(test_losses)
+                    print(('     epoch %i, minibatch %i/%i, test error of '
+                           'best model %f %%') %
+                          (epoch, minibatch_index + 1, n_train_batches,
+                           test_score * 100.))
+                    # Paulo: Get best parameters for MLP
+                    best_params0 = [param.get_value().copy() for param in layer0.params]
+                    best_params1 = [param.get_value().copy() for param in layer1.params]
+                    best_params2 = [param.get_value().copy() for param in layer2.params]
+                    best_params3 = [param.get_value().copy() for param in layer3.params]
+                    
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print('Optimization complete.')
+    print('Best validation score of %f %% obtained at iteration %i, '
+          'with test performance %f %%' %
+          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
+    
+    # Paulo: Save best param for MLP
+    f = file('/homes/pchilguano/deep_learning/genre_prob.pkl', 'wb')
+    cPickle.dump((best_params0, best_params1, best_params2, best_params3), f, protocol=cPickle.HIGHEST_PROTOCOL)
+    f.close()
+    '''
+if __name__ == '__main__':
+    #evaluate_lenet5()
+    genres_lenet5(
+        dataset='/homes/pchilguano/msc_project/dataset/7digital/features/\
+feats.pkl'
+    )
+
+#def experiment(state, channel):
+#    evaluate_lenet5(state.learning_rate, dataset=state.dataset)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/classification/logistic_sgd.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,472 @@
+"""
+This tutorial introduces logistic regression using Theano and stochastic
+gradient descent.
+
+Logistic regression is a probabilistic, linear classifier. It is parametrized
+by a weight matrix :math:`W` and a bias vector :math:`b`. Classification is
+done by projecting data points onto a set of hyperplanes, the distance to
+which is used to determine a class membership probability.
+
+Mathematically, this can be written as:
+
+.. math::
+  P(Y=i|x, W,b) &= softmax_i(W x + b) \\
+                &= \frac {e^{W_i x + b_i}} {\sum_j e^{W_j x + b_j}}
+
+
+The output of the model or prediction is then done by taking the argmax of
+the vector whose i'th element is P(Y=i|x).
+
+.. math::
+
+  y_{pred} = argmax_i P(Y=i|x,W,b)
+
+
+This tutorial presents a stochastic gradient descent optimization method
+suitable for large datasets.
+
+
+References:
+
+    - textbooks: "Pattern Recognition and Machine Learning" -
+                 Christopher M. Bishop, section 4.3.2
+
+"""
+__docformat__ = 'restructedtext en'
+
+import cPickle
+import gzip
+import os
+import sys
+import timeit
+
+import numpy
+
+import theano
+import theano.tensor as T
+
+
+class LogisticRegression(object):
+    """Multi-class Logistic Regression Class
+
+    The logistic regression is fully described by a weight matrix :math:`W`
+    and bias vector :math:`b`. Classification is done by projecting data
+    points onto a set of hyperplanes, the distance to which is used to
+    determine a class membership probability.
+    """
+
+    def __init__(self, input, n_in, n_out):
+        """ Initialize the parameters of the logistic regression
+
+        :type input: theano.tensor.TensorType
+        :param input: symbolic variable that describes the input of the
+                      architecture (one minibatch)
+
+        :type n_in: int
+        :param n_in: number of input units, the dimension of the space in
+                     which the datapoints lie
+
+        :type n_out: int
+        :param n_out: number of output units, the dimension of the space in
+                      which the labels lie
+
+        """
+        # start-snippet-1
+        # initialize with 0 the weights W as a matrix of shape (n_in, n_out)
+        self.W = theano.shared(
+            value=numpy.zeros(
+                (n_in, n_out),
+                dtype=theano.config.floatX
+            ),
+            name='W',
+            borrow=True
+        )
+        # initialize the baises b as a vector of n_out 0s
+        self.b = theano.shared(
+            value=numpy.zeros(
+                (n_out,),
+                dtype=theano.config.floatX
+            ),
+            name='b',
+            borrow=True
+        )
+
+        # symbolic expression for computing the matrix of class-membership
+        # probabilities
+        # Where:
+        # W is a matrix where column-k represent the separation hyperplane for
+        # class-k
+        # x is a matrix where row-j  represents input training sample-j
+        # b is a vector where element-k represent the free parameter of
+        # hyperplane-k
+        self.p_y_given_x = T.nnet.softmax(T.dot(input, self.W) + self.b)
+
+        # symbolic description of how to compute prediction as class whose
+        # probability is maximal
+        self.y_pred = T.argmax(self.p_y_given_x, axis=1)
+        # end-snippet-1
+
+        # parameters of the model
+        self.params = [self.W, self.b]
+
+        # keep track of model input
+        self.input = input
+
+    def negative_log_likelihood(self, y):
+        """Return the mean of the negative log-likelihood of the prediction
+        of this model under a given target distribution.
+
+        .. math::
+
+            \frac{1}{|\mathcal{D}|} \mathcal{L} (\theta=\{W,b\}, \mathcal{D}) =
+            \frac{1}{|\mathcal{D}|} \sum_{i=0}^{|\mathcal{D}|}
+                \log(P(Y=y^{(i)}|x^{(i)}, W,b)) \\
+            \ell (\theta=\{W,b\}, \mathcal{D})
+
+        :type y: theano.tensor.TensorType
+        :param y: corresponds to a vector that gives for each example the
+                  correct label
+
+        Note: we use the mean instead of the sum so that
+              the learning rate is less dependent on the batch size
+        """
+        # start-snippet-2
+        # y.shape[0] is (symbolically) the number of rows in y, i.e.,
+        # number of examples (call it n) in the minibatch
+        # T.arange(y.shape[0]) is a symbolic vector which will contain
+        # [0,1,2,... n-1] T.log(self.p_y_given_x) is a matrix of
+        # Log-Probabilities (call it LP) with one row per example and
+        # one column per class LP[T.arange(y.shape[0]),y] is a vector
+        # v containing [LP[0,y[0]], LP[1,y[1]], LP[2,y[2]], ...,
+        # LP[n-1,y[n-1]]] and T.mean(LP[T.arange(y.shape[0]),y]) is
+        # the mean (across minibatch examples) of the elements in v,
+        # i.e., the mean log-likelihood across the minibatch.
+        return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y])
+        # end-snippet-2
+
+    def errors(self, y):
+        """Return a float representing the number of errors in the minibatch
+        over the total number of examples of the minibatch ; zero one
+        loss over the size of the minibatch
+
+        :type y: theano.tensor.TensorType
+        :param y: corresponds to a vector that gives for each example the
+                  correct label
+        """
+
+        # check if y has same dimension of y_pred
+        if y.ndim != self.y_pred.ndim:
+            raise TypeError(
+                'y should have the same shape as self.y_pred',
+                ('y', y.type, 'y_pred', self.y_pred.type)
+            )
+        # check if y is of the correct datatype
+        if y.dtype.startswith('int'):
+            # the T.neq operator returns a vector of 0s and 1s, where 1
+            # represents a mistake in prediction
+            return T.mean(T.neq(self.y_pred, y))
+        else:
+            raise NotImplementedError()
+
+
+def load_data(dataset):
+    ''' Loads the dataset
+
+    :type dataset: string
+    :param dataset: the path to the dataset (here MNIST)
+    '''
+    #############
+    # LOAD DATA #
+    #############
+    '''
+    # Download the MNIST dataset if it is not present
+    data_dir, data_file = os.path.split(dataset)
+    if data_dir == "" and not os.path.isfile(dataset):
+        # Check if dataset is in the data directory.
+        new_path = os.path.join(
+            os.path.split(__file__)[0],
+            "..",
+            "data",
+            dataset
+        )
+        if os.path.isfile(new_path) or data_file == 'mnist.pkl.gz':
+            dataset = new_path
+
+    if (not os.path.isfile(dataset)) and data_file == 'mnist.pkl.gz':
+        import urllib
+        origin = (
+            'http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz'
+        )
+        print 'Downloading data from %s' % origin
+        urllib.urlretrieve(origin, dataset)
+
+    print '... loading data'
+    
+    # Load the dataset
+    f = gzip.open(dataset, 'rb')
+    '''
+    f = file(dataset, 'rb')
+    train_set, valid_set, test_set = cPickle.load(f)
+    f.close()
+    #train_set, valid_set, test_set format: tuple(input, target)
+    #input is an numpy.ndarray of 2 dimensions (a matrix)
+    #witch row's correspond to an example. target is a
+    #numpy.ndarray of 1 dimensions (vector)) that have the same length as
+    #the number of rows in the input. It should give the target
+    #target to the example with the same index in the input.
+
+    def shared_dataset(data_xy, borrow=True):
+        """ Function that loads the dataset into shared variables
+
+        The reason we store our dataset in shared variables is to allow
+        Theano to copy it into the GPU memory (when code is run on GPU).
+        Since copying data into the GPU is slow, copying a minibatch everytime
+        is needed (the default behaviour if the data is not in a shared
+        variable) would lead to a large decrease in performance.
+        """
+        data_x, data_y = data_xy
+        shared_x = theano.shared(numpy.asarray(data_x,
+                                               dtype=theano.config.floatX),
+                                 borrow=borrow)
+        shared_y = theano.shared(numpy.asarray(data_y,
+                                               dtype=theano.config.floatX),
+                                 borrow=borrow)
+        # When storing data on the GPU it has to be stored as floats
+        # therefore we will store the labels as ``floatX`` as well
+        # (``shared_y`` does exactly that). But during our computations
+        # we need them as ints (we use labels as index, and if they are
+        # floats it doesn't make sense) therefore instead of returning
+        # ``shared_y`` we will have to cast it to int. This little hack
+        # lets ous get around this issue
+        return shared_x, T.cast(shared_y, 'int32')
+
+    test_set_x, test_set_y = shared_dataset(test_set)
+    valid_set_x, valid_set_y = shared_dataset(valid_set)
+    train_set_x, train_set_y = shared_dataset(train_set)
+
+    rval = [(train_set_x, train_set_y), (valid_set_x, valid_set_y),
+            (test_set_x, test_set_y)]
+    return rval
+
+
+def sgd_optimization_mnist(learning_rate=0.13, n_epochs=1000,
+                           dataset='mnist.pkl.gz',
+                           batch_size=600):
+    """
+    Demonstrate stochastic gradient descent optimization of a log-linear
+    model
+
+    This is demonstrated on MNIST.
+
+    :type learning_rate: float
+    :param learning_rate: learning rate used (factor for the stochastic
+                          gradient)
+
+    :type n_epochs: int
+    :param n_epochs: maximal number of epochs to run the optimizer
+
+    :type dataset: string
+    :param dataset: the path of the MNIST dataset file from
+                 http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz
+
+    """
+    datasets = load_data(dataset)
+
+    train_set_x, train_set_y = datasets[0]
+    valid_set_x, valid_set_y = datasets[1]
+    test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0] / batch_size
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+
+    # generate symbolic variables for input (x and y represent a
+    # minibatch)
+    x = T.matrix('x')  # data, presented as rasterized images
+    y = T.ivector('y')  # labels, presented as 1D vector of [int] labels
+
+    # construct the logistic regression class
+    # Each MNIST image has size 28*28
+    classifier = LogisticRegression(input=x, n_in=28 * 28, n_out=10)
+
+    # the cost we minimize during training is the negative log likelihood of
+    # the model in symbolic format
+    cost = classifier.negative_log_likelihood(y)
+
+    # compiling a Theano function that computes the mistakes that are made by
+    # the model on a minibatch
+    test_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: test_set_x[index * batch_size: (index + 1) * batch_size],
+            y: test_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
+            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    # compute the gradient of cost with respect to theta = (W,b)
+    g_W = T.grad(cost=cost, wrt=classifier.W)
+    g_b = T.grad(cost=cost, wrt=classifier.b)
+
+    # start-snippet-3
+    # specify how to update the parameters of the model as a list of
+    # (variable, update expression) pairs.
+    updates = [(classifier.W, classifier.W - learning_rate * g_W),
+               (classifier.b, classifier.b - learning_rate * g_b)]
+
+    # compiling a Theano function `train_model` that returns the cost, but in
+    # the same time updates the parameter of the model based on the rules
+    # defined in `updates`
+    train_model = theano.function(
+        inputs=[index],
+        outputs=cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-3
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training the model'
+    # early-stopping parameters
+    patience = 5000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                                  # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                  # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    done_looping = False
+    epoch = 0
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            minibatch_avg_cost = train_model(minibatch_index)
+            # iteration number
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if (iter + 1) % validation_frequency == 0:
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i)
+                                     for i in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+
+                print(
+                    'epoch %i, minibatch %i/%i, validation error %f %%' %
+                    (
+                        epoch,
+                        minibatch_index + 1,
+                        n_train_batches,
+                        this_validation_loss * 100.
+                    )
+                )
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+                    #improve patience if loss improvement is good enough
+                    if this_validation_loss < best_validation_loss *  \
+                       improvement_threshold:
+                        patience = max(patience, iter * patience_increase)
+
+                    best_validation_loss = this_validation_loss
+                    # test it on the test set
+
+                    test_losses = [test_model(i)
+                                   for i in xrange(n_test_batches)]
+                    test_score = numpy.mean(test_losses)
+
+                    print(
+                        (
+                            '     epoch %i, minibatch %i/%i, test error of'
+                            ' best model %f %%'
+                        ) %
+                        (
+                            epoch,
+                            minibatch_index + 1,
+                            n_train_batches,
+                            test_score * 100.
+                        )
+                    )
+
+                    # save the best model
+                    with open('best_model.pkl', 'w') as f:
+                        cPickle.dump(classifier, f)
+
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print(
+        (
+            'Optimization complete with best validation score of %f %%,'
+            'with test performance %f %%'
+        )
+        % (best_validation_loss * 100., test_score * 100.)
+    )
+    print 'The code run for %d epochs, with %f epochs/sec' % (
+        epoch, 1. * epoch / (end_time - start_time))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.1fs' % ((end_time - start_time)))
+
+
+def predict():
+    """
+    An example of how to load a trained model and use it
+    to predict labels.
+    """
+
+    # load the saved model
+    classifier = cPickle.load(open('best_model.pkl'))
+
+    # compile a predictor function
+    predict_model = theano.function(
+        inputs=[classifier.input],
+        outputs=classifier.y_pred)
+
+    # We can test it on some examples from test test
+    dataset='mnist.pkl.gz'
+    datasets = load_data(dataset)
+    test_set_x, test_set_y = datasets[2]
+    test_set_x = test_set_x.get_value()
+
+    predicted_values = predict_model(test_set_x[:10])
+    print ("Predicted values for the first 10 examples in test set:")
+    print predicted_values
+
+
+if __name__ == '__main__':
+    sgd_optimization_mnist()
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/classification/mlp.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,412 @@
+"""
+This tutorial introduces the multilayer perceptron using Theano.
+
+ A multilayer perceptron is a logistic regressor where
+instead of feeding the input to the logistic regression you insert a
+intermediate layer, called the hidden layer, that has a nonlinear
+activation function (usually tanh or sigmoid) . One can use many such
+hidden layers making the architecture deep. The tutorial will also tackle
+the problem of MNIST digit classification.
+
+.. math::
+
+    f(x) = G( b^{(2)} + W^{(2)}( s( b^{(1)} + W^{(1)} x))),
+
+References:
+
+    - textbooks: "Pattern Recognition and Machine Learning" -
+                 Christopher M. Bishop, section 5
+
+"""
+__docformat__ = 'restructedtext en'
+
+
+import os
+import sys
+import timeit
+
+import numpy
+
+import theano
+import theano.tensor as T
+
+
+from logistic_sgd import LogisticRegression, load_data
+
+
+# start-snippet-1
+class HiddenLayer(object):
+    def __init__(self, rng, input, n_in, n_out, W=None, b=None,
+                 activation=T.tanh):
+        """
+        Typical hidden layer of a MLP: units are fully-connected and have
+        sigmoidal activation function. Weight matrix W is of shape (n_in,n_out)
+        and the bias vector b is of shape (n_out,).
+
+        NOTE : The nonlinearity used here is tanh
+
+        Hidden unit activation is given by: tanh(dot(input,W) + b)
+
+        :type rng: numpy.random.RandomState
+        :param rng: a random number generator used to initialize weights
+
+        :type input: theano.tensor.dmatrix
+        :param input: a symbolic tensor of shape (n_examples, n_in)
+
+        :type n_in: int
+        :param n_in: dimensionality of input
+
+        :type n_out: int
+        :param n_out: number of hidden units
+
+        :type activation: theano.Op or function
+        :param activation: Non linearity to be applied in the hidden
+                           layer
+        """
+        self.input = input
+        # end-snippet-1
+
+        # `W` is initialized with `W_values` which is uniformely sampled
+        # from sqrt(-6./(n_in+n_hidden)) and sqrt(6./(n_in+n_hidden))
+        # for tanh activation function
+        # the output of uniform if converted using asarray to dtype
+        # theano.config.floatX so that the code is runable on GPU
+        # Note : optimal initialization of weights is dependent on the
+        #        activation function used (among other things).
+        #        For example, results presented in [Xavier10] suggest that you
+        #        should use 4 times larger initial weights for sigmoid
+        #        compared to tanh
+        #        We have no info for other function, so we use the same as
+        #        tanh.
+        if W is None:
+            W_values = numpy.asarray(
+                rng.uniform(
+                    low=-numpy.sqrt(6. / (n_in + n_out)),
+                    high=numpy.sqrt(6. / (n_in + n_out)),
+                    size=(n_in, n_out)
+                ),
+                dtype=theano.config.floatX
+            )
+            if activation == theano.tensor.nnet.sigmoid:
+                W_values *= 4
+
+            W = theano.shared(value=W_values, name='W', borrow=True)
+
+        if b is None:
+            b_values = numpy.zeros((n_out,), dtype=theano.config.floatX)
+            b = theano.shared(value=b_values, name='b', borrow=True)
+
+        self.W = W
+        self.b = b
+
+        lin_output = T.dot(input, self.W) + self.b
+        self.output = (
+            lin_output if activation is None
+            else activation(lin_output)
+        )
+        # parameters of the model
+        self.params = [self.W, self.b]
+
+
+# start-snippet-2
+class MLP(object):
+    """Multi-Layer Perceptron Class
+
+    A multilayer perceptron is a feedforward artificial neural network model
+    that has one layer or more of hidden units and nonlinear activations.
+    Intermediate layers usually have as activation function tanh or the
+    sigmoid function (defined here by a ``HiddenLayer`` class)  while the
+    top layer is a softmax layer (defined here by a ``LogisticRegression``
+    class).
+    """
+
+    def __init__(self, rng, input, n_in, n_hidden, n_out):
+        """Initialize the parameters for the multilayer perceptron
+
+        :type rng: numpy.random.RandomState
+        :param rng: a random number generator used to initialize weights
+
+        :type input: theano.tensor.TensorType
+        :param input: symbolic variable that describes the input of the
+        architecture (one minibatch)
+
+        :type n_in: int
+        :param n_in: number of input units, the dimension of the space in
+        which the datapoints lie
+
+        :type n_hidden: int
+        :param n_hidden: number of hidden units
+
+        :type n_out: int
+        :param n_out: number of output units, the dimension of the space in
+        which the labels lie
+
+        """
+
+        # Since we are dealing with a one hidden layer MLP, this will translate
+        # into a HiddenLayer with a tanh activation function connected to the
+        # LogisticRegression layer; the activation function can be replaced by
+        # sigmoid or any other nonlinear function
+        self.hiddenLayer = HiddenLayer(
+            rng=rng,
+            input=input,
+            n_in=n_in,
+            n_out=n_hidden,
+            activation=T.tanh
+        )
+
+        # The logistic regression layer gets as input the hidden units
+        # of the hidden layer
+        self.logRegressionLayer = LogisticRegression(
+            input=self.hiddenLayer.output,
+            n_in=n_hidden,
+            n_out=n_out
+        )
+        # end-snippet-2 start-snippet-3
+        # L1 norm ; one regularization option is to enforce L1 norm to
+        # be small
+        self.L1 = (
+            abs(self.hiddenLayer.W).sum()
+            + abs(self.logRegressionLayer.W).sum()
+        )
+
+        # square of L2 norm ; one regularization option is to enforce
+        # square of L2 norm to be small
+        self.L2_sqr = (
+            (self.hiddenLayer.W ** 2).sum()
+            + (self.logRegressionLayer.W ** 2).sum()
+        )
+
+        # negative log likelihood of the MLP is given by the negative
+        # log likelihood of the output of the model, computed in the
+        # logistic regression layer
+        self.negative_log_likelihood = (
+            self.logRegressionLayer.negative_log_likelihood
+        )
+        # same holds for the function computing the number of errors
+        self.errors = self.logRegressionLayer.errors
+
+        # the parameters of the model are the parameters of the two layer it is
+        # made out of
+        self.params = self.hiddenLayer.params + self.logRegressionLayer.params
+        # end-snippet-3
+
+        # keep track of model input
+        self.input = input
+
+
+def test_mlp(learning_rate=0.01, L1_reg=0.00, L2_reg=0.0001, n_epochs=1000,
+             dataset='mnist.pkl.gz', batch_size=20, n_hidden=500):
+    """
+    Demonstrate stochastic gradient descent optimization for a multilayer
+    perceptron
+
+    This is demonstrated on MNIST.
+
+    :type learning_rate: float
+    :param learning_rate: learning rate used (factor for the stochastic
+    gradient
+
+    :type L1_reg: float
+    :param L1_reg: L1-norm's weight when added to the cost (see
+    regularization)
+
+    :type L2_reg: float
+    :param L2_reg: L2-norm's weight when added to the cost (see
+    regularization)
+
+    :type n_epochs: int
+    :param n_epochs: maximal number of epochs to run the optimizer
+
+    :type dataset: string
+    :param dataset: the path of the MNIST dataset file from
+                 http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz
+
+
+   """
+    datasets = load_data(dataset)
+
+    train_set_x, train_set_y = datasets[0]
+    valid_set_x, valid_set_y = datasets[1]
+    test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0] / batch_size
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+    x = T.matrix('x')  # the data is presented as rasterized images
+    y = T.ivector('y')  # the labels are presented as 1D vector of
+                        # [int] labels
+
+    rng = numpy.random.RandomState(1234)
+
+    # construct the MLP class
+    classifier = MLP(
+        rng=rng,
+        input=x,
+        n_in=28 * 28,
+        n_hidden=n_hidden,
+        n_out=10
+    )
+
+    # start-snippet-4
+    # the cost we minimize during training is the negative log likelihood of
+    # the model plus the regularization terms (L1 and L2); cost is expressed
+    # here symbolically
+    cost = (
+        classifier.negative_log_likelihood(y)
+        + L1_reg * classifier.L1
+        + L2_reg * classifier.L2_sqr
+    )
+    # end-snippet-4
+
+    # compiling a Theano function that computes the mistakes that are made
+    # by the model on a minibatch
+    test_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: test_set_x[index * batch_size:(index + 1) * batch_size],
+            y: test_set_y[index * batch_size:(index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size:(index + 1) * batch_size],
+            y: valid_set_y[index * batch_size:(index + 1) * batch_size]
+        }
+    )
+
+    # start-snippet-5
+    # compute the gradient of cost with respect to theta (sotred in params)
+    # the resulting gradients will be stored in a list gparams
+    gparams = [T.grad(cost, param) for param in classifier.params]
+
+    # specify how to update the parameters of the model as a list of
+    # (variable, update expression) pairs
+
+    # given two lists of the same length, A = [a1, a2, a3, a4] and
+    # B = [b1, b2, b3, b4], zip generates a list C of same size, where each
+    # element is a pair formed from the two lists :
+    #    C = [(a1, b1), (a2, b2), (a3, b3), (a4, b4)]
+    updates = [
+        (param, param - learning_rate * gparam)
+        for param, gparam in zip(classifier.params, gparams)
+    ]
+
+    # compiling a Theano function `train_model` that returns the cost, but
+    # in the same time updates the parameter of the model based on the rules
+    # defined in `updates`
+    train_model = theano.function(
+        inputs=[index],
+        outputs=cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-5
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training'
+
+    # early-stopping parameters
+    patience = 10000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                           # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                   # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    best_iter = 0
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    epoch = 0
+    done_looping = False
+
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            minibatch_avg_cost = train_model(minibatch_index)
+            # iteration number
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if (iter + 1) % validation_frequency == 0:
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i) for i
+                                     in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+
+                print(
+                    'epoch %i, minibatch %i/%i, validation error %f %%' %
+                    (
+                        epoch,
+                        minibatch_index + 1,
+                        n_train_batches,
+                        this_validation_loss * 100.
+                    )
+                )
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+                    #improve patience if loss improvement is good enough
+                    if (
+                        this_validation_loss < best_validation_loss *
+                        improvement_threshold
+                    ):
+                        patience = max(patience, iter * patience_increase)
+
+                    best_validation_loss = this_validation_loss
+                    best_iter = iter
+
+                    # test it on the test set
+                    test_losses = [test_model(i) for i
+                                   in xrange(n_test_batches)]
+                    test_score = numpy.mean(test_losses)
+
+                    print(('     epoch %i, minibatch %i/%i, test error of '
+                           'best model %f %%') %
+                          (epoch, minibatch_index + 1, n_train_batches,
+                           test_score * 100.))
+
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print(('Optimization complete. Best validation score of %f %% '
+           'obtained at iteration %i, with test performance %f %%') %
+          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
+
+
+if __name__ == '__main__':
+    test_mlp()
+
+# Rectifier Linear Unit
+#Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
+def relu(x):
+    return T.maximum(0.,x)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/classification/preprocess_spectrograms_7digital.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Jul 23 21:55:58 2015
+
+@author: paulochiliguano
+"""
+
+
+import tables
+import numpy as np
+import cPickle
+import sklearn.preprocessing as preprocessing
+
+#Read HDF5 file that contains log-mel spectrograms
+filename = '/homes/pchilguano/msc_project/dataset/7digital/features/\
+feats.h5'
+with tables.openFile(filename, 'r') as f:
+    features = f.root.x.read()
+    #filenames = f.root.filenames.read()
+
+#Pre-processing of spectrograms mean=0 and std=1
+n_per_example = np.prod(features.shape[1:-1])
+number_of_features = features.shape[-1]
+flat_data = features.view()
+flat_data.shape = (-1, number_of_features)
+scaler = preprocessing.StandardScaler().fit(flat_data)
+flat_data = scaler.transform(flat_data)
+flat_data.shape = (features.shape[0], -1)
+
+f = file('/homes/pchilguano/msc_project/dataset/7digital/features/\
+feats.pkl', 'wb')
+cPickle.dump(flat_data, f, protocol=cPickle.HIGHEST_PROTOCOL)
+f.close()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/learning/convolutional_mlp.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,415 @@
+"""This tutorial introduces the LeNet5 neural network architecture
+using Theano.  LeNet5 is a convolutional neural network, good for
+classifying images. This tutorial shows how to build the architecture,
+and comes with all the hyper-parameters you need to reproduce the
+paper's MNIST results.
+
+
+This implementation simplifies the model in the following ways:
+
+ - LeNetConvPool doesn't implement location-specific gain and bias parameters
+ - LeNetConvPool doesn't implement pooling by average, it implements pooling
+   by max.
+ - Digit classification is implemented with a logistic regression rather than
+   an RBF network
+ - LeNet5 was not fully-connected convolutions at second layer
+
+References:
+ - Y. LeCun, L. Bottou, Y. Bengio and P. Haffner:
+   Gradient-Based Learning Applied to Document
+   Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 1998.
+   http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
+
+"""
+import os
+import sys
+import timeit
+
+import numpy
+
+import theano
+import theano.tensor as T
+from theano.tensor.signal import downsample
+from theano.tensor.nnet import conv
+
+from logistic_sgd import LogisticRegression, load_data
+from mlp import HiddenLayer
+
+# Paulo Chiliguano: Additional libraries
+import cPickle
+from theano.sandbox.rng_mrg import MRG_RandomStreams as RandomStreams
+
+# Paulo Chiliguano: Rectifier Linear Unit
+# Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
+def relu(x):
+    return T.maximum(0.,x)
+        
+# Paulo: Random Streams
+srng = RandomStreams(seed=234)
+
+class LeNetConvPoolLayer(object):
+    """Pool Layer of a convolutional network """
+
+    def __init__(self, rng, input, filter_shape, image_shape, poolsize=(2, 2)):
+        """
+        Allocate a LeNetConvPoolLayer with shared variable internal parameters.
+
+        :type rng: numpy.random.RandomState
+        :param rng: a random number generator used to initialize weights
+
+        :type input: theano.tensor.dtensor4
+        :param input: symbolic image tensor, of shape image_shape
+
+        :type filter_shape: tuple or list of length 4
+        :param filter_shape: (number of filters, num input feature maps,
+                              filter height, filter width)
+
+        :type image_shape: tuple or list of length 4
+        :param image_shape: (batch size, num input feature maps,
+                             image height, image width)
+
+        :type poolsize: tuple or list of length 2
+        :param poolsize: the downsampling (pooling) factor (#rows, #cols)
+        """
+
+        assert image_shape[1] == filter_shape[1]
+        self.input = input
+
+        # there are "num input feature maps * filter height * filter width"
+        # inputs to each hidden unit
+        fan_in = numpy.prod(filter_shape[1:])
+        # each unit in the lower layer receives a gradient from:
+        # "num output feature maps * filter height * filter width" /
+        #   pooling size
+        fan_out = (filter_shape[0] * numpy.prod(filter_shape[2:]) /
+                   numpy.prod(poolsize))
+        # initialize weights with random weights
+        W_bound = numpy.sqrt(6. / (fan_in + fan_out))
+        self.W = theano.shared(
+            numpy.asarray(
+                rng.uniform(low=-W_bound, high=W_bound, size=filter_shape),
+                dtype=theano.config.floatX
+            ),
+            borrow=True
+        )
+
+        # the bias is a 1D tensor -- one bias per output feature map
+        b_values = numpy.zeros((filter_shape[0],), dtype=theano.config.floatX)
+        self.b = theano.shared(value=b_values, borrow=True)
+
+        # convolve input feature maps with filters
+        conv_out = conv.conv2d(
+            input=input,
+            filters=self.W,
+            filter_shape=filter_shape,
+            image_shape=image_shape
+        )
+
+        # downsample each feature map individually, using maxpooling
+        pooled_out = downsample.max_pool_2d(
+            input=conv_out,
+            ds=poolsize,
+            ignore_border=True
+        )
+        
+        # Paulo: dropout
+        # Source: https://github.com/Newmu/Theano-Tutorials/blob/master/5_convolutional_net.py
+        retain_prob = 1 - 0.20
+        pooled_out *= srng.binomial(
+            pooled_out.shape,
+            p=retain_prob,
+            dtype=theano.config.floatX)
+        pooled_out /= retain_prob
+        
+        # add the bias term. Since the bias is a vector (1D array), we first
+        # reshape it to a tensor of shape (1, n_filters, 1, 1). Each bias will
+        # thus be broadcasted across mini-batches and feature map
+        # width & height
+        #self.output = T.tanh(pooled_out + self.b.dimshuffle('x', 0, 'x', 'x'))
+        self.output = relu(pooled_out + self.b.dimshuffle('x', 0, 'x', 'x'))
+        
+        # store parameters of this layer
+        self.params = [self.W, self.b]
+
+        # keep track of model input
+        self.input = input
+
+
+def evaluate_lenet5(learning_rate=0.1, n_epochs=200,
+                    dataset='mnist.pkl.gz',
+                    nkerns=[20, 50], batch_size=500):
+    """ Demonstrates lenet on MNIST dataset
+
+    :type learning_rate: float
+    :param learning_rate: learning rate used (factor for the stochastic
+                          gradient)
+
+    :type n_epochs: int
+    :param n_epochs: maximal number of epochs to run the optimizer
+
+    :type dataset: string
+    :param dataset: path to the dataset used for training /testing (MNIST here)
+
+    :type nkerns: list of ints
+    :param nkerns: number of kernels on each layer
+    """
+
+    rng = numpy.random.RandomState(23455)
+
+    datasets = load_data(dataset)
+
+    train_set_x, train_set_y = datasets[0]
+    valid_set_x, valid_set_y = datasets[1]
+    test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    n_train_batches = train_set_x.get_value(borrow=True).shape[0]
+    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0]
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0]
+    
+    n_train_batches /= batch_size
+    n_valid_batches /= batch_size
+    n_test_batches /= batch_size
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+
+    # start-snippet-1
+    x = T.matrix('x')   # the data is presented as rasterized images
+    y = T.ivector('y')  # the labels are presented as 1D vector of
+                        # [int] labels
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # Reshape matrix of rasterized images of shape (batch_size, 28 * 28)
+    # to a 4D tensor, compatible with our LeNetConvPoolLayer
+    # (28, 28) is the size of MNIST images.
+    #layer0_input = x.reshape((batch_size, 1, 28, 28))
+    layer0_input = x.reshape((batch_size, 1, 130, 128))
+    # Construct the first convolutional pooling layer:
+    # filtering reduces the image size to (28-5+1 , 28-5+1) = (24, 24)
+    # maxpooling reduces this further to (24/2, 24/2) = (12, 12)
+    # 4D output tensor is thus of shape (batch_size, nkerns[0], 12, 12)
+    layer0 = LeNetConvPoolLayer(
+        rng,
+        input=layer0_input,
+        #image_shape=(batch_size, 1, 28, 28),
+        image_shape=(batch_size, 1, 130, 128),
+        #filter_shape=(nkerns[0], 1, 5, 5),
+        filter_shape=(nkerns[0], 1, 8, 1),
+        #poolsize=(2, 2)
+        poolsize=(4, 1)
+    )
+
+    # Construct the second convolutional pooling layer
+    # filtering reduces the image size to (12-5+1, 12-5+1) = (8, 8)
+    # maxpooling reduces this further to (8/2, 8/2) = (4, 4)
+    # 4D output tensor is thus of shape (batch_size, nkerns[1], 4, 4)
+    layer1 = LeNetConvPoolLayer(
+        rng,
+        input=layer0.output,
+        #image_shape=(batch_size, nkerns[0], 12, 12),
+        image_shape=(batch_size, nkerns[0], 30, 128),
+        #filter_shape=(nkerns[1], nkerns[0], 5, 5),
+        filter_shape=(nkerns[1], nkerns[0], 8, 1),
+        #poolsize=(2, 2)
+        poolsize=(4, 1)
+    )
+    
+    # the HiddenLayer being fully-connected, it operates on 2D matrices of
+    # shape (batch_size, num_pixels) (i.e matrix of rasterized images).
+    # This will generate a matrix of shape (batch_size, nkerns[1] * 4 * 4),
+    # or (500, 50 * 4 * 4) = (500, 800) with the default values.
+    layer2_input = layer1.output.flatten(2)
+
+    # construct a fully-connected sigmoidal layer
+    layer2 = HiddenLayer(
+        rng,
+        input=layer2_input,
+        #n_in=nkerns[1] * 4 * 4,
+        n_in=nkerns[1] * 5 * 128,
+        n_out=500,
+        #n_out=100,
+        #activation=T.tanh
+        activation=relu
+    )
+
+    # classify the values of the fully-connected sigmoidal layer
+    layer3 = LogisticRegression(input=layer2.output, n_in=500, n_out=10)
+    #layer4 = LogisticRegression(input=layer3.output, n_in=50, n_out=10)
+    
+    # the cost we minimize during training is the NLL of the model
+    cost = layer3.negative_log_likelihood(y)
+
+    # create a function to compute the mistakes that are made by the model
+    test_model = theano.function(
+        [index],
+        layer3.errors(y),
+        givens={
+            x: test_set_x[index * batch_size: (index + 1) * batch_size],
+            y: test_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        [index],
+        layer3.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
+            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    
+    # Paulo: Set best param for MLP pre-training
+    f = file('/homes/pchilguano/msc_project/dataset/genre_classification/\
+best_params.pkl', 'rb')
+    params0, params1, params2, params3 = cPickle.load(f)
+    f.close()
+    layer0.W.set_value(params0[0])
+    layer0.b.set_value(params0[1])
+    layer1.W.set_value(params1[0])
+    layer1.b.set_value(params1[1])
+    layer2.W.set_value(params2[0])
+    layer2.b.set_value(params2[1])
+    layer3.W.set_value(params3[0])
+    layer3.b.set_value(params3[1])
+    
+    # create a list of all model parameters to be fit by gradient descent
+    params = layer3.params + layer2.params + layer1.params + layer0.params
+    #params = layer4.params + layer3.params + layer2.params + layer1.params + layer0.params
+
+    # create a list of gradients for all model parameters
+    grads = T.grad(cost, params)
+
+    # train_model is a function that updates the model parameters by
+    # SGD Since this model has many parameters, it would be tedious to
+    # manually create an update rule for each model parameter. We thus
+    # create the updates list by automatically looping over all
+    # (params[i], grads[i]) pairs.
+    updates = [
+        (param_i, param_i - learning_rate * grad_i)
+        for param_i, grad_i in zip(params, grads)
+    ]
+
+    train_model = theano.function(
+        [index],
+        cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-1
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training'
+    # early-stopping parameters
+    patience = 1000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                           # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                   # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    best_iter = 0
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    epoch = 0
+    done_looping = False
+
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if iter % 100 == 0:
+                print 'training @ iter = ', iter
+            cost_ij = train_model(minibatch_index)
+
+            if (iter + 1) % validation_frequency == 0:
+
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i) for i
+                                     in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+                print('epoch %i, minibatch %i/%i, validation error %f %%' %
+                      (epoch, minibatch_index + 1, n_train_batches,
+                       this_validation_loss * 100.))
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+
+                    #improve patience if loss improvement is good enough
+                    if this_validation_loss < best_validation_loss *  \
+                       improvement_threshold:
+                        patience = max(patience, iter * patience_increase)
+
+                    # save best validation score and iteration number
+                    best_validation_loss = this_validation_loss
+                    best_iter = iter
+
+                    # test it on the test set
+                    test_losses = [
+                        test_model(i)
+                        for i in xrange(n_test_batches)
+                    ]
+                    test_score = numpy.mean(test_losses)
+                    print(('     epoch %i, minibatch %i/%i, test error of '
+                           'best model %f %%') %
+                          (epoch, minibatch_index + 1, n_train_batches,
+                           test_score * 100.))
+                    # Paulo: Get best parameters for MLP
+                    best_params0 = [param.get_value().copy() for param in layer0.params]
+                    best_params1 = [param.get_value().copy() for param in layer1.params]
+                    best_params2 = [param.get_value().copy() for param in layer2.params]
+                    best_params3 = [param.get_value().copy() for param in layer3.params]
+                    #best_params4 = [param.get_value().copy() for param in layer4.params]
+                    
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print('Optimization complete.')
+    print('Best validation score of %f %% obtained at iteration %i, '
+          'with test performance %f %%' %
+          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
+    # Paulo: Save best param for MLP
+    f = file('/homes/pchilguano/msc_project/dataset/genre_classification/\
+best_params.pkl', 'wb')
+    cPickle.dump(
+        (best_params0, best_params1, best_params2, best_params3),
+        f,
+        protocol=cPickle.HIGHEST_PROTOCOL
+    )
+    f.close()
+    
+if __name__ == '__main__':
+    evaluate_lenet5(
+        learning_rate=0.01,
+        n_epochs=200,
+        dataset='/homes/pchilguano/msc_project/dataset/gtzan/features/\
+gtzan_3sec_2.pkl',
+        nkerns=[32, 32],
+        batch_size=10
+    )
+
+def experiment(state, channel):
+    evaluate_lenet5(state.learning_rate, dataset=state.dataset)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/learning/logistic_sgd.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,472 @@
+"""
+This tutorial introduces logistic regression using Theano and stochastic
+gradient descent.
+
+Logistic regression is a probabilistic, linear classifier. It is parametrized
+by a weight matrix :math:`W` and a bias vector :math:`b`. Classification is
+done by projecting data points onto a set of hyperplanes, the distance to
+which is used to determine a class membership probability.
+
+Mathematically, this can be written as:
+
+.. math::
+  P(Y=i|x, W,b) &= softmax_i(W x + b) \\
+                &= \frac {e^{W_i x + b_i}} {\sum_j e^{W_j x + b_j}}
+
+
+The output of the model or prediction is then done by taking the argmax of
+the vector whose i'th element is P(Y=i|x).
+
+.. math::
+
+  y_{pred} = argmax_i P(Y=i|x,W,b)
+
+
+This tutorial presents a stochastic gradient descent optimization method
+suitable for large datasets.
+
+
+References:
+
+    - textbooks: "Pattern Recognition and Machine Learning" -
+                 Christopher M. Bishop, section 4.3.2
+
+"""
+__docformat__ = 'restructedtext en'
+
+import cPickle
+import gzip
+import os
+import sys
+import timeit
+
+import numpy
+
+import theano
+import theano.tensor as T
+
+
+class LogisticRegression(object):
+    """Multi-class Logistic Regression Class
+
+    The logistic regression is fully described by a weight matrix :math:`W`
+    and bias vector :math:`b`. Classification is done by projecting data
+    points onto a set of hyperplanes, the distance to which is used to
+    determine a class membership probability.
+    """
+
+    def __init__(self, input, n_in, n_out):
+        """ Initialize the parameters of the logistic regression
+
+        :type input: theano.tensor.TensorType
+        :param input: symbolic variable that describes the input of the
+                      architecture (one minibatch)
+
+        :type n_in: int
+        :param n_in: number of input units, the dimension of the space in
+                     which the datapoints lie
+
+        :type n_out: int
+        :param n_out: number of output units, the dimension of the space in
+                      which the labels lie
+
+        """
+        # start-snippet-1
+        # initialize with 0 the weights W as a matrix of shape (n_in, n_out)
+        self.W = theano.shared(
+            value=numpy.zeros(
+                (n_in, n_out),
+                dtype=theano.config.floatX
+            ),
+            name='W',
+            borrow=True
+        )
+        # initialize the baises b as a vector of n_out 0s
+        self.b = theano.shared(
+            value=numpy.zeros(
+                (n_out,),
+                dtype=theano.config.floatX
+            ),
+            name='b',
+            borrow=True
+        )
+
+        # symbolic expression for computing the matrix of class-membership
+        # probabilities
+        # Where:
+        # W is a matrix where column-k represent the separation hyperplane for
+        # class-k
+        # x is a matrix where row-j  represents input training sample-j
+        # b is a vector where element-k represent the free parameter of
+        # hyperplane-k
+        self.p_y_given_x = T.nnet.softmax(T.dot(input, self.W) + self.b)
+
+        # symbolic description of how to compute prediction as class whose
+        # probability is maximal
+        self.y_pred = T.argmax(self.p_y_given_x, axis=1)
+        # end-snippet-1
+
+        # parameters of the model
+        self.params = [self.W, self.b]
+
+        # keep track of model input
+        self.input = input
+
+    def negative_log_likelihood(self, y):
+        """Return the mean of the negative log-likelihood of the prediction
+        of this model under a given target distribution.
+
+        .. math::
+
+            \frac{1}{|\mathcal{D}|} \mathcal{L} (\theta=\{W,b\}, \mathcal{D}) =
+            \frac{1}{|\mathcal{D}|} \sum_{i=0}^{|\mathcal{D}|}
+                \log(P(Y=y^{(i)}|x^{(i)}, W,b)) \\
+            \ell (\theta=\{W,b\}, \mathcal{D})
+
+        :type y: theano.tensor.TensorType
+        :param y: corresponds to a vector that gives for each example the
+                  correct label
+
+        Note: we use the mean instead of the sum so that
+              the learning rate is less dependent on the batch size
+        """
+        # start-snippet-2
+        # y.shape[0] is (symbolically) the number of rows in y, i.e.,
+        # number of examples (call it n) in the minibatch
+        # T.arange(y.shape[0]) is a symbolic vector which will contain
+        # [0,1,2,... n-1] T.log(self.p_y_given_x) is a matrix of
+        # Log-Probabilities (call it LP) with one row per example and
+        # one column per class LP[T.arange(y.shape[0]),y] is a vector
+        # v containing [LP[0,y[0]], LP[1,y[1]], LP[2,y[2]], ...,
+        # LP[n-1,y[n-1]]] and T.mean(LP[T.arange(y.shape[0]),y]) is
+        # the mean (across minibatch examples) of the elements in v,
+        # i.e., the mean log-likelihood across the minibatch.
+        return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y])
+        # end-snippet-2
+
+    def errors(self, y):
+        """Return a float representing the number of errors in the minibatch
+        over the total number of examples of the minibatch ; zero one
+        loss over the size of the minibatch
+
+        :type y: theano.tensor.TensorType
+        :param y: corresponds to a vector that gives for each example the
+                  correct label
+        """
+
+        # check if y has same dimension of y_pred
+        if y.ndim != self.y_pred.ndim:
+            raise TypeError(
+                'y should have the same shape as self.y_pred',
+                ('y', y.type, 'y_pred', self.y_pred.type)
+            )
+        # check if y is of the correct datatype
+        if y.dtype.startswith('int'):
+            # the T.neq operator returns a vector of 0s and 1s, where 1
+            # represents a mistake in prediction
+            return T.mean(T.neq(self.y_pred, y))
+        else:
+            raise NotImplementedError()
+
+
+def load_data(dataset):
+    ''' Loads the dataset
+
+    :type dataset: string
+    :param dataset: the path to the dataset (here MNIST)
+    '''
+    #############
+    # LOAD DATA #
+    #############
+    '''
+    # Download the MNIST dataset if it is not present
+    data_dir, data_file = os.path.split(dataset)
+    if data_dir == "" and not os.path.isfile(dataset):
+        # Check if dataset is in the data directory.
+        new_path = os.path.join(
+            os.path.split(__file__)[0],
+            "..",
+            "data",
+            dataset
+        )
+        if os.path.isfile(new_path) or data_file == 'mnist.pkl.gz':
+            dataset = new_path
+
+    if (not os.path.isfile(dataset)) and data_file == 'mnist.pkl.gz':
+        import urllib
+        origin = (
+            'http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz'
+        )
+        print 'Downloading data from %s' % origin
+        urllib.urlretrieve(origin, dataset)
+
+    print '... loading data'
+    
+    # Load the dataset
+    f = gzip.open(dataset, 'rb')
+    '''
+    f = file(dataset, 'rb')
+    train_set, valid_set, test_set = cPickle.load(f)
+    f.close()
+    #train_set, valid_set, test_set format: tuple(input, target)
+    #input is an numpy.ndarray of 2 dimensions (a matrix)
+    #witch row's correspond to an example. target is a
+    #numpy.ndarray of 1 dimensions (vector)) that have the same length as
+    #the number of rows in the input. It should give the target
+    #target to the example with the same index in the input.
+
+    def shared_dataset(data_xy, borrow=True):
+        """ Function that loads the dataset into shared variables
+
+        The reason we store our dataset in shared variables is to allow
+        Theano to copy it into the GPU memory (when code is run on GPU).
+        Since copying data into the GPU is slow, copying a minibatch everytime
+        is needed (the default behaviour if the data is not in a shared
+        variable) would lead to a large decrease in performance.
+        """
+        data_x, data_y = data_xy
+        shared_x = theano.shared(numpy.asarray(data_x,
+                                               dtype=theano.config.floatX),
+                                 borrow=borrow)
+        shared_y = theano.shared(numpy.asarray(data_y,
+                                               dtype=theano.config.floatX),
+                                 borrow=borrow)
+        # When storing data on the GPU it has to be stored as floats
+        # therefore we will store the labels as ``floatX`` as well
+        # (``shared_y`` does exactly that). But during our computations
+        # we need them as ints (we use labels as index, and if they are
+        # floats it doesn't make sense) therefore instead of returning
+        # ``shared_y`` we will have to cast it to int. This little hack
+        # lets ous get around this issue
+        return shared_x, T.cast(shared_y, 'int32')
+
+    test_set_x, test_set_y = shared_dataset(test_set)
+    valid_set_x, valid_set_y = shared_dataset(valid_set)
+    train_set_x, train_set_y = shared_dataset(train_set)
+
+    rval = [(train_set_x, train_set_y), (valid_set_x, valid_set_y),
+            (test_set_x, test_set_y)]
+    return rval
+
+
+def sgd_optimization_mnist(learning_rate=0.13, n_epochs=1000,
+                           dataset='mnist.pkl.gz',
+                           batch_size=600):
+    """
+    Demonstrate stochastic gradient descent optimization of a log-linear
+    model
+
+    This is demonstrated on MNIST.
+
+    :type learning_rate: float
+    :param learning_rate: learning rate used (factor for the stochastic
+                          gradient)
+
+    :type n_epochs: int
+    :param n_epochs: maximal number of epochs to run the optimizer
+
+    :type dataset: string
+    :param dataset: the path of the MNIST dataset file from
+                 http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz
+
+    """
+    datasets = load_data(dataset)
+
+    train_set_x, train_set_y = datasets[0]
+    valid_set_x, valid_set_y = datasets[1]
+    test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0] / batch_size
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+
+    # generate symbolic variables for input (x and y represent a
+    # minibatch)
+    x = T.matrix('x')  # data, presented as rasterized images
+    y = T.ivector('y')  # labels, presented as 1D vector of [int] labels
+
+    # construct the logistic regression class
+    # Each MNIST image has size 28*28
+    classifier = LogisticRegression(input=x, n_in=28 * 28, n_out=10)
+
+    # the cost we minimize during training is the negative log likelihood of
+    # the model in symbolic format
+    cost = classifier.negative_log_likelihood(y)
+
+    # compiling a Theano function that computes the mistakes that are made by
+    # the model on a minibatch
+    test_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: test_set_x[index * batch_size: (index + 1) * batch_size],
+            y: test_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
+            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+
+    # compute the gradient of cost with respect to theta = (W,b)
+    g_W = T.grad(cost=cost, wrt=classifier.W)
+    g_b = T.grad(cost=cost, wrt=classifier.b)
+
+    # start-snippet-3
+    # specify how to update the parameters of the model as a list of
+    # (variable, update expression) pairs.
+    updates = [(classifier.W, classifier.W - learning_rate * g_W),
+               (classifier.b, classifier.b - learning_rate * g_b)]
+
+    # compiling a Theano function `train_model` that returns the cost, but in
+    # the same time updates the parameter of the model based on the rules
+    # defined in `updates`
+    train_model = theano.function(
+        inputs=[index],
+        outputs=cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-3
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training the model'
+    # early-stopping parameters
+    patience = 5000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                                  # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                  # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    done_looping = False
+    epoch = 0
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            minibatch_avg_cost = train_model(minibatch_index)
+            # iteration number
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if (iter + 1) % validation_frequency == 0:
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i)
+                                     for i in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+
+                print(
+                    'epoch %i, minibatch %i/%i, validation error %f %%' %
+                    (
+                        epoch,
+                        minibatch_index + 1,
+                        n_train_batches,
+                        this_validation_loss * 100.
+                    )
+                )
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+                    #improve patience if loss improvement is good enough
+                    if this_validation_loss < best_validation_loss *  \
+                       improvement_threshold:
+                        patience = max(patience, iter * patience_increase)
+
+                    best_validation_loss = this_validation_loss
+                    # test it on the test set
+
+                    test_losses = [test_model(i)
+                                   for i in xrange(n_test_batches)]
+                    test_score = numpy.mean(test_losses)
+
+                    print(
+                        (
+                            '     epoch %i, minibatch %i/%i, test error of'
+                            ' best model %f %%'
+                        ) %
+                        (
+                            epoch,
+                            minibatch_index + 1,
+                            n_train_batches,
+                            test_score * 100.
+                        )
+                    )
+
+                    # save the best model
+                    with open('best_model.pkl', 'w') as f:
+                        cPickle.dump(classifier, f)
+
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print(
+        (
+            'Optimization complete with best validation score of %f %%,'
+            'with test performance %f %%'
+        )
+        % (best_validation_loss * 100., test_score * 100.)
+    )
+    print 'The code run for %d epochs, with %f epochs/sec' % (
+        epoch, 1. * epoch / (end_time - start_time))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.1fs' % ((end_time - start_time)))
+
+
+def predict():
+    """
+    An example of how to load a trained model and use it
+    to predict labels.
+    """
+
+    # load the saved model
+    classifier = cPickle.load(open('best_model.pkl'))
+
+    # compile a predictor function
+    predict_model = theano.function(
+        inputs=[classifier.input],
+        outputs=classifier.y_pred)
+
+    # We can test it on some examples from test test
+    dataset='mnist.pkl.gz'
+    datasets = load_data(dataset)
+    test_set_x, test_set_y = datasets[2]
+    test_set_x = test_set_x.get_value()
+
+    predicted_values = predict_model(test_set_x[:10])
+    print ("Predicted values for the first 10 examples in test set:")
+    print predicted_values
+
+
+if __name__ == '__main__':
+    sgd_optimization_mnist()
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/learning/mlp.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,412 @@
+"""
+This tutorial introduces the multilayer perceptron using Theano.
+
+ A multilayer perceptron is a logistic regressor where
+instead of feeding the input to the logistic regression you insert a
+intermediate layer, called the hidden layer, that has a nonlinear
+activation function (usually tanh or sigmoid) . One can use many such
+hidden layers making the architecture deep. The tutorial will also tackle
+the problem of MNIST digit classification.
+
+.. math::
+
+    f(x) = G( b^{(2)} + W^{(2)}( s( b^{(1)} + W^{(1)} x))),
+
+References:
+
+    - textbooks: "Pattern Recognition and Machine Learning" -
+                 Christopher M. Bishop, section 5
+
+"""
+__docformat__ = 'restructedtext en'
+
+
+import os
+import sys
+import timeit
+
+import numpy
+
+import theano
+import theano.tensor as T
+
+
+from logistic_sgd import LogisticRegression, load_data
+
+
+# start-snippet-1
+class HiddenLayer(object):
+    def __init__(self, rng, input, n_in, n_out, W=None, b=None,
+                 activation=T.tanh):
+        """
+        Typical hidden layer of a MLP: units are fully-connected and have
+        sigmoidal activation function. Weight matrix W is of shape (n_in,n_out)
+        and the bias vector b is of shape (n_out,).
+
+        NOTE : The nonlinearity used here is tanh
+
+        Hidden unit activation is given by: tanh(dot(input,W) + b)
+
+        :type rng: numpy.random.RandomState
+        :param rng: a random number generator used to initialize weights
+
+        :type input: theano.tensor.dmatrix
+        :param input: a symbolic tensor of shape (n_examples, n_in)
+
+        :type n_in: int
+        :param n_in: dimensionality of input
+
+        :type n_out: int
+        :param n_out: number of hidden units
+
+        :type activation: theano.Op or function
+        :param activation: Non linearity to be applied in the hidden
+                           layer
+        """
+        self.input = input
+        # end-snippet-1
+
+        # `W` is initialized with `W_values` which is uniformely sampled
+        # from sqrt(-6./(n_in+n_hidden)) and sqrt(6./(n_in+n_hidden))
+        # for tanh activation function
+        # the output of uniform if converted using asarray to dtype
+        # theano.config.floatX so that the code is runable on GPU
+        # Note : optimal initialization of weights is dependent on the
+        #        activation function used (among other things).
+        #        For example, results presented in [Xavier10] suggest that you
+        #        should use 4 times larger initial weights for sigmoid
+        #        compared to tanh
+        #        We have no info for other function, so we use the same as
+        #        tanh.
+        if W is None:
+            W_values = numpy.asarray(
+                rng.uniform(
+                    low=-numpy.sqrt(6. / (n_in + n_out)),
+                    high=numpy.sqrt(6. / (n_in + n_out)),
+                    size=(n_in, n_out)
+                ),
+                dtype=theano.config.floatX
+            )
+            if activation == theano.tensor.nnet.sigmoid:
+                W_values *= 4
+
+            W = theano.shared(value=W_values, name='W', borrow=True)
+
+        if b is None:
+            b_values = numpy.zeros((n_out,), dtype=theano.config.floatX)
+            b = theano.shared(value=b_values, name='b', borrow=True)
+
+        self.W = W
+        self.b = b
+
+        lin_output = T.dot(input, self.W) + self.b
+        self.output = (
+            lin_output if activation is None
+            else activation(lin_output)
+        )
+        # parameters of the model
+        self.params = [self.W, self.b]
+
+
+# start-snippet-2
+class MLP(object):
+    """Multi-Layer Perceptron Class
+
+    A multilayer perceptron is a feedforward artificial neural network model
+    that has one layer or more of hidden units and nonlinear activations.
+    Intermediate layers usually have as activation function tanh or the
+    sigmoid function (defined here by a ``HiddenLayer`` class)  while the
+    top layer is a softmax layer (defined here by a ``LogisticRegression``
+    class).
+    """
+
+    def __init__(self, rng, input, n_in, n_hidden, n_out):
+        """Initialize the parameters for the multilayer perceptron
+
+        :type rng: numpy.random.RandomState
+        :param rng: a random number generator used to initialize weights
+
+        :type input: theano.tensor.TensorType
+        :param input: symbolic variable that describes the input of the
+        architecture (one minibatch)
+
+        :type n_in: int
+        :param n_in: number of input units, the dimension of the space in
+        which the datapoints lie
+
+        :type n_hidden: int
+        :param n_hidden: number of hidden units
+
+        :type n_out: int
+        :param n_out: number of output units, the dimension of the space in
+        which the labels lie
+
+        """
+
+        # Since we are dealing with a one hidden layer MLP, this will translate
+        # into a HiddenLayer with a tanh activation function connected to the
+        # LogisticRegression layer; the activation function can be replaced by
+        # sigmoid or any other nonlinear function
+        self.hiddenLayer = HiddenLayer(
+            rng=rng,
+            input=input,
+            n_in=n_in,
+            n_out=n_hidden,
+            activation=T.tanh
+        )
+
+        # The logistic regression layer gets as input the hidden units
+        # of the hidden layer
+        self.logRegressionLayer = LogisticRegression(
+            input=self.hiddenLayer.output,
+            n_in=n_hidden,
+            n_out=n_out
+        )
+        # end-snippet-2 start-snippet-3
+        # L1 norm ; one regularization option is to enforce L1 norm to
+        # be small
+        self.L1 = (
+            abs(self.hiddenLayer.W).sum()
+            + abs(self.logRegressionLayer.W).sum()
+        )
+
+        # square of L2 norm ; one regularization option is to enforce
+        # square of L2 norm to be small
+        self.L2_sqr = (
+            (self.hiddenLayer.W ** 2).sum()
+            + (self.logRegressionLayer.W ** 2).sum()
+        )
+
+        # negative log likelihood of the MLP is given by the negative
+        # log likelihood of the output of the model, computed in the
+        # logistic regression layer
+        self.negative_log_likelihood = (
+            self.logRegressionLayer.negative_log_likelihood
+        )
+        # same holds for the function computing the number of errors
+        self.errors = self.logRegressionLayer.errors
+
+        # the parameters of the model are the parameters of the two layer it is
+        # made out of
+        self.params = self.hiddenLayer.params + self.logRegressionLayer.params
+        # end-snippet-3
+
+        # keep track of model input
+        self.input = input
+
+
+def test_mlp(learning_rate=0.01, L1_reg=0.00, L2_reg=0.0001, n_epochs=1000,
+             dataset='mnist.pkl.gz', batch_size=20, n_hidden=500):
+    """
+    Demonstrate stochastic gradient descent optimization for a multilayer
+    perceptron
+
+    This is demonstrated on MNIST.
+
+    :type learning_rate: float
+    :param learning_rate: learning rate used (factor for the stochastic
+    gradient
+
+    :type L1_reg: float
+    :param L1_reg: L1-norm's weight when added to the cost (see
+    regularization)
+
+    :type L2_reg: float
+    :param L2_reg: L2-norm's weight when added to the cost (see
+    regularization)
+
+    :type n_epochs: int
+    :param n_epochs: maximal number of epochs to run the optimizer
+
+    :type dataset: string
+    :param dataset: the path of the MNIST dataset file from
+                 http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz
+
+
+   """
+    datasets = load_data(dataset)
+
+    train_set_x, train_set_y = datasets[0]
+    valid_set_x, valid_set_y = datasets[1]
+    test_set_x, test_set_y = datasets[2]
+
+    # compute number of minibatches for training, validation and testing
+    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0] / batch_size
+    n_test_batches = test_set_x.get_value(borrow=True).shape[0] / batch_size
+
+    ######################
+    # BUILD ACTUAL MODEL #
+    ######################
+    print '... building the model'
+
+    # allocate symbolic variables for the data
+    index = T.lscalar()  # index to a [mini]batch
+    x = T.matrix('x')  # the data is presented as rasterized images
+    y = T.ivector('y')  # the labels are presented as 1D vector of
+                        # [int] labels
+
+    rng = numpy.random.RandomState(1234)
+
+    # construct the MLP class
+    classifier = MLP(
+        rng=rng,
+        input=x,
+        n_in=28 * 28,
+        n_hidden=n_hidden,
+        n_out=10
+    )
+
+    # start-snippet-4
+    # the cost we minimize during training is the negative log likelihood of
+    # the model plus the regularization terms (L1 and L2); cost is expressed
+    # here symbolically
+    cost = (
+        classifier.negative_log_likelihood(y)
+        + L1_reg * classifier.L1
+        + L2_reg * classifier.L2_sqr
+    )
+    # end-snippet-4
+
+    # compiling a Theano function that computes the mistakes that are made
+    # by the model on a minibatch
+    test_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: test_set_x[index * batch_size:(index + 1) * batch_size],
+            y: test_set_y[index * batch_size:(index + 1) * batch_size]
+        }
+    )
+
+    validate_model = theano.function(
+        inputs=[index],
+        outputs=classifier.errors(y),
+        givens={
+            x: valid_set_x[index * batch_size:(index + 1) * batch_size],
+            y: valid_set_y[index * batch_size:(index + 1) * batch_size]
+        }
+    )
+
+    # start-snippet-5
+    # compute the gradient of cost with respect to theta (sotred in params)
+    # the resulting gradients will be stored in a list gparams
+    gparams = [T.grad(cost, param) for param in classifier.params]
+
+    # specify how to update the parameters of the model as a list of
+    # (variable, update expression) pairs
+
+    # given two lists of the same length, A = [a1, a2, a3, a4] and
+    # B = [b1, b2, b3, b4], zip generates a list C of same size, where each
+    # element is a pair formed from the two lists :
+    #    C = [(a1, b1), (a2, b2), (a3, b3), (a4, b4)]
+    updates = [
+        (param, param - learning_rate * gparam)
+        for param, gparam in zip(classifier.params, gparams)
+    ]
+
+    # compiling a Theano function `train_model` that returns the cost, but
+    # in the same time updates the parameter of the model based on the rules
+    # defined in `updates`
+    train_model = theano.function(
+        inputs=[index],
+        outputs=cost,
+        updates=updates,
+        givens={
+            x: train_set_x[index * batch_size: (index + 1) * batch_size],
+            y: train_set_y[index * batch_size: (index + 1) * batch_size]
+        }
+    )
+    # end-snippet-5
+
+    ###############
+    # TRAIN MODEL #
+    ###############
+    print '... training'
+
+    # early-stopping parameters
+    patience = 10000  # look as this many examples regardless
+    patience_increase = 2  # wait this much longer when a new best is
+                           # found
+    improvement_threshold = 0.995  # a relative improvement of this much is
+                                   # considered significant
+    validation_frequency = min(n_train_batches, patience / 2)
+                                  # go through this many
+                                  # minibatche before checking the network
+                                  # on the validation set; in this case we
+                                  # check every epoch
+
+    best_validation_loss = numpy.inf
+    best_iter = 0
+    test_score = 0.
+    start_time = timeit.default_timer()
+
+    epoch = 0
+    done_looping = False
+
+    while (epoch < n_epochs) and (not done_looping):
+        epoch = epoch + 1
+        for minibatch_index in xrange(n_train_batches):
+
+            minibatch_avg_cost = train_model(minibatch_index)
+            # iteration number
+            iter = (epoch - 1) * n_train_batches + minibatch_index
+
+            if (iter + 1) % validation_frequency == 0:
+                # compute zero-one loss on validation set
+                validation_losses = [validate_model(i) for i
+                                     in xrange(n_valid_batches)]
+                this_validation_loss = numpy.mean(validation_losses)
+
+                print(
+                    'epoch %i, minibatch %i/%i, validation error %f %%' %
+                    (
+                        epoch,
+                        minibatch_index + 1,
+                        n_train_batches,
+                        this_validation_loss * 100.
+                    )
+                )
+
+                # if we got the best validation score until now
+                if this_validation_loss < best_validation_loss:
+                    #improve patience if loss improvement is good enough
+                    if (
+                        this_validation_loss < best_validation_loss *
+                        improvement_threshold
+                    ):
+                        patience = max(patience, iter * patience_increase)
+
+                    best_validation_loss = this_validation_loss
+                    best_iter = iter
+
+                    # test it on the test set
+                    test_losses = [test_model(i) for i
+                                   in xrange(n_test_batches)]
+                    test_score = numpy.mean(test_losses)
+
+                    print(('     epoch %i, minibatch %i/%i, test error of '
+                           'best model %f %%') %
+                          (epoch, minibatch_index + 1, n_train_batches,
+                           test_score * 100.))
+
+            if patience <= iter:
+                done_looping = True
+                break
+
+    end_time = timeit.default_timer()
+    print(('Optimization complete. Best validation score of %f %% '
+           'obtained at iteration %i, with test performance %f %%') %
+          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
+    print >> sys.stderr, ('The code for file ' +
+                          os.path.split(__file__)[1] +
+                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
+
+
+if __name__ == '__main__':
+    test_mlp()
+
+# Rectifier Linear Unit
+#Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
+def relu(x):
+    return T.maximum(0.,x)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/genre_classification/learning/preprocess_spectrograms_gtzan.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,83 @@
+# -*- coding: utf-8 -*-
+"""
+Created on Thu Jul 23 21:55:58 2015
+
+@author: paulochiliguano
+"""
+
+
+import tables
+import numpy as np
+import cPickle
+import sklearn.preprocessing as preprocessing
+
+#Read HDF5 file that contains log-mel spectrograms
+filename = '/homes/pchilguano/msc_project/dataset/gtzan/features/\
+feats_3sec_9.h5'
+with tables.openFile(filename, 'r') as f:
+    features = f.root.x.read()
+    #filenames = f.root.filenames.read()
+
+#Pre-processing of spectrograms mean=0 and std=1
+#initial_shape = features.shape[1:]
+n_per_example = np.prod(features.shape[1:-1])
+number_of_features = features.shape[-1]
+flat_data = features.view()
+flat_data.shape = (-1, number_of_features)
+scaler = preprocessing.StandardScaler().fit(flat_data)
+flat_data = scaler.transform(flat_data)
+flat_data.shape = (features.shape[0], -1)
+#flat_targets = filenames.repeat(n_per_example)
+#genre = np.asarray([line.strip().split('\t')[1] for line in open(filename,'r').readlines()])
+
+#Read labels from ground truth
+filename = '/homes/pchilguano/msc_project/dataset/gtzan/lists/ground_truth.txt'
+with open(filename, 'r') as f:
+    tag_set = set()
+    for line in f:
+        tag = line.strip().split('\t')[1]
+        tag_set.add(tag)
+
+#Assign label to a discrete number
+tag_dict = dict([(item, index) for index, item in enumerate(sorted(tag_set))])
+with open(filename, 'r') as f:
+    target = np.asarray([], dtype='int32')
+    mp3_dict = {}
+    for line in f:
+        tag = line.strip().split('\t')[1]
+        target = np.append(target, tag_dict[tag])
+
+train_input, valid_input, test_input = np.array_split(
+    flat_data,
+    [flat_data.shape[0]*1/2,
+    flat_data.shape[0]*3/4]
+)
+train_target, valid_target, test_target = np.array_split(
+    target,
+    [target.shape[0]*1/2,
+    target.shape[0]*3/4]
+)
+
+f = file('/homes/pchilguano/msc_project/dataset/gtzan/features/\
+gtzan_3sec_9.pkl', 'wb')
+cPickle.dump(
+    (
+        (train_input, train_target),
+        (valid_input, valid_target),
+        (test_input, test_target)
+    ),
+    f,
+    protocol=cPickle.HIGHEST_PROTOCOL
+)
+f.close()
+
+'''
+flat_target = target.repeat(n_per_example)
+
+train_input, valid_input, test_input = np.array_split(flat_data, [flat_data.shape[0]*4/5, flat_data.shape[0]*9/10])
+train_target, valid_target, test_target = np.array_split(flat_target, [flat_target.shape[0]*4/5, flat_target.shape[0]*9/10])
+
+f = file('/homes/pchilguano/deep_learning/gtzan_logistic.pkl', 'wb')
+cPickle.dump(((train_input, train_target), (valid_input, valid_target), (test_input, test_target)), f, protocol=cPickle.HIGHEST_PROTOCOL)
+f.close()
+'''
--- a/Code/logistic_sgd.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,480 +0,0 @@
-"""
-This tutorial introduces logistic regression using Theano and stochastic
-gradient descent.
-
-Logistic regression is a probabilistic, linear classifier. It is parametrized
-by a weight matrix :math:`W` and a bias vector :math:`b`. Classification is
-done by projecting data points onto a set of hyperplanes, the distance to
-which is used to determine a class membership probability.
-
-Mathematically, this can be written as:
-
-.. math::
-  P(Y=i|x, W,b) &= softmax_i(W x + b) \\
-                &= \frac {e^{W_i x + b_i}} {\sum_j e^{W_j x + b_j}}
-
-
-The output of the model or prediction is then done by taking the argmax of
-the vector whose i'th element is P(Y=i|x).
-
-.. math::
-
-  y_{pred} = argmax_i P(Y=i|x,W,b)
-
-
-This tutorial presents a stochastic gradient descent optimization method
-suitable for large datasets.
-
-
-References:
-
-    - textbooks: "Pattern Recognition and Machine Learning" -
-                 Christopher M. Bishop, section 4.3.2
-
-"""
-__docformat__ = 'restructedtext en'
-
-import cPickle
-import gzip
-import os
-import sys
-import timeit
-
-import numpy
-
-import theano
-import theano.tensor as T
-
-
-class LogisticRegression(object):
-    """Multi-class Logistic Regression Class
-
-    The logistic regression is fully described by a weight matrix :math:`W`
-    and bias vector :math:`b`. Classification is done by projecting data
-    points onto a set of hyperplanes, the distance to which is used to
-    determine a class membership probability.
-    """
-
-    def __init__(self, input, n_in, n_out):
-        """ Initialize the parameters of the logistic regression
-
-        :type input: theano.tensor.TensorType
-        :param input: symbolic variable that describes the input of the
-                      architecture (one minibatch)
-
-        :type n_in: int
-        :param n_in: number of input units, the dimension of the space in
-                     which the datapoints lie
-
-        :type n_out: int
-        :param n_out: number of output units, the dimension of the space in
-                      which the labels lie
-
-        """
-        # start-snippet-1
-        # initialize with 0 the weights W as a matrix of shape (n_in, n_out)
-        self.W = theano.shared(
-            value=numpy.zeros(
-                (n_in, n_out),
-                dtype=theano.config.floatX
-            ),
-            name='W',
-            borrow=True
-        )
-        # initialize the baises b as a vector of n_out 0s
-        self.b = theano.shared(
-            value=numpy.zeros(
-                (n_out,),
-                dtype=theano.config.floatX
-            ),
-            name='b',
-            borrow=True
-        )
-
-        # symbolic expression for computing the matrix of class-membership
-        # probabilities
-        # Where:
-        # W is a matrix where column-k represent the separation hyperplane for
-        # class-k
-        # x is a matrix where row-j  represents input training sample-j
-        # b is a vector where element-k represent the free parameter of
-        # hyperplane-k
-        self.p_y_given_x = T.nnet.softmax(T.dot(input, self.W) + self.b)
-        #self.p_y_given_x = relu(T.dot(input, self.W) + self.b)
-
-        # symbolic description of how to compute prediction as class whose
-        # probability is maximal
-        self.y_pred = T.argmax(self.p_y_given_x, axis=1)
-        # end-snippet-1
-
-        # parameters of the model
-        self.params = [self.W, self.b]
-
-        # keep track of model input
-        self.input = input
-
-    def negative_log_likelihood(self, y):
-        """Return the mean of the negative log-likelihood of the prediction
-        of this model under a given target distribution.
-
-        .. math::
-
-            \frac{1}{|\mathcal{D}|} \mathcal{L} (\theta=\{W,b\}, \mathcal{D}) =
-            \frac{1}{|\mathcal{D}|} \sum_{i=0}^{|\mathcal{D}|}
-                \log(P(Y=y^{(i)}|x^{(i)}, W,b)) \\
-            \ell (\theta=\{W,b\}, \mathcal{D})
-
-        :type y: theano.tensor.TensorType
-        :param y: corresponds to a vector that gives for each example the
-                  correct label
-
-        Note: we use the mean instead of the sum so that
-              the learning rate is less dependent on the batch size
-        """
-        # start-snippet-2
-        # y.shape[0] is (symbolically) the number of rows in y, i.e.,
-        # number of examples (call it n) in the minibatch
-        # T.arange(y.shape[0]) is a symbolic vector which will contain
-        # [0,1,2,... n-1] T.log(self.p_y_given_x) is a matrix of
-        # Log-Probabilities (call it LP) with one row per example and
-        # one column per class LP[T.arange(y.shape[0]),y] is a vector
-        # v containing [LP[0,y[0]], LP[1,y[1]], LP[2,y[2]], ...,
-        # LP[n-1,y[n-1]]] and T.mean(LP[T.arange(y.shape[0]),y]) is
-        # the mean (across minibatch examples) of the elements in v,
-        # i.e., the mean log-likelihood across the minibatch.
-        return -T.mean(T.log(self.p_y_given_x)[T.arange(y.shape[0]), y])
-        # end-snippet-2
-
-    def errors(self, y):
-        """Return a float representing the number of errors in the minibatch
-        over the total number of examples of the minibatch ; zero one
-        loss over the size of the minibatch
-
-        :type y: theano.tensor.TensorType
-        :param y: corresponds to a vector that gives for each example the
-                  correct label
-        """
-
-        # check if y has same dimension of y_pred
-        if y.ndim != self.y_pred.ndim:
-            raise TypeError(
-                'y should have the same shape as self.y_pred',
-                ('y', y.type, 'y_pred', self.y_pred.type)
-            )
-        # check if y is of the correct datatype
-        if y.dtype.startswith('int'):
-            # the T.neq operator returns a vector of 0s and 1s, where 1
-            # represents a mistake in prediction
-            return T.mean(T.neq(self.y_pred, y))
-        else:
-            raise NotImplementedError()
-
-
-def load_data(dataset):
-    ''' Loads the dataset
-
-    :type dataset: string
-    :param dataset: the path to the dataset (here MNIST)
-    '''
-
-    #############
-    # LOAD DATA #
-    #############
-
-    # Download the MNIST dataset if it is not present
-    '''data_dir, data_file = os.path.split(dataset)
-    if data_dir == "" and not os.path.isfile(dataset):
-        # Check if dataset is in the data directory.
-        new_path = os.path.join(
-            os.path.split(__file__)[0],
-            "..",
-            "data",
-            dataset
-        )
-        if os.path.isfile(new_path) or data_file == 'mnist.pkl.gz':
-            dataset = new_path
-
-    if (not os.path.isfile(dataset)) and data_file == 'mnist.pkl.gz':
-        import urllib
-        origin = (
-            'http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz'
-        )
-        print 'Downloading data from %s' % origin
-        urllib.urlretrieve(origin, dataset)
-
-    print '... loading data'
-    
-    # Load the dataset
-    f = gzip.open(dataset, 'rb')
-    train_set, valid_set, test_set = cPickle.load(f)
-    f.close()'''
-    f = file('/homes/pchilguano/deep_learning/features/gtzan_3sec_1.pkl', 'rb')
-    train_set, valid_set, test_set = cPickle.load(f)
-    f.close()
-    #train_set, valid_set, test_set format: tuple(input, target)
-    #input is an numpy.ndarray of 2 dimensions (a matrix)
-    #witch row's correspond to an example. target is a
-    #numpy.ndarray of 1 dimensions (vector)) that have the same length as
-    #the number of rows in the input. It should give the target
-    #target to the example with the same index in the input.
-
-    def shared_dataset(data_xy, borrow=True):
-        """ Function that loads the dataset into shared variables
-
-        The reason we store our dataset in shared variables is to allow
-        Theano to copy it into the GPU memory (when code is run on GPU).
-        Since copying data into the GPU is slow, copying a minibatch everytime
-        is needed (the default behaviour if the data is not in a shared
-        variable) would lead to a large decrease in performance.
-        """
-        data_x, data_y = data_xy
-        shared_x = theano.shared(numpy.asarray(data_x,
-                                               dtype=theano.config.floatX),
-                                 borrow=borrow)
-        shared_y = theano.shared(numpy.asarray(data_y,
-                                               dtype=theano.config.floatX),
-                                 borrow=borrow)
-        # When storing data on the GPU it has to be stored as floats
-        # therefore we will store the labels as ``floatX`` as well
-        # (``shared_y`` does exactly that). But during our computations
-        # we need them as ints (we use labels as index, and if they are
-        # floats it doesn't make sense) therefore instead of returning
-        # ``shared_y`` we will have to cast it to int. This little hack
-        # lets ous get around this issue
-        return shared_x, T.cast(shared_y, 'int32')
-
-    test_set_x, test_set_y = shared_dataset(test_set)
-    valid_set_x, valid_set_y = shared_dataset(valid_set)
-    train_set_x, train_set_y = shared_dataset(train_set)
-
-    rval = [(train_set_x, train_set_y), (valid_set_x, valid_set_y),
-            (test_set_x, test_set_y)]
-    return rval
-
-
-def sgd_optimization_mnist(learning_rate=0.13, n_epochs=1000,
-                           dataset='mnist.pkl.gz',
-                           batch_size=600):
-    """
-    Demonstrate stochastic gradient descent optimization of a log-linear
-    model
-
-    This is demonstrated on MNIST.
-
-    :type learning_rate: float
-    :param learning_rate: learning rate used (factor for the stochastic
-                          gradient)
-
-    :type n_epochs: int
-    :param n_epochs: maximal number of epochs to run the optimizer
-
-    :type dataset: string
-    :param dataset: the path of the MNIST dataset file from
-                 http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz
-
-    """
-    datasets = load_data(dataset)
-
-    train_set_x, train_set_y = datasets[0]
-    valid_set_x, valid_set_y = datasets[1]
-    test_set_x, test_set_y = datasets[2]
-
-    # compute number of minibatches for training, validation and testing
-    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size
-    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0] / batch_size
-    n_test_batches = test_set_x.get_value(borrow=True).shape[0] / batch_size
-
-    ######################
-    # BUILD ACTUAL MODEL #
-    ######################
-    print '... building the model'
-
-    # allocate symbolic variables for the data
-    index = T.lscalar()  # index to a [mini]batch
-
-    # generate symbolic variables for input (x and y represent a
-    # minibatch)
-    x = T.matrix('x')  # data, presented as rasterized images
-    y = T.ivector('y')  # labels, presented as 1D vector of [int] labels
-
-    # construct the logistic regression class
-    # Each MNIST image has size 28*28
-    classifier = LogisticRegression(input=x, n_in=28 * 28, n_out=10)
-
-    # the cost we minimize during training is the negative log likelihood of
-    # the model in symbolic format
-    cost = classifier.negative_log_likelihood(y)
-
-    # compiling a Theano function that computes the mistakes that are made by
-    # the model on a minibatch
-    test_model = theano.function(
-        inputs=[index],
-        outputs=classifier.errors(y),
-        givens={
-            x: test_set_x[index * batch_size: (index + 1) * batch_size],
-            y: test_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-
-    validate_model = theano.function(
-        inputs=[index],
-        outputs=classifier.errors(y),
-        givens={
-            x: valid_set_x[index * batch_size: (index + 1) * batch_size],
-            y: valid_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-
-    # compute the gradient of cost with respect to theta = (W,b)
-    g_W = T.grad(cost=cost, wrt=classifier.W)
-    g_b = T.grad(cost=cost, wrt=classifier.b)
-
-    # start-snippet-3
-    # specify how to update the parameters of the model as a list of
-    # (variable, update expression) pairs.
-    updates = [(classifier.W, classifier.W - learning_rate * g_W),
-               (classifier.b, classifier.b - learning_rate * g_b)]
-
-    # compiling a Theano function `train_model` that returns the cost, but in
-    # the same time updates the parameter of the model based on the rules
-    # defined in `updates`
-    train_model = theano.function(
-        inputs=[index],
-        outputs=cost,
-        updates=updates,
-        givens={
-            x: train_set_x[index * batch_size: (index + 1) * batch_size],
-            y: train_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-    # end-snippet-3
-
-    ###############
-    # TRAIN MODEL #
-    ###############
-    print '... training the model'
-    # early-stopping parameters
-    patience = 5000  # look as this many examples regardless
-    patience_increase = 2  # wait this much longer when a new best is
-                                  # found
-    improvement_threshold = 0.995  # a relative improvement of this much is
-                                  # considered significant
-    validation_frequency = min(n_train_batches, patience / 2)
-                                  # go through this many
-                                  # minibatche before checking the network
-                                  # on the validation set; in this case we
-                                  # check every epoch
-
-    best_validation_loss = numpy.inf
-    test_score = 0.
-    start_time = timeit.default_timer()
-
-    done_looping = False
-    epoch = 0
-    while (epoch < n_epochs) and (not done_looping):
-        epoch = epoch + 1
-        for minibatch_index in xrange(n_train_batches):
-
-            minibatch_avg_cost = train_model(minibatch_index)
-            # iteration number
-            iter = (epoch - 1) * n_train_batches + minibatch_index
-
-            if (iter + 1) % validation_frequency == 0:
-                # compute zero-one loss on validation set
-                validation_losses = [validate_model(i)
-                                     for i in xrange(n_valid_batches)]
-                this_validation_loss = numpy.mean(validation_losses)
-
-                print(
-                    'epoch %i, minibatch %i/%i, validation error %f %%' %
-                    (
-                        epoch,
-                        minibatch_index + 1,
-                        n_train_batches,
-                        this_validation_loss * 100.
-                    )
-                )
-
-                # if we got the best validation score until now
-                if this_validation_loss < best_validation_loss:
-                    #improve patience if loss improvement is good enough
-                    if this_validation_loss < best_validation_loss *  \
-                       improvement_threshold:
-                        patience = max(patience, iter * patience_increase)
-
-                    best_validation_loss = this_validation_loss
-                    # test it on the test set
-
-                    test_losses = [test_model(i)
-                                   for i in xrange(n_test_batches)]
-                    test_score = numpy.mean(test_losses)
-
-                    print(
-                        (
-                            '     epoch %i, minibatch %i/%i, test error of'
-                            ' best model %f %%'
-                        ) %
-                        (
-                            epoch,
-                            minibatch_index + 1,
-                            n_train_batches,
-                            test_score * 100.
-                        )
-                    )
-
-                    # save the best model
-                    with open('best_model.pkl', 'w') as f:
-                        cPickle.dump(classifier, f)
-
-            if patience <= iter:
-                done_looping = True
-                break
-
-    end_time = timeit.default_timer()
-    print(
-        (
-            'Optimization complete with best validation score of %f %%,'
-            'with test performance %f %%'
-        )
-        % (best_validation_loss * 100., test_score * 100.)
-    )
-    print 'The code run for %d epochs, with %f epochs/sec' % (
-        epoch, 1. * epoch / (end_time - start_time))
-    print >> sys.stderr, ('The code for file ' +
-                          os.path.split(__file__)[1] +
-                          ' ran for %.1fs' % ((end_time - start_time)))
-
-
-def predict():
-    """
-    An example of how to load a trained model and use it
-    to predict labels.
-    """
-
-    # load the saved model
-    classifier = cPickle.load(open('best_model.pkl'))
-
-    # compile a predictor function
-    predict_model = theano.function(
-        inputs=[classifier.input],
-        outputs=classifier.y_pred)
-
-    # We can test it on some examples from test test
-    dataset='mnist.pkl.gz'
-    datasets = load_data(dataset)
-    test_set_x, test_set_y = datasets[2]
-    test_set_x = test_set_x.get_value()
-
-    predicted_values = predict_model(test_set_x[:10])
-    print ("Predicted values for the first 10 examples in test set:")
-    print predicted_values
-
-
-if __name__ == '__main__':
-    sgd_optimization_mnist()
-
-
-# Rectifier Linear Unit
-#Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
-def relu(x):
-    return T.maximum(0.,x)
--- a/Code/make_lists.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-
-import numpy
-import numpy.random as random
-import os
-import pickle
-import sys
-import utils as U
-#import pdb
-
-
-def read_file(filename):
-    """
-    Loads a file into a list
-    """
-    file_list=[l.strip() for l in open(filename,'r').readlines()]
-    return file_list
-
-def get_folds(filelist, n_folds):
-    n_per_fold = len(filelist) / n_folds
-    folds = []
-    for i in range(n_folds-1):
-        folds.append(filelist[i * n_per_fold: (i + 1) * n_per_fold])
-    i = n_folds - 1
-    folds.append(filelist[i * n_per_fold:])
-    return folds
-
-def generate_mirex_list(train_list, annotations):
-    out_list = []
-    for song in train_list:
-        annot = annotations.get(song,None)
-        if annot is None:
-            print 'No annotations for song %s' % song
-            continue
-        assert(type('') == type(annot))
-        out_list.append('%s\t%s\n' % (song,annot))
-
-    return out_list
-            
-
-def make_file_list(gtzan_path, n_folds=5,):
-    """
-    Generates lists
-    """
-    audio_path = os.path.join(gtzan_path,'audio')
-    out_path = os.path.join(gtzan_path,'lists')
-    files_list = []
-    for ext in ['.au', '.mp3', '.wav']:
-        files = U.getFiles(audio_path, ext)
-        files_list.extend(files)
-    random.shuffle(files_list)
-    
-    if not os.path.exists(out_path):
-        os.makedirs(out_path)
-    
-    audio_list_path = os.path.join(out_path, 'audio_files.txt')
-    open(audio_list_path,'w').writelines(['%s\n' % f for f in files_list])
-    
-    annotations = get_annotations(files_list)
-
-    ground_truth_path = os.path.join(out_path, 'ground_truth.txt')
-    open(ground_truth_path,'w').writelines(generate_mirex_list(files_list, annotations))
-    generate_ground_truth_pickle(ground_truth_path)
-
-    folds = get_folds(files_list, n_folds=n_folds)
-    
-    ### Single fold for quick experiments
-    create_fold(0, 1, folds, annotations, out_path)
-    
-    for n in range(n_folds):
-        create_fold(n, n_folds, folds, annotations, out_path)
-
-
-def create_fold(n, n_folds, folds, annotations, out_path):
-    train_path = os.path.join(out_path, 'train_%i_of_%i.txt' % (n+1, n_folds))
-    valid_path = os.path.join(out_path, 'valid_%i_of_%i.txt' % (n+1, n_folds))
-    test_path = os.path.join(out_path, 'test_%i_of_%i.txt' % (n+1, n_folds))
-    
-    test_list = folds[n]
-    train_list = []
-    for m in range(len(folds)):
-        if m != n:
-            train_list.extend(folds[m])
-    
-    open(train_path,'w').writelines(generate_mirex_list(train_list, annotations))
-    open(test_path,'w').writelines(generate_mirex_list(test_list, annotations))
-    split_list_file(train_path, train_path, valid_path, ratio=0.8)
-    
-def split_list_file(input_file, out_file1, out_file2, ratio=0.8):
-    input_list = open(input_file,'r').readlines()
-    
-    n = len(input_list)
-    nsplit = int(n *ratio)
-    
-    list1 = input_list[:nsplit]
-    list2 = input_list[nsplit:]
-    
-    open(out_file1, 'w').writelines(list1)
-    open(out_file2, 'w').writelines(list2)
-
-
-def get_annotation(filename):
-    genre = os.path.split(U.parseFile(filename)[0])[-1]
-    return genre
-
-def get_annotations(files_list):
-    annotations = {}
-    for filename in files_list:
-        annotations[filename] = get_annotation(filename)
-
-    return annotations
-
-def generate_ground_truth_pickle(gt_file):
-    gt_path,_ = os.path.split(gt_file)
-    tag_file = os.path.join(gt_path,'tags.txt')
-    gt_pickle = os.path.join(gt_path,'ground_truth.pickle')
-    
-    lines = open(gt_file,'r').readlines()
-    
-    tag_set = set()
-    for line in lines:
-        filename,tag = line.strip().split('\t')
-        tag_set.add(tag)
-    tag_list = sorted(list(tag_set))
-    open(tag_file,'w').writelines('\n'.join(tag_list + ['']))
-    
-    tag_dict = dict([(tag,i) for i,tag in enumerate(tag_list)])        
-    n_tags = len(tag_dict)
-
-    mp3_dict = {}
-    for line in lines:
-        filename,tag = line.strip().split('\t')
-        tag_vector = mp3_dict.get(filename,numpy.zeros(n_tags))
-        if tag != '':
-            tag_vector[tag_dict[tag]] = 1.
-        mp3_dict[filename] = tag_vector
-    pickle.dump(mp3_dict,open(gt_pickle,'w'))
-
-if __name__ == '__main__':
-    if len(sys.argv) < 2:
-        print 'Usage: python %s gtzan_path [n_folds=10]' % sys.argv[0]
-        sys.exit()
-    
-    gtzan_path = os.path.abspath(sys.argv[1])
-    if len(sys.argv) > 2:
-        n_folds = int(sys.argv[2])
-    else:
-        n_folds = 10
-        
-    make_file_list(gtzan_path, n_folds)
\ No newline at end of file
--- a/Code/mlp.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,412 +0,0 @@
-"""
-This tutorial introduces the multilayer perceptron using Theano.
-
- A multilayer perceptron is a logistic regressor where
-instead of feeding the input to the logistic regression you insert a
-intermediate layer, called the hidden layer, that has a nonlinear
-activation function (usually tanh or sigmoid) . One can use many such
-hidden layers making the architecture deep. The tutorial will also tackle
-the problem of MNIST digit classification.
-
-.. math::
-
-    f(x) = G( b^{(2)} + W^{(2)}( s( b^{(1)} + W^{(1)} x))),
-
-References:
-
-    - textbooks: "Pattern Recognition and Machine Learning" -
-                 Christopher M. Bishop, section 5
-
-"""
-__docformat__ = 'restructedtext en'
-
-
-import os
-import sys
-import timeit
-
-import numpy
-
-import theano
-import theano.tensor as T
-
-
-from logistic_sgd import LogisticRegression, load_data
-
-
-# start-snippet-1
-class HiddenLayer(object):
-    def __init__(self, rng, input, n_in, n_out, W=None, b=None,
-                 activation=T.tanh):
-        """
-        Typical hidden layer of a MLP: units are fully-connected and have
-        sigmoidal activation function. Weight matrix W is of shape (n_in,n_out)
-        and the bias vector b is of shape (n_out,).
-
-        NOTE : The nonlinearity used here is tanh
-
-        Hidden unit activation is given by: tanh(dot(input,W) + b)
-
-        :type rng: numpy.random.RandomState
-        :param rng: a random number generator used to initialize weights
-
-        :type input: theano.tensor.dmatrix
-        :param input: a symbolic tensor of shape (n_examples, n_in)
-
-        :type n_in: int
-        :param n_in: dimensionality of input
-
-        :type n_out: int
-        :param n_out: number of hidden units
-
-        :type activation: theano.Op or function
-        :param activation: Non linearity to be applied in the hidden
-                           layer
-        """
-        self.input = input
-        # end-snippet-1
-
-        # `W` is initialized with `W_values` which is uniformely sampled
-        # from sqrt(-6./(n_in+n_hidden)) and sqrt(6./(n_in+n_hidden))
-        # for tanh activation function
-        # the output of uniform if converted using asarray to dtype
-        # theano.config.floatX so that the code is runable on GPU
-        # Note : optimal initialization of weights is dependent on the
-        #        activation function used (among other things).
-        #        For example, results presented in [Xavier10] suggest that you
-        #        should use 4 times larger initial weights for sigmoid
-        #        compared to tanh
-        #        We have no info for other function, so we use the same as
-        #        tanh.
-        if W is None:
-            W_values = numpy.asarray(
-                rng.uniform(
-                    low=-numpy.sqrt(6. / (n_in + n_out)),
-                    high=numpy.sqrt(6. / (n_in + n_out)),
-                    size=(n_in, n_out)
-                ),
-                dtype=theano.config.floatX
-            )
-            if activation == theano.tensor.nnet.sigmoid:
-                W_values *= 4
-
-            W = theano.shared(value=W_values, name='W', borrow=True)
-
-        if b is None:
-            b_values = numpy.zeros((n_out,), dtype=theano.config.floatX)
-            b = theano.shared(value=b_values, name='b', borrow=True)
-
-        self.W = W
-        self.b = b
-
-        lin_output = T.dot(input, self.W) + self.b
-        self.output = (
-            lin_output if activation is None
-            else activation(lin_output)
-        )
-        # parameters of the model
-        self.params = [self.W, self.b]
-
-
-# start-snippet-2
-class MLP(object):
-    """Multi-Layer Perceptron Class
-
-    A multilayer perceptron is a feedforward artificial neural network model
-    that has one layer or more of hidden units and nonlinear activations.
-    Intermediate layers usually have as activation function tanh or the
-    sigmoid function (defined here by a ``HiddenLayer`` class)  while the
-    top layer is a softmax layer (defined here by a ``LogisticRegression``
-    class).
-    """
-
-    def __init__(self, rng, input, n_in, n_hidden, n_out):
-        """Initialize the parameters for the multilayer perceptron
-
-        :type rng: numpy.random.RandomState
-        :param rng: a random number generator used to initialize weights
-
-        :type input: theano.tensor.TensorType
-        :param input: symbolic variable that describes the input of the
-        architecture (one minibatch)
-
-        :type n_in: int
-        :param n_in: number of input units, the dimension of the space in
-        which the datapoints lie
-
-        :type n_hidden: int
-        :param n_hidden: number of hidden units
-
-        :type n_out: int
-        :param n_out: number of output units, the dimension of the space in
-        which the labels lie
-
-        """
-
-        # Since we are dealing with a one hidden layer MLP, this will translate
-        # into a HiddenLayer with a tanh activation function connected to the
-        # LogisticRegression layer; the activation function can be replaced by
-        # sigmoid or any other nonlinear function
-        self.hiddenLayer = HiddenLayer(
-            rng=rng,
-            input=input,
-            n_in=n_in,
-            n_out=n_hidden,
-            activation=T.tanh
-        )
-
-        # The logistic regression layer gets as input the hidden units
-        # of the hidden layer
-        self.logRegressionLayer = LogisticRegression(
-            input=self.hiddenLayer.output,
-            n_in=n_hidden,
-            n_out=n_out
-        )
-        # end-snippet-2 start-snippet-3
-        # L1 norm ; one regularization option is to enforce L1 norm to
-        # be small
-        self.L1 = (
-            abs(self.hiddenLayer.W).sum()
-            + abs(self.logRegressionLayer.W).sum()
-        )
-
-        # square of L2 norm ; one regularization option is to enforce
-        # square of L2 norm to be small
-        self.L2_sqr = (
-            (self.hiddenLayer.W ** 2).sum()
-            + (self.logRegressionLayer.W ** 2).sum()
-        )
-
-        # negative log likelihood of the MLP is given by the negative
-        # log likelihood of the output of the model, computed in the
-        # logistic regression layer
-        self.negative_log_likelihood = (
-            self.logRegressionLayer.negative_log_likelihood
-        )
-        # same holds for the function computing the number of errors
-        self.errors = self.logRegressionLayer.errors
-
-        # the parameters of the model are the parameters of the two layer it is
-        # made out of
-        self.params = self.hiddenLayer.params + self.logRegressionLayer.params
-        # end-snippet-3
-
-        # keep track of model input
-        self.input = input
-
-
-def test_mlp(learning_rate=0.01, L1_reg=0.00, L2_reg=0.0001, n_epochs=1000,
-             dataset='mnist.pkl.gz', batch_size=20, n_hidden=500):
-    """
-    Demonstrate stochastic gradient descent optimization for a multilayer
-    perceptron
-
-    This is demonstrated on MNIST.
-
-    :type learning_rate: float
-    :param learning_rate: learning rate used (factor for the stochastic
-    gradient
-
-    :type L1_reg: float
-    :param L1_reg: L1-norm's weight when added to the cost (see
-    regularization)
-
-    :type L2_reg: float
-    :param L2_reg: L2-norm's weight when added to the cost (see
-    regularization)
-
-    :type n_epochs: int
-    :param n_epochs: maximal number of epochs to run the optimizer
-
-    :type dataset: string
-    :param dataset: the path of the MNIST dataset file from
-                 http://www.iro.umontreal.ca/~lisa/deep/data/mnist/mnist.pkl.gz
-
-
-   """
-    datasets = load_data(dataset)
-
-    train_set_x, train_set_y = datasets[0]
-    valid_set_x, valid_set_y = datasets[1]
-    test_set_x, test_set_y = datasets[2]
-
-    # compute number of minibatches for training, validation and testing
-    n_train_batches = train_set_x.get_value(borrow=True).shape[0] / batch_size
-    n_valid_batches = valid_set_x.get_value(borrow=True).shape[0] / batch_size
-    n_test_batches = test_set_x.get_value(borrow=True).shape[0] / batch_size
-
-    ######################
-    # BUILD ACTUAL MODEL #
-    ######################
-    print '... building the model'
-
-    # allocate symbolic variables for the data
-    index = T.lscalar()  # index to a [mini]batch
-    x = T.matrix('x')  # the data is presented as rasterized images
-    y = T.ivector('y')  # the labels are presented as 1D vector of
-                        # [int] labels
-
-    rng = numpy.random.RandomState(1234)
-
-    # construct the MLP class
-    classifier = MLP(
-        rng=rng,
-        input=x,
-        n_in=28 * 28,
-        n_hidden=n_hidden,
-        n_out=10
-    )
-
-    # start-snippet-4
-    # the cost we minimize during training is the negative log likelihood of
-    # the model plus the regularization terms (L1 and L2); cost is expressed
-    # here symbolically
-    cost = (
-        classifier.negative_log_likelihood(y)
-        + L1_reg * classifier.L1
-        + L2_reg * classifier.L2_sqr
-    )
-    # end-snippet-4
-
-    # compiling a Theano function that computes the mistakes that are made
-    # by the model on a minibatch
-    test_model = theano.function(
-        inputs=[index],
-        outputs=classifier.errors(y),
-        givens={
-            x: test_set_x[index * batch_size:(index + 1) * batch_size],
-            y: test_set_y[index * batch_size:(index + 1) * batch_size]
-        }
-    )
-
-    validate_model = theano.function(
-        inputs=[index],
-        outputs=classifier.errors(y),
-        givens={
-            x: valid_set_x[index * batch_size:(index + 1) * batch_size],
-            y: valid_set_y[index * batch_size:(index + 1) * batch_size]
-        }
-    )
-
-    # start-snippet-5
-    # compute the gradient of cost with respect to theta (sotred in params)
-    # the resulting gradients will be stored in a list gparams
-    gparams = [T.grad(cost, param) for param in classifier.params]
-
-    # specify how to update the parameters of the model as a list of
-    # (variable, update expression) pairs
-
-    # given two lists of the same length, A = [a1, a2, a3, a4] and
-    # B = [b1, b2, b3, b4], zip generates a list C of same size, where each
-    # element is a pair formed from the two lists :
-    #    C = [(a1, b1), (a2, b2), (a3, b3), (a4, b4)]
-    updates = [
-        (param, param - learning_rate * gparam)
-        for param, gparam in zip(classifier.params, gparams)
-    ]
-
-    # compiling a Theano function `train_model` that returns the cost, but
-    # in the same time updates the parameter of the model based on the rules
-    # defined in `updates`
-    train_model = theano.function(
-        inputs=[index],
-        outputs=cost,
-        updates=updates,
-        givens={
-            x: train_set_x[index * batch_size: (index + 1) * batch_size],
-            y: train_set_y[index * batch_size: (index + 1) * batch_size]
-        }
-    )
-    # end-snippet-5
-
-    ###############
-    # TRAIN MODEL #
-    ###############
-    print '... training'
-
-    # early-stopping parameters
-    patience = 10000  # look as this many examples regardless
-    patience_increase = 2  # wait this much longer when a new best is
-                           # found
-    improvement_threshold = 0.995  # a relative improvement of this much is
-                                   # considered significant
-    validation_frequency = min(n_train_batches, patience / 2)
-                                  # go through this many
-                                  # minibatche before checking the network
-                                  # on the validation set; in this case we
-                                  # check every epoch
-
-    best_validation_loss = numpy.inf
-    best_iter = 0
-    test_score = 0.
-    start_time = timeit.default_timer()
-
-    epoch = 0
-    done_looping = False
-
-    while (epoch < n_epochs) and (not done_looping):
-        epoch = epoch + 1
-        for minibatch_index in xrange(n_train_batches):
-
-            minibatch_avg_cost = train_model(minibatch_index)
-            # iteration number
-            iter = (epoch - 1) * n_train_batches + minibatch_index
-
-            if (iter + 1) % validation_frequency == 0:
-                # compute zero-one loss on validation set
-                validation_losses = [validate_model(i) for i
-                                     in xrange(n_valid_batches)]
-                this_validation_loss = numpy.mean(validation_losses)
-
-                print(
-                    'epoch %i, minibatch %i/%i, validation error %f %%' %
-                    (
-                        epoch,
-                        minibatch_index + 1,
-                        n_train_batches,
-                        this_validation_loss * 100.
-                    )
-                )
-
-                # if we got the best validation score until now
-                if this_validation_loss < best_validation_loss:
-                    #improve patience if loss improvement is good enough
-                    if (
-                        this_validation_loss < best_validation_loss *
-                        improvement_threshold
-                    ):
-                        patience = max(patience, iter * patience_increase)
-
-                    best_validation_loss = this_validation_loss
-                    best_iter = iter
-
-                    # test it on the test set
-                    test_losses = [test_model(i) for i
-                                   in xrange(n_test_batches)]
-                    test_score = numpy.mean(test_losses)
-
-                    print(('     epoch %i, minibatch %i/%i, test error of '
-                           'best model %f %%') %
-                          (epoch, minibatch_index + 1, n_train_batches,
-                           test_score * 100.))
-
-            if patience <= iter:
-                done_looping = True
-                break
-
-    end_time = timeit.default_timer()
-    print(('Optimization complete. Best validation score of %f %% '
-           'obtained at iteration %i, with test performance %f %%') %
-          (best_validation_loss * 100., best_iter + 1, test_score * 100.))
-    print >> sys.stderr, ('The code for file ' +
-                          os.path.split(__file__)[1] +
-                          ' ran for %.2fm' % ((end_time - start_time) / 60.))
-
-
-if __name__ == '__main__':
-    test_mlp()
-
-# Rectifier Linear Unit
-#Source: http://stackoverflow.com/questions/26497564/theano-hiddenlayer-activation-function
-def relu(x):
-    return T.maximum(0.,x)
--- a/Code/prepare_dataset.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Thu Jul 23 21:55:58 2015
-
-@author: paulochiliguano
-"""
-
-
-import tables
-import numpy as np
-import cPickle
-import sklearn.preprocessing as preprocessing
-
-'''
-Read HDF5 file that contains log-mel spectrograms
-'''
-filename = '/homes/pchilguano/deep_learning/features/feats.h5'
-with tables.openFile(filename, 'r') as f:
-    features = f.root.x.read()
-    #filenames = f.root.filenames.read()
-
-'''
-Pre-processing of spectrograms mean=0 and std=1
-'''
-#initial_shape = features.shape[1:]
-n_per_example = np.prod(features.shape[1:-1])
-number_of_features = features.shape[-1]
-flat_data = features.view()
-flat_data.shape = (-1, number_of_features)
-scaler = preprocessing.StandardScaler().fit(flat_data)
-flat_data = scaler.transform(flat_data)
-flat_data.shape = (features.shape[0], -1)
-#flat_targets = filenames.repeat(n_per_example)
-
-#genre = np.asarray([line.strip().split('\t')[1] for line in open(filename,'r').readlines()])
-
-'''
-Read labels from ground truth
-'''
-filename = '/homes/pchilguano/deep_learning/lists/ground_truth.txt'
-with open(filename, 'r') as f:
-    tag_set = set()
-    for line in f:
-        tag = line.strip().split('\t')[1]
-        tag_set.add(tag)
-'''
-Assign label to a discrete number
-'''
-tag_dict = dict([(item, index) for index, item in enumerate(sorted(tag_set))])
-with open(filename, 'r') as f:
-    target = np.asarray([], dtype='int32')
-    mp3_dict = {}
-    for line in f:
-        tag = line.strip().split('\t')[1]
-        target = np.append(target, tag_dict[tag])
-
-train_input, valid_input, test_input = np.array_split(flat_data, [flat_data.shape[0]*1/2, flat_data.shape[0]*3/4])
-train_target, valid_target, test_target = np.array_split(target, [target.shape[0]*1/2, target.shape[0]*3/4])
-
-f = file('/homes/pchilguano/deep_learning/gtzan.pkl', 'wb')
-cPickle.dump(((train_input, train_target), (valid_input, valid_target), (test_input, test_target)), f, protocol=cPickle.HIGHEST_PROTOCOL)
-f.close()
-'''
-flat_target = target.repeat(n_per_example)
-
-train_input, valid_input, test_input = np.array_split(flat_data, [flat_data.shape[0]*4/5, flat_data.shape[0]*9/10])
-train_target, valid_target, test_target = np.array_split(flat_target, [flat_target.shape[0]*4/5, flat_target.shape[0]*9/10])
-
-f = file('/homes/pchilguano/deep_learning/gtzan_logistic.pkl', 'wb')
-cPickle.dump(((train_input, train_target), (valid_input, valid_target), (test_input, test_target)), f, protocol=cPickle.HIGHEST_PROTOCOL)
-f.close()
-'''
\ No newline at end of file
--- a/Code/preview_clip.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-Created on Wed Jul 15 00:41:44 2015
-
-@author: paulochiliguano
-"""
-
-
-import csv
-import time
-from pyechonest import song, config #http://echonest.github.io/pyechonest/
-import oauth2 as oauth #https://github.com/jasonrubenstein/python_oauth2
-import urllib2
-import os
-
-# 7digital keys
-consumer_key = '7ds28qendsk9'
-consumer_secret = 'm5nsktn3hu6x45cy'
-consumer = oauth.Consumer(consumer_key, consumer_secret)
-
-# EchoNest key
-config.ECHO_NEST_API_KEY="LINDFDUTQZQ781IE8"
-
-# Retrieve audio clips
-mp3_folder = '/Users/paulochiliguano/Documents/msc-project/Dataset/clips/'
-filename_echonest = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
-CF_dataset_songID.txt'
-filename_7digital = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
-CF_dataset_metadata.txt'
-with open(filename_echonest, 'rb') as f, open(filename_7digital, 'wb') as out:
-    writer = csv.writer(out, delimiter='\t')	
-    for i in xrange(1218):
-        f.readline()
-    next = f.readline()
-    while next != "":
-        try:
-            s = song.Song(next)
-            #s = song.Song('SOPEXHZ12873FD2AC7')
-        #except:        
-        except IndexError:
-            time.sleep(3)
-            print "%s not available" % next[:-1]
-            next = f.readline()
-        else:
-            time.sleep(3)
-            try:
-                ss_tracks = s.get_tracks('7digital-UK')
-            except:
-                time.sleep(3)
-                print "%s not in UK catalog" % next[:-1]
-                next = f.readline()
-            else:
-                #print(len(ss_tracks))
-                if len(ss_tracks) != 0:
-                    ss_track = ss_tracks[0]
-                    preview_url = ss_track.get('preview_url')	
-                    track_id = ss_track.get('id')
-                    
-                    req = oauth.Request(
-                        method="GET",
-                        url=preview_url,
-                        is_form_encoded=True
-                    )
-                    req['oauth_timestamp'] = oauth.Request.make_timestamp()
-                    req['oauth_nonce'] = oauth.Request.make_nonce()
-                    req['country'] = "GB"
-                    sig_method = oauth.SignatureMethod_HMAC_SHA1()
-                    req.sign_request(sig_method, consumer, token=None)
-                    
-                    try:
-                        response = urllib2.urlopen(req.to_url())
-                    except:
-                        #time.sleep(16)
-                        print "No available preview for %s" % next[:-1]
-                        #writer.writerow([next[:-2], 'NA', s.artist_name.encode("utf-8"), s.title.encode("utf-8")])
-                    else:                                                
-                        print([
-                            next[:-1],
-                            track_id,
-                            s.artist_name,
-                            s.title,
-                            preview_url
-                        ])
-                        writer.writerow([
-                            next[:-1],
-                            track_id,
-                            s.artist_name.encode("utf-8"),
-                            s.title.encode("utf-8"),
-                            preview_url
-                        ])
-                        mp3_file = os.path.join(mp3_folder, next[:-1]+'.mp3')
-                        with open(mp3_file, 'wb') as songfile:
-                            songfile.write(response.read())
-                    time.sleep(16)
-                next = f.readline()	
-        
\ No newline at end of file
--- a/Code/read_songID.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-import time
-import pandas as pd
-
-# Read songIDs from Million Song Dataset songID-trackID mismatches
-start_time = time.time()
-print 'Reading songID mismatches...'
-filename = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
-sid_mismatches.txt'
-with open(filename, 'rb') as f:
-    mismatches = set()    
-    next = f.readline()
-    while next != "":
-        songID = next[8:26]
-        mismatches.add(songID)
-        #print(next[8:26])
-        next = f.readline()
-
-# Delete rows with songIDs mismatches from Taste Profile Subset
-print 'Reading Taste Profile subset...'
-result = pd.DataFrame()
-filename = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
-train_triplets.txt'
-filename_out = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
-train_triplets_wo_mismatches.csv'
-for chunk in pd.read_csv(
-        filename,
-        low_memory=False,
-        delim_whitespace=True, 
-        chunksize=20000,
-        names=['user', 'song', 'plays'],
-        header=None):
-    chunk = chunk[~chunk.song.isin(mismatches)]
-    chunk.to_csv(filename_out, mode='a', header=False, index=False)
-    #result = result.append(chunk, ignore_index=True)
-elapsed_time = time.time() - start_time
-print 'Execution time: %.3f seconds' % elapsed_time
-#result.to_pickle('/homes/pchilguano/dataset/train_triplets_wo_mismatch.pkl')
-
-# Select (most active) users with more than 1000 songs played
-start_time = time.time()
-print 'Reading (filtered) Taste Profile subset...'
-df = pd.read_csv(
-    filename_out,
-    delim_whitespace=False,
-    header=None,
-    names=['user','song','plays'])
-print 'Selecting most active users (>= 1000 songs played)...'
-df_active = df.groupby('user').filter(lambda x: len(x) > 1000)
-print 'Reducing Taste Profile subset to 1500 songs...'
-counts = df_active['song'].value_counts().head(1500)
-df_active = df_active.loc[df['song'].isin(counts.index), :]
-df_active.to_pickle('/Users/paulochiliguano/Documents/msc-project/Dataset/\
-CF_dataset.pkl')
-filename = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
-CF_dataset_songID.txt'
-with open(filename, 'wb') as f:
-    for item in counts.index.tolist():
-        f.write("%s\n" % item)
-elapsed_time = time.time() - start_time
-print 'Execution time: %.3f seconds' % elapsed_time
-
-
-'''
-#important
-#df['user'].value_counts().head(50)
-
-ddf = df.drop_duplicates(subset = 'song')
-ddf.to_csv('/homes/pchilguano/dataset/train_triplets_songID.csv',columns=['song'], header=False, index=False)
-
-
-
-with open('/homes/pchilguano/dataset/sid_mismatches_songID.txt', 'rb') as input1, open('/homes/pchilguano/dataset/train_triplets_songID.csv', 'rb') as input2, open('/homes/pchilguano/dataset/echonest_songID.txt', 'wb') as myfile:
-    l1 = list(csv.reader(input1))
-    chain1 = list(itertools.chain(*l1))
-    l2 = list(csv.reader(input2))
-    chain2 = list(itertools.chain(*l2))
-    l3 = set(chain2) - set(chain1)
-    wr = csv.writer(myfile, delimiter=',')
-    for item in l3:
-        wr.writerow([item])
-
-# Save Taste Profile dataset without SongID mismatches
-mdf = df[df.song.isin(l3)]
-mdf.to_csv('/homes/pchilguano/dataset/train_triplets_wo_mismatches.csv', header=False, index=False)
-
-result = pd.DataFrame()
-for chunk in pd.read_csv('/homes/pchilguano/dataset/train_triplets_wo_mismatches.csv', low_memory = False, delim_whitespace=False, chunksize=10000, names=['user','song','plays'], header=None):
-    chunk = chunk[chunk.song.isin(l3)]    
-    result = result.append(chunk.pivot(index='user', columns='song', values='plays')    
-    , ignore_index=True)
-    print (result.shape)
-'''
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/taste_profile_cleaning.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+import time
+import pandas as pd
+
+# Read songIDs from Million Song Dataset songID-trackID mismatches
+start_time = time.time()
+print 'Reading songID mismatches...'
+filename = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
+sid_mismatches.txt'
+with open(filename, 'rb') as f:
+    mismatches = set()    
+    next = f.readline()
+    while next != "":
+        songID = next[8:26]
+        mismatches.add(songID)
+        #print(next[8:26])
+        next = f.readline()
+
+# Delete rows with songIDs mismatches from Taste Profile Subset
+print 'Reading Taste Profile subset...'
+result = pd.DataFrame()
+filename = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
+train_triplets.txt'
+filename_out = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
+train_triplets_wo_mismatches.csv'
+for chunk in pd.read_csv(
+        filename,
+        low_memory=False,
+        delim_whitespace=True, 
+        chunksize=20000,
+        names=['user', 'song', 'plays'],
+        header=None):
+    chunk = chunk[~chunk.song.isin(mismatches)]
+    chunk.to_csv(filename_out, mode='a', header=False, index=False)
+    #result = result.append(chunk, ignore_index=True)
+elapsed_time = time.time() - start_time
+print 'Execution time: %.3f seconds' % elapsed_time
+#result.to_pickle('/homes/pchilguano/dataset/train_triplets_wo_mismatch.pkl')
+
+# Select (most active) users with more than 1000 songs played
+start_time = time.time()
+print 'Reading (filtered) Taste Profile subset...'
+df = pd.read_csv(
+    filename_out,
+    delim_whitespace=False,
+    header=None,
+    names=['user','song','plays'])
+print 'Selecting most active users (>= 1000 songs played)...'
+df_active = df.groupby('user').filter(lambda x: len(x) > 1000)
+print 'Reducing Taste Profile subset to 1500 songs...'
+counts = df_active['song'].value_counts().head(1500)
+df_active = df_active.loc[df_active['song'].isin(counts.index), :]
+df_active.to_pickle('/Users/paulochiliguano/Documents/msc-project/Dataset/\
+CF_dataset.pkl')
+filename = '/Users/paulochiliguano/Documents/msc-project/Dataset/\
+CF_dataset_songID.txt'
+with open(filename, 'wb') as f:
+    for item in counts.index.tolist():
+        f.write("%s\n" % item)
+elapsed_time = time.time() - start_time
+print 'Execution time: %.3f seconds' % elapsed_time
+
+
+'''
+#important
+#df['user'].value_counts().head(50)
+
+ddf = df.drop_duplicates(subset = 'song')
+ddf.to_csv('/homes/pchilguano/dataset/train_triplets_songID.csv',columns=['song'], header=False, index=False)
+
+
+
+with open('/homes/pchilguano/dataset/sid_mismatches_songID.txt', 'rb') as input1, open('/homes/pchilguano/dataset/train_triplets_songID.csv', 'rb') as input2, open('/homes/pchilguano/dataset/echonest_songID.txt', 'wb') as myfile:
+    l1 = list(csv.reader(input1))
+    chain1 = list(itertools.chain(*l1))
+    l2 = list(csv.reader(input2))
+    chain2 = list(itertools.chain(*l2))
+    l3 = set(chain2) - set(chain1)
+    wr = csv.writer(myfile, delimiter=',')
+    for item in l3:
+        wr.writerow([item])
+
+# Save Taste Profile dataset without SongID mismatches
+mdf = df[df.song.isin(l3)]
+mdf.to_csv('/homes/pchilguano/dataset/train_triplets_wo_mismatches.csv', header=False, index=False)
+
+result = pd.DataFrame()
+for chunk in pd.read_csv('/homes/pchilguano/dataset/train_triplets_wo_mismatches.csv', low_memory = False, delim_whitespace=False, chunksize=10000, names=['user','song','plays'], header=None):
+    chunk = chunk[chunk.song.isin(l3)]    
+    result = result.append(chunk.pivot(index='user', columns='song', values='plays')    
+    , ignore_index=True)
+    print (result.shape)
+'''
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/time_freq_representation/feature_extraction.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,126 @@
+"""
+This script computes intermediate time-frequency representation (log-mel spectrogram)
+from audio signals
+
+Source code:
+https://github.com/sidsig/ICASSP-MLP-Code/blob/master/feature_extraction.py
+
+Modified by:
+Paulo Chiliguano
+MSc candidate Sound and Music Computing
+Queen Mary University of London
+2015
+
+References:
+ - Sigtia, S., & Dixon, S. (2014, May). Improved music feature learning with deep neural 
+   networks. In Acoustics, Speech and Signal Processing (ICASSP), 2014 IEEE International 
+   Conference on (pp. 6959-6963). IEEE.
+ - Van den Oord, A., Dieleman, S., & Schrauwen, B. (2013). Deep content-based music 
+   recommendation. In Advances in Neural Information Processing Systems (pp. 2643-2651).
+"""
+
+#import subprocess
+#import sys
+import os
+#from spectrogram import SpecGram
+import tables
+#import pdb
+# LibROSA is a package that allows feature extraction for Music Information Retrieval
+import librosa
+import numpy as np
+
+def read_wav(filename):
+    #bits_per_sample = '16'
+    #cmd = ['sox',filename,'-t','raw','-e','unsigned-integer','-L','-c','1','-b',bits_per_sample,'-','pad','0','30.0','rate','22050.0','trim','0','30.0']
+    #cmd = ' '.join(cmd)
+    #print cmd
+    #raw_audio = numpy.fromstring(subprocess.Popen(cmd,stdout=subprocess.PIPE,shell=True).communicate()[0],dtype='uint16')
+    audioFile, sr = librosa.load(filename, sr=22050, mono=True, offset=0, duration=3)
+    #random.randint(0,audioFile.size)
+    #max_amp = 2.**(int(bits_per_sample)-1)
+    #raw_audio = (raw_audio- max_amp)/max_amp
+    return audioFile
+
+def calc_specgram(x,fs,winSize,):
+    S = librosa.feature.melspectrogram(
+        y=x,
+        sr=fs,
+        n_mels=128,
+        S=None,
+        n_fft=winSize,
+        hop_length=512
+    )
+    log_S = librosa.logamplitude(S, ref_power=np.max)
+    log_S = np.transpose(log_S)
+    return log_S
+    #spec = SpecGram(x,fs,winSize)
+    #return spec.specMat
+
+def make_4tensor(x):
+    assert x.ndim <= 4
+    while x.ndim < 4:
+        x = np.expand_dims(x,0)
+    return x
+
+class FeatExtraction():
+    def __init__(self,dataset_dir):
+    	self.dataset_dir = dataset_dir
+        self.list_dir = os.path.join(self.dataset_dir,'lists')
+        self.get_filenames()
+        self.feat_dir = os.path.join(self.dataset_dir,'features')
+        self.make_feat_dir()
+        self.h5_filename = os.path.join(self.feat_dir,'feats.h5')
+        self.make_h5()
+        self.setup_h5()
+        self.extract_features()
+        self.close_h5()
+
+
+    def get_filenames(self,):
+        dataset_files = os.path.join(self.list_dir,'audio_files.txt')
+        self.filenames = [l.strip() for l in open(dataset_files,'r').readlines()]
+        self.num_files = len(self.filenames)
+
+    def make_feat_dir(self,):
+    	if not os.path.exists(self.feat_dir):
+    		print 'Making output dir.'
+    		os.mkdir(self.feat_dir)
+    	else:
+    		print 'Output dir already exists.'
+    
+    def make_h5(self,):
+    	if not os.path.exists(self.h5_filename):
+    		self.h5 = tables.openFile(self.h5_filename,'w')
+    	else:
+    		print 'Feature file already exists.'
+    		self.h5 = tables.openFile(self.h5_filename,'a')
+
+    def setup_h5(self,):
+    	filename = self.filenames[0]
+    	x = read_wav(filename)
+    	spec_x = calc_specgram(x,22050,1024)
+    	spec_x = make_4tensor(spec_x)
+    	self.data_shape = spec_x.shape[1:]
+    	self.x_earray_shape = (0,) + self.data_shape
+    	self.chunkshape = (1,) + self.data_shape
+    	self.h5_x = self.h5.createEArray('/','x',tables.FloatAtom(itemsize=4),self.x_earray_shape,chunkshape=self.chunkshape,expectedrows=self.num_files)
+    	self.h5_filenames = self.h5.createEArray('/','filenames',tables.StringAtom(256),(0,),expectedrows=self.num_files)
+    	self.h5_x.append(spec_x)
+    	self.h5_filenames.append([filename])
+
+    def extract_features(self,):
+        for i in xrange(1,self.num_files):
+    	    filename = self.filenames[i]
+         #print 'Filename: ',filename
+    	    x = read_wav(filename)
+    	    spec_x = calc_specgram(x,22050,1024)
+    	    spec_x = make_4tensor(spec_x)
+    	    self.h5_x.append(spec_x)
+    	    self.h5_filenames.append([filename])
+
+    def close_h5(self,):
+        self.h5.flush()
+        self.h5.close()
+        
+if __name__ == '__main__':
+	test = FeatExtraction('/home/paulo/Documents/msc_project/dataset/7digital')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/time_freq_representation/make_lists.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,165 @@
+"""
+This script creates lists of audio files contained in a folder.
+
+Source code:
+https://github.com/sidsig/ICASSP-MLP-Code/blob/master/make_lists.py
+
+Modified by:
+Paulo Chiliguano
+MSc candidate Sound and Music Computing
+Queen Mary University of London
+2015
+
+References:
+ - Sigtia, S., & Dixon, S. (2014, May). Improved music feature learning with deep neural 
+   networks. In Acoustics, Speech and Signal Processing (ICASSP), 2014 IEEE International 
+   Conference on (pp. 6959-6963). IEEE.
+"""
+
+import numpy
+import numpy.random as random
+import os
+import pickle
+import sys
+import utils as U
+#import pdb
+
+def read_file(filename):
+    """
+    Loads a file into a list
+    """
+    file_list=[l.strip() for l in open(filename,'r').readlines()]
+    return file_list
+
+def get_folds(filelist, n_folds):
+    n_per_fold = len(filelist) / n_folds
+    folds = []
+    for i in range(n_folds-1):
+        folds.append(filelist[i * n_per_fold: (i + 1) * n_per_fold])
+    i = n_folds - 1
+    folds.append(filelist[i * n_per_fold:])
+    return folds
+
+def generate_mirex_list(train_list, annotations):
+    out_list = []
+    for song in train_list:
+        annot = annotations.get(song,None)
+        if annot is None:
+            print 'No annotations for song %s' % song
+            continue
+        assert(type('') == type(annot))
+        out_list.append('%s\t%s\n' % (song,annot))
+
+    return out_list
+            
+
+def make_file_list(gtzan_path, n_folds=5,):
+    """
+    Generates lists
+    """
+    audio_path = os.path.join(gtzan_path,'audio')
+    out_path = os.path.join(gtzan_path,'lists')
+    files_list = []
+    for ext in ['.au', '.mp3', '.wav']:
+        files = U.getFiles(audio_path, ext)
+        files_list.extend(files)
+    random.shuffle(files_list)
+    
+    if not os.path.exists(out_path):
+        os.makedirs(out_path)
+    
+    audio_list_path = os.path.join(out_path, 'audio_files.txt')
+    open(audio_list_path,'w').writelines(['%s\n' % f for f in files_list])
+    
+    annotations = get_annotations(files_list)
+
+    ground_truth_path = os.path.join(out_path, 'ground_truth.txt')
+    open(ground_truth_path,'w').writelines(generate_mirex_list(files_list, annotations))
+    generate_ground_truth_pickle(ground_truth_path)
+
+    folds = get_folds(files_list, n_folds=n_folds)
+    
+    ### Single fold for quick experiments
+    create_fold(0, 1, folds, annotations, out_path)
+    
+    for n in range(n_folds):
+        create_fold(n, n_folds, folds, annotations, out_path)
+
+
+def create_fold(n, n_folds, folds, annotations, out_path):
+    train_path = os.path.join(out_path, 'train_%i_of_%i.txt' % (n+1, n_folds))
+    valid_path = os.path.join(out_path, 'valid_%i_of_%i.txt' % (n+1, n_folds))
+    test_path = os.path.join(out_path, 'test_%i_of_%i.txt' % (n+1, n_folds))
+    
+    test_list = folds[n]
+    train_list = []
+    for m in range(len(folds)):
+        if m != n:
+            train_list.extend(folds[m])
+    
+    open(train_path,'w').writelines(generate_mirex_list(train_list, annotations))
+    open(test_path,'w').writelines(generate_mirex_list(test_list, annotations))
+    split_list_file(train_path, train_path, valid_path, ratio=0.8)
+    
+def split_list_file(input_file, out_file1, out_file2, ratio=0.8):
+    input_list = open(input_file,'r').readlines()
+    
+    n = len(input_list)
+    nsplit = int(n *ratio)
+    
+    list1 = input_list[:nsplit]
+    list2 = input_list[nsplit:]
+    
+    open(out_file1, 'w').writelines(list1)
+    open(out_file2, 'w').writelines(list2)
+
+
+def get_annotation(filename):
+    genre = os.path.split(U.parseFile(filename)[0])[-1]
+    return genre
+
+def get_annotations(files_list):
+    annotations = {}
+    for filename in files_list:
+        annotations[filename] = get_annotation(filename)
+
+    return annotations
+
+def generate_ground_truth_pickle(gt_file):
+    gt_path,_ = os.path.split(gt_file)
+    tag_file = os.path.join(gt_path,'tags.txt')
+    gt_pickle = os.path.join(gt_path,'ground_truth.pickle')
+    
+    lines = open(gt_file,'r').readlines()
+    
+    tag_set = set()
+    for line in lines:
+        filename,tag = line.strip().split('\t')
+        tag_set.add(tag)
+    tag_list = sorted(list(tag_set))
+    open(tag_file,'w').writelines('\n'.join(tag_list + ['']))
+    
+    tag_dict = dict([(tag,i) for i,tag in enumerate(tag_list)])        
+    n_tags = len(tag_dict)
+
+    mp3_dict = {}
+    for line in lines:
+        filename,tag = line.strip().split('\t')
+        tag_vector = mp3_dict.get(filename,numpy.zeros(n_tags))
+        if tag != '':
+            tag_vector[tag_dict[tag]] = 1.
+        mp3_dict[filename] = tag_vector
+    pickle.dump(mp3_dict,open(gt_pickle,'w'))
+
+if __name__ == '__main__':
+    if len(sys.argv) < 2:
+        print 'Usage: python %s gtzan_path [n_folds=10]' % sys.argv[0]
+        sys.exit()
+    
+    gtzan_path = os.path.abspath(sys.argv[1])
+    if len(sys.argv) > 2:
+        n_folds = int(sys.argv[2])
+    else:
+        n_folds = 10
+        
+    make_file_list(gtzan_path, n_folds)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Code/time_freq_representation/utils.py	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,41 @@
+"""
+Source code:
+https://github.com/sidsig/ICASSP-MLP-Code/blob/master/utils.py
+"""
+
+import os
+
+def getFiles(root_dir,ext='.mp3',verbose=True) :
+    """
+    Returns a list of files
+    """
+    fileList=[]
+    if verbose:
+        print "Populating %s files..."%ext
+    for (root,dirs,files) in os.walk(root_dir):
+        for f in files:
+            if f.endswith(ext):
+                filePath=os.path.join(root,f)
+                fileList.append(filePath)
+    if verbose:
+        print "%i files found."%len(fileList)
+    return fileList
+
+def parseFile(filePath):
+    """
+    Parses the file path and returns (root,fileName,ext)
+    """
+    root,file=os.path.split(filePath)
+    fileName,fileExt=os.path.splitext(file)
+    return (root,fileName,fileExt)
+
+def read_file(filename):
+    """
+    Loads a file into a list
+    """
+    file_list=[l.strip() for l in open(filename,'r').readlines()]
+    return file_list
+
+def writeFile(dataList,filename):
+    with open(filename,'w') as f:
+        f.writelines(dataList)
\ No newline at end of file
--- a/Code/utils.py	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-import os
-
-def getFiles(root_dir,ext='.mp3',verbose=True) :
-    """
-    Returns a list of files
-    """
-    fileList=[]
-    if verbose:
-        print "Populating %s files..."%ext
-    for (root,dirs,files) in os.walk(root_dir):
-        for f in files:
-            if f.endswith(ext):
-                filePath=os.path.join(root,f)
-                fileList.append(filePath)
-    if verbose:
-        print "%i files found."%len(fileList)
-    return fileList
-
-def parseFile(filePath):
-    """
-    Parses the file path and returns (root,fileName,ext)
-    """
-    root,file=os.path.split(filePath)
-    fileName,fileExt=os.path.splitext(file)
-    return (root,fileName,fileExt)
-
-def read_file(filename):
-    """
-    Loads a file into a list
-    """
-    file_list=[l.strip() for l in open(filename,'r').readlines()]
-    return file_list
-
-def writeFile(dataList,filename):
-    with open(filename,'w') as f:
-        f.writelines(dataList)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dataset/7digital/CF_dataset_metadata.txt	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,640 @@
+SOZVCRW12A67ADA0B7	TRQBGQS13269B91E41	The Killers	When You Were Young	http://previews.7digital.com/clip/453787
+SOPUCYA12A8C13A694	TRIWUJJ12E5AE91ADF	Five Iron Frenzy	Canada	http://previews.7digital.com/clip/2347979
+SOSXLTC12AF72A7F54	TRUKOYA12E5B315514	Kings of Leon	Revelry	http://previews.7digital.com/clip/4386514
+SOPXKYD12A6D4FA876	TRVKCWF12E4E5856DA	Coldplay	Yellow	http://previews.7digital.com/clip/3326
+SOBUBLL12A58A795A8	TRXLPHX12E5ADEFECC	Tiny Vipers	They Might Follow You	http://previews.7digital.com/clip/2435776
+SOEGIYH12A6D4FC0E3	TRFKAWM1380A667454	Barry Tuckwell	Horn Concerto No. 4 in E Flat, K.495: II. Romance (Andante cantabile)	http://previews.7digital.com/clip/1681605
+SONWUZV12AB0180BAD	TRYIVJH12E5B4AA415	Drowning Pool	Reason I'm Alive	http://previews.7digital.com/clip/5439631
+SOKEYJQ12A6D4F6132	TRXNILG12E5B302E75	The Killers	Smile Like You Mean It (Fischerspooner Mix)	http://previews.7digital.com/clip/4465261
+SOHTKMO12AB01843B0	TRCROVY13269C95374	Lonnie Gordon	Catch You Baby (Steve Pitron & Max Sanna Radio Edit)	http://previews.7digital.com/clip/5943137
+SOIZLKI12A6D4F7B61	TRZXQDJ12E5AC31B9E	Muse	Supermassive Black Hole	http://previews.7digital.com/clip/5635554
+SOVWADY12AB0189C63	TRSTRRP13269D50FA7	Miley Cyrus	Party In The U.S.A.	http://previews.7digital.com/clip/6664762
+SOHJOLH12A6310DFE5	TRBOAZJ12E5AC28DC9	Radiohead	Karma Police	http://previews.7digital.com/clip/9519
+SOSJDQJ12A8C13D4A9	TRLDHKM12E5B3A1642	Chromeo	Fancy Footwork (Laidback Luke Remix)	http://previews.7digital.com/clip/2930105
+SOKNWRZ12A8C13BF62	TRFKEBW12E5B3FCF51	The Postal Service	Natural Anthem	http://previews.7digital.com/clip/11270596
+SOPXLWJ12A8C132639	TRUAUXL13269C5BD7E	The White Stripes	Fell In Love With A Girl	http://previews.7digital.com/clip/401312
+SOMMKEW12A58A80F00	TRDBMXU12E5AE6A888	Vampire Weekend	Horchata	http://previews.7digital.com/clip/7404096
+SOFLJQZ12A6D4FADA6	TREDBZU12E5AD2A71A	Cartola	Tive Sim	http://previews.7digital.com/clip/1660449
+SOUSAXA12AF72A73F5	TRHOAII13269C0C8A9	LCD Soundsystem	North American Scum	http://previews.7digital.com/clip/639853
+SOGVKXX12A67ADA0B8	TRCDRUA13269B91E42	The Killers	All The Pretty Faces	http://previews.7digital.com/clip/453788
+SOAIAAT12A8C145D49	TRDULDI12E5AD04392	Creedence Clearwater Revival	Bad Moon Rising	http://previews.7digital.com/clip/3615402
+SOSPXWA12AB0181875	TRDSXGG1380A44951D	Jack Johnson	Bubble Toes	http://previews.7digital.com/clip/15603564
+SOKUECJ12A6D4F6129	TRTETIJ12E5B302E6C	The Killers	Somebody Told Me	http://previews.7digital.com/clip/4465246
+SOBOAFP12A8C131F36	TRDQKVA12E5AC73097	Jason Mraz	Lucky	http://previews.7digital.com/clip/2876292
+SOOFYTN12A6D4F9B35	TRMQHUQ13269CBC518	Alliance Ethnik	Représente	http://previews.7digital.com/clip/320223
+SOUGCDK12AC95F075F	TRKHQVC1326A065A0B	Justin Bieber	Never Let You Go	http://previews.7digital.com/clip/8497967
+SOUNZHU12A8AE47481	TRKIQTV13269C3D64F	Ron Carter	I CAN'T GET STARTED	http://previews.7digital.com/clip/3118547
+SOHVWPV12A8C135C5B	TRKEFRS13269C0C8C2	LCD Soundsystem	Sound Of Silver (c2 rmx rev.3)	http://previews.7digital.com/clip/1577358
+SOTEFFR12A8C144765	TRVXRUU13269B91EAD	The Killers	A Dustland Fairytale	http://previews.7digital.com/clip/3788008
+SOAVWHY12AB017C6C0	TRCAHVN13269B91EA9	The Killers	Losing Touch	http://previews.7digital.com/clip/3788004
+SOMMONH12A6D4F41CD	TRGTWQZ12E5AC2F981	Beastie Boys	The Maestro (2009 Digital Remaster)	http://previews.7digital.com/clip/253738
+SOKVTGU12A6701E7B1	TRMKDIC12E5AC876CA	LCD Soundsystem	On Repeat	http://previews.7digital.com/clip/86919
+SOMWTWK12AB01860CD	TRAIAHG12E5AE6A889	Vampire Weekend	White Sky	http://previews.7digital.com/clip/7404100
+SOQJKGN12A8C1425B5	TRTWKHL12E5B3FB3CF	Hot Chip	The Beach Party	http://previews.7digital.com/clip/8597248
+SOCQSZB12A58A7B71D	TRBASFP13269E9A447	Vampire Weekend	Campus	http://previews.7digital.com/clip/2093105
+SOOXRJG12A8C13773E	TRLEUUJ12E5B4B2955	The Shins	Caring Is Creepy	http://previews.7digital.com/clip/11270427
+SODCNJX12A6D4F93CB	TRHYHQV13269CE23A2	Natiruts	Jamaica Roots II(Agora E Sempre)	http://previews.7digital.com/clip/1533284
+SOKXQDO12AB017FD04	TREPCBV12E5AE9243D	Man Man	Black Mission Goggles	http://previews.7digital.com/clip/6111348
+SOARUBA12A8C138E3D	TRDRIFI12E5AC51DE3	Eve 6	Nocturnal	http://previews.7digital.com/clip/3326926
+SOQLFRX12A6D4F9200	TRTBWPJ12E5AC809B7	Faith No More	Midlife Crisis	http://previews.7digital.com/clip/449795
+SODWUBY12A6D4F8E8A	TRMXPYF12E5B1C256A	Amy Winehouse	Some Unholy War	http://previews.7digital.com/clip/497707
+SOZZIOH12A67ADE300	TRCYKIM12E5AC876E8	LCD Soundsystem	Watch The Tapes	http://previews.7digital.com/clip/698161
+SOYDTRQ12AF72A3D61	TRECDEK12E5B31550D	Kings of Leon	Be Somebody	http://previews.7digital.com/clip/3570514
+SOMCMKG12A8C1347BF	TRLOUHU13269CA77A4	Jacky Terrasson	Le Jardin d'Hiver	http://previews.7digital.com/clip/1534355
+SOALEQA12A58A77839	TRIOPGE12E5B2FF887	The Rolling Stones	Jumping Jack Flash (Live At The Beacon Theatre, New York / 2006)	http://previews.7digital.com/clip/2351679
+SOPGOJB12A8C13B05C	TRJVWIZ12E5B30CF9C	The Kills	Cheap And Cheerful	http://previews.7digital.com/clip/5896254
+SOETHKN12AF72A65A6	TRVPSYE12E5ACCD0C9	Hot Chip	So Glad To See You	http://previews.7digital.com/clip/365437
+SODLAPJ12A8C142002	TRNNUMD12E5AD014FE	Emmy the Great	MIA	http://previews.7digital.com/clip/6884280
+SONCBGG12AB0183F8E	TRTFRQW12E5AD84767	The Presidents of the United States of America	Video Killed The Radio Star	http://previews.7digital.com/clip/6372659
+SOQGOPT12AAF3B2B27	TRAAYDZ12E4E5965BE	Cat Stevens	Wild World	http://previews.7digital.com/clip/143204
+SOSGBJB12A6D4FCDEC	TRAZMUA12E5B574B7A	Tarot	Tides	http://previews.7digital.com/clip/2770449
+SOXLOQG12AF72A2D55	TRHXVAJ12E5AC2F910	Beastie Boys	Unite (2009 Digital Remaster)	http://previews.7digital.com/clip/7690
+SOBBCWG12AF72AB9CB	TRYLAFL12E5ACCD142	Hot Chip	Brothers	http://previews.7digital.com/clip/7782219
+SOBOUPA12A6D4F81F1	TRKUTDA13269CBC4E0	Alliance Ethnik	Sincerité et jalousie	http://previews.7digital.com/clip/314771
+SOQIXUL12A6D4FAE93	TRLPCMO13269CEDAA9	Lily Allen	Everybody's Changing	http://previews.7digital.com/clip/4842484
+SOPTLQL12AB018D56F	TRAARIK1380AA8B607	Travie McCoy	Billionaire	http://previews.7digital.com/clip/8440036
+SOYEQLD12AB017C713	TRHJQTO13269B91EAC	The Killers	Joy Ride	http://previews.7digital.com/clip/3788007
+SOEHHNH12AB017F715	TRNVNGM12E5B302E69	The Killers	Jenny Was A Friend Of Mine	http://previews.7digital.com/clip/4465242
+SOULTKQ12AB018A183	TRDWDZN13C6D1F4C60	B.o.B	Nothin' On You (feat. Bruno Mars)	http://previews.7digital.com/clip/21782445
+SOBGPHU12A8C1424E3	TRSMDWW12E5ACCD147	Hot Chip	Take It In	http://previews.7digital.com/clip/7782249
+SORQVPO12AF72A690C	TRKGGFI143B7A183E3	The Strokes	New York City Cops	http://previews.7digital.com/clip/33928655
+SOQZBYZ12A6701E7B0	TRCTHKK12E5AC876C8	LCD Soundsystem	Movement	http://previews.7digital.com/clip/86917
+SOCKFVF12A8C1442A7	TROXGKU12E5AC765DD	Stone Temple Pilots	Wicked Garden	http://previews.7digital.com/clip/4191193
+SOETMGH12AB01822F2	TRTUZGU12E5ACF700D	Biffy Clyro	Bubbles	http://previews.7digital.com/clip/7057684
+SOAAFAC12A67ADF7EB	TRFQORF13269BEEF33	Morcheeba	Rome Wasn't Built In A Day	http://previews.7digital.com/clip/312059
+SOVWHPM12AB017DABB	TRRPFFW1300D8BCA57	Biffy Clyro	Many Of Horror	http://previews.7digital.com/clip/13673502
+SOUHQHP12AB017FCA7	TRFVDXG12E5AE92439	Man Man	Engwish Bwudd	http://previews.7digital.com/clip/6111328
+SOOWVNN12A8C140775	TRVHEDO12E5B759265	Florence + The Machine	Rabbit Heart (Raise It Up) (Jamie T and Ben Bones Lionheart Remix)	http://previews.7digital.com/clip/5261508
+SONGIXY12A58A7BB42	TRIHOTF13269C0C8C0	LCD Soundsystem	Someone Great	http://previews.7digital.com/clip/1577352
+SOXCUHM12B0B8092BB	TRYXIKT13269E41854	Holy Fuck	Safari	http://previews.7digital.com/clip/1505469
+SONQSBF12AF72ABB86	TRDODGB12E5AC876CB	LCD Soundsystem	Thrills	http://previews.7digital.com/clip/86920
+SOCGXXL12B0B808865	TRYFVMX12E5AC33B2D	Guns N' Roses	Yesterdays	http://previews.7digital.com/clip/164667
+SOLGJYY12A6701C431	TRFZBJJ13269A01502	No Doubt	Sunday Morning	http://previews.7digital.com/clip/147846
+SOLLDVS12AB0183835	TRJCQQG12E5AD27515	The Black Keys	I'll Be Your Man	http://previews.7digital.com/clip/5639090
+SOSLZXV12A8C1354C9	TRBIUVY12E5AC432EF	Eric Clapton	Tears In Heaven	http://previews.7digital.com/clip/1407656
+SOITIDA12A6D4FBC7D	TRAGMOR12E5AD12229	Lupe Fiasco	Intruder Alert (feat. Sarah Green) (Explicit Album Version)	http://previews.7digital.com/clip/2027126
+SOCNAXF12A6D4F9B34	TRVGSBN13269CBC515	Alliance Ethnik	Creil city	http://previews.7digital.com/clip/320220
+SOGPMUO12A6D4F6D31	TRVMOLA13269D1A39E	MSTRKRFT	She's Good For Business	http://previews.7digital.com/clip/14310499
+SOJFARO12AF72A709A	TRHNXXQ13269C53A34	Neutral Milk Hotel	Gardenhead / Leave Me Alone	http://previews.7digital.com/clip/5274368
+SOHNVHC12A6D4F95AB	TREVEBJ13269D17079	Beirut	Elephant Gun	http://previews.7digital.com/clip/3721379
+SOWNIUS12A8C142815	TRIWHKC12E5B3154E8	Kings of Leon	McFearless	http://previews.7digital.com/clip/3529653
+SOJTLHS12A8C13F633	TRLKUKT13E0F9578A4	Cage the Elephant	Ain't No Rest For The Wicked	http://previews.7digital.com/clip/2946131
+SOJCAVK12A8151B805	TRRTDPS12E5B30CFBE	The Kills	Superstition	http://previews.7digital.com/clip/5903727
+SOTGHQR12A8C1406C5	TRCLFOS13269EDB3F1	Chris Bathgate	Coda (Ann St. Pt. 2)	http://previews.7digital.com/clip/3524126
+SOPDRWC12A8C141DDE	TRBYPRI12E5B31550C	Kings of Leon	I Want You	http://previews.7digital.com/clip/3570509
+SOQSPDJ12A58A7EC6E	TRHFCRO12E5AD2D007	The Bird and the Bee	Meteor	http://previews.7digital.com/clip/4017099
+SOWGIBZ12A8C136A2E	TRYCGGT12E5B3154D0	Kings of Leon	King Of The Rodeo	http://previews.7digital.com/clip/3379795
+SONEYTB12AF72A73F0	TRCZOAH12E5AC876E2	LCD Soundsystem	Get Innocuous!	http://previews.7digital.com/clip/698155
+SOPWKOX12A8C139D43	TRYCEHM137FDA595D5	Kings of Leon	Genius	http://previews.7digital.com/clip/3351230
+SORGFZZ12AB0181289	TRIKAFJ13269B8A801	The Yardbirds	Crying Out For Love	http://previews.7digital.com/clip/3975770
+SOQRHIX12A6701F955	TRAVWMB12E5AC92872	Cut Copy	Going Nowhere	http://previews.7digital.com/clip/5648195
+SOZARJQ12A6D4F66CE	TRCDQYT13269CEDAB7	Lily Allen	Cheryl Tweedy	http://previews.7digital.com/clip/4846211
+SOEHTZE12A6310F0F2	TRWKOJU12E4E5856BA	Coldplay	One I Love	http://previews.7digital.com/clip/3002
+SOXZUUK12A6D4F8EE3	TRLKEQR12E5B468070	Lupe Fiasco	Just Might Be OK	http://previews.7digital.com/clip/3681646
+SOIUHFO12A67AD954B	TRHWXVV12E5AC32A36	The Killers	Bling (Confession Of A King)	http://previews.7digital.com/clip/721306
+SORJUET12A6D4F9591	TRIGOAE12E5B44FEAC	The Raconteurs	Broken Boy Soldier	http://previews.7digital.com/clip/474412
+SOGJJON12A67AD9554	TRKHLKR12E5AC32A3D	The Killers	Why Do I Keep Counting?	http://previews.7digital.com/clip/721315
+SONREBX12A8C142DBA	TRQIMQH12E5ACCD140	Hot Chip	I Feel Better	http://previews.7digital.com/clip/7782202
+SOCAHRT12A8C13A1A4	TRSZSNY13269D27183	Jonas Brothers	S.O.S.	http://previews.7digital.com/clip/2855923
+SOJHVZZ12A58A75BBE	TRREGFL12E5B2F260B	Ryan Adams	Peaceful Valley	http://previews.7digital.com/clip/200447
+SOYGHUM12AB018139C	TRMKMAA12E5B595CD7	Five Finger Death Punch	Bad Company	http://previews.7digital.com/clip/9780325
+SOGWKBQ12A670207C1	TRAKAWZ1373390CDE8	The Smiths	Suffer Little Children (2011 Remastered Version)	http://previews.7digital.com/clip/15488253
+SOWKLEE12A81C232AC	TRJORTB12E5B3A1660	Chromeo	Rage!	http://previews.7digital.com/clip/4823888
+SOLPDGD12A6701F951	TRVALLW13FA5E04351	Cut Copy	Time Stands Still	http://previews.7digital.com/clip/30146939
+SOWHATW12A8C132857	TRXPART12E5ACCD0D3	Hot Chip	Shake A Fist	http://previews.7digital.com/clip/2170283
+SOOZNZY12A8151B80A	TRSWPMF12E5B30CF96	The Kills	Cat Claw	http://previews.7digital.com/clip/5895691
+SOHZPIK12A58A7CCAE	TRIZZGK12E5ACB189A	Rihanna	Te Amo	http://previews.7digital.com/clip/7155594
+SOMJJAM12A8C13B607	TRNFLFF12E5B44FEBE	The Raconteurs	Rich Kid Blues	http://previews.7digital.com/clip/2339267
+SOIFDQD12AB01822F5	TRJZXXQ12E5AD27513	The Black Keys	Busted	http://previews.7digital.com/clip/5639071
+SOJSTYO12A8C13F200	TRCDCNI13269BAD5C7	Jack Johnson	Breakdown	http://previews.7digital.com/clip/14485670
+SOWKUZM12A67AE0D37	TRNADTX12E5B4942F9	MSTRKRFT	Street Justice	http://previews.7digital.com/clip/704630
+SOWOMMY127F8096DF9	TRWZRXE12E5B612E26	MGMT	Time to Pretend	http://previews.7digital.com/clip/4442552
+SOJPCYJ12A81C22380	TRJDDBG13269D17078	Beirut	The Flying Club Cup	http://previews.7digital.com/clip/1387865
+SOMWCVL12AF729E81A	TRPRABZ12E5AC32A3A	The Killers	Bones	http://previews.7digital.com/clip/721311
+SOZCDWG12A6D4F81E1	TRUJULB13269C92F9A	Mike + The Mechanics	A Beggar On A Beach Of Gold	http://previews.7digital.com/clip/314716
+SOFDENQ12AB017FD79	TRGUDZB12E5AD84772	The Presidents of the United States of America	Lump (Live)	http://previews.7digital.com/clip/6372670
+SOLVLFW12A67020A3F	TRFFZZQ13269BA8B99	CKY	Behind The Screams	http://previews.7digital.com/clip/144516
+SOHNOOC12A8C13BF35	TRVDIWR12E5B3FCF52	The Postal Service	The District Sleeps Alone Tonight	http://previews.7digital.com/clip/11270639
+SOTUNOQ12A67ADADA7	TRKCEWE12E5B2F260F	Ryan Adams	Pa	http://previews.7digital.com/clip/200451
+SOODWNJ12AC4688DA4	TRAACZK12E5AC809C5	Faith No More	Evidence	http://previews.7digital.com/clip/449809
+SOSUZFA12A8C13C04A	TRUSYVJ12E5AE45E5A	Led Zeppelin	Tangerine	http://previews.7digital.com/clip/2315497
+SOHYRUG12A8C13599D	TRIQNPP13269C576D9	Chris Cornell	Billie Jean	http://previews.7digital.com/clip/1119987
+SOTYLCV12A8C143772	TRQPJLY12E5B3FB3D4	Hot Chip	Bad Luck	http://previews.7digital.com/clip/8597289
+SOPMWXY12A58A7E908	TROWXET12E5AC765F3	Stone Temple Pilots	Days Of The Week	http://previews.7digital.com/clip/5676415
+SOPLUOT12A6D4F7AC3	TREPPIH12E5AC2F942	Beastie Boys	Intergalactic	http://previews.7digital.com/clip/212174
+SODACBL12A8C13C273	TRXGZYU12E5B3AD5F8	Foo Fighters	Learn To Fly	http://previews.7digital.com/clip/3679788
+SOFWNCW12A8151B81A	TROZBUS12E5B30CFC4	The Kills	Hitched	http://previews.7digital.com/clip/5903811
+SOVNVRF12A8C14477B	TRMWZOW13269B91EAF	The Killers	I Can't Stay	http://previews.7digital.com/clip/3788012
+SOGPNGN12A8C143969	TRPJVOK137337C6368	The All-American Rejects	Gives You Hell	http://previews.7digital.com/clip/14857894
+SOSQQGF12A6310F0FB	TRFFDBI12E4E5856AE	Coldplay	Politik	http://previews.7digital.com/clip/2967
+SOSLHMP12A8C1416C1	TRTNZGH12E5B30B2FB	Kanye West	Celebration (Album Version (Edited))	http://previews.7digital.com/clip/159453
+SOSYXDE12A8AE45E45	TRTLVDJ12E5B44EF55	Beyoncé	Green Light	http://previews.7digital.com/clip/3513660
+SOKVSAH12A8C133C6D	TRWQLXM13269C79355	Hot Chip	Bubbles They Bounce	http://previews.7digital.com/clip/2122986
+SOUODFE12A58A80347	TRIQWQE12E5AD03C42	Beyoncé	Kitty Kat	http://previews.7digital.com/clip/6020536
+SOARUPP12AB01842E0	TRDPHSX13269F8F138	Kid Cudi	Up Up & Away	http://previews.7digital.com/clip/6394026
+SOSYOHI12A8C144584	TRIJIGE12E5AE306CA	Cosmo Vitelli	Robot Soul (Radio Edit)	http://previews.7digital.com/clip/4929211
+SOEJMGM12AF72A6261	TRRISZM12E5AD13162	Lily Allen	LDN (Switch Remix)	http://previews.7digital.com/clip/4846304
+SOFJOSL12AB0181CA8	TRZCJJJ13C6D325FE3	Harvey Danger	Flagpole Sitta	http://previews.7digital.com/clip/5191710
+SODTJFU12B0B80C9BE	TRXUZZH12E5B4942F7	MSTRKRFT	Neon Knights	http://previews.7digital.com/clip/605162
+SOGAUOB12A58A7AAC8	TRAGELS12E5ADEBB44	Barricada	Esperame	http://previews.7digital.com/clip/1151915
+SOKUTUM12A6701D9CD	TRALKOT13269BAD5C9	Jack Johnson	Do You Remember	http://previews.7digital.com/clip/14485673
+SOSJRJP12A6D4F826F	TRJZAVZ13269CFDC9F	Metallica	Master Of Puppets	http://previews.7digital.com/clip/417005
+SOMCAFM12A58A7B024	TRYBEOO12E5AD22A13	Foolish Things	Who Can Compare	http://previews.7digital.com/clip/429302
+SOZYSDT12A8C13BFD7	TRVPAKB13269A0412D	Queen	Under Pressure (Live At The Bowl)	http://previews.7digital.com/clip/11600193
+SOUNJIO12AB0181339	TRNJCFD12E5AFE4D90	Future Rock	Gears	http://previews.7digital.com/clip/6053595
+SOVDYZE12A58A7AA62	TRBWHHD13269C1C69F	The Pussycat Dolls	I'm Done	http://previews.7digital.com/clip/3578921
+SOYONCL12A8C13B9F7	TRPGISD12E5B30CFA4	The Kills	Black Balloon	http://previews.7digital.com/clip/5897024
+SOXZMNC12A8C135DD5	TREJBZA12E5AE23C6D	Holy Fuck	Lovely Allen	http://previews.7digital.com/clip/2323808
+SOEKSGJ12A67AE227E	TRQITIF13901F35611	Linkin Park	Crawling	http://previews.7digital.com/clip/462120
+SOMEBUD12AB01869CA	TRVNARG12E5B469510	Lily Allen	Fag Hag	http://previews.7digital.com/clip/4019818
+SOMGVYU12A8C1314FF	TROAHNR13269E2C0F2	J. Karjalainen ja Mustat Lasit	Sinisten tähtien alla	http://previews.7digital.com/clip/1466145
+SOJITNW12A8C13D951	TRENKGE13269D17072	Beirut	The Penalty	http://previews.7digital.com/clip/1387859
+SOOSIWM12A670202B9	TRHLCEV12E5AC781E9	The Stills	Lola Stars and Stripes	http://previews.7digital.com/clip/63788
+SOADISH12AB018DFAC	TRZISJS1309FD43472	Radiohead	Talk Show Host	http://previews.7digital.com/clip/13851332
+SOOKZPI12A67AD9549	TRYFNHW12E5AC32A33	The Killers	Sam's Town	http://previews.7digital.com/clip/721303
+SOPOFBW12AB0187196	TRJAQJF13FA5E058C4	Cut Copy	Saturdays (Reprise)	http://previews.7digital.com/clip/30146942
+SOPMDSY12AF72A0C6F	TRHUYTP13269C1C69A	The Pussycat Dolls	In Person	http://previews.7digital.com/clip/3578916
+SOEXMJG12A8C13EC18	TROOFTT12E5AE45E46	Led Zeppelin	Ten Years Gone	http://previews.7digital.com/clip/1829837
+SOWAGYW12A67020A3A	TRTBSLT13269BA8B94	CKY	The Way You Lived	http://previews.7digital.com/clip/144511
+SOVUBST12AB018C9A4	TRZEYTP1423B1CAA7D	The Black Keys	I'm Not The One	http://previews.7digital.com/clip/32600949
+SOPYNHK12AB017E7D2	TRUZZIA13269B91EB3	The Killers	A Crippling Blow	http://previews.7digital.com/clip/3788016
+SOYUFEX12AB0182255	TRTNBKE13269FDEB3C	Camera Obscura	Other Towns And Cities	http://previews.7digital.com/clip/4494933
+SODGTHG12AB017F730	TRIBQJH12E5AC17841	Modern English	I Melt With You	http://previews.7digital.com/clip/12320883
+SOAZZRU12AB0182B0E	TRATWBC12E5AFC4901	Angels of Light & Akron/Family	Oceanside	http://previews.7digital.com/clip/5483192
+SOGUJGE12AF72A5BC9	TRDENAY12E5AC72C1B	Third Eye Blind	Palm Reader	http://previews.7digital.com/clip/6766787
+SOGCVPU12AB017CA73	TRRQUCH12E5B30CFB1	The Kills	Pull A U	http://previews.7digital.com/clip/5902073
+SOYSPYK12A81C228A0	TRVFZXD13F81AEF035	Timbaland	Outro	http://previews.7digital.com/clip/29988810
+SOEFNWL12AF729CD2F	TRKRBXM12E5ACB3A87	Swizz Beatz	Big Munny (Album Version (Explicit))	http://previews.7digital.com/clip/1215407
+SOJLEMO12A6701EAF9	TRGTBRX12E5AC33B25	Guns N' Roses	The Garden	http://previews.7digital.com/clip/164659
+SOBYDAA12A6D4F8847	TRXLYQW12E4E5965BC	Cat Stevens	Where Do The Children Play?	http://previews.7digital.com/clip/143202
+SOBTNNG12AF72A73E8	TRAJJRU12E5AC876E7	LCD Soundsystem	Us V Them	http://previews.7digital.com/clip/698160
+SOGIDSA12A8C142829	TROYHTJ12E5B3154F0	Kings of Leon	Camaro	http://previews.7digital.com/clip/3529675
+SORHJAS12AB0187D3F	TRBPFQV12E5AE409F9	Skream	Summer Dreams	http://previews.7digital.com/clip/3963219
+SOHPETF12A8C1311E0	TRORDBN12E5ACBB938	Pixies	Debaser	http://previews.7digital.com/clip/400856
+SOYYIZT12A8C1408CA	TRZXHCV12E5AC9B2C5	Foo Fighters	Next Year	http://previews.7digital.com/clip/4143055
+SOCUBFV12AB01810BB	TRSMWON12E5AD2D00C	The Bird and the Bee	Witch	http://previews.7digital.com/clip/4017109
+SOOLKLP12AF729D959	TRBITDF12E5B3154EF	Kings of Leon	Trunk	http://previews.7digital.com/clip/3529673
+SOPWZGK12A67020744	TRAIDYH12E5AC318E9	Alanis Morissette	Ironic (Acoustic Album Version)	http://previews.7digital.com/clip/144227
+SOVHRGF12A8C13852F	TRRZTBI12E5B3AD5F9	Foo Fighters	Generator	http://previews.7digital.com/clip/3679789
+SOFBOXR12A6310F0FC	TRTKOXM12E4E5856B0	Coldplay	God Put A Smile Upon Your Face	http://previews.7digital.com/clip/2969
+SOIZAZL12A6701C53B	TRYKVSO13269C54421	Diddy	I'll Be Missing You	http://previews.7digital.com/clip/15014687
+SOEOUUQ12AB018182A	TRGNSLE12E5AD27553	The Black Keys	Have Mercy On Me	http://previews.7digital.com/clip/9001967
+SONDWXT12A8C13C37F	TRMGVYT12E5AD040FF	Bat for Lashes	Seal Jubilee	http://previews.7digital.com/clip/1179277
+SOXLKNJ12A58A7E09A	TRSSNXS137FDA595D8	Kings of Leon	Joe's Head	http://previews.7digital.com/clip/3351224
+SOCCASN12B0B8069FA	TRFMQDM13269BA9780	The Police	Don't Stand So Close To Me '86	http://previews.7digital.com/clip/538892
+SODHJHX12A58A7D24C	TRIQJRI12E5B31550E	Kings of Leon	Cold Desert	http://previews.7digital.com/clip/3570518
+SOSGAIT12AB018CC18	TRPLWWT12E5AC31BBE	Muse	Unnatural Selection	http://previews.7digital.com/clip/6434582
+SORXQQP12AC960DAB3	TRSXTQB12E5AF74DAE	Camera Obscura	Hands Up Baby	http://previews.7digital.com/clip/8685784
+SOAXGDY12AB01813B0	TRGXJZF13269C576E5	Chris Cornell	Get Up	http://previews.7digital.com/clip/4309108
+SOULBNJ12AB01851E9	TRGTWQF12E5AD2751F	The Black Keys	240 Years Before Your Time	http://previews.7digital.com/clip/5639194
+SOYMEKY12A6D4F88FE	TRGEANI12E5AC32A32	The Killers	A Great Big Sled	http://previews.7digital.com/clip/565670
+SOCBWRP12A8C1311DB	TRJIUJY12E5ACBB944	Pixies	Hey	http://previews.7digital.com/clip/400868
+SOOQIEK12A8C13EA1E	TRPXVPM12E5AC8FEA1	Gotan Project	Last Tango In Paris	http://previews.7digital.com/clip/9262933
+SOWRGEF12A81C228A3	TRNLBOL13F81AEEB1C	Timbaland	Bringin' It	http://previews.7digital.com/clip/29988811
+SOTLTXQ12AB0182257	TREXPML13269FDEB3D	Camera Obscura	Honey In The Sun	http://previews.7digital.com/clip/4494934
+SOPCTBB12AF72A1B64	TRPZQTS12E5AC27AD3	Eminem	Hailie's Song	http://previews.7digital.com/clip/148227
+SOGWXGL12A6D4F41C0	TRJOZQA12E5AC2F974	Beastie Boys	Jimmy James (2009 Digital Remaster)	http://previews.7digital.com/clip/253725
+SOCXCTS12AC468A380	TRDJARZ1326A0702C8	The XX	Basic Space	http://previews.7digital.com/clip/6005256
+SOAOOWF12A8C1347EC	TRZKVRO12E5B344A7B	Harry Gregson-Williams	Bullet Tells The Truth	http://previews.7digital.com/clip/3185174
+SOUZBUD12A8C13FD8E	TRKNLEZ12E5B302EAF	The Strokes	Killing Lies	http://previews.7digital.com/clip/2948842
+SOOGBWC12A8C140B96	TRCFXKM12E5B3620A0	Justin Timberlake	LoveStoned/I Think She Knows (Don Zee Remix)	http://previews.7digital.com/clip/3535015
+SOJVPDY12AF72A1B04	TRUMTRG12E5AD2D004	The Bird and the Bee	What's In The Middle	http://previews.7digital.com/clip/4017083
+SODJTHN12AF72A8FCD	TRIDAMK12E5ADDFEB7	Sage Francis	The Best of Times	http://previews.7digital.com/clip/9197190
+SOMPKTP12A67020A3B	TRLIDVP13269BA8B95	CKY	Dressed In Decay	http://previews.7digital.com/clip/144512
+SOTFIPT12A6701F2FA	TRKRYBW12E5AC3E8EC	Red Hot Chili Peppers	Fortune Faded	http://previews.7digital.com/clip/2284750
+SOYDNQZ12A67020A42	TRDUMYY13269BA8B9C	CKY	Sniped	http://previews.7digital.com/clip/144519
+SOUCPBK12A58A7881A	TRSGSZC13009F41792	Florence + The Machine	My Boy Builds Coffins	http://previews.7digital.com/clip/13725625
+SOBOOXZ12A8C13AF83	TRPXACG12E5AC27F2E	The Hives	Die, All Right!	http://previews.7digital.com/clip/4555730
+SONPLUD12A8C13BF4B	TRZGHJB12E5B3FCF4D	The Postal Service	Clark Gable	http://previews.7digital.com/clip/11270591
+SOIMREX12A6D4F99FE	TRKXXEI12E5AC36BCC	Saliva	Doperide	http://previews.7digital.com/clip/529991
+SOOXLND12A6D4FE36E	TRLWPNU13CFDA1EF74	Fleetwood Mac	Go Your Own Way	http://previews.7digital.com/clip/22916858
+SOZHJKI12A81C2248F	TRTLCAE12E5B3FCF5A	The Postal Service	We Will Become Silhouettes	http://previews.7digital.com/clip/11303366
+SOBNOSD12A8C13C4E0	TRIQKBI1300D8B5152	Interpol	Length Of Love	http://previews.7digital.com/clip/13337842
+SOPKPFW12A6D4F84BC	TRPLMCH13269CE77A4	Young Bleed	We Don't Stop	http://previews.7digital.com/clip/368456
+SOPHBRE12A8C142825	TRQLAEX12E5B3154EE	Kings of Leon	The Runner	http://previews.7digital.com/clip/3529670
+SOUEGBF12AB017EFD5	TRBZMVJ12E5AE92441	Man Man	Van Helsing Boombox	http://previews.7digital.com/clip/6111372
+SOTVFIU12AC46878B7	TRBORJZ12E5AC28D97	Radiohead	Exit Music (For A Film)	http://previews.7digital.com/clip/9089
+SOTNCZU12A8C13EDC8	TRSOWEK1300D8B5150	Interpol	Public Pervert	http://previews.7digital.com/clip/13337840
+SOLFEWX12A8C1442C8	TRIUQFF12E5AC76603	Stone Temple Pilots	Lady Picture Show	http://previews.7digital.com/clip/6762820
+SOCXJFM12A8C13EB1C	TRILYEC12E5ACB3A8A	Swizz Beatz	The Funeral (Album Version (Explicit))	http://previews.7digital.com/clip/1215412
+SOHIROU12AB01852AF	TRKLEKY12E5ACCA721	The Decemberists	Billy Liar	http://previews.7digital.com/clip/6048602
+SOPFFBU12A6D4FA7D2	TRQWMJA12E5AB740A6	N.E.R.D.	Am I High (Feat. Malice)	http://previews.7digital.com/clip/615387
+SODSESK12A81C2178C	TRBEIZH13AD126CF02	Boys Noize	Arcade Robot	http://previews.7digital.com/clip/21591936
+SOGSAYQ12AB018BA14	TRHJPSC12E5B2BCAB7	Justin Bieber	Eenie Meenie	http://previews.7digital.com/clip/11470787
+SOLRTCP12A8C13B5F5	TRJASUJ12E5B44FEB9	The Raconteurs	Top Yourself	http://previews.7digital.com/clip/2339253
+SOOXLWT12AF729D9ED	TRMWPLA12E5AC33B20	Guns N' Roses	You Ain't The First	http://previews.7digital.com/clip/164654
+SOEAJTP12A6310D999	TRIQIRF13901EBB46F	Blur	Sing	http://previews.7digital.com/clip/19572756
+SOAUBGU12A6701C57A	TRPAHZH12E4E5856EB	Coldplay	Swallowed In The Sea	http://previews.7digital.com/clip/118137
+SOXPDDQ12A58A76829	TRRTAMK12E5AD2A721	Cartola	Sala De Recepção	http://previews.7digital.com/clip/1660460
+SONRRQH12AC3DFA45F	TRMYGRN13CFDA538D4	Frightened Rabbit	The Wrestle	http://previews.7digital.com/clip/23101579
+SOQTFOI12AB0185675	TRKLRIP12E5AD2754F	The Black Keys	Keep Me	http://previews.7digital.com/clip/7396395
+SOEMAIM12AC90759AC	TRKJREY14567FD676F	Erin McKeown	You Mustn't Kick It Around	http://previews.7digital.com/clip/35979104
+SOMMLDP12A8C13BA46	TRBSGRD12E5ADD8F8A	The Offspring	Not the One	http://previews.7digital.com/clip/2946211
+SOXXVSU12A8C133445	TRQBLRV12E5ACBB959	Pixies	Velouria	http://previews.7digital.com/clip/2068607
+SOCNKUW12A8C13DE89	TRDDICI13269E03610	Plies	Kept It Too Real	http://previews.7digital.com/clip/2373581
+SOBCOWD12A6701FD78	TRPWPPY12E5AC41ECB	Smash Mouth	Walkin' On The Sun	http://previews.7digital.com/clip/163089
+SOHXKKN12A8151DCDF	TRMPNZJ12E5B30CFB7	The Kills	I Hate The Way You Love	http://previews.7digital.com/clip/5903038
+SOGDQWF12A67AD954F	TRRHAWF12E5AC32A39	The Killers	Uncle Jonny	http://previews.7digital.com/clip/721310
+SOVZHYS12A8C14663F	TRSROYO12E5AE8D264	Future Loop Foundation	What's Your Name	http://previews.7digital.com/clip/3598950
+SOMNPAP12A8C1385D6	TRUJIJK12E5ACCD0DD	Hot Chip	Whistle For Will	http://previews.7digital.com/clip/2170293
+SOSINBC12A67ADAEF6	TRCXNXF13269C1C6EF	The Pussycat Dolls	I Don't Need A Man	http://previews.7digital.com/clip/4739184
+SOTQMGD12A81C2289C	TRQZLUJ13F81AEF54F	Playa	Birthday	http://previews.7digital.com/clip/29988808
+SORJICW12A8C13640D	TRQLEND13E0F963485	Pavement	Mercy Snack: The Laundromat	http://previews.7digital.com/clip/5737325
+SOQIQZU12A6D4FB8B5	TRPTSBY1328D429213	Muse	Plug In Baby	http://previews.7digital.com/clip/15304073
+SOMHMQW12A8C14098B	TRLDTQF12E5ACCD144	Hot Chip	Alley Cats	http://previews.7digital.com/clip/7782228
+SOMJWPP12A6D4F8506	TRFCCBK12E5AC31E57	Secret Machines	I Hate Pretending	http://previews.7digital.com/clip/330246
+SOWDRRZ12A8C13AE89	TRXCDWD13269D6DB60	Foals	The French Open	http://previews.7digital.com/clip/2328470
+SOZGDUH12AF72A6DB2	TRUXBKA13269B89C0E	Gorillaz	Tomorrow Comes Today	http://previews.7digital.com/clip/4929
+SOINDRZ12A6701DAF6	TRJVOOQ12E5B3918CD	Death From Above 1979	Romantic Rights	http://previews.7digital.com/clip/89309
+SOXZCIH12A8C1425F0	TRFJHDS12E5B3FB3D0	Hot Chip	Keep Fallin'	http://previews.7digital.com/clip/8597257
+SONQCXC12A6D4F6A37	TRPHJLL12E5ACDD0A7	Sheena Easton	Strut	http://previews.7digital.com/clip/1500751
+SOWSSRH12A58A7CE5D	TRFZJGX13269D6DB67	Foals	Two Steps, Twice	http://previews.7digital.com/clip/2328477
+SONGPKC12A8C13ABD9	TRQBKTX13269C5BD92	The White Stripes	You Don't Know What Love Is [You Just Do As You're Told]	http://previews.7digital.com/clip/1307465
+SOCBNIS12AF72AB9D3	TRJSDVN12E5ACCD145	Hot Chip	We Have Love	http://previews.7digital.com/clip/7782238
+SOXGQEM12AB0181D35	TRQSVFG12E5B6DE6D7	Lady Gaga	Speechless	http://previews.7digital.com/clip/7128749
+SOKJILN12AB0182BC9	TREIWEV12E5AC7CF4A	Crosby, Stills, Nash & Young	Ohio	http://previews.7digital.com/clip/5912133
+SODMBJL12A8C13EB1A	TRJHQUH12E5ACB3A89	Swizz Beatz	You Know Your Boy Did That	http://previews.7digital.com/clip/1215410
+SOZMINK12AF72AAC26	TRIZNKR12E5ACCDD1A	Black Star	Definition (Album Version (Explicit))	http://previews.7digital.com/clip/5445877
+SOWKVVW12A8AE45E8C	TRTZRWE12E5B30CFA9	The Kills	Last Day Of Magic	http://previews.7digital.com/clip/5897431
+SOSUWJE12AB0184567	TRDECAO12E5AD2D002	The Bird and the Bee	My Love	http://previews.7digital.com/clip/4017074
+SOXKFRI12A8C137A5F	TRCRFXM12E5B1C2569	Amy Winehouse	Wake Up Alone	http://previews.7digital.com/clip/497706
+SOMCWAZ12A67ADBCE3	TRRZDBR13269B91D11	Zero 7	In The Waiting Line	http://previews.7digital.com/clip/181683
+SOWOZBR12A8C13F4F6	TRDBTWU12E4E585713	Coldplay	Careful Where You Stand	http://previews.7digital.com/clip/2424078
+SOVLJHG12A81C21AA0	TROEVMA13269B91825	Twista	Give It Up	http://previews.7digital.com/clip/5679583
+SOGKGDF12AF72A5DD6	TRBGHBT12E5B3B7348	The All-American Rejects	One More Sad Song	http://previews.7digital.com/clip/162170
+SONIMNU12B0B8092AB	TRRNHLC13269E4184F	Holy Fuck	Frenchy’s	http://previews.7digital.com/clip/1505464
+SOAXEPS12AF729E550	TRJXOMA12E5B3063FE	The Rapture	Olio	http://previews.7digital.com/clip/3776859
+SOVYMPX12A8C1359B7	TRXJXTQ13269C576DC	Chris Cornell	Finally Forever	http://previews.7digital.com/clip/1119990
+SOMXDFJ12AB0183B34	TRTUGJI12E5B4838AF	Cobra Starship	Good Girls Go Bad [feat. Leighton Meester]	http://previews.7digital.com/clip/7952768
+SOILFUU12AB017C75F	TRADMNJ13009F4178B	Florence + The Machine	I'm Not Calling You A Liar	http://previews.7digital.com/clip/13725614
+SOTVSBY12A6D4F74D8	TRCCBLA13733B2ACA7	The Cure	The Caterpillar	http://previews.7digital.com/clip/16669854
+SOGNKVE12A8C13E9EE	TRADOSW12E5AC8FE86	Gotan Project	Epoca	http://previews.7digital.com/clip/5594978
+SOYRJTL12A67AD9551	TRYWIDI12E5AC32A3B	The Killers	My List	http://previews.7digital.com/clip/721312
+SOXERNH12A67AD8642	TRKAAJV13269D1A423	Klaxons	Golden Skans	http://previews.7digital.com/clip/552697
+SOPVQLJ12A67AE2281	TRCZRGA12E5ACC192F	Linkin Park	In The End	http://previews.7digital.com/clip/193086
+SOAPIHX12AB0184CB1	TRJFKIY12E5AE409F2	Skream	Auto-Dub	http://previews.7digital.com/clip/3963197
+SOUNSQC12AC9071827	TRHBTRU12E5AE6D2FD	Brant Bjork	Searchin'	http://previews.7digital.com/clip/6686116
+SOLJWHN12AB017ACCE	TRQSAGL12E5AEA7083	Grizzly Bear	Easier	http://previews.7digital.com/clip/5882984
+SOFNYFB12AB0183A73	TRPYIPN12E5ACEDE78	Tonic	Count On Me (Somebody)	http://previews.7digital.com/clip/271883
+SOUFNSM12A58A77715	TROMLCD13269E9A44B	Vampire Weekend	Walcott	http://previews.7digital.com/clip/2093109
+SOZAPQT12A8C142821	TRWGXMJ12E5B3154EC	Kings of Leon	Ragoo	http://previews.7digital.com/clip/3529665
+SOCHYDE12A8C13E438	TRWEOWI12E5AC303EE	The Rolling Stones	Not Fade Away	http://previews.7digital.com/clip/5119260
+SOIFPJU12A8C136FC6	TRWFXCY12E5ADED71A	Plies	Ol' Lady	http://previews.7digital.com/clip/10866926
+SOEENHE12A8C13CA68	TRCSORD12E5ACC4EA6	Dropkick Murphys	Finnegan's Wake	http://previews.7digital.com/clip/3973804
+SOTBBMP12A58A79A48	TRHHBHP13CFDA547EA	Frightened Rabbit	FootShooter	http://previews.7digital.com/clip/23101583
+SOHEMBB12A6701E907	TROXKHA12E5AC27AD2	Eminem	Superman	http://previews.7digital.com/clip/148226
+SOMMATZ12AF72A17CC	TRQVHEL13C6D255A7F	Beirut	The Akara	http://previews.7digital.com/clip/22144739
+SOEYVHS12AB0181D31	TRGUOLT12E5B6DE6D6	Lady Gaga	Monster	http://previews.7digital.com/clip/7128748
+SOHOCMM12AB01845E0	TRTUZIL12E5B7169EE	La Roux	I'm Not Your Toy	http://previews.7digital.com/clip/6548617
+SOQAEHC12A67020A41	TRMKSGH12E5B30B2F3	Kanye West	Roses	http://previews.7digital.com/clip/159445
+SOBJCFV12A8AE469EE	TRDODDN12E5B3154B2	Kings of Leon	Charmer	http://previews.7digital.com/clip/3123851
+SOLLOWH12A3F1E9FB5	TRBERVW13269B835F6	The Hives	You Dress Up For Armageddon	http://previews.7digital.com/clip/7112552
+SOFKEDR12A8C13D381	TRMGLZY12E5ADED687	Plies	You	http://previews.7digital.com/clip/1193719
+SOXSMGP12A6310DFA6	TREQGXN13901EBB5CE	Blur	Girls and Boys	http://previews.7digital.com/clip/19572909
+SOWUTFF12A8C138AB2	TRMRFDJ12E5ADFBA7A	Cake	Frank Sinatra	http://previews.7digital.com/clip/3335432
+SODRUCE12A8C141123	TRRKNLQ12E5B4EDF36	Train	Always Remember	http://previews.7digital.com/clip/3472064
+SOXSURP12A58A7BE92	TRLZIRX12E5AD040FE	Bat for Lashes	The Bat's Mouth	http://previews.7digital.com/clip/1179276
+SONMKLO12AB017B593	TRZUDFW12E5AE409FA	Skream	Colourful	http://previews.7digital.com/clip/3963222
+SOAGIAY12AB0183D8F	TRMDOSR12E5AD27518	The Black Keys	Run Me Down	http://previews.7digital.com/clip/5639124
+SOSBYAJ12A679AE5CD	TRVVPGH12E5AC92B92	Cream	Cat's Squirrel	http://previews.7digital.com/clip/165827
+SOCHXEH12A8C1425D2	TRIWMNK13269C1C698	The Pussycat Dolls	Magic	http://previews.7digital.com/clip/3578914
+SOTQUOJ12A8C13A203	TRPRWLF12E5ACC4ED4	Dropkick Murphys	Which Side Are You On?	http://previews.7digital.com/clip/3752401
+SOKUIUK12A8C13F7F0	TRXKFPP13269D6DB54	Foals	Mathletics	http://previews.7digital.com/clip/1240396
+SOWFRJS12A6701D93B	TROLTTV12E5AC42857	CKY	Inhuman Creation Station	http://previews.7digital.com/clip/271012
+SOINKVP12A8C13BF5D	TRDGVDX12E5B3FCF50	The Postal Service	Brand New Colony	http://previews.7digital.com/clip/11270595
+SOLOFYI12A8C145F8D	TRXJLTH13269A02A7E	Nirvana	Heart-Shaped Box	http://previews.7digital.com/clip/148258
+SOCBMFC12A6701D7BA	TRRVHVV12E5B3B734A	The All-American Rejects	Don't Leave Me	http://previews.7digital.com/clip/162172
+SOEGOAB12A8C13BAE4	TRSTKRC12E5ADFBA6F	Cake	Never There	http://previews.7digital.com/clip/3335574
+SOTHRRH12A8C13DCBA	TRWJQKI12E5B48FBE5	Justice	Let There Be Light	http://previews.7digital.com/clip/1156931
+SOTLSTC12A8C142B6B	TRVMLZS12E5AF06F05	Empire of the Sun	Swordfish Hotkiss Night	http://previews.7digital.com/clip/6910476
+SOCVMXL12A6D4F6EE7	TRQNSTW13269C0C217	Mariah Carey	One And Only	http://previews.7digital.com/clip/2424164
+SOBBGTM12A6D4F6199	TRTTIRS13E0F91AC5A	Edwyn Collins	A Girl Like You	http://previews.7digital.com/clip/169763
+SOBJIZY12A6701F11A	TRSWHDZ13269B8CEB3	Daft Punk	Emotion	http://previews.7digital.com/clip/104056
+SODEHVU12AB017FCD1	TRWCJKX12E5AE9243A	Man Man	Banana Ghost	http://previews.7digital.com/clip/6111335
+SOPXBSU12AB018917D	TRXKKIA12E5AD27555	The Black Keys	Meet Me In the City	http://previews.7digital.com/clip/9001969
+SODQBES12AAFF4444C	TRHBPSS13269CEDAB9	Lily Allen	Blank Expression	http://previews.7digital.com/clip/4846220
+SOEYIND12A6310E02E	TRMSONQ13269B88832	David Bowie	John, I'm Only Dancing (Sax Version) (1997 Digital Remaster)	http://previews.7digital.com/clip/6856
+SOXEUDZ12A8C13145B	TROIAWX13269E89E58	Lykke Li	I'm Good, I'm Gone	http://previews.7digital.com/clip/2705164
+SONMEPF12A6D4F3C92	TRPTFLX12E5ACA06E4	Portishead	Over	http://previews.7digital.com/clip/220632
+SOUXBNY12A8C13BADB	TRFFZEG12E5ADFBA6E	Cake	Mexico	http://previews.7digital.com/clip/3335572
+SOMJFXX12A8C13E9F1	TRCMIRA12E5AC8FE9C	Gotan Project	Chunga's Revenge	http://previews.7digital.com/clip/9262928
+SOXLSBV12AB018397A	TRNBAAH12E5B48FC18	Justice	We Are Your Friends (Reprise) (Album Version)	http://previews.7digital.com/clip/3784706
+SOKLQRE12A58A7BB97	TRMNFQD12E5AC27F2D	The Hives	Hate To Say I Told You So	http://previews.7digital.com/clip/4555728
+SOFWJHD12AB018392B	TRBDXTW12E4E58BC3F	The B-52's	The World's Green Laughter	http://previews.7digital.com/clip/6007198
+SOQWYUA12A81C217E6	TRARXEL13269F530F7	Flobots	Combat (Album Version (Edited))	http://previews.7digital.com/clip/3059660
+SOPXWLG12A8C13E75D	TRESXRS14567FD46AA	Erin McKeown	Rhode Island Is Famous For You	http://previews.7digital.com/clip/35979505
+SOSFZBK12A8C137A1E	TRHKWYH12E5B3A1637	Chromeo	Opening Up	http://previews.7digital.com/clip/2277825
+SOBGMYK12A6D4F6730	TRODWZR13269CEDA83	Lily Allen	Everythings Just Wonderful	http://previews.7digital.com/clip/4127830
+SOOURJG12A8C13A9F3	TRRJBVD12E5AD4E0E2	Bad Religion	We're Only Gonna Die	http://previews.7digital.com/clip/3974012
+SONIJFN12A6D4F7A7A	TRXUTSS13269C015BE	Tom Petty and The Heartbreakers	Learning To Fly	http://previews.7digital.com/clip/230672
+SOFZOTX12A67ADF6DB	TRMKPVG12E5AC6F2FF	Morcheeba	Over And Over	http://previews.7digital.com/clip/1408017
+SOHORHW12A8C139E45	TRJFUPZ13269CEE39D	Gogol Bordello	Dub The Frequencies Of Love	http://previews.7digital.com/clip/6520988
+SOKHYXV12A6D4F676A	TREKTUQ1373C275D0C	Thin Lizzy	Frankie Carroll	http://previews.7digital.com/clip/17567922
+SOBBHVN12A6702162D	TRMCBPC12E5AC6E74C	Rilo Kiley	More Adventurous	http://previews.7digital.com/clip/80659
+SOBTXJE12A6D4FA416	TRLLQRU12E5AC74614	Foreigner	Headknocker	http://previews.7digital.com/clip/3246212
+SODZJCH12A8C132ADC	TRNJYFW14567F2A2FB	Julio Iglesias	Summer Wind	http://previews.7digital.com/clip/35371549
+SOASTSF12A8C1420B5	TRULMVI12E5B4E582D	Bohren & der Club of Gore	Welk	http://previews.7digital.com/clip/3570628
+SORKMCT12A8C136ED7	TRTAAVT12E5AC6FFE9	The Distillers	City Of Angels	http://previews.7digital.com/clip/2225442
+SOJEGJX12AF72A2919	TRFBYAE12E5B4AA41C	Drowning Pool	Duet	http://previews.7digital.com/clip/5439676
+SORZSTP12A8C133573	TRKFJCB12E5AF85232	Soja	Be Aware	http://previews.7digital.com/clip/8561838
+SOSQUZL12A67ADAFCB	TRVQHYS13ED7CA5B06	Metric	Live It Out	http://previews.7digital.com/clip/29291616
+SOLFTVV12A6BD54FFC	TRZCORO13E0F96BA97	Nouvelle Vague	Too Drunk to Fuck	http://previews.7digital.com/clip/9384501
+SOYQLII12A8C143321	TRTTKGD12E5AD71901	Train	Ordinary (Rock Version)	http://previews.7digital.com/clip/3287824
+SOUANJU12A8C14278B	TRPGJBP12E5AD8472E	The Presidents of the United States of America	Kick Out the Jams	http://previews.7digital.com/clip/2451904
+SODSAHJ12A6D4F8A26	TRBUAXM12E5AC432F0	Eric Clapton	Layla (Live - Unplugged)	http://previews.7digital.com/clip/1407659
+SOOBEOM12A58A78166	TROGARO13269A043DC	N.E.R.D.	Sooner or Later	http://previews.7digital.com/clip/2761796
+SOGVJCW12A6D4F8EFD	TRDBLAS12E5AC8022C	Tom Petty	Flirting With Time	http://previews.7digital.com/clip/439961
+SOKXDOB12AB017EFE7	TRZPDMB12E5AE92442	Man Man	Tunneling Through the Guy	http://previews.7digital.com/clip/6111377
+SOKFDWP12A8C1362CC	TRBQILH12E5B5538B0	1990s	Arcade Precinct	http://previews.7digital.com/clip/2936468
+SOTJCZJ12A58A7E54B	TRNVOKH12E5AC79F63	David Lee Roth	Yankee Rose (Spanish Album Version)	http://previews.7digital.com/clip/1338158
+SOGLWGG12A6D4F8046	TRATISJ13269CC384F	Pandora's Box	The Want Ad	http://previews.7digital.com/clip/316922
+SOGWJEY12AC9618862	TRUWDCZ12E5B7CB159	Justin Bieber	Love Me	http://previews.7digital.com/clip/10983935
+SOIZRER12A8C137A26	TRVFPVO12E5B3A162C	Chromeo	Momma's Boy	http://previews.7digital.com/clip/2199726
+SOVPAJA12A58A77B15	TRZXIKX13269C4347B	Amos Lee	Jails & Bombs	http://previews.7digital.com/clip/3623145
+SONAEJC12A8AE45BB4	TRYQBTZ12E5AD9B0EF	Slipknot	Gently	http://previews.7digital.com/clip/1398421
+SOKYDWK12A6D4F623F	TRNZWVP12E5ACCB15A	Regina Spektor	Poor Little Rich Boy	http://previews.7digital.com/clip/685439
+SOTVZIB12A6D4F694A	TRQLIEO13269C33175	Blondie	Atomic '98 (Xenomania Mix)	http://previews.7digital.com/clip/259152
+SOOGBTU12AB0187CB9	TRCWCZH13269E12963	Kid Dynamite	Never Met The Gooch	http://previews.7digital.com/clip/7593181
+SOQTYPY12A8C13F642	TRVWVGA13E0F958C79	Cage the Elephant	Drones In The Valley	http://previews.7digital.com/clip/2946135
+SOZIMYM12A8C13C707	TRBGSSG12E5AE9242E	Man Man	Big Trouble	http://previews.7digital.com/clip/2352100
+SOYGPCH12A8151BD66	TRSXRNE12E5B3AD7A3	Arctic Monkeys	Riot Van	http://previews.7digital.com/clip/5024306
+SOKBPDK12A6D4FB679	TRFQCKI1300D8B5151	Interpol	C'mere	http://previews.7digital.com/clip/13337841
+SOKTJMZ12AB018C9A0	TRLAKSD1423B1CB4D2	The Black Keys	The Go Getter	http://previews.7digital.com/clip/32600948
+SOTMMSE12A8C1410FF	TRRBVLB12E5B4EDF30	Train	Give Myself To You	http://previews.7digital.com/clip/3472056
+SOGGMMV12AB0184AEB	TRULGPJ13269C43EE3	Boston	A New World	http://previews.7digital.com/clip/2478147
+SODILEO12A8C13BC53	TRSWGTW12E5AC27F0A	The Hives	Black Jack	http://previews.7digital.com/clip/2285705
+SOZVVRE12A8C143150	TRVPVJR12E5AC9FA63	Three Drives	Greece 2000 (G&M Project Remix)	http://previews.7digital.com/clip/8789898
+SOYKNUX12A58A7B1C6	TREPAHO13269CEDA6B	Lily Allen	Take What You Take	http://previews.7digital.com/clip/407062
+SOVHBUI12AB0184DEB	TRVSGEI12E5AC33B55	Guns N' Roses	There Was A Time	http://previews.7digital.com/clip/3787070
+SORGIAF12A81C224C2	TRVLYLD12E5AC315F9	Interpol	Rest My Chemistry	http://previews.7digital.com/clip/1158298
+SOZSILE12AB01885B7	TRCGOFV12E5AD2751C	The Black Keys	Them Eyes	http://previews.7digital.com/clip/5639167
+SOCDNMP12AB018440C	TRDAAUK12E5AC8FEA3	Gotan Project	Vuelvo Al Sur	http://previews.7digital.com/clip/9262936
+SOMVPBQ12A58A7835F	TRJRXPS12E5B3A162D	Chromeo	Call Me Up	http://previews.7digital.com/clip/2199729
+SOFKTPP12A8C1385CA	TRELWGL12E5ACCD0DA	Hot Chip	Hold On	http://previews.7digital.com/clip/2170290
+SOYWRZU12A6D4F66C2	TRMTWXE13269A04387	N.E.R.D.	Brain	http://previews.7digital.com/clip/3099
+SOBYZRW12A58A7ABF1	TRJPSNK12E5B2F2F27	Tears for Fears	Head Over Heels	http://previews.7digital.com/clip/84096
+SOZKDMB12B0B80C4AC	TRAFWZP1342394DD77	The Smiths	Asleep (2011 Remastered Version)	http://previews.7digital.com/clip/15488200
+SOHSHMS12A8C13BF58	TRBQPCU12E5B3FCF4F	The Postal Service	This Place Is A Prison	http://previews.7digital.com/clip/11270594
+SOSEKZA12A8C13FF24	TRAKBUO13269D50F87	Miley Cyrus	Goodbye	http://previews.7digital.com/clip/3512847
+SOGVQTZ12A6D4FB490	TRJKIJO1300D8B5161	Interpol	Say Hello to the Angels	http://previews.7digital.com/clip/13337857
+SOWBYZF12A6D4F9424	TRYNDLI13F5DEBE2E7	Horkýže Slíže	Fakty	http://previews.7digital.com/clip/1392987
+SOWEWCO12A8C14074E	TRGWUNK12E5B302E73	The Killers	Everything Will Be Alright	http://previews.7digital.com/clip/4465257
+SONYMUG12A8C136FE5	TRTQVQV12E5ADED71E	Plies	Somebody (Loves You)	http://previews.7digital.com/clip/10866933
+SOLJQPF12A67020924	TREXIND12E5AC279D5	Sparta	Cut Your Ribbon	http://previews.7digital.com/clip/2471461
+SOSTVOA12A8C14261D	TRECUBY13269F530F9	Flobots	Anne Braden	http://previews.7digital.com/clip/3059663
+SOXUYUZ12A8C13A67E	TRXTAIV12E5ACB1D4E	Neutral Milk Hotel	In The Aeroplane Over The Sea	http://previews.7digital.com/clip/10705180
+SOFJAJP12AB0181E62	TRNEEVZ13269B9C13D	Yeah Yeah Yeahs	Soft Shock	http://previews.7digital.com/clip/4428284
+SOWRMTT12A8C137064	TRJWIDS12E5B3154B6	Kings of Leon	Milk	http://previews.7digital.com/clip/3296548
+SOPBGKX12A8C13D97B	TRCMUBW13A6510F560	Garbage	Cherry Lips (Go Baby Go)	http://previews.7digital.com/clip/19868345
+SOBEAHS12A6D4F97A6	TRXNXYY12E5AC72C14	Third Eye Blind	Forget Myself	http://previews.7digital.com/clip/6766775
+SOHXQWR12AF72AB9CD	TRUPKQX12E5ACCD143	Hot Chip	Slush	http://previews.7digital.com/clip/7782224
+SOBEVXQ12A8C13AE57	TRUREZX1300D8B584C	Lou Reed	Xmas In February	http://previews.7digital.com/clip/1089226
+SOTSPVI12A6D4FA446	TRXISAR12E5AD2CFF2	The Bird and the Bee	Birds and the Bees	http://previews.7digital.com/clip/1633051
+SOLSCUX12A8C13D10B	TRHKWSP12E5B48FBEA	Justice	Valentine	http://previews.7digital.com/clip/1156936
+SOKOHLQ12AF729B221	TRITRYI12E5AD8471F	The Presidents of the United States of America	Poke And Destroy	http://previews.7digital.com/clip/2444603
+SOSLCRU12A6701DB0B	TRVOWLS1403C1876FE	Garbage	Milk	http://previews.7digital.com/clip/30625646
+SOBKTKO12AB01857FD	TRBOMKM13269C5BDAF	The White Stripes	Jolene (Live)	http://previews.7digital.com/clip/8238172
+SOGHOJB12A6D4FA7DC	TRCMCSL13269A04386	N.E.R.D.	Things Are Getting Better	http://previews.7digital.com/clip/3098
+SOPGCXT12A8C138AD1	TRNHTAH12E5B3169FB	Jay-Z	D'Evils	http://previews.7digital.com/clip/3297652
+SOTMTTY12A6D4F95A1	TRXIKVJ13269D1705C	Beirut	Prenzlauerberg	http://previews.7digital.com/clip/474430
+SOMYFOB12AAA15FD4F	TRJJXCS12E4E5965BD	Cat Stevens	Hard Headed Woman	http://previews.7digital.com/clip/143203
+SONAISQ12A81C2236D	TRJEWMR13269D17073	Beirut	Forks And Knives (La Fête)	http://previews.7digital.com/clip/1387860
+SOYQKPA12A8C13F31A	TRXJGCV12E5AD3991B	Pepper	Tradewinds	http://previews.7digital.com/clip/6617789
+SOFPEZR12A67021B80	TRJMKQM137EBC7C5AE	Jimi Hendrix	Power Of Soul	http://previews.7digital.com/clip/7427263
+SOGUPIJ12A8C13AEA1	TRFJIFG13269D6DB6A	Foals	Tron	http://previews.7digital.com/clip/2328481
+SOIITXW12A8C142B66	TRLXSJB12E5AF06F04	Empire of the Sun	The World	http://previews.7digital.com/clip/6910465
+SOSZAST12A6D4F6245	TRVPADO13269C76201	Regina Spektor	Lacrimosa	http://previews.7digital.com/clip/229325
+SOZPPYS12898B694CE	TRJFFAB12E5AD2753F	The Black Keys	Everywhere I Go	http://previews.7digital.com/clip/7396312
+SOBFRNE12A6D4F7995	TRCMHRI13269CBC395	Dominique A	Le courage des oiseaux	http://previews.7digital.com/clip/6590470
+SOXTBGF12A6D4FB49C	TRYEPUQ1300D8B5159	Interpol	Slow Hands	http://previews.7digital.com/clip/13337849
+SONGIPI12A8AE46162	TROSJBQ12E5AC860CF	Maná	Rayando el sol	http://previews.7digital.com/clip/1074902
+SOVEMJL12A8C13B645	TRJCUVX13269ECC3CC	Nick Drake	Milk And Honey	http://previews.7digital.com/clip/1212333
+SOSDTGC12AF72A2BC3	TRSJQHG12E5AD1315A	Lily Allen	Chinese	http://previews.7digital.com/clip/4091446
+SOYYCTP12AB017E29C	TRAASIZ13269B91EB0	The Killers	Neon Tiger	http://previews.7digital.com/clip/3788013
+SONUWMR12AF72A374B	TRVSNKQ13269CEDA85	Lily Allen	Friday Night	http://previews.7digital.com/clip/4127833
+SOCJWZY12A67021D18	TRYKXNM13269A047BF	Rufus Wainwright	Hallelujah	http://previews.7digital.com/clip/161891
+SOPKEIV12AB018220D	TRGPXUR12E5ACCA727	The Decemberists	Red Right Ankle	http://previews.7digital.com/clip/6048615
+SOLOZRE12A8C133256	TRQVURJ13269E9A446	Vampire Weekend	M79	http://previews.7digital.com/clip/2093104
+SOHWMES12A67AE0D06	TRAUAMD13269BA92AD	Supertramp	Your Poppa Don't Mind	http://previews.7digital.com/clip/307194
+SORTPHZ12A8C13D374	TRHVGUZ13269E0365C	Plies	I Am The Club	http://previews.7digital.com/clip/9269780
+SOFTTQV12A58A7CD57	TRPCTRO12E5AC33B2A	Guns N' Roses	Coma	http://previews.7digital.com/clip/164664
+SOHZPYD12AF72A12E2	TRPDVBW13733A2FCA1	Pixies	Build High	http://previews.7digital.com/clip/16086712
+SOYFRVX12AAF3B3F3E	TRKECOW13269C5BD6B	The White Stripes	The Denial Twist	http://previews.7digital.com/clip/211415
+SOIAXDW12A6D4F9466	TRPDGQH12E5ACEC0D0	Sammie	I Like It	http://previews.7digital.com/clip/270055
+SOLGPOU12A58A7EA20	TRQGYRN12E5ACCC5A6	Todd Barry	Sugar Ray	http://previews.7digital.com/clip/218510
+SOLMAIK12A8C13F7B5	TRZTDDA13269B8336F	Ryan Adams	Down In A Hole	http://previews.7digital.com/clip/1862595
+SOFCIQA12A58A7EAE7	TRCLTQW13269C5A637	Soundgarden	Loud Love	http://previews.7digital.com/clip/168776
+SOGHPTS12A8C1313E5	TRVDPSB13269B835F2	The Hives	We Rule The World (T.H.E.H.I.V.E.S)	http://previews.7digital.com/clip/7112547
+SOMSLQP12A8C14135B	TRPOJJT12E5B1D5E8E	Selena Gomez	Magical	http://previews.7digital.com/clip/6808491
+SOWBPNX12A8C13465B	TRAMVQY12E5AD03BDC	Beyoncé	Gift From Virgo	http://previews.7digital.com/clip/3223664
+SOZEWZS12AB018FAF1	TRKWADT137FDA47920	Toro Y Moi	Imprint After	http://previews.7digital.com/clip/18975150
+SOCBGZW12A58A7CAC2	TRYGDBZ12E5ACE8FA0	Grand Funk Railroad	We're An American Band	http://previews.7digital.com/clip/377216
+SOPGPTD12A6310E032	TRCPVFV13A6509A957	David Bowie	Oh! You Pretty Things	http://previews.7digital.com/clip/13933747
+SOPGMKX12AB0182B4C	TRMZGPC1380A405D99	The Smiths	Half A Person	http://previews.7digital.com/clip/15488344
+SORFRGW12A8C13EB13	TRNVQFS12E5ACB3A86	Swizz Beatz	It's Me B*#@hes (Main)	http://previews.7digital.com/clip/1215405
+SOGZQHS12A8C137A12	TREYWRC12E5B3A1635	Chromeo	My Girl Is Calling Me (A Liar)	http://previews.7digital.com/clip/2277820
+SOQDMED12A67ADE731	TRNGTEJ12E5B30CFB4	The Kills	Love Is A Deserter	http://previews.7digital.com/clip/5903003
+SOSLKVW12A6D4F7ACB	TRMRXDE12E5B351C90	Stray Cats	Runaway Boys	http://previews.7digital.com/clip/3364741
+SOXDMAC12AB017E7FF	TRMSOQQ12E5AEA7087	Grizzly Bear	Little Brother	http://previews.7digital.com/clip/5883027
+SOAGGLN12AB018AC9B	TRCXQMT138FD1348A3	Gorillaz	Empire Ants (feat. Little Dragon)	http://previews.7digital.com/clip/8380908
+SOGPWVK12A58A7B419	TREJQTO12E5AC72633	MC5	Baby Won't Ya	http://previews.7digital.com/clip/136912
+SONKYVR12B0B80AF82	TRPNNMB13269CBF5E8	Thievery Corporation	Indra	http://previews.7digital.com/clip/3548595
+SOWBTMO12A6701C56D	TRZFAXQ12E5AC9C25F	OK Go	Invincible	http://previews.7digital.com/clip/118122
+SOFAFXU12A8C141523	TRZWKBA12E5B477613	Eddie Vedder	Society	http://previews.7digital.com/clip/5291937
+SOMVEVM12AB01855C6	TRFAPQJ12E4E58BC3C	The B-52's	Revolution Earth	http://previews.7digital.com/clip/6007134
+SOXAIMS12A8C137E90	TRCGIZG13CFDA51A25	Frightened Rabbit	The Modern Leper	http://previews.7digital.com/clip/23098685
+SOALITF12A6310DFCD	TRAYKNM12E5AC28DB9	Radiohead	Just	http://previews.7digital.com/clip/9500
+SOQBPJS12A67ADA077	TRQDKIS12E5B3063E2	The Rapture	Down For So Long	http://previews.7digital.com/clip/443682
+SOPCCWV12A670205F3	TREVRXX12E5AC7CF48	Crosby, Stills & Nash	Wooden Ships	http://previews.7digital.com/clip/5912130
+SOVRIZO12AF72A4C0C	TRKKSLU12E5B306401	The Rapture	I Need Your Love	http://previews.7digital.com/clip/3776863
+SOPNOHB12AB0186834	TRGECHU12E5ACB08AA	The Zombies	Leave Me Be	http://previews.7digital.com/clip/6110575
+SOHFVJR12AF72A9805	TRJKRAI12E5ACA06B0	Phoenix	Holdin' On Together	http://previews.7digital.com/clip/579384
+SOPIQZP12A670201C7	TRVOMVZ12E5B306408	The Rapture	Infatuation	http://previews.7digital.com/clip/3776871
+SOKKUJN12A63110824	TRXYDAO13269B89C1B	Gorillaz	Clint Eastwood (Ed Case/Sweetie Irie Refix) [Edit]	http://previews.7digital.com/clip/4942
+SOKMNVE12A8C13BA72	TRVIBGV13269E5E209	Luis Alberto Spinetta	Alma De Diamante	http://previews.7digital.com/clip/2356075
+SOQPBQQ12A6701D1D8	TRBPQDB13269C576B3	Chris Cornell	Flutter Girl	http://previews.7digital.com/clip/163259
+SOYWVJX12A8C13EDA9	TRPKMCB1300D8B514D	Interpol	Take You On A Cruise	http://previews.7digital.com/clip/13337837
+SOCRNTA12A8C13CCB6	TRWQWAI13269C0DE7E	Queens of the Stone Age	Battery Acid	http://previews.7digital.com/clip/1086280
+SOPAEYW12A58A7DBFE	TRGVSHY12E5B4EDF33	Train	All I Hear	http://previews.7digital.com/clip/3472059
+SOQYLUM12A58A7CB55	TRIGJVI13CFDA5262F	Frightened Rabbit	Things	http://previews.7digital.com/clip/23101576
+SOUWEJS12AB01868A4	TRDOWDB12E5AF5CFDE	Soda Stereo	Observándonos (Satélites)	http://previews.7digital.com/clip/5644844
+SONUYPZ12AC46899E2	TRDPYPE14567FD31DB	Sense Field	Am I a Fool	http://previews.7digital.com/clip/35978906
+SOACGVR12A8C13B60A	TRLNRNU12E5B44FEBF	The Raconteurs	These Stones Will Shout	http://previews.7digital.com/clip/2339269
+SOYIWVC12A8AE47F31	TRYRYZS13CFDA50F12	The Pretend It's December Choir	It's Christmas So We'll Stop (Choir Version)	http://previews.7digital.com/clip/23098987
+SOODSPH12AB01819C3	TRWZHCZ13009F41790	Florence + The Machine	Between Two Lungs	http://previews.7digital.com/clip/13725621
+SOXUMBC12AB018DA2B	TRHDVST13CFDA52D36	Frightened Rabbit	Nothing Like You	http://previews.7digital.com/clip/23101581
+SOHKKFX12A58A7975B	TRZMWGO12E5ACBB983	Pixies	Into The White	http://previews.7digital.com/clip/2073192
+SOMRPMY12AF72A1025	TRIQUFK12E5AC72C2A	Third Eye Blind	Darkness (2008 Album Version)	http://previews.7digital.com/clip/6786508
+SOWQBBT12AC4686122	TRFPPGX12E5AC76607	Stone Temple Pilots	Adhesive	http://previews.7digital.com/clip/6762824
+SOHQRUK12A6701F9AD	TRMAMQI13269C2088F	Eels	Mother Mary	http://previews.7digital.com/clip/109461
+SOJEVHC12A8C13C3E5	TRJPTQG13E0F929988	Bon Iver	Flume	http://previews.7digital.com/clip/2267102
+SOFAMRP12AF72A069E	TRLDLBU12E5AE9242D	Man Man	The Ballad Of Butter Beans	http://previews.7digital.com/clip/2352099
+SOMZRXL12A81C224B9	TRHAKAL12E5AC315F7	Interpol	Pace Is The Trick	http://previews.7digital.com/clip/1158296
+SOJPFPR12AB018109D	TRIHOPQ12E5AD2D008	The Bird and the Bee	Baby	http://previews.7digital.com/clip/4017101
+SOXMGUX12A8C136EBC	TRUVEER13269DDBF61	1990s	You Made Me Like It	http://previews.7digital.com/clip/1228984
+SORPVUD12A67020454	TRJCTGM12E5AC3E8F1	Red Hot Chili Peppers	Otherside	http://previews.7digital.com/clip/336020
+SOFRNOJ12AB018839A	TRKENQD13269D50FA9	Miley Cyrus	Kicking And Screaming	http://previews.7digital.com/clip/6737325
+SODOWQF12A81C2371B	TRWBCUI13269D766E1	Simian Mobile Disco	Hustler (Club Version)	http://previews.7digital.com/clip/1941097
+SOGYLTC12A8C14111E	TRZJXEW12E5B4EDF35	Train	Explanation	http://previews.7digital.com/clip/3472062
+SOFFWND12A58A796B7	TRQPIZK12E5AC73074	Jason Mraz	You And I Both	http://previews.7digital.com/clip/1139527
+SOCLANN12AC907598C	TRTSOUK14567FD2C01	Erin McKeown	Love in 2 Parts	http://previews.7digital.com/clip/35979107
+SOOZZGS12A6D4FBDF8	TRKGTLK12E5AD24438	Vitalic	The Past	http://previews.7digital.com/clip/2206036
+SOLIFTZ12AB017AFED	TRMCBEN12E5ACA65F9	Dave Matthews Band	#40	http://previews.7digital.com/clip/5415996
+SOPHRXX12A67ADA08E	TRNTXEA13269D0CB28	Fergie	Pedestal (Album Version (Explicit))	http://previews.7digital.com/clip/1137956
+SOXGQCN12A8C1384FA	TRIUZDT12E5ADFBA85	Cake	Italian Leather Sofa	http://previews.7digital.com/clip/3335459
+SOAWIDW12A81C22AEB	TRRINCI13269B9B540	Kanye West	I Wonder	http://previews.7digital.com/clip/1356699
+SONEYYW12AF72A2AA6	TRVRFQF12E5B2FD85D	Four Tet	Glue Of The World	http://previews.7digital.com/clip/5497436
+SOHQWZJ12AB01892EC	TRBGVIL1326A1859AD	Iration	Dream	http://previews.7digital.com/clip/8526736
+SOETQJP12A6D4F6731	TRGWJIY13269CEDA84	Lily Allen	Not Big	http://previews.7digital.com/clip/4127831
+SOJNFQR12A8C13F5E9	TRJOYFS12E5ACABEF3	Operation Ivy	Take Warning	http://previews.7digital.com/clip/1828959
+SOCTOZW12A8C13AE90	TRQYRDK13269D6DB64	Foals	Electric Bloom	http://previews.7digital.com/clip/2328474
+SOIYNJG12AB01810B2	TRMQKVN12E5AD2D00B	The Bird and the Bee	You're A Cad	http://previews.7digital.com/clip/4017108
+SOAYSMC12A67020927	TRHJIVL12E5B1C7C12	The Who	Magic Bus (Original Stereo Version)	http://previews.7digital.com/clip/1081436
+SOJUBSU12AF729FEC1	TRNPVSA12E5ACCD141	Hot Chip	One Life Stand	http://previews.7digital.com/clip/7782213
+SODTQFE12A8C133B0B	TRRRIOA13CFDA51A6B	Frightened Rabbit	Music Now	http://previews.7digital.com/clip/23101426
+SOVEHBY12A8C13F32E	TRMEEAY12E5AD39922	Pepper	Tongues	http://previews.7digital.com/clip/6617796
+SOWDKXZ12A81C22377	TRPCFBD13269D17076	Beirut	Cherbourg	http://previews.7digital.com/clip/1387863
+SOINIUZ12A67ADF6D8	TREAZJO13269BEEF28	Morcheeba	Blindfold	http://previews.7digital.com/clip/312011
+SOMVAGR12A67AE1114	TRWLRQU12E5AC88634	Timbaland	Throw It On Me	http://previews.7digital.com/clip/4522931
+SOLKOOO12AB018794A	TRDIGAJ12E5AD27545	The Black Keys	10 A.M. Automatic	http://previews.7digital.com/clip/7396344
+SOHAHTQ12AB017AA32	TRRTDSD12E5B4DED81	Epica	Incentive (Bonus Track)	http://previews.7digital.com/clip/6755016
+SOKVADK12A8C1359C6	TRAYXOG13269C576D0	Chris Cornell	Today (Non-LP Version)	http://previews.7digital.com/clip/982602
+SOOJWBH12A6D4F64E3	TRPWLKA12E5B37A3C8	Devo	Mongoloid	http://previews.7digital.com/clip/309572
+SONKHQE12A58A7C8AD	TRGAGFP13269CEC84F	Lupe Fiasco	Dumb It Down (feat. GemStones and Graham Burris)	http://previews.7digital.com/clip/3682786
+SOHQIBR12A6310E0ED	TRGOQAW12E5AC28DF4	Radiohead	In Limbo	http://previews.7digital.com/clip/2748795
+SOHDQMI12A6D4F9A77	TRARCMR12E5AC809FC	Faith No More	Stripsearch	http://previews.7digital.com/clip/8719296
+SOPLUBC12A8C142B6D	TRTDWIA12E5AF06F06	Empire of the Sun	Tiger By My Side	http://previews.7digital.com/clip/6910481
+SOMGPML12A8C13AE8C	TRNUKAK13269D6DB62	Foals	Red Socks Pugie	http://previews.7digital.com/clip/2328472
+SOMUEZH12A6D4F66C6	TRBEIII13269A0438C	N.E.R.D.	Baby Doll	http://previews.7digital.com/clip/3104
+SOQJAZE12A6D4F95A8	TRWXOFL13269D17063	Beirut	The Bunker	http://previews.7digital.com/clip/474437
+SOHLLRP12A6701F2F4	TRCDJLH12E5AC3E97C	Red Hot Chili Peppers	Under The Bridge	http://previews.7digital.com/clip/439881
+SOJEMSC12A6D4F81A6	TRDVJOD12E5AC90118	Melody Club	Evil Thing	http://previews.7digital.com/clip/494414
+SOYTDBL12A6D4F8148	TRRYHGS13269CC41E1	Sauce Money	What We Do (Feat. Memphis Bleek)	http://previews.7digital.com/clip/320844
+SOVTLQW12AB0186641	TRYLVZA13269A041DF	Queen	Love Of My Life	http://previews.7digital.com/clip/12904261
+SOGEFOF12A81C2235D	TRIKUXA13269D1706E	Beirut	A Sunday Smile	http://previews.7digital.com/clip/1387855
+SOZKLMU12A8AE4714C	TRNIRFZ12E5AD2753C	The Black Keys	Midnight in Her Eyes	http://previews.7digital.com/clip/7396294
+SOKQMOW12A6701DEFC	TRMIRLS137EBC7C5D3	Jimi Hendrix	Electric Church Red House	http://previews.7digital.com/clip/7427299
+SOKLADX12A8C13AA37	TRQRKMR12E5B36207E	Justin Timberlake	Still On My Brain	http://previews.7digital.com/clip/3372267
+SOYVUDI12A81C22872	TRWXKJG13F81AEED59	Timbaland	Wit' Yo' Bad Self	http://previews.7digital.com/clip/29988797
+SORFSKT12A8C1430A0	TRXCNZV13FA5DF3BB2	Jonas Brothers	Sorry	http://previews.7digital.com/clip/30061958
+SOVIZNF12AF72A710A	TRGHAES13E0F917965	The Prodigy	The Big Gun Down	http://previews.7digital.com/clip/15899001
+SOHODOM12A6D4FD028	TRZTTKY12E5AC9BB18	The Wallflowers	Honeybee	http://previews.7digital.com/clip/3032353
+SOMVUAM12A8C14416D	TRMEQAT13C6D254C46	Beirut	The Concubine	http://previews.7digital.com/clip/22144756
+SOJOVEU12A8C140C34	TRHNUIC13269C0C224	Mariah Carey	Love Story	http://previews.7digital.com/clip/2424537
+SONEWOI12AAF3B3602	TRINKFW12E5B3FB3D7	Hot Chip	Baby Said	http://previews.7digital.com/clip/8597306
+SOZJWDN12A8151B851	TRUAUDE12E5B2FD881	Four Tet	My Angel Rocks Back and Forth	http://previews.7digital.com/clip/5499361
+SOFSIKY12AF72A0807	TRRQGEX12E5B1C25E1	Amy Winehouse	Fuck Me Pumps	http://previews.7digital.com/clip/2855119
+SOCFPBP12AB0182D2B	TRTTXEN13269FDEB37	Camera Obscura	Swans	http://previews.7digital.com/clip/4494927
+SOHNGUW12A81C22370	TRKSEAN13269D17074	Beirut	In The Mausoleum	http://previews.7digital.com/clip/1387861
+SOGCCBF12AB0188DEE	TRMXZDZ13269C51F41	Frankie Avalon	You Are Mine	http://previews.7digital.com/clip/8981056
+SOAAAGQ12A8C1420C8	TRBDPZG12E5B4E582F	Bohren & der Club of Gore	Orgelblut	http://previews.7digital.com/clip/3570632
+SOFZRXA12AC960DAB5	TRDZNLA12E5AF74DCD	Camera Obscura	Alaska	http://previews.7digital.com/clip/10716688
+SOIICEQ12A6D4F7FE0	TRJBWXB12E4F0C4A61	Mae	Someone Else's Arms	http://previews.7digital.com/clip/433875
+SOWBFBP12A58A7D6EA	TRVOXGL12E5AC7B76E	Jane's Addiction	Had A Dad	http://previews.7digital.com/clip/11835545
+SOFWBSS12A8C136313	TRNBEYC12E5B5538B8	1990s	Situation	http://previews.7digital.com/clip/2936484
+SOHZDYL12A8C141C73	TRYRYNE13269D1DAE6	The Undertones	My Perfect Cousin	http://previews.7digital.com/clip/3987001
+SOOROCA12AF72A07D1	TRAQUDT13269CFC2FD	Flogging Molly	If I Ever Leave This World Alive	http://previews.7digital.com/clip/6521016
+SOAOERV12AF72A48FC	TRDNEHK12E5B306404	The Rapture	Echoes	http://previews.7digital.com/clip/3776866
+SOHDSVJ12A6D4F93FF	TRASWFQ134239CCDA1	Daft Punk	Nightvision	http://previews.7digital.com/clip/485121
+SOFFWDQ12A8C13B433	TRIPOFU137FDA5975C	Kings of Leon	Dusty	http://previews.7digital.com/clip/3357545
+SOMZMOQ12A8C13A687	TRGRTLU12E5ACB1D4F	Neutral Milk Hotel	Two-Headed Boy	http://previews.7digital.com/clip/10705181
+SONFCUC12A58A7BC34	TRHWFZD12E4E588891	Common	G.O.D. (Gaining One's Definition) Featuring Ce-Lo	http://previews.7digital.com/clip/3543117
+SOOTKBQ12AC3DFA4A2	TRTXCVD13CFDA52332	Frightened Rabbit	Man/bag of Sand	http://previews.7digital.com/clip/23101582
+SOKDFZW12AC9072C8C	TRAIWPO13DAC359B25	Camera Obscura	Razzle Dazzle Rose	http://previews.7digital.com/clip/8677876
+SOOGZYY12A6701D9CB	TRTRPBN13269BAD5C5	Jack Johnson	Crying Shame	http://previews.7digital.com/clip/14485667
+SOGUKDL12A6D4FAAB9	TRHOLFO13269D62236	Kate Winslet	What If (Film Version)	http://previews.7digital.com/clip/643851
+SOPXSEP12A67ADE986	TRYBKMV12E5B4DBCE9	Arcade Fire	Intervention	http://previews.7digital.com/clip/1077808
+SODMUPG12A67021CC7	TRGNJOM12E5ACB0BB1	Elliott Smith	L.A.	http://previews.7digital.com/clip/161805
+SOABGQW12AB017CFB2	TRPXRDT12E5B4AA418	Drowning Pool	Up Side Down	http://previews.7digital.com/clip/5439649
+SOBRREA12A6701C403	TRWVSKC12E5B2F246D	The Black Eyed Peas	Sexy	http://previews.7digital.com/clip/162528
+SOHOWRD12AB018FBF5	TRXUXCM12E5AEE85D6	Hermano	Letters From Madrid	http://previews.7digital.com/clip/8064134
+SOEPWPM12AC468611C	TRPRQZY12E5AC76604	Stone Temple Pilots	And So I Know	http://previews.7digital.com/clip/6762821
+SOVBQGQ12AF72A9803	TRUYTSQ12E5ACA06AE	Phoenix	Congratulations	http://previews.7digital.com/clip/579382
+SOJZEXX12A6D4F6247	TRWDLVX12E5ACCB162	Regina Spektor	Chemo Limo	http://previews.7digital.com/clip/685448
+SOKFNBL12AF72A1A41	TRCXVNU13CFDA50E60	Frightened Rabbit	Head Rolls Off	http://previews.7digital.com/clip/23098851
+SOALBSB12A58A814C0	TRDAXUE12E5AC3E436	The Smiths	Stop Me If You Think You've Heard This One Before	http://previews.7digital.com/clip/7341531
+SOGJMTM12A6310E17B	TRCGRRO12E5AC28DF1	Radiohead	How To Disappear Completely	http://previews.7digital.com/clip/2748792
+SOVVRDZ12A6701C577	TRDWXZZ12E4E5856E8	Coldplay	A Message	http://previews.7digital.com/clip/118134
+SOMRTUH12AB0185650	TRQUNWB12E5AD2754A	The Black Keys	The Lengths	http://previews.7digital.com/clip/7396370
+SOTJRSO12AB0182AE4	TRFWXLB13269C5A636	Soundgarden	Full On Kevin's Mom	http://previews.7digital.com/clip/168775
+SOPMKMD12A67020BD9	TRTXCXB12E5AC72634	MC5	Miss X	http://previews.7digital.com/clip/136913
+SOMCPUY12A81C2399A	TRFGDQD12E5AE5B8F8	Lykke Li	Everybody But Me	http://previews.7digital.com/clip/2876775
+SOXVIYQ12A6D4F8C9C	TRKBFLU13269BA9719	The Police	Driven To Tears	http://previews.7digital.com/clip/386524
+SODRLEQ12A6701F953	TRSDFJP13FA5E05927	Cut Copy	Saturdays	http://previews.7digital.com/clip/30146941
+SOIOESO12A6D4F621D	TRSIQZZ12E5AC76BB6	matchbox twenty	Unwell	http://previews.7digital.com/clip/225107
+SOIDAAV12AB0182D50	TRCSVEE13269DDBF71	1990s	Giddy Up	http://previews.7digital.com/clip/4400226
+SOLEWHB12AB01831B3	TRFTVYI12E5B712AC8	Deer Tick	Art Isn't Real (City Of Sin)	http://previews.7digital.com/clip/10220362
+SOFGIVB12A6D4F5923	TRFMNUU13269CFDCCE	Metallica	The Memory Remains	http://previews.7digital.com/clip/417190
+SOJMJMS12AB018566E	TRFRJJB12E5AD2754D	The Black Keys	Act Nice and Gentle	http://previews.7digital.com/clip/7396389
+SOMAUYZ12A8C135979	TRBMQWX13269C576D3	Chris Cornell	Poison Eye	http://previews.7digital.com/clip/1119981
+SOBYSRH12A8C13AE98	TRJBZTC13269D6DB66	Foals	Heavy Water	http://previews.7digital.com/clip/2328476
+SOITMVX12AF72A089F	TRYYVZG12E5AC26DDD	Lionel Richie	My Love	http://previews.7digital.com/clip/170927
+SOLKDYK12AB018DA3C	TRGZBDN13CFDA51CDC	Frightened Rabbit	Learned Your Name	http://previews.7digital.com/clip/23099113
+SOINDXC12A6D4F8C3C	TROQQJB12E5ACF1281	PlankEye	Step Away	http://previews.7digital.com/clip/384222
+SOQWSHS12A6701C576	TRCSDIW12E4E5856E6	Coldplay	X & Y	http://previews.7digital.com/clip/118132
+SOVCUAX12AB017EFB5	TRYETUG12E5AE9243F	Man Man	Push The Eagle's Stomach	http://previews.7digital.com/clip/6111361
+SOBGNMG12A8C133DFD	TRXFTPL142C9370E5F	Foreigner	Waiting For A Girl Like You	http://previews.7digital.com/clip/5945473
+SOKBTWI12B0B80BD8F	TRGUBEQ1450A46706D	Grateful Dead	High Time	http://previews.7digital.com/clip/34694627
+SOYUSCG12AB0182BB5	TRYITEC12E5AC7CF46	Crosby, Stills, Nash & Young	Deja Vu	http://previews.7digital.com/clip/5912128
+SOLBWFV12A8C13D5B2	TRTUXRT12E5B1F5B83	Miley Cyrus	G.N.O. (Girl's Night Out)	http://previews.7digital.com/clip/2353241
+SOFJCCE12AB0183F96	TRRXBPY140A16BBEE1	Bruce Dickinson	Faith	http://previews.7digital.com/clip/30944896
+SOSKVCM12AF729D67B	TRHZKKM12E5B4B2972	The Shins	Mild Child	http://previews.7digital.com/clip/11303324
+SODHKOL12A8C141128	TRIYSMZ12E5B4EDF37	Train	I'm Not Waiting In Line	http://previews.7digital.com/clip/3472065
+SOGANEO12AB018018E	TRHCYFC12E5AC28DDD	Radiohead	Prove Yourself	http://previews.7digital.com/clip/10738
+SOHKQUZ12A67020A3D	TREBMOO13269BA8B97	CKY	All Power To Slaves	http://previews.7digital.com/clip/144514
+SOHEGSJ12AB0183790	TRXMVSB12E5ACB9D4C	Lindisfarne	You Never Miss The Water Until The Well Runs Dry	http://previews.7digital.com/clip/11072695
+SOIEYZO12AB0188717	TRMYUZV12E5AE92447	Man Man	Zebra	http://previews.7digital.com/clip/6111722
+SOOALOT12A8C13ABD9	TREYLXD13269CF3631	Olle Adolphson	En glad calypso om våren (Live '62)	http://previews.7digital.com/clip/1669000
+SODUPLP12A6D4FB8E3	TRGVQQA1328D429216	Muse	Screenager	http://previews.7digital.com/clip/15304079
+SONBXQW12A6701FD05	TRGJXUU13269C4424D	The Cardigans	Erase / Rewind	http://previews.7digital.com/clip/5758813
+SOTGOVG12A6701C573	TROMPXB12E4E5856E3	Coldplay	White Shadows	http://previews.7digital.com/clip/118129
+SOBLTMH12A6D4FA44D	TRPLWEM12E5ACCB15C	Regina Spektor	The Flowers	http://previews.7digital.com/clip/685441
+SOKCZCN12A6D4F94CF	TRESPYC12E5B2FF91F	The Rolling Stones	Let It Loose	http://previews.7digital.com/clip/3521980
+SOMDIFH12A6310F24B	TRPSCWZ12E5AC28DC7	Radiohead	A Reminder	http://previews.7digital.com/clip/9514
+SOZXDDH12A8C134AE4	TRPCEBD13269CD088B	The Fratellis	Milk & Money	http://previews.7digital.com/clip/2708445
+SODXRTY12AB0180F3B	TRSUYGI12E5B6DE6E7	Lady Gaga	Paper Gangsta	http://previews.7digital.com/clip/7128765
+SOMKNTR12A6D4F9CCD	TRODPZC13269A0438F	N.E.R.D.	Bobby James	http://previews.7digital.com/clip/3107
+SOWJENM12AC4686110	TRUKXKJ12E5AC76600	Stone Temple Pilots	Pop's Love Suicide	http://previews.7digital.com/clip/6762814
+SOMIHZH12AB01821D8	TRPIIFD12E5ACCA719	The Decemberists	A Cautionary Song	http://previews.7digital.com/clip/6048135
+SOXMTXB12AF729A276	TRCMAJU13269DCB25D	Slightly Stoopid	Older	http://previews.7digital.com/clip/11668006
+SOZEBAZ12AF72A80C8	TRJVXZQ1373399F472	Thursday	Voices On a String	http://previews.7digital.com/clip/15829400
+SOJDMAS12B0B8079A4	TRKASVZ12E5AE9242C	Man Man	Hurly / Burly	http://previews.7digital.com/clip/2352098
+SORMNIY12A8C13BC44	TRUFBMV12E5AC27F13	The Hives	Here We Go Again	http://previews.7digital.com/clip/3973497
+SOPZBUU12A6D4F6F0C	TRJRUQG12E5ACC6BEE	Story of the Year	Wake Up The Voiceless	http://previews.7digital.com/clip/1438216
+SOTSHYT12A8C142868	TRRYDRD13EF6662086	Phoenix	Rome	http://previews.7digital.com/clip/29445893
+SOTKFFF12AC9072C86	TRIPTYI13DAC35A5B0	Camera Obscura	I Need All The Friends I Can Get	http://previews.7digital.com/clip/8677874
+SOVOOSP12A6310F1AC	TRXWQOG12E5AC2E9EB	Daft Punk	Aerodynamic (Daft Punk Remix)	http://previews.7digital.com/clip/6499
+SOGFISS12A58A7E5FE	TRRMRQO12E5AD42B64	Adam Watts	I Would Choose You	http://previews.7digital.com/clip/557532
+SOZDMZB12A6701D925	TRNIHDH12E5AC42856	CKY	Plastic Plan	http://previews.7digital.com/clip/271011
+SOVBJIV12A81C22366	TRJRXOG13269D17071	Beirut	Cliquot	http://previews.7digital.com/clip/1387858
+SOWMDQL12A8C13FB54	TROJFSD12E5B506527	Daughtry	What I Want	http://previews.7digital.com/clip/3687327
+SOKXMHW12AF729EAA6	TRDBBVL12E5B30CB25	Neil Young	Harvest	http://previews.7digital.com/clip/684884
+SOPNSJN12AF72A50A6	TRVCWWI12E5AE92437	Man Man	Whalebones	http://previews.7digital.com/clip/2352109
+SOCVDDD12AB017E85A	TRTPNFX12E5B362080	Justin Timberlake	Let's Take A Ride	http://previews.7digital.com/clip/3372279
+SONLOQQ12A8C139AF9	TRNXZZN12E5AC28D77	Radiohead	Go To Sleep	http://previews.7digital.com/clip/5829
+SOGSMFF12A8C13F5F9	TRXSHUR12E5ACABEF6	Operation Ivy	Unity	http://previews.7digital.com/clip/1828962
+SOZFWXQ12A58A7C631	TRWOZKT12E5AC77DEA	Shinedown	45	http://previews.7digital.com/clip/5820388
+SOTGWWO12A8C13E806	TRPMCRG12E5B1E538C	Miley Cyrus	As I Am	http://previews.7digital.com/clip/1146351
+SOYHKYO12AB018224C	TRDNJLA13269FDEB3A	Camera Obscura	My Maudlin Career	http://previews.7digital.com/clip/4494931
+SOFRWHG12A58A7DF46	TRPKTCL12E5AD2753A	The Black Keys	Hard Row	http://previews.7digital.com/clip/7396283
+SOHDPUQ12A6701FB97	TRHFZGE13269A01507	No Doubt	Tragic Kingdom	http://previews.7digital.com/clip/147851
+SOQBMFK12A8C13835B	TREEHRG12E5ADDF338	59 Times the Pain	Found Home	http://previews.7digital.com/clip/4093388
+SOFZXIO12A8C1362C9	TRLIIKX12E5B5538AF	1990s	Cult Status	http://previews.7digital.com/clip/2936466
+SOVOLWT12A8C132DA5	TRQCDCY12E5ACF6738	Kansas	Hold On	http://previews.7digital.com/clip/11129833
+SOBYPWB12A8C141665	TRPULOK12E5AC765DE	Stone Temple Pilots	No Memory	http://previews.7digital.com/clip/4191194
+SOZVSSP12AB01819DE	TRLWFZL12E5B6DE6D2	Lady Gaga	LoveGame (Space Cowboy Remix)	http://previews.7digital.com/clip/6377296
+SOXLWPN12A8C143667	TRUIOCC12E5B759392	The Temper Trap	Rest	http://previews.7digital.com/clip/5818845
+SOYIJRW12A8C134621	TRHBEOP12E5AD03BD3	Beyoncé	Hip Hop Star	http://previews.7digital.com/clip/3223648
+SOKTUOG12A8C135990	TRDSLIS13269C576C7	Chris Cornell	Ghosts	http://previews.7digital.com/clip/982588
+SOGLKUJ12A8AE46B92	TRPBWVT13E0F955D35	Travis	Sing	http://previews.7digital.com/clip/3104510
+SOOIZTZ12A6D4FBDC7	TRNABBU13269D6DB51	Foals	Hummer	http://previews.7digital.com/clip/686343
+SORSSEI12A6701E511	TRXKDRT1418BD8ABF2	Pogues	White City	http://previews.7digital.com/clip/30146684
+SOKTUUN12AB017E5B5	TRCWHKN12E5B2F25C8	Ryan Adams	Stop	http://previews.7digital.com/clip/3662021
+SOXAJDB12A8C13AB22	TRFRZXL13CFDA53894	Frightened Rabbit	Floating in the Forth	http://previews.7digital.com/clip/23101515
+SOJSUQF12A67ADF6C0	TRSQPMF13009F04E04	Morcheeba	Charango (Feat: Pace Won)	http://previews.7digital.com/clip/13222193
+SOWOZLK12A8C136B33	TRTVWJC1433ED0AD55	Modest Mouse	Doin' The Cockroach	http://previews.7digital.com/clip/5408810
+SOAAMOW12AB018149B	TRUNIDA12E5B4765BA	Andrew Bird	Nomenclature	http://previews.7digital.com/clip/10979927
+SOMIPZX12A8C1410FA	TRTGKGZ12E5B4EDF2E	Train	Get Out	http://previews.7digital.com/clip/3472053
+SOVMGXI12AF72A80B0	TRJZYLJ12E5B2F2469	The Black Eyed Peas	Hey Mama	http://previews.7digital.com/clip/162524
+SOKKVXX12AB017AFB7	TRHBCZF13423948162	The Smiths	Back To The Old House	http://previews.7digital.com/clip/15458571
+SOAMFCO12A6701F117	TRXHTVA13A650B9989	Damien Rice	Cannonball	http://previews.7digital.com/clip/16279050
Binary file Dataset/7digital/features/feats.pkl has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dataset/7digital/lists/audio_files.txt	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,640 @@
+/home/paulo/Downloads/audio/SOXAJDB12A8C13AB22.mp3
+/home/paulo/Downloads/audio/SOSQUZL12A67ADAFCB.mp3
+/home/paulo/Downloads/audio/SOGSMFF12A8C13F5F9.mp3
+/home/paulo/Downloads/audio/SOTLTXQ12AB0182257.mp3
+/home/paulo/Downloads/audio/SOBLTMH12A6D4FA44D.mp3
+/home/paulo/Downloads/audio/SOWJENM12AC4686110.mp3
+/home/paulo/Downloads/audio/SOXZMNC12A8C135DD5.mp3
+/home/paulo/Downloads/audio/SOHFVJR12AF72A9805.mp3
+/home/paulo/Downloads/audio/SOFLJQZ12A6D4FADA6.mp3
+/home/paulo/Downloads/audio/SOFBOXR12A6310F0FC.mp3
+/home/paulo/Downloads/audio/SOASTSF12A8C1420B5.mp3
+/home/paulo/Downloads/audio/SOUNZHU12A8AE47481.mp3
+/home/paulo/Downloads/audio/SOHXQWR12AF72AB9CD.mp3
+/home/paulo/Downloads/audio/SOFJCCE12AB0183F96.mp3
+/home/paulo/Downloads/audio/SONYMUG12A8C136FE5.mp3
+/home/paulo/Downloads/audio/SOYQLII12A8C143321.mp3
+/home/paulo/Downloads/audio/SOFFWDQ12A8C13B433.mp3
+/home/paulo/Downloads/audio/SOCNAXF12A6D4F9B34.mp3
+/home/paulo/Downloads/audio/SOFJAJP12AB0181E62.mp3
+/home/paulo/Downloads/audio/SOHWMES12A67AE0D06.mp3
+/home/paulo/Downloads/audio/SOOXRJG12A8C13773E.mp3
+/home/paulo/Downloads/audio/SOOALOT12A8C13ABD9.mp3
+/home/paulo/Downloads/audio/SODGTHG12AB017F730.mp3
+/home/paulo/Downloads/audio/SOEHHNH12AB017F715.mp3
+/home/paulo/Downloads/audio/SOXMGUX12A8C136EBC.mp3
+/home/paulo/Downloads/audio/SOKXDOB12AB017EFE7.mp3
+/home/paulo/Downloads/audio/SOVUBST12AB018C9A4.mp3
+/home/paulo/Downloads/audio/SOIZAZL12A6701C53B.mp3
+/home/paulo/Downloads/audio/SOMCPUY12A81C2399A.mp3
+/home/paulo/Downloads/audio/SOMCWAZ12A67ADBCE3.mp3
+/home/paulo/Downloads/audio/SOMHMQW12A8C14098B.mp3
+/home/paulo/Downloads/audio/SOKKVXX12AB017AFB7.mp3
+/home/paulo/Downloads/audio/SOXLSBV12AB018397A.mp3
+/home/paulo/Downloads/audio/SODXRTY12AB0180F3B.mp3
+/home/paulo/Downloads/audio/SORFRGW12A8C13EB13.mp3
+/home/paulo/Downloads/audio/SOMCMKG12A8C1347BF.mp3
+/home/paulo/Downloads/audio/SOCNKUW12A8C13DE89.mp3
+/home/paulo/Downloads/audio/SOKTJMZ12AB018C9A0.mp3
+/home/paulo/Downloads/audio/SOEAJTP12A6310D999.mp3
+/home/paulo/Downloads/audio/SOIFDQD12AB01822F5.mp3
+/home/paulo/Downloads/audio/SOHZDYL12A8C141C73.mp3
+/home/paulo/Downloads/audio/SOSLKVW12A6D4F7ACB.mp3
+/home/paulo/Downloads/audio/SOZXDDH12A8C134AE4.mp3
+/home/paulo/Downloads/audio/SOYKNUX12A58A7B1C6.mp3
+/home/paulo/Downloads/audio/SOMXDFJ12AB0183B34.mp3
+/home/paulo/Downloads/audio/SODACBL12A8C13C273.mp3
+/home/paulo/Downloads/audio/SOWRGEF12A81C228A3.mp3
+/home/paulo/Downloads/audio/SOMMATZ12AF72A17CC.mp3
+/home/paulo/Downloads/audio/SOAYSMC12A67020927.mp3
+/home/paulo/Downloads/audio/SOFFWND12A58A796B7.mp3
+/home/paulo/Downloads/audio/SOXDMAC12AB017E7FF.mp3
+/home/paulo/Downloads/audio/SOAVWHY12AB017C6C0.mp3
+/home/paulo/Downloads/audio/SOWMDQL12A8C13FB54.mp3
+/home/paulo/Downloads/audio/SOBJIZY12A6701F11A.mp3
+/home/paulo/Downloads/audio/SOWAGYW12A67020A3A.mp3
+/home/paulo/Downloads/audio/SOXLWPN12A8C143667.mp3
+/home/paulo/Downloads/audio/SOZHJKI12A81C2248F.mp3
+/home/paulo/Downloads/audio/SOKBPDK12A6D4FB679.mp3
+/home/paulo/Downloads/audio/SOXVIYQ12A6D4F8C9C.mp3
+/home/paulo/Downloads/audio/SOXEUDZ12A8C13145B.mp3
+/home/paulo/Downloads/audio/SOWBTMO12A6701C56D.mp3
+/home/paulo/Downloads/audio/SOFWNCW12A8151B81A.mp3
+/home/paulo/Downloads/audio/SOEHTZE12A6310F0F2.mp3
+/home/paulo/Downloads/audio/SOXXVSU12A8C133445.mp3
+/home/paulo/Downloads/audio/SOHQIBR12A6310E0ED.mp3
+/home/paulo/Downloads/audio/SOXSURP12A58A7BE92.mp3
+/home/paulo/Downloads/audio/SOFDENQ12AB017FD79.mp3
+/home/paulo/Downloads/audio/SOTMMSE12A8C1410FF.mp3
+/home/paulo/Downloads/audio/SOOJWBH12A6D4F64E3.mp3
+/home/paulo/Downloads/audio/SOIEYZO12AB0188717.mp3
+/home/paulo/Downloads/audio/SOAXGDY12AB01813B0.mp3
+/home/paulo/Downloads/audio/SOULTKQ12AB018A183.mp3
+/home/paulo/Downloads/audio/SOYGHUM12AB018139C.mp3
+/home/paulo/Downloads/audio/SOXZCIH12A8C1425F0.mp3
+/home/paulo/Downloads/audio/SOQSPDJ12A58A7EC6E.mp3
+/home/paulo/Downloads/audio/SOXZUUK12A6D4F8EE3.mp3
+/home/paulo/Downloads/audio/SOTGHQR12A8C1406C5.mp3
+/home/paulo/Downloads/audio/SORJICW12A8C13640D.mp3
+/home/paulo/Downloads/audio/SOHAHTQ12AB017AA32.mp3
+/home/paulo/Downloads/audio/SOLJWHN12AB017ACCE.mp3
+/home/paulo/Downloads/audio/SOPXKYD12A6D4FA876.mp3
+/home/paulo/Downloads/audio/SOSQQGF12A6310F0FB.mp3
+/home/paulo/Downloads/audio/SONMEPF12A6D4F3C92.mp3
+/home/paulo/Downloads/audio/SOBOOXZ12A8C13AF83.mp3
+/home/paulo/Downloads/audio/SOWKUZM12A67AE0D37.mp3
+/home/paulo/Downloads/audio/SOBYZRW12A58A7ABF1.mp3
+/home/paulo/Downloads/audio/SOLFTVV12A6BD54FFC.mp3
+/home/paulo/Downloads/audio/SOHVWPV12A8C135C5B.mp3
+/home/paulo/Downloads/audio/SOOFYTN12A6D4F9B35.mp3
+/home/paulo/Downloads/audio/SOXERNH12A67AD8642.mp3
+/home/paulo/Downloads/audio/SOGPWVK12A58A7B419.mp3
+/home/paulo/Downloads/audio/SOIUHFO12A67AD954B.mp3
+/home/paulo/Downloads/audio/SOWBYZF12A6D4F9424.mp3
+/home/paulo/Downloads/audio/SOOLKLP12AF729D959.mp3
+/home/paulo/Downloads/audio/SOZYSDT12A8C13BFD7.mp3
+/home/paulo/Downloads/audio/SOXMTXB12AF729A276.mp3
+/home/paulo/Downloads/audio/SOGVQTZ12A6D4FB490.mp3
+/home/paulo/Downloads/audio/SOKMNVE12A8C13BA72.mp3
+/home/paulo/Downloads/audio/SOHODOM12A6D4FD028.mp3
+/home/paulo/Downloads/audio/SOHNOOC12A8C13BF35.mp3
+/home/paulo/Downloads/audio/SOUHQHP12AB017FCA7.mp3
+/home/paulo/Downloads/audio/SOUSAXA12AF72A73F5.mp3
+/home/paulo/Downloads/audio/SOPHBRE12A8C142825.mp3
+/home/paulo/Downloads/audio/SOPXBSU12AB018917D.mp3
+/home/paulo/Downloads/audio/SOBUBLL12A58A795A8.mp3
+/home/paulo/Downloads/audio/SONWUZV12AB0180BAD.mp3
+/home/paulo/Downloads/audio/SOGANEO12AB018018E.mp3
+/home/paulo/Downloads/audio/SOJNFQR12A8C13F5E9.mp3
+/home/paulo/Downloads/audio/SOULBNJ12AB01851E9.mp3
+/home/paulo/Downloads/audio/SOXSMGP12A6310DFA6.mp3
+/home/paulo/Downloads/audio/SOEKSGJ12A67AE227E.mp3
+/home/paulo/Downloads/audio/SORMNIY12A8C13BC44.mp3
+/home/paulo/Downloads/audio/SOBEAHS12A6D4F97A6.mp3
+/home/paulo/Downloads/audio/SOTFIPT12A6701F2FA.mp3
+/home/paulo/Downloads/audio/SOGVKXX12A67ADA0B8.mp3
+/home/paulo/Downloads/audio/SOFAMRP12AF72A069E.mp3
+/home/paulo/Downloads/audio/SOGNKVE12A8C13E9EE.mp3
+/home/paulo/Downloads/audio/SOZVSSP12AB01819DE.mp3
+/home/paulo/Downloads/audio/SOEOUUQ12AB018182A.mp3
+/home/paulo/Downloads/audio/SOPXSEP12A67ADE986.mp3
+/home/paulo/Downloads/audio/SOXLKNJ12A58A7E09A.mp3
+/home/paulo/Downloads/audio/SOFAFXU12A8C141523.mp3
+/home/paulo/Downloads/audio/SOPNOHB12AB0186834.mp3
+/home/paulo/Downloads/audio/SOMZRXL12A81C224B9.mp3
+/home/paulo/Downloads/audio/SOAXEPS12AF729E550.mp3
+/home/paulo/Downloads/audio/SOGHPTS12A8C1313E5.mp3
+/home/paulo/Downloads/audio/SOHKQUZ12A67020A3D.mp3
+/home/paulo/Downloads/audio/SOJPFPR12AB018109D.mp3
+/home/paulo/Downloads/audio/SOPGCXT12A8C138AD1.mp3
+/home/paulo/Downloads/audio/SOSTVOA12A8C14261D.mp3
+/home/paulo/Downloads/audio/SOILFUU12AB017C75F.mp3
+/home/paulo/Downloads/audio/SOBYSRH12A8C13AE98.mp3
+/home/paulo/Downloads/audio/SOGHOJB12A6D4FA7DC.mp3
+/home/paulo/Downloads/audio/SOIYNJG12AB01810B2.mp3
+/home/paulo/Downloads/audio/SOFRNOJ12AB018839A.mp3
+/home/paulo/Downloads/audio/SOINKVP12A8C13BF5D.mp3
+/home/paulo/Downloads/audio/SOIZRER12A8C137A26.mp3
+/home/paulo/Downloads/audio/SOBOUPA12A6D4F81F1.mp3
+/home/paulo/Downloads/audio/SOBBCWG12AF72AB9CB.mp3
+/home/paulo/Downloads/audio/SOGCCBF12AB0188DEE.mp3
+/home/paulo/Downloads/audio/SOEMAIM12AC90759AC.mp3
+/home/paulo/Downloads/audio/SOVOOSP12A6310F1AC.mp3
+/home/paulo/Downloads/audio/SOYYCTP12AB017E29C.mp3
+/home/paulo/Downloads/audio/SOSYXDE12A8AE45E45.mp3
+/home/paulo/Downloads/audio/SOSPXWA12AB0181875.mp3
+/home/paulo/Downloads/audio/SOINDXC12A6D4F8C3C.mp3
+/home/paulo/Downloads/audio/SOXUYUZ12A8C13A67E.mp3
+/home/paulo/Downloads/audio/SOLRTCP12A8C13B5F5.mp3
+/home/paulo/Downloads/audio/SOWFRJS12A6701D93B.mp3
+/home/paulo/Downloads/audio/SOZARJQ12A6D4F66CE.mp3
+/home/paulo/Downloads/audio/SOMJFXX12A8C13E9F1.mp3
+/home/paulo/Downloads/audio/SOSEKZA12A8C13FF24.mp3
+/home/paulo/Downloads/audio/SOCHXEH12A8C1425D2.mp3
+/home/paulo/Downloads/audio/SOUZBUD12A8C13FD8E.mp3
+/home/paulo/Downloads/audio/SOHYRUG12A8C13599D.mp3
+/home/paulo/Downloads/audio/SOBTXJE12A6D4FA416.mp3
+/home/paulo/Downloads/audio/SOAWIDW12A81C22AEB.mp3
+/home/paulo/Downloads/audio/SOKVADK12A8C1359C6.mp3
+/home/paulo/Downloads/audio/SOAMFCO12A6701F117.mp3
+/home/paulo/Downloads/audio/SOTQMGD12A81C2289C.mp3
+/home/paulo/Downloads/audio/SOOGBTU12AB0187CB9.mp3
+/home/paulo/Downloads/audio/SOSKVCM12AF729D67B.mp3
+/home/paulo/Downloads/audio/SODRLEQ12A6701F953.mp3
+/home/paulo/Downloads/audio/SORGFZZ12AB0181289.mp3
+/home/paulo/Downloads/audio/SOXKFRI12A8C137A5F.mp3
+/home/paulo/Downloads/audio/SONGIPI12A8AE46162.mp3
+/home/paulo/Downloads/audio/SOPMKMD12A67020BD9.mp3
+/home/paulo/Downloads/audio/SOBGNMG12A8C133DFD.mp3
+/home/paulo/Downloads/audio/SOOGZYY12A6701D9CB.mp3
+/home/paulo/Downloads/audio/SOSUZFA12A8C13C04A.mp3
+/home/paulo/Downloads/audio/SOSFZBK12A8C137A1E.mp3
+/home/paulo/Downloads/audio/SOTJCZJ12A58A7E54B.mp3
+/home/paulo/Downloads/audio/SODSESK12A81C2178C.mp3
+/home/paulo/Downloads/audio/SOVDYZE12A58A7AA62.mp3
+/home/paulo/Downloads/audio/SOHEMBB12A6701E907.mp3
+/home/paulo/Downloads/audio/SOGWXGL12A6D4F41C0.mp3
+/home/paulo/Downloads/audio/SOUGCDK12AC95F075F.mp3
+/home/paulo/Downloads/audio/SOAGIAY12AB0183D8F.mp3
+/home/paulo/Downloads/audio/SOGLKUJ12A8AE46B92.mp3
+/home/paulo/Downloads/audio/SONQSBF12AF72ABB86.mp3
+/home/paulo/Downloads/audio/SONAEJC12A8AE45BB4.mp3
+/home/paulo/Downloads/audio/SOQRHIX12A6701F955.mp3
+/home/paulo/Downloads/audio/SOETHKN12AF72A65A6.mp3
+/home/paulo/Downloads/audio/SOSLHMP12A8C1416C1.mp3
+/home/paulo/Downloads/audio/SOZEBAZ12AF72A80C8.mp3
+/home/paulo/Downloads/audio/SOZPPYS12898B694CE.mp3
+/home/paulo/Downloads/audio/SOGDQWF12A67AD954F.mp3
+/home/paulo/Downloads/audio/SOOKZPI12A67AD9549.mp3
+/home/paulo/Downloads/audio/SOJLEMO12A6701EAF9.mp3
+/home/paulo/Downloads/audio/SOSJRJP12A6D4F826F.mp3
+/home/paulo/Downloads/audio/SOGJMTM12A6310E17B.mp3
+/home/paulo/Downloads/audio/SOLOZRE12A8C133256.mp3
+/home/paulo/Downloads/audio/SOSBYAJ12A679AE5CD.mp3
+/home/paulo/Downloads/audio/SOYEQLD12AB017C713.mp3
+/home/paulo/Downloads/audio/SOSINBC12A67ADAEF6.mp3
+/home/paulo/Downloads/audio/SOOXLWT12AF729D9ED.mp3
+/home/paulo/Downloads/audio/SOYQKPA12A8C13F31A.mp3
+/home/paulo/Downloads/audio/SOLGPOU12A58A7EA20.mp3
+/home/paulo/Downloads/audio/SOOBEOM12A58A78166.mp3
+/home/paulo/Downloads/audio/SOWEWCO12A8C14074E.mp3
+/home/paulo/Downloads/audio/SOGLWGG12A6D4F8046.mp3
+/home/paulo/Downloads/audio/SOZVCRW12A67ADA0B7.mp3
+/home/paulo/Downloads/audio/SODHJHX12A58A7D24C.mp3
+/home/paulo/Downloads/audio/SOKKUJN12A63110824.mp3
+/home/paulo/Downloads/audio/SOGAUOB12A58A7AAC8.mp3
+/home/paulo/Downloads/audio/SOVOLWT12A8C132DA5.mp3
+/home/paulo/Downloads/audio/SOYWRZU12A6D4F66C2.mp3
+/home/paulo/Downloads/audio/SORJUET12A6D4F9591.mp3
+/home/paulo/Downloads/audio/SOUWEJS12AB01868A4.mp3
+/home/paulo/Downloads/audio/SOTGWWO12A8C13E806.mp3
+/home/paulo/Downloads/audio/SOHORHW12A8C139E45.mp3
+/home/paulo/Downloads/audio/SOQYLUM12A58A7CB55.mp3
+/home/paulo/Downloads/audio/SOCVDDD12AB017E85A.mp3
+/home/paulo/Downloads/audio/SOTLSTC12A8C142B6B.mp3
+/home/paulo/Downloads/audio/SOPFFBU12A6D4FA7D2.mp3
+/home/paulo/Downloads/audio/SOJEGJX12AF72A2919.mp3
+/home/paulo/Downloads/audio/SOOZNZY12A8151B80A.mp3
+/home/paulo/Downloads/audio/SOVWADY12AB0189C63.mp3
+/home/paulo/Downloads/audio/SOJZEXX12A6D4F6247.mp3
+/home/paulo/Downloads/audio/SOHPETF12A8C1311E0.mp3
+/home/paulo/Downloads/audio/SOHQWZJ12AB01892EC.mp3
+/home/paulo/Downloads/audio/SOLPDGD12A6701F951.mp3
+/home/paulo/Downloads/audio/SOPXLWJ12A8C132639.mp3
+/home/paulo/Downloads/audio/SOKNWRZ12A8C13BF62.mp3
+/home/paulo/Downloads/audio/SOADISH12AB018DFAC.mp3
+/home/paulo/Downloads/audio/SORFSKT12A8C1430A0.mp3
+/home/paulo/Downloads/audio/SOYUSCG12AB0182BB5.mp3
+/home/paulo/Downloads/audio/SOETMGH12AB01822F2.mp3
+/home/paulo/Downloads/audio/SOKOHLQ12AF729B221.mp3
+/home/paulo/Downloads/audio/SOPTLQL12AB018D56F.mp3
+/home/paulo/Downloads/audio/SOJCAVK12A8151B805.mp3
+/home/paulo/Downloads/audio/SOBBGTM12A6D4F6199.mp3
+/home/paulo/Downloads/audio/SODZJCH12A8C132ADC.mp3
+/home/paulo/Downloads/audio/SOGUKDL12A6D4FAAB9.mp3
+/home/paulo/Downloads/audio/SOLSCUX12A8C13D10B.mp3
+/home/paulo/Downloads/audio/SONAISQ12A81C2236D.mp3
+/home/paulo/Downloads/audio/SOYRJTL12A67AD9551.mp3
+/home/paulo/Downloads/audio/SOALEQA12A58A77839.mp3
+/home/paulo/Downloads/audio/SOKQMOW12A6701DEFC.mp3
+/home/paulo/Downloads/audio/SOPHRXX12A67ADA08E.mp3
+/home/paulo/Downloads/audio/SOZGDUH12AF72A6DB2.mp3
+/home/paulo/Downloads/audio/SOTBBMP12A58A79A48.mp3
+/home/paulo/Downloads/audio/SOWBPNX12A8C13465B.mp3
+/home/paulo/Downloads/audio/SOQGOPT12AAF3B2B27.mp3
+/home/paulo/Downloads/audio/SOGWKBQ12A670207C1.mp3
+/home/paulo/Downloads/audio/SOKFNBL12AF72A1A41.mp3
+/home/paulo/Downloads/audio/SOMMKEW12A58A80F00.mp3
+/home/paulo/Downloads/audio/SOKTUOG12A8C135990.mp3
+/home/paulo/Downloads/audio/SOKUIUK12A8C13F7F0.mp3
+/home/paulo/Downloads/audio/SOYFRVX12AAF3B3F3E.mp3
+/home/paulo/Downloads/audio/SOCBNIS12AF72AB9D3.mp3
+/home/paulo/Downloads/audio/SONKYVR12B0B80AF82.mp3
+/home/paulo/Downloads/audio/SOPUCYA12A8C13A694.mp3
+/home/paulo/Downloads/audio/SOTYLCV12A8C143772.mp3
+/home/paulo/Downloads/audio/SOAZZRU12AB0182B0E.mp3
+/home/paulo/Downloads/audio/SOWOZBR12A8C13F4F6.mp3
+/home/paulo/Downloads/audio/SOXGQEM12AB0181D35.mp3
+/home/paulo/Downloads/audio/SOWNIUS12A8C142815.mp3
+/home/paulo/Downloads/audio/SOMYFOB12AAA15FD4F.mp3
+/home/paulo/Downloads/audio/SOMSLQP12A8C14135B.mp3
+/home/paulo/Downloads/audio/SOFKEDR12A8C13D381.mp3
+/home/paulo/Downloads/audio/SOWOZLK12A8C136B33.mp3
+/home/paulo/Downloads/audio/SOVBQGQ12AF72A9803.mp3
+/home/paulo/Downloads/audio/SOOGBWC12A8C140B96.mp3
+/home/paulo/Downloads/audio/SOSLZXV12A8C1354C9.mp3
+/home/paulo/Downloads/audio/SOZEWZS12AB018FAF1.mp3
+/home/paulo/Downloads/audio/SODJTHN12AF72A8FCD.mp3
+/home/paulo/Downloads/audio/SOIMREX12A6D4F99FE.mp3
+/home/paulo/Downloads/audio/SOYIWVC12A8AE47F31.mp3
+/home/paulo/Downloads/audio/SOVZHYS12A8C14663F.mp3
+/home/paulo/Downloads/audio/SOSXLTC12AF72A7F54.mp3
+/home/paulo/Downloads/audio/SONUWMR12AF72A374B.mp3
+/home/paulo/Downloads/audio/SOVEHBY12A8C13F32E.mp3
+/home/paulo/Downloads/audio/SOKJILN12AB0182BC9.mp3
+/home/paulo/Downloads/audio/SONGIXY12A58A7BB42.mp3
+/home/paulo/Downloads/audio/SONEYYW12AF72A2AA6.mp3
+/home/paulo/Downloads/audio/SOYWVJX12A8C13EDA9.mp3
+/home/paulo/Downloads/audio/SOSLCRU12A6701DB0B.mp3
+/home/paulo/Downloads/audio/SOVRIZO12AF72A4C0C.mp3
+/home/paulo/Downloads/audio/SOGUPIJ12A8C13AEA1.mp3
+/home/paulo/Downloads/audio/SOSGAIT12AB018CC18.mp3
+/home/paulo/Downloads/audio/SOGEFOF12A81C2235D.mp3
+/home/paulo/Downloads/audio/SODLAPJ12A8C142002.mp3
+/home/paulo/Downloads/audio/SOCGXXL12B0B808865.mp3
+/home/paulo/Downloads/audio/SOPAEYW12A58A7DBFE.mp3
+/home/paulo/Downloads/audio/SOMIHZH12AB01821D8.mp3
+/home/paulo/Downloads/audio/SOLIFTZ12AB017AFED.mp3
+/home/paulo/Downloads/audio/SODTQFE12A8C133B0B.mp3
+/home/paulo/Downloads/audio/SOITMVX12AF72A089F.mp3
+/home/paulo/Downloads/audio/SOVEMJL12A8C13B645.mp3
+/home/paulo/Downloads/audio/SORPVUD12A67020454.mp3
+/home/paulo/Downloads/audio/SOXAIMS12A8C137E90.mp3
+/home/paulo/Downloads/audio/SOQIQZU12A6D4FB8B5.mp3
+/home/paulo/Downloads/audio/SOPGPTD12A6310E032.mp3
+/home/paulo/Downloads/audio/SOFTTQV12A58A7CD57.mp3
+/home/paulo/Downloads/audio/SOGFISS12A58A7E5FE.mp3
+/home/paulo/Downloads/audio/SOJSTYO12A8C13F200.mp3
+/home/paulo/Downloads/audio/SOBKTKO12AB01857FD.mp3
+/home/paulo/Downloads/audio/SOMDIFH12A6310F24B.mp3
+/home/paulo/Downloads/audio/SOACGVR12A8C13B60A.mp3
+/home/paulo/Downloads/audio/SOHSHMS12A8C13BF58.mp3
+/home/paulo/Downloads/audio/SOKDFZW12AC9072C8C.mp3
+/home/paulo/Downloads/audio/SOOURJG12A8C13A9F3.mp3
+/home/paulo/Downloads/audio/SOPMDSY12AF72A0C6F.mp3
+/home/paulo/Downloads/audio/SOPXWLG12A8C13E75D.mp3
+/home/paulo/Downloads/audio/SOBYDAA12A6D4F8847.mp3
+/home/paulo/Downloads/audio/SOZZIOH12A67ADE300.mp3
+/home/paulo/Downloads/audio/SOBGMYK12A6D4F6730.mp3
+/home/paulo/Downloads/audio/SOVPAJA12A58A77B15.mp3
+/home/paulo/Downloads/audio/SOLLOWH12A3F1E9FB5.mp3
+/home/paulo/Downloads/audio/SOWQBBT12AC4686122.mp3
+/home/paulo/Downloads/audio/SOPKEIV12AB018220D.mp3
+/home/paulo/Downloads/audio/SOCXCTS12AC468A380.mp3
+/home/paulo/Downloads/audio/SOYYIZT12A8C1408CA.mp3
+/home/paulo/Downloads/audio/SOKVTGU12A6701E7B1.mp3
+/home/paulo/Downloads/audio/SOLBWFV12A8C13D5B2.mp3
+/home/paulo/Downloads/audio/SOPIQZP12A670201C7.mp3
+/home/paulo/Downloads/audio/SOKLADX12A8C13AA37.mp3
+/home/paulo/Downloads/audio/SODCNJX12A6D4F93CB.mp3
+/home/paulo/Downloads/audio/SOBRREA12A6701C403.mp3
+/home/paulo/Downloads/audio/SOHJOLH12A6310DFE5.mp3
+/home/paulo/Downloads/audio/SODTJFU12B0B80C9BE.mp3
+/home/paulo/Downloads/audio/SOODWNJ12AC4688DA4.mp3
+/home/paulo/Downloads/audio/SOZKLMU12A8AE4714C.mp3
+/home/paulo/Downloads/audio/SOQJAZE12A6D4F95A8.mp3
+/home/paulo/Downloads/audio/SORSSEI12A6701E511.mp3
+/home/paulo/Downloads/audio/SOLJQPF12A67020924.mp3
+/home/paulo/Downloads/audio/SONEYTB12AF72A73F0.mp3
+/home/paulo/Downloads/audio/SOJMJMS12AB018566E.mp3
+/home/paulo/Downloads/audio/SOMAUYZ12A8C135979.mp3
+/home/paulo/Downloads/audio/SOLGJYY12A6701C431.mp3
+/home/paulo/Downloads/audio/SOAPIHX12AB0184CB1.mp3
+/home/paulo/Downloads/audio/SOCHYDE12A8C13E438.mp3
+/home/paulo/Downloads/audio/SOJSUQF12A67ADF6C0.mp3
+/home/paulo/Downloads/audio/SOJEMSC12A6D4F81A6.mp3
+/home/paulo/Downloads/audio/SOQBPJS12A67ADA077.mp3
+/home/paulo/Downloads/audio/SOHQRUK12A6701F9AD.mp3
+/home/paulo/Downloads/audio/SOQBMFK12A8C13835B.mp3
+/home/paulo/Downloads/audio/SONREBX12A8C142DBA.mp3
+/home/paulo/Downloads/audio/SOVHBUI12AB0184DEB.mp3
+/home/paulo/Downloads/audio/SOOXLND12A6D4FE36E.mp3
+/home/paulo/Downloads/audio/SOMVUAM12A8C14416D.mp3
+/home/paulo/Downloads/audio/SOTSPVI12A6D4FA446.mp3
+/home/paulo/Downloads/audio/SOUANJU12A8C14278B.mp3
+/home/paulo/Downloads/audio/SOKXMHW12AF729EAA6.mp3
+/home/paulo/Downloads/audio/SOKYDWK12A6D4F623F.mp3
+/home/paulo/Downloads/audio/SOYDTRQ12AF72A3D61.mp3
+/home/paulo/Downloads/audio/SOVLJHG12A81C21AA0.mp3
+/home/paulo/Downloads/audio/SOEXMJG12A8C13EC18.mp3
+/home/paulo/Downloads/audio/SOTUNOQ12A67ADADA7.mp3
+/home/paulo/Downloads/audio/SOPGMKX12AB0182B4C.mp3
+/home/paulo/Downloads/audio/SOALITF12A6310DFCD.mp3
+/home/paulo/Downloads/audio/SOYHKYO12AB018224C.mp3
+/home/paulo/Downloads/audio/SOKUTUM12A6701D9CD.mp3
+/home/paulo/Downloads/audio/SOBGPHU12A8C1424E3.mp3
+/home/paulo/Downloads/audio/SOVIZNF12AF72A710A.mp3
+/home/paulo/Downloads/audio/SOLVLFW12A67020A3F.mp3
+/home/paulo/Downloads/audio/SOIOESO12A6D4F621D.mp3
+/home/paulo/Downloads/audio/SONGPKC12A8C13ABD9.mp3
+/home/paulo/Downloads/audio/SODSAHJ12A6D4F8A26.mp3
+/home/paulo/Downloads/audio/SORXQQP12AC960DAB3.mp3
+/home/paulo/Downloads/audio/SOPMWXY12A58A7E908.mp3
+/home/paulo/Downloads/audio/SOTGOVG12A6701C573.mp3
+/home/paulo/Downloads/audio/SODEHVU12AB017FCD1.mp3
+/home/paulo/Downloads/audio/SOJUBSU12AF729FEC1.mp3
+/home/paulo/Downloads/audio/SOUXBNY12A8C13BADB.mp3
+/home/paulo/Downloads/audio/SOUEGBF12AB017EFD5.mp3
+/home/paulo/Downloads/audio/SOCRNTA12A8C13CCB6.mp3
+/home/paulo/Downloads/audio/SONFCUC12A58A7BC34.mp3
+/home/paulo/Downloads/audio/SOFJOSL12AB0181CA8.mp3
+/home/paulo/Downloads/audio/SONQCXC12A6D4F6A37.mp3
+/home/paulo/Downloads/audio/SOFZRXA12AC960DAB5.mp3
+/home/paulo/Downloads/audio/SOALBSB12A58A814C0.mp3
+/home/paulo/Downloads/audio/SOJITNW12A8C13D951.mp3
+/home/paulo/Downloads/audio/SOZAPQT12A8C142821.mp3
+/home/paulo/Downloads/audio/SOAOOWF12A8C1347EC.mp3
+/home/paulo/Downloads/audio/SOTJRSO12AB0182AE4.mp3
+/home/paulo/Downloads/audio/SOTMTTY12A6D4F95A1.mp3
+/home/paulo/Downloads/audio/SOLMAIK12A8C13F7B5.mp3
+/home/paulo/Downloads/audio/SOBTNNG12AF72A73E8.mp3
+/home/paulo/Downloads/audio/SOXPDDQ12A58A76829.mp3
+/home/paulo/Downloads/audio/SOCVMXL12A6D4F6EE7.mp3
+/home/paulo/Downloads/audio/SOQWYUA12A81C217E6.mp3
+/home/paulo/Downloads/audio/SOCCASN12B0B8069FA.mp3
+/home/paulo/Downloads/audio/SOFKTPP12A8C1385CA.mp3
+/home/paulo/Downloads/audio/SORKMCT12A8C136ED7.mp3
+/home/paulo/Downloads/audio/SOHKKFX12A58A7975B.mp3
+/home/paulo/Downloads/audio/SOZFWXQ12A58A7C631.mp3
+/home/paulo/Downloads/audio/SOXGQCN12A8C1384FA.mp3
+/home/paulo/Downloads/audio/SOOSIWM12A670202B9.mp3
+/home/paulo/Downloads/audio/SOWDKXZ12A81C22377.mp3
+/home/paulo/Downloads/audio/SOUNSQC12AC9071827.mp3
+/home/paulo/Downloads/audio/SOFZXIO12A8C1362C9.mp3
+/home/paulo/Downloads/audio/SOWKVVW12A8AE45E8C.mp3
+/home/paulo/Downloads/audio/SOMCAFM12A58A7B024.mp3
+/home/paulo/Downloads/audio/SOPYNHK12AB017E7D2.mp3
+/home/paulo/Downloads/audio/SOTSHYT12A8C142868.mp3
+/home/paulo/Downloads/audio/SOMZMOQ12A8C13A687.mp3
+/home/paulo/Downloads/audio/SOHXKKN12A8151DCDF.mp3
+/home/paulo/Downloads/audio/SOOWVNN12A8C140775.mp3
+/home/paulo/Downloads/audio/SOGUJGE12AF72A5BC9.mp3
+/home/paulo/Downloads/audio/SOITIDA12A6D4FBC7D.mp3
+/home/paulo/Downloads/audio/SOMVAGR12A67AE1114.mp3
+/home/paulo/Downloads/audio/SOCLANN12AC907598C.mp3
+/home/paulo/Downloads/audio/SOQTYPY12A8C13F642.mp3
+/home/paulo/Downloads/audio/SOZCDWG12A6D4F81E1.mp3
+/home/paulo/Downloads/audio/SOHDPUQ12A6701FB97.mp3
+/home/paulo/Downloads/audio/SOAAAGQ12A8C1420C8.mp3
+/home/paulo/Downloads/audio/SOJOVEU12A8C140C34.mp3
+/home/paulo/Downloads/audio/SOINDRZ12A6701DAF6.mp3
+/home/paulo/Downloads/audio/SOEYVHS12AB0181D31.mp3
+/home/paulo/Downloads/audio/SOMRPMY12AF72A1025.mp3
+/home/paulo/Downloads/audio/SONKHQE12A58A7C8AD.mp3
+/home/paulo/Downloads/audio/SOJDMAS12B0B8079A4.mp3
+/home/paulo/Downloads/audio/SOPWZGK12A67020744.mp3
+/home/paulo/Downloads/audio/SOINIUZ12A67ADF6D8.mp3
+/home/paulo/Downloads/audio/SOYTDBL12A6D4F8148.mp3
+/home/paulo/Downloads/audio/SOEENHE12A8C13CA68.mp3
+/home/paulo/Downloads/audio/SOAAMOW12AB018149B.mp3
+/home/paulo/Downloads/audio/SOMPKTP12A67020A3B.mp3
+/home/paulo/Downloads/audio/SOMWCVL12AF729E81A.mp3
+/home/paulo/Downloads/audio/SONDWXT12A8C13C37F.mp3
+/home/paulo/Downloads/audio/SOGKGDF12AF72A5DD6.mp3
+/home/paulo/Downloads/audio/SOVBJIV12A81C22366.mp3
+/home/paulo/Downloads/audio/SOQWSHS12A6701C576.mp3
+/home/paulo/Downloads/audio/SOHOWRD12AB018FBF5.mp3
+/home/paulo/Downloads/audio/SOZDMZB12A6701D925.mp3
+/home/paulo/Downloads/audio/SODWUBY12A6D4F8E8A.mp3
+/home/paulo/Downloads/audio/SOSJDQJ12A8C13D4A9.mp3
+/home/paulo/Downloads/audio/SOJPCYJ12A81C22380.mp3
+/home/paulo/Downloads/audio/SONMKLO12AB017B593.mp3
+/home/paulo/Downloads/audio/SOPOFBW12AB0187196.mp3
+/home/paulo/Downloads/audio/SOVTLQW12AB0186641.mp3
+/home/paulo/Downloads/audio/SOKTUUN12AB017E5B5.mp3
+/home/paulo/Downloads/audio/SOODSPH12AB01819C3.mp3
+/home/paulo/Downloads/audio/SODUPLP12A6D4FB8E3.mp3
+/home/paulo/Downloads/audio/SOPCCWV12A670205F3.mp3
+/home/paulo/Downloads/audio/SOQZBYZ12A6701E7B0.mp3
+/home/paulo/Downloads/audio/SOOZZGS12A6D4FBDF8.mp3
+/home/paulo/Downloads/audio/SOCBMFC12A6701D7BA.mp3
+/home/paulo/Downloads/audio/SOHDQMI12A6D4F9A77.mp3
+/home/paulo/Downloads/audio/SOOROCA12AF72A07D1.mp3
+/home/paulo/Downloads/audio/SOAIAAT12A8C145D49.mp3
+/home/paulo/Downloads/audio/SOFCIQA12A58A7EAE7.mp3
+/home/paulo/Downloads/audio/SOIDAAV12AB0182D50.mp3
+/home/paulo/Downloads/audio/SOLEWHB12AB01831B3.mp3
+/home/paulo/Downloads/audio/SORTPHZ12A8C13D374.mp3
+/home/paulo/Downloads/audio/SOIITXW12A8C142B66.mp3
+/home/paulo/Downloads/audio/SOQPBQQ12A6701D1D8.mp3
+/home/paulo/Downloads/audio/SOKLQRE12A58A7BB97.mp3
+/home/paulo/Downloads/audio/SOZVVRE12A8C143150.mp3
+/home/paulo/Downloads/audio/SOEGOAB12A8C13BAE4.mp3
+/home/paulo/Downloads/audio/SOGCVPU12AB017CA73.mp3
+/home/paulo/Downloads/audio/SOHTKMO12AB01843B0.mp3
+/home/paulo/Downloads/audio/SOWGIBZ12A8C136A2E.mp3
+/home/paulo/Downloads/audio/SOVMGXI12AF72A80B0.mp3
+/home/paulo/Downloads/audio/SOHNGUW12A81C22370.mp3
+/home/paulo/Downloads/audio/SONUYPZ12AC46899E2.mp3
+/home/paulo/Downloads/audio/SOQJKGN12A8C1425B5.mp3
+/home/paulo/Downloads/audio/SOLKOOO12AB018794A.mp3
+/home/paulo/Downloads/audio/SOWBFBP12A58A7D6EA.mp3
+/home/paulo/Downloads/audio/SOETQJP12A6D4F6731.mp3
+/home/paulo/Downloads/audio/SOIZLKI12A6D4F7B61.mp3
+/home/paulo/Downloads/audio/SOYONCL12A8C13B9F7.mp3
+/home/paulo/Downloads/audio/SOTVFIU12AC46878B7.mp3
+/home/paulo/Downloads/audio/SOKXQDO12AB017FD04.mp3
+/home/paulo/Downloads/audio/SOVYMPX12A8C1359B7.mp3
+/home/paulo/Downloads/audio/SOSUWJE12AB0184567.mp3
+/home/paulo/Downloads/audio/SOGPNGN12A8C143969.mp3
+/home/paulo/Downloads/audio/SOMKNTR12A6D4F9CCD.mp3
+/home/paulo/Downloads/audio/SOCTOZW12A8C13AE90.mp3
+/home/paulo/Downloads/audio/SOYIJRW12A8C134621.mp3
+/home/paulo/Downloads/audio/SOOQIEK12A8C13EA1E.mp3
+/home/paulo/Downloads/audio/SOEJMGM12AF72A6261.mp3
+/home/paulo/Downloads/audio/SOBYPWB12A8C141665.mp3
+/home/paulo/Downloads/audio/SOJHVZZ12A58A75BBE.mp3
+/home/paulo/Downloads/audio/SOAUBGU12A6701C57A.mp3
+/home/paulo/Downloads/audio/SOUCPBK12A58A7881A.mp3
+/home/paulo/Downloads/audio/SOMGVYU12A8C1314FF.mp3
+/home/paulo/Downloads/audio/SOPKPFW12A6D4F84BC.mp3
+/home/paulo/Downloads/audio/SOGJJON12A67AD9554.mp3
+/home/paulo/Downloads/audio/SOZKDMB12B0B80C4AC.mp3
+/home/paulo/Downloads/audio/SOFWJHD12AB018392B.mp3
+/home/paulo/Downloads/audio/SOFWBSS12A8C136313.mp3
+/home/paulo/Downloads/audio/SOKVSAH12A8C133C6D.mp3
+/home/paulo/Downloads/audio/SOWUTFF12A8C138AB2.mp3
+/home/paulo/Downloads/audio/SOTHRRH12A8C13DCBA.mp3
+/home/paulo/Downloads/audio/SOLLDVS12AB0183835.mp3
+/home/paulo/Downloads/audio/SOXCUHM12B0B8092BB.mp3
+/home/paulo/Downloads/audio/SOIAXDW12A6D4F9466.mp3
+/home/paulo/Downloads/audio/SOQLFRX12A6D4F9200.mp3
+/home/paulo/Downloads/audio/SOTQUOJ12A8C13A203.mp3
+/home/paulo/Downloads/audio/SOHEGSJ12AB0183790.mp3
+/home/paulo/Downloads/audio/SOARUBA12A8C138E3D.mp3
+/home/paulo/Downloads/audio/SOWRMTT12A8C137064.mp3
+/home/paulo/Downloads/audio/SOGYLTC12A8C14111E.mp3
+/home/paulo/Downloads/audio/SOXTBGF12A6D4FB49C.mp3
+/home/paulo/Downloads/audio/SOOIZTZ12A6D4FBDC7.mp3
+/home/paulo/Downloads/audio/SOIICEQ12A6D4F7FE0.mp3
+/home/paulo/Downloads/audio/SONIMNU12B0B8092AB.mp3
+/home/paulo/Downloads/audio/SOYDNQZ12A67020A42.mp3
+/home/paulo/Downloads/audio/SONRRQH12AC3DFA45F.mp3
+/home/paulo/Downloads/audio/SOKHYXV12A6D4F676A.mp3
+/home/paulo/Downloads/audio/SOPWKOX12A8C139D43.mp3
+/home/paulo/Downloads/audio/SOUFNSM12A58A77715.mp3
+/home/paulo/Downloads/audio/SOCBWRP12A8C1311DB.mp3
+/home/paulo/Downloads/audio/SODOWQF12A81C2371B.mp3
+/home/paulo/Downloads/audio/SOUNJIO12AB0181339.mp3
+/home/paulo/Downloads/audio/SOKUECJ12A6D4F6129.mp3
+/home/paulo/Downloads/audio/SOEGIYH12A6D4FC0E3.mp3
+/home/paulo/Downloads/audio/SOGGMMV12AB0184AEB.mp3
+/home/paulo/Downloads/audio/SOTVZIB12A6D4F694A.mp3
+/home/paulo/Downloads/audio/SOZIMYM12A8C13C707.mp3
+/home/paulo/Downloads/audio/SOGIDSA12A8C142829.mp3
+/home/paulo/Downloads/audio/SOPBGKX12A8C13D97B.mp3
+/home/paulo/Downloads/audio/SOJEVHC12A8C13C3E5.mp3
+/home/paulo/Downloads/audio/SOCUBFV12AB01810BB.mp3
+/home/paulo/Downloads/audio/SOFRWHG12A58A7DF46.mp3
+/home/paulo/Downloads/audio/SOABGQW12AB017CFB2.mp3
+/home/paulo/Downloads/audio/SONPLUD12A8C13BF4B.mp3
+/home/paulo/Downloads/audio/SOGWJEY12AC9618862.mp3
+/home/paulo/Downloads/audio/SODMBJL12A8C13EB1A.mp3
+/home/paulo/Downloads/audio/SOOTKBQ12AC3DFA4A2.mp3
+/home/paulo/Downloads/audio/SOWDRRZ12A8C13AE89.mp3
+/home/paulo/Downloads/audio/SOWSSRH12A58A7CE5D.mp3
+/home/paulo/Downloads/audio/SOCFPBP12AB0182D2B.mp3
+/home/paulo/Downloads/audio/SONCBGG12AB0183F8E.mp3
+/home/paulo/Downloads/audio/SOMVEVM12AB01855C6.mp3
+/home/paulo/Downloads/audio/SOCBGZW12A58A7CAC2.mp3
+/home/paulo/Downloads/audio/SONBXQW12A6701FD05.mp3
+/home/paulo/Downloads/audio/SOVVRDZ12A6701C577.mp3
+/home/paulo/Downloads/audio/SOPVQLJ12A67AE2281.mp3
+/home/paulo/Downloads/audio/SOCJWZY12A67021D18.mp3
+/home/paulo/Downloads/audio/SORQVPO12AF72A690C.mp3
+/home/paulo/Downloads/audio/SOKEYJQ12A6D4F6132.mp3
+/home/paulo/Downloads/audio/SOJVPDY12AF72A1B04.mp3
+/home/paulo/Downloads/audio/SOBOAFP12A8C131F36.mp3
+/home/paulo/Downloads/audio/SOMMLDP12A8C13BA46.mp3
+/home/paulo/Downloads/audio/SOKCZCN12A6D4F94CF.mp3
+/home/paulo/Downloads/audio/SOMWTWK12AB01860CD.mp3
+/home/paulo/Downloads/audio/SOYGPCH12A8151BD66.mp3
+/home/paulo/Downloads/audio/SOPCTBB12AF72A1B64.mp3
+/home/paulo/Downloads/audio/SOZMINK12AF72AAC26.mp3
+/home/paulo/Downloads/audio/SOMJWPP12A6D4F8506.mp3
+/home/paulo/Downloads/audio/SOJFARO12AF72A709A.mp3
+/home/paulo/Downloads/audio/SOXLOQG12AF72A2D55.mp3
+/home/paulo/Downloads/audio/SOMEBUD12AB01869CA.mp3
+/home/paulo/Downloads/audio/SOAGGLN12AB018AC9B.mp3
+/home/paulo/Downloads/audio/SOUODFE12A58A80347.mp3
+/home/paulo/Downloads/audio/SOTKFFF12AC9072C86.mp3
+/home/paulo/Downloads/audio/SOMRTUH12AB0185650.mp3
+/home/paulo/Downloads/audio/SOQTFOI12AB0185675.mp3
+/home/paulo/Downloads/audio/SOMVPBQ12A58A7835F.mp3
+/home/paulo/Downloads/audio/SORHJAS12AB0187D3F.mp3
+/home/paulo/Downloads/audio/SONEWOI12AAF3B3602.mp3
+/home/paulo/Downloads/audio/SORZSTP12A8C133573.mp3
+/home/paulo/Downloads/audio/SODHKOL12A8C141128.mp3
+/home/paulo/Downloads/audio/SOEPWPM12AC468611C.mp3
+/home/paulo/Downloads/audio/SOMIPZX12A8C1410FA.mp3
+/home/paulo/Downloads/audio/SOYVUDI12A81C22872.mp3
+/home/paulo/Downloads/audio/SOQDMED12A67ADE731.mp3
+/home/paulo/Downloads/audio/SOEYIND12A6310E02E.mp3
+/home/paulo/Downloads/audio/SOWKLEE12A81C232AC.mp3
+/home/paulo/Downloads/audio/SOHZPIK12A58A7CCAE.mp3
+/home/paulo/Downloads/audio/SOHDSVJ12A6D4F93FF.mp3
+/home/paulo/Downloads/audio/SOKBTWI12B0B80BD8F.mp3
+/home/paulo/Downloads/audio/SOPDRWC12A8C141DDE.mp3
+/home/paulo/Downloads/audio/SOCXJFM12A8C13EB1C.mp3
+/home/paulo/Downloads/audio/SOMJJAM12A8C13B607.mp3
+/home/paulo/Downloads/audio/SOVHRGF12A8C13852F.mp3
+/home/paulo/Downloads/audio/SOHIROU12AB01852AF.mp3
+/home/paulo/Downloads/audio/SOFNYFB12AB0183A73.mp3
+/home/paulo/Downloads/audio/SOQAEHC12A67020A41.mp3
+/home/paulo/Downloads/audio/SOCDNMP12AB018440C.mp3
+/home/paulo/Downloads/audio/SOCQSZB12A58A7B71D.mp3
+/home/paulo/Downloads/audio/SOZSILE12AB01885B7.mp3
+/home/paulo/Downloads/audio/SOCKFVF12A8C1442A7.mp3
+/home/paulo/Downloads/audio/SONLOQQ12A8C139AF9.mp3
+/home/paulo/Downloads/audio/SOAOERV12AF72A48FC.mp3
+/home/paulo/Downloads/audio/SOMGPML12A8C13AE8C.mp3
+/home/paulo/Downloads/audio/SOTEFFR12A8C144765.mp3
+/home/paulo/Downloads/audio/SOGPMUO12A6D4F6D31.mp3
+/home/paulo/Downloads/audio/SOZJWDN12A8151B851.mp3
+/home/paulo/Downloads/audio/SOARUPP12AB01842E0.mp3
+/home/paulo/Downloads/audio/SOHZPYD12AF72A12E2.mp3
+/home/paulo/Downloads/audio/SOBNOSD12A8C13C4E0.mp3
+/home/paulo/Downloads/audio/SOLFEWX12A8C1442C8.mp3
+/home/paulo/Downloads/audio/SORGIAF12A81C224C2.mp3
+/home/paulo/Downloads/audio/SOCAHRT12A8C13A1A4.mp3
+/home/paulo/Downloads/audio/SOLOFYI12A8C145F8D.mp3
+/home/paulo/Downloads/audio/SODRUCE12A8C141123.mp3
+/home/paulo/Downloads/audio/SOYSPYK12A81C228A0.mp3
+/home/paulo/Downloads/audio/SOTVSBY12A6D4F74D8.mp3
+/home/paulo/Downloads/audio/SOHNVHC12A6D4F95AB.mp3
+/home/paulo/Downloads/audio/SOPZBUU12A6D4F6F0C.mp3
+/home/paulo/Downloads/audio/SOEFNWL12AF729CD2F.mp3
+/home/paulo/Downloads/audio/SOPLUOT12A6D4F7AC3.mp3
+/home/paulo/Downloads/audio/SOAAFAC12A67ADF7EB.mp3
+/home/paulo/Downloads/audio/SOSGBJB12A6D4FCDEC.mp3
+/home/paulo/Downloads/audio/SOJTLHS12A8C13F633.mp3
+/home/paulo/Downloads/audio/SOHLLRP12A6701F2F4.mp3
+/home/paulo/Downloads/audio/SOKFDWP12A8C1362CC.mp3
+/home/paulo/Downloads/audio/SODMUPG12A67021CC7.mp3
+/home/paulo/Downloads/audio/SOWOMMY127F8096DF9.mp3
+/home/paulo/Downloads/audio/SOQIXUL12A6D4FAE93.mp3
+/home/paulo/Downloads/audio/SOPNSJN12AF72A50A6.mp3
+/home/paulo/Downloads/audio/SOMMONH12A6D4F41CD.mp3
+/home/paulo/Downloads/audio/SOVWHPM12AB017DABB.mp3
+/home/paulo/Downloads/audio/SOHOCMM12AB01845E0.mp3
+/home/paulo/Downloads/audio/SONIJFN12A6D4F7A7A.mp3
+/home/paulo/Downloads/audio/SOFSIKY12AF72A0807.mp3
+/home/paulo/Downloads/audio/SOSDTGC12AF72A2BC3.mp3
+/home/paulo/Downloads/audio/SOBEVXQ12A8C13AE57.mp3
+/home/paulo/Downloads/audio/SOGVJCW12A6D4F8EFD.mp3
+/home/paulo/Downloads/audio/SOBFRNE12A6D4F7995.mp3
+/home/paulo/Downloads/audio/SOXUMBC12AB018DA2B.mp3
+/home/paulo/Downloads/audio/SODQBES12AAFF4444C.mp3
+/home/paulo/Downloads/audio/SODILEO12A8C13BC53.mp3
+/home/paulo/Downloads/audio/SOFPEZR12A67021B80.mp3
+/home/paulo/Downloads/audio/SOBCOWD12A6701FD78.mp3
+/home/paulo/Downloads/audio/SOMUEZH12A6D4F66C6.mp3
+/home/paulo/Downloads/audio/SOYUFEX12AB0182255.mp3
+/home/paulo/Downloads/audio/SOMNPAP12A8C1385D6.mp3
+/home/paulo/Downloads/audio/SOBBHVN12A6702162D.mp3
+/home/paulo/Downloads/audio/SOGZQHS12A8C137A12.mp3
+/home/paulo/Downloads/audio/SOGSAYQ12AB018BA14.mp3
+/home/paulo/Downloads/audio/SOYMEKY12A6D4F88FE.mp3
+/home/paulo/Downloads/audio/SOFZOTX12A67ADF6DB.mp3
+/home/paulo/Downloads/audio/SOIFPJU12A8C136FC6.mp3
+/home/paulo/Downloads/audio/SOVNVRF12A8C14477B.mp3
+/home/paulo/Downloads/audio/SOWHATW12A8C132857.mp3
+/home/paulo/Downloads/audio/SOPLUBC12A8C142B6D.mp3
+/home/paulo/Downloads/audio/SOVCUAX12AB017EFB5.mp3
+/home/paulo/Downloads/audio/SOFGIVB12A6D4F5923.mp3
+/home/paulo/Downloads/audio/SOTNCZU12A8C13EDC8.mp3
+/home/paulo/Downloads/audio/SOLKDYK12AB018DA3C.mp3
+/home/paulo/Downloads/audio/SOBJCFV12A8AE469EE.mp3
+/home/paulo/Downloads/audio/SOSYOHI12A8C144584.mp3
+/home/paulo/Downloads/audio/SOSZAST12A6D4F6245.mp3
+/home/paulo/Downloads/audio/SOPGOJB12A8C13B05C.mp3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dataset/7digital/lists/ground_truth.txt	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,640 @@
+/home/paulo/Downloads/audio/SOXAJDB12A8C13AB22.mp3	audio
+/home/paulo/Downloads/audio/SOSQUZL12A67ADAFCB.mp3	audio
+/home/paulo/Downloads/audio/SOGSMFF12A8C13F5F9.mp3	audio
+/home/paulo/Downloads/audio/SOTLTXQ12AB0182257.mp3	audio
+/home/paulo/Downloads/audio/SOBLTMH12A6D4FA44D.mp3	audio
+/home/paulo/Downloads/audio/SOWJENM12AC4686110.mp3	audio
+/home/paulo/Downloads/audio/SOXZMNC12A8C135DD5.mp3	audio
+/home/paulo/Downloads/audio/SOHFVJR12AF72A9805.mp3	audio
+/home/paulo/Downloads/audio/SOFLJQZ12A6D4FADA6.mp3	audio
+/home/paulo/Downloads/audio/SOFBOXR12A6310F0FC.mp3	audio
+/home/paulo/Downloads/audio/SOASTSF12A8C1420B5.mp3	audio
+/home/paulo/Downloads/audio/SOUNZHU12A8AE47481.mp3	audio
+/home/paulo/Downloads/audio/SOHXQWR12AF72AB9CD.mp3	audio
+/home/paulo/Downloads/audio/SOFJCCE12AB0183F96.mp3	audio
+/home/paulo/Downloads/audio/SONYMUG12A8C136FE5.mp3	audio
+/home/paulo/Downloads/audio/SOYQLII12A8C143321.mp3	audio
+/home/paulo/Downloads/audio/SOFFWDQ12A8C13B433.mp3	audio
+/home/paulo/Downloads/audio/SOCNAXF12A6D4F9B34.mp3	audio
+/home/paulo/Downloads/audio/SOFJAJP12AB0181E62.mp3	audio
+/home/paulo/Downloads/audio/SOHWMES12A67AE0D06.mp3	audio
+/home/paulo/Downloads/audio/SOOXRJG12A8C13773E.mp3	audio
+/home/paulo/Downloads/audio/SOOALOT12A8C13ABD9.mp3	audio
+/home/paulo/Downloads/audio/SODGTHG12AB017F730.mp3	audio
+/home/paulo/Downloads/audio/SOEHHNH12AB017F715.mp3	audio
+/home/paulo/Downloads/audio/SOXMGUX12A8C136EBC.mp3	audio
+/home/paulo/Downloads/audio/SOKXDOB12AB017EFE7.mp3	audio
+/home/paulo/Downloads/audio/SOVUBST12AB018C9A4.mp3	audio
+/home/paulo/Downloads/audio/SOIZAZL12A6701C53B.mp3	audio
+/home/paulo/Downloads/audio/SOMCPUY12A81C2399A.mp3	audio
+/home/paulo/Downloads/audio/SOMCWAZ12A67ADBCE3.mp3	audio
+/home/paulo/Downloads/audio/SOMHMQW12A8C14098B.mp3	audio
+/home/paulo/Downloads/audio/SOKKVXX12AB017AFB7.mp3	audio
+/home/paulo/Downloads/audio/SOXLSBV12AB018397A.mp3	audio
+/home/paulo/Downloads/audio/SODXRTY12AB0180F3B.mp3	audio
+/home/paulo/Downloads/audio/SORFRGW12A8C13EB13.mp3	audio
+/home/paulo/Downloads/audio/SOMCMKG12A8C1347BF.mp3	audio
+/home/paulo/Downloads/audio/SOCNKUW12A8C13DE89.mp3	audio
+/home/paulo/Downloads/audio/SOKTJMZ12AB018C9A0.mp3	audio
+/home/paulo/Downloads/audio/SOEAJTP12A6310D999.mp3	audio
+/home/paulo/Downloads/audio/SOIFDQD12AB01822F5.mp3	audio
+/home/paulo/Downloads/audio/SOHZDYL12A8C141C73.mp3	audio
+/home/paulo/Downloads/audio/SOSLKVW12A6D4F7ACB.mp3	audio
+/home/paulo/Downloads/audio/SOZXDDH12A8C134AE4.mp3	audio
+/home/paulo/Downloads/audio/SOYKNUX12A58A7B1C6.mp3	audio
+/home/paulo/Downloads/audio/SOMXDFJ12AB0183B34.mp3	audio
+/home/paulo/Downloads/audio/SODACBL12A8C13C273.mp3	audio
+/home/paulo/Downloads/audio/SOWRGEF12A81C228A3.mp3	audio
+/home/paulo/Downloads/audio/SOMMATZ12AF72A17CC.mp3	audio
+/home/paulo/Downloads/audio/SOAYSMC12A67020927.mp3	audio
+/home/paulo/Downloads/audio/SOFFWND12A58A796B7.mp3	audio
+/home/paulo/Downloads/audio/SOXDMAC12AB017E7FF.mp3	audio
+/home/paulo/Downloads/audio/SOAVWHY12AB017C6C0.mp3	audio
+/home/paulo/Downloads/audio/SOWMDQL12A8C13FB54.mp3	audio
+/home/paulo/Downloads/audio/SOBJIZY12A6701F11A.mp3	audio
+/home/paulo/Downloads/audio/SOWAGYW12A67020A3A.mp3	audio
+/home/paulo/Downloads/audio/SOXLWPN12A8C143667.mp3	audio
+/home/paulo/Downloads/audio/SOZHJKI12A81C2248F.mp3	audio
+/home/paulo/Downloads/audio/SOKBPDK12A6D4FB679.mp3	audio
+/home/paulo/Downloads/audio/SOXVIYQ12A6D4F8C9C.mp3	audio
+/home/paulo/Downloads/audio/SOXEUDZ12A8C13145B.mp3	audio
+/home/paulo/Downloads/audio/SOWBTMO12A6701C56D.mp3	audio
+/home/paulo/Downloads/audio/SOFWNCW12A8151B81A.mp3	audio
+/home/paulo/Downloads/audio/SOEHTZE12A6310F0F2.mp3	audio
+/home/paulo/Downloads/audio/SOXXVSU12A8C133445.mp3	audio
+/home/paulo/Downloads/audio/SOHQIBR12A6310E0ED.mp3	audio
+/home/paulo/Downloads/audio/SOXSURP12A58A7BE92.mp3	audio
+/home/paulo/Downloads/audio/SOFDENQ12AB017FD79.mp3	audio
+/home/paulo/Downloads/audio/SOTMMSE12A8C1410FF.mp3	audio
+/home/paulo/Downloads/audio/SOOJWBH12A6D4F64E3.mp3	audio
+/home/paulo/Downloads/audio/SOIEYZO12AB0188717.mp3	audio
+/home/paulo/Downloads/audio/SOAXGDY12AB01813B0.mp3	audio
+/home/paulo/Downloads/audio/SOULTKQ12AB018A183.mp3	audio
+/home/paulo/Downloads/audio/SOYGHUM12AB018139C.mp3	audio
+/home/paulo/Downloads/audio/SOXZCIH12A8C1425F0.mp3	audio
+/home/paulo/Downloads/audio/SOQSPDJ12A58A7EC6E.mp3	audio
+/home/paulo/Downloads/audio/SOXZUUK12A6D4F8EE3.mp3	audio
+/home/paulo/Downloads/audio/SOTGHQR12A8C1406C5.mp3	audio
+/home/paulo/Downloads/audio/SORJICW12A8C13640D.mp3	audio
+/home/paulo/Downloads/audio/SOHAHTQ12AB017AA32.mp3	audio
+/home/paulo/Downloads/audio/SOLJWHN12AB017ACCE.mp3	audio
+/home/paulo/Downloads/audio/SOPXKYD12A6D4FA876.mp3	audio
+/home/paulo/Downloads/audio/SOSQQGF12A6310F0FB.mp3	audio
+/home/paulo/Downloads/audio/SONMEPF12A6D4F3C92.mp3	audio
+/home/paulo/Downloads/audio/SOBOOXZ12A8C13AF83.mp3	audio
+/home/paulo/Downloads/audio/SOWKUZM12A67AE0D37.mp3	audio
+/home/paulo/Downloads/audio/SOBYZRW12A58A7ABF1.mp3	audio
+/home/paulo/Downloads/audio/SOLFTVV12A6BD54FFC.mp3	audio
+/home/paulo/Downloads/audio/SOHVWPV12A8C135C5B.mp3	audio
+/home/paulo/Downloads/audio/SOOFYTN12A6D4F9B35.mp3	audio
+/home/paulo/Downloads/audio/SOXERNH12A67AD8642.mp3	audio
+/home/paulo/Downloads/audio/SOGPWVK12A58A7B419.mp3	audio
+/home/paulo/Downloads/audio/SOIUHFO12A67AD954B.mp3	audio
+/home/paulo/Downloads/audio/SOWBYZF12A6D4F9424.mp3	audio
+/home/paulo/Downloads/audio/SOOLKLP12AF729D959.mp3	audio
+/home/paulo/Downloads/audio/SOZYSDT12A8C13BFD7.mp3	audio
+/home/paulo/Downloads/audio/SOXMTXB12AF729A276.mp3	audio
+/home/paulo/Downloads/audio/SOGVQTZ12A6D4FB490.mp3	audio
+/home/paulo/Downloads/audio/SOKMNVE12A8C13BA72.mp3	audio
+/home/paulo/Downloads/audio/SOHODOM12A6D4FD028.mp3	audio
+/home/paulo/Downloads/audio/SOHNOOC12A8C13BF35.mp3	audio
+/home/paulo/Downloads/audio/SOUHQHP12AB017FCA7.mp3	audio
+/home/paulo/Downloads/audio/SOUSAXA12AF72A73F5.mp3	audio
+/home/paulo/Downloads/audio/SOPHBRE12A8C142825.mp3	audio
+/home/paulo/Downloads/audio/SOPXBSU12AB018917D.mp3	audio
+/home/paulo/Downloads/audio/SOBUBLL12A58A795A8.mp3	audio
+/home/paulo/Downloads/audio/SONWUZV12AB0180BAD.mp3	audio
+/home/paulo/Downloads/audio/SOGANEO12AB018018E.mp3	audio
+/home/paulo/Downloads/audio/SOJNFQR12A8C13F5E9.mp3	audio
+/home/paulo/Downloads/audio/SOULBNJ12AB01851E9.mp3	audio
+/home/paulo/Downloads/audio/SOXSMGP12A6310DFA6.mp3	audio
+/home/paulo/Downloads/audio/SOEKSGJ12A67AE227E.mp3	audio
+/home/paulo/Downloads/audio/SORMNIY12A8C13BC44.mp3	audio
+/home/paulo/Downloads/audio/SOBEAHS12A6D4F97A6.mp3	audio
+/home/paulo/Downloads/audio/SOTFIPT12A6701F2FA.mp3	audio
+/home/paulo/Downloads/audio/SOGVKXX12A67ADA0B8.mp3	audio
+/home/paulo/Downloads/audio/SOFAMRP12AF72A069E.mp3	audio
+/home/paulo/Downloads/audio/SOGNKVE12A8C13E9EE.mp3	audio
+/home/paulo/Downloads/audio/SOZVSSP12AB01819DE.mp3	audio
+/home/paulo/Downloads/audio/SOEOUUQ12AB018182A.mp3	audio
+/home/paulo/Downloads/audio/SOPXSEP12A67ADE986.mp3	audio
+/home/paulo/Downloads/audio/SOXLKNJ12A58A7E09A.mp3	audio
+/home/paulo/Downloads/audio/SOFAFXU12A8C141523.mp3	audio
+/home/paulo/Downloads/audio/SOPNOHB12AB0186834.mp3	audio
+/home/paulo/Downloads/audio/SOMZRXL12A81C224B9.mp3	audio
+/home/paulo/Downloads/audio/SOAXEPS12AF729E550.mp3	audio
+/home/paulo/Downloads/audio/SOGHPTS12A8C1313E5.mp3	audio
+/home/paulo/Downloads/audio/SOHKQUZ12A67020A3D.mp3	audio
+/home/paulo/Downloads/audio/SOJPFPR12AB018109D.mp3	audio
+/home/paulo/Downloads/audio/SOPGCXT12A8C138AD1.mp3	audio
+/home/paulo/Downloads/audio/SOSTVOA12A8C14261D.mp3	audio
+/home/paulo/Downloads/audio/SOILFUU12AB017C75F.mp3	audio
+/home/paulo/Downloads/audio/SOBYSRH12A8C13AE98.mp3	audio
+/home/paulo/Downloads/audio/SOGHOJB12A6D4FA7DC.mp3	audio
+/home/paulo/Downloads/audio/SOIYNJG12AB01810B2.mp3	audio
+/home/paulo/Downloads/audio/SOFRNOJ12AB018839A.mp3	audio
+/home/paulo/Downloads/audio/SOINKVP12A8C13BF5D.mp3	audio
+/home/paulo/Downloads/audio/SOIZRER12A8C137A26.mp3	audio
+/home/paulo/Downloads/audio/SOBOUPA12A6D4F81F1.mp3	audio
+/home/paulo/Downloads/audio/SOBBCWG12AF72AB9CB.mp3	audio
+/home/paulo/Downloads/audio/SOGCCBF12AB0188DEE.mp3	audio
+/home/paulo/Downloads/audio/SOEMAIM12AC90759AC.mp3	audio
+/home/paulo/Downloads/audio/SOVOOSP12A6310F1AC.mp3	audio
+/home/paulo/Downloads/audio/SOYYCTP12AB017E29C.mp3	audio
+/home/paulo/Downloads/audio/SOSYXDE12A8AE45E45.mp3	audio
+/home/paulo/Downloads/audio/SOSPXWA12AB0181875.mp3	audio
+/home/paulo/Downloads/audio/SOINDXC12A6D4F8C3C.mp3	audio
+/home/paulo/Downloads/audio/SOXUYUZ12A8C13A67E.mp3	audio
+/home/paulo/Downloads/audio/SOLRTCP12A8C13B5F5.mp3	audio
+/home/paulo/Downloads/audio/SOWFRJS12A6701D93B.mp3	audio
+/home/paulo/Downloads/audio/SOZARJQ12A6D4F66CE.mp3	audio
+/home/paulo/Downloads/audio/SOMJFXX12A8C13E9F1.mp3	audio
+/home/paulo/Downloads/audio/SOSEKZA12A8C13FF24.mp3	audio
+/home/paulo/Downloads/audio/SOCHXEH12A8C1425D2.mp3	audio
+/home/paulo/Downloads/audio/SOUZBUD12A8C13FD8E.mp3	audio
+/home/paulo/Downloads/audio/SOHYRUG12A8C13599D.mp3	audio
+/home/paulo/Downloads/audio/SOBTXJE12A6D4FA416.mp3	audio
+/home/paulo/Downloads/audio/SOAWIDW12A81C22AEB.mp3	audio
+/home/paulo/Downloads/audio/SOKVADK12A8C1359C6.mp3	audio
+/home/paulo/Downloads/audio/SOAMFCO12A6701F117.mp3	audio
+/home/paulo/Downloads/audio/SOTQMGD12A81C2289C.mp3	audio
+/home/paulo/Downloads/audio/SOOGBTU12AB0187CB9.mp3	audio
+/home/paulo/Downloads/audio/SOSKVCM12AF729D67B.mp3	audio
+/home/paulo/Downloads/audio/SODRLEQ12A6701F953.mp3	audio
+/home/paulo/Downloads/audio/SORGFZZ12AB0181289.mp3	audio
+/home/paulo/Downloads/audio/SOXKFRI12A8C137A5F.mp3	audio
+/home/paulo/Downloads/audio/SONGIPI12A8AE46162.mp3	audio
+/home/paulo/Downloads/audio/SOPMKMD12A67020BD9.mp3	audio
+/home/paulo/Downloads/audio/SOBGNMG12A8C133DFD.mp3	audio
+/home/paulo/Downloads/audio/SOOGZYY12A6701D9CB.mp3	audio
+/home/paulo/Downloads/audio/SOSUZFA12A8C13C04A.mp3	audio
+/home/paulo/Downloads/audio/SOSFZBK12A8C137A1E.mp3	audio
+/home/paulo/Downloads/audio/SOTJCZJ12A58A7E54B.mp3	audio
+/home/paulo/Downloads/audio/SODSESK12A81C2178C.mp3	audio
+/home/paulo/Downloads/audio/SOVDYZE12A58A7AA62.mp3	audio
+/home/paulo/Downloads/audio/SOHEMBB12A6701E907.mp3	audio
+/home/paulo/Downloads/audio/SOGWXGL12A6D4F41C0.mp3	audio
+/home/paulo/Downloads/audio/SOUGCDK12AC95F075F.mp3	audio
+/home/paulo/Downloads/audio/SOAGIAY12AB0183D8F.mp3	audio
+/home/paulo/Downloads/audio/SOGLKUJ12A8AE46B92.mp3	audio
+/home/paulo/Downloads/audio/SONQSBF12AF72ABB86.mp3	audio
+/home/paulo/Downloads/audio/SONAEJC12A8AE45BB4.mp3	audio
+/home/paulo/Downloads/audio/SOQRHIX12A6701F955.mp3	audio
+/home/paulo/Downloads/audio/SOETHKN12AF72A65A6.mp3	audio
+/home/paulo/Downloads/audio/SOSLHMP12A8C1416C1.mp3	audio
+/home/paulo/Downloads/audio/SOZEBAZ12AF72A80C8.mp3	audio
+/home/paulo/Downloads/audio/SOZPPYS12898B694CE.mp3	audio
+/home/paulo/Downloads/audio/SOGDQWF12A67AD954F.mp3	audio
+/home/paulo/Downloads/audio/SOOKZPI12A67AD9549.mp3	audio
+/home/paulo/Downloads/audio/SOJLEMO12A6701EAF9.mp3	audio
+/home/paulo/Downloads/audio/SOSJRJP12A6D4F826F.mp3	audio
+/home/paulo/Downloads/audio/SOGJMTM12A6310E17B.mp3	audio
+/home/paulo/Downloads/audio/SOLOZRE12A8C133256.mp3	audio
+/home/paulo/Downloads/audio/SOSBYAJ12A679AE5CD.mp3	audio
+/home/paulo/Downloads/audio/SOYEQLD12AB017C713.mp3	audio
+/home/paulo/Downloads/audio/SOSINBC12A67ADAEF6.mp3	audio
+/home/paulo/Downloads/audio/SOOXLWT12AF729D9ED.mp3	audio
+/home/paulo/Downloads/audio/SOYQKPA12A8C13F31A.mp3	audio
+/home/paulo/Downloads/audio/SOLGPOU12A58A7EA20.mp3	audio
+/home/paulo/Downloads/audio/SOOBEOM12A58A78166.mp3	audio
+/home/paulo/Downloads/audio/SOWEWCO12A8C14074E.mp3	audio
+/home/paulo/Downloads/audio/SOGLWGG12A6D4F8046.mp3	audio
+/home/paulo/Downloads/audio/SOZVCRW12A67ADA0B7.mp3	audio
+/home/paulo/Downloads/audio/SODHJHX12A58A7D24C.mp3	audio
+/home/paulo/Downloads/audio/SOKKUJN12A63110824.mp3	audio
+/home/paulo/Downloads/audio/SOGAUOB12A58A7AAC8.mp3	audio
+/home/paulo/Downloads/audio/SOVOLWT12A8C132DA5.mp3	audio
+/home/paulo/Downloads/audio/SOYWRZU12A6D4F66C2.mp3	audio
+/home/paulo/Downloads/audio/SORJUET12A6D4F9591.mp3	audio
+/home/paulo/Downloads/audio/SOUWEJS12AB01868A4.mp3	audio
+/home/paulo/Downloads/audio/SOTGWWO12A8C13E806.mp3	audio
+/home/paulo/Downloads/audio/SOHORHW12A8C139E45.mp3	audio
+/home/paulo/Downloads/audio/SOQYLUM12A58A7CB55.mp3	audio
+/home/paulo/Downloads/audio/SOCVDDD12AB017E85A.mp3	audio
+/home/paulo/Downloads/audio/SOTLSTC12A8C142B6B.mp3	audio
+/home/paulo/Downloads/audio/SOPFFBU12A6D4FA7D2.mp3	audio
+/home/paulo/Downloads/audio/SOJEGJX12AF72A2919.mp3	audio
+/home/paulo/Downloads/audio/SOOZNZY12A8151B80A.mp3	audio
+/home/paulo/Downloads/audio/SOVWADY12AB0189C63.mp3	audio
+/home/paulo/Downloads/audio/SOJZEXX12A6D4F6247.mp3	audio
+/home/paulo/Downloads/audio/SOHPETF12A8C1311E0.mp3	audio
+/home/paulo/Downloads/audio/SOHQWZJ12AB01892EC.mp3	audio
+/home/paulo/Downloads/audio/SOLPDGD12A6701F951.mp3	audio
+/home/paulo/Downloads/audio/SOPXLWJ12A8C132639.mp3	audio
+/home/paulo/Downloads/audio/SOKNWRZ12A8C13BF62.mp3	audio
+/home/paulo/Downloads/audio/SOADISH12AB018DFAC.mp3	audio
+/home/paulo/Downloads/audio/SORFSKT12A8C1430A0.mp3	audio
+/home/paulo/Downloads/audio/SOYUSCG12AB0182BB5.mp3	audio
+/home/paulo/Downloads/audio/SOETMGH12AB01822F2.mp3	audio
+/home/paulo/Downloads/audio/SOKOHLQ12AF729B221.mp3	audio
+/home/paulo/Downloads/audio/SOPTLQL12AB018D56F.mp3	audio
+/home/paulo/Downloads/audio/SOJCAVK12A8151B805.mp3	audio
+/home/paulo/Downloads/audio/SOBBGTM12A6D4F6199.mp3	audio
+/home/paulo/Downloads/audio/SODZJCH12A8C132ADC.mp3	audio
+/home/paulo/Downloads/audio/SOGUKDL12A6D4FAAB9.mp3	audio
+/home/paulo/Downloads/audio/SOLSCUX12A8C13D10B.mp3	audio
+/home/paulo/Downloads/audio/SONAISQ12A81C2236D.mp3	audio
+/home/paulo/Downloads/audio/SOYRJTL12A67AD9551.mp3	audio
+/home/paulo/Downloads/audio/SOALEQA12A58A77839.mp3	audio
+/home/paulo/Downloads/audio/SOKQMOW12A6701DEFC.mp3	audio
+/home/paulo/Downloads/audio/SOPHRXX12A67ADA08E.mp3	audio
+/home/paulo/Downloads/audio/SOZGDUH12AF72A6DB2.mp3	audio
+/home/paulo/Downloads/audio/SOTBBMP12A58A79A48.mp3	audio
+/home/paulo/Downloads/audio/SOWBPNX12A8C13465B.mp3	audio
+/home/paulo/Downloads/audio/SOQGOPT12AAF3B2B27.mp3	audio
+/home/paulo/Downloads/audio/SOGWKBQ12A670207C1.mp3	audio
+/home/paulo/Downloads/audio/SOKFNBL12AF72A1A41.mp3	audio
+/home/paulo/Downloads/audio/SOMMKEW12A58A80F00.mp3	audio
+/home/paulo/Downloads/audio/SOKTUOG12A8C135990.mp3	audio
+/home/paulo/Downloads/audio/SOKUIUK12A8C13F7F0.mp3	audio
+/home/paulo/Downloads/audio/SOYFRVX12AAF3B3F3E.mp3	audio
+/home/paulo/Downloads/audio/SOCBNIS12AF72AB9D3.mp3	audio
+/home/paulo/Downloads/audio/SONKYVR12B0B80AF82.mp3	audio
+/home/paulo/Downloads/audio/SOPUCYA12A8C13A694.mp3	audio
+/home/paulo/Downloads/audio/SOTYLCV12A8C143772.mp3	audio
+/home/paulo/Downloads/audio/SOAZZRU12AB0182B0E.mp3	audio
+/home/paulo/Downloads/audio/SOWOZBR12A8C13F4F6.mp3	audio
+/home/paulo/Downloads/audio/SOXGQEM12AB0181D35.mp3	audio
+/home/paulo/Downloads/audio/SOWNIUS12A8C142815.mp3	audio
+/home/paulo/Downloads/audio/SOMYFOB12AAA15FD4F.mp3	audio
+/home/paulo/Downloads/audio/SOMSLQP12A8C14135B.mp3	audio
+/home/paulo/Downloads/audio/SOFKEDR12A8C13D381.mp3	audio
+/home/paulo/Downloads/audio/SOWOZLK12A8C136B33.mp3	audio
+/home/paulo/Downloads/audio/SOVBQGQ12AF72A9803.mp3	audio
+/home/paulo/Downloads/audio/SOOGBWC12A8C140B96.mp3	audio
+/home/paulo/Downloads/audio/SOSLZXV12A8C1354C9.mp3	audio
+/home/paulo/Downloads/audio/SOZEWZS12AB018FAF1.mp3	audio
+/home/paulo/Downloads/audio/SODJTHN12AF72A8FCD.mp3	audio
+/home/paulo/Downloads/audio/SOIMREX12A6D4F99FE.mp3	audio
+/home/paulo/Downloads/audio/SOYIWVC12A8AE47F31.mp3	audio
+/home/paulo/Downloads/audio/SOVZHYS12A8C14663F.mp3	audio
+/home/paulo/Downloads/audio/SOSXLTC12AF72A7F54.mp3	audio
+/home/paulo/Downloads/audio/SONUWMR12AF72A374B.mp3	audio
+/home/paulo/Downloads/audio/SOVEHBY12A8C13F32E.mp3	audio
+/home/paulo/Downloads/audio/SOKJILN12AB0182BC9.mp3	audio
+/home/paulo/Downloads/audio/SONGIXY12A58A7BB42.mp3	audio
+/home/paulo/Downloads/audio/SONEYYW12AF72A2AA6.mp3	audio
+/home/paulo/Downloads/audio/SOYWVJX12A8C13EDA9.mp3	audio
+/home/paulo/Downloads/audio/SOSLCRU12A6701DB0B.mp3	audio
+/home/paulo/Downloads/audio/SOVRIZO12AF72A4C0C.mp3	audio
+/home/paulo/Downloads/audio/SOGUPIJ12A8C13AEA1.mp3	audio
+/home/paulo/Downloads/audio/SOSGAIT12AB018CC18.mp3	audio
+/home/paulo/Downloads/audio/SOGEFOF12A81C2235D.mp3	audio
+/home/paulo/Downloads/audio/SODLAPJ12A8C142002.mp3	audio
+/home/paulo/Downloads/audio/SOCGXXL12B0B808865.mp3	audio
+/home/paulo/Downloads/audio/SOPAEYW12A58A7DBFE.mp3	audio
+/home/paulo/Downloads/audio/SOMIHZH12AB01821D8.mp3	audio
+/home/paulo/Downloads/audio/SOLIFTZ12AB017AFED.mp3	audio
+/home/paulo/Downloads/audio/SODTQFE12A8C133B0B.mp3	audio
+/home/paulo/Downloads/audio/SOITMVX12AF72A089F.mp3	audio
+/home/paulo/Downloads/audio/SOVEMJL12A8C13B645.mp3	audio
+/home/paulo/Downloads/audio/SORPVUD12A67020454.mp3	audio
+/home/paulo/Downloads/audio/SOXAIMS12A8C137E90.mp3	audio
+/home/paulo/Downloads/audio/SOQIQZU12A6D4FB8B5.mp3	audio
+/home/paulo/Downloads/audio/SOPGPTD12A6310E032.mp3	audio
+/home/paulo/Downloads/audio/SOFTTQV12A58A7CD57.mp3	audio
+/home/paulo/Downloads/audio/SOGFISS12A58A7E5FE.mp3	audio
+/home/paulo/Downloads/audio/SOJSTYO12A8C13F200.mp3	audio
+/home/paulo/Downloads/audio/SOBKTKO12AB01857FD.mp3	audio
+/home/paulo/Downloads/audio/SOMDIFH12A6310F24B.mp3	audio
+/home/paulo/Downloads/audio/SOACGVR12A8C13B60A.mp3	audio
+/home/paulo/Downloads/audio/SOHSHMS12A8C13BF58.mp3	audio
+/home/paulo/Downloads/audio/SOKDFZW12AC9072C8C.mp3	audio
+/home/paulo/Downloads/audio/SOOURJG12A8C13A9F3.mp3	audio
+/home/paulo/Downloads/audio/SOPMDSY12AF72A0C6F.mp3	audio
+/home/paulo/Downloads/audio/SOPXWLG12A8C13E75D.mp3	audio
+/home/paulo/Downloads/audio/SOBYDAA12A6D4F8847.mp3	audio
+/home/paulo/Downloads/audio/SOZZIOH12A67ADE300.mp3	audio
+/home/paulo/Downloads/audio/SOBGMYK12A6D4F6730.mp3	audio
+/home/paulo/Downloads/audio/SOVPAJA12A58A77B15.mp3	audio
+/home/paulo/Downloads/audio/SOLLOWH12A3F1E9FB5.mp3	audio
+/home/paulo/Downloads/audio/SOWQBBT12AC4686122.mp3	audio
+/home/paulo/Downloads/audio/SOPKEIV12AB018220D.mp3	audio
+/home/paulo/Downloads/audio/SOCXCTS12AC468A380.mp3	audio
+/home/paulo/Downloads/audio/SOYYIZT12A8C1408CA.mp3	audio
+/home/paulo/Downloads/audio/SOKVTGU12A6701E7B1.mp3	audio
+/home/paulo/Downloads/audio/SOLBWFV12A8C13D5B2.mp3	audio
+/home/paulo/Downloads/audio/SOPIQZP12A670201C7.mp3	audio
+/home/paulo/Downloads/audio/SOKLADX12A8C13AA37.mp3	audio
+/home/paulo/Downloads/audio/SODCNJX12A6D4F93CB.mp3	audio
+/home/paulo/Downloads/audio/SOBRREA12A6701C403.mp3	audio
+/home/paulo/Downloads/audio/SOHJOLH12A6310DFE5.mp3	audio
+/home/paulo/Downloads/audio/SODTJFU12B0B80C9BE.mp3	audio
+/home/paulo/Downloads/audio/SOODWNJ12AC4688DA4.mp3	audio
+/home/paulo/Downloads/audio/SOZKLMU12A8AE4714C.mp3	audio
+/home/paulo/Downloads/audio/SOQJAZE12A6D4F95A8.mp3	audio
+/home/paulo/Downloads/audio/SORSSEI12A6701E511.mp3	audio
+/home/paulo/Downloads/audio/SOLJQPF12A67020924.mp3	audio
+/home/paulo/Downloads/audio/SONEYTB12AF72A73F0.mp3	audio
+/home/paulo/Downloads/audio/SOJMJMS12AB018566E.mp3	audio
+/home/paulo/Downloads/audio/SOMAUYZ12A8C135979.mp3	audio
+/home/paulo/Downloads/audio/SOLGJYY12A6701C431.mp3	audio
+/home/paulo/Downloads/audio/SOAPIHX12AB0184CB1.mp3	audio
+/home/paulo/Downloads/audio/SOCHYDE12A8C13E438.mp3	audio
+/home/paulo/Downloads/audio/SOJSUQF12A67ADF6C0.mp3	audio
+/home/paulo/Downloads/audio/SOJEMSC12A6D4F81A6.mp3	audio
+/home/paulo/Downloads/audio/SOQBPJS12A67ADA077.mp3	audio
+/home/paulo/Downloads/audio/SOHQRUK12A6701F9AD.mp3	audio
+/home/paulo/Downloads/audio/SOQBMFK12A8C13835B.mp3	audio
+/home/paulo/Downloads/audio/SONREBX12A8C142DBA.mp3	audio
+/home/paulo/Downloads/audio/SOVHBUI12AB0184DEB.mp3	audio
+/home/paulo/Downloads/audio/SOOXLND12A6D4FE36E.mp3	audio
+/home/paulo/Downloads/audio/SOMVUAM12A8C14416D.mp3	audio
+/home/paulo/Downloads/audio/SOTSPVI12A6D4FA446.mp3	audio
+/home/paulo/Downloads/audio/SOUANJU12A8C14278B.mp3	audio
+/home/paulo/Downloads/audio/SOKXMHW12AF729EAA6.mp3	audio
+/home/paulo/Downloads/audio/SOKYDWK12A6D4F623F.mp3	audio
+/home/paulo/Downloads/audio/SOYDTRQ12AF72A3D61.mp3	audio
+/home/paulo/Downloads/audio/SOVLJHG12A81C21AA0.mp3	audio
+/home/paulo/Downloads/audio/SOEXMJG12A8C13EC18.mp3	audio
+/home/paulo/Downloads/audio/SOTUNOQ12A67ADADA7.mp3	audio
+/home/paulo/Downloads/audio/SOPGMKX12AB0182B4C.mp3	audio
+/home/paulo/Downloads/audio/SOALITF12A6310DFCD.mp3	audio
+/home/paulo/Downloads/audio/SOYHKYO12AB018224C.mp3	audio
+/home/paulo/Downloads/audio/SOKUTUM12A6701D9CD.mp3	audio
+/home/paulo/Downloads/audio/SOBGPHU12A8C1424E3.mp3	audio
+/home/paulo/Downloads/audio/SOVIZNF12AF72A710A.mp3	audio
+/home/paulo/Downloads/audio/SOLVLFW12A67020A3F.mp3	audio
+/home/paulo/Downloads/audio/SOIOESO12A6D4F621D.mp3	audio
+/home/paulo/Downloads/audio/SONGPKC12A8C13ABD9.mp3	audio
+/home/paulo/Downloads/audio/SODSAHJ12A6D4F8A26.mp3	audio
+/home/paulo/Downloads/audio/SORXQQP12AC960DAB3.mp3	audio
+/home/paulo/Downloads/audio/SOPMWXY12A58A7E908.mp3	audio
+/home/paulo/Downloads/audio/SOTGOVG12A6701C573.mp3	audio
+/home/paulo/Downloads/audio/SODEHVU12AB017FCD1.mp3	audio
+/home/paulo/Downloads/audio/SOJUBSU12AF729FEC1.mp3	audio
+/home/paulo/Downloads/audio/SOUXBNY12A8C13BADB.mp3	audio
+/home/paulo/Downloads/audio/SOUEGBF12AB017EFD5.mp3	audio
+/home/paulo/Downloads/audio/SOCRNTA12A8C13CCB6.mp3	audio
+/home/paulo/Downloads/audio/SONFCUC12A58A7BC34.mp3	audio
+/home/paulo/Downloads/audio/SOFJOSL12AB0181CA8.mp3	audio
+/home/paulo/Downloads/audio/SONQCXC12A6D4F6A37.mp3	audio
+/home/paulo/Downloads/audio/SOFZRXA12AC960DAB5.mp3	audio
+/home/paulo/Downloads/audio/SOALBSB12A58A814C0.mp3	audio
+/home/paulo/Downloads/audio/SOJITNW12A8C13D951.mp3	audio
+/home/paulo/Downloads/audio/SOZAPQT12A8C142821.mp3	audio
+/home/paulo/Downloads/audio/SOAOOWF12A8C1347EC.mp3	audio
+/home/paulo/Downloads/audio/SOTJRSO12AB0182AE4.mp3	audio
+/home/paulo/Downloads/audio/SOTMTTY12A6D4F95A1.mp3	audio
+/home/paulo/Downloads/audio/SOLMAIK12A8C13F7B5.mp3	audio
+/home/paulo/Downloads/audio/SOBTNNG12AF72A73E8.mp3	audio
+/home/paulo/Downloads/audio/SOXPDDQ12A58A76829.mp3	audio
+/home/paulo/Downloads/audio/SOCVMXL12A6D4F6EE7.mp3	audio
+/home/paulo/Downloads/audio/SOQWYUA12A81C217E6.mp3	audio
+/home/paulo/Downloads/audio/SOCCASN12B0B8069FA.mp3	audio
+/home/paulo/Downloads/audio/SOFKTPP12A8C1385CA.mp3	audio
+/home/paulo/Downloads/audio/SORKMCT12A8C136ED7.mp3	audio
+/home/paulo/Downloads/audio/SOHKKFX12A58A7975B.mp3	audio
+/home/paulo/Downloads/audio/SOZFWXQ12A58A7C631.mp3	audio
+/home/paulo/Downloads/audio/SOXGQCN12A8C1384FA.mp3	audio
+/home/paulo/Downloads/audio/SOOSIWM12A670202B9.mp3	audio
+/home/paulo/Downloads/audio/SOWDKXZ12A81C22377.mp3	audio
+/home/paulo/Downloads/audio/SOUNSQC12AC9071827.mp3	audio
+/home/paulo/Downloads/audio/SOFZXIO12A8C1362C9.mp3	audio
+/home/paulo/Downloads/audio/SOWKVVW12A8AE45E8C.mp3	audio
+/home/paulo/Downloads/audio/SOMCAFM12A58A7B024.mp3	audio
+/home/paulo/Downloads/audio/SOPYNHK12AB017E7D2.mp3	audio
+/home/paulo/Downloads/audio/SOTSHYT12A8C142868.mp3	audio
+/home/paulo/Downloads/audio/SOMZMOQ12A8C13A687.mp3	audio
+/home/paulo/Downloads/audio/SOHXKKN12A8151DCDF.mp3	audio
+/home/paulo/Downloads/audio/SOOWVNN12A8C140775.mp3	audio
+/home/paulo/Downloads/audio/SOGUJGE12AF72A5BC9.mp3	audio
+/home/paulo/Downloads/audio/SOITIDA12A6D4FBC7D.mp3	audio
+/home/paulo/Downloads/audio/SOMVAGR12A67AE1114.mp3	audio
+/home/paulo/Downloads/audio/SOCLANN12AC907598C.mp3	audio
+/home/paulo/Downloads/audio/SOQTYPY12A8C13F642.mp3	audio
+/home/paulo/Downloads/audio/SOZCDWG12A6D4F81E1.mp3	audio
+/home/paulo/Downloads/audio/SOHDPUQ12A6701FB97.mp3	audio
+/home/paulo/Downloads/audio/SOAAAGQ12A8C1420C8.mp3	audio
+/home/paulo/Downloads/audio/SOJOVEU12A8C140C34.mp3	audio
+/home/paulo/Downloads/audio/SOINDRZ12A6701DAF6.mp3	audio
+/home/paulo/Downloads/audio/SOEYVHS12AB0181D31.mp3	audio
+/home/paulo/Downloads/audio/SOMRPMY12AF72A1025.mp3	audio
+/home/paulo/Downloads/audio/SONKHQE12A58A7C8AD.mp3	audio
+/home/paulo/Downloads/audio/SOJDMAS12B0B8079A4.mp3	audio
+/home/paulo/Downloads/audio/SOPWZGK12A67020744.mp3	audio
+/home/paulo/Downloads/audio/SOINIUZ12A67ADF6D8.mp3	audio
+/home/paulo/Downloads/audio/SOYTDBL12A6D4F8148.mp3	audio
+/home/paulo/Downloads/audio/SOEENHE12A8C13CA68.mp3	audio
+/home/paulo/Downloads/audio/SOAAMOW12AB018149B.mp3	audio
+/home/paulo/Downloads/audio/SOMPKTP12A67020A3B.mp3	audio
+/home/paulo/Downloads/audio/SOMWCVL12AF729E81A.mp3	audio
+/home/paulo/Downloads/audio/SONDWXT12A8C13C37F.mp3	audio
+/home/paulo/Downloads/audio/SOGKGDF12AF72A5DD6.mp3	audio
+/home/paulo/Downloads/audio/SOVBJIV12A81C22366.mp3	audio
+/home/paulo/Downloads/audio/SOQWSHS12A6701C576.mp3	audio
+/home/paulo/Downloads/audio/SOHOWRD12AB018FBF5.mp3	audio
+/home/paulo/Downloads/audio/SOZDMZB12A6701D925.mp3	audio
+/home/paulo/Downloads/audio/SODWUBY12A6D4F8E8A.mp3	audio
+/home/paulo/Downloads/audio/SOSJDQJ12A8C13D4A9.mp3	audio
+/home/paulo/Downloads/audio/SOJPCYJ12A81C22380.mp3	audio
+/home/paulo/Downloads/audio/SONMKLO12AB017B593.mp3	audio
+/home/paulo/Downloads/audio/SOPOFBW12AB0187196.mp3	audio
+/home/paulo/Downloads/audio/SOVTLQW12AB0186641.mp3	audio
+/home/paulo/Downloads/audio/SOKTUUN12AB017E5B5.mp3	audio
+/home/paulo/Downloads/audio/SOODSPH12AB01819C3.mp3	audio
+/home/paulo/Downloads/audio/SODUPLP12A6D4FB8E3.mp3	audio
+/home/paulo/Downloads/audio/SOPCCWV12A670205F3.mp3	audio
+/home/paulo/Downloads/audio/SOQZBYZ12A6701E7B0.mp3	audio
+/home/paulo/Downloads/audio/SOOZZGS12A6D4FBDF8.mp3	audio
+/home/paulo/Downloads/audio/SOCBMFC12A6701D7BA.mp3	audio
+/home/paulo/Downloads/audio/SOHDQMI12A6D4F9A77.mp3	audio
+/home/paulo/Downloads/audio/SOOROCA12AF72A07D1.mp3	audio
+/home/paulo/Downloads/audio/SOAIAAT12A8C145D49.mp3	audio
+/home/paulo/Downloads/audio/SOFCIQA12A58A7EAE7.mp3	audio
+/home/paulo/Downloads/audio/SOIDAAV12AB0182D50.mp3	audio
+/home/paulo/Downloads/audio/SOLEWHB12AB01831B3.mp3	audio
+/home/paulo/Downloads/audio/SORTPHZ12A8C13D374.mp3	audio
+/home/paulo/Downloads/audio/SOIITXW12A8C142B66.mp3	audio
+/home/paulo/Downloads/audio/SOQPBQQ12A6701D1D8.mp3	audio
+/home/paulo/Downloads/audio/SOKLQRE12A58A7BB97.mp3	audio
+/home/paulo/Downloads/audio/SOZVVRE12A8C143150.mp3	audio
+/home/paulo/Downloads/audio/SOEGOAB12A8C13BAE4.mp3	audio
+/home/paulo/Downloads/audio/SOGCVPU12AB017CA73.mp3	audio
+/home/paulo/Downloads/audio/SOHTKMO12AB01843B0.mp3	audio
+/home/paulo/Downloads/audio/SOWGIBZ12A8C136A2E.mp3	audio
+/home/paulo/Downloads/audio/SOVMGXI12AF72A80B0.mp3	audio
+/home/paulo/Downloads/audio/SOHNGUW12A81C22370.mp3	audio
+/home/paulo/Downloads/audio/SONUYPZ12AC46899E2.mp3	audio
+/home/paulo/Downloads/audio/SOQJKGN12A8C1425B5.mp3	audio
+/home/paulo/Downloads/audio/SOLKOOO12AB018794A.mp3	audio
+/home/paulo/Downloads/audio/SOWBFBP12A58A7D6EA.mp3	audio
+/home/paulo/Downloads/audio/SOETQJP12A6D4F6731.mp3	audio
+/home/paulo/Downloads/audio/SOIZLKI12A6D4F7B61.mp3	audio
+/home/paulo/Downloads/audio/SOYONCL12A8C13B9F7.mp3	audio
+/home/paulo/Downloads/audio/SOTVFIU12AC46878B7.mp3	audio
+/home/paulo/Downloads/audio/SOKXQDO12AB017FD04.mp3	audio
+/home/paulo/Downloads/audio/SOVYMPX12A8C1359B7.mp3	audio
+/home/paulo/Downloads/audio/SOSUWJE12AB0184567.mp3	audio
+/home/paulo/Downloads/audio/SOGPNGN12A8C143969.mp3	audio
+/home/paulo/Downloads/audio/SOMKNTR12A6D4F9CCD.mp3	audio
+/home/paulo/Downloads/audio/SOCTOZW12A8C13AE90.mp3	audio
+/home/paulo/Downloads/audio/SOYIJRW12A8C134621.mp3	audio
+/home/paulo/Downloads/audio/SOOQIEK12A8C13EA1E.mp3	audio
+/home/paulo/Downloads/audio/SOEJMGM12AF72A6261.mp3	audio
+/home/paulo/Downloads/audio/SOBYPWB12A8C141665.mp3	audio
+/home/paulo/Downloads/audio/SOJHVZZ12A58A75BBE.mp3	audio
+/home/paulo/Downloads/audio/SOAUBGU12A6701C57A.mp3	audio
+/home/paulo/Downloads/audio/SOUCPBK12A58A7881A.mp3	audio
+/home/paulo/Downloads/audio/SOMGVYU12A8C1314FF.mp3	audio
+/home/paulo/Downloads/audio/SOPKPFW12A6D4F84BC.mp3	audio
+/home/paulo/Downloads/audio/SOGJJON12A67AD9554.mp3	audio
+/home/paulo/Downloads/audio/SOZKDMB12B0B80C4AC.mp3	audio
+/home/paulo/Downloads/audio/SOFWJHD12AB018392B.mp3	audio
+/home/paulo/Downloads/audio/SOFWBSS12A8C136313.mp3	audio
+/home/paulo/Downloads/audio/SOKVSAH12A8C133C6D.mp3	audio
+/home/paulo/Downloads/audio/SOWUTFF12A8C138AB2.mp3	audio
+/home/paulo/Downloads/audio/SOTHRRH12A8C13DCBA.mp3	audio
+/home/paulo/Downloads/audio/SOLLDVS12AB0183835.mp3	audio
+/home/paulo/Downloads/audio/SOXCUHM12B0B8092BB.mp3	audio
+/home/paulo/Downloads/audio/SOIAXDW12A6D4F9466.mp3	audio
+/home/paulo/Downloads/audio/SOQLFRX12A6D4F9200.mp3	audio
+/home/paulo/Downloads/audio/SOTQUOJ12A8C13A203.mp3	audio
+/home/paulo/Downloads/audio/SOHEGSJ12AB0183790.mp3	audio
+/home/paulo/Downloads/audio/SOARUBA12A8C138E3D.mp3	audio
+/home/paulo/Downloads/audio/SOWRMTT12A8C137064.mp3	audio
+/home/paulo/Downloads/audio/SOGYLTC12A8C14111E.mp3	audio
+/home/paulo/Downloads/audio/SOXTBGF12A6D4FB49C.mp3	audio
+/home/paulo/Downloads/audio/SOOIZTZ12A6D4FBDC7.mp3	audio
+/home/paulo/Downloads/audio/SOIICEQ12A6D4F7FE0.mp3	audio
+/home/paulo/Downloads/audio/SONIMNU12B0B8092AB.mp3	audio
+/home/paulo/Downloads/audio/SOYDNQZ12A67020A42.mp3	audio
+/home/paulo/Downloads/audio/SONRRQH12AC3DFA45F.mp3	audio
+/home/paulo/Downloads/audio/SOKHYXV12A6D4F676A.mp3	audio
+/home/paulo/Downloads/audio/SOPWKOX12A8C139D43.mp3	audio
+/home/paulo/Downloads/audio/SOUFNSM12A58A77715.mp3	audio
+/home/paulo/Downloads/audio/SOCBWRP12A8C1311DB.mp3	audio
+/home/paulo/Downloads/audio/SODOWQF12A81C2371B.mp3	audio
+/home/paulo/Downloads/audio/SOUNJIO12AB0181339.mp3	audio
+/home/paulo/Downloads/audio/SOKUECJ12A6D4F6129.mp3	audio
+/home/paulo/Downloads/audio/SOEGIYH12A6D4FC0E3.mp3	audio
+/home/paulo/Downloads/audio/SOGGMMV12AB0184AEB.mp3	audio
+/home/paulo/Downloads/audio/SOTVZIB12A6D4F694A.mp3	audio
+/home/paulo/Downloads/audio/SOZIMYM12A8C13C707.mp3	audio
+/home/paulo/Downloads/audio/SOGIDSA12A8C142829.mp3	audio
+/home/paulo/Downloads/audio/SOPBGKX12A8C13D97B.mp3	audio
+/home/paulo/Downloads/audio/SOJEVHC12A8C13C3E5.mp3	audio
+/home/paulo/Downloads/audio/SOCUBFV12AB01810BB.mp3	audio
+/home/paulo/Downloads/audio/SOFRWHG12A58A7DF46.mp3	audio
+/home/paulo/Downloads/audio/SOABGQW12AB017CFB2.mp3	audio
+/home/paulo/Downloads/audio/SONPLUD12A8C13BF4B.mp3	audio
+/home/paulo/Downloads/audio/SOGWJEY12AC9618862.mp3	audio
+/home/paulo/Downloads/audio/SODMBJL12A8C13EB1A.mp3	audio
+/home/paulo/Downloads/audio/SOOTKBQ12AC3DFA4A2.mp3	audio
+/home/paulo/Downloads/audio/SOWDRRZ12A8C13AE89.mp3	audio
+/home/paulo/Downloads/audio/SOWSSRH12A58A7CE5D.mp3	audio
+/home/paulo/Downloads/audio/SOCFPBP12AB0182D2B.mp3	audio
+/home/paulo/Downloads/audio/SONCBGG12AB0183F8E.mp3	audio
+/home/paulo/Downloads/audio/SOMVEVM12AB01855C6.mp3	audio
+/home/paulo/Downloads/audio/SOCBGZW12A58A7CAC2.mp3	audio
+/home/paulo/Downloads/audio/SONBXQW12A6701FD05.mp3	audio
+/home/paulo/Downloads/audio/SOVVRDZ12A6701C577.mp3	audio
+/home/paulo/Downloads/audio/SOPVQLJ12A67AE2281.mp3	audio
+/home/paulo/Downloads/audio/SOCJWZY12A67021D18.mp3	audio
+/home/paulo/Downloads/audio/SORQVPO12AF72A690C.mp3	audio
+/home/paulo/Downloads/audio/SOKEYJQ12A6D4F6132.mp3	audio
+/home/paulo/Downloads/audio/SOJVPDY12AF72A1B04.mp3	audio
+/home/paulo/Downloads/audio/SOBOAFP12A8C131F36.mp3	audio
+/home/paulo/Downloads/audio/SOMMLDP12A8C13BA46.mp3	audio
+/home/paulo/Downloads/audio/SOKCZCN12A6D4F94CF.mp3	audio
+/home/paulo/Downloads/audio/SOMWTWK12AB01860CD.mp3	audio
+/home/paulo/Downloads/audio/SOYGPCH12A8151BD66.mp3	audio
+/home/paulo/Downloads/audio/SOPCTBB12AF72A1B64.mp3	audio
+/home/paulo/Downloads/audio/SOZMINK12AF72AAC26.mp3	audio
+/home/paulo/Downloads/audio/SOMJWPP12A6D4F8506.mp3	audio
+/home/paulo/Downloads/audio/SOJFARO12AF72A709A.mp3	audio
+/home/paulo/Downloads/audio/SOXLOQG12AF72A2D55.mp3	audio
+/home/paulo/Downloads/audio/SOMEBUD12AB01869CA.mp3	audio
+/home/paulo/Downloads/audio/SOAGGLN12AB018AC9B.mp3	audio
+/home/paulo/Downloads/audio/SOUODFE12A58A80347.mp3	audio
+/home/paulo/Downloads/audio/SOTKFFF12AC9072C86.mp3	audio
+/home/paulo/Downloads/audio/SOMRTUH12AB0185650.mp3	audio
+/home/paulo/Downloads/audio/SOQTFOI12AB0185675.mp3	audio
+/home/paulo/Downloads/audio/SOMVPBQ12A58A7835F.mp3	audio
+/home/paulo/Downloads/audio/SORHJAS12AB0187D3F.mp3	audio
+/home/paulo/Downloads/audio/SONEWOI12AAF3B3602.mp3	audio
+/home/paulo/Downloads/audio/SORZSTP12A8C133573.mp3	audio
+/home/paulo/Downloads/audio/SODHKOL12A8C141128.mp3	audio
+/home/paulo/Downloads/audio/SOEPWPM12AC468611C.mp3	audio
+/home/paulo/Downloads/audio/SOMIPZX12A8C1410FA.mp3	audio
+/home/paulo/Downloads/audio/SOYVUDI12A81C22872.mp3	audio
+/home/paulo/Downloads/audio/SOQDMED12A67ADE731.mp3	audio
+/home/paulo/Downloads/audio/SOEYIND12A6310E02E.mp3	audio
+/home/paulo/Downloads/audio/SOWKLEE12A81C232AC.mp3	audio
+/home/paulo/Downloads/audio/SOHZPIK12A58A7CCAE.mp3	audio
+/home/paulo/Downloads/audio/SOHDSVJ12A6D4F93FF.mp3	audio
+/home/paulo/Downloads/audio/SOKBTWI12B0B80BD8F.mp3	audio
+/home/paulo/Downloads/audio/SOPDRWC12A8C141DDE.mp3	audio
+/home/paulo/Downloads/audio/SOCXJFM12A8C13EB1C.mp3	audio
+/home/paulo/Downloads/audio/SOMJJAM12A8C13B607.mp3	audio
+/home/paulo/Downloads/audio/SOVHRGF12A8C13852F.mp3	audio
+/home/paulo/Downloads/audio/SOHIROU12AB01852AF.mp3	audio
+/home/paulo/Downloads/audio/SOFNYFB12AB0183A73.mp3	audio
+/home/paulo/Downloads/audio/SOQAEHC12A67020A41.mp3	audio
+/home/paulo/Downloads/audio/SOCDNMP12AB018440C.mp3	audio
+/home/paulo/Downloads/audio/SOCQSZB12A58A7B71D.mp3	audio
+/home/paulo/Downloads/audio/SOZSILE12AB01885B7.mp3	audio
+/home/paulo/Downloads/audio/SOCKFVF12A8C1442A7.mp3	audio
+/home/paulo/Downloads/audio/SONLOQQ12A8C139AF9.mp3	audio
+/home/paulo/Downloads/audio/SOAOERV12AF72A48FC.mp3	audio
+/home/paulo/Downloads/audio/SOMGPML12A8C13AE8C.mp3	audio
+/home/paulo/Downloads/audio/SOTEFFR12A8C144765.mp3	audio
+/home/paulo/Downloads/audio/SOGPMUO12A6D4F6D31.mp3	audio
+/home/paulo/Downloads/audio/SOZJWDN12A8151B851.mp3	audio
+/home/paulo/Downloads/audio/SOARUPP12AB01842E0.mp3	audio
+/home/paulo/Downloads/audio/SOHZPYD12AF72A12E2.mp3	audio
+/home/paulo/Downloads/audio/SOBNOSD12A8C13C4E0.mp3	audio
+/home/paulo/Downloads/audio/SOLFEWX12A8C1442C8.mp3	audio
+/home/paulo/Downloads/audio/SORGIAF12A81C224C2.mp3	audio
+/home/paulo/Downloads/audio/SOCAHRT12A8C13A1A4.mp3	audio
+/home/paulo/Downloads/audio/SOLOFYI12A8C145F8D.mp3	audio
+/home/paulo/Downloads/audio/SODRUCE12A8C141123.mp3	audio
+/home/paulo/Downloads/audio/SOYSPYK12A81C228A0.mp3	audio
+/home/paulo/Downloads/audio/SOTVSBY12A6D4F74D8.mp3	audio
+/home/paulo/Downloads/audio/SOHNVHC12A6D4F95AB.mp3	audio
+/home/paulo/Downloads/audio/SOPZBUU12A6D4F6F0C.mp3	audio
+/home/paulo/Downloads/audio/SOEFNWL12AF729CD2F.mp3	audio
+/home/paulo/Downloads/audio/SOPLUOT12A6D4F7AC3.mp3	audio
+/home/paulo/Downloads/audio/SOAAFAC12A67ADF7EB.mp3	audio
+/home/paulo/Downloads/audio/SOSGBJB12A6D4FCDEC.mp3	audio
+/home/paulo/Downloads/audio/SOJTLHS12A8C13F633.mp3	audio
+/home/paulo/Downloads/audio/SOHLLRP12A6701F2F4.mp3	audio
+/home/paulo/Downloads/audio/SOKFDWP12A8C1362CC.mp3	audio
+/home/paulo/Downloads/audio/SODMUPG12A67021CC7.mp3	audio
+/home/paulo/Downloads/audio/SOWOMMY127F8096DF9.mp3	audio
+/home/paulo/Downloads/audio/SOQIXUL12A6D4FAE93.mp3	audio
+/home/paulo/Downloads/audio/SOPNSJN12AF72A50A6.mp3	audio
+/home/paulo/Downloads/audio/SOMMONH12A6D4F41CD.mp3	audio
+/home/paulo/Downloads/audio/SOVWHPM12AB017DABB.mp3	audio
+/home/paulo/Downloads/audio/SOHOCMM12AB01845E0.mp3	audio
+/home/paulo/Downloads/audio/SONIJFN12A6D4F7A7A.mp3	audio
+/home/paulo/Downloads/audio/SOFSIKY12AF72A0807.mp3	audio
+/home/paulo/Downloads/audio/SOSDTGC12AF72A2BC3.mp3	audio
+/home/paulo/Downloads/audio/SOBEVXQ12A8C13AE57.mp3	audio
+/home/paulo/Downloads/audio/SOGVJCW12A6D4F8EFD.mp3	audio
+/home/paulo/Downloads/audio/SOBFRNE12A6D4F7995.mp3	audio
+/home/paulo/Downloads/audio/SOXUMBC12AB018DA2B.mp3	audio
+/home/paulo/Downloads/audio/SODQBES12AAFF4444C.mp3	audio
+/home/paulo/Downloads/audio/SODILEO12A8C13BC53.mp3	audio
+/home/paulo/Downloads/audio/SOFPEZR12A67021B80.mp3	audio
+/home/paulo/Downloads/audio/SOBCOWD12A6701FD78.mp3	audio
+/home/paulo/Downloads/audio/SOMUEZH12A6D4F66C6.mp3	audio
+/home/paulo/Downloads/audio/SOYUFEX12AB0182255.mp3	audio
+/home/paulo/Downloads/audio/SOMNPAP12A8C1385D6.mp3	audio
+/home/paulo/Downloads/audio/SOBBHVN12A6702162D.mp3	audio
+/home/paulo/Downloads/audio/SOGZQHS12A8C137A12.mp3	audio
+/home/paulo/Downloads/audio/SOGSAYQ12AB018BA14.mp3	audio
+/home/paulo/Downloads/audio/SOYMEKY12A6D4F88FE.mp3	audio
+/home/paulo/Downloads/audio/SOFZOTX12A67ADF6DB.mp3	audio
+/home/paulo/Downloads/audio/SOIFPJU12A8C136FC6.mp3	audio
+/home/paulo/Downloads/audio/SOVNVRF12A8C14477B.mp3	audio
+/home/paulo/Downloads/audio/SOWHATW12A8C132857.mp3	audio
+/home/paulo/Downloads/audio/SOPLUBC12A8C142B6D.mp3	audio
+/home/paulo/Downloads/audio/SOVCUAX12AB017EFB5.mp3	audio
+/home/paulo/Downloads/audio/SOFGIVB12A6D4F5923.mp3	audio
+/home/paulo/Downloads/audio/SOTNCZU12A8C13EDC8.mp3	audio
+/home/paulo/Downloads/audio/SOLKDYK12AB018DA3C.mp3	audio
+/home/paulo/Downloads/audio/SOBJCFV12A8AE469EE.mp3	audio
+/home/paulo/Downloads/audio/SOSYOHI12A8C144584.mp3	audio
+/home/paulo/Downloads/audio/SOSZAST12A6D4F6245.mp3	audio
+/home/paulo/Downloads/audio/SOPGOJB12A8C13B05C.mp3	audio
--- a/Dataset/CF_dataset_metadata.txt	Tue Aug 11 14:23:42 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,640 +0,0 @@
-SOZVCRW12A67ADA0B7	TRQBGQS13269B91E41	The Killers	When You Were Young	http://previews.7digital.com/clip/453787
-SOPUCYA12A8C13A694	TRIWUJJ12E5AE91ADF	Five Iron Frenzy	Canada	http://previews.7digital.com/clip/2347979
-SOSXLTC12AF72A7F54	TRUKOYA12E5B315514	Kings of Leon	Revelry	http://previews.7digital.com/clip/4386514
-SOPXKYD12A6D4FA876	TRVKCWF12E4E5856DA	Coldplay	Yellow	http://previews.7digital.com/clip/3326
-SOBUBLL12A58A795A8	TRXLPHX12E5ADEFECC	Tiny Vipers	They Might Follow You	http://previews.7digital.com/clip/2435776
-SOEGIYH12A6D4FC0E3	TRFKAWM1380A667454	Barry Tuckwell	Horn Concerto No. 4 in E Flat, K.495: II. Romance (Andante cantabile)	http://previews.7digital.com/clip/1681605
-SONWUZV12AB0180BAD	TRYIVJH12E5B4AA415	Drowning Pool	Reason I'm Alive	http://previews.7digital.com/clip/5439631
-SOKEYJQ12A6D4F6132	TRXNILG12E5B302E75	The Killers	Smile Like You Mean It (Fischerspooner Mix)	http://previews.7digital.com/clip/4465261
-SOHTKMO12AB01843B0	TRCROVY13269C95374	Lonnie Gordon	Catch You Baby (Steve Pitron & Max Sanna Radio Edit)	http://previews.7digital.com/clip/5943137
-SOIZLKI12A6D4F7B61	TRZXQDJ12E5AC31B9E	Muse	Supermassive Black Hole	http://previews.7digital.com/clip/5635554
-SOVWADY12AB0189C63	TRSTRRP13269D50FA7	Miley Cyrus	Party In The U.S.A.	http://previews.7digital.com/clip/6664762
-SOHJOLH12A6310DFE5	TRBOAZJ12E5AC28DC9	Radiohead	Karma Police	http://previews.7digital.com/clip/9519
-SOSJDQJ12A8C13D4A9	TRLDHKM12E5B3A1642	Chromeo	Fancy Footwork (Laidback Luke Remix)	http://previews.7digital.com/clip/2930105
-SOKNWRZ12A8C13BF62	TRFKEBW12E5B3FCF51	The Postal Service	Natural Anthem	http://previews.7digital.com/clip/11270596
-SOPXLWJ12A8C132639	TRUAUXL13269C5BD7E	The White Stripes	Fell In Love With A Girl	http://previews.7digital.com/clip/401312
-SOMMKEW12A58A80F00	TRDBMXU12E5AE6A888	Vampire Weekend	Horchata	http://previews.7digital.com/clip/7404096
-SOFLJQZ12A6D4FADA6	TREDBZU12E5AD2A71A	Cartola	Tive Sim	http://previews.7digital.com/clip/1660449
-SOUSAXA12AF72A73F5	TRHOAII13269C0C8A9	LCD Soundsystem	North American Scum	http://previews.7digital.com/clip/639853
-SOGVKXX12A67ADA0B8	TRCDRUA13269B91E42	The Killers	All The Pretty Faces	http://previews.7digital.com/clip/453788
-SOAIAAT12A8C145D49	TRDULDI12E5AD04392	Creedence Clearwater Revival	Bad Moon Rising	http://previews.7digital.com/clip/3615402
-SOSPXWA12AB0181875	TRDSXGG1380A44951D	Jack Johnson	Bubble Toes	http://previews.7digital.com/clip/15603564
-SOKUECJ12A6D4F6129	TRTETIJ12E5B302E6C	The Killers	Somebody Told Me	http://previews.7digital.com/clip/4465246
-SOBOAFP12A8C131F36	TRDQKVA12E5AC73097	Jason Mraz	Lucky	http://previews.7digital.com/clip/2876292
-SOOFYTN12A6D4F9B35	TRMQHUQ13269CBC518	Alliance Ethnik	Représente	http://previews.7digital.com/clip/320223
-SOUGCDK12AC95F075F	TRKHQVC1326A065A0B	Justin Bieber	Never Let You Go	http://previews.7digital.com/clip/8497967
-SOUNZHU12A8AE47481	TRKIQTV13269C3D64F	Ron Carter	I CAN'T GET STARTED	http://previews.7digital.com/clip/3118547
-SOHVWPV12A8C135C5B	TRKEFRS13269C0C8C2	LCD Soundsystem	Sound Of Silver (c2 rmx rev.3)	http://previews.7digital.com/clip/1577358
-SOTEFFR12A8C144765	TRVXRUU13269B91EAD	The Killers	A Dustland Fairytale	http://previews.7digital.com/clip/3788008
-SOAVWHY12AB017C6C0	TRCAHVN13269B91EA9	The Killers	Losing Touch	http://previews.7digital.com/clip/3788004
-SOMMONH12A6D4F41CD	TRGTWQZ12E5AC2F981	Beastie Boys	The Maestro (2009 Digital Remaster)	http://previews.7digital.com/clip/253738
-SOKVTGU12A6701E7B1	TRMKDIC12E5AC876CA	LCD Soundsystem	On Repeat	http://previews.7digital.com/clip/86919
-SOMWTWK12AB01860CD	TRAIAHG12E5AE6A889	Vampire Weekend	White Sky	http://previews.7digital.com/clip/7404100
-SOQJKGN12A8C1425B5	TRTWKHL12E5B3FB3CF	Hot Chip	The Beach Party	http://previews.7digital.com/clip/8597248
-SOCQSZB12A58A7B71D	TRBASFP13269E9A447	Vampire Weekend	Campus	http://previews.7digital.com/clip/2093105
-SOOXRJG12A8C13773E	TRLEUUJ12E5B4B2955	The Shins	Caring Is Creepy	http://previews.7digital.com/clip/11270427
-SODCNJX12A6D4F93CB	TRHYHQV13269CE23A2	Natiruts	Jamaica Roots II(Agora E Sempre)	http://previews.7digital.com/clip/1533284
-SOKXQDO12AB017FD04	TREPCBV12E5AE9243D	Man Man	Black Mission Goggles	http://previews.7digital.com/clip/6111348
-SOARUBA12A8C138E3D	TRDRIFI12E5AC51DE3	Eve 6	Nocturnal	http://previews.7digital.com/clip/3326926
-SOQLFRX12A6D4F9200	TRTBWPJ12E5AC809B7	Faith No More	Midlife Crisis	http://previews.7digital.com/clip/449795
-SODWUBY12A6D4F8E8A	TRMXPYF12E5B1C256A	Amy Winehouse	Some Unholy War	http://previews.7digital.com/clip/497707
-SOZZIOH12A67ADE300	TRCYKIM12E5AC876E8	LCD Soundsystem	Watch The Tapes	http://previews.7digital.com/clip/698161
-SOYDTRQ12AF72A3D61	TRECDEK12E5B31550D	Kings of Leon	Be Somebody	http://previews.7digital.com/clip/3570514
-SOMCMKG12A8C1347BF	TRLOUHU13269CA77A4	Jacky Terrasson	Le Jardin d'Hiver	http://previews.7digital.com/clip/1534355
-SOALEQA12A58A77839	TRIOPGE12E5B2FF887	The Rolling Stones	Jumping Jack Flash (Live At The Beacon Theatre, New York / 2006)	http://previews.7digital.com/clip/2351679
-SOPGOJB12A8C13B05C	TRJVWIZ12E5B30CF9C	The Kills	Cheap And Cheerful	http://previews.7digital.com/clip/5896254
-SOETHKN12AF72A65A6	TRVPSYE12E5ACCD0C9	Hot Chip	So Glad To See You	http://previews.7digital.com/clip/365437
-SODLAPJ12A8C142002	TRNNUMD12E5AD014FE	Emmy the Great	MIA	http://previews.7digital.com/clip/6884280
-SONCBGG12AB0183F8E	TRTFRQW12E5AD84767	The Presidents of the United States of America	Video Killed The Radio Star	http://previews.7digital.com/clip/6372659
-SOQGOPT12AAF3B2B27	TRAAYDZ12E4E5965BE	Cat Stevens	Wild World	http://previews.7digital.com/clip/143204
-SOSGBJB12A6D4FCDEC	TRAZMUA12E5B574B7A	Tarot	Tides	http://previews.7digital.com/clip/2770449
-SOXLOQG12AF72A2D55	TRHXVAJ12E5AC2F910	Beastie Boys	Unite (2009 Digital Remaster)	http://previews.7digital.com/clip/7690
-SOBBCWG12AF72AB9CB	TRYLAFL12E5ACCD142	Hot Chip	Brothers	http://previews.7digital.com/clip/7782219
-SOBOUPA12A6D4F81F1	TRKUTDA13269CBC4E0	Alliance Ethnik	Sincerité et jalousie	http://previews.7digital.com/clip/314771
-SOQIXUL12A6D4FAE93	TRLPCMO13269CEDAA9	Lily Allen	Everybody's Changing	http://previews.7digital.com/clip/4842484
-SOPTLQL12AB018D56F	TRAARIK1380AA8B607	Travie McCoy	Billionaire	http://previews.7digital.com/clip/8440036
-SOYEQLD12AB017C713	TRHJQTO13269B91EAC	The Killers	Joy Ride	http://previews.7digital.com/clip/3788007
-SOEHHNH12AB017F715	TRNVNGM12E5B302E69	The Killers	Jenny Was A Friend Of Mine	http://previews.7digital.com/clip/4465242
-SOULTKQ12AB018A183	TRDWDZN13C6D1F4C60	B.o.B	Nothin' On You (feat. Bruno Mars)	http://previews.7digital.com/clip/21782445
-SOBGPHU12A8C1424E3	TRSMDWW12E5ACCD147	Hot Chip	Take It In	http://previews.7digital.com/clip/7782249
-SORQVPO12AF72A690C	TRKGGFI143B7A183E3	The Strokes	New York City Cops	http://previews.7digital.com/clip/33928655
-SOQZBYZ12A6701E7B0	TRCTHKK12E5AC876C8	LCD Soundsystem	Movement	http://previews.7digital.com/clip/86917
-SOCKFVF12A8C1442A7	TROXGKU12E5AC765DD	Stone Temple Pilots	Wicked Garden	http://previews.7digital.com/clip/4191193
-SOETMGH12AB01822F2	TRTUZGU12E5ACF700D	Biffy Clyro	Bubbles	http://previews.7digital.com/clip/7057684
-SOAAFAC12A67ADF7EB	TRFQORF13269BEEF33	Morcheeba	Rome Wasn't Built In A Day	http://previews.7digital.com/clip/312059
-SOVWHPM12AB017DABB	TRRPFFW1300D8BCA57	Biffy Clyro	Many Of Horror	http://previews.7digital.com/clip/13673502
-SOUHQHP12AB017FCA7	TRFVDXG12E5AE92439	Man Man	Engwish Bwudd	http://previews.7digital.com/clip/6111328
-SOOWVNN12A8C140775	TRVHEDO12E5B759265	Florence + The Machine	Rabbit Heart (Raise It Up) (Jamie T and Ben Bones Lionheart Remix)	http://previews.7digital.com/clip/5261508
-SONGIXY12A58A7BB42	TRIHOTF13269C0C8C0	LCD Soundsystem	Someone Great	http://previews.7digital.com/clip/1577352
-SOXCUHM12B0B8092BB	TRYXIKT13269E41854	Holy Fuck	Safari	http://previews.7digital.com/clip/1505469
-SONQSBF12AF72ABB86	TRDODGB12E5AC876CB	LCD Soundsystem	Thrills	http://previews.7digital.com/clip/86920
-SOCGXXL12B0B808865	TRYFVMX12E5AC33B2D	Guns N' Roses	Yesterdays	http://previews.7digital.com/clip/164667
-SOLGJYY12A6701C431	TRFZBJJ13269A01502	No Doubt	Sunday Morning	http://previews.7digital.com/clip/147846
-SOLLDVS12AB0183835	TRJCQQG12E5AD27515	The Black Keys	I'll Be Your Man	http://previews.7digital.com/clip/5639090
-SOSLZXV12A8C1354C9	TRBIUVY12E5AC432EF	Eric Clapton	Tears In Heaven	http://previews.7digital.com/clip/1407656
-SOITIDA12A6D4FBC7D	TRAGMOR12E5AD12229	Lupe Fiasco	Intruder Alert (feat. Sarah Green) (Explicit Album Version)	http://previews.7digital.com/clip/2027126
-SOCNAXF12A6D4F9B34	TRVGSBN13269CBC515	Alliance Ethnik	Creil city	http://previews.7digital.com/clip/320220
-SOGPMUO12A6D4F6D31	TRVMOLA13269D1A39E	MSTRKRFT	She's Good For Business	http://previews.7digital.com/clip/14310499
-SOJFARO12AF72A709A	TRHNXXQ13269C53A34	Neutral Milk Hotel	Gardenhead / Leave Me Alone	http://previews.7digital.com/clip/5274368
-SOHNVHC12A6D4F95AB	TREVEBJ13269D17079	Beirut	Elephant Gun	http://previews.7digital.com/clip/3721379
-SOWNIUS12A8C142815	TRIWHKC12E5B3154E8	Kings of Leon	McFearless	http://previews.7digital.com/clip/3529653
-SOJTLHS12A8C13F633	TRLKUKT13E0F9578A4	Cage the Elephant	Ain't No Rest For The Wicked	http://previews.7digital.com/clip/2946131
-SOJCAVK12A8151B805	TRRTDPS12E5B30CFBE	The Kills	Superstition	http://previews.7digital.com/clip/5903727
-SOTGHQR12A8C1406C5	TRCLFOS13269EDB3F1	Chris Bathgate	Coda (Ann St. Pt. 2)	http://previews.7digital.com/clip/3524126
-SOPDRWC12A8C141DDE	TRBYPRI12E5B31550C	Kings of Leon	I Want You	http://previews.7digital.com/clip/3570509
-SOQSPDJ12A58A7EC6E	TRHFCRO12E5AD2D007	The Bird and the Bee	Meteor	http://previews.7digital.com/clip/4017099
-SOWGIBZ12A8C136A2E	TRYCGGT12E5B3154D0	Kings of Leon	King Of The Rodeo	http://previews.7digital.com/clip/3379795
-SONEYTB12AF72A73F0	TRCZOAH12E5AC876E2	LCD Soundsystem	Get Innocuous!	http://previews.7digital.com/clip/698155
-SOPWKOX12A8C139D43	TRYCEHM137FDA595D5	Kings of Leon	Genius	http://previews.7digital.com/clip/3351230
-SORGFZZ12AB0181289	TRIKAFJ13269B8A801	The Yardbirds	Crying Out For Love	http://previews.7digital.com/clip/3975770
-SOQRHIX12A6701F955	TRAVWMB12E5AC92872	Cut Copy	Going Nowhere	http://previews.7digital.com/clip/5648195
-SOZARJQ12A6D4F66CE	TRCDQYT13269CEDAB7	Lily Allen	Cheryl Tweedy	http://previews.7digital.com/clip/4846211
-SOEHTZE12A6310F0F2	TRWKOJU12E4E5856BA	Coldplay	One I Love	http://previews.7digital.com/clip/3002
-SOXZUUK12A6D4F8EE3	TRLKEQR12E5B468070	Lupe Fiasco	Just Might Be OK	http://previews.7digital.com/clip/3681646
-SOIUHFO12A67AD954B	TRHWXVV12E5AC32A36	The Killers	Bling (Confession Of A King)	http://previews.7digital.com/clip/721306
-SORJUET12A6D4F9591	TRIGOAE12E5B44FEAC	The Raconteurs	Broken Boy Soldier	http://previews.7digital.com/clip/474412
-SOGJJON12A67AD9554	TRKHLKR12E5AC32A3D	The Killers	Why Do I Keep Counting?	http://previews.7digital.com/clip/721315
-SONREBX12A8C142DBA	TRQIMQH12E5ACCD140	Hot Chip	I Feel Better	http://previews.7digital.com/clip/7782202
-SOCAHRT12A8C13A1A4	TRSZSNY13269D27183	Jonas Brothers	S.O.S.	http://previews.7digital.com/clip/2855923
-SOJHVZZ12A58A75BBE	TRREGFL12E5B2F260B	Ryan Adams	Peaceful Valley	http://previews.7digital.com/clip/200447
-SOYGHUM12AB018139C	TRMKMAA12E5B595CD7	Five Finger Death Punch	Bad Company	http://previews.7digital.com/clip/9780325
-SOGWKBQ12A670207C1	TRAKAWZ1373390CDE8	The Smiths	Suffer Little Children (2011 Remastered Version)	http://previews.7digital.com/clip/15488253
-SOWKLEE12A81C232AC	TRJORTB12E5B3A1660	Chromeo	Rage!	http://previews.7digital.com/clip/4823888
-SOLPDGD12A6701F951	TRVALLW13FA5E04351	Cut Copy	Time Stands Still	http://previews.7digital.com/clip/30146939
-SOWHATW12A8C132857	TRXPART12E5ACCD0D3	Hot Chip	Shake A Fist	http://previews.7digital.com/clip/2170283
-SOOZNZY12A8151B80A	TRSWPMF12E5B30CF96	The Kills	Cat Claw	http://previews.7digital.com/clip/5895691
-SOHZPIK12A58A7CCAE	TRIZZGK12E5ACB189A	Rihanna	Te Amo	http://previews.7digital.com/clip/7155594
-SOMJJAM12A8C13B607	TRNFLFF12E5B44FEBE	The Raconteurs	Rich Kid Blues	http://previews.7digital.com/clip/2339267
-SOIFDQD12AB01822F5	TRJZXXQ12E5AD27513	The Black Keys	Busted	http://previews.7digital.com/clip/5639071
-SOJSTYO12A8C13F200	TRCDCNI13269BAD5C7	Jack Johnson	Breakdown	http://previews.7digital.com/clip/14485670
-SOWKUZM12A67AE0D37	TRNADTX12E5B4942F9	MSTRKRFT	Street Justice	http://previews.7digital.com/clip/704630
-SOWOMMY127F8096DF9	TRWZRXE12E5B612E26	MGMT	Time to Pretend	http://previews.7digital.com/clip/4442552
-SOJPCYJ12A81C22380	TRJDDBG13269D17078	Beirut	The Flying Club Cup	http://previews.7digital.com/clip/1387865
-SOMWCVL12AF729E81A	TRPRABZ12E5AC32A3A	The Killers	Bones	http://previews.7digital.com/clip/721311
-SOZCDWG12A6D4F81E1	TRUJULB13269C92F9A	Mike + The Mechanics	A Beggar On A Beach Of Gold	http://previews.7digital.com/clip/314716
-SOFDENQ12AB017FD79	TRGUDZB12E5AD84772	The Presidents of the United States of America	Lump (Live)	http://previews.7digital.com/clip/6372670
-SOLVLFW12A67020A3F	TRFFZZQ13269BA8B99	CKY	Behind The Screams	http://previews.7digital.com/clip/144516
-SOHNOOC12A8C13BF35	TRVDIWR12E5B3FCF52	The Postal Service	The District Sleeps Alone Tonight	http://previews.7digital.com/clip/11270639
-SOTUNOQ12A67ADADA7	TRKCEWE12E5B2F260F	Ryan Adams	Pa	http://previews.7digital.com/clip/200451
-SOODWNJ12AC4688DA4	TRAACZK12E5AC809C5	Faith No More	Evidence	http://previews.7digital.com/clip/449809
-SOSUZFA12A8C13C04A	TRUSYVJ12E5AE45E5A	Led Zeppelin	Tangerine	http://previews.7digital.com/clip/2315497
-SOHYRUG12A8C13599D	TRIQNPP13269C576D9	Chris Cornell	Billie Jean	http://previews.7digital.com/clip/1119987
-SOTYLCV12A8C143772	TRQPJLY12E5B3FB3D4	Hot Chip	Bad Luck	http://previews.7digital.com/clip/8597289
-SOPMWXY12A58A7E908	TROWXET12E5AC765F3	Stone Temple Pilots	Days Of The Week	http://previews.7digital.com/clip/5676415
-SOPLUOT12A6D4F7AC3	TREPPIH12E5AC2F942	Beastie Boys	Intergalactic	http://previews.7digital.com/clip/212174
-SODACBL12A8C13C273	TRXGZYU12E5B3AD5F8	Foo Fighters	Learn To Fly	http://previews.7digital.com/clip/3679788
-SOFWNCW12A8151B81A	TROZBUS12E5B30CFC4	The Kills	Hitched	http://previews.7digital.com/clip/5903811
-SOVNVRF12A8C14477B	TRMWZOW13269B91EAF	The Killers	I Can't Stay	http://previews.7digital.com/clip/3788012
-SOGPNGN12A8C143969	TRPJVOK137337C6368	The All-American Rejects	Gives You Hell	http://previews.7digital.com/clip/14857894
-SOSQQGF12A6310F0FB	TRFFDBI12E4E5856AE	Coldplay	Politik	http://previews.7digital.com/clip/2967
-SOSLHMP12A8C1416C1	TRTNZGH12E5B30B2FB	Kanye West	Celebration (Album Version (Edited))	http://previews.7digital.com/clip/159453
-SOSYXDE12A8AE45E45	TRTLVDJ12E5B44EF55	Beyoncé	Green Light	http://previews.7digital.com/clip/3513660
-SOKVSAH12A8C133C6D	TRWQLXM13269C79355	Hot Chip	Bubbles They Bounce	http://previews.7digital.com/clip/2122986
-SOUODFE12A58A80347	TRIQWQE12E5AD03C42	Beyoncé	Kitty Kat	http://previews.7digital.com/clip/6020536
-SOARUPP12AB01842E0	TRDPHSX13269F8F138	Kid Cudi	Up Up & Away	http://previews.7digital.com/clip/6394026
-SOSYOHI12A8C144584	TRIJIGE12E5AE306CA	Cosmo Vitelli	Robot Soul (Radio Edit)	http://previews.7digital.com/clip/4929211
-SOEJMGM12AF72A6261	TRRISZM12E5AD13162	Lily Allen	LDN (Switch Remix)	http://previews.7digital.com/clip/4846304
-SOFJOSL12AB0181CA8	TRZCJJJ13C6D325FE3	Harvey Danger	Flagpole Sitta	http://previews.7digital.com/clip/5191710
-SODTJFU12B0B80C9BE	TRXUZZH12E5B4942F7	MSTRKRFT	Neon Knights	http://previews.7digital.com/clip/605162
-SOGAUOB12A58A7AAC8	TRAGELS12E5ADEBB44	Barricada	Esperame	http://previews.7digital.com/clip/1151915
-SOKUTUM12A6701D9CD	TRALKOT13269BAD5C9	Jack Johnson	Do You Remember	http://previews.7digital.com/clip/14485673
-SOSJRJP12A6D4F826F	TRJZAVZ13269CFDC9F	Metallica	Master Of Puppets	http://previews.7digital.com/clip/417005
-SOMCAFM12A58A7B024	TRYBEOO12E5AD22A13	Foolish Things	Who Can Compare	http://previews.7digital.com/clip/429302
-SOZYSDT12A8C13BFD7	TRVPAKB13269A0412D	Queen	Under Pressure (Live At The Bowl)	http://previews.7digital.com/clip/11600193
-SOUNJIO12AB0181339	TRNJCFD12E5AFE4D90	Future Rock	Gears	http://previews.7digital.com/clip/6053595
-SOVDYZE12A58A7AA62	TRBWHHD13269C1C69F	The Pussycat Dolls	I'm Done	http://previews.7digital.com/clip/3578921
-SOYONCL12A8C13B9F7	TRPGISD12E5B30CFA4	The Kills	Black Balloon	http://previews.7digital.com/clip/5897024
-SOXZMNC12A8C135DD5	TREJBZA12E5AE23C6D	Holy Fuck	Lovely Allen	http://previews.7digital.com/clip/2323808
-SOEKSGJ12A67AE227E	TRQITIF13901F35611	Linkin Park	Crawling	http://previews.7digital.com/clip/462120
-SOMEBUD12AB01869CA	TRVNARG12E5B469510	Lily Allen	Fag Hag	http://previews.7digital.com/clip/4019818
-SOMGVYU12A8C1314FF	TROAHNR13269E2C0F2	J. Karjalainen ja Mustat Lasit	Sinisten tähtien alla	http://previews.7digital.com/clip/1466145
-SOJITNW12A8C13D951	TRENKGE13269D17072	Beirut	The Penalty	http://previews.7digital.com/clip/1387859
-SOOSIWM12A670202B9	TRHLCEV12E5AC781E9	The Stills	Lola Stars and Stripes	http://previews.7digital.com/clip/63788
-SOADISH12AB018DFAC	TRZISJS1309FD43472	Radiohead	Talk Show Host	http://previews.7digital.com/clip/13851332
-SOOKZPI12A67AD9549	TRYFNHW12E5AC32A33	The Killers	Sam's Town	http://previews.7digital.com/clip/721303
-SOPOFBW12AB0187196	TRJAQJF13FA5E058C4	Cut Copy	Saturdays (Reprise)	http://previews.7digital.com/clip/30146942
-SOPMDSY12AF72A0C6F	TRHUYTP13269C1C69A	The Pussycat Dolls	In Person	http://previews.7digital.com/clip/3578916
-SOEXMJG12A8C13EC18	TROOFTT12E5AE45E46	Led Zeppelin	Ten Years Gone	http://previews.7digital.com/clip/1829837
-SOWAGYW12A67020A3A	TRTBSLT13269BA8B94	CKY	The Way You Lived	http://previews.7digital.com/clip/144511
-SOVUBST12AB018C9A4	TRZEYTP1423B1CAA7D	The Black Keys	I'm Not The One	http://previews.7digital.com/clip/32600949
-SOPYNHK12AB017E7D2	TRUZZIA13269B91EB3	The Killers	A Crippling Blow	http://previews.7digital.com/clip/3788016
-SOYUFEX12AB0182255	TRTNBKE13269FDEB3C	Camera Obscura	Other Towns And Cities	http://previews.7digital.com/clip/4494933
-SODGTHG12AB017F730	TRIBQJH12E5AC17841	Modern English	I Melt With You	http://previews.7digital.com/clip/12320883
-SOAZZRU12AB0182B0E	TRATWBC12E5AFC4901	Angels of Light & Akron/Family	Oceanside	http://previews.7digital.com/clip/5483192
-SOGUJGE12AF72A5BC9	TRDENAY12E5AC72C1B	Third Eye Blind	Palm Reader	http://previews.7digital.com/clip/6766787
-SOGCVPU12AB017CA73	TRRQUCH12E5B30CFB1	The Kills	Pull A U	http://previews.7digital.com/clip/5902073
-SOYSPYK12A81C228A0	TRVFZXD13F81AEF035	Timbaland	Outro	http://previews.7digital.com/clip/29988810
-SOEFNWL12AF729CD2F	TRKRBXM12E5ACB3A87	Swizz Beatz	Big Munny (Album Version (Explicit))	http://previews.7digital.com/clip/1215407
-SOJLEMO12A6701EAF9	TRGTBRX12E5AC33B25	Guns N' Roses	The Garden	http://previews.7digital.com/clip/164659
-SOBYDAA12A6D4F8847	TRXLYQW12E4E5965BC	Cat Stevens	Where Do The Children Play?	http://previews.7digital.com/clip/143202
-SOBTNNG12AF72A73E8	TRAJJRU12E5AC876E7	LCD Soundsystem	Us V Them	http://previews.7digital.com/clip/698160
-SOGIDSA12A8C142829	TROYHTJ12E5B3154F0	Kings of Leon	Camaro	http://previews.7digital.com/clip/3529675
-SORHJAS12AB0187D3F	TRBPFQV12E5AE409F9	Skream	Summer Dreams	http://previews.7digital.com/clip/3963219
-SOHPETF12A8C1311E0	TRORDBN12E5ACBB938	Pixies	Debaser	http://previews.7digital.com/clip/400856
-SOYYIZT12A8C1408CA	TRZXHCV12E5AC9B2C5	Foo Fighters	Next Year	http://previews.7digital.com/clip/4143055
-SOCUBFV12AB01810BB	TRSMWON12E5AD2D00C	The Bird and the Bee	Witch	http://previews.7digital.com/clip/4017109
-SOOLKLP12AF729D959	TRBITDF12E5B3154EF	Kings of Leon	Trunk	http://previews.7digital.com/clip/3529673
-SOPWZGK12A67020744	TRAIDYH12E5AC318E9	Alanis Morissette	Ironic (Acoustic Album Version)	http://previews.7digital.com/clip/144227
-SOVHRGF12A8C13852F	TRRZTBI12E5B3AD5F9	Foo Fighters	Generator	http://previews.7digital.com/clip/3679789
-SOFBOXR12A6310F0FC	TRTKOXM12E4E5856B0	Coldplay	God Put A Smile Upon Your Face	http://previews.7digital.com/clip/2969
-SOIZAZL12A6701C53B	TRYKVSO13269C54421	Diddy	I'll Be Missing You	http://previews.7digital.com/clip/15014687
-SOEOUUQ12AB018182A	TRGNSLE12E5AD27553	The Black Keys	Have Mercy On Me	http://previews.7digital.com/clip/9001967
-SONDWXT12A8C13C37F	TRMGVYT12E5AD040FF	Bat for Lashes	Seal Jubilee	http://previews.7digital.com/clip/1179277
-SOXLKNJ12A58A7E09A	TRSSNXS137FDA595D8	Kings of Leon	Joe's Head	http://previews.7digital.com/clip/3351224
-SOCCASN12B0B8069FA	TRFMQDM13269BA9780	The Police	Don't Stand So Close To Me '86	http://previews.7digital.com/clip/538892
-SODHJHX12A58A7D24C	TRIQJRI12E5B31550E	Kings of Leon	Cold Desert	http://previews.7digital.com/clip/3570518
-SOSGAIT12AB018CC18	TRPLWWT12E5AC31BBE	Muse	Unnatural Selection	http://previews.7digital.com/clip/6434582
-SORXQQP12AC960DAB3	TRSXTQB12E5AF74DAE	Camera Obscura	Hands Up Baby	http://previews.7digital.com/clip/8685784
-SOAXGDY12AB01813B0	TRGXJZF13269C576E5	Chris Cornell	Get Up	http://previews.7digital.com/clip/4309108
-SOULBNJ12AB01851E9	TRGTWQF12E5AD2751F	The Black Keys	240 Years Before Your Time	http://previews.7digital.com/clip/5639194
-SOYMEKY12A6D4F88FE	TRGEANI12E5AC32A32	The Killers	A Great Big Sled	http://previews.7digital.com/clip/565670
-SOCBWRP12A8C1311DB	TRJIUJY12E5ACBB944	Pixies	Hey	http://previews.7digital.com/clip/400868
-SOOQIEK12A8C13EA1E	TRPXVPM12E5AC8FEA1	Gotan Project	Last Tango In Paris	http://previews.7digital.com/clip/9262933
-SOWRGEF12A81C228A3	TRNLBOL13F81AEEB1C	Timbaland	Bringin' It	http://previews.7digital.com/clip/29988811
-SOTLTXQ12AB0182257	TREXPML13269FDEB3D	Camera Obscura	Honey In The Sun	http://previews.7digital.com/clip/4494934
-SOPCTBB12AF72A1B64	TRPZQTS12E5AC27AD3	Eminem	Hailie's Song	http://previews.7digital.com/clip/148227
-SOGWXGL12A6D4F41C0	TRJOZQA12E5AC2F974	Beastie Boys	Jimmy James (2009 Digital Remaster)	http://previews.7digital.com/clip/253725
-SOCXCTS12AC468A380	TRDJARZ1326A0702C8	The XX	Basic Space	http://previews.7digital.com/clip/6005256
-SOAOOWF12A8C1347EC	TRZKVRO12E5B344A7B	Harry Gregson-Williams	Bullet Tells The Truth	http://previews.7digital.com/clip/3185174
-SOUZBUD12A8C13FD8E	TRKNLEZ12E5B302EAF	The Strokes	Killing Lies	http://previews.7digital.com/clip/2948842
-SOOGBWC12A8C140B96	TRCFXKM12E5B3620A0	Justin Timberlake	LoveStoned/I Think She Knows (Don Zee Remix)	http://previews.7digital.com/clip/3535015
-SOJVPDY12AF72A1B04	TRUMTRG12E5AD2D004	The Bird and the Bee	What's In The Middle	http://previews.7digital.com/clip/4017083
-SODJTHN12AF72A8FCD	TRIDAMK12E5ADDFEB7	Sage Francis	The Best of Times	http://previews.7digital.com/clip/9197190
-SOMPKTP12A67020A3B	TRLIDVP13269BA8B95	CKY	Dressed In Decay	http://previews.7digital.com/clip/144512
-SOTFIPT12A6701F2FA	TRKRYBW12E5AC3E8EC	Red Hot Chili Peppers	Fortune Faded	http://previews.7digital.com/clip/2284750
-SOYDNQZ12A67020A42	TRDUMYY13269BA8B9C	CKY	Sniped	http://previews.7digital.com/clip/144519
-SOUCPBK12A58A7881A	TRSGSZC13009F41792	Florence + The Machine	My Boy Builds Coffins	http://previews.7digital.com/clip/13725625
-SOBOOXZ12A8C13AF83	TRPXACG12E5AC27F2E	The Hives	Die, All Right!	http://previews.7digital.com/clip/4555730
-SONPLUD12A8C13BF4B	TRZGHJB12E5B3FCF4D	The Postal Service	Clark Gable	http://previews.7digital.com/clip/11270591
-SOIMREX12A6D4F99FE	TRKXXEI12E5AC36BCC	Saliva	Doperide	http://previews.7digital.com/clip/529991
-SOOXLND12A6D4FE36E	TRLWPNU13CFDA1EF74	Fleetwood Mac	Go Your Own Way	http://previews.7digital.com/clip/22916858
-SOZHJKI12A81C2248F	TRTLCAE12E5B3FCF5A	The Postal Service	We Will Become Silhouettes	http://previews.7digital.com/clip/11303366
-SOBNOSD12A8C13C4E0	TRIQKBI1300D8B5152	Interpol	Length Of Love	http://previews.7digital.com/clip/13337842
-SOPKPFW12A6D4F84BC	TRPLMCH13269CE77A4	Young Bleed	We Don't Stop	http://previews.7digital.com/clip/368456
-SOPHBRE12A8C142825	TRQLAEX12E5B3154EE	Kings of Leon	The Runner	http://previews.7digital.com/clip/3529670
-SOUEGBF12AB017EFD5	TRBZMVJ12E5AE92441	Man Man	Van Helsing Boombox	http://previews.7digital.com/clip/6111372
-SOTVFIU12AC46878B7	TRBORJZ12E5AC28D97	Radiohead	Exit Music (For A Film)	http://previews.7digital.com/clip/9089
-SOTNCZU12A8C13EDC8	TRSOWEK1300D8B5150	Interpol	Public Pervert	http://previews.7digital.com/clip/13337840
-SOLFEWX12A8C1442C8	TRIUQFF12E5AC76603	Stone Temple Pilots	Lady Picture Show	http://previews.7digital.com/clip/6762820
-SOCXJFM12A8C13EB1C	TRILYEC12E5ACB3A8A	Swizz Beatz	The Funeral (Album Version (Explicit))	http://previews.7digital.com/clip/1215412
-SOHIROU12AB01852AF	TRKLEKY12E5ACCA721	The Decemberists	Billy Liar	http://previews.7digital.com/clip/6048602
-SOPFFBU12A6D4FA7D2	TRQWMJA12E5AB740A6	N.E.R.D.	Am I High (Feat. Malice)	http://previews.7digital.com/clip/615387
-SODSESK12A81C2178C	TRBEIZH13AD126CF02	Boys Noize	Arcade Robot	http://previews.7digital.com/clip/21591936
-SOGSAYQ12AB018BA14	TRHJPSC12E5B2BCAB7	Justin Bieber	Eenie Meenie	http://previews.7digital.com/clip/11470787
-SOLRTCP12A8C13B5F5	TRJASUJ12E5B44FEB9	The Raconteurs	Top Yourself	http://previews.7digital.com/clip/2339253
-SOOXLWT12AF729D9ED	TRMWPLA12E5AC33B20	Guns N' Roses	You Ain't The First	http://previews.7digital.com/clip/164654
-SOEAJTP12A6310D999	TRIQIRF13901EBB46F	Blur	Sing	http://previews.7digital.com/clip/19572756
-SOAUBGU12A6701C57A	TRPAHZH12E4E5856EB	Coldplay	Swallowed In The Sea	http://previews.7digital.com/clip/118137
-SOXPDDQ12A58A76829	TRRTAMK12E5AD2A721	Cartola	Sala De Recepção	http://previews.7digital.com/clip/1660460
-SONRRQH12AC3DFA45F	TRMYGRN13CFDA538D4	Frightened Rabbit	The Wrestle	http://previews.7digital.com/clip/23101579
-SOQTFOI12AB0185675	TRKLRIP12E5AD2754F	The Black Keys	Keep Me	http://previews.7digital.com/clip/7396395
-SOEMAIM12AC90759AC	TRKJREY14567FD676F	Erin McKeown	You Mustn't Kick It Around	http://previews.7digital.com/clip/35979104
-SOMMLDP12A8C13BA46	TRBSGRD12E5ADD8F8A	The Offspring	Not the One	http://previews.7digital.com/clip/2946211
-SOXXVSU12A8C133445	TRQBLRV12E5ACBB959	Pixies	Velouria	http://previews.7digital.com/clip/2068607
-SOCNKUW12A8C13DE89	TRDDICI13269E03610	Plies	Kept It Too Real	http://previews.7digital.com/clip/2373581
-SOBCOWD12A6701FD78	TRPWPPY12E5AC41ECB	Smash Mouth	Walkin' On The Sun	http://previews.7digital.com/clip/163089
-SOHXKKN12A8151DCDF	TRMPNZJ12E5B30CFB7	The Kills	I Hate The Way You Love	http://previews.7digital.com/clip/5903038
-SOGDQWF12A67AD954F	TRRHAWF12E5AC32A39	The Killers	Uncle Jonny	http://previews.7digital.com/clip/721310
-SOVZHYS12A8C14663F	TRSROYO12E5AE8D264	Future Loop Foundation	What's Your Name	http://previews.7digital.com/clip/3598950
-SOMNPAP12A8C1385D6	TRUJIJK12E5ACCD0DD	Hot Chip	Whistle For Will	http://previews.7digital.com/clip/2170293
-SOSINBC12A67ADAEF6	TRCXNXF13269C1C6EF	The Pussycat Dolls	I Don't Need A Man	http://previews.7digital.com/clip/4739184
-SOTQMGD12A81C2289C	TRQZLUJ13F81AEF54F	Playa	Birthday	http://previews.7digital.com/clip/29988808
-SORJICW12A8C13640D	TRQLEND13E0F963485	Pavement	Mercy Snack: The Laundromat	http://previews.7digital.com/clip/5737325
-SOQIQZU12A6D4FB8B5	TRPTSBY1328D429213	Muse	Plug In Baby	http://previews.7digital.com/clip/15304073
-SOMHMQW12A8C14098B	TRLDTQF12E5ACCD144	Hot Chip	Alley Cats	http://previews.7digital.com/clip/7782228
-SOMJWPP12A6D4F8506	TRFCCBK12E5AC31E57	Secret Machines	I Hate Pretending	http://previews.7digital.com/clip/330246
-SOWDRRZ12A8C13AE89	TRXCDWD13269D6DB60	Foals	The French Open	http://previews.7digital.com/clip/2328470
-SOZGDUH12AF72A6DB2	TRUXBKA13269B89C0E	Gorillaz	Tomorrow Comes Today	http://previews.7digital.com/clip/4929
-SOINDRZ12A6701DAF6	TRJVOOQ12E5B3918CD	Death From Above 1979	Romantic Rights	http://previews.7digital.com/clip/89309
-SOXZCIH12A8C1425F0	TRFJHDS12E5B3FB3D0	Hot Chip	Keep Fallin'	http://previews.7digital.com/clip/8597257
-SONQCXC12A6D4F6A37	TRPHJLL12E5ACDD0A7	Sheena Easton	Strut	http://previews.7digital.com/clip/1500751
-SOWSSRH12A58A7CE5D	TRFZJGX13269D6DB67	Foals	Two Steps, Twice	http://previews.7digital.com/clip/2328477
-SONGPKC12A8C13ABD9	TRQBKTX13269C5BD92	The White Stripes	You Don't Know What Love Is [You Just Do As You're Told]	http://previews.7digital.com/clip/1307465
-SOCBNIS12AF72AB9D3	TRJSDVN12E5ACCD145	Hot Chip	We Have Love	http://previews.7digital.com/clip/7782238
-SOXGQEM12AB0181D35	TRQSVFG12E5B6DE6D7	Lady Gaga	Speechless	http://previews.7digital.com/clip/7128749
-SOKJILN12AB0182BC9	TREIWEV12E5AC7CF4A	Crosby, Stills, Nash & Young	Ohio	http://previews.7digital.com/clip/5912133
-SODMBJL12A8C13EB1A	TRJHQUH12E5ACB3A89	Swizz Beatz	You Know Your Boy Did That	http://previews.7digital.com/clip/1215410
-SOZMINK12AF72AAC26	TRIZNKR12E5ACCDD1A	Black Star	Definition (Album Version (Explicit))	http://previews.7digital.com/clip/5445877
-SOWKVVW12A8AE45E8C	TRTZRWE12E5B30CFA9	The Kills	Last Day Of Magic	http://previews.7digital.com/clip/5897431
-SOSUWJE12AB0184567	TRDECAO12E5AD2D002	The Bird and the Bee	My Love	http://previews.7digital.com/clip/4017074
-SOXKFRI12A8C137A5F	TRCRFXM12E5B1C2569	Amy Winehouse	Wake Up Alone	http://previews.7digital.com/clip/497706
-SOMCWAZ12A67ADBCE3	TRRZDBR13269B91D11	Zero 7	In The Waiting Line	http://previews.7digital.com/clip/181683
-SOWOZBR12A8C13F4F6	TRDBTWU12E4E585713	Coldplay	Careful Where You Stand	http://previews.7digital.com/clip/2424078
-SOVLJHG12A81C21AA0	TROEVMA13269B91825	Twista	Give It Up	http://previews.7digital.com/clip/5679583
-SOGKGDF12AF72A5DD6	TRBGHBT12E5B3B7348	The All-American Rejects	One More Sad Song	http://previews.7digital.com/clip/162170
-SONIMNU12B0B8092AB	TRRNHLC13269E4184F	Holy Fuck	Frenchy’s	http://previews.7digital.com/clip/1505464
-SOAXEPS12AF729E550	TRJXOMA12E5B3063FE	The Rapture	Olio	http://previews.7digital.com/clip/3776859
-SOVYMPX12A8C1359B7	TRXJXTQ13269C576DC	Chris Cornell	Finally Forever	http://previews.7digital.com/clip/1119990
-SOMXDFJ12AB0183B34	TRTUGJI12E5B4838AF	Cobra Starship	Good Girls Go Bad [feat. Leighton Meester]	http://previews.7digital.com/clip/7952768
-SOILFUU12AB017C75F	TRADMNJ13009F4178B	Florence + The Machine	I'm Not Calling You A Liar	http://previews.7digital.com/clip/13725614
-SOTVSBY12A6D4F74D8	TRCCBLA13733B2ACA7	The Cure	The Caterpillar	http://previews.7digital.com/clip/16669854
-SOGNKVE12A8C13E9EE	TRADOSW12E5AC8FE86	Gotan Project	Epoca	http://previews.7digital.com/clip/5594978
-SOYRJTL12A67AD9551	TRYWIDI12E5AC32A3B	The Killers	My List	http://previews.7digital.com/clip/721312
-SOXERNH12A67AD8642	TRKAAJV13269D1A423	Klaxons	Golden Skans	http://previews.7digital.com/clip/552697
-SOPVQLJ12A67AE2281	TRCZRGA12E5ACC192F	Linkin Park	In The End	http://previews.7digital.com/clip/193086
-SOAPIHX12AB0184CB1	TRJFKIY12E5AE409F2	Skream	Auto-Dub	http://previews.7digital.com/clip/3963197
-SOUNSQC12AC9071827	TRHBTRU12E5AE6D2FD	Brant Bjork	Searchin'	http://previews.7digital.com/clip/6686116
-SOLJWHN12AB017ACCE	TRQSAGL12E5AEA7083	Grizzly Bear	Easier	http://previews.7digital.com/clip/5882984
-SOFNYFB12AB0183A73	TRPYIPN12E5ACEDE78	Tonic	Count On Me (Somebody)	http://previews.7digital.com/clip/271883
-SOUFNSM12A58A77715	TROMLCD13269E9A44B	Vampire Weekend	Walcott	http://previews.7digital.com/clip/2093109
-SOZAPQT12A8C142821	TRWGXMJ12E5B3154EC	Kings of Leon	Ragoo	http://previews.7digital.com/clip/3529665
-SOCHYDE12A8C13E438	TRWEOWI12E5AC303EE	The Rolling Stones	Not Fade Away	http://previews.7digital.com/clip/5119260
-SOIFPJU12A8C136FC6	TRWFXCY12E5ADED71A	Plies	Ol' Lady	http://previews.7digital.com/clip/10866926
-SOEENHE12A8C13CA68	TRCSORD12E5ACC4EA6	Dropkick Murphys	Finnegan's Wake	http://previews.7digital.com/clip/3973804
-SOTBBMP12A58A79A48	TRHHBHP13CFDA547EA	Frightened Rabbit	FootShooter	http://previews.7digital.com/clip/23101583
-SOHEMBB12A6701E907	TROXKHA12E5AC27AD2	Eminem	Superman	http://previews.7digital.com/clip/148226
-SOMMATZ12AF72A17CC	TRQVHEL13C6D255A7F	Beirut	The Akara	http://previews.7digital.com/clip/22144739
-SOEYVHS12AB0181D31	TRGUOLT12E5B6DE6D6	Lady Gaga	Monster	http://previews.7digital.com/clip/7128748
-SOHOCMM12AB01845E0	TRTUZIL12E5B7169EE	La Roux	I'm Not Your Toy	http://previews.7digital.com/clip/6548617
-SOQAEHC12A67020A41	TRMKSGH12E5B30B2F3	Kanye West	Roses	http://previews.7digital.com/clip/159445
-SOBJCFV12A8AE469EE	TRDODDN12E5B3154B2	Kings of Leon	Charmer	http://previews.7digital.com/clip/3123851
-SOLLOWH12A3F1E9FB5	TRBERVW13269B835F6	The Hives	You Dress Up For Armageddon	http://previews.7digital.com/clip/7112552
-SOFKEDR12A8C13D381	TRMGLZY12E5ADED687	Plies	You	http://previews.7digital.com/clip/1193719
-SOXSMGP12A6310DFA6	TREQGXN13901EBB5CE	Blur	Girls and Boys	http://previews.7digital.com/clip/19572909
-SOWUTFF12A8C138AB2	TRMRFDJ12E5ADFBA7A	Cake	Frank Sinatra	http://previews.7digital.com/clip/3335432
-SODRUCE12A8C141123	TRRKNLQ12E5B4EDF36	Train	Always Remember	http://previews.7digital.com/clip/3472064
-SOXSURP12A58A7BE92	TRLZIRX12E5AD040FE	Bat for Lashes	The Bat's Mouth	http://previews.7digital.com/clip/1179276
-SONMKLO12AB017B593	TRZUDFW12E5AE409FA	Skream	Colourful	http://previews.7digital.com/clip/3963222
-SOAGIAY12AB0183D8F	TRMDOSR12E5AD27518	The Black Keys	Run Me Down	http://previews.7digital.com/clip/5639124
-SOSBYAJ12A679AE5CD	TRVVPGH12E5AC92B92	Cream	Cat's Squirrel	http://previews.7digital.com/clip/165827
-SOCHXEH12A8C1425D2	TRIWMNK13269C1C698	The Pussycat Dolls	Magic	http://previews.7digital.com/clip/3578914
-SOTQUOJ12A8C13A203	TRPRWLF12E5ACC4ED4	Dropkick Murphys	Which Side Are You On?	http://previews.7digital.com/clip/3752401
-SOKUIUK12A8C13F7F0	TRXKFPP13269D6DB54	Foals	Mathletics	http://previews.7digital.com/clip/1240396
-SOWFRJS12A6701D93B	TROLTTV12E5AC42857	CKY	Inhuman Creation Station	http://previews.7digital.com/clip/271012
-SOINKVP12A8C13BF5D	TRDGVDX12E5B3FCF50	The Postal Service	Brand New Colony	http://previews.7digital.com/clip/11270595
-SOLOFYI12A8C145F8D	TRXJLTH13269A02A7E	Nirvana	Heart-Shaped Box	http://previews.7digital.com/clip/148258
-SOCBMFC12A6701D7BA	TRRVHVV12E5B3B734A	The All-American Rejects	Don't Leave Me	http://previews.7digital.com/clip/162172
-SOEGOAB12A8C13BAE4	TRSTKRC12E5ADFBA6F	Cake	Never There	http://previews.7digital.com/clip/3335574
-SOTHRRH12A8C13DCBA	TRWJQKI12E5B48FBE5	Justice	Let There Be Light	http://previews.7digital.com/clip/1156931
-SOTLSTC12A8C142B6B	TRVMLZS12E5AF06F05	Empire of the Sun	Swordfish Hotkiss Night	http://previews.7digital.com/clip/6910476
-SOCVMXL12A6D4F6EE7	TRQNSTW13269C0C217	Mariah Carey	One And Only	http://previews.7digital.com/clip/2424164
-SOBBGTM12A6D4F6199	TRTTIRS13E0F91AC5A	Edwyn Collins	A Girl Like You	http://previews.7digital.com/clip/169763
-SOBJIZY12A6701F11A	TRSWHDZ13269B8CEB3	Daft Punk	Emotion	http://previews.7digital.com/clip/104056
-SODEHVU12AB017FCD1	TRWCJKX12E5AE9243A	Man Man	Banana Ghost	http://previews.7digital.com/clip/6111335
-SOPXBSU12AB018917D	TRXKKIA12E5AD27555	The Black Keys	Meet Me In the City	http://previews.7digital.com/clip/9001969
-SODQBES12AAFF4444C	TRHBPSS13269CEDAB9	Lily Allen	Blank Expression	http://previews.7digital.com/clip/4846220
-SOEYIND12A6310E02E	TRMSONQ13269B88832	David Bowie	John, I'm Only Dancing (Sax Version) (1997 Digital Remaster)	http://previews.7digital.com/clip/6856
-SOXEUDZ12A8C13145B	TROIAWX13269E89E58	Lykke Li	I'm Good, I'm Gone	http://previews.7digital.com/clip/2705164
-SONMEPF12A6D4F3C92	TRPTFLX12E5ACA06E4	Portishead	Over	http://previews.7digital.com/clip/220632
-SOUXBNY12A8C13BADB	TRFFZEG12E5ADFBA6E	Cake	Mexico	http://previews.7digital.com/clip/3335572
-SOMJFXX12A8C13E9F1	TRCMIRA12E5AC8FE9C	Gotan Project	Chunga's Revenge	http://previews.7digital.com/clip/9262928
-SOXLSBV12AB018397A	TRNBAAH12E5B48FC18	Justice	We Are Your Friends (Reprise) (Album Version)	http://previews.7digital.com/clip/3784706
-SOKLQRE12A58A7BB97	TRMNFQD12E5AC27F2D	The Hives	Hate To Say I Told You So	http://previews.7digital.com/clip/4555728
-SOFWJHD12AB018392B	TRBDXTW12E4E58BC3F	The B-52's	The World's Green Laughter	http://previews.7digital.com/clip/6007198
-SOQWYUA12A81C217E6	TRARXEL13269F530F7	Flobots	Combat (Album Version (Edited))	http://previews.7digital.com/clip/3059660
-SOPXWLG12A8C13E75D	TRESXRS14567FD46AA	Erin McKeown	Rhode Island Is Famous For You	http://previews.7digital.com/clip/35979505
-SOSFZBK12A8C137A1E	TRHKWYH12E5B3A1637	Chromeo	Opening Up	http://previews.7digital.com/clip/2277825
-SOBGMYK12A6D4F6730	TRODWZR13269CEDA83	Lily Allen	Everythings Just Wonderful	http://previews.7digital.com/clip/4127830
-SOOURJG12A8C13A9F3	TRRJBVD12E5AD4E0E2	Bad Religion	We're Only Gonna Die	http://previews.7digital.com/clip/3974012
-SONIJFN12A6D4F7A7A	TRXUTSS13269C015BE	Tom Petty and The Heartbreakers	Learning To Fly	http://previews.7digital.com/clip/230672
-SOFZOTX12A67ADF6DB	TRMKPVG12E5AC6F2FF	Morcheeba	Over And Over	http://previews.7digital.com/clip/1408017
-SOHORHW12A8C139E45	TRJFUPZ13269CEE39D	Gogol Bordello	Dub The Frequencies Of Love	http://previews.7digital.com/clip/6520988
-SOKHYXV12A6D4F676A	TREKTUQ1373C275D0C	Thin Lizzy	Frankie Carroll	http://previews.7digital.com/clip/17567922
-SOBBHVN12A6702162D	TRMCBPC12E5AC6E74C	Rilo Kiley	More Adventurous	http://previews.7digital.com/clip/80659
-SOBTXJE12A6D4FA416	TRLLQRU12E5AC74614	Foreigner	Headknocker	http://previews.7digital.com/clip/3246212
-SODZJCH12A8C132ADC	TRNJYFW14567F2A2FB	Julio Iglesias	Summer Wind	http://previews.7digital.com/clip/35371549
-SOASTSF12A8C1420B5	TRULMVI12E5B4E582D	Bohren & der Club of Gore	Welk	http://previews.7digital.com/clip/3570628
-SORKMCT12A8C136ED7	TRTAAVT12E5AC6FFE9	The Distillers	City Of Angels	http://previews.7digital.com/clip/2225442
-SOJEGJX12AF72A2919	TRFBYAE12E5B4AA41C	Drowning Pool	Duet	http://previews.7digital.com/clip/5439676
-SORZSTP12A8C133573	TRKFJCB12E5AF85232	Soja	Be Aware	http://previews.7digital.com/clip/8561838
-SOSQUZL12A67ADAFCB	TRVQHYS13ED7CA5B06	Metric	Live It Out	http://previews.7digital.com/clip/29291616
-SOLFTVV12A6BD54FFC	TRZCORO13E0F96BA97	Nouvelle Vague	Too Drunk to Fuck	http://previews.7digital.com/clip/9384501
-SOYQLII12A8C143321	TRTTKGD12E5AD71901	Train	Ordinary (Rock Version)	http://previews.7digital.com/clip/3287824
-SOUANJU12A8C14278B	TRPGJBP12E5AD8472E	The Presidents of the United States of America	Kick Out the Jams	http://previews.7digital.com/clip/2451904
-SODSAHJ12A6D4F8A26	TRBUAXM12E5AC432F0	Eric Clapton	Layla (Live - Unplugged)	http://previews.7digital.com/clip/1407659
-SOOBEOM12A58A78166	TROGARO13269A043DC	N.E.R.D.	Sooner or Later	http://previews.7digital.com/clip/2761796
-SOGVJCW12A6D4F8EFD	TRDBLAS12E5AC8022C	Tom Petty	Flirting With Time	http://previews.7digital.com/clip/439961
-SOKXDOB12AB017EFE7	TRZPDMB12E5AE92442	Man Man	Tunneling Through the Guy	http://previews.7digital.com/clip/6111377
-SOKFDWP12A8C1362CC	TRBQILH12E5B5538B0	1990s	Arcade Precinct	http://previews.7digital.com/clip/2936468
-SOTJCZJ12A58A7E54B	TRNVOKH12E5AC79F63	David Lee Roth	Yankee Rose (Spanish Album Version)	http://previews.7digital.com/clip/1338158
-SOGLWGG12A6D4F8046	TRATISJ13269CC384F	Pandora's Box	The Want Ad	http://previews.7digital.com/clip/316922
-SOGWJEY12AC9618862	TRUWDCZ12E5B7CB159	Justin Bieber	Love Me	http://previews.7digital.com/clip/10983935
-SOIZRER12A8C137A26	TRVFPVO12E5B3A162C	Chromeo	Momma's Boy	http://previews.7digital.com/clip/2199726
-SOVPAJA12A58A77B15	TRZXIKX13269C4347B	Amos Lee	Jails & Bombs	http://previews.7digital.com/clip/3623145
-SONAEJC12A8AE45BB4	TRYQBTZ12E5AD9B0EF	Slipknot	Gently	http://previews.7digital.com/clip/1398421
-SOKYDWK12A6D4F623F	TRNZWVP12E5ACCB15A	Regina Spektor	Poor Little Rich Boy	http://previews.7digital.com/clip/685439
-SOTVZIB12A6D4F694A	TRQLIEO13269C33175	Blondie	Atomic '98 (Xenomania Mix)	http://previews.7digital.com/clip/259152
-SOOGBTU12AB0187CB9	TRCWCZH13269E12963	Kid Dynamite	Never Met The Gooch	http://previews.7digital.com/clip/7593181
-SOQTYPY12A8C13F642	TRVWVGA13E0F958C79	Cage the Elephant	Drones In The Valley	http://previews.7digital.com/clip/2946135
-SOZIMYM12A8C13C707	TRBGSSG12E5AE9242E	Man Man	Big Trouble	http://previews.7digital.com/clip/2352100
-SOYGPCH12A8151BD66	TRSXRNE12E5B3AD7A3	Arctic Monkeys	Riot Van	http://previews.7digital.com/clip/5024306
-SOKBPDK12A6D4FB679	TRFQCKI1300D8B5151	Interpol	C'mere	http://previews.7digital.com/clip/13337841
-SOKTJMZ12AB018C9A0	TRLAKSD1423B1CB4D2	The Black Keys	The Go Getter	http://previews.7digital.com/clip/32600948
-SOTMMSE12A8C1410FF	TRRBVLB12E5B4EDF30	Train	Give Myself To You	http://previews.7digital.com/clip/3472056
-SOGGMMV12AB0184AEB	TRULGPJ13269C43EE3	Boston	A New World	http://previews.7digital.com/clip/2478147
-SODILEO12A8C13BC53	TRSWGTW12E5AC27F0A	The Hives	Black Jack	http://previews.7digital.com/clip/2285705
-SOZVVRE12A8C143150	TRVPVJR12E5AC9FA63	Three Drives	Greece 2000 (G&M Project Remix)	http://previews.7digital.com/clip/8789898
-SOYKNUX12A58A7B1C6	TREPAHO13269CEDA6B	Lily Allen	Take What You Take	http://previews.7digital.com/clip/407062
-SOVHBUI12AB0184DEB	TRVSGEI12E5AC33B55	Guns N' Roses	There Was A Time	http://previews.7digital.com/clip/3787070
-SORGIAF12A81C224C2	TRVLYLD12E5AC315F9	Interpol	Rest My Chemistry	http://previews.7digital.com/clip/1158298
-SOZSILE12AB01885B7	TRCGOFV12E5AD2751C	The Black Keys	Them Eyes	http://previews.7digital.com/clip/5639167
-SOCDNMP12AB018440C	TRDAAUK12E5AC8FEA3	Gotan Project	Vuelvo Al Sur	http://previews.7digital.com/clip/9262936
-SOMVPBQ12A58A7835F	TRJRXPS12E5B3A162D	Chromeo	Call Me Up	http://previews.7digital.com/clip/2199729
-SOFKTPP12A8C1385CA	TRELWGL12E5ACCD0DA	Hot Chip	Hold On	http://previews.7digital.com/clip/2170290
-SOYWRZU12A6D4F66C2	TRMTWXE13269A04387	N.E.R.D.	Brain	http://previews.7digital.com/clip/3099
-SOBYZRW12A58A7ABF1	TRJPSNK12E5B2F2F27	Tears for Fears	Head Over Heels	http://previews.7digital.com/clip/84096
-SOZKDMB12B0B80C4AC	TRAFWZP1342394DD77	The Smiths	Asleep (2011 Remastered Version)	http://previews.7digital.com/clip/15488200
-SOHSHMS12A8C13BF58	TRBQPCU12E5B3FCF4F	The Postal Service	This Place Is A Prison	http://previews.7digital.com/clip/11270594
-SOSEKZA12A8C13FF24	TRAKBUO13269D50F87	Miley Cyrus	Goodbye	http://previews.7digital.com/clip/3512847
-SOGVQTZ12A6D4FB490	TRJKIJO1300D8B5161	Interpol	Say Hello to the Angels	http://previews.7digital.com/clip/13337857
-SOWBYZF12A6D4F9424	TRYNDLI13F5DEBE2E7	Horkýže Slíže	Fakty	http://previews.7digital.com/clip/1392987
-SOWEWCO12A8C14074E	TRGWUNK12E5B302E73	The Killers	Everything Will Be Alright	http://previews.7digital.com/clip/4465257
-SONYMUG12A8C136FE5	TRTQVQV12E5ADED71E	Plies	Somebody (Loves You)	http://previews.7digital.com/clip/10866933
-SOLJQPF12A67020924	TREXIND12E5AC279D5	Sparta	Cut Your Ribbon	http://previews.7digital.com/clip/2471461
-SOSTVOA12A8C14261D	TRECUBY13269F530F9	Flobots	Anne Braden	http://previews.7digital.com/clip/3059663
-SOXUYUZ12A8C13A67E	TRXTAIV12E5ACB1D4E	Neutral Milk Hotel	In The Aeroplane Over The Sea	http://previews.7digital.com/clip/10705180
-SOFJAJP12AB0181E62	TRNEEVZ13269B9C13D	Yeah Yeah Yeahs	Soft Shock	http://previews.7digital.com/clip/4428284
-SOWRMTT12A8C137064	TRJWIDS12E5B3154B6	Kings of Leon	Milk	http://previews.7digital.com/clip/3296548
-SOPBGKX12A8C13D97B	TRCMUBW13A6510F560	Garbage	Cherry Lips (Go Baby Go)	http://previews.7digital.com/clip/19868345
-SOBEAHS12A6D4F97A6	TRXNXYY12E5AC72C14	Third Eye Blind	Forget Myself	http://previews.7digital.com/clip/6766775
-SOHXQWR12AF72AB9CD	TRUPKQX12E5ACCD143	Hot Chip	Slush	http://previews.7digital.com/clip/7782224
-SOBEVXQ12A8C13AE57	TRUREZX1300D8B584C	Lou Reed	Xmas In February	http://previews.7digital.com/clip/1089226
-SOTSPVI12A6D4FA446	TRXISAR12E5AD2CFF2	The Bird and the Bee	Birds and the Bees	http://previews.7digital.com/clip/1633051
-SOLSCUX12A8C13D10B	TRHKWSP12E5B48FBEA	Justice	Valentine	http://previews.7digital.com/clip/1156936
-SOKOHLQ12AF729B221	TRITRYI12E5AD8471F	The Presidents of the United States of America	Poke And Destroy	http://previews.7digital.com/clip/2444603
-SOSLCRU12A6701DB0B	TRVOWLS1403C1876FE	Garbage	Milk	http://previews.7digital.com/clip/30625646
-SOBKTKO12AB01857FD	TRBOMKM13269C5BDAF	The White Stripes	Jolene (Live)	http://previews.7digital.com/clip/8238172
-SOGHOJB12A6D4FA7DC	TRCMCSL13269A04386	N.E.R.D.	Things Are Getting Better	http://previews.7digital.com/clip/3098
-SOPGCXT12A8C138AD1	TRNHTAH12E5B3169FB	Jay-Z	D'Evils	http://previews.7digital.com/clip/3297652
-SOTMTTY12A6D4F95A1	TRXIKVJ13269D1705C	Beirut	Prenzlauerberg	http://previews.7digital.com/clip/474430
-SOMYFOB12AAA15FD4F	TRJJXCS12E4E5965BD	Cat Stevens	Hard Headed Woman	http://previews.7digital.com/clip/143203
-SONAISQ12A81C2236D	TRJEWMR13269D17073	Beirut	Forks And Knives (La Fête)	http://previews.7digital.com/clip/1387860
-SOYQKPA12A8C13F31A	TRXJGCV12E5AD3991B	Pepper	Tradewinds	http://previews.7digital.com/clip/6617789
-SOFPEZR12A67021B80	TRJMKQM137EBC7C5AE	Jimi Hendrix	Power Of Soul	http://previews.7digital.com/clip/7427263
-SOGUPIJ12A8C13AEA1	TRFJIFG13269D6DB6A	Foals	Tron	http://previews.7digital.com/clip/2328481
-SOIITXW12A8C142B66	TRLXSJB12E5AF06F04	Empire of the Sun	The World	http://previews.7digital.com/clip/6910465
-SOSZAST12A6D4F6245	TRVPADO13269C76201	Regina Spektor	Lacrimosa	http://previews.7digital.com/clip/229325
-SOZPPYS12898B694CE	TRJFFAB12E5AD2753F	The Black Keys	Everywhere I Go	http://previews.7digital.com/clip/7396312
-SOBFRNE12A6D4F7995	TRCMHRI13269CBC395	Dominique A	Le courage des oiseaux	http://previews.7digital.com/clip/6590470
-SOXTBGF12A6D4FB49C	TRYEPUQ1300D8B5159	Interpol	Slow Hands	http://previews.7digital.com/clip/13337849
-SONGIPI12A8AE46162	TROSJBQ12E5AC860CF	Maná	Rayando el sol	http://previews.7digital.com/clip/1074902
-SOVEMJL12A8C13B645	TRJCUVX13269ECC3CC	Nick Drake	Milk And Honey	http://previews.7digital.com/clip/1212333
-SOSDTGC12AF72A2BC3	TRSJQHG12E5AD1315A	Lily Allen	Chinese	http://previews.7digital.com/clip/4091446
-SOYYCTP12AB017E29C	TRAASIZ13269B91EB0	The Killers	Neon Tiger	http://previews.7digital.com/clip/3788013
-SONUWMR12AF72A374B	TRVSNKQ13269CEDA85	Lily Allen	Friday Night	http://previews.7digital.com/clip/4127833
-SOCJWZY12A67021D18	TRYKXNM13269A047BF	Rufus Wainwright	Hallelujah	http://previews.7digital.com/clip/161891
-SOPKEIV12AB018220D	TRGPXUR12E5ACCA727	The Decemberists	Red Right Ankle	http://previews.7digital.com/clip/6048615
-SOLOZRE12A8C133256	TRQVURJ13269E9A446	Vampire Weekend	M79	http://previews.7digital.com/clip/2093104
-SOHWMES12A67AE0D06	TRAUAMD13269BA92AD	Supertramp	Your Poppa Don't Mind	http://previews.7digital.com/clip/307194
-SORTPHZ12A8C13D374	TRHVGUZ13269E0365C	Plies	I Am The Club	http://previews.7digital.com/clip/9269780
-SOFTTQV12A58A7CD57	TRPCTRO12E5AC33B2A	Guns N' Roses	Coma	http://previews.7digital.com/clip/164664
-SOHZPYD12AF72A12E2	TRPDVBW13733A2FCA1	Pixies	Build High	http://previews.7digital.com/clip/16086712
-SOYFRVX12AAF3B3F3E	TRKECOW13269C5BD6B	The White Stripes	The Denial Twist	http://previews.7digital.com/clip/211415
-SOIAXDW12A6D4F9466	TRPDGQH12E5ACEC0D0	Sammie	I Like It	http://previews.7digital.com/clip/270055
-SOLGPOU12A58A7EA20	TRQGYRN12E5ACCC5A6	Todd Barry	Sugar Ray	http://previews.7digital.com/clip/218510
-SOLMAIK12A8C13F7B5	TRZTDDA13269B8336F	Ryan Adams	Down In A Hole	http://previews.7digital.com/clip/1862595
-SOFCIQA12A58A7EAE7	TRCLTQW13269C5A637	Soundgarden	Loud Love	http://previews.7digital.com/clip/168776
-SOGHPTS12A8C1313E5	TRVDPSB13269B835F2	The Hives	We Rule The World (T.H.E.H.I.V.E.S)	http://previews.7digital.com/clip/7112547
-SOMSLQP12A8C14135B	TRPOJJT12E5B1D5E8E	Selena Gomez	Magical	http://previews.7digital.com/clip/6808491
-SOWBPNX12A8C13465B	TRAMVQY12E5AD03BDC	Beyoncé	Gift From Virgo	http://previews.7digital.com/clip/3223664
-SOZEWZS12AB018FAF1	TRKWADT137FDA47920	Toro Y Moi	Imprint After	http://previews.7digital.com/clip/18975150
-SOCBGZW12A58A7CAC2	TRYGDBZ12E5ACE8FA0	Grand Funk Railroad	We're An American Band	http://previews.7digital.com/clip/377216
-SOPGPTD12A6310E032	TRCPVFV13A6509A957	David Bowie	Oh! You Pretty Things	http://previews.7digital.com/clip/13933747
-SOPGMKX12AB0182B4C	TRMZGPC1380A405D99	The Smiths	Half A Person	http://previews.7digital.com/clip/15488344
-SORFRGW12A8C13EB13	TRNVQFS12E5ACB3A86	Swizz Beatz	It's Me B*#@hes (Main)	http://previews.7digital.com/clip/1215405
-SOGZQHS12A8C137A12	TREYWRC12E5B3A1635	Chromeo	My Girl Is Calling Me (A Liar)	http://previews.7digital.com/clip/2277820
-SOQDMED12A67ADE731	TRNGTEJ12E5B30CFB4	The Kills	Love Is A Deserter	http://previews.7digital.com/clip/5903003
-SOSLKVW12A6D4F7ACB	TRMRXDE12E5B351C90	Stray Cats	Runaway Boys	http://previews.7digital.com/clip/3364741
-SOXDMAC12AB017E7FF	TRMSOQQ12E5AEA7087	Grizzly Bear	Little Brother	http://previews.7digital.com/clip/5883027
-SOAGGLN12AB018AC9B	TRCXQMT138FD1348A3	Gorillaz	Empire Ants (feat. Little Dragon)	http://previews.7digital.com/clip/8380908
-SOGPWVK12A58A7B419	TREJQTO12E5AC72633	MC5	Baby Won't Ya	http://previews.7digital.com/clip/136912
-SONKYVR12B0B80AF82	TRPNNMB13269CBF5E8	Thievery Corporation	Indra	http://previews.7digital.com/clip/3548595
-SOWBTMO12A6701C56D	TRZFAXQ12E5AC9C25F	OK Go	Invincible	http://previews.7digital.com/clip/118122
-SOFAFXU12A8C141523	TRZWKBA12E5B477613	Eddie Vedder	Society	http://previews.7digital.com/clip/5291937
-SOMVEVM12AB01855C6	TRFAPQJ12E4E58BC3C	The B-52's	Revolution Earth	http://previews.7digital.com/clip/6007134
-SOXAIMS12A8C137E90	TRCGIZG13CFDA51A25	Frightened Rabbit	The Modern Leper	http://previews.7digital.com/clip/23098685
-SOALITF12A6310DFCD	TRAYKNM12E5AC28DB9	Radiohead	Just	http://previews.7digital.com/clip/9500
-SOQBPJS12A67ADA077	TRQDKIS12E5B3063E2	The Rapture	Down For So Long	http://previews.7digital.com/clip/443682
-SOPCCWV12A670205F3	TREVRXX12E5AC7CF48	Crosby, Stills & Nash	Wooden Ships	http://previews.7digital.com/clip/5912130
-SOVRIZO12AF72A4C0C	TRKKSLU12E5B306401	The Rapture	I Need Your Love	http://previews.7digital.com/clip/3776863
-SOPNOHB12AB0186834	TRGECHU12E5ACB08AA	The Zombies	Leave Me Be	http://previews.7digital.com/clip/6110575
-SOHFVJR12AF72A9805	TRJKRAI12E5ACA06B0	Phoenix	Holdin' On Together	http://previews.7digital.com/clip/579384
-SOPIQZP12A670201C7	TRVOMVZ12E5B306408	The Rapture	Infatuation	http://previews.7digital.com/clip/3776871
-SOKKUJN12A63110824	TRXYDAO13269B89C1B	Gorillaz	Clint Eastwood (Ed Case/Sweetie Irie Refix) [Edit]	http://previews.7digital.com/clip/4942
-SOKMNVE12A8C13BA72	TRVIBGV13269E5E209	Luis Alberto Spinetta	Alma De Diamante	http://previews.7digital.com/clip/2356075
-SOQPBQQ12A6701D1D8	TRBPQDB13269C576B3	Chris Cornell	Flutter Girl	http://previews.7digital.com/clip/163259
-SOYWVJX12A8C13EDA9	TRPKMCB1300D8B514D	Interpol	Take You On A Cruise	http://previews.7digital.com/clip/13337837
-SOCRNTA12A8C13CCB6	TRWQWAI13269C0DE7E	Queens of the Stone Age	Battery Acid	http://previews.7digital.com/clip/1086280
-SOPAEYW12A58A7DBFE	TRGVSHY12E5B4EDF33	Train	All I Hear	http://previews.7digital.com/clip/3472059
-SOQYLUM12A58A7CB55	TRIGJVI13CFDA5262F	Frightened Rabbit	Things	http://previews.7digital.com/clip/23101576
-SOUWEJS12AB01868A4	TRDOWDB12E5AF5CFDE	Soda Stereo	Observándonos (Satélites)	http://previews.7digital.com/clip/5644844
-SONUYPZ12AC46899E2	TRDPYPE14567FD31DB	Sense Field	Am I a Fool	http://previews.7digital.com/clip/35978906
-SOACGVR12A8C13B60A	TRLNRNU12E5B44FEBF	The Raconteurs	These Stones Will Shout	http://previews.7digital.com/clip/2339269
-SOYIWVC12A8AE47F31	TRYRYZS13CFDA50F12	The Pretend It's December Choir	It's Christmas So We'll Stop (Choir Version)	http://previews.7digital.com/clip/23098987
-SOODSPH12AB01819C3	TRWZHCZ13009F41790	Florence + The Machine	Between Two Lungs	http://previews.7digital.com/clip/13725621
-SOXUMBC12AB018DA2B	TRHDVST13CFDA52D36	Frightened Rabbit	Nothing Like You	http://previews.7digital.com/clip/23101581
-SOHKKFX12A58A7975B	TRZMWGO12E5ACBB983	Pixies	Into The White	http://previews.7digital.com/clip/2073192
-SOMRPMY12AF72A1025	TRIQUFK12E5AC72C2A	Third Eye Blind	Darkness (2008 Album Version)	http://previews.7digital.com/clip/6786508
-SOWQBBT12AC4686122	TRFPPGX12E5AC76607	Stone Temple Pilots	Adhesive	http://previews.7digital.com/clip/6762824
-SOHQRUK12A6701F9AD	TRMAMQI13269C2088F	Eels	Mother Mary	http://previews.7digital.com/clip/109461
-SOJEVHC12A8C13C3E5	TRJPTQG13E0F929988	Bon Iver	Flume	http://previews.7digital.com/clip/2267102
-SOFAMRP12AF72A069E	TRLDLBU12E5AE9242D	Man Man	The Ballad Of Butter Beans	http://previews.7digital.com/clip/2352099
-SOMZRXL12A81C224B9	TRHAKAL12E5AC315F7	Interpol	Pace Is The Trick	http://previews.7digital.com/clip/1158296
-SOJPFPR12AB018109D	TRIHOPQ12E5AD2D008	The Bird and the Bee	Baby	http://previews.7digital.com/clip/4017101
-SOXMGUX12A8C136EBC	TRUVEER13269DDBF61	1990s	You Made Me Like It	http://previews.7digital.com/clip/1228984
-SORPVUD12A67020454	TRJCTGM12E5AC3E8F1	Red Hot Chili Peppers	Otherside	http://previews.7digital.com/clip/336020
-SOFRNOJ12AB018839A	TRKENQD13269D50FA9	Miley Cyrus	Kicking And Screaming	http://previews.7digital.com/clip/6737325
-SODOWQF12A81C2371B	TRWBCUI13269D766E1	Simian Mobile Disco	Hustler (Club Version)	http://previews.7digital.com/clip/1941097
-SOGYLTC12A8C14111E	TRZJXEW12E5B4EDF35	Train	Explanation	http://previews.7digital.com/clip/3472062
-SOFFWND12A58A796B7	TRQPIZK12E5AC73074	Jason Mraz	You And I Both	http://previews.7digital.com/clip/1139527
-SOCLANN12AC907598C	TRTSOUK14567FD2C01	Erin McKeown	Love in 2 Parts	http://previews.7digital.com/clip/35979107
-SOOZZGS12A6D4FBDF8	TRKGTLK12E5AD24438	Vitalic	The Past	http://previews.7digital.com/clip/2206036
-SOLIFTZ12AB017AFED	TRMCBEN12E5ACA65F9	Dave Matthews Band	#40	http://previews.7digital.com/clip/5415996
-SOPHRXX12A67ADA08E	TRNTXEA13269D0CB28	Fergie	Pedestal (Album Version (Explicit))	http://previews.7digital.com/clip/1137956
-SOXGQCN12A8C1384FA	TRIUZDT12E5ADFBA85	Cake	Italian Leather Sofa	http://previews.7digital.com/clip/3335459
-SOAWIDW12A81C22AEB	TRRINCI13269B9B540	Kanye West	I Wonder	http://previews.7digital.com/clip/1356699
-SONEYYW12AF72A2AA6	TRVRFQF12E5B2FD85D	Four Tet	Glue Of The World	http://previews.7digital.com/clip/5497436
-SOHQWZJ12AB01892EC	TRBGVIL1326A1859AD	Iration	Dream	http://previews.7digital.com/clip/8526736
-SOETQJP12A6D4F6731	TRGWJIY13269CEDA84	Lily Allen	Not Big	http://previews.7digital.com/clip/4127831
-SOJNFQR12A8C13F5E9	TRJOYFS12E5ACABEF3	Operation Ivy	Take Warning	http://previews.7digital.com/clip/1828959
-SOCTOZW12A8C13AE90	TRQYRDK13269D6DB64	Foals	Electric Bloom	http://previews.7digital.com/clip/2328474
-SOIYNJG12AB01810B2	TRMQKVN12E5AD2D00B	The Bird and the Bee	You're A Cad	http://previews.7digital.com/clip/4017108
-SOAYSMC12A67020927	TRHJIVL12E5B1C7C12	The Who	Magic Bus (Original Stereo Version)	http://previews.7digital.com/clip/1081436
-SOJUBSU12AF729FEC1	TRNPVSA12E5ACCD141	Hot Chip	One Life Stand	http://previews.7digital.com/clip/7782213
-SODTQFE12A8C133B0B	TRRRIOA13CFDA51A6B	Frightened Rabbit	Music Now	http://previews.7digital.com/clip/23101426
-SOVEHBY12A8C13F32E	TRMEEAY12E5AD39922	Pepper	Tongues	http://previews.7digital.com/clip/6617796
-SOWDKXZ12A81C22377	TRPCFBD13269D17076	Beirut	Cherbourg	http://previews.7digital.com/clip/1387863
-SOINIUZ12A67ADF6D8	TREAZJO13269BEEF28	Morcheeba	Blindfold	http://previews.7digital.com/clip/312011
-SOMVAGR12A67AE1114	TRWLRQU12E5AC88634	Timbaland	Throw It On Me	http://previews.7digital.com/clip/4522931
-SOLKOOO12AB018794A	TRDIGAJ12E5AD27545	The Black Keys	10 A.M. Automatic	http://previews.7digital.com/clip/7396344
-SOHAHTQ12AB017AA32	TRRTDSD12E5B4DED81	Epica	Incentive (Bonus Track)	http://previews.7digital.com/clip/6755016
-SOKVADK12A8C1359C6	TRAYXOG13269C576D0	Chris Cornell	Today (Non-LP Version)	http://previews.7digital.com/clip/982602
-SOOJWBH12A6D4F64E3	TRPWLKA12E5B37A3C8	Devo	Mongoloid	http://previews.7digital.com/clip/309572
-SONKHQE12A58A7C8AD	TRGAGFP13269CEC84F	Lupe Fiasco	Dumb It Down (feat. GemStones and Graham Burris)	http://previews.7digital.com/clip/3682786
-SOHQIBR12A6310E0ED	TRGOQAW12E5AC28DF4	Radiohead	In Limbo	http://previews.7digital.com/clip/2748795
-SOHDQMI12A6D4F9A77	TRARCMR12E5AC809FC	Faith No More	Stripsearch	http://previews.7digital.com/clip/8719296
-SOPLUBC12A8C142B6D	TRTDWIA12E5AF06F06	Empire of the Sun	Tiger By My Side	http://previews.7digital.com/clip/6910481
-SOMGPML12A8C13AE8C	TRNUKAK13269D6DB62	Foals	Red Socks Pugie	http://previews.7digital.com/clip/2328472
-SOMUEZH12A6D4F66C6	TRBEIII13269A0438C	N.E.R.D.	Baby Doll	http://previews.7digital.com/clip/3104
-SOQJAZE12A6D4F95A8	TRWXOFL13269D17063	Beirut	The Bunker	http://previews.7digital.com/clip/474437
-SOHLLRP12A6701F2F4	TRCDJLH12E5AC3E97C	Red Hot Chili Peppers	Under The Bridge	http://previews.7digital.com/clip/439881
-SOJEMSC12A6D4F81A6	TRDVJOD12E5AC90118	Melody Club	Evil Thing	http://previews.7digital.com/clip/494414
-SOYTDBL12A6D4F8148	TRRYHGS13269CC41E1	Sauce Money	What We Do (Feat. Memphis Bleek)	http://previews.7digital.com/clip/320844
-SOVTLQW12AB0186641	TRYLVZA13269A041DF	Queen	Love Of My Life	http://previews.7digital.com/clip/12904261
-SOGEFOF12A81C2235D	TRIKUXA13269D1706E	Beirut	A Sunday Smile	http://previews.7digital.com/clip/1387855
-SOZKLMU12A8AE4714C	TRNIRFZ12E5AD2753C	The Black Keys	Midnight in Her Eyes	http://previews.7digital.com/clip/7396294
-SOKQMOW12A6701DEFC	TRMIRLS137EBC7C5D3	Jimi Hendrix	Electric Church Red House	http://previews.7digital.com/clip/7427299
-SOKLADX12A8C13AA37	TRQRKMR12E5B36207E	Justin Timberlake	Still On My Brain	http://previews.7digital.com/clip/3372267
-SOYVUDI12A81C22872	TRWXKJG13F81AEED59	Timbaland	Wit' Yo' Bad Self	http://previews.7digital.com/clip/29988797
-SORFSKT12A8C1430A0	TRXCNZV13FA5DF3BB2	Jonas Brothers	Sorry	http://previews.7digital.com/clip/30061958
-SOVIZNF12AF72A710A	TRGHAES13E0F917965	The Prodigy	The Big Gun Down	http://previews.7digital.com/clip/15899001
-SOHODOM12A6D4FD028	TRZTTKY12E5AC9BB18	The Wallflowers	Honeybee	http://previews.7digital.com/clip/3032353
-SOMVUAM12A8C14416D	TRMEQAT13C6D254C46	Beirut	The Concubine	http://previews.7digital.com/clip/22144756
-SOJOVEU12A8C140C34	TRHNUIC13269C0C224	Mariah Carey	Love Story	http://previews.7digital.com/clip/2424537
-SONEWOI12AAF3B3602	TRINKFW12E5B3FB3D7	Hot Chip	Baby Said	http://previews.7digital.com/clip/8597306
-SOZJWDN12A8151B851	TRUAUDE12E5B2FD881	Four Tet	My Angel Rocks Back and Forth	http://previews.7digital.com/clip/5499361
-SOFSIKY12AF72A0807	TRRQGEX12E5B1C25E1	Amy Winehouse	Fuck Me Pumps	http://previews.7digital.com/clip/2855119
-SOCFPBP12AB0182D2B	TRTTXEN13269FDEB37	Camera Obscura	Swans	http://previews.7digital.com/clip/4494927
-SOHNGUW12A81C22370	TRKSEAN13269D17074	Beirut	In The Mausoleum	http://previews.7digital.com/clip/1387861
-SOGCCBF12AB0188DEE	TRMXZDZ13269C51F41	Frankie Avalon	You Are Mine	http://previews.7digital.com/clip/8981056
-SOAAAGQ12A8C1420C8	TRBDPZG12E5B4E582F	Bohren & der Club of Gore	Orgelblut	http://previews.7digital.com/clip/3570632
-SOFZRXA12AC960DAB5	TRDZNLA12E5AF74DCD	Camera Obscura	Alaska	http://previews.7digital.com/clip/10716688
-SOIICEQ12A6D4F7FE0	TRJBWXB12E4F0C4A61	Mae	Someone Else's Arms	http://previews.7digital.com/clip/433875
-SOWBFBP12A58A7D6EA	TRVOXGL12E5AC7B76E	Jane's Addiction	Had A Dad	http://previews.7digital.com/clip/11835545
-SOFWBSS12A8C136313	TRNBEYC12E5B5538B8	1990s	Situation	http://previews.7digital.com/clip/2936484
-SOHZDYL12A8C141C73	TRYRYNE13269D1DAE6	The Undertones	My Perfect Cousin	http://previews.7digital.com/clip/3987001
-SOOROCA12AF72A07D1	TRAQUDT13269CFC2FD	Flogging Molly	If I Ever Leave This World Alive	http://previews.7digital.com/clip/6521016
-SOAOERV12AF72A48FC	TRDNEHK12E5B306404	The Rapture	Echoes	http://previews.7digital.com/clip/3776866
-SOHDSVJ12A6D4F93FF	TRASWFQ134239CCDA1	Daft Punk	Nightvision	http://previews.7digital.com/clip/485121
-SOFFWDQ12A8C13B433	TRIPOFU137FDA5975C	Kings of Leon	Dusty	http://previews.7digital.com/clip/3357545
-SOMZMOQ12A8C13A687	TRGRTLU12E5ACB1D4F	Neutral Milk Hotel	Two-Headed Boy	http://previews.7digital.com/clip/10705181
-SONFCUC12A58A7BC34	TRHWFZD12E4E588891	Common	G.O.D. (Gaining One's Definition) Featuring Ce-Lo	http://previews.7digital.com/clip/3543117
-SOOTKBQ12AC3DFA4A2	TRTXCVD13CFDA52332	Frightened Rabbit	Man/bag of Sand	http://previews.7digital.com/clip/23101582
-SOKDFZW12AC9072C8C	TRAIWPO13DAC359B25	Camera Obscura	Razzle Dazzle Rose	http://previews.7digital.com/clip/8677876
-SOOGZYY12A6701D9CB	TRTRPBN13269BAD5C5	Jack Johnson	Crying Shame	http://previews.7digital.com/clip/14485667
-SOGUKDL12A6D4FAAB9	TRHOLFO13269D62236	Kate Winslet	What If (Film Version)	http://previews.7digital.com/clip/643851
-SOPXSEP12A67ADE986	TRYBKMV12E5B4DBCE9	Arcade Fire	Intervention	http://previews.7digital.com/clip/1077808
-SODMUPG12A67021CC7	TRGNJOM12E5ACB0BB1	Elliott Smith	L.A.	http://previews.7digital.com/clip/161805
-SOABGQW12AB017CFB2	TRPXRDT12E5B4AA418	Drowning Pool	Up Side Down	http://previews.7digital.com/clip/5439649
-SOBRREA12A6701C403	TRWVSKC12E5B2F246D	The Black Eyed Peas	Sexy	http://previews.7digital.com/clip/162528
-SOHOWRD12AB018FBF5	TRXUXCM12E5AEE85D6	Hermano	Letters From Madrid	http://previews.7digital.com/clip/8064134
-SOEPWPM12AC468611C	TRPRQZY12E5AC76604	Stone Temple Pilots	And So I Know	http://previews.7digital.com/clip/6762821
-SOVBQGQ12AF72A9803	TRUYTSQ12E5ACA06AE	Phoenix	Congratulations	http://previews.7digital.com/clip/579382
-SOJZEXX12A6D4F6247	TRWDLVX12E5ACCB162	Regina Spektor	Chemo Limo	http://previews.7digital.com/clip/685448
-SOKFNBL12AF72A1A41	TRCXVNU13CFDA50E60	Frightened Rabbit	Head Rolls Off	http://previews.7digital.com/clip/23098851
-SOALBSB12A58A814C0	TRDAXUE12E5AC3E436	The Smiths	Stop Me If You Think You've Heard This One Before	http://previews.7digital.com/clip/7341531
-SOGJMTM12A6310E17B	TRCGRRO12E5AC28DF1	Radiohead	How To Disappear Completely	http://previews.7digital.com/clip/2748792
-SOVVRDZ12A6701C577	TRDWXZZ12E4E5856E8	Coldplay	A Message	http://previews.7digital.com/clip/118134
-SOMRTUH12AB0185650	TRQUNWB12E5AD2754A	The Black Keys	The Lengths	http://previews.7digital.com/clip/7396370
-SOTJRSO12AB0182AE4	TRFWXLB13269C5A636	Soundgarden	Full On Kevin's Mom	http://previews.7digital.com/clip/168775
-SOPMKMD12A67020BD9	TRTXCXB12E5AC72634	MC5	Miss X	http://previews.7digital.com/clip/136913
-SOMCPUY12A81C2399A	TRFGDQD12E5AE5B8F8	Lykke Li	Everybody But Me	http://previews.7digital.com/clip/2876775
-SOXVIYQ12A6D4F8C9C	TRKBFLU13269BA9719	The Police	Driven To Tears	http://previews.7digital.com/clip/386524
-SODRLEQ12A6701F953	TRSDFJP13FA5E05927	Cut Copy	Saturdays	http://previews.7digital.com/clip/30146941
-SOIOESO12A6D4F621D	TRSIQZZ12E5AC76BB6	matchbox twenty	Unwell	http://previews.7digital.com/clip/225107
-SOIDAAV12AB0182D50	TRCSVEE13269DDBF71	1990s	Giddy Up	http://previews.7digital.com/clip/4400226
-SOLEWHB12AB01831B3	TRFTVYI12E5B712AC8	Deer Tick	Art Isn't Real (City Of Sin)	http://previews.7digital.com/clip/10220362
-SOFGIVB12A6D4F5923	TRFMNUU13269CFDCCE	Metallica	The Memory Remains	http://previews.7digital.com/clip/417190
-SOJMJMS12AB018566E	TRFRJJB12E5AD2754D	The Black Keys	Act Nice and Gentle	http://previews.7digital.com/clip/7396389
-SOMAUYZ12A8C135979	TRBMQWX13269C576D3	Chris Cornell	Poison Eye	http://previews.7digital.com/clip/1119981
-SOBYSRH12A8C13AE98	TRJBZTC13269D6DB66	Foals	Heavy Water	http://previews.7digital.com/clip/2328476
-SOITMVX12AF72A089F	TRYYVZG12E5AC26DDD	Lionel Richie	My Love	http://previews.7digital.com/clip/170927
-SOLKDYK12AB018DA3C	TRGZBDN13CFDA51CDC	Frightened Rabbit	Learned Your Name	http://previews.7digital.com/clip/23099113
-SOINDXC12A6D4F8C3C	TROQQJB12E5ACF1281	PlankEye	Step Away	http://previews.7digital.com/clip/384222
-SOQWSHS12A6701C576	TRCSDIW12E4E5856E6	Coldplay	X & Y	http://previews.7digital.com/clip/118132
-SOVCUAX12AB017EFB5	TRYETUG12E5AE9243F	Man Man	Push The Eagle's Stomach	http://previews.7digital.com/clip/6111361
-SOBGNMG12A8C133DFD	TRXFTPL142C9370E5F	Foreigner	Waiting For A Girl Like You	http://previews.7digital.com/clip/5945473
-SOKBTWI12B0B80BD8F	TRGUBEQ1450A46706D	Grateful Dead	High Time	http://previews.7digital.com/clip/34694627
-SOYUSCG12AB0182BB5	TRYITEC12E5AC7CF46	Crosby, Stills, Nash & Young	Deja Vu	http://previews.7digital.com/clip/5912128
-SOLBWFV12A8C13D5B2	TRTUXRT12E5B1F5B83	Miley Cyrus	G.N.O. (Girl's Night Out)	http://previews.7digital.com/clip/2353241
-SOFJCCE12AB0183F96	TRRXBPY140A16BBEE1	Bruce Dickinson	Faith	http://previews.7digital.com/clip/30944896
-SOSKVCM12AF729D67B	TRHZKKM12E5B4B2972	The Shins	Mild Child	http://previews.7digital.com/clip/11303324
-SODHKOL12A8C141128	TRIYSMZ12E5B4EDF37	Train	I'm Not Waiting In Line	http://previews.7digital.com/clip/3472065
-SOGANEO12AB018018E	TRHCYFC12E5AC28DDD	Radiohead	Prove Yourself	http://previews.7digital.com/clip/10738
-SOHKQUZ12A67020A3D	TREBMOO13269BA8B97	CKY	All Power To Slaves	http://previews.7digital.com/clip/144514
-SOHEGSJ12AB0183790	TRXMVSB12E5ACB9D4C	Lindisfarne	You Never Miss The Water Until The Well Runs Dry	http://previews.7digital.com/clip/11072695
-SOIEYZO12AB0188717	TRMYUZV12E5AE92447	Man Man	Zebra	http://previews.7digital.com/clip/6111722
-SOOALOT12A8C13ABD9	TREYLXD13269CF3631	Olle Adolphson	En glad calypso om våren (Live '62)	http://previews.7digital.com/clip/1669000
-SODUPLP12A6D4FB8E3	TRGVQQA1328D429216	Muse	Screenager	http://previews.7digital.com/clip/15304079
-SONBXQW12A6701FD05	TRGJXUU13269C4424D	The Cardigans	Erase / Rewind	http://previews.7digital.com/clip/5758813
-SOTGOVG12A6701C573	TROMPXB12E4E5856E3	Coldplay	White Shadows	http://previews.7digital.com/clip/118129
-SOBLTMH12A6D4FA44D	TRPLWEM12E5ACCB15C	Regina Spektor	The Flowers	http://previews.7digital.com/clip/685441
-SOKCZCN12A6D4F94CF	TRESPYC12E5B2FF91F	The Rolling Stones	Let It Loose	http://previews.7digital.com/clip/3521980
-SOMDIFH12A6310F24B	TRPSCWZ12E5AC28DC7	Radiohead	A Reminder	http://previews.7digital.com/clip/9514
-SOZXDDH12A8C134AE4	TRPCEBD13269CD088B	The Fratellis	Milk & Money	http://previews.7digital.com/clip/2708445
-SODXRTY12AB0180F3B	TRSUYGI12E5B6DE6E7	Lady Gaga	Paper Gangsta	http://previews.7digital.com/clip/7128765
-SOMKNTR12A6D4F9CCD	TRODPZC13269A0438F	N.E.R.D.	Bobby James	http://previews.7digital.com/clip/3107
-SOWJENM12AC4686110	TRUKXKJ12E5AC76600	Stone Temple Pilots	Pop's Love Suicide	http://previews.7digital.com/clip/6762814
-SOMIHZH12AB01821D8	TRPIIFD12E5ACCA719	The Decemberists	A Cautionary Song	http://previews.7digital.com/clip/6048135
-SOXMTXB12AF729A276	TRCMAJU13269DCB25D	Slightly Stoopid	Older	http://previews.7digital.com/clip/11668006
-SOZEBAZ12AF72A80C8	TRJVXZQ1373399F472	Thursday	Voices On a String	http://previews.7digital.com/clip/15829400
-SOJDMAS12B0B8079A4	TRKASVZ12E5AE9242C	Man Man	Hurly / Burly	http://previews.7digital.com/clip/2352098
-SORMNIY12A8C13BC44	TRUFBMV12E5AC27F13	The Hives	Here We Go Again	http://previews.7digital.com/clip/3973497
-SOPZBUU12A6D4F6F0C	TRJRUQG12E5ACC6BEE	Story of the Year	Wake Up The Voiceless	http://previews.7digital.com/clip/1438216
-SOTSHYT12A8C142868	TRRYDRD13EF6662086	Phoenix	Rome	http://previews.7digital.com/clip/29445893
-SOTKFFF12AC9072C86	TRIPTYI13DAC35A5B0	Camera Obscura	I Need All The Friends I Can Get	http://previews.7digital.com/clip/8677874
-SOVOOSP12A6310F1AC	TRXWQOG12E5AC2E9EB	Daft Punk	Aerodynamic (Daft Punk Remix)	http://previews.7digital.com/clip/6499
-SOGFISS12A58A7E5FE	TRRMRQO12E5AD42B64	Adam Watts	I Would Choose You	http://previews.7digital.com/clip/557532
-SOZDMZB12A6701D925	TRNIHDH12E5AC42856	CKY	Plastic Plan	http://previews.7digital.com/clip/271011
-SOVBJIV12A81C22366	TRJRXOG13269D17071	Beirut	Cliquot	http://previews.7digital.com/clip/1387858
-SOWMDQL12A8C13FB54	TROJFSD12E5B506527	Daughtry	What I Want	http://previews.7digital.com/clip/3687327
-SOKXMHW12AF729EAA6	TRDBBVL12E5B30CB25	Neil Young	Harvest	http://previews.7digital.com/clip/684884
-SOPNSJN12AF72A50A6	TRVCWWI12E5AE92437	Man Man	Whalebones	http://previews.7digital.com/clip/2352109
-SOCVDDD12AB017E85A	TRTPNFX12E5B362080	Justin Timberlake	Let's Take A Ride	http://previews.7digital.com/clip/3372279
-SONLOQQ12A8C139AF9	TRNXZZN12E5AC28D77	Radiohead	Go To Sleep	http://previews.7digital.com/clip/5829
-SOGSMFF12A8C13F5F9	TRXSHUR12E5ACABEF6	Operation Ivy	Unity	http://previews.7digital.com/clip/1828962
-SOZFWXQ12A58A7C631	TRWOZKT12E5AC77DEA	Shinedown	45	http://previews.7digital.com/clip/5820388
-SOTGWWO12A8C13E806	TRPMCRG12E5B1E538C	Miley Cyrus	As I Am	http://previews.7digital.com/clip/1146351
-SOYHKYO12AB018224C	TRDNJLA13269FDEB3A	Camera Obscura	My Maudlin Career	http://previews.7digital.com/clip/4494931
-SOFRWHG12A58A7DF46	TRPKTCL12E5AD2753A	The Black Keys	Hard Row	http://previews.7digital.com/clip/7396283
-SOHDPUQ12A6701FB97	TRHFZGE13269A01507	No Doubt	Tragic Kingdom	http://previews.7digital.com/clip/147851
-SOQBMFK12A8C13835B	TREEHRG12E5ADDF338	59 Times the Pain	Found Home	http://previews.7digital.com/clip/4093388
-SOFZXIO12A8C1362C9	TRLIIKX12E5B5538AF	1990s	Cult Status	http://previews.7digital.com/clip/2936466
-SOVOLWT12A8C132DA5	TRQCDCY12E5ACF6738	Kansas	Hold On	http://previews.7digital.com/clip/11129833
-SOBYPWB12A8C141665	TRPULOK12E5AC765DE	Stone Temple Pilots	No Memory	http://previews.7digital.com/clip/4191194
-SOZVSSP12AB01819DE	TRLWFZL12E5B6DE6D2	Lady Gaga	LoveGame (Space Cowboy Remix)	http://previews.7digital.com/clip/6377296
-SOXLWPN12A8C143667	TRUIOCC12E5B759392	The Temper Trap	Rest	http://previews.7digital.com/clip/5818845
-SOYIJRW12A8C134621	TRHBEOP12E5AD03BD3	Beyoncé	Hip Hop Star	http://previews.7digital.com/clip/3223648
-SOKTUOG12A8C135990	TRDSLIS13269C576C7	Chris Cornell	Ghosts	http://previews.7digital.com/clip/982588
-SOGLKUJ12A8AE46B92	TRPBWVT13E0F955D35	Travis	Sing	http://previews.7digital.com/clip/3104510
-SOOIZTZ12A6D4FBDC7	TRNABBU13269D6DB51	Foals	Hummer	http://previews.7digital.com/clip/686343
-SORSSEI12A6701E511	TRXKDRT1418BD8ABF2	Pogues	White City	http://previews.7digital.com/clip/30146684
-SOKTUUN12AB017E5B5	TRCWHKN12E5B2F25C8	Ryan Adams	Stop	http://previews.7digital.com/clip/3662021
-SOXAJDB12A8C13AB22	TRFRZXL13CFDA53894	Frightened Rabbit	Floating in the Forth	http://previews.7digital.com/clip/23101515
-SOJSUQF12A67ADF6C0	TRSQPMF13009F04E04	Morcheeba	Charango (Feat: Pace Won)	http://previews.7digital.com/clip/13222193
-SOWOZLK12A8C136B33	TRTVWJC1433ED0AD55	Modest Mouse	Doin' The Cockroach	http://previews.7digital.com/clip/5408810
-SOAAMOW12AB018149B	TRUNIDA12E5B4765BA	Andrew Bird	Nomenclature	http://previews.7digital.com/clip/10979927
-SOMIPZX12A8C1410FA	TRTGKGZ12E5B4EDF2E	Train	Get Out	http://previews.7digital.com/clip/3472053
-SOVMGXI12AF72A80B0	TRJZYLJ12E5B2F2469	The Black Eyed Peas	Hey Mama	http://previews.7digital.com/clip/162524
-SOKKVXX12AB017AFB7	TRHBCZF13423948162	The Smiths	Back To The Old House	http://previews.7digital.com/clip/15458571
-SOAMFCO12A6701F117	TRXHTVA13A650B9989	Damien Rice	Cannonball	http://previews.7digital.com/clip/16279050
Binary file Dataset/genre_classification/best_params.pkl has changed
Binary file Dataset/genre_classification/genre_prob.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_1.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_2.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_3.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_4.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_5.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_6.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_7.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_8.pkl has changed
Binary file Dataset/gtzan/features/gtzan_3sec_9.pkl has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dataset/gtzan/lists/audio_files.txt	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,1000 @@
+/home/paulo/Downloads/audio/metal/metal.00070.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00021.au
+/home/paulo/Downloads/audio/blues/blues.00047.au
+/home/paulo/Downloads/audio/classical/classical.00036.au
+/home/paulo/Downloads/audio/blues/blues.00096.au
+/home/paulo/Downloads/audio/reggae/reggae.00041.au
+/home/paulo/Downloads/audio/pop/pop.00080.au
+/home/paulo/Downloads/audio/disco/disco.00018.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00016.au
+/home/paulo/Downloads/audio/reggae/reggae.00039.au
+/home/paulo/Downloads/audio/reggae/reggae.00006.au
+/home/paulo/Downloads/audio/metal/metal.00020.au
+/home/paulo/Downloads/audio/jazz/jazz.00045.au
+/home/paulo/Downloads/audio/blues/blues.00062.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00089.au
+/home/paulo/Downloads/audio/blues/blues.00078.au
+/home/paulo/Downloads/audio/jazz/jazz.00073.au
+/home/paulo/Downloads/audio/blues/blues.00019.au
+/home/paulo/Downloads/audio/country/country.00083.au
+/home/paulo/Downloads/audio/classical/classical.00095.au
+/home/paulo/Downloads/audio/country/country.00029.au
+/home/paulo/Downloads/audio/metal/metal.00036.au
+/home/paulo/Downloads/audio/jazz/jazz.00016.au
+/home/paulo/Downloads/audio/metal/metal.00095.au
+/home/paulo/Downloads/audio/disco/disco.00089.au
+/home/paulo/Downloads/audio/country/country.00064.au
+/home/paulo/Downloads/audio/reggae/reggae.00074.au
+/home/paulo/Downloads/audio/classical/classical.00049.au
+/home/paulo/Downloads/audio/jazz/jazz.00067.au
+/home/paulo/Downloads/audio/jazz/jazz.00030.au
+/home/paulo/Downloads/audio/jazz/jazz.00066.au
+/home/paulo/Downloads/audio/pop/pop.00071.au
+/home/paulo/Downloads/audio/disco/disco.00053.au
+/home/paulo/Downloads/audio/country/country.00085.au
+/home/paulo/Downloads/audio/reggae/reggae.00042.au
+/home/paulo/Downloads/audio/metal/metal.00008.au
+/home/paulo/Downloads/audio/reggae/reggae.00045.au
+/home/paulo/Downloads/audio/pop/pop.00031.au
+/home/paulo/Downloads/audio/pop/pop.00001.au
+/home/paulo/Downloads/audio/disco/disco.00025.au
+/home/paulo/Downloads/audio/jazz/jazz.00002.au
+/home/paulo/Downloads/audio/jazz/jazz.00004.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00053.au
+/home/paulo/Downloads/audio/rock/rock.00029.au
+/home/paulo/Downloads/audio/disco/disco.00070.au
+/home/paulo/Downloads/audio/blues/blues.00095.au
+/home/paulo/Downloads/audio/country/country.00077.au
+/home/paulo/Downloads/audio/jazz/jazz.00025.au
+/home/paulo/Downloads/audio/disco/disco.00052.au
+/home/paulo/Downloads/audio/reggae/reggae.00098.au
+/home/paulo/Downloads/audio/metal/metal.00075.au
+/home/paulo/Downloads/audio/blues/blues.00044.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00017.au
+/home/paulo/Downloads/audio/country/country.00022.au
+/home/paulo/Downloads/audio/pop/pop.00016.au
+/home/paulo/Downloads/audio/rock/rock.00064.au
+/home/paulo/Downloads/audio/country/country.00072.au
+/home/paulo/Downloads/audio/country/country.00026.au
+/home/paulo/Downloads/audio/jazz/jazz.00068.au
+/home/paulo/Downloads/audio/reggae/reggae.00084.au
+/home/paulo/Downloads/audio/rock/rock.00004.au
+/home/paulo/Downloads/audio/metal/metal.00088.au
+/home/paulo/Downloads/audio/jazz/jazz.00044.au
+/home/paulo/Downloads/audio/classical/classical.00047.au
+/home/paulo/Downloads/audio/rock/rock.00042.au
+/home/paulo/Downloads/audio/classical/classical.00085.au
+/home/paulo/Downloads/audio/jazz/jazz.00039.au
+/home/paulo/Downloads/audio/jazz/jazz.00061.au
+/home/paulo/Downloads/audio/disco/disco.00079.au
+/home/paulo/Downloads/audio/jazz/jazz.00086.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00083.au
+/home/paulo/Downloads/audio/pop/pop.00050.au
+/home/paulo/Downloads/audio/metal/metal.00038.au
+/home/paulo/Downloads/audio/metal/metal.00097.au
+/home/paulo/Downloads/audio/country/country.00023.au
+/home/paulo/Downloads/audio/country/country.00074.au
+/home/paulo/Downloads/audio/reggae/reggae.00053.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00098.au
+/home/paulo/Downloads/audio/rock/rock.00005.au
+/home/paulo/Downloads/audio/reggae/reggae.00019.au
+/home/paulo/Downloads/audio/blues/blues.00069.au
+/home/paulo/Downloads/audio/reggae/reggae.00092.au
+/home/paulo/Downloads/audio/reggae/reggae.00016.au
+/home/paulo/Downloads/audio/country/country.00049.au
+/home/paulo/Downloads/audio/country/country.00037.au
+/home/paulo/Downloads/audio/metal/metal.00037.au
+/home/paulo/Downloads/audio/disco/disco.00045.au
+/home/paulo/Downloads/audio/metal/metal.00074.au
+/home/paulo/Downloads/audio/disco/disco.00022.au
+/home/paulo/Downloads/audio/country/country.00094.au
+/home/paulo/Downloads/audio/metal/metal.00058.au
+/home/paulo/Downloads/audio/jazz/jazz.00070.au
+/home/paulo/Downloads/audio/disco/disco.00068.au
+/home/paulo/Downloads/audio/country/country.00013.au
+/home/paulo/Downloads/audio/classical/classical.00008.au
+/home/paulo/Downloads/audio/jazz/jazz.00041.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00094.au
+/home/paulo/Downloads/audio/reggae/reggae.00087.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00012.au
+/home/paulo/Downloads/audio/blues/blues.00070.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00074.au
+/home/paulo/Downloads/audio/jazz/jazz.00076.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00032.au
+/home/paulo/Downloads/audio/country/country.00073.au
+/home/paulo/Downloads/audio/reggae/reggae.00013.au
+/home/paulo/Downloads/audio/country/country.00066.au
+/home/paulo/Downloads/audio/rock/rock.00097.au
+/home/paulo/Downloads/audio/country/country.00010.au
+/home/paulo/Downloads/audio/jazz/jazz.00055.au
+/home/paulo/Downloads/audio/reggae/reggae.00064.au
+/home/paulo/Downloads/audio/metal/metal.00053.au
+/home/paulo/Downloads/audio/classical/classical.00075.au
+/home/paulo/Downloads/audio/metal/metal.00033.au
+/home/paulo/Downloads/audio/country/country.00058.au
+/home/paulo/Downloads/audio/reggae/reggae.00052.au
+/home/paulo/Downloads/audio/country/country.00047.au
+/home/paulo/Downloads/audio/disco/disco.00011.au
+/home/paulo/Downloads/audio/classical/classical.00005.au
+/home/paulo/Downloads/audio/disco/disco.00032.au
+/home/paulo/Downloads/audio/rock/rock.00047.au
+/home/paulo/Downloads/audio/pop/pop.00051.au
+/home/paulo/Downloads/audio/jazz/jazz.00090.au
+/home/paulo/Downloads/audio/disco/disco.00082.au
+/home/paulo/Downloads/audio/reggae/reggae.00033.au
+/home/paulo/Downloads/audio/country/country.00011.au
+/home/paulo/Downloads/audio/classical/classical.00046.au
+/home/paulo/Downloads/audio/classical/classical.00021.au
+/home/paulo/Downloads/audio/jazz/jazz.00058.au
+/home/paulo/Downloads/audio/blues/blues.00024.au
+/home/paulo/Downloads/audio/disco/disco.00092.au
+/home/paulo/Downloads/audio/jazz/jazz.00057.au
+/home/paulo/Downloads/audio/pop/pop.00097.au
+/home/paulo/Downloads/audio/metal/metal.00024.au
+/home/paulo/Downloads/audio/reggae/reggae.00009.au
+/home/paulo/Downloads/audio/pop/pop.00081.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00061.au
+/home/paulo/Downloads/audio/reggae/reggae.00049.au
+/home/paulo/Downloads/audio/metal/metal.00055.au
+/home/paulo/Downloads/audio/blues/blues.00035.au
+/home/paulo/Downloads/audio/jazz/jazz.00065.au
+/home/paulo/Downloads/audio/pop/pop.00019.au
+/home/paulo/Downloads/audio/country/country.00035.au
+/home/paulo/Downloads/audio/metal/metal.00078.au
+/home/paulo/Downloads/audio/blues/blues.00039.au
+/home/paulo/Downloads/audio/jazz/jazz.00033.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00014.au
+/home/paulo/Downloads/audio/rock/rock.00090.au
+/home/paulo/Downloads/audio/reggae/reggae.00060.au
+/home/paulo/Downloads/audio/rock/rock.00034.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00004.au
+/home/paulo/Downloads/audio/rock/rock.00002.au
+/home/paulo/Downloads/audio/jazz/jazz.00037.au
+/home/paulo/Downloads/audio/classical/classical.00062.au
+/home/paulo/Downloads/audio/rock/rock.00003.au
+/home/paulo/Downloads/audio/reggae/reggae.00046.au
+/home/paulo/Downloads/audio/blues/blues.00002.au
+/home/paulo/Downloads/audio/disco/disco.00084.au
+/home/paulo/Downloads/audio/disco/disco.00067.au
+/home/paulo/Downloads/audio/country/country.00005.au
+/home/paulo/Downloads/audio/metal/metal.00064.au
+/home/paulo/Downloads/audio/classical/classical.00068.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00003.au
+/home/paulo/Downloads/audio/rock/rock.00091.au
+/home/paulo/Downloads/audio/disco/disco.00003.au
+/home/paulo/Downloads/audio/jazz/jazz.00047.au
+/home/paulo/Downloads/audio/reggae/reggae.00028.au
+/home/paulo/Downloads/audio/reggae/reggae.00000.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00043.au
+/home/paulo/Downloads/audio/metal/metal.00007.au
+/home/paulo/Downloads/audio/disco/disco.00054.au
+/home/paulo/Downloads/audio/pop/pop.00098.au
+/home/paulo/Downloads/audio/rock/rock.00086.au
+/home/paulo/Downloads/audio/reggae/reggae.00032.au
+/home/paulo/Downloads/audio/classical/classical.00017.au
+/home/paulo/Downloads/audio/pop/pop.00088.au
+/home/paulo/Downloads/audio/rock/rock.00099.au
+/home/paulo/Downloads/audio/pop/pop.00064.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00002.au
+/home/paulo/Downloads/audio/disco/disco.00019.au
+/home/paulo/Downloads/audio/rock/rock.00056.au
+/home/paulo/Downloads/audio/metal/metal.00057.au
+/home/paulo/Downloads/audio/country/country.00014.au
+/home/paulo/Downloads/audio/disco/disco.00098.au
+/home/paulo/Downloads/audio/metal/metal.00093.au
+/home/paulo/Downloads/audio/metal/metal.00041.au
+/home/paulo/Downloads/audio/country/country.00024.au
+/home/paulo/Downloads/audio/jazz/jazz.00098.au
+/home/paulo/Downloads/audio/rock/rock.00087.au
+/home/paulo/Downloads/audio/metal/metal.00019.au
+/home/paulo/Downloads/audio/jazz/jazz.00027.au
+/home/paulo/Downloads/audio/metal/metal.00062.au
+/home/paulo/Downloads/audio/classical/classical.00015.au
+/home/paulo/Downloads/audio/pop/pop.00047.au
+/home/paulo/Downloads/audio/pop/pop.00044.au
+/home/paulo/Downloads/audio/pop/pop.00083.au
+/home/paulo/Downloads/audio/blues/blues.00059.au
+/home/paulo/Downloads/audio/rock/rock.00084.au
+/home/paulo/Downloads/audio/country/country.00057.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00054.au
+/home/paulo/Downloads/audio/country/country.00052.au
+/home/paulo/Downloads/audio/pop/pop.00065.au
+/home/paulo/Downloads/audio/classical/classical.00010.au
+/home/paulo/Downloads/audio/reggae/reggae.00062.au
+/home/paulo/Downloads/audio/classical/classical.00078.au
+/home/paulo/Downloads/audio/reggae/reggae.00082.au
+/home/paulo/Downloads/audio/blues/blues.00012.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00093.au
+/home/paulo/Downloads/audio/classical/classical.00087.au
+/home/paulo/Downloads/audio/country/country.00092.au
+/home/paulo/Downloads/audio/disco/disco.00007.au
+/home/paulo/Downloads/audio/reggae/reggae.00085.au
+/home/paulo/Downloads/audio/country/country.00008.au
+/home/paulo/Downloads/audio/reggae/reggae.00038.au
+/home/paulo/Downloads/audio/pop/pop.00010.au
+/home/paulo/Downloads/audio/country/country.00065.au
+/home/paulo/Downloads/audio/country/country.00075.au
+/home/paulo/Downloads/audio/jazz/jazz.00010.au
+/home/paulo/Downloads/audio/pop/pop.00091.au
+/home/paulo/Downloads/audio/reggae/reggae.00031.au
+/home/paulo/Downloads/audio/rock/rock.00053.au
+/home/paulo/Downloads/audio/rock/rock.00007.au
+/home/paulo/Downloads/audio/rock/rock.00066.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00088.au
+/home/paulo/Downloads/audio/metal/metal.00032.au
+/home/paulo/Downloads/audio/country/country.00025.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00055.au
+/home/paulo/Downloads/audio/rock/rock.00016.au
+/home/paulo/Downloads/audio/jazz/jazz.00042.au
+/home/paulo/Downloads/audio/classical/classical.00067.au
+/home/paulo/Downloads/audio/classical/classical.00035.au
+/home/paulo/Downloads/audio/disco/disco.00023.au
+/home/paulo/Downloads/audio/metal/metal.00052.au
+/home/paulo/Downloads/audio/metal/metal.00065.au
+/home/paulo/Downloads/audio/metal/metal.00099.au
+/home/paulo/Downloads/audio/metal/metal.00039.au
+/home/paulo/Downloads/audio/reggae/reggae.00008.au
+/home/paulo/Downloads/audio/pop/pop.00057.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00097.au
+/home/paulo/Downloads/audio/disco/disco.00048.au
+/home/paulo/Downloads/audio/disco/disco.00037.au
+/home/paulo/Downloads/audio/pop/pop.00089.au
+/home/paulo/Downloads/audio/jazz/jazz.00031.au
+/home/paulo/Downloads/audio/classical/classical.00006.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00076.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00015.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00023.au
+/home/paulo/Downloads/audio/pop/pop.00072.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00044.au
+/home/paulo/Downloads/audio/rock/rock.00022.au
+/home/paulo/Downloads/audio/pop/pop.00017.au
+/home/paulo/Downloads/audio/classical/classical.00092.au
+/home/paulo/Downloads/audio/jazz/jazz.00003.au
+/home/paulo/Downloads/audio/disco/disco.00014.au
+/home/paulo/Downloads/audio/metal/metal.00001.au
+/home/paulo/Downloads/audio/rock/rock.00030.au
+/home/paulo/Downloads/audio/blues/blues.00015.au
+/home/paulo/Downloads/audio/blues/blues.00071.au
+/home/paulo/Downloads/audio/reggae/reggae.00081.au
+/home/paulo/Downloads/audio/metal/metal.00014.au
+/home/paulo/Downloads/audio/pop/pop.00000.au
+/home/paulo/Downloads/audio/classical/classical.00073.au
+/home/paulo/Downloads/audio/classical/classical.00019.au
+/home/paulo/Downloads/audio/metal/metal.00044.au
+/home/paulo/Downloads/audio/blues/blues.00016.au
+/home/paulo/Downloads/audio/disco/disco.00016.au
+/home/paulo/Downloads/audio/disco/disco.00030.au
+/home/paulo/Downloads/audio/jazz/jazz.00032.au
+/home/paulo/Downloads/audio/reggae/reggae.00048.au
+/home/paulo/Downloads/audio/classical/classical.00030.au
+/home/paulo/Downloads/audio/country/country.00091.au
+/home/paulo/Downloads/audio/classical/classical.00099.au
+/home/paulo/Downloads/audio/reggae/reggae.00020.au
+/home/paulo/Downloads/audio/country/country.00080.au
+/home/paulo/Downloads/audio/metal/metal.00023.au
+/home/paulo/Downloads/audio/pop/pop.00046.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00047.au
+/home/paulo/Downloads/audio/blues/blues.00081.au
+/home/paulo/Downloads/audio/rock/rock.00059.au
+/home/paulo/Downloads/audio/country/country.00061.au
+/home/paulo/Downloads/audio/blues/blues.00088.au
+/home/paulo/Downloads/audio/country/country.00032.au
+/home/paulo/Downloads/audio/country/country.00069.au
+/home/paulo/Downloads/audio/pop/pop.00022.au
+/home/paulo/Downloads/audio/disco/disco.00027.au
+/home/paulo/Downloads/audio/rock/rock.00043.au
+/home/paulo/Downloads/audio/classical/classical.00072.au
+/home/paulo/Downloads/audio/metal/metal.00089.au
+/home/paulo/Downloads/audio/disco/disco.00021.au
+/home/paulo/Downloads/audio/blues/blues.00076.au
+/home/paulo/Downloads/audio/blues/blues.00045.au
+/home/paulo/Downloads/audio/rock/rock.00065.au
+/home/paulo/Downloads/audio/metal/metal.00079.au
+/home/paulo/Downloads/audio/jazz/jazz.00077.au
+/home/paulo/Downloads/audio/rock/rock.00015.au
+/home/paulo/Downloads/audio/rock/rock.00058.au
+/home/paulo/Downloads/audio/metal/metal.00047.au
+/home/paulo/Downloads/audio/rock/rock.00011.au
+/home/paulo/Downloads/audio/disco/disco.00015.au
+/home/paulo/Downloads/audio/country/country.00044.au
+/home/paulo/Downloads/audio/pop/pop.00007.au
+/home/paulo/Downloads/audio/country/country.00048.au
+/home/paulo/Downloads/audio/jazz/jazz.00085.au
+/home/paulo/Downloads/audio/disco/disco.00031.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00024.au
+/home/paulo/Downloads/audio/jazz/jazz.00013.au
+/home/paulo/Downloads/audio/pop/pop.00035.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00005.au
+/home/paulo/Downloads/audio/metal/metal.00077.au
+/home/paulo/Downloads/audio/rock/rock.00096.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00045.au
+/home/paulo/Downloads/audio/reggae/reggae.00027.au
+/home/paulo/Downloads/audio/country/country.00028.au
+/home/paulo/Downloads/audio/disco/disco.00093.au
+/home/paulo/Downloads/audio/metal/metal.00061.au
+/home/paulo/Downloads/audio/classical/classical.00082.au
+/home/paulo/Downloads/audio/classical/classical.00027.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00030.au
+/home/paulo/Downloads/audio/rock/rock.00033.au
+/home/paulo/Downloads/audio/blues/blues.00091.au
+/home/paulo/Downloads/audio/metal/metal.00018.au
+/home/paulo/Downloads/audio/country/country.00076.au
+/home/paulo/Downloads/audio/jazz/jazz.00093.au
+/home/paulo/Downloads/audio/reggae/reggae.00054.au
+/home/paulo/Downloads/audio/reggae/reggae.00057.au
+/home/paulo/Downloads/audio/country/country.00051.au
+/home/paulo/Downloads/audio/jazz/jazz.00035.au
+/home/paulo/Downloads/audio/disco/disco.00042.au
+/home/paulo/Downloads/audio/jazz/jazz.00038.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00008.au
+/home/paulo/Downloads/audio/blues/blues.00026.au
+/home/paulo/Downloads/audio/pop/pop.00073.au
+/home/paulo/Downloads/audio/disco/disco.00073.au
+/home/paulo/Downloads/audio/rock/rock.00006.au
+/home/paulo/Downloads/audio/rock/rock.00075.au
+/home/paulo/Downloads/audio/blues/blues.00021.au
+/home/paulo/Downloads/audio/classical/classical.00042.au
+/home/paulo/Downloads/audio/country/country.00027.au
+/home/paulo/Downloads/audio/classical/classical.00045.au
+/home/paulo/Downloads/audio/reggae/reggae.00030.au
+/home/paulo/Downloads/audio/jazz/jazz.00024.au
+/home/paulo/Downloads/audio/blues/blues.00055.au
+/home/paulo/Downloads/audio/blues/blues.00093.au
+/home/paulo/Downloads/audio/disco/disco.00013.au
+/home/paulo/Downloads/audio/blues/blues.00063.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00051.au
+/home/paulo/Downloads/audio/disco/disco.00096.au
+/home/paulo/Downloads/audio/pop/pop.00084.au
+/home/paulo/Downloads/audio/blues/blues.00013.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00062.au
+/home/paulo/Downloads/audio/rock/rock.00061.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00009.au
+/home/paulo/Downloads/audio/rock/rock.00071.au
+/home/paulo/Downloads/audio/classical/classical.00020.au
+/home/paulo/Downloads/audio/pop/pop.00061.au
+/home/paulo/Downloads/audio/jazz/jazz.00006.au
+/home/paulo/Downloads/audio/rock/rock.00081.au
+/home/paulo/Downloads/audio/metal/metal.00085.au
+/home/paulo/Downloads/audio/metal/metal.00040.au
+/home/paulo/Downloads/audio/classical/classical.00061.au
+/home/paulo/Downloads/audio/reggae/reggae.00007.au
+/home/paulo/Downloads/audio/pop/pop.00086.au
+/home/paulo/Downloads/audio/reggae/reggae.00094.au
+/home/paulo/Downloads/audio/country/country.00019.au
+/home/paulo/Downloads/audio/blues/blues.00006.au
+/home/paulo/Downloads/audio/rock/rock.00024.au
+/home/paulo/Downloads/audio/reggae/reggae.00029.au
+/home/paulo/Downloads/audio/jazz/jazz.00040.au
+/home/paulo/Downloads/audio/pop/pop.00034.au
+/home/paulo/Downloads/audio/disco/disco.00050.au
+/home/paulo/Downloads/audio/rock/rock.00057.au
+/home/paulo/Downloads/audio/blues/blues.00051.au
+/home/paulo/Downloads/audio/country/country.00041.au
+/home/paulo/Downloads/audio/rock/rock.00009.au
+/home/paulo/Downloads/audio/reggae/reggae.00086.au
+/home/paulo/Downloads/audio/disco/disco.00038.au
+/home/paulo/Downloads/audio/country/country.00056.au
+/home/paulo/Downloads/audio/country/country.00068.au
+/home/paulo/Downloads/audio/country/country.00067.au
+/home/paulo/Downloads/audio/pop/pop.00040.au
+/home/paulo/Downloads/audio/pop/pop.00096.au
+/home/paulo/Downloads/audio/blues/blues.00031.au
+/home/paulo/Downloads/audio/disco/disco.00009.au
+/home/paulo/Downloads/audio/jazz/jazz.00046.au
+/home/paulo/Downloads/audio/reggae/reggae.00059.au
+/home/paulo/Downloads/audio/blues/blues.00064.au
+/home/paulo/Downloads/audio/metal/metal.00071.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00080.au
+/home/paulo/Downloads/audio/reggae/reggae.00058.au
+/home/paulo/Downloads/audio/rock/rock.00046.au
+/home/paulo/Downloads/audio/classical/classical.00039.au
+/home/paulo/Downloads/audio/jazz/jazz.00049.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00077.au
+/home/paulo/Downloads/audio/country/country.00001.au
+/home/paulo/Downloads/audio/metal/metal.00080.au
+/home/paulo/Downloads/audio/country/country.00095.au
+/home/paulo/Downloads/audio/country/country.00017.au
+/home/paulo/Downloads/audio/metal/metal.00011.au
+/home/paulo/Downloads/audio/metal/metal.00067.au
+/home/paulo/Downloads/audio/blues/blues.00029.au
+/home/paulo/Downloads/audio/country/country.00002.au
+/home/paulo/Downloads/audio/reggae/reggae.00044.au
+/home/paulo/Downloads/audio/classical/classical.00034.au
+/home/paulo/Downloads/audio/reggae/reggae.00090.au
+/home/paulo/Downloads/audio/disco/disco.00069.au
+/home/paulo/Downloads/audio/classical/classical.00059.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00052.au
+/home/paulo/Downloads/audio/pop/pop.00087.au
+/home/paulo/Downloads/audio/disco/disco.00066.au
+/home/paulo/Downloads/audio/blues/blues.00086.au
+/home/paulo/Downloads/audio/classical/classical.00097.au
+/home/paulo/Downloads/audio/country/country.00070.au
+/home/paulo/Downloads/audio/reggae/reggae.00037.au
+/home/paulo/Downloads/audio/classical/classical.00086.au
+/home/paulo/Downloads/audio/jazz/jazz.00072.au
+/home/paulo/Downloads/audio/pop/pop.00059.au
+/home/paulo/Downloads/audio/classical/classical.00038.au
+/home/paulo/Downloads/audio/reggae/reggae.00069.au
+/home/paulo/Downloads/audio/blues/blues.00089.au
+/home/paulo/Downloads/audio/classical/classical.00058.au
+/home/paulo/Downloads/audio/metal/metal.00006.au
+/home/paulo/Downloads/audio/disco/disco.00094.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00036.au
+/home/paulo/Downloads/audio/jazz/jazz.00009.au
+/home/paulo/Downloads/audio/classical/classical.00096.au
+/home/paulo/Downloads/audio/pop/pop.00063.au
+/home/paulo/Downloads/audio/country/country.00031.au
+/home/paulo/Downloads/audio/pop/pop.00052.au
+/home/paulo/Downloads/audio/pop/pop.00067.au
+/home/paulo/Downloads/audio/metal/metal.00081.au
+/home/paulo/Downloads/audio/reggae/reggae.00056.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00035.au
+/home/paulo/Downloads/audio/classical/classical.00056.au
+/home/paulo/Downloads/audio/pop/pop.00093.au
+/home/paulo/Downloads/audio/country/country.00007.au
+/home/paulo/Downloads/audio/blues/blues.00098.au
+/home/paulo/Downloads/audio/rock/rock.00013.au
+/home/paulo/Downloads/audio/reggae/reggae.00021.au
+/home/paulo/Downloads/audio/disco/disco.00008.au
+/home/paulo/Downloads/audio/reggae/reggae.00005.au
+/home/paulo/Downloads/audio/disco/disco.00049.au
+/home/paulo/Downloads/audio/blues/blues.00007.au
+/home/paulo/Downloads/audio/jazz/jazz.00023.au
+/home/paulo/Downloads/audio/pop/pop.00068.au
+/home/paulo/Downloads/audio/country/country.00093.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00086.au
+/home/paulo/Downloads/audio/blues/blues.00056.au
+/home/paulo/Downloads/audio/classical/classical.00076.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00079.au
+/home/paulo/Downloads/audio/rock/rock.00036.au
+/home/paulo/Downloads/audio/rock/rock.00045.au
+/home/paulo/Downloads/audio/disco/disco.00041.au
+/home/paulo/Downloads/audio/reggae/reggae.00089.au
+/home/paulo/Downloads/audio/metal/metal.00025.au
+/home/paulo/Downloads/audio/rock/rock.00019.au
+/home/paulo/Downloads/audio/reggae/reggae.00015.au
+/home/paulo/Downloads/audio/rock/rock.00012.au
+/home/paulo/Downloads/audio/jazz/jazz.00017.au
+/home/paulo/Downloads/audio/reggae/reggae.00063.au
+/home/paulo/Downloads/audio/blues/blues.00080.au
+/home/paulo/Downloads/audio/jazz/jazz.00080.au
+/home/paulo/Downloads/audio/pop/pop.00095.au
+/home/paulo/Downloads/audio/rock/rock.00027.au
+/home/paulo/Downloads/audio/pop/pop.00075.au
+/home/paulo/Downloads/audio/pop/pop.00090.au
+/home/paulo/Downloads/audio/rock/rock.00050.au
+/home/paulo/Downloads/audio/blues/blues.00000.au
+/home/paulo/Downloads/audio/reggae/reggae.00017.au
+/home/paulo/Downloads/audio/rock/rock.00095.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00027.au
+/home/paulo/Downloads/audio/jazz/jazz.00011.au
+/home/paulo/Downloads/audio/metal/metal.00073.au
+/home/paulo/Downloads/audio/country/country.00060.au
+/home/paulo/Downloads/audio/metal/metal.00002.au
+/home/paulo/Downloads/audio/pop/pop.00037.au
+/home/paulo/Downloads/audio/rock/rock.00037.au
+/home/paulo/Downloads/audio/classical/classical.00093.au
+/home/paulo/Downloads/audio/rock/rock.00041.au
+/home/paulo/Downloads/audio/metal/metal.00094.au
+/home/paulo/Downloads/audio/classical/classical.00089.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00063.au
+/home/paulo/Downloads/audio/jazz/jazz.00094.au
+/home/paulo/Downloads/audio/disco/disco.00026.au
+/home/paulo/Downloads/audio/metal/metal.00028.au
+/home/paulo/Downloads/audio/disco/disco.00074.au
+/home/paulo/Downloads/audio/rock/rock.00083.au
+/home/paulo/Downloads/audio/jazz/jazz.00036.au
+/home/paulo/Downloads/audio/rock/rock.00069.au
+/home/paulo/Downloads/audio/reggae/reggae.00047.au
+/home/paulo/Downloads/audio/jazz/jazz.00014.au
+/home/paulo/Downloads/audio/blues/blues.00067.au
+/home/paulo/Downloads/audio/pop/pop.00085.au
+/home/paulo/Downloads/audio/disco/disco.00064.au
+/home/paulo/Downloads/audio/blues/blues.00058.au
+/home/paulo/Downloads/audio/blues/blues.00048.au
+/home/paulo/Downloads/audio/reggae/reggae.00001.au
+/home/paulo/Downloads/audio/disco/disco.00076.au
+/home/paulo/Downloads/audio/country/country.00020.au
+/home/paulo/Downloads/audio/country/country.00004.au
+/home/paulo/Downloads/audio/pop/pop.00045.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00040.au
+/home/paulo/Downloads/audio/reggae/reggae.00012.au
+/home/paulo/Downloads/audio/classical/classical.00028.au
+/home/paulo/Downloads/audio/rock/rock.00010.au
+/home/paulo/Downloads/audio/country/country.00039.au
+/home/paulo/Downloads/audio/jazz/jazz.00026.au
+/home/paulo/Downloads/audio/pop/pop.00011.au
+/home/paulo/Downloads/audio/classical/classical.00094.au
+/home/paulo/Downloads/audio/disco/disco.00055.au
+/home/paulo/Downloads/audio/country/country.00040.au
+/home/paulo/Downloads/audio/blues/blues.00010.au
+/home/paulo/Downloads/audio/pop/pop.00009.au
+/home/paulo/Downloads/audio/pop/pop.00099.au
+/home/paulo/Downloads/audio/jazz/jazz.00028.au
+/home/paulo/Downloads/audio/rock/rock.00038.au
+/home/paulo/Downloads/audio/blues/blues.00041.au
+/home/paulo/Downloads/audio/rock/rock.00021.au
+/home/paulo/Downloads/audio/rock/rock.00060.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00006.au
+/home/paulo/Downloads/audio/metal/metal.00003.au
+/home/paulo/Downloads/audio/classical/classical.00000.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00069.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00026.au
+/home/paulo/Downloads/audio/classical/classical.00037.au
+/home/paulo/Downloads/audio/country/country.00090.au
+/home/paulo/Downloads/audio/jazz/jazz.00019.au
+/home/paulo/Downloads/audio/disco/disco.00005.au
+/home/paulo/Downloads/audio/rock/rock.00067.au
+/home/paulo/Downloads/audio/rock/rock.00000.au
+/home/paulo/Downloads/audio/metal/metal.00092.au
+/home/paulo/Downloads/audio/jazz/jazz.00064.au
+/home/paulo/Downloads/audio/reggae/reggae.00099.au
+/home/paulo/Downloads/audio/country/country.00034.au
+/home/paulo/Downloads/audio/disco/disco.00047.au
+/home/paulo/Downloads/audio/classical/classical.00033.au
+/home/paulo/Downloads/audio/metal/metal.00098.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00031.au
+/home/paulo/Downloads/audio/disco/disco.00087.au
+/home/paulo/Downloads/audio/classical/classical.00018.au
+/home/paulo/Downloads/audio/country/country.00012.au
+/home/paulo/Downloads/audio/classical/classical.00084.au
+/home/paulo/Downloads/audio/metal/metal.00005.au
+/home/paulo/Downloads/audio/blues/blues.00068.au
+/home/paulo/Downloads/audio/country/country.00042.au
+/home/paulo/Downloads/audio/blues/blues.00008.au
+/home/paulo/Downloads/audio/classical/classical.00088.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00066.au
+/home/paulo/Downloads/audio/blues/blues.00049.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00042.au
+/home/paulo/Downloads/audio/reggae/reggae.00014.au
+/home/paulo/Downloads/audio/blues/blues.00036.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00041.au
+/home/paulo/Downloads/audio/classical/classical.00043.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00065.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00084.au
+/home/paulo/Downloads/audio/disco/disco.00040.au
+/home/paulo/Downloads/audio/reggae/reggae.00034.au
+/home/paulo/Downloads/audio/blues/blues.00038.au
+/home/paulo/Downloads/audio/blues/blues.00074.au
+/home/paulo/Downloads/audio/blues/blues.00066.au
+/home/paulo/Downloads/audio/pop/pop.00015.au
+/home/paulo/Downloads/audio/rock/rock.00051.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00087.au
+/home/paulo/Downloads/audio/disco/disco.00063.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00050.au
+/home/paulo/Downloads/audio/metal/metal.00015.au
+/home/paulo/Downloads/audio/reggae/reggae.00096.au
+/home/paulo/Downloads/audio/reggae/reggae.00071.au
+/home/paulo/Downloads/audio/metal/metal.00048.au
+/home/paulo/Downloads/audio/pop/pop.00042.au
+/home/paulo/Downloads/audio/blues/blues.00075.au
+/home/paulo/Downloads/audio/country/country.00081.au
+/home/paulo/Downloads/audio/pop/pop.00077.au
+/home/paulo/Downloads/audio/pop/pop.00054.au
+/home/paulo/Downloads/audio/classical/classical.00063.au
+/home/paulo/Downloads/audio/blues/blues.00032.au
+/home/paulo/Downloads/audio/disco/disco.00083.au
+/home/paulo/Downloads/audio/blues/blues.00072.au
+/home/paulo/Downloads/audio/metal/metal.00091.au
+/home/paulo/Downloads/audio/reggae/reggae.00026.au
+/home/paulo/Downloads/audio/reggae/reggae.00095.au
+/home/paulo/Downloads/audio/classical/classical.00065.au
+/home/paulo/Downloads/audio/rock/rock.00089.au
+/home/paulo/Downloads/audio/classical/classical.00070.au
+/home/paulo/Downloads/audio/classical/classical.00080.au
+/home/paulo/Downloads/audio/pop/pop.00036.au
+/home/paulo/Downloads/audio/metal/metal.00063.au
+/home/paulo/Downloads/audio/blues/blues.00027.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00001.au
+/home/paulo/Downloads/audio/classical/classical.00064.au
+/home/paulo/Downloads/audio/blues/blues.00040.au
+/home/paulo/Downloads/audio/disco/disco.00059.au
+/home/paulo/Downloads/audio/jazz/jazz.00021.au
+/home/paulo/Downloads/audio/rock/rock.00032.au
+/home/paulo/Downloads/audio/blues/blues.00033.au
+/home/paulo/Downloads/audio/blues/blues.00014.au
+/home/paulo/Downloads/audio/classical/classical.00014.au
+/home/paulo/Downloads/audio/country/country.00084.au
+/home/paulo/Downloads/audio/pop/pop.00018.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00060.au
+/home/paulo/Downloads/audio/disco/disco.00099.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00095.au
+/home/paulo/Downloads/audio/pop/pop.00038.au
+/home/paulo/Downloads/audio/jazz/jazz.00018.au
+/home/paulo/Downloads/audio/reggae/reggae.00018.au
+/home/paulo/Downloads/audio/jazz/jazz.00083.au
+/home/paulo/Downloads/audio/jazz/jazz.00048.au
+/home/paulo/Downloads/audio/reggae/reggae.00023.au
+/home/paulo/Downloads/audio/rock/rock.00093.au
+/home/paulo/Downloads/audio/metal/metal.00042.au
+/home/paulo/Downloads/audio/jazz/jazz.00095.au
+/home/paulo/Downloads/audio/blues/blues.00042.au
+/home/paulo/Downloads/audio/disco/disco.00017.au
+/home/paulo/Downloads/audio/pop/pop.00006.au
+/home/paulo/Downloads/audio/classical/classical.00001.au
+/home/paulo/Downloads/audio/blues/blues.00083.au
+/home/paulo/Downloads/audio/pop/pop.00003.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00049.au
+/home/paulo/Downloads/audio/classical/classical.00003.au
+/home/paulo/Downloads/audio/rock/rock.00068.au
+/home/paulo/Downloads/audio/metal/metal.00030.au
+/home/paulo/Downloads/audio/metal/metal.00086.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00018.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00090.au
+/home/paulo/Downloads/audio/metal/metal.00013.au
+/home/paulo/Downloads/audio/metal/metal.00031.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00075.au
+/home/paulo/Downloads/audio/classical/classical.00026.au
+/home/paulo/Downloads/audio/classical/classical.00069.au
+/home/paulo/Downloads/audio/disco/disco.00004.au
+/home/paulo/Downloads/audio/reggae/reggae.00010.au
+/home/paulo/Downloads/audio/rock/rock.00026.au
+/home/paulo/Downloads/audio/disco/disco.00085.au
+/home/paulo/Downloads/audio/disco/disco.00081.au
+/home/paulo/Downloads/audio/metal/metal.00096.au
+/home/paulo/Downloads/audio/reggae/reggae.00066.au
+/home/paulo/Downloads/audio/country/country.00087.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00064.au
+/home/paulo/Downloads/audio/country/country.00000.au
+/home/paulo/Downloads/audio/metal/metal.00000.au
+/home/paulo/Downloads/audio/disco/disco.00020.au
+/home/paulo/Downloads/audio/blues/blues.00009.au
+/home/paulo/Downloads/audio/pop/pop.00070.au
+/home/paulo/Downloads/audio/reggae/reggae.00061.au
+/home/paulo/Downloads/audio/country/country.00053.au
+/home/paulo/Downloads/audio/jazz/jazz.00012.au
+/home/paulo/Downloads/audio/reggae/reggae.00088.au
+/home/paulo/Downloads/audio/reggae/reggae.00068.au
+/home/paulo/Downloads/audio/metal/metal.00056.au
+/home/paulo/Downloads/audio/pop/pop.00049.au
+/home/paulo/Downloads/audio/reggae/reggae.00003.au
+/home/paulo/Downloads/audio/rock/rock.00023.au
+/home/paulo/Downloads/audio/reggae/reggae.00040.au
+/home/paulo/Downloads/audio/jazz/jazz.00092.au
+/home/paulo/Downloads/audio/rock/rock.00072.au
+/home/paulo/Downloads/audio/rock/rock.00085.au
+/home/paulo/Downloads/audio/reggae/reggae.00024.au
+/home/paulo/Downloads/audio/blues/blues.00023.au
+/home/paulo/Downloads/audio/pop/pop.00079.au
+/home/paulo/Downloads/audio/metal/metal.00090.au
+/home/paulo/Downloads/audio/metal/metal.00012.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00057.au
+/home/paulo/Downloads/audio/disco/disco.00024.au
+/home/paulo/Downloads/audio/reggae/reggae.00080.au
+/home/paulo/Downloads/audio/metal/metal.00045.au
+/home/paulo/Downloads/audio/country/country.00059.au
+/home/paulo/Downloads/audio/blues/blues.00052.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00048.au
+/home/paulo/Downloads/audio/classical/classical.00060.au
+/home/paulo/Downloads/audio/pop/pop.00062.au
+/home/paulo/Downloads/audio/disco/disco.00080.au
+/home/paulo/Downloads/audio/pop/pop.00094.au
+/home/paulo/Downloads/audio/metal/metal.00017.au
+/home/paulo/Downloads/audio/pop/pop.00014.au
+/home/paulo/Downloads/audio/classical/classical.00083.au
+/home/paulo/Downloads/audio/reggae/reggae.00079.au
+/home/paulo/Downloads/audio/disco/disco.00065.au
+/home/paulo/Downloads/audio/disco/disco.00046.au
+/home/paulo/Downloads/audio/jazz/jazz.00074.au
+/home/paulo/Downloads/audio/pop/pop.00023.au
+/home/paulo/Downloads/audio/metal/metal.00068.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00010.au
+/home/paulo/Downloads/audio/blues/blues.00073.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00092.au
+/home/paulo/Downloads/audio/jazz/jazz.00005.au
+/home/paulo/Downloads/audio/jazz/jazz.00050.au
+/home/paulo/Downloads/audio/disco/disco.00051.au
+/home/paulo/Downloads/audio/rock/rock.00035.au
+/home/paulo/Downloads/audio/pop/pop.00041.au
+/home/paulo/Downloads/audio/country/country.00043.au
+/home/paulo/Downloads/audio/reggae/reggae.00070.au
+/home/paulo/Downloads/audio/disco/disco.00039.au
+/home/paulo/Downloads/audio/rock/rock.00055.au
+/home/paulo/Downloads/audio/disco/disco.00001.au
+/home/paulo/Downloads/audio/classical/classical.00025.au
+/home/paulo/Downloads/audio/metal/metal.00009.au
+/home/paulo/Downloads/audio/pop/pop.00082.au
+/home/paulo/Downloads/audio/pop/pop.00048.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00025.au
+/home/paulo/Downloads/audio/classical/classical.00041.au
+/home/paulo/Downloads/audio/classical/classical.00002.au
+/home/paulo/Downloads/audio/metal/metal.00054.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00020.au
+/home/paulo/Downloads/audio/blues/blues.00065.au
+/home/paulo/Downloads/audio/country/country.00046.au
+/home/paulo/Downloads/audio/rock/rock.00028.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00013.au
+/home/paulo/Downloads/audio/pop/pop.00024.au
+/home/paulo/Downloads/audio/disco/disco.00028.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00073.au
+/home/paulo/Downloads/audio/jazz/jazz.00051.au
+/home/paulo/Downloads/audio/classical/classical.00074.au
+/home/paulo/Downloads/audio/jazz/jazz.00054.au
+/home/paulo/Downloads/audio/country/country.00082.au
+/home/paulo/Downloads/audio/metal/metal.00050.au
+/home/paulo/Downloads/audio/pop/pop.00043.au
+/home/paulo/Downloads/audio/pop/pop.00053.au
+/home/paulo/Downloads/audio/blues/blues.00084.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00071.au
+/home/paulo/Downloads/audio/pop/pop.00008.au
+/home/paulo/Downloads/audio/blues/blues.00011.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00019.au
+/home/paulo/Downloads/audio/pop/pop.00069.au
+/home/paulo/Downloads/audio/classical/classical.00032.au
+/home/paulo/Downloads/audio/pop/pop.00021.au
+/home/paulo/Downloads/audio/rock/rock.00031.au
+/home/paulo/Downloads/audio/reggae/reggae.00002.au
+/home/paulo/Downloads/audio/country/country.00079.au
+/home/paulo/Downloads/audio/jazz/jazz.00029.au
+/home/paulo/Downloads/audio/disco/disco.00058.au
+/home/paulo/Downloads/audio/country/country.00096.au
+/home/paulo/Downloads/audio/metal/metal.00084.au
+/home/paulo/Downloads/audio/jazz/jazz.00001.au
+/home/paulo/Downloads/audio/metal/metal.00060.au
+/home/paulo/Downloads/audio/blues/blues.00092.au
+/home/paulo/Downloads/audio/jazz/jazz.00097.au
+/home/paulo/Downloads/audio/disco/disco.00033.au
+/home/paulo/Downloads/audio/jazz/jazz.00015.au
+/home/paulo/Downloads/audio/classical/classical.00007.au
+/home/paulo/Downloads/audio/blues/blues.00017.au
+/home/paulo/Downloads/audio/jazz/jazz.00087.au
+/home/paulo/Downloads/audio/rock/rock.00080.au
+/home/paulo/Downloads/audio/rock/rock.00076.au
+/home/paulo/Downloads/audio/reggae/reggae.00083.au
+/home/paulo/Downloads/audio/country/country.00098.au
+/home/paulo/Downloads/audio/pop/pop.00056.au
+/home/paulo/Downloads/audio/metal/metal.00004.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00068.au
+/home/paulo/Downloads/audio/disco/disco.00090.au
+/home/paulo/Downloads/audio/metal/metal.00087.au
+/home/paulo/Downloads/audio/pop/pop.00004.au
+/home/paulo/Downloads/audio/country/country.00018.au
+/home/paulo/Downloads/audio/reggae/reggae.00077.au
+/home/paulo/Downloads/audio/rock/rock.00094.au
+/home/paulo/Downloads/audio/rock/rock.00044.au
+/home/paulo/Downloads/audio/blues/blues.00003.au
+/home/paulo/Downloads/audio/blues/blues.00020.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00091.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00058.au
+/home/paulo/Downloads/audio/reggae/reggae.00065.au
+/home/paulo/Downloads/audio/disco/disco.00012.au
+/home/paulo/Downloads/audio/reggae/reggae.00004.au
+/home/paulo/Downloads/audio/classical/classical.00013.au
+/home/paulo/Downloads/audio/reggae/reggae.00078.au
+/home/paulo/Downloads/audio/reggae/reggae.00097.au
+/home/paulo/Downloads/audio/rock/rock.00049.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00099.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00033.au
+/home/paulo/Downloads/audio/reggae/reggae.00067.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00085.au
+/home/paulo/Downloads/audio/jazz/jazz.00059.au
+/home/paulo/Downloads/audio/jazz/jazz.00034.au
+/home/paulo/Downloads/audio/pop/pop.00030.au
+/home/paulo/Downloads/audio/blues/blues.00090.au
+/home/paulo/Downloads/audio/jazz/jazz.00022.au
+/home/paulo/Downloads/audio/classical/classical.00066.au
+/home/paulo/Downloads/audio/country/country.00099.au
+/home/paulo/Downloads/audio/reggae/reggae.00075.au
+/home/paulo/Downloads/audio/rock/rock.00092.au
+/home/paulo/Downloads/audio/disco/disco.00006.au
+/home/paulo/Downloads/audio/pop/pop.00025.au
+/home/paulo/Downloads/audio/disco/disco.00060.au
+/home/paulo/Downloads/audio/jazz/jazz.00075.au
+/home/paulo/Downloads/audio/blues/blues.00034.au
+/home/paulo/Downloads/audio/metal/metal.00026.au
+/home/paulo/Downloads/audio/metal/metal.00029.au
+/home/paulo/Downloads/audio/rock/rock.00063.au
+/home/paulo/Downloads/audio/metal/metal.00066.au
+/home/paulo/Downloads/audio/reggae/reggae.00025.au
+/home/paulo/Downloads/audio/classical/classical.00040.au
+/home/paulo/Downloads/audio/pop/pop.00012.au
+/home/paulo/Downloads/audio/blues/blues.00099.au
+/home/paulo/Downloads/audio/metal/metal.00034.au
+/home/paulo/Downloads/audio/jazz/jazz.00063.au
+/home/paulo/Downloads/audio/blues/blues.00050.au
+/home/paulo/Downloads/audio/country/country.00063.au
+/home/paulo/Downloads/audio/country/country.00036.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00059.au
+/home/paulo/Downloads/audio/rock/rock.00088.au
+/home/paulo/Downloads/audio/metal/metal.00021.au
+/home/paulo/Downloads/audio/metal/metal.00076.au
+/home/paulo/Downloads/audio/blues/blues.00060.au
+/home/paulo/Downloads/audio/metal/metal.00059.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00046.au
+/home/paulo/Downloads/audio/reggae/reggae.00076.au
+/home/paulo/Downloads/audio/rock/rock.00070.au
+/home/paulo/Downloads/audio/disco/disco.00088.au
+/home/paulo/Downloads/audio/blues/blues.00046.au
+/home/paulo/Downloads/audio/blues/blues.00053.au
+/home/paulo/Downloads/audio/jazz/jazz.00079.au
+/home/paulo/Downloads/audio/disco/disco.00057.au
+/home/paulo/Downloads/audio/jazz/jazz.00043.au
+/home/paulo/Downloads/audio/country/country.00038.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00029.au
+/home/paulo/Downloads/audio/country/country.00086.au
+/home/paulo/Downloads/audio/pop/pop.00032.au
+/home/paulo/Downloads/audio/reggae/reggae.00091.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00081.au
+/home/paulo/Downloads/audio/reggae/reggae.00072.au
+/home/paulo/Downloads/audio/classical/classical.00057.au
+/home/paulo/Downloads/audio/classical/classical.00071.au
+/home/paulo/Downloads/audio/blues/blues.00018.au
+/home/paulo/Downloads/audio/classical/classical.00048.au
+/home/paulo/Downloads/audio/classical/classical.00022.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00037.au
+/home/paulo/Downloads/audio/disco/disco.00086.au
+/home/paulo/Downloads/audio/rock/rock.00014.au
+/home/paulo/Downloads/audio/blues/blues.00085.au
+/home/paulo/Downloads/audio/classical/classical.00016.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00056.au
+/home/paulo/Downloads/audio/classical/classical.00052.au
+/home/paulo/Downloads/audio/rock/rock.00054.au
+/home/paulo/Downloads/audio/disco/disco.00029.au
+/home/paulo/Downloads/audio/reggae/reggae.00043.au
+/home/paulo/Downloads/audio/classical/classical.00090.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00028.au
+/home/paulo/Downloads/audio/metal/metal.00049.au
+/home/paulo/Downloads/audio/disco/disco.00091.au
+/home/paulo/Downloads/audio/classical/classical.00044.au
+/home/paulo/Downloads/audio/blues/blues.00005.au
+/home/paulo/Downloads/audio/pop/pop.00013.au
+/home/paulo/Downloads/audio/jazz/jazz.00062.au
+/home/paulo/Downloads/audio/pop/pop.00058.au
+/home/paulo/Downloads/audio/disco/disco.00000.au
+/home/paulo/Downloads/audio/pop/pop.00078.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00078.au
+/home/paulo/Downloads/audio/classical/classical.00023.au
+/home/paulo/Downloads/audio/pop/pop.00027.au
+/home/paulo/Downloads/audio/classical/classical.00054.au
+/home/paulo/Downloads/audio/rock/rock.00052.au
+/home/paulo/Downloads/audio/rock/rock.00098.au
+/home/paulo/Downloads/audio/jazz/jazz.00000.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00011.au
+/home/paulo/Downloads/audio/country/country.00054.au
+/home/paulo/Downloads/audio/country/country.00097.au
+/home/paulo/Downloads/audio/country/country.00088.au
+/home/paulo/Downloads/audio/classical/classical.00004.au
+/home/paulo/Downloads/audio/country/country.00050.au
+/home/paulo/Downloads/audio/jazz/jazz.00099.au
+/home/paulo/Downloads/audio/classical/classical.00079.au
+/home/paulo/Downloads/audio/reggae/reggae.00093.au
+/home/paulo/Downloads/audio/jazz/jazz.00096.au
+/home/paulo/Downloads/audio/disco/disco.00061.au
+/home/paulo/Downloads/audio/country/country.00089.au
+/home/paulo/Downloads/audio/reggae/reggae.00036.au
+/home/paulo/Downloads/audio/disco/disco.00044.au
+/home/paulo/Downloads/audio/metal/metal.00016.au
+/home/paulo/Downloads/audio/country/country.00016.au
+/home/paulo/Downloads/audio/rock/rock.00048.au
+/home/paulo/Downloads/audio/blues/blues.00030.au
+/home/paulo/Downloads/audio/pop/pop.00092.au
+/home/paulo/Downloads/audio/pop/pop.00033.au
+/home/paulo/Downloads/audio/rock/rock.00017.au
+/home/paulo/Downloads/audio/rock/rock.00025.au
+/home/paulo/Downloads/audio/blues/blues.00079.au
+/home/paulo/Downloads/audio/jazz/jazz.00091.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00022.au
+/home/paulo/Downloads/audio/jazz/jazz.00020.au
+/home/paulo/Downloads/audio/rock/rock.00040.au
+/home/paulo/Downloads/audio/pop/pop.00060.au
+/home/paulo/Downloads/audio/metal/metal.00082.au
+/home/paulo/Downloads/audio/rock/rock.00001.au
+/home/paulo/Downloads/audio/rock/rock.00039.au
+/home/paulo/Downloads/audio/country/country.00055.au
+/home/paulo/Downloads/audio/rock/rock.00082.au
+/home/paulo/Downloads/audio/rock/rock.00078.au
+/home/paulo/Downloads/audio/pop/pop.00039.au
+/home/paulo/Downloads/audio/metal/metal.00043.au
+/home/paulo/Downloads/audio/metal/metal.00072.au
+/home/paulo/Downloads/audio/jazz/jazz.00078.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00072.au
+/home/paulo/Downloads/audio/classical/classical.00077.au
+/home/paulo/Downloads/audio/pop/pop.00055.au
+/home/paulo/Downloads/audio/classical/classical.00029.au
+/home/paulo/Downloads/audio/classical/classical.00024.au
+/home/paulo/Downloads/audio/blues/blues.00054.au
+/home/paulo/Downloads/audio/disco/disco.00002.au
+/home/paulo/Downloads/audio/pop/pop.00066.au
+/home/paulo/Downloads/audio/disco/disco.00078.au
+/home/paulo/Downloads/audio/disco/disco.00072.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00039.au
+/home/paulo/Downloads/audio/jazz/jazz.00056.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00096.au
+/home/paulo/Downloads/audio/pop/pop.00076.au
+/home/paulo/Downloads/audio/metal/metal.00051.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00007.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00070.au
+/home/paulo/Downloads/audio/blues/blues.00025.au
+/home/paulo/Downloads/audio/country/country.00062.au
+/home/paulo/Downloads/audio/blues/blues.00037.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00067.au
+/home/paulo/Downloads/audio/pop/pop.00026.au
+/home/paulo/Downloads/audio/pop/pop.00074.au
+/home/paulo/Downloads/audio/blues/blues.00077.au
+/home/paulo/Downloads/audio/disco/disco.00010.au
+/home/paulo/Downloads/audio/pop/pop.00029.au
+/home/paulo/Downloads/audio/classical/classical.00050.au
+/home/paulo/Downloads/audio/classical/classical.00051.au
+/home/paulo/Downloads/audio/reggae/reggae.00035.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00034.au
+/home/paulo/Downloads/audio/disco/disco.00034.au
+/home/paulo/Downloads/audio/reggae/reggae.00073.au
+/home/paulo/Downloads/audio/jazz/jazz.00084.au
+/home/paulo/Downloads/audio/jazz/jazz.00088.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00000.au
+/home/paulo/Downloads/audio/disco/disco.00077.au
+/home/paulo/Downloads/audio/metal/metal.00083.au
+/home/paulo/Downloads/audio/reggae/reggae.00011.au
+/home/paulo/Downloads/audio/country/country.00030.au
+/home/paulo/Downloads/audio/country/country.00078.au
+/home/paulo/Downloads/audio/jazz/jazz.00069.au
+/home/paulo/Downloads/audio/rock/rock.00008.au
+/home/paulo/Downloads/audio/disco/disco.00071.au
+/home/paulo/Downloads/audio/country/country.00003.au
+/home/paulo/Downloads/audio/rock/rock.00079.au
+/home/paulo/Downloads/audio/jazz/jazz.00053.au
+/home/paulo/Downloads/audio/reggae/reggae.00022.au
+/home/paulo/Downloads/audio/jazz/jazz.00081.au
+/home/paulo/Downloads/audio/jazz/jazz.00052.au
+/home/paulo/Downloads/audio/classical/classical.00011.au
+/home/paulo/Downloads/audio/jazz/jazz.00007.au
+/home/paulo/Downloads/audio/disco/disco.00097.au
+/home/paulo/Downloads/audio/pop/pop.00028.au
+/home/paulo/Downloads/audio/blues/blues.00082.au
+/home/paulo/Downloads/audio/blues/blues.00043.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00082.au
+/home/paulo/Downloads/audio/blues/blues.00094.au
+/home/paulo/Downloads/audio/rock/rock.00074.au
+/home/paulo/Downloads/audio/classical/classical.00091.au
+/home/paulo/Downloads/audio/blues/blues.00061.au
+/home/paulo/Downloads/audio/blues/blues.00022.au
+/home/paulo/Downloads/audio/metal/metal.00035.au
+/home/paulo/Downloads/audio/classical/classical.00081.au
+/home/paulo/Downloads/audio/country/country.00033.au
+/home/paulo/Downloads/audio/jazz/jazz.00071.au
+/home/paulo/Downloads/audio/rock/rock.00020.au
+/home/paulo/Downloads/audio/reggae/reggae.00050.au
+/home/paulo/Downloads/audio/hiphop/hiphop.00038.au
+/home/paulo/Downloads/audio/country/country.00009.au
+/home/paulo/Downloads/audio/country/country.00021.au
+/home/paulo/Downloads/audio/metal/metal.00046.au
+/home/paulo/Downloads/audio/metal/metal.00027.au
+/home/paulo/Downloads/audio/reggae/reggae.00051.au
+/home/paulo/Downloads/audio/metal/metal.00022.au
+/home/paulo/Downloads/audio/disco/disco.00035.au
+/home/paulo/Downloads/audio/rock/rock.00073.au
+/home/paulo/Downloads/audio/classical/classical.00098.au
+/home/paulo/Downloads/audio/pop/pop.00002.au
+/home/paulo/Downloads/audio/classical/classical.00031.au
+/home/paulo/Downloads/audio/disco/disco.00095.au
+/home/paulo/Downloads/audio/country/country.00015.au
+/home/paulo/Downloads/audio/pop/pop.00005.au
+/home/paulo/Downloads/audio/blues/blues.00004.au
+/home/paulo/Downloads/audio/blues/blues.00097.au
+/home/paulo/Downloads/audio/blues/blues.00001.au
+/home/paulo/Downloads/audio/classical/classical.00053.au
+/home/paulo/Downloads/audio/disco/disco.00056.au
+/home/paulo/Downloads/audio/classical/classical.00055.au
+/home/paulo/Downloads/audio/jazz/jazz.00082.au
+/home/paulo/Downloads/audio/classical/classical.00012.au
+/home/paulo/Downloads/audio/rock/rock.00062.au
+/home/paulo/Downloads/audio/pop/pop.00020.au
+/home/paulo/Downloads/audio/country/country.00006.au
+/home/paulo/Downloads/audio/disco/disco.00036.au
+/home/paulo/Downloads/audio/classical/classical.00009.au
+/home/paulo/Downloads/audio/blues/blues.00057.au
+/home/paulo/Downloads/audio/country/country.00045.au
+/home/paulo/Downloads/audio/country/country.00071.au
+/home/paulo/Downloads/audio/blues/blues.00087.au
+/home/paulo/Downloads/audio/disco/disco.00043.au
+/home/paulo/Downloads/audio/metal/metal.00010.au
+/home/paulo/Downloads/audio/disco/disco.00062.au
+/home/paulo/Downloads/audio/jazz/jazz.00060.au
+/home/paulo/Downloads/audio/rock/rock.00018.au
+/home/paulo/Downloads/audio/jazz/jazz.00089.au
+/home/paulo/Downloads/audio/blues/blues.00028.au
+/home/paulo/Downloads/audio/jazz/jazz.00008.au
+/home/paulo/Downloads/audio/rock/rock.00077.au
+/home/paulo/Downloads/audio/disco/disco.00075.au
+/home/paulo/Downloads/audio/reggae/reggae.00055.au
+/home/paulo/Downloads/audio/metal/metal.00069.au
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Dataset/gtzan/lists/ground_truth.txt	Sat Aug 15 19:16:17 2015 +0100
@@ -0,0 +1,1000 @@
+/home/paulo/Downloads/audio/metal/metal.00070.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00021.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00047.au	blues
+/home/paulo/Downloads/audio/classical/classical.00036.au	classical
+/home/paulo/Downloads/audio/blues/blues.00096.au	blues
+/home/paulo/Downloads/audio/reggae/reggae.00041.au	reggae
+/home/paulo/Downloads/audio/pop/pop.00080.au	pop
+/home/paulo/Downloads/audio/disco/disco.00018.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00016.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00039.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00006.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00020.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00045.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00062.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00089.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00078.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00073.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00019.au	blues
+/home/paulo/Downloads/audio/country/country.00083.au	country
+/home/paulo/Downloads/audio/classical/classical.00095.au	classical
+/home/paulo/Downloads/audio/country/country.00029.au	country
+/home/paulo/Downloads/audio/metal/metal.00036.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00016.au	jazz
+/home/paulo/Downloads/audio/metal/metal.00095.au	metal
+/home/paulo/Downloads/audio/disco/disco.00089.au	disco
+/home/paulo/Downloads/audio/country/country.00064.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00074.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00049.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00067.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00030.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00066.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00071.au	pop
+/home/paulo/Downloads/audio/disco/disco.00053.au	disco
+/home/paulo/Downloads/audio/country/country.00085.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00042.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00008.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00045.au	reggae
+/home/paulo/Downloads/audio/pop/pop.00031.au	pop
+/home/paulo/Downloads/audio/pop/pop.00001.au	pop
+/home/paulo/Downloads/audio/disco/disco.00025.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00002.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00004.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00053.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00029.au	rock
+/home/paulo/Downloads/audio/disco/disco.00070.au	disco
+/home/paulo/Downloads/audio/blues/blues.00095.au	blues
+/home/paulo/Downloads/audio/country/country.00077.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00025.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00052.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00098.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00075.au	metal
+/home/paulo/Downloads/audio/blues/blues.00044.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00017.au	hiphop
+/home/paulo/Downloads/audio/country/country.00022.au	country
+/home/paulo/Downloads/audio/pop/pop.00016.au	pop
+/home/paulo/Downloads/audio/rock/rock.00064.au	rock
+/home/paulo/Downloads/audio/country/country.00072.au	country
+/home/paulo/Downloads/audio/country/country.00026.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00068.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00084.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00004.au	rock
+/home/paulo/Downloads/audio/metal/metal.00088.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00044.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00047.au	classical
+/home/paulo/Downloads/audio/rock/rock.00042.au	rock
+/home/paulo/Downloads/audio/classical/classical.00085.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00039.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00061.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00079.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00086.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00083.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00050.au	pop
+/home/paulo/Downloads/audio/metal/metal.00038.au	metal
+/home/paulo/Downloads/audio/metal/metal.00097.au	metal
+/home/paulo/Downloads/audio/country/country.00023.au	country
+/home/paulo/Downloads/audio/country/country.00074.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00053.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00098.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00005.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00019.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00069.au	blues
+/home/paulo/Downloads/audio/reggae/reggae.00092.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00016.au	reggae
+/home/paulo/Downloads/audio/country/country.00049.au	country
+/home/paulo/Downloads/audio/country/country.00037.au	country
+/home/paulo/Downloads/audio/metal/metal.00037.au	metal
+/home/paulo/Downloads/audio/disco/disco.00045.au	disco
+/home/paulo/Downloads/audio/metal/metal.00074.au	metal
+/home/paulo/Downloads/audio/disco/disco.00022.au	disco
+/home/paulo/Downloads/audio/country/country.00094.au	country
+/home/paulo/Downloads/audio/metal/metal.00058.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00070.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00068.au	disco
+/home/paulo/Downloads/audio/country/country.00013.au	country
+/home/paulo/Downloads/audio/classical/classical.00008.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00041.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00094.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00087.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00012.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00070.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00074.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00076.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00032.au	hiphop
+/home/paulo/Downloads/audio/country/country.00073.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00013.au	reggae
+/home/paulo/Downloads/audio/country/country.00066.au	country
+/home/paulo/Downloads/audio/rock/rock.00097.au	rock
+/home/paulo/Downloads/audio/country/country.00010.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00055.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00064.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00053.au	metal
+/home/paulo/Downloads/audio/classical/classical.00075.au	classical
+/home/paulo/Downloads/audio/metal/metal.00033.au	metal
+/home/paulo/Downloads/audio/country/country.00058.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00052.au	reggae
+/home/paulo/Downloads/audio/country/country.00047.au	country
+/home/paulo/Downloads/audio/disco/disco.00011.au	disco
+/home/paulo/Downloads/audio/classical/classical.00005.au	classical
+/home/paulo/Downloads/audio/disco/disco.00032.au	disco
+/home/paulo/Downloads/audio/rock/rock.00047.au	rock
+/home/paulo/Downloads/audio/pop/pop.00051.au	pop
+/home/paulo/Downloads/audio/jazz/jazz.00090.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00082.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00033.au	reggae
+/home/paulo/Downloads/audio/country/country.00011.au	country
+/home/paulo/Downloads/audio/classical/classical.00046.au	classical
+/home/paulo/Downloads/audio/classical/classical.00021.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00058.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00024.au	blues
+/home/paulo/Downloads/audio/disco/disco.00092.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00057.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00097.au	pop
+/home/paulo/Downloads/audio/metal/metal.00024.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00009.au	reggae
+/home/paulo/Downloads/audio/pop/pop.00081.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00061.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00049.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00055.au	metal
+/home/paulo/Downloads/audio/blues/blues.00035.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00065.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00019.au	pop
+/home/paulo/Downloads/audio/country/country.00035.au	country
+/home/paulo/Downloads/audio/metal/metal.00078.au	metal
+/home/paulo/Downloads/audio/blues/blues.00039.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00033.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00014.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00090.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00060.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00034.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00004.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00002.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00037.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00062.au	classical
+/home/paulo/Downloads/audio/rock/rock.00003.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00046.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00002.au	blues
+/home/paulo/Downloads/audio/disco/disco.00084.au	disco
+/home/paulo/Downloads/audio/disco/disco.00067.au	disco
+/home/paulo/Downloads/audio/country/country.00005.au	country
+/home/paulo/Downloads/audio/metal/metal.00064.au	metal
+/home/paulo/Downloads/audio/classical/classical.00068.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00003.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00091.au	rock
+/home/paulo/Downloads/audio/disco/disco.00003.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00047.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00028.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00000.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00043.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00007.au	metal
+/home/paulo/Downloads/audio/disco/disco.00054.au	disco
+/home/paulo/Downloads/audio/pop/pop.00098.au	pop
+/home/paulo/Downloads/audio/rock/rock.00086.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00032.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00017.au	classical
+/home/paulo/Downloads/audio/pop/pop.00088.au	pop
+/home/paulo/Downloads/audio/rock/rock.00099.au	rock
+/home/paulo/Downloads/audio/pop/pop.00064.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00002.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00019.au	disco
+/home/paulo/Downloads/audio/rock/rock.00056.au	rock
+/home/paulo/Downloads/audio/metal/metal.00057.au	metal
+/home/paulo/Downloads/audio/country/country.00014.au	country
+/home/paulo/Downloads/audio/disco/disco.00098.au	disco
+/home/paulo/Downloads/audio/metal/metal.00093.au	metal
+/home/paulo/Downloads/audio/metal/metal.00041.au	metal
+/home/paulo/Downloads/audio/country/country.00024.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00098.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00087.au	rock
+/home/paulo/Downloads/audio/metal/metal.00019.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00027.au	jazz
+/home/paulo/Downloads/audio/metal/metal.00062.au	metal
+/home/paulo/Downloads/audio/classical/classical.00015.au	classical
+/home/paulo/Downloads/audio/pop/pop.00047.au	pop
+/home/paulo/Downloads/audio/pop/pop.00044.au	pop
+/home/paulo/Downloads/audio/pop/pop.00083.au	pop
+/home/paulo/Downloads/audio/blues/blues.00059.au	blues
+/home/paulo/Downloads/audio/rock/rock.00084.au	rock
+/home/paulo/Downloads/audio/country/country.00057.au	country
+/home/paulo/Downloads/audio/hiphop/hiphop.00054.au	hiphop
+/home/paulo/Downloads/audio/country/country.00052.au	country
+/home/paulo/Downloads/audio/pop/pop.00065.au	pop
+/home/paulo/Downloads/audio/classical/classical.00010.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00062.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00078.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00082.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00012.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00093.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00087.au	classical
+/home/paulo/Downloads/audio/country/country.00092.au	country
+/home/paulo/Downloads/audio/disco/disco.00007.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00085.au	reggae
+/home/paulo/Downloads/audio/country/country.00008.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00038.au	reggae
+/home/paulo/Downloads/audio/pop/pop.00010.au	pop
+/home/paulo/Downloads/audio/country/country.00065.au	country
+/home/paulo/Downloads/audio/country/country.00075.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00010.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00091.au	pop
+/home/paulo/Downloads/audio/reggae/reggae.00031.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00053.au	rock
+/home/paulo/Downloads/audio/rock/rock.00007.au	rock
+/home/paulo/Downloads/audio/rock/rock.00066.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00088.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00032.au	metal
+/home/paulo/Downloads/audio/country/country.00025.au	country
+/home/paulo/Downloads/audio/hiphop/hiphop.00055.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00016.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00042.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00067.au	classical
+/home/paulo/Downloads/audio/classical/classical.00035.au	classical
+/home/paulo/Downloads/audio/disco/disco.00023.au	disco
+/home/paulo/Downloads/audio/metal/metal.00052.au	metal
+/home/paulo/Downloads/audio/metal/metal.00065.au	metal
+/home/paulo/Downloads/audio/metal/metal.00099.au	metal
+/home/paulo/Downloads/audio/metal/metal.00039.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00008.au	reggae
+/home/paulo/Downloads/audio/pop/pop.00057.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00097.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00048.au	disco
+/home/paulo/Downloads/audio/disco/disco.00037.au	disco
+/home/paulo/Downloads/audio/pop/pop.00089.au	pop
+/home/paulo/Downloads/audio/jazz/jazz.00031.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00006.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00076.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00015.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00023.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00072.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00044.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00022.au	rock
+/home/paulo/Downloads/audio/pop/pop.00017.au	pop
+/home/paulo/Downloads/audio/classical/classical.00092.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00003.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00014.au	disco
+/home/paulo/Downloads/audio/metal/metal.00001.au	metal
+/home/paulo/Downloads/audio/rock/rock.00030.au	rock
+/home/paulo/Downloads/audio/blues/blues.00015.au	blues
+/home/paulo/Downloads/audio/blues/blues.00071.au	blues
+/home/paulo/Downloads/audio/reggae/reggae.00081.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00014.au	metal
+/home/paulo/Downloads/audio/pop/pop.00000.au	pop
+/home/paulo/Downloads/audio/classical/classical.00073.au	classical
+/home/paulo/Downloads/audio/classical/classical.00019.au	classical
+/home/paulo/Downloads/audio/metal/metal.00044.au	metal
+/home/paulo/Downloads/audio/blues/blues.00016.au	blues
+/home/paulo/Downloads/audio/disco/disco.00016.au	disco
+/home/paulo/Downloads/audio/disco/disco.00030.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00032.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00048.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00030.au	classical
+/home/paulo/Downloads/audio/country/country.00091.au	country
+/home/paulo/Downloads/audio/classical/classical.00099.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00020.au	reggae
+/home/paulo/Downloads/audio/country/country.00080.au	country
+/home/paulo/Downloads/audio/metal/metal.00023.au	metal
+/home/paulo/Downloads/audio/pop/pop.00046.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00047.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00081.au	blues
+/home/paulo/Downloads/audio/rock/rock.00059.au	rock
+/home/paulo/Downloads/audio/country/country.00061.au	country
+/home/paulo/Downloads/audio/blues/blues.00088.au	blues
+/home/paulo/Downloads/audio/country/country.00032.au	country
+/home/paulo/Downloads/audio/country/country.00069.au	country
+/home/paulo/Downloads/audio/pop/pop.00022.au	pop
+/home/paulo/Downloads/audio/disco/disco.00027.au	disco
+/home/paulo/Downloads/audio/rock/rock.00043.au	rock
+/home/paulo/Downloads/audio/classical/classical.00072.au	classical
+/home/paulo/Downloads/audio/metal/metal.00089.au	metal
+/home/paulo/Downloads/audio/disco/disco.00021.au	disco
+/home/paulo/Downloads/audio/blues/blues.00076.au	blues
+/home/paulo/Downloads/audio/blues/blues.00045.au	blues
+/home/paulo/Downloads/audio/rock/rock.00065.au	rock
+/home/paulo/Downloads/audio/metal/metal.00079.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00077.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00015.au	rock
+/home/paulo/Downloads/audio/rock/rock.00058.au	rock
+/home/paulo/Downloads/audio/metal/metal.00047.au	metal
+/home/paulo/Downloads/audio/rock/rock.00011.au	rock
+/home/paulo/Downloads/audio/disco/disco.00015.au	disco
+/home/paulo/Downloads/audio/country/country.00044.au	country
+/home/paulo/Downloads/audio/pop/pop.00007.au	pop
+/home/paulo/Downloads/audio/country/country.00048.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00085.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00031.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00024.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00013.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00035.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00005.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00077.au	metal
+/home/paulo/Downloads/audio/rock/rock.00096.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00045.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00027.au	reggae
+/home/paulo/Downloads/audio/country/country.00028.au	country
+/home/paulo/Downloads/audio/disco/disco.00093.au	disco
+/home/paulo/Downloads/audio/metal/metal.00061.au	metal
+/home/paulo/Downloads/audio/classical/classical.00082.au	classical
+/home/paulo/Downloads/audio/classical/classical.00027.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00030.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00033.au	rock
+/home/paulo/Downloads/audio/blues/blues.00091.au	blues
+/home/paulo/Downloads/audio/metal/metal.00018.au	metal
+/home/paulo/Downloads/audio/country/country.00076.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00093.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00054.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00057.au	reggae
+/home/paulo/Downloads/audio/country/country.00051.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00035.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00042.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00038.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00008.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00026.au	blues
+/home/paulo/Downloads/audio/pop/pop.00073.au	pop
+/home/paulo/Downloads/audio/disco/disco.00073.au	disco
+/home/paulo/Downloads/audio/rock/rock.00006.au	rock
+/home/paulo/Downloads/audio/rock/rock.00075.au	rock
+/home/paulo/Downloads/audio/blues/blues.00021.au	blues
+/home/paulo/Downloads/audio/classical/classical.00042.au	classical
+/home/paulo/Downloads/audio/country/country.00027.au	country
+/home/paulo/Downloads/audio/classical/classical.00045.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00030.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00024.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00055.au	blues
+/home/paulo/Downloads/audio/blues/blues.00093.au	blues
+/home/paulo/Downloads/audio/disco/disco.00013.au	disco
+/home/paulo/Downloads/audio/blues/blues.00063.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00051.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00096.au	disco
+/home/paulo/Downloads/audio/pop/pop.00084.au	pop
+/home/paulo/Downloads/audio/blues/blues.00013.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00062.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00061.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00009.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00071.au	rock
+/home/paulo/Downloads/audio/classical/classical.00020.au	classical
+/home/paulo/Downloads/audio/pop/pop.00061.au	pop
+/home/paulo/Downloads/audio/jazz/jazz.00006.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00081.au	rock
+/home/paulo/Downloads/audio/metal/metal.00085.au	metal
+/home/paulo/Downloads/audio/metal/metal.00040.au	metal
+/home/paulo/Downloads/audio/classical/classical.00061.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00007.au	reggae
+/home/paulo/Downloads/audio/pop/pop.00086.au	pop
+/home/paulo/Downloads/audio/reggae/reggae.00094.au	reggae
+/home/paulo/Downloads/audio/country/country.00019.au	country
+/home/paulo/Downloads/audio/blues/blues.00006.au	blues
+/home/paulo/Downloads/audio/rock/rock.00024.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00029.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00040.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00034.au	pop
+/home/paulo/Downloads/audio/disco/disco.00050.au	disco
+/home/paulo/Downloads/audio/rock/rock.00057.au	rock
+/home/paulo/Downloads/audio/blues/blues.00051.au	blues
+/home/paulo/Downloads/audio/country/country.00041.au	country
+/home/paulo/Downloads/audio/rock/rock.00009.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00086.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00038.au	disco
+/home/paulo/Downloads/audio/country/country.00056.au	country
+/home/paulo/Downloads/audio/country/country.00068.au	country
+/home/paulo/Downloads/audio/country/country.00067.au	country
+/home/paulo/Downloads/audio/pop/pop.00040.au	pop
+/home/paulo/Downloads/audio/pop/pop.00096.au	pop
+/home/paulo/Downloads/audio/blues/blues.00031.au	blues
+/home/paulo/Downloads/audio/disco/disco.00009.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00046.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00059.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00064.au	blues
+/home/paulo/Downloads/audio/metal/metal.00071.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00080.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00058.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00046.au	rock
+/home/paulo/Downloads/audio/classical/classical.00039.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00049.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00077.au	hiphop
+/home/paulo/Downloads/audio/country/country.00001.au	country
+/home/paulo/Downloads/audio/metal/metal.00080.au	metal
+/home/paulo/Downloads/audio/country/country.00095.au	country
+/home/paulo/Downloads/audio/country/country.00017.au	country
+/home/paulo/Downloads/audio/metal/metal.00011.au	metal
+/home/paulo/Downloads/audio/metal/metal.00067.au	metal
+/home/paulo/Downloads/audio/blues/blues.00029.au	blues
+/home/paulo/Downloads/audio/country/country.00002.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00044.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00034.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00090.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00069.au	disco
+/home/paulo/Downloads/audio/classical/classical.00059.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00052.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00087.au	pop
+/home/paulo/Downloads/audio/disco/disco.00066.au	disco
+/home/paulo/Downloads/audio/blues/blues.00086.au	blues
+/home/paulo/Downloads/audio/classical/classical.00097.au	classical
+/home/paulo/Downloads/audio/country/country.00070.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00037.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00086.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00072.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00059.au	pop
+/home/paulo/Downloads/audio/classical/classical.00038.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00069.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00089.au	blues
+/home/paulo/Downloads/audio/classical/classical.00058.au	classical
+/home/paulo/Downloads/audio/metal/metal.00006.au	metal
+/home/paulo/Downloads/audio/disco/disco.00094.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00036.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00009.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00096.au	classical
+/home/paulo/Downloads/audio/pop/pop.00063.au	pop
+/home/paulo/Downloads/audio/country/country.00031.au	country
+/home/paulo/Downloads/audio/pop/pop.00052.au	pop
+/home/paulo/Downloads/audio/pop/pop.00067.au	pop
+/home/paulo/Downloads/audio/metal/metal.00081.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00056.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00035.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00056.au	classical
+/home/paulo/Downloads/audio/pop/pop.00093.au	pop
+/home/paulo/Downloads/audio/country/country.00007.au	country
+/home/paulo/Downloads/audio/blues/blues.00098.au	blues
+/home/paulo/Downloads/audio/rock/rock.00013.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00021.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00008.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00005.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00049.au	disco
+/home/paulo/Downloads/audio/blues/blues.00007.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00023.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00068.au	pop
+/home/paulo/Downloads/audio/country/country.00093.au	country
+/home/paulo/Downloads/audio/hiphop/hiphop.00086.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00056.au	blues
+/home/paulo/Downloads/audio/classical/classical.00076.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00079.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00036.au	rock
+/home/paulo/Downloads/audio/rock/rock.00045.au	rock
+/home/paulo/Downloads/audio/disco/disco.00041.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00089.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00025.au	metal
+/home/paulo/Downloads/audio/rock/rock.00019.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00015.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00012.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00017.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00063.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00080.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00080.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00095.au	pop
+/home/paulo/Downloads/audio/rock/rock.00027.au	rock
+/home/paulo/Downloads/audio/pop/pop.00075.au	pop
+/home/paulo/Downloads/audio/pop/pop.00090.au	pop
+/home/paulo/Downloads/audio/rock/rock.00050.au	rock
+/home/paulo/Downloads/audio/blues/blues.00000.au	blues
+/home/paulo/Downloads/audio/reggae/reggae.00017.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00095.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00027.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00011.au	jazz
+/home/paulo/Downloads/audio/metal/metal.00073.au	metal
+/home/paulo/Downloads/audio/country/country.00060.au	country
+/home/paulo/Downloads/audio/metal/metal.00002.au	metal
+/home/paulo/Downloads/audio/pop/pop.00037.au	pop
+/home/paulo/Downloads/audio/rock/rock.00037.au	rock
+/home/paulo/Downloads/audio/classical/classical.00093.au	classical
+/home/paulo/Downloads/audio/rock/rock.00041.au	rock
+/home/paulo/Downloads/audio/metal/metal.00094.au	metal
+/home/paulo/Downloads/audio/classical/classical.00089.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00063.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00094.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00026.au	disco
+/home/paulo/Downloads/audio/metal/metal.00028.au	metal
+/home/paulo/Downloads/audio/disco/disco.00074.au	disco
+/home/paulo/Downloads/audio/rock/rock.00083.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00036.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00069.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00047.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00014.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00067.au	blues
+/home/paulo/Downloads/audio/pop/pop.00085.au	pop
+/home/paulo/Downloads/audio/disco/disco.00064.au	disco
+/home/paulo/Downloads/audio/blues/blues.00058.au	blues
+/home/paulo/Downloads/audio/blues/blues.00048.au	blues
+/home/paulo/Downloads/audio/reggae/reggae.00001.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00076.au	disco
+/home/paulo/Downloads/audio/country/country.00020.au	country
+/home/paulo/Downloads/audio/country/country.00004.au	country
+/home/paulo/Downloads/audio/pop/pop.00045.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00040.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00012.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00028.au	classical
+/home/paulo/Downloads/audio/rock/rock.00010.au	rock
+/home/paulo/Downloads/audio/country/country.00039.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00026.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00011.au	pop
+/home/paulo/Downloads/audio/classical/classical.00094.au	classical
+/home/paulo/Downloads/audio/disco/disco.00055.au	disco
+/home/paulo/Downloads/audio/country/country.00040.au	country
+/home/paulo/Downloads/audio/blues/blues.00010.au	blues
+/home/paulo/Downloads/audio/pop/pop.00009.au	pop
+/home/paulo/Downloads/audio/pop/pop.00099.au	pop
+/home/paulo/Downloads/audio/jazz/jazz.00028.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00038.au	rock
+/home/paulo/Downloads/audio/blues/blues.00041.au	blues
+/home/paulo/Downloads/audio/rock/rock.00021.au	rock
+/home/paulo/Downloads/audio/rock/rock.00060.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00006.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00003.au	metal
+/home/paulo/Downloads/audio/classical/classical.00000.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00069.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00026.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00037.au	classical
+/home/paulo/Downloads/audio/country/country.00090.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00019.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00005.au	disco
+/home/paulo/Downloads/audio/rock/rock.00067.au	rock
+/home/paulo/Downloads/audio/rock/rock.00000.au	rock
+/home/paulo/Downloads/audio/metal/metal.00092.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00064.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00099.au	reggae
+/home/paulo/Downloads/audio/country/country.00034.au	country
+/home/paulo/Downloads/audio/disco/disco.00047.au	disco
+/home/paulo/Downloads/audio/classical/classical.00033.au	classical
+/home/paulo/Downloads/audio/metal/metal.00098.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00031.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00087.au	disco
+/home/paulo/Downloads/audio/classical/classical.00018.au	classical
+/home/paulo/Downloads/audio/country/country.00012.au	country
+/home/paulo/Downloads/audio/classical/classical.00084.au	classical
+/home/paulo/Downloads/audio/metal/metal.00005.au	metal
+/home/paulo/Downloads/audio/blues/blues.00068.au	blues
+/home/paulo/Downloads/audio/country/country.00042.au	country
+/home/paulo/Downloads/audio/blues/blues.00008.au	blues
+/home/paulo/Downloads/audio/classical/classical.00088.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00066.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00049.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00042.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00014.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00036.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00041.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00043.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00065.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00084.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00040.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00034.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00038.au	blues
+/home/paulo/Downloads/audio/blues/blues.00074.au	blues
+/home/paulo/Downloads/audio/blues/blues.00066.au	blues
+/home/paulo/Downloads/audio/pop/pop.00015.au	pop
+/home/paulo/Downloads/audio/rock/rock.00051.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00087.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00063.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00050.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00015.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00096.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00071.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00048.au	metal
+/home/paulo/Downloads/audio/pop/pop.00042.au	pop
+/home/paulo/Downloads/audio/blues/blues.00075.au	blues
+/home/paulo/Downloads/audio/country/country.00081.au	country
+/home/paulo/Downloads/audio/pop/pop.00077.au	pop
+/home/paulo/Downloads/audio/pop/pop.00054.au	pop
+/home/paulo/Downloads/audio/classical/classical.00063.au	classical
+/home/paulo/Downloads/audio/blues/blues.00032.au	blues
+/home/paulo/Downloads/audio/disco/disco.00083.au	disco
+/home/paulo/Downloads/audio/blues/blues.00072.au	blues
+/home/paulo/Downloads/audio/metal/metal.00091.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00026.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00095.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00065.au	classical
+/home/paulo/Downloads/audio/rock/rock.00089.au	rock
+/home/paulo/Downloads/audio/classical/classical.00070.au	classical
+/home/paulo/Downloads/audio/classical/classical.00080.au	classical
+/home/paulo/Downloads/audio/pop/pop.00036.au	pop
+/home/paulo/Downloads/audio/metal/metal.00063.au	metal
+/home/paulo/Downloads/audio/blues/blues.00027.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00001.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00064.au	classical
+/home/paulo/Downloads/audio/blues/blues.00040.au	blues
+/home/paulo/Downloads/audio/disco/disco.00059.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00021.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00032.au	rock
+/home/paulo/Downloads/audio/blues/blues.00033.au	blues
+/home/paulo/Downloads/audio/blues/blues.00014.au	blues
+/home/paulo/Downloads/audio/classical/classical.00014.au	classical
+/home/paulo/Downloads/audio/country/country.00084.au	country
+/home/paulo/Downloads/audio/pop/pop.00018.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00060.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00099.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00095.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00038.au	pop
+/home/paulo/Downloads/audio/jazz/jazz.00018.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00018.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00083.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00048.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00023.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00093.au	rock
+/home/paulo/Downloads/audio/metal/metal.00042.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00095.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00042.au	blues
+/home/paulo/Downloads/audio/disco/disco.00017.au	disco
+/home/paulo/Downloads/audio/pop/pop.00006.au	pop
+/home/paulo/Downloads/audio/classical/classical.00001.au	classical
+/home/paulo/Downloads/audio/blues/blues.00083.au	blues
+/home/paulo/Downloads/audio/pop/pop.00003.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00049.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00003.au	classical
+/home/paulo/Downloads/audio/rock/rock.00068.au	rock
+/home/paulo/Downloads/audio/metal/metal.00030.au	metal
+/home/paulo/Downloads/audio/metal/metal.00086.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00018.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00090.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00013.au	metal
+/home/paulo/Downloads/audio/metal/metal.00031.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00075.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00026.au	classical
+/home/paulo/Downloads/audio/classical/classical.00069.au	classical
+/home/paulo/Downloads/audio/disco/disco.00004.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00010.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00026.au	rock
+/home/paulo/Downloads/audio/disco/disco.00085.au	disco
+/home/paulo/Downloads/audio/disco/disco.00081.au	disco
+/home/paulo/Downloads/audio/metal/metal.00096.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00066.au	reggae
+/home/paulo/Downloads/audio/country/country.00087.au	country
+/home/paulo/Downloads/audio/hiphop/hiphop.00064.au	hiphop
+/home/paulo/Downloads/audio/country/country.00000.au	country
+/home/paulo/Downloads/audio/metal/metal.00000.au	metal
+/home/paulo/Downloads/audio/disco/disco.00020.au	disco
+/home/paulo/Downloads/audio/blues/blues.00009.au	blues
+/home/paulo/Downloads/audio/pop/pop.00070.au	pop
+/home/paulo/Downloads/audio/reggae/reggae.00061.au	reggae
+/home/paulo/Downloads/audio/country/country.00053.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00012.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00088.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00068.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00056.au	metal
+/home/paulo/Downloads/audio/pop/pop.00049.au	pop
+/home/paulo/Downloads/audio/reggae/reggae.00003.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00023.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00040.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00092.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00072.au	rock
+/home/paulo/Downloads/audio/rock/rock.00085.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00024.au	reggae
+/home/paulo/Downloads/audio/blues/blues.00023.au	blues
+/home/paulo/Downloads/audio/pop/pop.00079.au	pop
+/home/paulo/Downloads/audio/metal/metal.00090.au	metal
+/home/paulo/Downloads/audio/metal/metal.00012.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00057.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00024.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00080.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00045.au	metal
+/home/paulo/Downloads/audio/country/country.00059.au	country
+/home/paulo/Downloads/audio/blues/blues.00052.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00048.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00060.au	classical
+/home/paulo/Downloads/audio/pop/pop.00062.au	pop
+/home/paulo/Downloads/audio/disco/disco.00080.au	disco
+/home/paulo/Downloads/audio/pop/pop.00094.au	pop
+/home/paulo/Downloads/audio/metal/metal.00017.au	metal
+/home/paulo/Downloads/audio/pop/pop.00014.au	pop
+/home/paulo/Downloads/audio/classical/classical.00083.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00079.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00065.au	disco
+/home/paulo/Downloads/audio/disco/disco.00046.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00074.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00023.au	pop
+/home/paulo/Downloads/audio/metal/metal.00068.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00010.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00073.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00092.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00005.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00050.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00051.au	disco
+/home/paulo/Downloads/audio/rock/rock.00035.au	rock
+/home/paulo/Downloads/audio/pop/pop.00041.au	pop
+/home/paulo/Downloads/audio/country/country.00043.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00070.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00039.au	disco
+/home/paulo/Downloads/audio/rock/rock.00055.au	rock
+/home/paulo/Downloads/audio/disco/disco.00001.au	disco
+/home/paulo/Downloads/audio/classical/classical.00025.au	classical
+/home/paulo/Downloads/audio/metal/metal.00009.au	metal
+/home/paulo/Downloads/audio/pop/pop.00082.au	pop
+/home/paulo/Downloads/audio/pop/pop.00048.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00025.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00041.au	classical
+/home/paulo/Downloads/audio/classical/classical.00002.au	classical
+/home/paulo/Downloads/audio/metal/metal.00054.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00020.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00065.au	blues
+/home/paulo/Downloads/audio/country/country.00046.au	country
+/home/paulo/Downloads/audio/rock/rock.00028.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00013.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00024.au	pop
+/home/paulo/Downloads/audio/disco/disco.00028.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00073.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00051.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00074.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00054.au	jazz
+/home/paulo/Downloads/audio/country/country.00082.au	country
+/home/paulo/Downloads/audio/metal/metal.00050.au	metal
+/home/paulo/Downloads/audio/pop/pop.00043.au	pop
+/home/paulo/Downloads/audio/pop/pop.00053.au	pop
+/home/paulo/Downloads/audio/blues/blues.00084.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00071.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00008.au	pop
+/home/paulo/Downloads/audio/blues/blues.00011.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00019.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00069.au	pop
+/home/paulo/Downloads/audio/classical/classical.00032.au	classical
+/home/paulo/Downloads/audio/pop/pop.00021.au	pop
+/home/paulo/Downloads/audio/rock/rock.00031.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00002.au	reggae
+/home/paulo/Downloads/audio/country/country.00079.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00029.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00058.au	disco
+/home/paulo/Downloads/audio/country/country.00096.au	country
+/home/paulo/Downloads/audio/metal/metal.00084.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00001.au	jazz
+/home/paulo/Downloads/audio/metal/metal.00060.au	metal
+/home/paulo/Downloads/audio/blues/blues.00092.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00097.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00033.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00015.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00007.au	classical
+/home/paulo/Downloads/audio/blues/blues.00017.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00087.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00080.au	rock
+/home/paulo/Downloads/audio/rock/rock.00076.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00083.au	reggae
+/home/paulo/Downloads/audio/country/country.00098.au	country
+/home/paulo/Downloads/audio/pop/pop.00056.au	pop
+/home/paulo/Downloads/audio/metal/metal.00004.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00068.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00090.au	disco
+/home/paulo/Downloads/audio/metal/metal.00087.au	metal
+/home/paulo/Downloads/audio/pop/pop.00004.au	pop
+/home/paulo/Downloads/audio/country/country.00018.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00077.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00094.au	rock
+/home/paulo/Downloads/audio/rock/rock.00044.au	rock
+/home/paulo/Downloads/audio/blues/blues.00003.au	blues
+/home/paulo/Downloads/audio/blues/blues.00020.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00091.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00058.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00065.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00012.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00004.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00013.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00078.au	reggae
+/home/paulo/Downloads/audio/reggae/reggae.00097.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00049.au	rock
+/home/paulo/Downloads/audio/hiphop/hiphop.00099.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00033.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00067.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00085.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00059.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00034.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00030.au	pop
+/home/paulo/Downloads/audio/blues/blues.00090.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00022.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00066.au	classical
+/home/paulo/Downloads/audio/country/country.00099.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00075.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00092.au	rock
+/home/paulo/Downloads/audio/disco/disco.00006.au	disco
+/home/paulo/Downloads/audio/pop/pop.00025.au	pop
+/home/paulo/Downloads/audio/disco/disco.00060.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00075.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00034.au	blues
+/home/paulo/Downloads/audio/metal/metal.00026.au	metal
+/home/paulo/Downloads/audio/metal/metal.00029.au	metal
+/home/paulo/Downloads/audio/rock/rock.00063.au	rock
+/home/paulo/Downloads/audio/metal/metal.00066.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00025.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00040.au	classical
+/home/paulo/Downloads/audio/pop/pop.00012.au	pop
+/home/paulo/Downloads/audio/blues/blues.00099.au	blues
+/home/paulo/Downloads/audio/metal/metal.00034.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00063.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00050.au	blues
+/home/paulo/Downloads/audio/country/country.00063.au	country
+/home/paulo/Downloads/audio/country/country.00036.au	country
+/home/paulo/Downloads/audio/hiphop/hiphop.00059.au	hiphop
+/home/paulo/Downloads/audio/rock/rock.00088.au	rock
+/home/paulo/Downloads/audio/metal/metal.00021.au	metal
+/home/paulo/Downloads/audio/metal/metal.00076.au	metal
+/home/paulo/Downloads/audio/blues/blues.00060.au	blues
+/home/paulo/Downloads/audio/metal/metal.00059.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00046.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00076.au	reggae
+/home/paulo/Downloads/audio/rock/rock.00070.au	rock
+/home/paulo/Downloads/audio/disco/disco.00088.au	disco
+/home/paulo/Downloads/audio/blues/blues.00046.au	blues
+/home/paulo/Downloads/audio/blues/blues.00053.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00079.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00057.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00043.au	jazz
+/home/paulo/Downloads/audio/country/country.00038.au	country
+/home/paulo/Downloads/audio/hiphop/hiphop.00029.au	hiphop
+/home/paulo/Downloads/audio/country/country.00086.au	country
+/home/paulo/Downloads/audio/pop/pop.00032.au	pop
+/home/paulo/Downloads/audio/reggae/reggae.00091.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00081.au	hiphop
+/home/paulo/Downloads/audio/reggae/reggae.00072.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00057.au	classical
+/home/paulo/Downloads/audio/classical/classical.00071.au	classical
+/home/paulo/Downloads/audio/blues/blues.00018.au	blues
+/home/paulo/Downloads/audio/classical/classical.00048.au	classical
+/home/paulo/Downloads/audio/classical/classical.00022.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00037.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00086.au	disco
+/home/paulo/Downloads/audio/rock/rock.00014.au	rock
+/home/paulo/Downloads/audio/blues/blues.00085.au	blues
+/home/paulo/Downloads/audio/classical/classical.00016.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00056.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00052.au	classical
+/home/paulo/Downloads/audio/rock/rock.00054.au	rock
+/home/paulo/Downloads/audio/disco/disco.00029.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00043.au	reggae
+/home/paulo/Downloads/audio/classical/classical.00090.au	classical
+/home/paulo/Downloads/audio/hiphop/hiphop.00028.au	hiphop
+/home/paulo/Downloads/audio/metal/metal.00049.au	metal
+/home/paulo/Downloads/audio/disco/disco.00091.au	disco
+/home/paulo/Downloads/audio/classical/classical.00044.au	classical
+/home/paulo/Downloads/audio/blues/blues.00005.au	blues
+/home/paulo/Downloads/audio/pop/pop.00013.au	pop
+/home/paulo/Downloads/audio/jazz/jazz.00062.au	jazz
+/home/paulo/Downloads/audio/pop/pop.00058.au	pop
+/home/paulo/Downloads/audio/disco/disco.00000.au	disco
+/home/paulo/Downloads/audio/pop/pop.00078.au	pop
+/home/paulo/Downloads/audio/hiphop/hiphop.00078.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00023.au	classical
+/home/paulo/Downloads/audio/pop/pop.00027.au	pop
+/home/paulo/Downloads/audio/classical/classical.00054.au	classical
+/home/paulo/Downloads/audio/rock/rock.00052.au	rock
+/home/paulo/Downloads/audio/rock/rock.00098.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00000.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00011.au	hiphop
+/home/paulo/Downloads/audio/country/country.00054.au	country
+/home/paulo/Downloads/audio/country/country.00097.au	country
+/home/paulo/Downloads/audio/country/country.00088.au	country
+/home/paulo/Downloads/audio/classical/classical.00004.au	classical
+/home/paulo/Downloads/audio/country/country.00050.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00099.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00079.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00093.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00096.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00061.au	disco
+/home/paulo/Downloads/audio/country/country.00089.au	country
+/home/paulo/Downloads/audio/reggae/reggae.00036.au	reggae
+/home/paulo/Downloads/audio/disco/disco.00044.au	disco
+/home/paulo/Downloads/audio/metal/metal.00016.au	metal
+/home/paulo/Downloads/audio/country/country.00016.au	country
+/home/paulo/Downloads/audio/rock/rock.00048.au	rock
+/home/paulo/Downloads/audio/blues/blues.00030.au	blues
+/home/paulo/Downloads/audio/pop/pop.00092.au	pop
+/home/paulo/Downloads/audio/pop/pop.00033.au	pop
+/home/paulo/Downloads/audio/rock/rock.00017.au	rock
+/home/paulo/Downloads/audio/rock/rock.00025.au	rock
+/home/paulo/Downloads/audio/blues/blues.00079.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00091.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00022.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00020.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00040.au	rock
+/home/paulo/Downloads/audio/pop/pop.00060.au	pop
+/home/paulo/Downloads/audio/metal/metal.00082.au	metal
+/home/paulo/Downloads/audio/rock/rock.00001.au	rock
+/home/paulo/Downloads/audio/rock/rock.00039.au	rock
+/home/paulo/Downloads/audio/country/country.00055.au	country
+/home/paulo/Downloads/audio/rock/rock.00082.au	rock
+/home/paulo/Downloads/audio/rock/rock.00078.au	rock
+/home/paulo/Downloads/audio/pop/pop.00039.au	pop
+/home/paulo/Downloads/audio/metal/metal.00043.au	metal
+/home/paulo/Downloads/audio/metal/metal.00072.au	metal
+/home/paulo/Downloads/audio/jazz/jazz.00078.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00072.au	hiphop
+/home/paulo/Downloads/audio/classical/classical.00077.au	classical
+/home/paulo/Downloads/audio/pop/pop.00055.au	pop
+/home/paulo/Downloads/audio/classical/classical.00029.au	classical
+/home/paulo/Downloads/audio/classical/classical.00024.au	classical
+/home/paulo/Downloads/audio/blues/blues.00054.au	blues
+/home/paulo/Downloads/audio/disco/disco.00002.au	disco
+/home/paulo/Downloads/audio/pop/pop.00066.au	pop
+/home/paulo/Downloads/audio/disco/disco.00078.au	disco
+/home/paulo/Downloads/audio/disco/disco.00072.au	disco
+/home/paulo/Downloads/audio/hiphop/hiphop.00039.au	hiphop
+/home/paulo/Downloads/audio/jazz/jazz.00056.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00096.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00076.au	pop
+/home/paulo/Downloads/audio/metal/metal.00051.au	metal
+/home/paulo/Downloads/audio/hiphop/hiphop.00007.au	hiphop
+/home/paulo/Downloads/audio/hiphop/hiphop.00070.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00025.au	blues
+/home/paulo/Downloads/audio/country/country.00062.au	country
+/home/paulo/Downloads/audio/blues/blues.00037.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00067.au	hiphop
+/home/paulo/Downloads/audio/pop/pop.00026.au	pop
+/home/paulo/Downloads/audio/pop/pop.00074.au	pop
+/home/paulo/Downloads/audio/blues/blues.00077.au	blues
+/home/paulo/Downloads/audio/disco/disco.00010.au	disco
+/home/paulo/Downloads/audio/pop/pop.00029.au	pop
+/home/paulo/Downloads/audio/classical/classical.00050.au	classical
+/home/paulo/Downloads/audio/classical/classical.00051.au	classical
+/home/paulo/Downloads/audio/reggae/reggae.00035.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00034.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00034.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00073.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00084.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00088.au	jazz
+/home/paulo/Downloads/audio/hiphop/hiphop.00000.au	hiphop
+/home/paulo/Downloads/audio/disco/disco.00077.au	disco
+/home/paulo/Downloads/audio/metal/metal.00083.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00011.au	reggae
+/home/paulo/Downloads/audio/country/country.00030.au	country
+/home/paulo/Downloads/audio/country/country.00078.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00069.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00008.au	rock
+/home/paulo/Downloads/audio/disco/disco.00071.au	disco
+/home/paulo/Downloads/audio/country/country.00003.au	country
+/home/paulo/Downloads/audio/rock/rock.00079.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00053.au	jazz
+/home/paulo/Downloads/audio/reggae/reggae.00022.au	reggae
+/home/paulo/Downloads/audio/jazz/jazz.00081.au	jazz
+/home/paulo/Downloads/audio/jazz/jazz.00052.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00011.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00007.au	jazz
+/home/paulo/Downloads/audio/disco/disco.00097.au	disco
+/home/paulo/Downloads/audio/pop/pop.00028.au	pop
+/home/paulo/Downloads/audio/blues/blues.00082.au	blues
+/home/paulo/Downloads/audio/blues/blues.00043.au	blues
+/home/paulo/Downloads/audio/hiphop/hiphop.00082.au	hiphop
+/home/paulo/Downloads/audio/blues/blues.00094.au	blues
+/home/paulo/Downloads/audio/rock/rock.00074.au	rock
+/home/paulo/Downloads/audio/classical/classical.00091.au	classical
+/home/paulo/Downloads/audio/blues/blues.00061.au	blues
+/home/paulo/Downloads/audio/blues/blues.00022.au	blues
+/home/paulo/Downloads/audio/metal/metal.00035.au	metal
+/home/paulo/Downloads/audio/classical/classical.00081.au	classical
+/home/paulo/Downloads/audio/country/country.00033.au	country
+/home/paulo/Downloads/audio/jazz/jazz.00071.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00020.au	rock
+/home/paulo/Downloads/audio/reggae/reggae.00050.au	reggae
+/home/paulo/Downloads/audio/hiphop/hiphop.00038.au	hiphop
+/home/paulo/Downloads/audio/country/country.00009.au	country
+/home/paulo/Downloads/audio/country/country.00021.au	country
+/home/paulo/Downloads/audio/metal/metal.00046.au	metal
+/home/paulo/Downloads/audio/metal/metal.00027.au	metal
+/home/paulo/Downloads/audio/reggae/reggae.00051.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00022.au	metal
+/home/paulo/Downloads/audio/disco/disco.00035.au	disco
+/home/paulo/Downloads/audio/rock/rock.00073.au	rock
+/home/paulo/Downloads/audio/classical/classical.00098.au	classical
+/home/paulo/Downloads/audio/pop/pop.00002.au	pop
+/home/paulo/Downloads/audio/classical/classical.00031.au	classical
+/home/paulo/Downloads/audio/disco/disco.00095.au	disco
+/home/paulo/Downloads/audio/country/country.00015.au	country
+/home/paulo/Downloads/audio/pop/pop.00005.au	pop
+/home/paulo/Downloads/audio/blues/blues.00004.au	blues
+/home/paulo/Downloads/audio/blues/blues.00097.au	blues
+/home/paulo/Downloads/audio/blues/blues.00001.au	blues
+/home/paulo/Downloads/audio/classical/classical.00053.au	classical
+/home/paulo/Downloads/audio/disco/disco.00056.au	disco
+/home/paulo/Downloads/audio/classical/classical.00055.au	classical
+/home/paulo/Downloads/audio/jazz/jazz.00082.au	jazz
+/home/paulo/Downloads/audio/classical/classical.00012.au	classical
+/home/paulo/Downloads/audio/rock/rock.00062.au	rock
+/home/paulo/Downloads/audio/pop/pop.00020.au	pop
+/home/paulo/Downloads/audio/country/country.00006.au	country
+/home/paulo/Downloads/audio/disco/disco.00036.au	disco
+/home/paulo/Downloads/audio/classical/classical.00009.au	classical
+/home/paulo/Downloads/audio/blues/blues.00057.au	blues
+/home/paulo/Downloads/audio/country/country.00045.au	country
+/home/paulo/Downloads/audio/country/country.00071.au	country
+/home/paulo/Downloads/audio/blues/blues.00087.au	blues
+/home/paulo/Downloads/audio/disco/disco.00043.au	disco
+/home/paulo/Downloads/audio/metal/metal.00010.au	metal
+/home/paulo/Downloads/audio/disco/disco.00062.au	disco
+/home/paulo/Downloads/audio/jazz/jazz.00060.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00018.au	rock
+/home/paulo/Downloads/audio/jazz/jazz.00089.au	jazz
+/home/paulo/Downloads/audio/blues/blues.00028.au	blues
+/home/paulo/Downloads/audio/jazz/jazz.00008.au	jazz
+/home/paulo/Downloads/audio/rock/rock.00077.au	rock
+/home/paulo/Downloads/audio/disco/disco.00075.au	disco
+/home/paulo/Downloads/audio/reggae/reggae.00055.au	reggae
+/home/paulo/Downloads/audio/metal/metal.00069.au	metal
--- a/Report/chapter2/background.tex	Tue Aug 11 14:23:42 2015 +0100
+++ b/Report/chapter2/background.tex	Sat Aug 15 19:16:17 2015 +0100
@@ -1,4 +1,4 @@
-\chapter{Background research}
+\chapter{Background}
 Recommender systems set up opportunities and challenges for industry to understand consumption behaviour of users. In particular, for music industry, the develop of recommender systems could improve sales for artists and labels, and the discovery of new songs for listeners. However, regarding that music tastes vary from one person to another person, an advantageous music recommender system should be able to infer listeners needs through their historical listening preference information, similarities with another listeners, and audio signal features from their music collections.
 
 In the following sections, the importance of online social networks for retrieving user-item information among with previous work on music recommender systems are presented. Subsequently, a novel approach of an hybrid recommender system based on Estimation of Distribution Algorithm (EDA) is introduced and examined.
@@ -8,6 +8,8 @@
 
 During the last decade, online social networks have become the outstanding source of multimedia information.
 
+social net info edges between user
+
 \subsection{Last.fm}
 Last.fm is a social network system that accumulate a list of played audio tracks from registered users through \emph{scrobbling} to provide to any user a detail about listening preference and taste similarites between connected friends in the network. Last.fm also uses scrobbling to feed its music recommendation service to help to users to discover new artists.
 
Binary file Report/chiliguano_msc_finalproject.pdf has changed
Binary file Report/chiliguano_msc_finalproject.synctex.gz has changed
--- a/Report/chiliguano_msc_finalproject.toc	Tue Aug 11 14:23:42 2015 +0100
+++ b/Report/chiliguano_msc_finalproject.toc	Sat Aug 15 19:16:17 2015 +0100
@@ -1,6 +1,6 @@
 \contentsline {chapter}{\numberline {1}Introduction}{5}{chapter.1}
 \contentsline {section}{\numberline {1.1}Outline of the thesis}{6}{section.1.1}
-\contentsline {chapter}{\numberline {2}Background research}{8}{chapter.2}
+\contentsline {chapter}{\numberline {2}Background}{8}{chapter.2}
 \contentsline {section}{\numberline {2.1}Online Social Networks}{9}{section.2.1}
 \contentsline {subsection}{\numberline {2.1.1}Last.fm}{9}{subsection.2.1.1}
 \contentsline {section}{\numberline {2.2}Music services platforms}{10}{section.2.2}