|
|
|
|
|
|
|
|
#In .wav-Dateien wird der Ton in absoluten Werte eingetragen. Die Standart-framerate ist 44100 |
|
|
#In .wav-Dateien wird der Ton in absoluten Werte eingetragen. Die Standart-framerate ist 44100 |
|
|
#das heißt für jede Sekunde an Ton gibt es 44100 Werte, die die Tonwelle über die Zeit beschreiben |
|
|
#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, freq=440, amp=1, ear=0): |
|
|
|
|
|
self.freq = freq |
|
|
|
|
|
self.amp = amp |
|
|
|
|
|
self.ear = ear # 0:both 1:left 2:right |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
#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: |
|
|
class Sound: |
|
|
def __init__(self, name="sound.wav", audio=[], nchannels=1, sampwidth=2, framerate=44100, comptype="NONE", compname="not compressed"): |
|
|
|
|
|
|
|
|
def __init__(self, tinnitus=Tinnitus(), name="sound.wav", audio=[], nchannels=1, sampwidth=2, framerate=44100, comptype="NONE", compname="not compressed"): |
|
|
|
|
|
self.tinnitus = tinnitus |
|
|
self.name = name |
|
|
self.name = name |
|
|
self.audio = audio #ein Array, in das die Sound-Werte geschrieben werden |
|
|
self.audio = audio #ein Array, in das die Sound-Werte geschrieben werden |
|
|
self.nchannels = nchannels #Zahl der audio channels (1:mono 2:stereo) |
|
|
self.nchannels = nchannels #Zahl der audio channels (1:mono 2:stereo) |
|
|
|
|
|
|
|
|
return |
|
|
return |
|
|
|
|
|
|
|
|
def new_audio(self): #Schreibt Werte in das audio-Array. Soll später abhängig sein von den Tinnitus-Werten(Frequenz, Rauschen, ...) |
|
|
def new_audio(self): #Schreibt Werte in das audio-Array. Soll später abhängig sein von den Tinnitus-Werten(Frequenz, Rauschen, ...) |
|
|
freq = 440.0 |
|
|
|
|
|
|
|
|
freq = self.tinnitus.freq |
|
|
duration_milliseconds = 1000.0 |
|
|
duration_milliseconds = 1000.0 |
|
|
volume = 1.0 |
|
|
|
|
|
|
|
|
volume = self.tinnitus.amp |
|
|
|
|
|
|
|
|
num_samples = duration_milliseconds * (self.framerate / 1000.0) #framerate -pro Sekunde- umgerechnet in -pro Millisekunde- |
|
|
num_samples = duration_milliseconds * (self.framerate / 1000.0) #framerate -pro Sekunde- umgerechnet in -pro Millisekunde- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
playsound('sound.wav', False) |
|
|
playsound('sound.wav', False) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Tinnitus: #beinhaltet alle Werte, die vom Nutzer eingestellt werden und ein Sound-Objekt |
|
|
|
|
|
def __init__(self, freq=440, amp=1, ear=0, sound=Sound()): |
|
|
|
|
|
self.freq = freq |
|
|
|
|
|
self.amp = amp |
|
|
|
|
|
self.ear = ear # 0:both 1:left 2:right |
|
|
|
|
|
self.sound = sound #beinhaltet Variablen und Funktionen für die Bearbeitung von .wav-Dateien |
|
|
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
tinnitus = Tinnitus() |
|
|
|
|
|
|
|
|
tinnitus1 = Tinnitus(freq=600) |
|
|
|
|
|
sound = Sound(tinnitus = tinnitus1) |
|
|
print("Objekt initialisiert") |
|
|
print("Objekt initialisiert") |
|
|
tinnitus.sound.renew() |
|
|
|
|
|
|
|
|
sound.renew() |
|
|
print("Datei aktuallisiert") |
|
|
print("Datei aktuallisiert") |
|
|
tinnitus.sound.play() |
|
|
|
|
|
|
|
|
sound.play() |
|
|
print("Sound gestartet") |
|
|
print("Sound gestartet") |
|
|
time.sleep(3) |
|
|
time.sleep(3) |