$?M6vPX{|!gWfpX(F4aYzV9;LjO#xS*XtC
zfxR6rgRY?;7y6ugOx}2f3Kewl%>NqJE?gF`gLO_3CAcGA}W9`yb{IUB^?_(c5J)DhY$Y^9@*=9z>|Fj
z{1)q#wxK^z`B`eMTD5dBR<41y5ABF3Ub}W}nPYm=`6(Vo{Uex-SM~jJC4U_E7x*(9
z1!>G;!TW4FCwR&bofe$NGpqn6$)_BX%9t|PvVp<&0mA1+^mxbE!!{N?9dQv}jQs
ztjl*IqByEZ{7EYJO9PXt*5d}PWBc*ety?=utc*oe(*-4mbGg1-Q&&YzRQB|
zx@Y(V~~#+R*6b^bWycOKW!&&t+ET^gfgC|w`lOTv4x&y=o@`QkRS943xfK0SM$
z683wG+s&qN59-a@@3efHz;dDUEINk!QUTh09KMMYhwG!%KFGwxq&A*w$5C0T!}6tb
zjg8A2a_ivSdTn80A@_NTYgr|#!^*-O)j^z(+1DL5Us{N@DGvMh??1>Mhus6vS6nhM
zFpzofl`B_H7q(vlj~shrV*j*b*w=Ic%Trp2es2N#mSf__>(;GX9&;?0u|{JH?k$Di
z72}p^)TmJf><_giIy(9?`p@#*V{9Dbm6F&?i|$9??%K6$Kdv|Ph$v2ZYu2m@h7V<~
z2?Kuv_<7*0S+k}S0iS`G50m(`IN(2Q6A~wx=vZ_H!)#2;qQ&nS=ITd=IenU*uhTPc
GhWS6dnWz2$
diff --git a/TinnitusAnalyse/SoundGenerator.py b/TinnitusAnalyse/SoundGenerator.py
index e326e09..82f45ac 100644
--- a/TinnitusAnalyse/SoundGenerator.py
+++ b/TinnitusAnalyse/SoundGenerator.py
@@ -9,7 +9,7 @@ import time #nur für die Tests, um Zeit zum Anhören der Sounds einzubauen
#das heißt für jede Sekunde an Ton gibt es 44100 Werte, die die Tonwelle über die Zeit beschreiben
class Tinnitus: #beinhaltet alle Werte, die vom Nutzer eingestellt werden
- def __init__(self, l_freq=600, r_freq=600, l_amp=1, r_amp=1, l_rausch=0, r_rausch=0, ear=0):
+ def __init__(self, l_freq=600, r_freq=600, l_amp=0, r_amp=0, l_rausch=0, r_rausch=0, ear=0):
self.linksFrequenz = l_freq
self.rechtsFrequenz = r_freq
self.linksLautstaerke = l_amp
@@ -38,7 +38,7 @@ class Tinnitus: #beinhaltet alle Werte, die vom Nutzer eingestellt werden
#Die Klasse beinhaltet alle Werte, die zum Erstellen einer .wav-Datei benötigt werden und ein Tinnitus-Objekt, das beim Initialisieren übergeben werden muss.
#Die Audiodaten werden in das Array "audio" geschrieben
class Sound:
- def __init__(self, tinnitus, name="sound.wav", audio=None, nchannels=1, sampwidth=2, framerate=44100, comptype="NONE", compname="not compressed"):
+ def __init__(self, tinnitus, name="sound.wav", audio=None, nchannels=1, sampwidth=2, framerate=44100, comptype="NONE", compname="not compressed", mute=True):
if audio is None:
audio = []
self.tinnitus = tinnitus
@@ -50,6 +50,7 @@ class Sound:
self.nframes = len(audio) #Anzahl der Sound-Werte -> Muss bei jeder audio-Änderung aktuallisiert werden
self.comptype = comptype
self.compname = compname
+ self.mute = True # wenn der mute boolean auf true gesetzt ist, sollte kein Ton ausgegeben werden
return
def neu_audio(self): #Schreibt Werte in das audio-Array. Soll später abhängig sein von den Tinnitus-Werten(Frequenz, Rauschen, ...)
@@ -92,38 +93,41 @@ class Sound:
def play(self):
self.neu_audio()
- sd.play(self.audio, self.framerate, loop=1)
+ if not self.mute: # NEVER play sound when patient mutes GUI
+ sd.play(self.audio, self.framerate, loop=1)
return
+ def stop(self):
+ sd.stop()
+ return
-
-tinnitus1 = Tinnitus()
-sound = Sound(tinnitus1)
-
-if(0):
- print("======abnehmende Lautstärke==========")
- for x in range(10):
- print(" Lautstärke = ", tinnitus1.linksLautstaerke)
- sound.play()
- time.sleep(0.6)
- tinnitus1.linksLautstaerke -= 0.1
- print("\n\n")
- time.sleep(1)
- tinnitus1.linksLautstaerke = 1
-
-
-
-if(0):
- print("=========RauschTest============")
- for x in range(10):
- tinnitus1.linksRauschenLautstaerke += 0.01
- print(" Rauschen = ", tinnitus1.linksRauschenLautstaerke)
- sound.play()
- time.sleep(1)
-
-if(0):
- tinnitus1.speichern()
-
-sd.stop()
-print("ENDE")
+# tinnitus1 = Tinnitus()
+# sound = Sound(tinnitus1)
+#
+# if(1):
+# print("======abnehmende Lautstärke==========")
+# for x in range(10):
+# print(" Lautstärke = ", tinnitus1.linksLautstaerke)
+# sound.play()
+# time.sleep(0.6)
+# tinnitus1.linksLautstaerke -= 0.1
+# print("\n\n")
+# time.sleep(1)
+# tinnitus1.linksLautstaerke = 1
+#
+#
+#
+# if(0):
+# print("=========RauschTest============")
+# for x in range(10):
+# tinnitus1.linksRauschenLautstaerke += 0.01
+# print(" Rauschen = ", tinnitus1.linksRauschenLautstaerke)
+# sound.play()
+# time.sleep(1)
+#
+# if(0):
+# tinnitus1.speichern()
+#
+# sd.stop()
+# print("ENDE")
diff --git a/TinnitusAnalyse/TinnitusAnalyse_GUI.py b/TinnitusAnalyse/TinnitusAnalyse_GUI.py
index d9950a7..9428f32 100644
--- a/TinnitusAnalyse/TinnitusAnalyse_GUI.py
+++ b/TinnitusAnalyse/TinnitusAnalyse_GUI.py
@@ -1,5 +1,6 @@
from tkinter.ttk import Frame, Label, Button, LabelFrame, Combobox, Style, Checkbutton, Entry, Panedwindow, Separator
from tkinter import *
+from SoundGenerator import *
import csv
@@ -8,28 +9,33 @@ import csv
def links_scale_lautstärke_change(self):
- linksLautstärke = float(linksScaleLautstärke.get())
- print("Links Lautstärke =", linksLautstärke)
+ tinnitus.linksLautstaerke = float(linksScaleLautstärke.get())/100 # scale liefert 0-100%, tinnitus.lautstärke 0-1
+ print("Links Lautstärke =", tinnitus.linksLautstaerke*100)
+ sound.play()
def links_scale_frequenz_change(self):
- linksFrequenz = float(linksScaleFrequenz.get())
+ #tinnitus.linksFrequenz = float(linksScaleFrequenz.get())/1000 # scale liefert 20-20kHz, tinnitus.frequenz in Hz
print("Links Frequenz = ", linksFrequenz)
+ sound.play()
def links_scale_rauschen_lautstärke_change(self):
linksRauschenLautstärke = float(linksScaleRauschenLautstärke.get())
print("Links Rauschen Lautstärke = ", linksRauschenLautstärke)
+ sound.play()
def links_scale_rauschen_mittelfrequenz_change(self):
linksRauschenMittelfrequenz = float(linksScaleRauschenMittelFrequenz.get())
print("Links Rauschen Mittelfrequenz = ", linksRauschenMittelfrequenz)
+ sound.play()
def links_scale_rauschen_bandbreite_change(self):
linksRauschenBandbreite = float(linksScaleRauschenBandbreite.get())
print("Links Rauschen Bandbreite = ", linksRauschenBandbreite)
+ sound.play()
"""----------Funktionen rechts----------"""
@@ -38,26 +44,31 @@ def links_scale_rauschen_bandbreite_change(self):
def rechts_scale_lautstärke_change(self):
rechtsLautstärke = float(rechtsScaleLautstärke.get())
print("Rechts Lautstärke =", rechtsLautstärke)
+ sound.play()
def rechts_scale_frequenz_change(self):
rechtsFrequenz = float(rechtsScaleFrequenz.get())
print("Rechts Frequenz= ", rechtsFrequenz)
+ sound.play()
def rechts_scale_rauschen_lautstärke_change(self):
rechtsRauschenLautstärke = float(rechtsScaleRauschenLautstärke.get())
print("Rechts Rauschen Lautstärke = ", rechtsRauschenLautstärke)
+ sound.play()
def rechts_scale_rauschen_mittelfrequenz_change(self):
rechtsRauschenMittelfrequenz = float(rechtsScaleRauschenMittelFrequenz.get())
print("Rechts Rauschen Mittelfrequenz = ", rechtsRauschenMittelfrequenz)
+ sound.play()
def rechts_scale_rauschen_bandbreite_change(self):
rechtsRauschenBandbreite = float(rechtsScaleRauschenBandbreite.get())
print("Rechts Rauschen Bandbreite = ", rechtsRauschenBandbreite)
+ sound.play()
"""--------------Funktionen unten------------------"""
@@ -89,18 +100,28 @@ def unten_button_speichern_press():
(untenEntryNachname == "Erst Namen..") or (untenEntryVorname == "..eintragen bitte"):
nachname.set("Erst Namen..")
vorname.set("..eintragen bitte")
+ print("fehlgeschlagener Speicherversuch - Keine Eingaben gemacht")
else:
- print("TEST")
+ print("Speichere Patientendaten, siehe TinnitusDaten.csv")
+ tinnitus.speichern()
def unten_button_play_press():
- print("button play pressed")
-
+ print("button play pressed -> mute=false")
+ sound.mute = False
+ sound.play()
def unten_button_stop_press():
- print("button stop press")
+ print("button stop press -> mute=true")
+ sound.mute = True
+ sound.stop()
+""""""
+tinnitus = Tinnitus()
+sound = Sound(tinnitus)
+print("test")
+
"""------------------------------------------ AUFBAU DES ROOT WINDOWS -----------------------------------------------"""
root = Tk() # build the main window
root.title("Tinnitus Analyse")
diff --git a/TinnitusAnalyse/__pycache__/SoundGenerator.cpython-35.pyc b/TinnitusAnalyse/__pycache__/SoundGenerator.cpython-35.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1812ae953d980ed72c0106650ddfcdf3cb471bae
GIT binary patch
literal 3434
zcmbVPTW{mW6`mnQijpPY6UW_b*W08QHm!?Zom&ehyUn&qqZC;O+pC5E<`lbrHEv0cSPjWx+|hat$QN!YTXx+FYcvi=ZYs7
z#TAdytqBvFdu;O96wp-nL;oD}ie8^&eYK$M;xRvmQ1FI5pt+&ohBAM<0%JdEiUdOT`!DR`dWa_
zcMjWCV>DJp<(g7!+Ij7fXp*2HXrBZfvdVj;vr<)FKOY$ty1ETx_>FNv&vktw`BN!FQP{nc8j^p7do#do<;`n%y
zn=O45W*4nu7mq=Nt`QX=#mr(Ko
zizfkd)q+SnHCJ^-y2v^RY)Pcctb?EY}@jr)7uLds-V1}=c++bsk~&8W}~WA^beDwP`LpRz*
zv^=a@2O4ca6{>P`0IylF!Bhb)v^*UvtMN#U;iObyo1vzk$2#>*5??2Ai^LX*+az8j
z@l6unBEcBA1OmY%#ACh&A!JATSLkTzqBLFP$Xw?nIuG-LCiMq8Y9%Wk$
zfHbRg#5!WTZZj7~y0MN<^vL5shzA#bF=~%op+6TVKfOM~?aLW3j<;EM#h^1Y@>Ev+;-=LKmpQ92%)$fcYY*i@&AXrY)4W5QIf
zOeIgAiZ+m^CNYEXWw>IVgRn90$PO51#od%U?yB6Bx8!umMts(zU#B5j&n)C$pkTL_
zqImKiaX*d%hwBZ(z{$&GDlH7K`v@;8x&CI24n_fu0#G<&6P5CKM?5&*5D#$f27K0#
zI}m3|bci;BloCO57$a00?C4uffSDDZpdKf(r_6Yc0lh)NzZ9RB|0XS?CL-X{BZNYELx
z=aJ9ocd2ay1gA881=!R34bonKh+0OK;{<$Q=1%kMAV&+Fa4zV`bU~F
zT
1FjmCNt
z1BAZaMq;nZF*qROJUO*gM+6s2yV|FSjR5`;9z!V_D*=%`FQ;wmJB@I~WpbNcrXb?8
z3XT$