sam81 / pychoacoustics Goto Github PK
View Code? Open in Web Editor NEWSoftware for psychoacoustics experiments
Home Page: http://samcarcagno.altervista.org/pychoacoustics/pychoacoustics.html
License: GNU General Public License v3.0
Software for psychoacoustics experiments
Home Page: http://samcarcagno.altervista.org/pychoacoustics/pychoacoustics.html
License: GNU General Public License v3.0
The block-summary and session-summary result files should be named with suffixes according to this categorization. The "full" files could be renames as "trial-summary" result files.
Add plots for all paradigms.
The response box could have a panel showing the results update after each trial. The plot could be a staircase for adaptive procedures, and a barplot showing percent correct and/or d' for constant procedures.
Smileys are one of the feedback options for the response light box. They're not displaying on OS X (where also application icons are not displaying).
Generate html report through intermediate rst file.
on pyqt5 a QMainWindow without a parent is a primary window and has an entry in the taskbar, but a
QMainWindow with a parent is a secondary window and doesn't have an entry in the task bar (see http://doc.qt.io/qt-5/application-windows.html). The response box, being a child of the control window doesn't have an entry in the task bar and cannot be shown independently of the control window, which is annoying.
Add a dialog to fit psychometric function from full_table
files.
Hi,
I can't seem to load a prm file again in Windows. Here's the steps to reproduce it.
python setup.py install
.python pychoacoustics.pyw
.Traceback (most recent call last):
File "C:\Users\20185408\surfdrive\Spyder\pychoacoustics-0.5.10_myV2\pychoacoustics\control_window.py", line 4947, in onClickLoadParametersButton
self.loadParameters(fName)
File "C:\Users\20185408\surfdrive\Spyder\pychoacoustics-0.5.10_myV2\pychoacoustics\control_window.py", line 5187, in loadParameters
tmp['b'+str(blockNumber)]['fileChooserCheckBox'].append(strToBoolean(allLines[foo['b'+str(blockNumber)]['startFileChooser']+i].split(':')[2].strip()))
File "C:\Users\20185408\surfdrive\Spyder\pychoacoustics-0.5.10_myV2\pychoacoustics\utils_general.py", line 68, in strToBoolean
return out
UnboundLocalError: local variable 'out' referenced before assignment
Here's what I have tried:
Is this a Windows specific problem? How can I resolve this?
Add block performance feedback at the end of each block. Usually it's not a very good idea to give block-level feedback because participants should not know about different experimental conditions. However, block-level feedback be added as an option.
Correct/Incorrect and smiley feedback options. Also, add the ability to change color of feedback lights.
Compress files before sending by e-mail
The logging module is already partly used to log error messages, but its use should be extended, also check errors on Windows with python GUI mode.
Documentation is currently incomplete. The pychoacoustics
manual needs to cover all functions.
Document
Add d' calculation widgets.
Tests need to be written for many functions/procedures:
Write 'what's this' and tooltips for all widgets. The 'what's this' are currently written for the text fields, choosers etc. Copy them also for the text field labels, chooser labels, etc...
Several points:
Currently the UML procedure can be used only with n-Down n-Up sweetpoint selection rules. The ability to run the UML procedure with a random sweetpoint selection rule should be added.
Add support (translations, fromatting of numbers and dates) for languages other than English in the control window.
ABX process and process results text
Edited unsaved fields and choosers could change color (use on editing finished)
The full files could record the start of each sound and the time the listener responded
If a plain text or tabular result file can't be processed (because no procedure exists to process it) from the dialog process results, a warning (e.g. a pop-up message) should be given to the user
The end of session command is not executed if results file name contains spaces.
It may be good to automate the process of adding tags (e.g. beta) to the builds
Could experiment on using a separate QThread for playing sounds in trials. Should make sure that this doesn't compromise the synchronization of the sounds with the lights.
they should be called something like "signal+noise" and "noise"
It would be good to have a commandline option to start pychoacoustics
with all windows hidden. This would be useful for running simulations in the background. Currently the best alternative is the commandline option to start with minimized windows.
Add vocal instructions at beginning end of each block.
Add 'Delete All' button. This may be useful in some cases. But its utility must be weighed with the downside of adding another button which may make the interface less useful. An alternative may be to have a menu entry in the toolbar.
Block level and session level fields/choosers could have different colors or some other distinguishing mark.
The lambda estimation point is fixed at a level where performance correct is expected to be at ceiling. The choice of this value may be problematic in some situations (e.g. finding the level of a tone that works well for normal hearing and hearing impaired listeners in a signal detection task may be tricky). To address this issue there should be an option to change the lambda estimation point dynamically.
The proposed change is detailed below:
use the inverse of the chosen psychometric function to estimate the stimulus level at a high percent correct point (e.g 99%) on the psychometric function using the current parameter estimate:
xCeiling = invPsy(0.99-estLambda, estAlpha, estBeta, gamma, estLambda)
and use this stimulus value for the lambda sweetpoint when it exceeds a 'suggested' stimulus value that should work for most listeners:
stimValForLambdaSwtp = max(suggestedVal, xCeiling)
The procedure would use this value for estimating lambda, except if it falls below the estimated stimulus value at the 0.99-estLambda proportion correct. As a final touch one could add an absolute upper stimulus level 'highestStimAllowed' (dictated by equipment limitations or safety concerns) that will be used if the 0.99-estLambda value is very high:
stimValForLambdaSwtp = min(max(suggestedVal, xCeiling), highestStimAllowed)
Add PySoundFile https://github.com/bastibe/PySoundFile as wav manager option.
Have a comprehensive transformed up-down procedure in which the step size can change more than once for the initial turnpoints. The procedure should also allow that the track be terminated when either a fixed number of turnpoints, or a fixed number of trials has been reached.
Replace os.system
with subprocess, possibly popen for sending kill signal. This has been partly done but need to check all code.
Hi,
It appears I cannot run pychoacoustics with the version if I clone from github.
Here's what I did:
python setup.py install
.python pychoacoustics.pyw
.Traceback (most recent call last):
File "pychoacoustics.pyw", line 38, in
from pychoacoustics import qrc_resources
ImportError: cannot import name 'qrc_resources' from 'pychoacoustics' (C:\Users\20185408\surfdrive\Spyder\pychoacoustics-master\pychoacoustics_init_.py)
I tried to compile the qrc resources myself and did the following steps:
pyrcc5 -o qrc_resources.py resources.qrc
python setup.py install
.How can I get this fixed?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.