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:]
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:]