From dda42f6bc41c99765c42156d2f412ac62d2b21c9 Mon Sep 17 00:00:00 2001 From: ommerthe69431 Date: Fri, 18 Sep 2020 13:32:01 +0200 Subject: [PATCH] Ladestatus beim Datei-Erstellen wird auf der Kommandozeile ausgegeben --- TinnitusAnalyse/SoundGenerator.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/TinnitusAnalyse/SoundGenerator.py b/TinnitusAnalyse/SoundGenerator.py index c3ec508..4a6c511 100644 --- a/TinnitusAnalyse/SoundGenerator.py +++ b/TinnitusAnalyse/SoundGenerator.py @@ -203,12 +203,13 @@ class Sound: w0 = float(lf/(self.music_samplerate/2)) # Frequency to remove from a signal. If fs is specified, this is in the same units as fs. By default, it is a normalized scalar that must satisfy 0 < w0 < 1, with w0 = 1 corresponding to half of the sampling frequency. Q = 30.0 # Quality factor. Dimensionless parameter that characterizes notch filter -3 dB bandwidth bw relative to its center frequency, Q = w0/bw. - self.music_data = self.music_data/32767 # convert array from int16 to float + self.music_data = self.music_data/32767 * 0.8 # convert array from int16 to float b, a = signal.iirnotch(lf, Q, fs=self.music_samplerate) if ll != 0.0: - print(self.music_data[20000:20010]) + print("Links wird gefiltert...") musicLinks = signal.lfilter(b, a , self.music_data[:, 0]) # links + print("Filtern beendet") else: musicLinks = self.music_data[:, 0] # ungefiltert, wenn kein Tinnitus angegeben wurde @@ -232,7 +233,9 @@ class Sound: b, a = signal.iirnotch(rf, Q, fs=self.music_samplerate) if rl != 0.0: + print("Rechts wird gefiltert...") musicRechts = signal.lfilter(b, a, self.music_data[:, 1]) # rechts + print("Filtern beendet") else: musicRechts = self.music_data[:, 1] # ungefiltert, wenn kein Tinnitus angegeben wurde @@ -248,10 +251,14 @@ class Sound: # Die Audiosamples schreiben - for x in range(self.music_samplerate*5): #Kann mit nframes ersetzt werden, für den ganzen Song + print("Musikdatei wird erstellt...") + for x in range(self.music_samplerate * 20): #Kann mit nframes ersetzt werden, für den ganzen Song # Die Audiodaten müssen von float in einen passenden int-Wert umgerechnet werden wav_obj.writeframes(struct.pack('h', int(musicLinks[x] * 32767.0))) # Werte für links und rechts werden bei wav_obj.writeframes(struct.pack('h', int(musicRechts[x] * 32767.0))) # wav abwechselnd eingetragen + if x % 10000 == 0: + fortschritt = x/(self.music_samplerate*20)*100 + print(" ", round(fortschritt, 1), "%") wav_obj.close() print("Speichern beendet.")