Sound Feedback Control
Previous Top Next


Delivering sound feedback


The SAP2 Recorder is provided with some foundation that will allow you to extend functionality to include control of auditory feedback response to appropriate sounds. The current version has a primitive prototype that performs the simplest possible feedback response, which is a sound playback in response to amplitude-trigger (with no online frequency analysis). We did not include online frequency analysis because we believe that the construction of the so called ‘match filter’ should include several compromises, and we feel that determining a useful set of constraints on the algorithm will only be useful if it involves laboratories with a primary interest in accurate auditory feedback  

The current version only includes the prototype methods that allow automatic response to sound based on amplitude threshold, which is the simplest (and not the most useful) kind of auditory feedback. This illustration shows how the mechanism works:

graphic

The feedback implementation is very simple: set the number of sound peaks to trigger playbacks in the feedback window, and all the rest of the setting is identical to that of operant training.
graphic




When setting the number of peaks to trigger to any positive number, SA+ will respond to peaks that crossed amplitude threshold with a sound playback.

Using simple manipulation of the source code, you can easily extend this functionality to detect any pattern in the time-series of peaks with little extra computation cost. This is very easy to do, by addition functionality to the event handler of peak detection. That is, you can add code to the method that handles the notification of peaks, which currently say only:

{
    case PeakCounterTrigger:                           // in a case of X number of peaks detected
                Bird1->TriggerSound();                  // play a sound to bird 1
}

For example, you can extend this command to trigger a sound only if X peaks occurred within a certain duration (which set a frequency filter) with little real-time cost. Feel free to manipulate this function and we will be happy to incorporate your modification in SA+.  
 
Limitations: With the current setting, and with no efforts made to improve performance, the SA+ typical response time is about 25ms from detection. Frequency analysis should only add a few milliseconds. To allow high specificity of delayed feedback, based on spectral shape, users should be ready to invest some resources. One of the least expensive options is using the services of David Swigger (), who is the programmer of this DSP engine, to determine the cost of the desired extension. In terms of computation cost, the extension is not too expensive using the existing SA+ routines. The more challenging part, however, is of achieving high accuracy of feedback timing. Depending on the application, achieving sufficient accuracy might be constrained by hardware limitation and by requirements for certain manipulations of the MS Windows operating system.
  

Created using Helpmatic Pro HTML