import numpy as np import matplotlib.pyplot as plt import scipy.signal import sounddevice as sd SOUND_PATH = "noisefiles/train.dat" def normalize_signal(signal): min_amp = np.min(signal) normalized_signal = signal - min_amp max_amp = np.max(normalized_signal) normalized_signal *= 2/max_amp normalized_signal -= 1 return normalized_signal def load_audiofile(path): sound_data = [] sample_rate = 8000 if path[-3:] == "dat": with open(SOUND_PATH, "r") as sound_file: sound_data_strings = sound_file.readlines() for data_string in sound_data_strings: sound_data.append(eval(data_string.strip())) sound_data = np.array(sound_data) elif path[-3:] == "wav": sample_rate, sound_data = wavfile.read(path) return sample_rate, sound_data def main(): sample_rate, sound_data = load_audiofile(SOUND_PATH) print(sample_rate) sd.play(normalize_signal(sound_data), samplerate=sample_rate, blocking=True) if __name__ == "__main__": main()