EchoCancel - EPI Noise Echo Cancellation

Patryk Laurent (pakl.net)

This program uses scanner noise from the previous TR to cancel out sound during the next TR, allowing you to hear what a participant says.

Use it live: Use this program during fMRI studies so you can hear your participant in real time.

Use it off-line: You can also use this program after the fMRI scan to process your recordings from the scanner, leaving you with a pretty clean copy.

Notes:

  • The precise repetition time (TR) may change slightly from day to day. You may need to calibrate the timing of the delay. A resting state scan provides the perfect data for this calibration, because the participant isn't talking.
  • This only works when participants are responding during a single TR. If they respond during two TRs in a row, the response from the first TR will interfere with the response during the second TR.
  • If all you hear is the TR click, you might have to change from left to right stereo channel. Either pre-edit the recording so you only have the correct channel, or change the code to use soundfile.channel(1); or soundfile.channel(2);
Procedure
  1. Install ChucK from Princeton's site (Download ChucK).
  2. Download my program echocancel.ck
  3. Use ChucK to run my program.
    Offline usage: chuck echocancel.ck:yourNoisyFile.wav