psychopy.org | Reference | Downloads | Github

Potential improvements to Microphone component of Experiment Builder

Device Macbook Pro (Bootcamp windows mode)
OS Windows 10
PsychoPy version 3.0.5
Standard Standalone? (y/n) Yes, standalone version
What are you trying to achieve?: Microphone recording does not work in the Macbook pro

What did you try to make it work?:
Audio recording via the microphone component

What specifically went wrong when you tried that?:
Silent (blank) audio clip was generated and did not record any sound.

Here’s my diagnostic steps to debug/solve the issue

Microphone recording does not work in the Macbook Pro, so I debugged into the microphone component (microphone.py):

  1. Printed out sound.backend.get_input_devices() into console
  2. Audio input devices returned ‘Microsoft Sound Mapper - Input’ as channel 0
  3. Noticed that by default, chnl parameter from AdvAudioCapture is always 0 when generated by experiment builder.
  4. Located the correct input device ‘Internal Microphone (Cirrus Log’ in the log, changed the code to define the chnl parameter to be ‘1’.
  5. Audio recording starts working

Note: The computer audio input device is set to ‘Internal Microphone’, I am sure of that.

Is it possible to introduce a text field for ‘Channel’ in the Mic properties in the next release?
The text field will auto generate the ‘chnl’ parameter in the AdvAudioCapture method.

I went ahead in my installation of Psychopy3 and updated the builder code/interface and it seems to work fine for me.


I’ve been searching around and I’ve noticed a common theme when people complains of audio not working, it’s to do with devices not matching the required channel.

Do let me know if this is a good idea?

Edit: Tested the same change in Mac mode and audio fails to record :frowning:

Good work @wli, I think you should put in a pull request on GitHub, that would be the right place to suggest a fix:

https://github.com/psychopy/psychopy/pulls

Thanks @dvbridges, pull request created. :slight_smile:

1 Like