Sound signal processing device, system, method and recording medium
By using IIR DFT and window function processing technology, the delay problem in sound signal processing is solved, achieving high processing speed and low latency.
Patent Information
- Application Number
- CN202110176539.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-17
- Filing Date
- 2021-02-09
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2041-02-09
AI Technical Summary
When processing sound signals in the prior art, it is difficult to achieve high processing speeds below 0.003 seconds, mainly due to the overlap of window functions in short-time Fourier transforms, which are delayed.
The frequency conversion of the sound signal is used to convert the frequency of the sound signal, and the frequency data is processed through the window function, and the time axis data sequence is calculated in combination with appropriate delay parameters to avoid delays caused by overlap.
The processing of the sound signal at a higher speed is achieved, the delay time is reduced, and the processing speed can be improved without affecting the processing quality.
Smart Images

Figure CN113345449B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a sound signal processing device, a sound signal processing system, a sound signal processing method and a recording medium. Background Art
[0002] The following technology is known: frequency transform is performed on a data sequence arranged in time series, and after forming a data sequence in the frequency domain, a predetermined signal processing is performed and the data sequence is transformed into a data sequence in the time domain again. As a method for transforming a data sequence in the time domain into a data sequence in the frequency domain, DFT (Discrete Fourier Transform) and IIR (Infinite Impulse Response) type DFT are known (for example, refer to non-patent document 1, Shigeo Tsujii, "Basics of Digital Signal Processing (Basics of Digital Signal Processing)", Institute of Electronics, Information and Communications Technology, pp. 99-103). In addition, the following technology is known: when processing a sound signal whose frequency components change over time, the processing is performed while overlapping a window function such as a short-time Fourier transform (for example, refer to non-patent document 2, Junki Ono, "Basics and Applications of Short-Time Fourier Transformation", Journal of the Acoustic Society of Japan, 2016, Vol. 72, No. 12, pp. 764-769). Summary of the invention
[0003] Problem that the invention aims to solve
[0004] However, when processing sound signals, etc., a high processing speed is sometimes required, such as an allowable delay time of less than 0.003 seconds. Since the short-time Fourier transform that overlaps the window function will be delayed according to the overlapping time, such a high processing speed cannot be achieved. Therefore, a technology that can process sound signals, etc. at a higher speed is desired.
[0005] Therefore, the present invention has been made in view of the above-mentioned circumstances, and an object of the present invention is to perform frequency conversion on a sound signal or the like and to process the signal at a higher speed.
[0006] Solutions for solving problems
[0007] In a first aspect of the present invention, a sound signal processing device is provided, which includes: a first transformation unit, which uses IIR-type DFT to transform an input data sequence of a sound signal into frequency data according to a processing timing; a window processing unit, which uses a window function to perform window processing on the frequency data; a signal processing unit, which performs a predetermined signal processing on the frequency data after the window processing; and a second transformation unit, which transforms the frequency data after the signal processing is performed into a time axis data sequence.
[0008] The window processing unit may perform the window processing by convolving the frequency data with a first function, wherein the first function is obtained by performing DFT on the window function.
[0009] Alternatively, the window function may be formed by a linear combination of seventh-order trigonometric functions.
[0010] Alternatively, the second transformation unit may be configured to transform the 2πj / N ) and the frequency data after the signal processing is performed to calculate the data of the time axis data sequence according to the frequency data with N data points.
[0011] The second transform unit may calculate the data of the time axis data series using a delay parameter m having a value determined corresponding to the window function.
[0012] It can also be that when the data of the time axis data sequence is set to x'(n), the window function is set to h(n), the frequency data after the signal processing is performed is set to F(n), and the parameter used in the IIR type DFT is set to r, the second transformation unit uses the following formula to calculate the data of the time axis data sequence.
[0013]
[0014] The second transform unit may calculate the data of the time axis data series by setting the value of n at which the data value h(n) of the window function is equal to or greater than 0.8 after normalizing the data value of the window function with a maximum value as the delay parameter m.
[0015] Alternatively, the delay parameter m is set to a value of an integer obtained by multiplying the number of data points N by a ratio greater than 10% and less than 30%, and the window function is formed so that when the data value of the window function is normalized by a maximum value, the data value h(0) at the beginning of the window and the data value h(N-1) at the end of the window are 0, and the data value h(m) at the position offset from the beginning to the end by the delay parameter m is greater than 0.8.
[0016] The signal processing performed by the signal processing unit may include at least one of noise reduction processing and howling reduction processing.
[0017] In a second embodiment of the present invention, a sound signal processing system is provided, which includes: a sound input device, which outputs the input sound as a sound signal; and a sound signal processing device, which performs a predetermined signal processing on the sound signal output by the sound input device, wherein the sound signal processing device has: an acquisition unit, which acquires a data sequence of the sound signal output by the sound input device; a first conversion unit, which uses IIR-type DFT to convert the data sequence of the sound signal into frequency data according to a processing timing; a window processing unit, which uses a window function to perform window processing on the frequency data; a signal processing unit, which performs the predetermined signal processing on the frequency data after the window processing; and a second conversion unit, which converts the frequency data after the signal processing is performed into a time axis data sequence.
[0018] In a third embodiment of the present invention, a sound signal processing method is provided, which includes the following steps: using IIR-type DFT to transform an input data sequence of a sound signal into frequency data according to a processing timing; using a window function to perform window processing on the frequency data; performing predetermined signal processing on the frequency data after the window processing; and transforming the frequency data after the signal processing is performed into a time axis data sequence.
[0019] According to a fourth aspect of the present invention, there is provided a recording medium having a program recorded thereon, and when the program is executed by a computer, the program causes the computer to function as the audio signal processing device according to the first aspect.
[0020] Effects of the Invention
[0021] According to the present invention, it is possible to process audio signals and the like at high speed. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 is a conceptual diagram illustrating the concept of semi-overlap.
[0023] Figure 2 A configuration example of the audio signal processing device 10 according to the present embodiment is shown.
[0024] Figure 3 An example of coefficients of the window function according to the present embodiment is shown.
[0025] Description of Reference Numerals
[0026] 10: sound signal processing device; 100: acquisition unit; 110: first conversion unit; 120: window processing unit; 130: signal processing unit; 140: second conversion unit. DETAILED DESCRIPTION
[0027] In the past, the following short-time Fourier transform is known: a data sequence arranged in time series is multiplied by a window function, a frequency transform is performed on the data sequence multiplied by the window function, and then a prescribed signal processing is performed, and the data sequence is transformed into a time domain data sequence again. It is known that such a combination of transformation processing from the time domain to the frequency domain and from the frequency domain to the time domain can be performed by DFT, IDFT (Inverse Discrete Fourier Transform), etc. In addition, in the present embodiment, it is assumed that the DFT processing includes FFT (Fast Fourier Transform) processing, and the IDFT processing includes IFFT (Invert Fast Fourier Transformation) processing. In such signal processing performed by DFT and IDFT, the number of complex multiplications is large. Therefore, the proportion of computer resources occupied by the transformation becomes larger relative to the total computer resources, hindering the implementation of other signal processing.
[0028] In addition, the window function is formed so that the values at both ends of the beginning and the end of the window are 0, and the values converge to 0 as they approach the beginning or the end, so that the data sequence in the time domain has periodicity. Therefore, even if the frequency data sequence after signal processing is transformed into a data sequence in the time domain, the values of the data corresponding to the two ends and the vicinity of the two ends of the window function are also 0 or approximately 0. Therefore, for example, a method called overlapping is known in which a window function is applied to a data sequence in the time domain in a manner of shifting a predetermined value.
[0029] Figure 1 is a conceptual diagram illustrating the concept of semi-overlap. Figure 1 The horizontal axis represents time, and the vertical axis represents signal level. Here, the time width of a window function is set to N. The time width N of the window function corresponds to the number of data points. As an example, the number of data points is 256 points. When the data sequence in the time domain is multiplied by Figure 1 When the window function is as shown, the values of the data corresponding to the two ends and the vicinity of the two ends of the window function are 0 or approximately 0. For example, when the window functions W1, W3, ... are applied to the time domain data sequence according to the time width N of the window function and the window functions W1, W3, ... are multiplied, the value of the data sequence in the period B between the window functions W1 and W3 is 0 or a value close to 0.
[0030] Therefore, when the data sequence of period B is frequency-converted and the data sequence of the time domain is generated again based on the data sequence after the frequency conversion, the value of the data is 0 or a value close to 0. In this case, it is considered to increase the value of the data by an amount corresponding to the amount reduced by the window function by multiplying the data sequence of period B by a constant, but as the value of the data increases, the error also increases. Therefore, the window function W2 obtained by shifting the window function W1 by an amount corresponding to N / 2, which is half of the time width N, is also used to generate a data sequence, which is a data sequence processed from the data sequence of period B. In this case, the data sequence of the time domain to which the window function W1 is applied is processed to generate the data sequence of period A, and the data sequence of the time domain to which the window function W3 is applied is processed to generate the data sequence of period C. Thus, in the semi-overlap, it is possible to generate a data sequence processed for all periods from period A to period C while suppressing the increase in error.
[0031] In such an overlap, the processing is delayed by an amount corresponding to the amount by which the window function is overlapped. In the case of a half overlap, as an example, when the sampling period of the signal is set to 48kHz, the delay time is calculated as (N / 2)×(1 / 48kHz), which is approximately 0.0027 seconds. It is known that in conference systems, karaoke, live sound transmission systems, etc. that use sound signals, a delay of more than about 0.003 seconds will cause a sense of disharmony to the user. Therefore, if there is a delay of approximately 0.0027 seconds in the transformation from the time domain to the frequency domain and from the frequency domain to the time domain, there is almost no time to perform other processing.
[0032] Therefore, the sound signal processing device according to the present embodiment performs signal processing of a sound signal at a higher speed without using conventional superposition. Next, such a sound signal processing device will be described.
[0033] <Configuration Example of Sound Signal Processing Device 10>
[0034] Figure 2 The following is a structural example of a sound signal processing device 10 according to the present embodiment. A data sequence representing a sound signal is input to the sound signal processing device 10. The sound signal is, for example, a signal output from a microphone or the like. The sound signal processing device 10 performs a predetermined signal processing on the input data sequence, and then outputs the sound signal after the signal processing. The sound signal processing device 10 performs, for example, noise reduction processing, howling reduction processing, etc. on the sound signal. The sound signal processing device 10 includes an acquisition unit 100, a first conversion unit 110, a window processing unit 120, a signal processing unit 130, and a second conversion unit 140.
[0035] The acquisition unit 100 acquires a data sequence of a sound signal. The acquisition unit 100 acquires a data sequence for performing a predetermined signal processing. The acquisition unit 100 acquires the data sequence from, for example, a transmitter, an AD converter, a storage device, etc. In addition, the acquisition unit 100 may also be connected to a network, etc., to acquire a data sequence stored in a database, etc. As an example, the data sequence includes a plurality of data arranged in a time series.
[0036] The acquisition unit 100 acquires the data of the data series one by one at the processing timing, for example. Alternatively, the acquisition unit 100 may acquire the data of the data series at a predetermined number of points at the processing timing. The processing timing is, for example, a timing synchronized with a clock signal or the like.
[0037] The first transformation unit 110 transforms the input data sequence of the sound signal into frequency data using the IIR DFT at the processing timing. The IIR DFT transforms the input data into frequency data based on the following transfer function. For example, the Lagrange interpolation formula is used to calculate the transfer function between N data z k (k = 0, 1, 2, ..., N-1) are the specified values H(z k ) -1 The (N-1)th-order polynomial H(z).
[0038]
Number 1
[0039]
[0040] IIR DFT is a filter that implements DFT using IIR. The details of IIR DFT are described in, for example, Non-Patent Document 1, and therefore are omitted here. In formula (1), j is an imaginary unit (j 2 =-1), r is a real number greater than 0 and less than 1. r is a parameter used to prevent the poles in the IIR filter from exceeding the unit circle and causing circuit instability.
[0041] For example, the first transformation unit 110 calculates a frequency domain data sequence based on N-1 values output using N-1 data from the next data x(n) of the input data sequence to data x(n-N+1) which is N-1 data prior to data x(n) at processing timing.
[0042] Since the first transform unit 110 uses such an IIR DFT to transform the time domain data sequence into the frequency domain data sequence, it can perform the transform processing with less storage area and less computational effort than the general DFT. For example, it is known that when performing DFT on a data sequence with N data points, the number of complex multiplications required is N. 2Or the number of times is about N×log2N. In contrast, in the IIR-type DFT, the number of times of multiplication can be reduced to about N times.
[0043] In addition, for the window processing of DFT, generally, after multiplying N data in the time domain data sequence by the window function, the frequency transform is performed using the multiplied N data. However, IIR-type DFT is different from DFT, and the frequency domain data sequence is calculated using the previous output and one new data according to the processing timing. As such, in IIR-type DFT, one data in the time domain data sequence is used for frequency transform, so the usual window processing cannot be applied.
[0044] Therefore, the window processing unit 120 performs window processing using a window function on the frequency data transformed by the first transformation unit 110. Here, the window function h(n) is expressed as a linear combination of trigonometric functions as shown in the following equation, for example.
[0045]
Number 2
[0046]
[0047] The formula (2) can be replaced as follows.
[0048]
Number 3
[0049]
[0050]
[0051] W mn The complex conjugate of
[0052] Next, consider the discrete Fourier transform with window processing as follows, and substitute it into (Equation 3). Here, k = 0, 1, 2, ..., N-1. In addition, {F(n): n = 0, 1, 2, ..., N-1} is the discrete Fourier transform of {x(n): n = 0, 1, 2, ..., N-1}.
[0053]
Number 4
[0054]
[0055] According to formula (4), the data sequence in the frequency domain obtained by performing discrete Fourier transform after window processing on the data sequence x(n) in the time domain by multiplying the window function h(n) is consistent with the convolution of the discrete Fourier transform of the data sequence x(n) and the window function h(n). Therefore, the window processing unit 120 performs window processing by convolving the first function obtained by performing DFT on the window function h(n) with the frequency data transformed by the first transform unit 110. That is, the window processing unit 120 performs window processing on the frequency data output by the first transform unit 110 using IIR DFT.
[0056] Here, when the order of the window function is set to M, the number of multiplications of the convolution operation is about N×M, and the total number of multiplications of the convolution operation and the number of multiplications of the IIR type DFT of the first transform unit 110 is about N×(M+1). Therefore, as long as M is not a very large value, the processing from the first transform unit 110 to the window processing unit 120 can be performed at a higher speed than DFT. The window processing unit 120 performs such window processing, for example, at a processing timing.
[0057] The signal processing unit 130 performs a predetermined signal processing on the frequency data after the window processing is performed. The signal processing unit 130 performs signal processing on the sound signal input to the sound signal processing device 10. The signal processing unit 130 performs, for example, noise reduction processing, howling reduction processing, etc. The frequency domain data output by the window processing unit 120 is roughly consistent with the frequency domain data obtained by performing a discrete Fourier transform after performing a window processing by multiplying a time domain data sequence by a window function. Therefore, the signal processing unit 130 only needs to perform known signal processing. In addition, a detailed description of the known signal processing performed by the signal processing unit 130 is omitted.
[0058] The second transform unit 140 transforms the frequency data after the signal processing into a time axis data sequence. The second transform unit 140 transforms the frequency domain data into the time domain data by, for example, IDFT processing. The IDFT processing may be a known signal processing, and a detailed description thereof is omitted here.
[0059] The sound signal processing device 10 according to the present embodiment described above converts the sound signal etc. into frequency data at high speed by performing window processing corresponding to IIR-type DFT. Therefore, the sound signal processing device 10 according to the present embodiment can perform predetermined signal processing on the sound signal etc. and output it while reducing the delay time.
[0060] In addition, the first transformation unit 110 transforms the sound signal into frequency data using IIR-type DFT according to the processing timing. Therefore, as described later, the second transformation unit 140 can output one data corresponding to the flat part of the window function among the time domain data obtained by the transformation according to the processing timing. Therefore, the above sound signal processing device 10 can appropriately transform the sound signal into frequency data and perform the prescribed signal processing without overlapping the window function on the time domain data sequence. In other words, the sound signal processing device 10 does not generate time delay caused by overlapping, so it can process the sound signal at a higher speed.
[0061] In the above-described audio signal processing device 10 , an example is described in which the second transform unit 140 transforms the frequency data into a time axis data sequence by a normal IDFT process, but the present invention is not limited thereto. The second transform unit 140 may perform a higher speed transform process as described below.
[0062] <Conversion Processing by Second Conversion Unit 140>
[0063] Here, the matrix representing the inverse discrete Fourier transform is shown as follows: km ].
[0064]
Number 5
[0065]
[0066] [W km ] is a unitary matrix, so when the unit matrix is set to E, the following equation holds.
[0067]
Number 6
[0068]
[0069] Here, when the frequency data output by the signal processing unit 130 is set to {F(n): n=0, 1, 2, ..., N-1}, the second transformation unit 140 calculates the inverse discrete Fourier transform of F(n). Here, the inverse discrete Fourier transform of F(n) is represented by {h(n)r n x'(n):n=0, 1, 2, ..., N-1}, the following equation holds.
[0070]
Number 7
[0071]
[0072] According to formula (7), the m-th data in the result obtained by performing inverse discrete Fourier transform on F(n) is expressed as the following formula.
[0073]
Number 8
[0074]
[0075] Here, the second transformation unit 140 only needs to output the time domain data sequence x'(n) after signal processing corresponding to the time domain data sequence x(n) acquired by the acquisition unit 100. In other words, the second transformation unit 140 only needs to be able to calculate the time domain data sequence x'(n) corresponding to the time domain data sequence x(n) in the result obtained by performing inverse discrete Fourier transform on F(n).
[0076] For example, the second transformation unit 140 converts the coefficient W (=e) into the following equation based on equation (8): 2πj / N ) and the frequency data F(n) after the signal processing is performed, and the data x'(m) of the time axis data sequence is calculated based on the frequency data with N data points.
[0077]
Number 9
[0078]
[0079] The second transformation unit 140 calculates (Equation 9) according to the processing timing, for example. It is known that when IDFT is performed on a data sequence with N data points, the number of complex multiplications is about N×log2N times, similar to DFT. In contrast, the second transformation unit 140 can reduce the number of complex multiplications to about N times by using (Equation 9).
[0080] In formula (9), r is the parameter used in the IIR-type DFT described above. In addition, m is a delay parameter whose value is determined corresponding to the window function. The window function h(n) is used to set the input data sequence to a periodic function corresponding to the interval N, so it is formed in a way that the value converges to 0 as it approaches the beginning h(0) or the end h(N-1). Therefore, the denominators of the data x'(0) corresponding to the beginning h(0) and the data x'(N-1) corresponding to the end h(N-1) become the smallest, and the accuracy becomes uncertain.
[0081] Therefore, it is preferred that, in the second transformation unit 140, the value of m is increased to a degree that makes the value of the window function large enough to calculate the data x'(m). However, when the value of m increases, the processing time of the second transformation unit 140 to calculate the data x'(m) sometimes increases. Therefore, it is more preferred to set an appropriate value of m in advance corresponding to the window function used. For example, in the case where the value of the data of the window function is normalized by the maximum value, the value of m is set so that the data value is greater than 0.5. In this case, it is desirable to set the value of m so that the value of the data of the window function is 0.7, and it is more desirable to set the value of m so that the value of the data of the window function is 0.8.
[0082] Here, the window processing unit 120 can use a known window function, for example. For example, the window function is a Gauss window, a Hann window, a Hamming window, a Tukey window, a Hanning window, a Blackman window, a Kaiser window, etc. These known window functions are functions in which the value of data near the beginning h(0) is close to 0 and the value of the data increases relatively slowly. Therefore, m, which is an appropriate value, is set to a value of 30% or more of the number of data points N, for example. Therefore, a window function with a more rapid rise can be used to speed up the calculation of the time axis data of the second transformation unit 140. In other words, when the delay parameter m is set to a value obtained by multiplying the number of data points N by a ratio less than 30%, it is desirable to use a window function that makes the data value h(m) of the normalized window function at the position offset from the beginning to the end by the delay parameter m be 0.8 or more. Next, an example of such a window function with a rapid rise is described.
[0083] <Generating Window Functions>
[0084] An example of a window function with a steep rise is a window function formed by a linear combination of 7th-order trigonometric functions. For such a window function, as an example, the coefficients {α of the window function expressed by (2) can be calculated by the Lagrange multiplier method shown below: m : m = 0, 1, ..., M-1}. Here, it is assumed that N = 256 and M = 8.
[0085]
Number 10
[0086]
[0087] In the example of (Equation 10), m1 represents the starting point of the horizontal part of the window function, N-m1 represents the ending point of the horizontal part of the window function, the first term on the right represents the minimum sum of squares of the horizontal part, the second term on the right represents h(0)=0, the third term on the right represents h(N / 2)=1, and the fourth term on the right represents setting the 27th value to 0.8. m :m=0,1,…,M-1}、λ、μ、σ By partially differentiating the right side and setting the left side = 0, the coefficients {α m :m=0,1,…,M-1}is calculated as Figure 3 As shown.
[0088] As described above, regarding the window function formed by the linear combination of the 7th-order trigonometric functions, for example, in the case where the number of data points is 256, the value of the flat area is set to 1, the 0th value is set to 0, and r=0.995, the value of the 27th point can be set to 0.8. In other words, the generated window function has a sharp rise. In this case, for example, the delay parameter m of the formula (9) can be set to a value of about 10% of the number of data points N, that is, about 30, so that the second transformation unit 140 can calculate the time axis data at a higher speed.
[0089] In addition, as an example of a window function, a linear combination of 7th-order trigonometric functions is described, but it is not limited to this. The window function can be any window function as long as it has a steep rise and a lower order. For example, the window function can also be a linear combination of trigonometric functions from the 6th to the 10th order, and it is desirable to be a linear combination of trigonometric functions from the 7th to the 9th order. Even if it is such a linear combination of trigonometric functions, by using the Lagrange multiplier method as described above, the window processing unit 120 can use a properly calculated window function.
[0090] The sound signal processing device 10 involved in the above embodiment can function as at least a part of a sound signal processing system. For example, the sound signal processing device 10 and a sound input device for outputting a sound signal constitute a sound signal processing system. In other words, the sound signal processing system includes, for example, a sound input device and the sound signal processing device 10. The sound input device outputs the input sound as a sound signal. The sound input device is, for example, a microphone.
[0091] The sound signal processing device 10 performs predetermined signal processing on the sound signal output by such a sound input device. The sound signal processing device 10 receives the sound signal from the sound input device wirelessly or by wire. As an example, the sound signal processing device 10 receives the sound signal from the sound input device by infrared communication. Such a sound signal processing system can function as a karaoke, a conference system, a live sound transmission system, etc.
[0092] In the above-mentioned sound signal processing device 10 involved in this embodiment, it is desirable that at least a part is constituted by an integrated circuit, etc. For example, the sound signal processing device 10 includes an FPGA (Field Programmable Gate Array), a DSP (Digital Signal Processor) and / or a CPU (Central Processing Unit).
[0093] In the case where at least a part of the sound signal processing device 10 is constituted by a computer or the like, the sound signal processing device 10 includes a storage unit. As an example, the storage unit includes a ROM (Read Only Memory) for storing the BIOS (Basic Input Output System) of the computer or the like that implements the sound signal processing device 10, and a RAM (Random Access Memory) as a work area. In addition, the storage unit may also store various information including an OS (Operating System), an application program, and / or a database referenced when executing the application program. That is, the storage unit may also include a large-capacity storage device such as an HDD (Hard Disk Drive) and / or an SSD (Solid State Drive).
[0094] A processor such as a CPU executes a program stored in a storage unit to function as the acquisition unit 100, the first conversion unit 110, the window processing unit 120, the signal processing unit 130, and the second conversion unit 140. The audio signal processing device 10 may include a GPU (Graphics Processing Unit) or the like.
[0095] The present invention has been described above using the embodiments, but the protection scope of the present invention is not limited to the scope described in the above embodiments, and various deformations and changes can be made within the scope of its main purpose. For example, all or part of the device can be functionally or physically dispersed / integrated in any unit. In addition, new embodiments generated by any combination of multiple embodiments are also included in the embodiments of the present invention. The effects of the new embodiments generated by the combination also have the effects of the original embodiments.
Claims
1. A sound signal processing device, comprising: A first conversion unit that converts an input data sequence of a sound signal into frequency data using an infinite impulse response discrete Fourier transform at a processing timing; a window processing unit, which performs window processing on the frequency data using a window function; a signal processing unit that performs a predetermined signal processing on the frequency data after the window processing is performed; as well as a second conversion unit that converts the frequency data after the signal processing into a time axis data sequence, The second transformation unit is based on the coefficient W (=e 2πj / N ) and the frequency data after the signal processing is performed, to calculate the data of the time axis data sequence according to the frequency data with N data points, The second transformation unit calculates the data of the time axis data series using a delay parameter m whose value is determined corresponding to the window function. When the data of the time axis data sequence is set to x'(n), the window function is set to h(n), the frequency data after the signal processing is performed is set to F(n), and the parameter used in the infinite impulse response discrete Fourier transform is set to r, the second transformation unit calculates the data of the time axis data sequence using the following formula: The second conversion unit calculates the data of the time axis data series by normalizing the data value of the window function with the maximum value and then setting the value of n that makes the data value h(n) of the window function equal to or greater than 0.5 as the delay parameter m.
2. The sound signal processing device according to claim 1, wherein: The window processing unit performs the window processing by convolving the frequency data with a first function obtained by performing discrete Fourier transform on the window function.
3. The sound signal processing device according to claim 1, wherein: The window function is formed by a linear combination of 7th order trigonometric functions.
4. The sound signal processing device according to claim 1, wherein: The second conversion unit normalizes the data value of the window function with the maximum value, and then calculates the data of the time axis data series by setting the value of n that makes the data value h(n) of the window function equal to or greater than 0.8 as the delay parameter m.
5. The sound signal processing device according to claim 1, wherein: The delay parameter m is set to a value obtained by multiplying the number of data points N by a ratio greater than 10% and less than 30%. The window function is formed as follows: when the data value of the window function is normalized with a maximum value, the data value h(0) at the beginning of the window and the data value h(N-1) at the end of the window are 0, and the data value h(m) at the position offset from the beginning to the end by the delay parameter m is greater than 0.
8.
6. The sound signal processing device according to claim 1, wherein: The signal processing performed by the signal processing unit includes at least one of noise reduction processing and howling reduction processing.
7. A sound signal processing system comprising: a sound input device that outputs the input sound as a sound signal; and a sound signal processing device that performs predetermined signal processing on the sound signal output by the sound input device, in, The sound signal processing device comprises: an acquisition unit, which acquires a data sequence of a sound signal output by the sound input device; A first conversion unit that converts the data sequence of the sound signal into frequency data using an infinite impulse response discrete Fourier transform at a processing timing; A window processing unit, which performs window processing on the frequency data using a window function; a signal processing unit that performs the predetermined signal processing on the frequency data after the window processing; as well as a second conversion unit that converts the frequency data after the signal processing into a time axis data sequence, The second transformation unit is based on the coefficient W (=e 2πj / N ) and the frequency data after the signal processing is performed, to calculate the data of the time axis data sequence according to the frequency data with N data points, The second transformation unit calculates the data of the time axis data series using a delay parameter m whose value is determined corresponding to the window function. When the data of the time axis data sequence is set to x'(n), the window function is set to h(n), the frequency data after the signal processing is performed is set to F(n), and the parameter used in the infinite impulse response discrete Fourier transform is set to r, the second transformation unit calculates the data of the time axis data sequence using the following formula: The second conversion unit calculates the data of the time axis data series by normalizing the data value of the window function with the maximum value and then setting the value of n that makes the data value h(n) of the window function equal to or greater than 0.5 as the delay parameter m.
8. A method for processing a sound signal, comprising the following steps: transforming the input data sequence of the sound signal into frequency data using an infinite impulse response discrete Fourier transform according to processing timing; Using a window function to perform window processing on the frequency data; performing predetermined signal processing on the frequency data after the window processing is performed; as well as converting the frequency data after the signal processing into a time axis data sequence, In the step of transforming the frequency data into a time axis data sequence, Based on the coefficient W(=e 2πj / N ) and the frequency data after the signal processing is performed, to calculate the data of the time axis data sequence according to the frequency data with N data points, The data of the time axis data series is calculated using the delay parameter m whose value is determined corresponding to the window function, When the data of the time axis data sequence is set to x'(n), the window function is set to h(n), the frequency data after the signal processing is performed is set to F(n), and the parameter used in the infinite impulse response discrete Fourier transform is set to r, the data of the time axis data sequence is calculated using the following formula: After normalizing the data value of the window function with the maximum value, the value of n that makes the data value h(n) of the window function greater than or equal to 0.5 is set as the delay parameter m to calculate the data of the time axis data series. 9 . A recording medium having a program recorded thereon, wherein when the program is executed by a computer, the program causes the computer to function as the sound signal processing device according to any one of claims 1 to 6.
Citation Information
Patent Citations
Similarity calculation method based on multiple sound characteristics
CN107610715A
Noise reduction device, method, and program
JP2010028307A