1. Field of the Invention
The present invention relates to a reverberation suppressing apparatus and a reverberation suppressing method.
Priority is claimed on Japanese Patent Application No. 2010-105369, filed Apr. 30, 2010, the content of which is incorporated herein by reference.
2. Description of Related Art
A reverberation suppressing process is an important technology used as a pre-process of auto-speech recognition, aiming at improvement of articulation in a teleconference call or a hearing aid and improvement of a recognition rate of auto-speech recognition used for speech recognition in a robot (robot hearing sense). In the reverberation suppressing process, reverberation is suppressed by calculating a reverberation component from an acquired sound signal every predetermined frames and by removing the calculated reverberation component from the acquired sound signal (see, for example, Unexamined Japanese Patent Application, First Publication No. H09-261133).
However, in the known technology described in Unexamined Japanese Patent Application, First Publication No. H09-261133, because a reverberation suppressing process is performed in a predetermined frame length, when the frame length is long, the process takes a long time. On the other hand, when the frame length is too short, reverberation cannot be effectively suppressed.
To solve the above-mentioned problems, it is therefore an object of the invention to provide a reverberation suppressing apparatus and a reverberation suppressing method which can suppress reverberation with high accuracy.
A reverberation suppressing apparatus according to an aspect of the invention includes: a sound acquiring unit which acquires a sound signal; a reverberation data computing unit which computes reverberation data from the acquired sound signal; a reverberation characteristics estimating unit which estimates reverberation characteristics based on the computed reverberation data; a filter length estimating unit which estimates a filter length of a filter which is used to suppress a reverberation based on the estimated reverberation characteristics; and a reverberation suppressing unit which suppresses the reverberation based on the estimated filter length.
In the reverberation suppressing apparatus, the reverberation characteristics estimating unit may estimates a reverberation time based on the computed reverberation data, and the filter length estimating unit may estimate the filter length based on the estimated reverberation time.
In the reverberation suppressing apparatus, the filter length estimating unit may estimate the filter length based on a rate between a direct sound and an indirect sound.
The reverberation suppressing apparatus may further include an environment detecting unit which detects a change in an environment where the reverberation suppressing apparatus is set, and the reverberation data computing unit may compute the reverberation data when the change in the environment is detected.
In the reverberation suppressing apparatus, when the environment detecting unit detects the change in the environment, the reverberation suppressing unit may switch, based on the detected environment, at least one of a parameter used by the reverberation suppressing unit to suppress the reverberation and a parameter used by the filter length estimating unit to estimate the filter length.
The reverberation suppressing apparatus may further include a sound output unit which outputs a test sound signal, the sound acquiring unit may acquire the output test sound signal, and the reverberation data computing unit may compute the reverberation data from the acquired test sound signal.
A reverberation suppressing method according to an aspect of the invention includes the following steps of: acquiring a sound signal; computing reverberation data from the acquired sound signal; estimating reverberation characteristics based on the computed reverberation data; estimating a filter length of a filter which is used to suppress a reverberation based on the estimated reverberation characteristics; and suppressing the reverberation based on the estimated filter length.
According to the invention, since the reverberation data is computed from the acquired sound signal, the reverberation characteristics is estimated based on the computed reverberation data, and the filter length of the filter which is used to suppress the reverberation is estimated based on the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation based on the reverberation characteristics with high accuracy.
According to the invention, since the filter length is estimated based on the reverberation time of the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation with higher accuracy.
According to the invention, since the filter length is estimated based on the rate between the direct sound and the indirect sound, it is possible to efficiently suppress the reverberation based on the reverberation characteristics with higher accuracy.
According to the invention, since the change in the environment where the reverberation suppressing apparatus is set is detected, the reverberation data is computed and the reverberation characteristics is estimated when the change in the environment is detected, and the filter length of the filter which is used to suppress the reverberation is estimated based on the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation with higher accuracy.
According to the invention, since at least one of the parameter used by the reverberation suppressing unit to suppress the reverberation and the parameter used by the filter length estimating unit to estimate the filter length is switched based on the detected environment, it is possible to efficiently suppress the reverberation with higher accuracy.
According to the invention, since the sound output unit outputs the test sound signal used to compute the reverberation data, the sound acquiring unit acquires the output test sound signal, the reverberation data is computed from the acquired test sound signal, and the filter length of the filter which is used to suppress the reverberation is estimated based on the estimated reverberation characteristics, it is possible to efficiently suppress the reverberation with higher accuracy.
Hereinafter, example embodiments of the invention will be described in detail with reference to
The first embodiment of the invention will be first described roughly.
As shown in
Speech interruption by a person 2 when the robot 1 is speaking is called barge-in. When barge-in is being generated, it is difficult to recognize the speech of the person 2 due to the speech of the robot 1.
When the person 2 and the robot 1 speak, a sound signal hu of the person 2 including reverberation, which is a speech Su of the person 2 delivered via a space, and a sound signal hr of the robot 1 including reverberation, which is the speech Sr of the robot 1 delivered via the space, are input to the microphone 30 of the robot 1.
In
The controller 101 outputs to the sound generator 102 an instruction of generating and outputting a sound for measuring the reverberation characteristics, and outputs to the sound acquiring unit 111 and the MCSB-ICA unit 114 a signal representing that the robot 1 is emitting a sound for measuring the reverberation characteristics.
The sound generator 102 generates a sound signal (test signal) for measuring the reverberation characteristics based on the instruction from the controller 101, and outputs the generated sound signal to the sound output unit 103.
The generated sound signal is input to the sound output unit 103. The sound output unit 103 amplifies the input sound signal to a predetermined level and outputs the amplified sound signal to the speaker 20.
The sound acquiring unit 111 acquires a sound signal collected by the microphone 30 and outputs the acquired sound signal to the STFT unit 113. When the instruction of generating and outputting a sound for measuring the reverberation characteristics is input from the controller 101, the sound acquiring unit 111 acquires the sound signal for measuring the reverberation characteristics and outputs the acquired sound signal to the reverberation data calculator 112.
The acquired sound signal and the generated sound signal are input to the reverberation data calculator (reverberation data computing unit) 112. The reverberation data calculator (reverberation data computing unit) 112 calculates a separation matrix Wr for cancelling echo using the acquired sound signal, the generated sound signal, and equations stored in the storage unit 115. The reverberation data calculator 112 writes and stores the calculated separation matrix Wr for cancelling echo in the storage unit 115.
The acquired sound signal and the generated sound signal are input to the STFT (Short-Time Fourier Transformation) unit 113. The STFT unit 113 applies a window function such as a Hanning window function to the acquired sound signal and the generated sound signal, and analyzes the signals within a finite period while shifting an analysis position. The STFT unit 113 performs an STFT process on the acquired sound signal every frame t to convert the sound signal into a signal x(ω,t) in a time-frequency domain, performs the STFT process on the generated sound signal every frame t to convert the sound signal into a signal sr(ω,t) in the time-frequency domain, and outputs the converted signals x(ω,t) and sr(ω,t) to the MCSB-ICA unit 114 by the frequency a
The signal x(ω,t) and the signal sr(ω,t) converted by the STFT unit 113 are input to the MCSB-ICA unit (reverberation suppressing unit) 114 by the frequency ω. Further, the signal representing that the robot 1 is emitting a sound for measuring the reverberation characteristics is input to the MCSB-ICA unit 114 from the controller 101, and filter length data estimated by the filter length estimating unit 116 is input to the MCSB-ICA unit 114. When the signal representing that the robot 1 is emitting a sound for measuring the reverberation characteristics has not been input, the MCSB-ICA unit 114 calculates separation filters W1u and W2u using the input signals x(ω,t) and sr(ω,t), and the separation matrix Wr for cancelling echo and the models and coefficients stored in the storage unit 115. After calculating the separation filters W1u and W2u, a direct speech signal of the person 2 is separated from the sound signal acquired by the microphone 30 and the separated direct speech signal is output to the separation data output unit 117.
Models of the sound signal acquired by the robot 1 via the microphone 30, separation models used for analysis, parameters used for analysis, and the like are written and stored in the storage unit 115 in advance. The calculated separation matrix Wr for cancelling echo, and the calculated separation filters W1u and W2u are written and stored in the storage unit 115.
The filter length estimating unit (reverberation characteristics estimating unit) 116 reads out the separation matrix Wr for cancelling echo stored in the storage unit 115, estimates a filter length from the read separation matrix Wr for cancelling echo, and outputs the estimated filter length to the MCSB-ICA unit 114. The method of estimating a filter length from the separation matrix Wr for cancelling echo will be described later. Note that the filter length is a value relating to the number of frame sampling (i.e., the window), and the sampling is performed longer as the filter length increases.
The direct sound signal separated from the MCSB-ICA unit 114 is input to the separation data output unit 117. The separation data output unit 117 outputs the input direct sound signal to, for example, a speech recognizing unit (not shown).
A separation model for separating a necessary sound signal from the sound acquired by the robot 1 will be described. The sound signal acquired by the robot 1 via the microphone 30 can be defined like an FIR (Finite Impulse Response) model of Expression 1 in the storage unit 115.
In Expression 1, x(t) is expressed as a vector [x1(t), x2(t), . . . , xL(t)]T of spectrums x1(t), . . . , xL(t) (where L is a microphone number) of the plural microphones 31, 32, . . . . Further, su(t) is a spectrum of the speech of the person 2, sr(t) is a spectrum of the speech of the robot 1, hu(n) is an N-dimension FIR coefficient vector of the sound spectrum of the person 2, and hr(m) is an M-dimension FIR coefficient vector of the robot 1. sr(t) and hr(m) are known. Expression 1 represents a model of a sound signal acquired by the robot 1 via the microphone 30 at time t.
The sound signal collected by the microphone 30 of the robot 1 is modeled and stored in advance as a vector X(t) including a reverberation component as expressed by Expression 2 in the storage unit 115. The sound signal of the speech of the robot 1 is modeled and stored in advance as a vector Sr(t) including a reverberation component as expressed by Expression 3 in the storage unit 115.
X(t)=[x(t), x(t−1), . . . , x(t−N)]T Expression 2
Sr(t)=[sr(t), sr(t−1), . . . , sr(t−M)]T Expression 3
In Expression 3, sr(t) is the sound signal emitted from the robot 1, sr(t−1) represents that the sound signal is delivered via the space with a delay of “1”, and sr(t−M) represents that the sound signal is delivered via the space with a delay of “M”. That is, it represents that the reverberation component increases as the distance from the robot 1 is great and the delay increases.
To independently separate the known direct sounds Sr(t) and X(t−d), and the direct speech signal su of the person 2 using the ICA, the separation model of the MCSB-ICA is defined by Expression 4 and is stored in the storage unit 115.
In Expression 4, d (which is greater than 0) is an initial reflecting gap, and X(t−d) is a vector obtained by delaying X(t) by “d”. Expression 5 is an estimated signal vector of L dimension.
{circumflex over (s)}(t) Expression 5
W1u is an L×L blind separation matrix (separation filter), W2u is an L×L(N+1) matrix for removing a blind reverberation (separation filter), and Wr is an L×(M+1) separation matrix for cancelling reverberation (i.e., reverberation elements based on the acquired reverberation characteristics).
I2 and Ir are unit matrixes having the corresponding sizes. In Expression 5, the direct speech signal of the person 2 and several reflected sound signals are included.
Parameters for solving Expression 4 will be described. In Expression 4, a separation parameter set W={W1u, W2u, Wr} is estimated as a difference scale between products of a coupling probability density function and peripheral probability density functions (peripheral probability density functions representing the independent probability distributions of the individual parameters) of s(t), X(t−d), and Sr(t) so that KL (Kullback-Leibler) amount of information is minimized. The initial value W1u(ω) of the separation matrix at frequency ω is set to an estimation matrix W1u(ω+1) at frequency ω+1.
The MCSB-ICA unit 114 estimates the separation parameter set W by repeatedly updating the separation filters in accordance with rules of Expressions 6 to 9 so that the KL amount of information is minimized using a natural gradient method. Expressions 6 to 9 are written and stored in advance in the storage unit 115.
D=Λ−E[φ(ŝ(t))ŝH(t)] Expression 6
W1u[j+1]=W1u[j]+μDW1u[j] Expression 7
W2u[j+1]=W2u[j]+μ(DW2u[j]−E[φ(ŝ(t))XH(t−d)]) Expression 8
Wr[j+1]=Wr[j]+μ(DWr[j]−E[φ(ŝ(t))SrH(t)]) Expression 9
Note that in Expression 6 and Expressions 8 and 9, superscript H represents a conjugate transpose operation (Hermitian transpose). In Expression 6, Λ represents a nonholonomic restriction matrix, that is, a diagonal matrix of Expression 10.
E[φ({circumflex over (s)}(t))ŝH(t)] Expression 10
In Expressions 7 to 9, u is a step-size parameter. φ(x) is a nonlinear function vector [φ(x1), φ(xL)]H, which can be expressed by Expression 11. Expression 11 is written and stored in advance in the storage unit 115.
The PDF of a sound source is p(x)=exp(−|x|/σ2)/(2σ2) which is a PDF resistance to noise and φ(x)=x*/(2σ2|x|), where σ2 is the variance. It is assumed that x* is conjugate of x. These two functions are defined in a continuous region |x|>ε.
The procedure of the sound separation process will be described with reference to
[Step S1; Emission of Self Speech]
As shown in
Next, the sound signal collected by the microphone 30 is input to the sound acquiring unit 111. The sound acquiring unit 111 outputs the input sound signal to the reverberation data calculator 112. The sound signal collected by the microphone 30 is a sound signal hr including the sound signal Sr generated by the sound generator 102 and reverberation components resulting from the reflection of the sound emitted from the speaker 20 from the walls, the ceiling, and the floor.
When the acquired sound signal is input to the reverberation data calculator 112, the reverberation data calculator 112 calculates the separation matrix Wr for cancelling echo using Expression 9 stored in the storage unit 115. The reverberation data calculator 112 writes and stores the calculated reverberation characteristics data in the storage unit 115. When the calculation using Expression 9 is performed, the filter length is set to “1” since the input value is Wr only.
[Step S2; Calculation of Echo Intensities]
In Step S2, a graph of reverberation intensity for estimating the filter length is generated using Wr calculated in Step S1.
The filter length estimating unit 116 reads out the separation matrix Wr for cancelling echo stored in the storage unit 115. The filter length estimating unit 116 rewrites the read separation matrix Wr for cancelling echo as Expression 12.
Wr=[wr(0)wr(1) . . . wr(M)] Expression 12
In Expression 12, wr(m) is an L×1 vector and expressed as Expression 13.
Wr(m)=[wr1(m)wr2(m) . . . wrL(M)]T Expression 13
The normalized power function of this filter at a frequency ω is defined by Expression 14.
In Expression 14, i is a number of the microphone 30 (microphones 31, 32, . . . ) and m is a filter index. Since the power function of Expression 14 reflects the reverberation intensity and relates to the reverberation time in the environment, the reverberation time is estimated based on this power function.
The averaged power function of frequency and the averaged power function P of the microphones, and a logarithmic value of the function P are defined by Expression 15 and Expression 16 as a standard for calculating a reverberation time.
In Expression 15, Ω is a value which is based on a set of frequency bands. The filter length estimating unit 116 calculates reverberation intensity by using Expression 15 and Expression 16 and virtually plots the reverberation intensity as shown in
[Step S3; Estimation of Dereverberation Filter Length]
In Step S3, the filter length M is estimated using the reverberation intensity plotted on the graph in
As shown in
y=a×m+b
In Expression 17, a and b are coefficients, m is a filter length index, and y is equivalent to L(m). Then, as shown in
The filter length estimating unit 116 calculates a filter length for removing reverberation so that m in Expression 18 satisfies L(m)=Ld, and outputs the calculated filter length for removing reverberation to the ICA unit 221.
For example, as shown in
[Step S4; Incremental Separation Poling Notification]
When the person 2 is speaking, a sound signal of the person 2 with reverberation components removed is calculated from the sound signal acquired from the microphone 30 by finding Expression 5 using Expression 4 in Step S4.
The sound signal collected by the microphone 30 is input to the sound acquiring unit 111. The sound acquiring unit 111 outputs the input sound signal to the STFT unit 113. The sound generator 102 generates a sound and outputs the generated sound signal to the STFT unit 113.
The sound signal acquired by the microphone 30 and the sound signal generated by the sound generator 102 are input to the STFT unit 113. The STFT unit 113 performs the STFT process on the acquired sound signal every frame t to convert the sound signal into a signal x(ω,t) in a time-frequency domain, and outputs the converted signal x(ω,t) to the MCSB-ICA unit 114 by the frequency ω. Further, the STFT unit 113 performs the STFT process on the generated sound signal every frame t to convert the sound signal into a signal sr(ω,t) in the time-frequency domain, and outputs the converted signal sr(ω,t) to the MCSB-ICA unit 114 by the frequency ω.
The converted signal x(ω,t) is output to the forcible spatial spherization unit 211 of the MCSB-ICA unit 114 by the frequency ω. The forcible spatial spherization unit 211 performs the spatial spherization process using the frequency ω as an index and using Expression 19, thereby calculating z(t). Expression 19 and Expression 20 are used to speed up the procedure of solving Expression 5.
z(t)=Vux(t) Expression 19
Here, Vu is defined as Expression 20.
In Expression 20, Eu and Au are eigen vector matrixes and an eigen diagonal matrix Ru=E|x(t)xH(t)|.
The converted signal sr(ω,t) is input to the variance normalizing unit 212 of the MCSB-ICA unit 114 by the frequency ω. The variance normalizing unit 212 performs the scale normalizing process using the frequency ω as an index and using Expression 21.
In the normalization of scaling, elements of inverse separation matrix is applied in accordance with the separation signal using the projection back method. The element cj of the i-th row and the j-th column of Expression 22 which satisfies Expression 23 and Expression 24 is used to the scaling of the j-th element of Expression 5.
The forcible spatial spherization unit 211 outputs z(ω,t) calculated in this manner to the ICA unit 221. The variance normalizing unit 212 outputs the value of Expression 21 calculated in this manner to the ICA unit 221.
The calculated z(ω,t) and the value of Expression 21 are input to the ICA 221. The ICA unit 221 reads out the separation model (separation filter) stored in the storage unit 115. Then, the ICA unit 221 calculates W1u and W2u by substituting Expression 19 into x of Expressions 4 and 6 to 9 and substituting Expression 21 into s, and the MCSB-ICA unit 114 calculates data of Expression 5 using Wr calculated in Step S1.
The test methods performed using the robot 1 having the reverberation suppressing apparatus according to this embodiment and the test results thereof will be described.
The test results are shown in
As shown in
As shown in
As described above, since the flame length which is a separation filter length is set in accordance with the reverberation characteristics, it is possible to improve the speech recognition rate, and it is possible to appropriately set the calculation amount for the speech recognition.
Although it has been described in this embodiment that the reverberation time is used as the reverberation characteristics, D value (a value representing the clarity of the sound, which is a ratio between the power from 0 ms when the direct sound reaches to 50 ms and the power from 0 ms to a time when the sound decays) may be used.
It has been described in this embodiment that, when the instruction of generating and outputting a sound for measuring the reverberation characteristics is input from the controller 101, a sound signal for measuring the reverberation characteristics is acquired and the reverberation characteristics is measured. However, the sound acquiring unit 111 may determine whether or not barge-in is generated by comparing the acquired sound signal with the generated sound signal output from the sound generator 102, and may acquire the sound signal for measuring the reverberation characteristics when barge-in is not generated.
Hereinafter, a second embodiment of the invention will be described in detail with reference to
As shown in
Alternatively, parameters for each environment which are associated with the map or the marks may be written and stored in the storage unit 115a in advance. The controller 101a may measure the reverberation characteristics and switch the set of parameters from the storage unit 115a when the robot 1 detects the change in the environment.
A reverberation may be measured under an environment where reverberation data is not stored in the storage unit 115a and parameters based on this environment may be calculated and stored in the storage unit 115a so as to associate the reverberation data with the measured reverberation characteristics.
A positional information transmitter (not shown) transmitting information on position to the robot 1a may be set in each room, and when the robot 1a receives the information on position, the robot 1a may detect the change in the environment and measure the reverberation characteristics.
Although it has been described in the first and second embodiments that the reverberation suppressing apparatus 100 and the reverberation suppressing apparatus 100a are mounted on the robot 1 (1a), the reverberation suppressing apparatus 100 and the reverberation suppressing apparatus 100a may be mounted on, for example, a speech recognizing apparatus or an apparatus having the speech recognizing apparatus.
The operations of the units may be embodied by recording a program for embodying the functions of the units shown in
The “computer system” includes a homepage providing environment (or display environment) using a WWW system.
Examples of the “computer-readable recording medium” include memory devices of portable mediums such as a flexible disk, an magneto-optical disk, a ROM (Read Only Memory), and a CD-ROM, a USB (Universal Serial Bus) memory connected via a USB I/F (Interface), and a hard disk built in the computer system. The “computer-readable recording medium” may include a medium dynamically keeping a program for a short time, such as a communication line when the program is transmitted via a network such as Internet or a communication circuit such as a phone line and a medium keeping a program for a predetermined time, such as a volatile memory in the computer system serving as a server or a client. The program may embody a part of the above-mentioned functions or may embody the above-mentioned functions in cooperation with a program previously recorded in the computer system.
While preferred embodiments of the invention have been described and illustrated above, it should be understood that these are exemplary of the invention and are not to be considered as limiting. Additions, omissions, substitutions, and other modifications can be made without departing from the scope of the present invention. Accordingly, the invention is not to be considered as being limited by the foregoing description, and is only limited by the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2010-105369 | Apr 2010 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
5774562 | Furuya et al. | Jun 1998 | A |
8634568 | Neoran et al. | Jan 2014 | B2 |
20060115095 | Giesbrecht et al. | Jun 2006 | A1 |
20080059157 | Fukuda et al. | Mar 2008 | A1 |
20090316923 | Tashev et al. | Dec 2009 | A1 |
Number | Date | Country |
---|---|---|
64-29093 | Jan 1989 | JP |
64-29094 | Jan 1989 | JP |
09-261133 | Mar 1997 | JP |
9-261133 | Oct 1997 | JP |
10-56406 | Feb 1998 | JP |
2002-237770 | Aug 2002 | JP |
2009-159274 | Jul 2009 | JP |
2009-276365 | Nov 2009 | JP |
Entry |
---|
Japanese Office Action for Application No. 2010-105369, 4 pages, dated Aug. 13, 2013. |
Number | Date | Country | |
---|---|---|---|
20110268283 A1 | Nov 2011 | US |