Collecting IVR Response Data

I’m working on a research project that examines comprehension of audio by blind and visually impaired learners. My idea is to use the IVR module to present audio and record responses. The problem is that I need to record caller responses with a reasonable amount of time precision. For example, if the IVR is playing segmentX, which is 15 seconds long, and the caller responds at 6.5 seconds, I need to record the response, the time, and take action (e.g., play another IVR segment).

Are there Asterisk applications that can get me this data? Are there commercial products that I could use to do this?

Thanks for the feedback.

You could use the TALK_DETECT function on the desired channel to emit talking events over AMI (or other modules).