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:
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.
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