Abstract:
The present invention provides for a method and system for identifying a sonic event of interest within a received audio signal. A sonic event is characterized by a predetermined rate of change in the perceived audio volume, and is associated with the loudness of the audio. The present invention detects a sonic event such as a percussive hit without requiring that the detector be disabled for a fixed time to avoid false triggering. Because the detector is not disabled during the detection process, sonic events occurring in close proximity are easily recognized and not ignored as in some conventional systems.

Description:
FIELD OF THE INVENTION 
     The present invention relates generally to digital signal processing techniques for processing an audio signal and more particularly to digital signal processing techniques for identifying the onset of a sonic event within an audio signal. 
     BACKGROUND OF THE INVENTION 
     A common task in the production of a multimedia program involves the editing of the audio signal for the program. Typically, the audio signal is edited to enhance or augment the originally recorded audio. This involves either mixing other audio with the original audio or totally replacing a portion of the audio with new audio. In either case it is necessary to precisely identify the start of an audio segment that is to be edited so that the modified audio will seamlessly fit in with the rest of the audio. Frequently, the point of editing is associated with a particular sonic event such as a percussive hit or other distinctive, loud sound, and thus it becomes necessary to identify these events. 
     Because of the precision required to locate the onset of a sonic event such as a percussive hit, digital signal processing methods have been implemented on computer systems to detect these events in an automated fashion. Conventionally, an analog audio signal, representing the volume of the audio, is sampled by an Analog-to-Digital (A/D) converter to produce a digital representation of the signal. The sonic event is then identified by comparing the resulting digital values against a threshold value that corresponds to the particular sonic event of interest. If the digital value of the audio exceeds the predetermined threshold value, the sonic event is said to have occurred. While this approach is useful in deciding when the volume of the audio rises above a predetermined level, it has the disadvantage that a sonic event will be triggered for as long as the volume exceeds the threshold value. In other words, if the volume remains above the threshold level for a significant period of time, multiple sonic events are triggered. To avoid this consequence, the detection analysis is typically “turned off” for a fixed interval of time after the initial detection of the sonic event. While disabling the detector for a set time interval may eliminate multiple triggering, it also has the disadvantage that a legitimate sonic event can not be detected during this interval. Thus, information about the audio signal may be lost during the time the detection process is “turned off”, and the editing of the audio is necessarily restricted due to the failure of the system to detect the event. Furthermore, false triggers may be generated if the volume continues above the threshold value when detection is resumed after the fixed time interval has expired. 
     Thus it is desirable to provide for an automated system and method for recognizing the onset of a sonic event that is characterized by a rapid increase in volume without requiring that the detection process be disabled to avoid false triggering of sonic events. 
     SUMMARY OF THE INVENTION 
     The present invention provides for a method and system for identifying a sonic event of interest within a received audio signal. A sonic event is characterized by a predetermined rate of change in the perceived audio volume, and is associated with the loudness of the audio. 
     In one aspect of the invention, examples of a sonic event include percussive hits such as those emanating from drums, cymbals or a piano. 
     In a further aspect of the invention, a first digital signal corresponding to a filtered digital representation of the audio signal is generated, and a second digital signal representative of the rate of change of the first digital signal is derived from the filtered representation. A sonic event is said to occur when the second digital signal exceeds a predetermined level. 
     In another aspect of the invention, the digital representation of the audio is high-pass filtered to remove inaudible low frequencies. In one practice of the invention the high-pass filter has a pass band above 20 Hz. 
     In a yet further aspect of the invention, the energy of the high-pass filtered digital signal is derived and then filtered with a low-pass filter to remove audible frequencies. The low-pass filter advantageously has only real poles to avoid oscillatory transients resulting from the filter “ringing”. 
     In a still further aspect of the invention, a digital signal representative of the perceived volume of the original audio is generated from the low-pass filtered energy signal, differentiated and scaled appropriately to derive a digital signal indicative of a change in the volume that can be compared with a predetermined threshold value for determining the onset of the sonic event of interest. 
     The method and system according to the present invention advantageously provides for detection of a sonic event such as a percussive hit without requiring that the detector be disabled for a fixed time to avoid false triggering. Furthermore, because the detector is not disabled during the detection process, sonic events occurring in close proximity are easily recognized and not ignored as in some conventional systems. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     A specific embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings in which: 
     FIG. 1 is a schematic diagram of a computer system suitable for implementing a system for identifying a sonic event according to the present invention. 
     FIG. 2 depicts an analog audio signal. 
     FIG. 3 depicts a sampled digital signal corresponding to the analog audio signal of FIG.  2 . 
     FIG. 4 shows a flow chart of the method of identifying a sonic event within a stream of audio, according to the present invention. 
    
    
     DETAILED DESCRIPTION 
     Referring to FIG. 1 there is a shown as a schematic diagram a computer system for practicing the present invention. The computer system may be programmed using typical computer programming languages such as C or C++ which is then compiled into object code and linked into code executable by the computer system, using a suitable compiler and linker as those of ordinary skill in the art will readily understand. Computer system  100  includes a central processing unit (CPU)  105  for executing computer instructions, a random access memory (RAM)  110  for storing the computer instructions and other data, and a non volatile memory  115  such as a hard disk or CDROM drive for permanently storing data. Computer system  100  further includes a computer bus  120  that allows for communication among the CPU  105 , RAM  110 , and non-volatile memory  115 . An input device  125  such as a keyboard is connected to computer system  100  for entering alphanumeric data into computer system  100 . A display monitor  130  is also connected to computer system  100  for displaying text and graphics data generated by the computer system  100 . 
     Computer system  100  includes an audio adapter  135  for receiving and transmitting analog audio signals. The audio adapter  135  includes an audio input port  140  for receiving an audio signal and an audio output port  145  for transmitting an audio signal. Audio input port  140  interfaces to a transducer  150  for converting the acoustic energy received into electrical energy. An Analog-to-Digital (A/D) converter  155  samples the resulting electrical signal corresponding to the electrical energy and generates a digital representation of the signal. Similarly, a digital-to-analog (D/A) converter  160  interfaces to a transducer  165  at audio output port  145  for converting a digital signal to an analog signal, prior to transmission by the transducer  165 . The audio adapter  135  includes a computer bus interface  175  for transmitting or receiving digital data over communications bus  120  to or from the other components of the computer system  100 . 
     Computer system  100  may be programmed, for example, by using the computer programming languages referred to above, along with other computer programming languages, to enable the automated detection of a sonic event within an audio signal that is received by the computer system. The present invention provides a system for detecting a sonic event that is implemented in software and executable on the CPU  105  of computer system  100 . In the following description it will be assumed that the automated detection of a sonic event such as a percussive hit or distinctive loud sound is the desired objective. In general a sonic event is characterized by a fast rising increase in sound volume for which the rate of increase exceeds a predetermined threshold corresponding to the sonic event of interest. 
     In one practice of the present invention, a stream of audio energy is received by computer system  100  at audio input port  140 . The audio may represent voiced or unvoiced audio. Unvoiced audio may include, but is not limited to, sound generated by musical instruments such as a drum, horn, or cymbal and also sounds produced by nature such as thunder. Transducer  150  converts the received acoustic energy to electrical energy, generating an audio signal  200  as shown in FIG. 2 that corresponds to the input stream of audio energy. The audio signal  200  is sampled at periodic intervals by the A/D converter  155  and the resulting sample values are quantized to generate a digital signal  300 , as shown in FIG.  3 . The audio signal is typically sampled at 44.1 kHz or 48 kHz, but those of ordinary skill in the art will recognize that other sampling rates may be used and still be within the scope of the invention. After the A/D conversion and quantization by audio adapter  135 , digital sample values {x i } are produced and sent via computer bus  120  to be stored in the RAM  110  for processing by software implementing the inventive method for identifying the onset of a sonic event. The A/D converter  155  generates 16 or 24 bit values for each x i  sample, depending on the actual A/D converter that is employed. The 16 or 24 bit values are converted to a 32 bit IEEE floating point format with 0 dB as digital full scale. It is the 32 bit IEEE floating point format that is used in carrying out the method of the present invention. 
     A description of the method by which the software executed on computer system  100  detects a sonic event is now provided with reference to the process chart of FIG.  4 . Having generated in step  410  the {x i } digital sample values representing the digital signal  300  corresponding to the original audio signal, the digital signal is high-pass filtered in step  420  to remove inaudible low frequencies below 20 Hz. Since a sonic event is characterized by a rapid increase in sound volume, the audio at these frequencies can not represent such an event. In the preferred embodiment of the invention, the high-pass filter is a second order Butterworth filter with a cut off frequency of 120 Hz. However, those of ordinary skill in the art will recognize that other digital filters are suitable for practicing the invention. 
     After the high-pass filtering, a new set of digital samples {y i } is generated. In step  430 , an energy signal {y i   2 } is produced which is representative of the energy found in the {y i } digital samples. In step  440 , the resulting energy signal {y i   2 } is low-pass filtered to remove audible frequencies. Specifically, the energy signal is low-pass filtered to remove frequencies above approximately 20 Hz. In a preferred embodiment of the invention the low-pass filter employed has real poles to avoid oscillatory transients caused by the filter “ringing”. These oscillatory transients may induce a false triggering of the sonic event and thus it is desirable to eliminate these artifacts. In the preferred embodiment of the invention, the low-pass filter is comprised of two cascaded one-pole Butterworth filters with a cut off frequency of 15 Hz. A third order elliptical filter with a cut off frequency of 90 Hz is also suitable for practicing the invention. Those of ordinary skill in the art will recognize that other digital filters are suitable for practicing the invention and are considered within the scope of the invention. By low-pass filtering the energy signal {y i   2 } a new energy signal {z i   2 } is generated that eliminates frequencies above approximately 20 Hz. In step  450 , the positive square root of the {z i   2 } digital signal is take to produce a filtered signal {z i } that corresponds to the perceived “loudness” or volume of the original signal. 
     Because the sonic events of interest are associated with a rapid increase in volume over a very short interval of time, these events can be identified, as shown in step  460 , by numerically differentiating the signal {z i } with relation to time to derive a signal {z i ′} that represents a measure of the rate of change of the digital signal {z i }. Procedures for performing a numerical differentiation are well known to those of ordinary skill in the art. Since the values of the {z i ′} signal are very much smaller than the initial values of the {x i }, the {z i ′} signal is scaled in step  470  to account for this difference. In the preferred embodiment of the invention, the scaling factor is 1024, which corresponds approximately to the detection of a percussive hit. The threshold value is determined experimentally according to the particular sonic event of interest that is to be detected. 
     The resulting scaled signal {Z i } is compared against a predetermined threshold value that corresponds to the sonic event of interest. The scaling factor adjusts the magnitude of the {z i ′} signal values to the range of the initial audio volume so that the threshold value chosen by the user of the system conforms to a range of values consistent with the initial loudness of the audio. Since scaling is performed to accommodate the user in selecting a threshold value corresponding to the sonic event of interest, those of ordinary skill in the art will recognize that other scaling factors than 1024 may be used to practice the invention. The scaling operation is performed to facilitate selection of an appropriate threshold value by the user. If the scaled signal {Z i } exceeds the predetermined threshold set by the user of the system as shown in step  480 , the sonic event of interest is said to have occurred. 
     It is noted that the method described herein for detecting a sonic event of interest advantageously continues comparing the selected threshold value representing the event to the scaled signal {Z i } regardless to whether a sonic event was previously detected in order to detect further such events. In comparison to conventional methods of detecting a sonic event, the detector is not disabled for an interval of time in order to avoid false triggering. Consequently, the method of the present invention eliminates the window when the detector is not capable of detecting the desired event. 
     Having described the invention, it should be apparent to those of ordinary skill in the art that the foregoing is illustrative and not limiting. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope of the invention as defined by the appended claims.