Comments (28)
Stelle fest: Ich schrieb Käse. Wir wollen ja gar nix mehr mit Stereo machen. Jetzt verstehe ich auch unser Problem hier... wir schrieben "...die Amplitude stufenlos in einem Bereich von 10dB(SPL) bis 80dB(SPL) erhöht..." ... hmm... nur das sind absolute Werte die wir ohne genormtes Ausgabegerät gar nicht hinbekommen... da wir das Problem eh haben werden können wir nur folgendes machen:
- Uns für einen Startwert zwischen 0-1 für den Ton entscheiden
- Den Ton mittels
MakeSineWave()
dann mit ner Schleife irgendwie erhöhen
Das Verhältnis zwischen Initialwert und gemessenem Wert kann dann in dB ausgedrückt werden (bspw. entsprechen 6dB einer Verdoppelung)
Damit rennen wir zwar gänzlich am Versuchsplan vorbei, aber naja... so is das Leben halt.
from wth_ws16-experiment.
Oke, aktueller Forschungsstand:
Wir kriegen die stufenlose Lautstärkeerhöhung mit MakeSineWave
nicht hin, da ein selbst eine leichte Änderung der Lautstärke ziemlich fies den Ton abhakt. Allerdings könnte es ausreichen... hier mal ein Beispiel:
define Start(lParameter) {
gWindow <- MakeWindow("grey")
frequencies <- Sequence(400,4400, 400)
loop(freq, frequencies) {
sound <- MakeSineWave(freq, 1000, 0.1)
PlayBackground(sound)
Print(freq)
response <- WaitForListKeyPressWithTimeout(["a"], 1000, 1)
Stop(sound)
Wait(100)
intensities <- Sequence(0.1, 0.5, 0.001)
loop(intensity, intensities) {
Print(freq + " - " + intensity)
sound <- MakeSineWave(freq, 100, intensity)
PlayBackground(sound)
response <- WaitForListKeyPressWithTimeout(["a"], 90, 1) #little less delay than sound buffer
}
}
}
EDIT: Aus unserem bisherigen Code kriege ich nur den ersten Ton raus, und weiß auch noch nicht warum.
from wth_ws16-experiment.
Wenn wir uns auf zehn Frequenzen einigen würden, dann könnte ich auch Soundfiles dazu machen. Dann müssen wir nur die Dauer messen. Frequenzen würd ich 400, 800, 1200, ... , 4400 vorschlagen.
from wth_ws16-experiment.
Ich hatte beim Frequenzbereich einfach die Hörbreite des Menschen angegeben, aber das klappt wohl nicht mit Sinustönen. Wir sollen uns auf 100-4100 beschränken, ist richtig. Hört man sonst nicht oder das Ohr geht kaputt.. Stereo testen wollten wir nicht machen, nur Lautstärke erhöhen.
from wth_ws16-experiment.
Ich denke, das 10 Frequenzen im Bereich 100-4100 passen müsten. Vorschlag:
100, 500, 900, 1300, 1700, 2100, 2500, 2900, 3300, 3700
ggf. könnte man noch 4100 als 11. Frequenz nehmen.
Was ich mich noch Frage, ist wie wir auf die Reaktion des Probanden reagieren. Also was passiert, wenn der Proband eine Taste drückt, er also eine Änderung wahrgenommen hat? Soll das Programm einfach alle Keystrokes aufnehmen incl. Timestamp, oder soll das Programm gleich abbrechen?
from wth_ws16-experiment.
Ich würde sagen, Ton stoppen und zum nächsten Test springen. Dann weiß der Proband, das sein Tastendruck angekommen ist. Läuft der Ton einfach weiter, müssen wir nachfolgende Tastenhits (in dem jeweiligen Test) sowieso ignorieren und der Proband könnte verwirrt sein, ob seine Reaktion erkannt wurde.
from wth_ws16-experiment.
gutes Argument :) Seh ich das Richtig, dass wir dann quasi 10 Unterschiedliche Tests haben? (also einen für jede Frequenz?). Irgendwie steh ich grad ein bisschen auf dem Schlauch ;)
from wth_ws16-experiment.
Ja, 10 Tests. In jedem haben wir eine Frequenz, die dann jeweils lauter wird.
from wth_ws16-experiment.
alles klar dann hab ich das doch richtig verstanden ;) seid ihr Heute in SE?
from wth_ws16-experiment.
Hab mal mit deinem loop rumgespielt, @devfoo-one Ich denke, die MakeSineWave() können wir vergessen. Ich vermute stark, daß die jeweils eine neue Audiodatei generiert. Dadurch wird die Erhöhung der Lautstärke niemals smooth vonstatten gehen. Bei mir hab ich jedesmal, wenn eine neue Datei gestartet wird, einen kurzen Knacksound. Bei dem inneren Loop ergibt das also: knack, Ton, knack (etwas lauter) Ton, knack, (etwas lauter) Ton, usw. Hat jemand Ahnung/Besitz von Audioprogrammen, in dem man eine Audiospur programmieren kann (so Aftereffects-mäßig, nur für Audio?)
from wth_ws16-experiment.
also in Multimedia Processing hatten wir ein Mathlab file für die Generierung von sinus wav files, das müsste man halt erweitern auf die Amplituden änderung. Leider ist meine Testversion abgelaufen, mal schauen ob ich irgendwo ne Vollversion finde. :)
from wth_ws16-experiment.
http://www.audiocheck.net/audiofrequencysignalgenerator_sinetone.php
Das könnte eigentlich schon das sein was wir brauchen :) ich werds mal ausprobieren ;)
from wth_ws16-experiment.
Okay also das generieren müsste mit o.g. site Funktionieren, jedoch müssten wir für jede Amplitude ein kurzes wav File erstellen und diese dann zusammenschneiden. In welchem Schritten wollen wir denn die Amplitude hochsetzen?
from wth_ws16-experiment.
Mein Vorschlag für die Amplituden wäre:
-72, -62, -52, -42, -32, -22, -12, -2 dBFS
-72 ist quasi kaum hörbar und -2 sollte für jeden Probanden Hörbar sein. Wird halt eine Klickorgie bei 80 Files =P
ggf. könnte es auch sinn machen statt in 10er schritten mit kleineren Schritten vorzugehen, da ich denke das kein Proband mehr als -50 dB braucht
from wth_ws16-experiment.
Klingt gut.
from wth_ws16-experiment.
hab euch mal ne Mail geschickt mit nem kleinen testfile. sind 5 Amplituden (72, 67, 62, 57, 52 dBFS), bei der Frequenz 1100 hz. Pro Amplitude hab ich ne Dauer von 3 s eingestellt. Klingt schonmal ganz gut :)
from wth_ws16-experiment.
Sauber. D.h. da wir die Möglichkeit haben, Sound-Files zu precompilen, sollten wir erstmal 10 Files generieren, jeweils eine Frequenz mit Lautstärkeänderung. Im PEBL-Code dann einfach als Array laden und nach Testindex abspielen (test1 -> wav1 usw).
from wth_ws16-experiment.
soweit der plan :) Ich würde bis/in SE die Files vorbereiten :)
from wth_ws16-experiment.
Nice. Die Amplitudenänderung sollte in jedem File gleich/bekannt sein, damit wir im Code die Zeiten korrekt messen und für die Auswertung speichern können.
from wth_ws16-experiment.
jo :)
from wth_ws16-experiment.
so sound files sind fertig :)
SineFiles.zip
from wth_ws16-experiment.
Pro file gilt: dauer jeder Amplitude 3 Sekunden, Amplitudenskala: (-67, -62, -57, -52, -47, -42, -37, -32, -27, -22, -17, -12, -7, -2 dBFS)
from wth_ws16-experiment.
Ich fänds besser wenn die Änderung stufenlos wäre. Bzw. müssten die Schritte kleiner gewählt werden. Ich hab damals in MTA gelernt das 3dB der minimal wahrnehmbare Lautstärkeunterschied ist. 6dB ist doppelte Lautstärke. Wir müssen den Bereich 0 - +6dB untersuchen. Ich mach dazu gleich mal n Sample.
from wth_ws16-experiment.
Hier sind jetzt die Frequenzen, welche über 30sec linear lauter werden (bis +6dB) Ich würde diese verwenden.
from wth_ws16-experiment.
mega cool :) wie hast du den gleichmäßigen übergang hingekriegt? :)
from wth_ws16-experiment.
In Audacity nen Sinuston erzeugt und dann nen Fadeup auf +6dB
from wth_ws16-experiment.
nice 👍
from wth_ws16-experiment.
habs mal gepushed.
from wth_ws16-experiment.
Related Issues (4)
- welcomeLabel wird bei mir nicht angezeigt HOT 7
- TODO HOT 1
- Passwort
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wth_ws16-experiment.