Mistuning Perception Test (MPT)
The MPT is an adaptive test of mistuning perception abilities.
We invite you to try the MPT here!
We hope to publish a paper describing the creation of the MPT in the near future. In the meanwhile, you can cite this repository as follows:
Larrouy-Maestri, P., Harrison, P. M. C., & Müllensiefen, D. (2018). Mistuning Perception Test, psychTestR implementation. Zenodo. https://doi.org/10.5281/zenodo.1415363
We also advise mentioning the software versions you used,
in particular the versions of the
You can find these version numbers from R by running the following commands:
library(mpt) library(psychTestR) library(psychTestRCAT) if (!require(devtools)) install.packages("devtools") x <- devtools::session_info() x$packages[x$packages$package %in% c("mpt", "psychTestR", "psychTestRCAT"), ]
Installation instructions (local use)
If you don't have R installed, install it from here: https://cloud.r-project.org/
Install the ‘devtools’ package with the following command:
- Install the MPT:
You can demo the MPT at the R console, as follows:
# Load the mpt package library(mpt) # Run a demo test, with feedback as you progress through the test, # and not saving your data demo_mpt() # Run a demo test, skipping the training phase, and only asking 5 questions demo_mpt(num_items = 5, take_training = FALSE)
Testing a participant
standalone_mpt() function is designed for real data collection.
In particular, the participant doesn't receive feedback during this version.
# Load the mpt package library(mpt) # Run the test as if for a participant, using default settings, # saving data, and with a custom admin password standalone_mpt(admin_password = "put-your-password-here")
You will need to enter a participant ID for each participant. This will be stored along with their results.
Each time you test a new participant,
and a new participation session will begin.
You can retrieve your data by starting up a participation session, entering the admin panel using your admin password, and downloading your data. For more details on the psychTestR interface, see http://psychtestr.com/.
The MPT currently supports English (EN), French (FR), and German (DE).
You can select one of these languages by passing a language code as
an argument to
standalone_mpt(languages = "DE"),
or alternatively by passing it as a URL parameter to the test browser,
eg. http://127.0.0.1:4412/?language=DE (note that the
p_id argument must be empty).
Installation instructions (Shiny Server)
- Complete the installation instructions described under 'Local use'.
- If not already installed, install Shiny Server Open Source: https://www.rstudio.com/products/shiny/download-server/
- Navigate to the Shiny Server app directory.
- Make a folder to contain your new Shiny app. The name of this folder will correspond to the URL.
sudo mkdir mpt
- Make a text file in this folder called
app.Rspecifying the R code to run the app.
- To open the text editor:
sudo nano mpt/app.R
- Write the following in the text file:
library(mpt) standalone_mpt(admin_password = "put-your-password-here")
- Save the file (CTRL-O).
- Change the permissions of your app directory so that
psychTestRcan write its temporary files there.
sudo chown -R shiny mpt
shiny is the username for the Shiny process user
(this is the usual default).
- Navigate to your new shiny app, with a URL that looks like this: `http://my-web-page.org:3838/mpt
By default, the MPT implementation always estimates participant abilities using weighted-likelihood estimation. This differs from our validation study, where online abilities were scored using Bayes modal estimation. We adopt weighted-likelihood estimation for this release because this technique makes fewer assumptions about the participant group being tested. This makes the test better suited to testing with diverse participant groups (e.g. children, clinical populations).
- The MPT runs in your web browser.
- By default, audio files are hosted online on our servers. The test therefore requires internet connectivity.