Пример #1
0
	def get_training_data(self):
		# waves = waveUtils.generateRandomFrequencies(self.input_s, num=self.num_freqs, freq_min=self.min_freq,
		#                                            freq_max=self.max_freq, num_to_combine=4,
		#                                            samples_per_sec=self.sample_rate)

		waves1, original_sample_rate1 = waveUtils.loadAudioFiles("chello")
		sample_factor1 = (original_sample_rate1 // self.target_sample_rate)
		self.sample_rate = original_sample_rate1 / sample_factor1
		waves1 = waveUtils.reduceQuality(waves1, sample_factor1)
		waves1 = waveUtils.extractCenters(waves1, num_samples=self.input_s, latest_start=self.sample_rate)

		waves2, original_sample_rate2 = waveUtils.loadAudioFiles("flute")
		sample_factor2 = (original_sample_rate2 // self.target_sample_rate)
		if self.sample_rate != original_sample_rate2 / sample_factor2:
			print "Mismatching sample rates!"
			exit(1)
		waves2 = waveUtils.reduceQuality(waves2, sample_factor2)
		waves2 = waveUtils.extractCenters(waves2, num_samples=self.input_s, latest_start=self.sample_rate)

		all_data = []
		all_originals = []
		for i in range(len(waves1)):
			for j in range(len(waves2)):
				all_data.append(waves1[i] + waves2[j])
				all_originals.append([waves1[i], waves2[j]])
		num_samples = len(all_data)
		perm = np.random.permutation(num_samples)
		all_data = np.asarray(all_data)[perm]
		all_originals = np.asarray(all_originals)[perm]
		all_data = np.asarray(all_data)
		all_data = all_data + np.random.normal(scale=self.random_noise_stdev, size=all_data.shape)
		self._val_data = all_data[:self.validation_samples]
		self._val_originals = all_originals[:self.validation_samples]
		return all_data[self.validation_samples:], all_originals[self.validation_samples:]
Пример #2
0
    def get_training_data(self):
        # waves = waveUtils.generateRandomFrequencies(self.input_s, num=self.num_freqs, freq_min=self.min_freq,
        #                                            freq_max=self.max_freq, num_to_combine=4,
        #                                            samples_per_sec=self.sample_rate)

        waves, self.original_sample_rate = waveUtils.loadAudioFiles("chello")
        sample_factor = (self.original_sample_rate // self.target_sample_rate)
        self.sample_rate = self.original_sample_rate / sample_factor
        waves = waveUtils.reduceQuality(waves, sample_factor)
        waves = waveUtils.extractCenters(waves, num_samples=self.input_s)

        all_data = []
        all_originals = []
        for i in range(len(waves)):
            for j in range(i + 1, len(waves)):
                all_data.append(waves[i] + waves[j])
                all_originals.append([waves[i], waves[j]])
        num_samples = len(all_data)
        perm = np.random.permutation(num_samples)
        all_data = np.asarray(all_data)[perm]
        all_originals = np.asarray(all_originals)[perm]
        all_data = np.asarray(all_data)
        all_data = all_data + np.random.normal(scale=self.random_noise_stdev,
                                               size=all_data.shape)
        self._val_data = all_data[:self.validation_samples]
        self._val_originals = all_originals[:self.validation_samples]
        return all_data[self.validation_samples:], all_originals[
            self.validation_samples:]