Dear all,
As pointed out by Etienne and Lorenzo, most of the existing platforms are missing the possibility to generate audio on the fly, and instead only provide interfaces for playing back static
content. However, the WebAudio API can also be used for synthesizing any kind of sound on the client-side (in the browser), and combined with webassembly (https://webassembly.org/), it is possible to do signal processing
very efficiently in the browser. As an example, we have an online study (https://sprazzo.org.aalto.fi/studies/itd/), where the stimuli are generated via an inverse FFT using the FFTW3 library, compiled
into webassembly and used in _javascript_ as a module. This allows us to do an adaptive procedure — as was the intention expressed in the first post on this thread — which is not practical using fixed pre-rendered files.
I would say that most of the complexity in an online experiment comes from the business logic that is needed for handling user logins, sessions, and all data transfer between the browser
and the database, and the existing online platforms are very handy in that there is no need to implement those parts. However, it is possible to do a very simple browser-based experiment without any real-time communication to a server; the results can be collected
in memory and saved to a file on the participant’s computer, which can then be sent for example by email to the researchers. A library such as FileSaver.js (https://github.com/eligrey/FileSaver.js/) can
be used in this scenario. Then all that is needed for a very simple experiment are one html file describing the layout of the UI, with attached _javascript_ taking care of the study logic and file saving.
So as an alternative to the current toolboxes which appear to be more oriented to manipulation and presentation of visual stimuli, I would encourage anyone interested in running an online
/ browser-based study to use the WebAudio API directly. With webassembly, it is also possible to combine it with C or C++ audio signal processing solutions. If anyone wants to know more about how to achieve this, I’m happy to share our code from the ITD study.
Best regards,
Petteri Hyvärinen
--
Petteri Hyvärinen
Postdoctoral researcher
Acoustics Lab
Department of Signal Processing and Acoustics
Aalto University School of Electrical Engineering
Espoo, Finland
From: AUDITORY - Research in Auditory Perception <AUDITORY@xxxxxxxxxxxxxxx> on behalf of "Picinali, Lorenzo" <l.picinali@xxxxxxxxxxxxxx>
Reply to: "Picinali, Lorenzo" <l.picinali@xxxxxxxxxxxxxx>
Date: Wednesday, 15 April 2020 at 10.10
To: <AUDITORY@xxxxxxxxxxxxxxx>
Subject: Re: online data collection for auditory experiments
Thanks for the list indeed!
And here is a working example, which is currently hosted on Heroku:
We have also created a web app allowing users to import their own audio files (only MP3 is supported), create soundscapes and interact with them (this is also hosted on Heroku). You can find the
app here:
and here is a brief conference paper describing its functionalities, together with the functionalities of a web-based audio editor created with the Web Audio API (plugsonic.pluggy.eu/sample/):
I hope this helps!
Lorenzo
From: AUDITORY - Research in Auditory Perception <AUDITORY@xxxxxxxxxxxxxxx> on behalf of Etienne Gaudrain <egaudrain.cam@xxxxxxxxx>
Sent: 14 April 2020 10:35
To: AUDITORY@xxxxxxxxxxxxxxx <AUDITORY@xxxxxxxxxxxxxxx>
Subject: Re: [AUDITORY] online data collection for auditory experiments
This email from egaudrain.cam@xxxxxxxxx originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add
them to your safe senders list to disable email stamping for this address.
|
Thank you Felix, this is a great list!
It's never very clear what the audio capabilities are for each of these tools, but it looks like they can all at least play a sound (and sometimes generate tones and the likes). Manipulating the sounds is another story.
Some of our experiments are adaptive and need generation of speech stimuli on the go. For that we've written a Python server that can do some of these manipulations (like changing voice pitch, or vocode). This is still work in progress, but what's done is fully
functional:
https://github.com/egaudrain/VTServer
The documentation is available here:
https://egaudrain.github.io/VTServer/
You can also try it here:
We keep the files you upload on the server 24h before they get deleted... and nobody's going to listen to them.
So far it's running on a pretty basic virtual private server that costs about 8€/month. We'll see with usage if we need to scale to something more powerful, or more elastic.
If you have comments, or if you want to contribute, don't hesitate to fork it or send pull requests. So far I've written a very rudimentary install script for Ubuntu 18.04 LTS to install the thing as a systemd service, but if someone has knowledge in, e.g.
PyPi/pip packaging, it could make installation much easier.
Cheers,
-Etienne
--
Etienne Gaudrain, PhD
Centre de Recherche en Neurosciences de Lyon - CNRS UMR 5292
Université Lyon 1
50 av. Tony Garnier
69366 Lyon Cedex 7, FR
UMCG, Afdeling KNO, BB20
PO Box 30.001
9700 RB Groningen, NL
Phone +31 5036 13290
Skype egaudrain
Note: emails to this address are limited to 10 MB. To send larger files, use
egaudrain.cam@xxxxxxxxx.
Hi Jessica and List,
We’ve been compiling a resource of online experiment platforms for behavioural auditory research which might be of use for some of you.
Note, experiment builders which are listed as hosting by Pavlovia can potentially be hosted elsewhere.
Have a good long weekend everyone,
Cheers,
Felix
Integrated Service providers
Name
|
GUI
|
hosting
|
Cost
|
Comment
|
URL
|
Tutorials/Templates
|
Qualtrics
|
yes
|
provided
|
~2500$/year
|
Survey builder with integrated audio/video support. Limitations for randomisation. For surveys only.
|
Qualtrics.com
|
Qualtrics Tutorials
|
|
|
|
|
|
|
|
Gorilla.sc
|
yes
|
provided
|
1.08 USD per participant
|
Online experiment builder with drag & drop GUI but limitations for randomisation among others.
|
Gorilla.sc
|
gorilla.sc tutorials
|
|
|
|
|
|
|
|
Testable
|
Yes
|
provided
|
Mixed payment. Potentially free
|
Very simple experiment builder for basic behavioural experiments. Automatic credit granting via SONA may not be possible.
|
Testable.org
|
Testable tutorials
|
|
|
|
|
|
|
|
Inquisit Web
|
No
|
provided
|
200 USD/month
|
Scriptable experiment platform, which requires a client installation from the participant, but in turn provides the potentially best control and precision
|
Inquisit Web Link
|
Inquisit templates
|
|
|
|
|
|
|
|
Labvanced
|
Yes
|
provided
|
1080 EUR/quarter
|
Versatile interface and large amount of tutorials and support online
|
Labvanced.com
|
Labvanced Video tutorials
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Experiment builder software (free)
Name
|
GUI
|
Coding language
|
hosting
|
Comment
|
URL
|
Tutorials,
Templates
|
PsychoPy3
|
Yes
|
Python
|
Pavlovia
|
Similar in structure to e-prime, pavlovia implemented
|
PsychoPy.org
|
Link
|
|
|
|
|
|
|
|
PsychoJS
|
No, works in conjunction with PsychoPy
|
_javascript_
|
Pavlovia
|
_javascript_ library for PsychoPy experiments
|
psychoJS
|
Link
|
|
|
|
|
|
|
|
JsPsych
|
No
|
_javascript_
|
Pavlovia
|
_javascript_ library
|
JSPsych.org
|
Link
|
|
|
|
|
|
|
|
PsyToolkit
|
No
|
own
|
provided
|
Basic script-based experiment builder with its own scripting language
|
PsyToolkit.org
|
Link
|
|
|
|
|
|
|
|
NodeGame
|
No
|
_javascript_
|
self
|
_javascript_ based experiment builder with option for multi-participant designs
|
NodeGame.org
|
Link
|
|
|
|
|
|
|
|
Tatool
|
Yes
|
_javascript_
|
self
|
Simple experiment builder, supporting both a GUI or _javascript_.
|
Tatool-Web.com
|
Link
|
|
|
|
|
|
|
|
LionessLab
|
Yes
|
|
self
|
A simple online experiment builder that allows for interactive experiments
|
Lioness-Lab.org
|
Link
|
|
|
|
|
|
|
|
O-tree
|
No
|
Python
|
self
|
Python based experiment builder with option for multi-participant designs
|
OTree.org
|
Link
|
|
|
|
|
|
|
|
LabJS
|
Yes
|
HTML, _javascript_
|
Pavlovia
|
User friendly HTML experiment builder with some GUI functionality
|
LabJS
|
Link
|
|
|
|
|
|
|
|
OpenSesame
|
Yes
|
Python, _javascript_
|
self
|
Online experiment builder with minimal GUI, using both _javascript_ and python
|
OpenSesame
|
Link
|
|
|
|
|
|
|
|
R-Shiny
|
No
|
R
|
self
|
R package to build interactive web apps from R Studio, extendable with CSS, html and _javascript_
|
Shiny Rstudio
|
Link
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hosting platforms
Name
|
Cost
|
Comment
|
URL
|
Pavlovia
|
1500 pounds/year
|
Hosting platform by the University of Nottingham, designed for PsychoPy/PsychJS but also hosts LabJS and jsPsych
|
Pavlovia.org
|
|
|
|
|
Amazon Web Services
|
variable
|
Web hosting service by Amazon
|
AWS
|
|
|
|
|
Firebase
|
Storage: 0.03$/GB
Traffic: 0.15$/GB
|
Web hosting service by Google
|
firebase.google.com
|
|
|
|
|
Heroku
|
variable
|
|
Heroku.com
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Containers (runtime environments required to run experimental code on servers)
From: AUDITORY - Research in Auditory Perception [mailto:AUDITORY@xxxxxxxxxxxxxxx]
On Behalf Of Jessica Louise Slater, Ms
Sent: Thursday, 9 April 2020 12:07 AM
To: AUDITORY@xxxxxxxxxxxxxxx
Subject: [AUDITORY] online data collection for auditory experiments
Like many labs, we are currently evaluating options for running auditory experiments online. I wondered if others would be willing to share their experiences with online data collection, or resources
they have found helpful - particularly pertaining to the challenges of auditory stimulus presentation (e.g. timing precision)? We currently have adaptive tasks running in Matlab so are especially interested to hear about experiences using Matlab-based solutions,
but any insights very welcome.
|