diff --git a/.gitignore b/.gitignore
index 15fe31b..fc126c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
TinnitusAnalyse/.idea/dictionaries/Julian.xml
TinnitusAnalyse/.idea/workspace.xml
TinnitusAnalyse/eggs.csv
+TinnitusAnalyse/.idea/workspace.xml
diff --git a/TinnitusAnalyse/.idea/dictionaries/Julian.xml b/TinnitusAnalyse/.idea/dictionaries/Julian.xml
index ee120ee..4a62725 100644
--- a/TinnitusAnalyse/.idea/dictionaries/Julian.xml
+++ b/TinnitusAnalyse/.idea/dictionaries/Julian.xml
@@ -8,7 +8,9 @@
definieren
frequenz
kommentare
+ lautstaerke
lautstärke
+ liefert
linkem
linken
linkes
@@ -23,6 +25,7 @@
rechter
rechtes
rechts
+ speicherversuch
variablen
vorname
zwischen
diff --git a/TinnitusAnalyse/.idea/workspace.xml b/TinnitusAnalyse/.idea/workspace.xml
index f7d9086..44775cb 100644
--- a/TinnitusAnalyse/.idea/workspace.xml
+++ b/TinnitusAnalyse/.idea/workspace.xml
@@ -2,8 +2,12 @@
+
+
+
+
@@ -17,8 +21,8 @@
-
-
+
+
@@ -29,7 +33,7 @@
-
+
@@ -38,8 +42,8 @@
-
-
+
+
@@ -77,6 +81,8 @@
linker
für alle
scale_lautstärke_links_change
+ mute
+ Sound(
C:\Users\Julian\PycharmProjects\TinnitusAnalyse
@@ -88,15 +94,17 @@
-
-
-
-
+
+
+
+
@@ -171,10 +179,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -192,14 +222,15 @@
-
+
+
-
+
@@ -236,33 +267,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -270,5 +275,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/TinnitusAnalyse/27130.png b/TinnitusAnalyse/27130.png
deleted file mode 100644
index 3ccf6fe..0000000
Binary files a/TinnitusAnalyse/27130.png and /dev/null differ
diff --git a/TinnitusAnalyse/Headphones Icon.ico b/TinnitusAnalyse/Headphones Icon.ico
deleted file mode 100644
index 5f3629a..0000000
Binary files a/TinnitusAnalyse/Headphones Icon.ico and /dev/null differ
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 0000000..1812ae9
Binary files /dev/null and b/TinnitusAnalyse/__pycache__/SoundGenerator.cpython-35.pyc differ