Voice activity detection (VAD) is useful in a variety of contexts. Existing systems and methods may detect voice activity based on sound level. For example, the indicative signal characteristic utilized by these systems is that a signal containing voice is composed of a persistent background noise that is interrupted by short periods of louder noises that correspond to voice sounds. Problematically, sound level based VAD systems often generate false positives, indicating voice activity in the absence of voice activity. For example, false positives in a sound level based VAD system may result from detection of sounds that are louder than the background noise level but are not voice sounds. Such sounds may include doors closing, keys being dropped on desks, and keyboard typing. As a result, improved methods and apparatuses for voice activity detection are needed.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
Methods and apparatuses for enhanced vowel based voice activity detection are disclosed. The following description is presented to enable any person skilled in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed herein.
Block diagrams of example systems are illustrated and described for purposes of explanation. The functionality that is described as being performed by a single system component may be performed by multiple components. Similarly, a single component may be configured to perform functionality that is described as being performed by multiple components. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention. It is to be understood that various example of the invention, although different, are not necessarily mutually exclusive. Thus, a particular feature, characteristic, or structure described in one example embodiment may be included within other embodiments unless otherwise noted.
There are a number of signal characteristics that are indicative of human voice. The majority of human speech consists of sequences of words. Words consist of sequences of syllables. Syllables consist of sequences of consonants and vowels.
Consonants are characterized as sounds that are made by using voice articulators, such as the tongue, lips and teeth, to interrupt the path that sound waves, generated by the vocal cords, must travel before the vocal cord sound energy passes out of the human voice system. Vowels are characterized as sounds that are made by allowing vocal cord sound energy to pass, relatively unimpeded, through the human vocal system.
In one example embodiment, a vowel based VAD sensor (also referred to herein as the “vowel sensor”) utilizes the harmonicity of human voice signals that arises from the fact that vocal cord excitation (i.e., vocal chords vibrating back and forth) contains energy at a fundamental frequency (also referred to as a base frequency), called the glottal pulse, and also at harmonics of that fundamental frequency. The vowel sensor detects signals that contain harmonic frequency components, within a range of glottal pulse frequencies. These signals are then considered to be the result of the presence of intelligible human voice.
Since the vowel sensor detects human voice signal harmonicity originating from vocal cord excitation, and since this energy is most present in vowel sounds, the sensor may be considered to be a “vowel sensor”. Unvoiced consonants are not detected by the vowel sensor because the unvoiced phones do not contain harmonically spaced frequency components. Many of the voiced consonants are not detected by the vowel sensor because the harmonic energy in these voiced phones is sufficiently attenuated by the voice articulators.
One advantage of the vowel sensor over the prior art sound level VAD sensor is that it does not interpret as human voice sounds that result from events such as doors closing, keys being put on desks and other non-harmonic noise sources, such as the masking noise played in the room by a sound masking system. In one example implementation of the vowel sensor, a signal is formed from a digitized microphone output signal by finding the circular autocorrelation of the absolute value of the short time hamming windowed audio spectrum. This signal is normalized, a non-linear median filter is used to further reduce the impact of stationary noise and then a measurement is taken on the result to determine the presence of voice.
In one example of the invention, the improved vowel based VAD method and apparatus is used by a sound masking system to detect and respond to the presence of human speech. An adaptive sound masking system installed in some area (e.g., an open space such as a large open office area where employees work in workstations or cubicles) utilizes a sensor that can report on the amount of undesirable noises in that area. The sound masking system uses the information from this sensor to make decisions on how to modify the masking sounds that it is playing. Intelligible human voice is one of the primary categories of disruptive noises that a sound masking system may wish to mask. One reason for this is that speech enters readily into the brain's working memory and is therefore highly distracting. Even speech at very low levels can be highly distracting when ambient noise levels are low. The inventor has recognized a sensor is needed that can detect specifically when intelligible human voice is present in a room.
The inventor has recognized that use of the inventive vowel sensor is particularly advantageous in sound masking system applications designed to reduce the intelligibility of speech in an open space. In particular, the inventive vowel sensor operation (i.e., the detection of a vowel sound in user speech) is directly correlated to the intelligibility of the user speech detected (i.e., the intelligibility of the vowel sound in the speech). The sound masking system output to reduce the intelligibility of speech can then be adjusted accordingly. Prior sound level based VAD techniques are inadequate to control masking noise output. Loud noises, like doors closing, keys being dropped on desks and even keyboard typing may be picked up by the system and interpreted as noises that need to be masked. It is undesirable to attempt to mask these single-occurrence non-voice events, and the focus should be on intelligible human voice that needs to be masked. The improved speech intelligibility sensing capability of the vowel sensor results in improved performance and efficacy of the sound masking system. In one embodiment, the vowel based VAD sensor includes a ceiling mounted microphone connected to a sound card that amplifies and digitizes the microphone signal so that it can be processed by a vowel based VAD algorithm.
Advantageously, in one example the vowel sensor amplifies all signal components that are harmonic in nature and attenuates all signal components that are characterized as being stationary noise. Since the masking noise consists of primarily stationary noise, the vowel sensor is not impacted by the amount of masking noise being played by the sound masking system. In other words, the vowel sensor can “see though” the sound masking noise.
Furthermore, in one example the vowel sensor utilizes the energy in all harmonic frequency components, not just the harmonic frequency component that has the most energy. This is advantageous because the vowel sensor will still be effective in office environments that contain very loud low frequency noises originating from HVAC systems. In one example, the vowel sensor filters out the low frequency noises, thereby removing the HVAC noise and, consequently, the large amplitude low frequency voice harmonics, and still maintains accurate detection of voice due to the presence of energy in many higher frequency harmonics. In other words, whenever an environment contains disruptive acoustic energy in specific frequency bands, this energy can be removed without breaking the vowel sensor algorithm.
In one example embodiment, a method for detecting user speech (also referred to herein as “voice activity”) includes receiving a microphone output signal corresponding to sound received at a microphone, and converting the microphone output signal to a digital audio signal. The method includes identifying a spoken vowel sound in the sound received at the microphone from the digital audio signal. The method further includes outputting an indication of user speech detection responsive to identifying the spoken vowel sound.
In one example embodiment, a system includes a microphone arranged to detect sound in an open space and a speech detection system. The speech detection system includes a first module configured to convert the sound received at the microphone to a digital audio signal. The speech detection system further includes a second module configured to identify a spoken vowel sound in the sound received at the microphone from the digital audio signal and output an indication of user speech responsive to identifying the spoken vowel sound. In addition to the microphone and the speech detection system, the system further includes a sound masking system configured to receive the indication of user speech detection from the speech detection system and output or adjust a sound masking noise into the open space responsive to the indication of user speech.
In one example embodiment, one or more non-transitory computer-readable storage media having computer-executable instructions stored thereon which, when executed by one or more computers, cause the one more computers to perform operations including receiving a microphone output signal corresponding to sound received at a microphone and converting the microphone output signal to a digital audio signal. The operations include identifying a spoken vowel sound in the sound received at the microphone from the digital audio signal. The operations further include outputting an indication of user speech detection responsive to identifying the spoken vowel sound.
At block 106, the digital audio signal is processed to identify a spoken vowel sound in the sound received at the microphone. In one example, identifying a spoken vowel sound in the sound received at the microphone includes detecting or amplifying harmonic frequency signal components. For example, the harmonic frequency signal components include energy in a plurality of higher frequency harmonics.
In one example, identifying a spoken vowel sound in the sound received at the microphone includes finding a circular autocorrelation of the absolute value of a short time hamming windowed audio spectrum. The impact of stationary noise is then reduced by applying a non-liner median filter to the result of the circular autocorrelation of the absolute value of the short time hamming windowed audio spectrum.
At block 108, an indication of user speech detection is output responsive to identifying the spoken vowel sound. In one example, the process may further include filtering out low frequency stationary noise present in the sound. For example, the stationary noise may include heating, ventilation, and air conditioning (HVAC) noise, which is present below 300 Hz.
In one example, the process may further include outputting a stationary noise including a sound masking noise in an open space, where the microphone is disposed in proximity to a ceiling area (e.g., just below or just above) of the open space and the sound masking sound is present in the sound received at the microphone. The sound masking noise present in the sound does not impede the VAD from accurately identifying the spoken vowel sound (i.e., accurate identification of the spoken vowel sound is immune to the presence of the sound masking noise).
At block 204, the samples are selected by being divided into overlapping windows. In one example, the window duration is 100 ms and the time delay between windows is 20 ms. In this example, the selected signal window is referred to as signal0 (“S0”) and output to block 206. At block 206, each sample window is transformed (i.e., converted) to generate a vowel analysis signal. In this example, the vowel analysis signal output from block 206 to block 208 is referred to as signal1 (“S1”).
At block 208, a measurement is taken on the vowel analysis signal. At block 210, the measurement's value is used to determine how to update (i.e., adjust) a counter. In one example, if the measurement is above a predefined threshold, the counter is incremented by a predefined amount and if it is below the measurement threshold the counter is decremented by a predefined amount. At block 212, a voice determination is made. In one example, voice is considered to be present whenever the counter value is above a predefined counter threshold.
At block 306, signal1 is equal to the frequency domain autocorrelation of signal0. At block 308, signal1 is scaled to have unity variance. At block 310, a non-linear median filter is applied to signal1 in such a way that small sections of signal1, that do not contain energy from voice harmonics, have a mean value of zero. At block 312, all frequency components outside a fixed range are set to have a value of zero. Signal1 is then output from block 312 to block 208 shown in
A Hamming window is applied to the signal0 (referred to below as x0, a 100 ms section of microphone samples):
where w is a periodic hamming window and where N is the number of samples in the window.
The result is converted into the frequency domain using the discrete Fourier transform (DFT):
x1=x0*w
x2=DFT(x1)
The converted samples are now complex. These complex values are replaced by their magnitudes (e.g., block 302 in
x3=abs(x2)
The samples to the right of the Nyquist component are set to zero (e.g., block 304 in
This signal is converted back into the time domain via the inverse DFT (e.g., block 306 in
x4=DFT−1(x3)
This time domain signal is now complex. The samples in this signal are multiplied by their conjugates (e.g., block 306 in
x5=x3*x3*
A hamming window is applied to the result and the signal is converted into the frequency domain via the DFT (e.g., block 306 in
x6=x5*w
x7=DFT(X6)
The signal samples are divided by the standard of deviation of the signal (e.g., block 308 in
A temporary signal is create by applying an 11th order median filter to the signal (e.g., block 310 in
x9=medianfilter11(x8)
The signal is altered by having the temporary signal subtracted from it (e.g., block 310 in
x10=x8−x7
All signal components corresponding to frequencies below 80 Hz and above 2000 Hz are set to zero (e.g., block 312 in
x10[k]=0, index corresponding to 2000 Hz<k<index corresponding to 80 Hz
One example of the process for taking a measurement on the vowel analysis signal at block 208 referred to in
A value val1 is created by adding together the square of all signal components with value greater than zero:
where y0 is the vowel analysis signal.
A value val2 is created by adding together the square of all signal components with value less than zero:
A value val3 is created by subtracting value2 from value1:
val3=val1+val2
The measurement value is created by dividing value3 by the number of signal components corresponding to frequencies above 80 Hz and below 2000 Hz.
where scale=the number of signal indices corresponding to frequency components between 80 Hz and 2000 Hz.
In one example implementation, microphone 2 is an omnidirectional beyerdynamic (BM 33 B) microphone to detect audio signals and DSP 4 is implemented at a Focusrite Scarlett 6i6 soundcard to sense and digitize the audio signals. In one example, vowel detection processes 6 consist of an algorithm of various mathematical operations performed on the digitized audio signal in order to determine if intelligible voice is present in the signal. In one example, a matlab script is implemented to capture and process audio samples from the sound card. The output of the processing algorithm is a digital time-domain boolean signal that takes on a value of “true” for points in time where intelligible speech is sensed and a value of “false” for points in time when speech is not sensed.
In one example implementation, after samples are acquired from the sound card, they are passed to a voice activity detection (VAD) manager object. The VAD manager performs a sequence of preprocessing steps and then hands the conditioned samples to the vowel detection algorithms for processing. The preprocessing steps performed by this VAD manager are (1) A sample rate of 16 kHz is used to collect audio samples, (2) The samples are passed through a 7th order infinite impulse response (IIR) Butterworth high pass filter (HPF) with break frequency of 300 Hz. This HPF is necessary in order to remove the heating, ventilation and air conditioning (HVAC) noise found at low frequencies and in great abundance in the office setting, and (3) The samples are passed through a 4th order IIR Butterworth low pass filter (LPF) with break frequency of 2 kHz. Although voice audio does contain information above 2 kHz, it is desirable to reduce the bandwidth (BW) of the signal as much as possible in order to improve the signal to noise ratio (SNR).
Vowel analysis signal 604 can be contrasted with vowel analysis signal 504, shown in
One way of addressing the issues mentioned above involves filling open work spaces with some sort of sound that masks the conversations taking place in that space. This masking sound (also referred to herein as “masking noise”) can take many different forms, including biophilic sounds, such as waterfalls and rainstorms, and filtered white noises, such as pink and brown noise.
A sound masking solution is implemented by installing ceiling mounted speakers which play masking sounds as dictated by a noise masking controller. This controller can be configured to play masking sounds at a fixed noise level. However, it is desirable to implement a noise masking controller that is capable of adjusting the making sound noise level so that it is set to an optimal level. The result is that the masking controller will play masking sound at a noise level proportional to the amount of intelligible speech in the work space.
In order to implement such a system, a sensor capable of reporting the presence of intelligible speech in a room is required. The use of the vowel based VAD described above in reference to
In one example implementation, a sound masking system 900 includes a speaker 902, noise masking controller 904, and system 400 for vowel based VAD as described above in reference to
Referring again to
Masking noise 922 is received from noise masking controller 904. In one example, noise masking controller 904 is an application program at a computing device, such as a digital music player playing back audio files containing a recording of the random noise.
Referring again to
In one example operation, microphone 2 at system 400 is arranged to detect sound 920. System 400 converts the sound 920 received at the microphone 2 to a digital audio signal. Using processes described above in one example, system 400 identifies a spoken vowel sound in the sound 920 received at the microphone 2, and outputs an indication of user speech 8 responsive to identifying the spoken vowel sound. In one example, the system 400 finds a circular autocorrelation of the absolute value of a short time hamming windowed audio spectrum to identify the spoken vowel sound. System 400 may reduce the impact of stationary noise by applying a non-liner median filter to the result of this circular autocorrelation.
Sound masking system 900 receives the indication of user speech, and adjusts the volume of masking noise 922 output from speaker 902 responsive to the indication of user speech. For example, the volume of masking noise 922 is increased if the presence of intelligible speech is detected or the level of the intelligible speech increases.
In one example, the sound 920 received at the microphone 2 includes the masking noise 922 output from speaker 902, and the performance of the system 400 is not impeded by the masking noise 922. In one example, the sound 920 received at the microphone 2 includes a stationary noise and the performance of the system 400 filters out this low frequency stationary noise. For example, the stationary noise may include heating, ventilation, and air conditioning (HVAC) noise.
While the exemplary embodiments of the present invention are described and illustrated herein, it will be appreciated that they are merely illustrative and that modifications can be made to these embodiments without departing from the spirit and scope of the invention. Acts described herein may be computer readable and executable instructions that can be implemented by one or more processors and stored on a computer readable memory or articles. The computer readable and executable instructions may include, for example, application programs, program modules, routines and subroutines, a thread of execution, and the like. In some instances, not all acts may be required to be implemented in a methodology described herein.
Terms such as “component”, “module”, “circuit”, and “system” are intended to encompass software, hardware, or a combination of software and hardware. For example, a system or component may be a process, a process executing on a processor, or a processor. Furthermore, a functionality, component or system may be localized on a single device or distributed across several devices. The described subject matter may be implemented as an apparatus, a method, or article of manufacture using standard programming or engineering techniques to produce software, firmware, hardware, or any combination thereof to control one or more computing devices.
Thus, the scope of the invention is intended to be defined only in terms of the following claims as may be amended, with each claim being expressly incorporated into this Description of Specific Embodiments as an embodiment of the invention.
The present application is a continuation application relating to and claiming the benefit of U.S. patent application Ser. No. 15/231,228, titled “Vowel Sensing Voice Activity Detector,” having a filing date of Aug. 8, 2016. The content of the aforesaid application is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 15231228 | Aug 2016 | US |
Child | 17394870 | US |