def preprocess_data(self, data):
        allchords, alldurations = get_chords_and_durations_of_instrument(
            data, self.target_instrument_str)

        assert (len(allchords) == len(alldurations))

        combined = []
        for i in range(len(allchords)):
            combined.append(
                combine_chords_with_durations(allchords[i], alldurations[i]))

        self.mapper = create_mapper(create_mapper_data(combined))
        guitar_chords = encode_notes(combined, self.mapper)
        guitar_chords = clear_encoded_data(guitar_chords, self.mapper)

        guitar_input, guitar_output = parse_everything_together(
            guitar_chords, self.slice_len)

        outlier_constant = 40
        guitar_input, guitar_output, self.mapper_list = filter_outliers(
            guitar_input, guitar_output, outlier_constant)

        input = np.reshape(np.asarray(guitar_input),
                           (len(guitar_input), self.slice_len, 1))

        input = np.asarray(input) / float(len(self.mapper))

        return input
Esempio n. 2
0
    def preprocess_data(self, data):
        guitar_chords_raw, guitar_durations_raw = get_chords_and_durations_of_instrument(
            data, self.target_instruments_str[0])
        bass_chords_raw, bass_durations = get_chords_and_durations_of_instrument(
            data, self.target_instruments_str[1])

        combined_guitar = []
        for i in range(len(guitar_chords_raw)):
            combined_guitar.append(
                combine_chords_with_durations(guitar_chords_raw[i],
                                              guitar_durations_raw[i]))
        self.guitar_mapper = create_mapper(create_mapper_data(combined_guitar))

        combined_bass = []
        for i in range(len(bass_chords_raw)):
            combined_bass.append(
                combine_chords_with_durations(bass_chords_raw[i],
                                              bass_durations[i]))
        self.bass_mapper = create_mapper(create_mapper_data(combined_bass))

        guitar_chords = encode_notes(combined_guitar, self.guitar_mapper)
        bass_chords = encode_notes(combined_bass, self.bass_mapper)

        guitar_chords = clear_encoded_data(guitar_chords, self.guitar_mapper)
        bass_chords = clear_encoded_data(bass_chords, self.bass_mapper)

        guitar_input, guitar_output = parse_everything_together(
            guitar_chords, self.slice_len)
        bass_input, bass_output = parse_everything_together(
            bass_chords, self.slice_len)

        outlier_constant = 40
        guitar_input, guitar_output, self.guitar_mapper_list = filter_outliers(
            guitar_input, guitar_output, outlier_constant)
        bass_input, bass_output, self.bass_mapper_list = filter_outliers(
            bass_input, bass_output, outlier_constant)

        guitar_input = np.reshape(np.asarray(guitar_input),
                                  (len(guitar_input), self.slice_len, 1))
        bass_input = np.reshape(np.asarray(bass_input),
                                (len(bass_input), self.slice_len, 1))

        return guitar_chords_raw, bass_chords_raw
Esempio n. 3
0
    def preprocess_data(self, data):

        allchords, alldurations = get_chords_and_durations_of_instrument(
            data, self.target_instrument_str)

        chord_mapper_data = []
        for i in allchords:
            for j in i:
                chord_mapper_data.append(j)
        self.mapper = create_mapper(chord_mapper_data)

        duration_mapper_data = []
        for i in alldurations:
            for j in i:
                duration_mapper_data.append(j)
        self.duration_mapper = create_mapper(duration_mapper_data)

        encoded_chords = []
        durationsdata = []

        for c in allchords:
            encoded = encode_using_mapper(c, self.mapper)
            for i in encoded:
                encoded_chords.append(i)

        for d in alldurations:
            encoded = encode_using_mapper(d, self.duration_mapper)
            for i in encoded:
                durationsdata.append(i)

        encoded_chord_string = []
        encoded_duration_string = []
        for i in encoded_chords:
            encoded_chord_string.append(str(i))

        for i in durationsdata:
            encoded_duration_string.append(str(i))

        return encoded_chord_string, encoded_duration_string
    def preprocess_data(self, data):
        guitar_chords_raw, guitar_durations_raw = get_chords_and_durations_of_instrument(data, self.target_instruments_str[0])
        bass_chords_raw, bass_durations = get_chords_and_durations_of_instrument(data, self.target_instruments_str[1])
        drum_chords_raw, drum_durations = get_chords_and_durations_of_instrument(data, self.target_instruments_str[2])

        self.guitar_mapper = create_mapper(create_mapper_data(guitar_chords_raw))
        self.guitar_durations_mapper = create_mapper(create_mapper_data(guitar_durations_raw))
        self.bass_mapper = create_mapper(create_mapper_data(bass_chords_raw))
        self.drum_mapper = create_mapper(create_mapper_data(drum_chords_raw))

        guitar_chords = encode_notes(guitar_chords_raw, self.guitar_mapper)
        guitar_durations = encode_notes(guitar_durations_raw, self.guitar_durations_mapper)
        bass_chords = encode_notes(bass_chords_raw, self.bass_mapper)
        drum_chords = encode_notes(drum_chords_raw, self.drum_mapper)

        guitar_chords = clear_encoded_data(guitar_chords, self.guitar_mapper)
        guitar_durations = clear_encoded_data(guitar_durations, self.guitar_durations_mapper)
        bass_chords = clear_encoded_data(bass_chords, self.bass_mapper)
        drum_chords = clear_encoded_data(drum_chords, self.drum_mapper)

        guitar_input, guitar_output = parse_everything_together(guitar_chords, self.slice_len)
        durations_input, durations_output = parse_everything_together(guitar_durations, self.slice_len)
        bass_input, bass_output = parse_everything_together(bass_chords, self.slice_len)
        drum_input, drum_output = parse_everything_together(drum_chords, self.slice_len)

        outlier_constant = 5
        guitar_input, guitar_output, self.guitar_mapper_list = filter_outliers(guitar_input, guitar_output, outlier_constant)
        durations_input, durations_output, self.durations_mapper_list = filter_outliers(durations_input, durations_output, outlier_constant)
        bass_input, bass_output, self.bass_mapper_list = filter_outliers(bass_input, bass_output, 0)
        drum_input, drum_output, self.drum_mapper_list = filter_outliers(drum_input, drum_output, 0)

        guitar_input = np.reshape(np.asarray(guitar_input), (len(guitar_input), self.slice_len, 1))
        durations_input = np.reshape(np.asarray(durations_input), (len(durations_input), self.slice_len, 1))
        bass_input = np.reshape(np.asarray(bass_input), (len(bass_input), self.slice_len, 1))
        drum_input = np.reshape(np.asarray(drum_input), (len(drum_input), self.slice_len, 1))

        return guitar_chords_raw, guitar_durations_raw, bass_chords_raw, drum_chords_raw