pychoacoustics
Pychoacoustics is a Python program that can be used to run pre-made auditory psychophysics experiments, or to build your own with minimal effort. The kind of experiments you can build/run with the program are classic psychoacoustics experiments like frequency or level discrimination with adaptive or constant procedures. The supported procedures include:
- Transformed up-down (with a single track or multiple interleaved tracks)
- Weighted up-down (with a single track or multiple interleaved tracks)
- PEST
- PSI+/PSI-marginal
- Updated Maximum Likelihood (UML)
- Yes/No
- ABX
- Same-Different
- Odd-One-Out
Pychoacoustics also includes 'sndlib.py' a rich and easy to use library to generate different kinds of auditory stimuli for your experiments.
There is no "stable" version at the moment, the software can be considered in "testing" status.The core of the software is quite stable and it has been used to collect data for several published experiments, however there are routines that have received little testing. The documentation for the latest testing version can be found on Read the Docs. The documentation at the moment is incomplete.
The source code is hosted on GitHub. Documentation for the version in development can be found on Read the Docs.
Installation
Windows
An experimental installer for Windows is available on SourceForgeAll Platforms
pychoacoustics is written in Python and can be installed via pip:
pip install pychoacoustics
once the program is installed you can launch it from a bash/DOS terminal with the command `pychoacoustics`. Note that the program needs to be launched in the same Python environment in which it has been installed. The program has been tested on Linux and Windows. It should work also on Mac computers but this has not been tested. Depending on your Python distribution you may want to install the python modules pychoacoustics depends on before installing pychoacoustics (e.g. via the conda package manager if you're using the Anaconda Python distribution). The dependencies are:
- PyQt5
- numpy
- scipy
- pandas
- matplotlib
- PyAudio
Screenshots
The pychoacoustics control window:The pychoacoustics response box:
The pychoacoustics edit phones dialog: