Embodiments described herein relate to methods and devices for improving the robustness of a speech processing system.
Many devices include microphones, which can be used to detect ambient sounds. In many situations, the ambient sounds include the speech of one or more nearby speaker. Audio signals generated by the microphones can be used in many ways. For example, audio signals representing speech can be used as the input to a speech recognition system, allowing a user to control a device or system using spoken commands.
It has been suggested that it is possible to interfere with the operation of such a system by transmitting an ultrasound signal, which is by definition inaudible to the user of the device, but which is converted into a signal in the audio frequency band by non-linear components of the electronic circuitry in the device, and which will be recognised as speech by the speech recognition system. Such a malicious ultrasonics-based attack is sometimes referred to as a “dolphin attack”, due to the similarity with how dolphins communicate in ultrasonic audio bands.
According to an aspect of the present invention, there is provided a method for improving the robustness of a speech processing system having at least one speech processing module, the method comprising: receiving an input sound signal comprising audio and non-audio frequencies; separating the input sound signal into an audio band component and a non-audio band component; identifying possible interference within the audio band from the non-audio band component; and adjusting the operation of a downstream speech processing module based on said identification.
According to another aspect of the present invention, there is provided a system for improving the robustness of a speech processing system, configured for operating in accordance with the method.
According to another aspect of the present invention, there is provided a device comprising such a system. The device may comprise a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.
According to another aspect of the present invention, there is provided a computer program product, comprising a computer-readable tangible medium, and instructions for performing a method according to the first aspect.
According to another aspect of the present invention, there is provided a non-transitory computer readable storage medium having computer-executable instructions stored thereon that, when executed by processor circuitry, cause the processor circuitry to perform a method according to the first aspect. According to further aspects of the invention, there is provided a device comprising the non-transitory computer readable storage medium. The device may comprise a mobile telephone, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller or a domestic appliance.
According to another aspect of the present invention, there is provided a method of detecting an ultrasound interference signal, the method comprising:
According to another aspect of the present invention, there is provided a method of detecting an ultrasound interference signal, the method comprising:
According to another aspect of the present invention, there is provided a method of processing a signal containing an ultrasound interference signal, the method comprising:
In that case, comparing the audio band component of the input signal and the modified ultrasound component may comprise:
The method may further comprise sending the audio band component of the input signal to a speech processing module only if no ultrasound interference signal is detected.
The step of comparing the audio band component of the input signal and the modified ultrasound component may comprise:
The filter may be an adaptive filter, and the method may comprise adapting the adaptive filter such that the component of the filtered modified ultrasound component in the output signal is minimised.
For a better understanding of the present invention, and to show how it may be put into effect, reference will now be made to the accompanying drawings, in which:
The description below sets forth example embodiments according to this disclosure. Further example embodiments and implementations will be apparent to those having ordinary skill in the art. Further, those having ordinary skill in the art will recognize that various equivalent techniques may be applied in lieu of, or in conjunction with, the embodiments discussed below, and all such equivalents should be deemed as being encompassed by the present disclosure.
The methods described herein can be implemented in a wide range of devices and systems. However, for ease of explanation of one embodiment, an illustrative example will be described, in which the implementation occurs in a smartphone.
Specifically,
Thus,
In this embodiment, the smartphone 10 is provided with voice biometric functionality, and with control functionality. Thus, the smartphone 10 is able to perform various functions in response to spoken commands from an enrolled user. The biometric functionality is able to distinguish between spoken commands from the enrolled user, and the same commands when spoken by a different person. Thus, certain embodiments of the invention relate to operation of a smartphone or another portable electronic device with some sort of voice operability, for example a tablet or laptop computer, a games console, a home control system, a home entertainment system, an in-vehicle entertainment system, a domestic appliance, or the like, in which the voice biometric functionality is performed in the device that is intended to carry out the spoken command. Certain other embodiments relate to systems in which the voice biometric functionality is performed on a smartphone or other device, which then transmits the commands to a separate device if the voice biometric functionality is able to confirm that the speaker was the enrolled user.
In some embodiments, while voice biometric functionality is performed on the smartphone 10 or other device that is located close to the user, the spoken commands are transmitted using the transceiver 18 to a remote speech recognition system, which determines the meaning of the spoken commands. For example, the speech recognition system may be located on one or more remote server in a cloud computing environment. Signals based on the meaning of the spoken commands are then returned to the smartphone 10 or other local device.
In such a system, there may be a non-linearity in the system. For example, the non-linearity may be in the microphone 12, or may be in signal conditioning circuitry in the speech processing block 30.
The effect of this is non-linearity in the circuitry is that ultrasonic tones may mix down into the audio band.
In step 52, the method comprises receiving an input sound signal comprising audio and non-audio frequencies.
In step 54, the method comprises separating the input sound signal into an audio band component and a non-audio band component. The non-audio component may be an ultrasonic component.
In step 56, the method comprises identifying possible interference within the audio band from the non-audio band.
Identifying possible interference within the audio band from the non-audio band component may comprise determining whether a power level of the non-audio band component exceeds a threshold value and, if so, identifying possible interference within the audio band from the non-audio band component.
Alternatively, identifying possible interference within the audio band from the non-audio band component may comprise comparing the audio band and non-audio band components.
Separating the input sound signal into an audio component and a non-audio component, such as an ultrasonic component, makes it possible to identify the presence of potentially problematic non-audio band components which may result in interference in the audio band. Such problematic signals may be present accidentally, as the result of relatively high levels of background sound signals, such as ultrasonic signals from ultrasonic sensor devices or modems. Alternatively, the problematic signals may be generated by a malicious actor in an attempt to interfere with or spoof the operation of a speech processing system, for example by generating ultrasonic signals that mix down as a result of circuit non-linearities to form audio band signals that can be misinterpreted as speech, or by generating ultrasonic signals that interfere with other aspects of the processing.
In step 58, the method comprises adjusting the operation of a downstream speech processing module based on said identification of possible interference.
The adjusting of the operation of the speech processing module may take the form of modifications to the speech processing that is performed by the speech processing module, or may take the form of modifications to the signal that is applied to the speech processing module.
For example, modifications to the speech processing that is performed by the speech processing module may involve placing less (or zero) reliance on the speech signal during time periods when possible interference is identified, or warning a user that there is possible interference.
For example, modifications to the signal that is applied to the speech processing module may take the form of attempting to remove the effect of the interference.
As mentioned with respect to
In the system of
If a source of possible interference is identified, the speech processing that is performed by the speech processing module may be modified appropriately.
If a source of possible interference is identified, the received signal may be modified appropriately, and the modified signal may then be applied to the speech processing module 30.
As in
In this embodiment, signals received from the microphone 12 are separated into an audio band component and a non-audio band component. The received signals are passed to a low-pass filter (LPF) 82, for example a low-pass filter with a cut-off frequency at or below ˜20 kHz, which filters the input sound signal to obtain an audio band component of the input sound signal. The received signals are also passed to a high-pass filter (HPF) 84, for example a high-pass filter with a cut-off frequency at or above ˜20 kHz, to obtain a non-audio band component of the input sound signal, which will be an ultrasound signal when the high-pass filter has a cut-off frequency at or above ˜20 kHz. In other embodiments, the HPF 84 may be replaced by a band-pass filter, for example with a pass-band from ˜20 kHz to ˜90 kHz. Again, the non-audio band component of the input sound signal will be an ultrasound signal when the low frequency end of the pass band of the band-pass filter is at or above ˜20 kHz.
The non-audio band component of the input sound signal is passed to a power level detect block 150, which determines whether a power level of the non-audio band component exceeds a threshold value. For example, the power level detect block 150 may determine whether the peak non-audio band (e.g. ultrasound) power level exceeds a threshold. For example, it may determine whether the peak ultrasound power level exceeds −30 dBFS (decibels relative to full scale). Such a level of ultrasound may result from an attack by a malicious party. In any event, if the ultrasound power level exceeds the threshold value, it could be identified that this may result in interference in the audio band due to non-linearities.
The threshold value may be set based on knowledge of the effect of the non-linearity in the circuit. Thus, if the effect of the nonlinearity is known to be a value A(nl), for example a 40 dB mixdown, it is possible to set a threshold A(bb) for a power level in the audio base band which could affect system operation, for example 30 dB SPL.
Then, an ultrasonic signal at or above A(us), where A(us)=A(bb)+A(nl), would cause problems in the audio band, because the non-linearity would cause it to generate a base band signal above the threshold at which system operation could be affected. With the examples given above, where A(nl)=40 dB and A(bb)=30 dB SPL, this gives a threshold value of 70 dB for the ultrasound power level.
If it is determined that the ultrasound power level exceeds the threshold value, the output of the power level detect block 150 may be a flag, to be sent to the downstream speech processing module in step 58 of the method of
In this embodiment, signals received from the microphone 12 are separated into an audio band component and a non-audio band component. The received signals are passed to a low-pass filter (LPF) 82, for example a low-pass filter with a cut-off frequency at or below ˜20 kHz, which filters the input sound signal to obtain an audio band component of the input sound signal. The received signals are also passed to a high-pass filter (HPF) 84, for example a high-pass filter with a cut-off frequency at or above ˜20 kHz, to obtain a non-audio band component of the input sound signal, which will be an ultrasound signal when the high-pass filter has a cut-off frequency at or above ˜20 kHz. In other embodiments, the HPF 84 may be replaced by a band-pass filter, for example with a pass-band from ˜20 kHz to ˜90 kHz. Again, the non-audio band component of the input sound signal will be an ultrasound signal when the low frequency end of the pass band of the band-pass filter is at or above ˜20 kHz.
The non-audio band component of the input sound signal is passed to a power level compare block 160. This compares the audio band and non-audio band components.
For example, in this case, identifying possible interference within the audio band from the non-audio band component may comprise: measuring a signal power in the audio band component Pa; measuring a signal power in the non-audio band component Pb. Then, if (Pa/Pb) is less than a threshold limit, it could be identified that this may result in interference in the audio band due to non-linearities.
In that case, the output of the power level compare block 160 may be a flag, to be sent to the downstream speech processing module in step 58 of the method of
Signals received from the microphone 12 are separated into an audio band component and a non-audio band component. The received signals are passed to a low-pass filter (LPF) 82, for example a low-pass filter with a cut-off frequency at or below ˜20 kHz, which filters the input sound signal to obtain an audio band component of the input sound signal. The received signals are also passed to a high-pass filter (HPF) 84, for example a high-pass filter with a cut-off frequency at or above ˜20 kHz, to obtain a non-audio band component of the input sound signal, which will be an ultrasound signal when the high-pass filter has a cut-off frequency at or above ˜20 kHz. In other embodiments, the HPF 84 may be replaced by a band-pass filter, for example with a pass-band from ˜20 kHz to ˜90 kHz. Again, the non-audio band component of the input sound signal will be an ultrasound signal when the low frequency end of the pass band of the band-pass filter is at or above ˜20 kHz.
The non-audio band component of the input sound signal may be passed to a block 86 that simulates the effect of a non-linearity on the signal, and then to a low-pass filter 88.
The audio band component generated by the low-pass filter 82 and the simulated non-linear signal generated by the block 86 and the low-pass filter 88 are then passed to a comparison block 90.
In one embodiment, the comparison block 90 measures a signal power in the audio band component, measures a signal power in the non-audio band component, and calculates a ratio of the signal power in the audio band component to the signal power in the non-audio band component. If this ratio is below a threshold limit, this is taken to indicate that the input sound signal may contain too high a level of ultrasound to be reliably used for speech processing. In that case, the output of the comparison block 90 may be a flag, to be sent to the downstream speech processing module in step 58 of the method of
In another embodiment, the comparison block 90 detects the envelope of the signal of the non-audio band component, and detects a level of correlation between the envelope of the signal and the audio band component. Detecting the level of correlation may comprise measuring a time-domain correlation between identified signal envelopes of the non-audio band component, and speech components of the audio band component. In this situation, some or all of the audio band component may result from ultrasound signals in the ambient sound, that have been downconverted into the audio band by non-linearities in the microphone 12. This will lead to a correlation with the non-audio band component that is selected by the filter 84. Therefore, the presence of such a correlation exceeding a threshold value is taken as an indication that there may be non-audio band interference within the audio band.
In that case, the output of the comparison block 90 may be a flag, to be sent to the downstream speech processing module in step 58 of the method of
In another embodiment, the block 86 simulates the effect of a non-linearity on the signal, to provide a simulated non-linear signal. For example, the block 86 may attempt to model the non-linearity in the system that may be causing the interference by non-linear downconversion of the input sound signal. The non-linearities simulated by the block 86 may be second-order and/or third-order non-linearities.
In that embodiment, the comparison block 90 then detects a level of correlation between the simulated non-linear signal and the audio band component. If the level of correlation exceeds a threshold value, then it is determined that there may be interference within the audio band caused by signals from the non-audio band.
Again, in that case, the output of the comparison block 90 may be a flag, to be sent to the downstream speech processing module in step 58 of the method of
Signals received from the microphone 12 are separated into an audio band component and a non-audio band component. The received signals are passed to a low-pass filter (LPF) 82, for example a low-pass filter with a cut-off frequency at or below ˜20 kHz, which filters the input sound signal to obtain an audio band component of the input sound signal. The received signals are also passed to a high-pass filter (HPF) 84, for example a high-pass filter with a cut-off frequency at or above ˜20 kHz, to obtain a non-audio band component of the input sound signal, which will be an ultrasound signal when the high-pass filter has a cut-off frequency at or above ˜20 kHz. In other embodiments, the HPF 84 may be replaced by a band-pass filter, for example with a pass-band from ˜20 kHz to ˜90 kHz. Again, the non-audio band component of the input sound signal will be an ultrasound signal when the low frequency end of the pass band of the band-pass filter is at or above ˜20 kHz.
The non-audio band component of the input sound signal may be passed to a block 86 that simulates the effect of a non-linearity on the signal, and then to a low-pass filter 88.
In the case of the embodiments shown in
The step of providing the compensated sound signal may comprise subtracting the simulated non-linear signal from the audio band component to provide the compensated output signal, which is then provided to the downstream speech processing module.
In the embodiment of
The audio band component generated by the low-pass filter 82 is passed to a subtractor 102, and the output of the further filter 100 is subtracted from the audio band component, in order to remove from the audio band signal any component caused by downconversion of ultrasound signals. The further filter 100 may be an adaptive filter, and in its simplest form it may be an adaptive gain. The further filter 100 is adapted such that the component of the filtered simulated non-linearity signal in the compensated output signal is minimised.
The resulting compensated audio band signal is passed to the downstream speech processing module.
In the embodiments illustrated above, the signals from the microphone 12 may be analog signals, and they may be passed to an analog-digital converter for conversion to digital form before being passed to the respective filters. However, for ease of illustration, in cases where it is assumed that the analog-digital conversion is not the source of non-linearity that causes ultrasound signals to be mixed down into the audio band, the analog-digital converters have not been shown in the figures.
However,
Again, the resulting signal is separated into an audio band component and a non-audio band component. The received signals are passed to a low-pass filter (LPF) 82, for example a low-pass filter with a cut-off frequency at or below ˜20 kHz, which filters the input sound signal to obtain an audio band component of the input sound signal.
In general the bandwidth of the ADC must be large enough to be able to handle the ultrasonic components of the received signal. However, in any real ADC, there will be a frequency at which the quantization noise of the ADC will start to rise. This places an upper limit on the frequencies that can be allowed into the non-linearity. Therefore,
As in other embodiments, the non-audio band component of the input sound signal may be passed to a block 86 that simulates the effect of a non-linearity on the signal, and then to a low-pass filter 88.
In the case of the embodiments shown in
In this illustrated example, the step of providing the compensated sound signal may comprise subtracting the simulated non-linear signal from the audio band component to provide the compensated output signal, which is then provided to the downstream speech processing module.
Thus, in
The resulting compensated audio band signal is passed to the downstream speech processing module.
Thus,
In these embodiments, the non-audio band component of the input sound signal may be passed to an adaptive block 140 that simulates the effect of a non-linearity on the signal. The output of the block 140 is passed to a low-pass filter 88.
As before, the adjustment of the operation of the downstream speech processing module, in step 58 of the method of
More specifically, in this illustrated example, the step of providing the compensated sound signal may comprise subtracting the simulated non-linear signal from the audio band component to provide the compensated output signal, which is then provided to the downstream speech processing module.
Thus, in
The resulting compensated audio band signal is passed to the downstream speech processing module.
In one example, the non-linearity may be modelled in the block 140 with a polynomial p(x), with the error being fed back from the output of the subtractor 102.
The Least Mean Squares algorithm may update the m-th polynomial term pm as per:
p
m
→p
m
+μ·ε·x
m
p
m
→p
m+μ·(x−α)·xm.
An alternative version applies a filtering to the error signal:
p
m
→p
m+μ·λ{(x−α)·xm},
where λ is a filter function.
For example a simple Boxcar filter could be used.
Any of the embodiments described above can be used in a two-stage system, in which the first stage corresponds to that shown in
This allows for low-power operation, as the comparison step will only be performed in situations where the non-audio band component has a signal power above the threshold level. For a non-audio band component having signal power below such a threshold, it can be assumed that no interference will be present in the input sound signal used for downstream speech processing.
The skilled person will recognise that some aspects of the above-described apparatus and methods may be embodied as processor control code, for example on a non-volatile carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus the code may comprise conventional program code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly the code may comprise code for a hardware description language such as Verilog™ or VHDL (Very high speed integrated circuit Hardware Description Language). As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another. Where appropriate, the embodiments may also be implemented using code running on a field-(re)programmable analogue array or similar device in order to configure analogue hardware.
Note that as used herein the term module shall be used to refer to a functional unit or block which may be implemented at least partly by dedicated hardware components such as custom defined circuitry and/or at least partly be implemented by one or more software processors or appropriate code running on a suitable general purpose processor or the like. A module may itself comprise other modules or functional units. A module may be provided by multiple components or sub-modules which need not be co-located and could be provided on different integrated circuits and/or running on different processors.
Embodiments may be implemented in a host device, especially a portable and/or battery powered host device such as a mobile computing device for example a laptop or tablet computer, a games console, a remote control device, a home automation controller or a domestic appliance including a domestic temperature or lighting control system, a toy, a machine such as a robot, an audio player, a video player, or a mobile telephone for example a smartphone.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single feature or other unit may fulfil the functions of several units recited in the claims. Any reference numerals or labels in the claims shall not be construed so as to limit their scope.
Number | Date | Country | Kind |
---|---|---|---|
1801874.7 | Feb 2018 | GB | national |
Number | Date | Country | |
---|---|---|---|
62571944 | Oct 2017 | US |