19

Encouraged by Hilmar, I've decided to update the answer with all the steps necessary to calculate the Reverberation Time from a scratch. Presumably, it will be useful for others interested in this area. Obviously, it is the simplest approach because more advanced are definitely beyond a scope. In the beginning, you must obtain the impulse response of a room....


9

Why is each window/frame overlapping? Windowing is a means to stationarize signals. Inside a small enough window, you can expect that the properties of the signal chunk do not vary too fast. And you now can use tools well-suited to stationary signals, like Fourier-based techniques. You can imagine non-overlapping rectangular windows, each defining a frame....


8

The i-vectors and x-vectors share the ability to represent speech utterance in a compact way (as a vector of fixed size, regardless of length of the utterance). The extraction algorithms of i-vectors and x-vector are quite different. The x-vector concept is newer and the name of the method is similar to "i-vector" to suggests that this representation can be ...


7

In line with a previous similar question here are my suggestions: There are so many nice books but I believe you should first have a look at the science of sound from Rossing for getting the most broad view on the subject. Then you can look at the following books , each dealing with a particular dimension of the problem: 1- Acoustics_BERANEK 2- Elements ...


7

More overlap means you end up with more windows (of a given length) per second of audio. More windows (of a given length) requires more FFTs which requires more MACs or FLOPs which generally requires more processing power. In return, more window overlap provides greater time locality of information (e.g. on average, random transient events are likely ...


6

My own interpretation: Sound: a mechanical wave that propagates through the air or water. Audio: sound in the 20 Hz to 20 kHz range; in other words, sound that is (at least in theory) audible to a large number of humans. Voice: sound produced by the human vocal tract. Speech: intelligible voice (i.e. not grunts or screams) Tone: signal dominated by a ...


5

Depending on the actual recordings, the algorithm complexity could range from dead easy to really complex... I'll take the studio recording case first, so I can assume : - (Almost) no noise coming from outside (cars, trucks, bus...) - Nobody slamming the door in the middle of the recording - Voice samples are recorded at optimal level independently of who ...


5

The bi linear transform is the transform from the Laplace Transform Domain to the Z Transform. The Laplace Transform Domain is a regular plane. This transform transforms vertical lines in the Laplace domain into circles in the Z Domain. Hence the Fourier Vertical Line in Laplace Domain (The Y Vertical Lines) is transformed into the unit circle in the Z ...


5

Let's think about it in a different way - Generate Noise from a Dictionary. Let's create a Dictionary $ A \in \mathbb{R}^{m \times n} $ where each of its rows is normalized (Has Euclidean Norm of $ 1 $) and generated by a Gaussian Random Vector. Now, let's create $ N $ random vector $ {\left\{ {r}_{i} \right\}}_{i = 1}^{N} $ by: $$ {r}_{i} = A {g}_{i} $$ ...


5

You may think of it as efficient way to apply Dirichlet Window Based interpolation in the Fourier Domain. The advantage of applying the interpolation using Zero Padding in the Time Domain is very simple - it is simpler and more computationally efficient.


5

The language choice depends on many factors. For instance, are you after developing low level features of DNN or using existing building blocks? Most advanced and popular Deep Neural Networks (DNN) Frameworks are nativly integrated into Python though they are mostly implemented using different low level language (C++ mainly). Those include PyTorch and ...


4

The standard method to remove stationary noise is spectral subtraction, where the magnitudes of the short-time Fourier transform of the noisy signal are modified based on an SNR estimate in the respective frequency bin. The algorithm by Ephraim and Malah (see this paper) and its variants are used a lot. Note that the basic principle of spectral subtraction ...


4

By performing the windowing with overlap we are artificially increasing our time resolution (larger granularity of features in time). This is especially useful when frame duration is long (bad time resolution, very good frequency resolution), thus yielding kind of extra 'time resolution'. Usually no one is using the rectangular window, but other types such ...


4

As already mentioned by other people, the bilinear transform is often used to map a continuous-time system described in the $s$-domain to a discrete-time system described in the $z$-domain. However, a bilinear transform is a more general tool that can also be used to transform a discrete-time system to another discrete-time system. Since you didn't give any ...


4

It's better to copy first frame and last frame values to extend vector sequence beyond boundaries than to assign 0. This could be implemented just by adjusting indexes: if (index1 < 0) index1 = 0 if (index2 > N - 1) index2 = N - 1 delta = v[index1] - v[index2]


4

But which features of signals reveal differences between piano and guitar Look at things like timbre; basically, most things when excited to oscillate will not only produce a single tone, but a set of overtones, too, and those are weighted differently; also, there tends to be a different temporal "decaying" and frequency changing after excitation.


4

A common technique for computing the inverse fft is to invert the imaginary part of the input array, perform a forward fft and then invert the imaginary part of the output array. In the case of the Cepstrum, the input to the ifft is real-valued (due to the absolute value function) and also symmetric. In this case there is no imaginary part on the input to ...


4

For large number of samples both will be indistinguishable. The Biased Version is the Maximum Likelihood Estmator (MLE) of the problem. It means it has many nice properties for $ N \to \infty $. The Unbiased version is Minimum Variance Unbiased Estimator (MVUE) of the problem. Yet in practice when $ N $ is large, as in your case, it won't matter much and ...


4

The LMS and many of the variants of Adaptive Filters (In the Linear System context) work in the following settings (Intuitive): You have access to 2 signals. One signal is the result of the other one when a Linear System is applied. This sounds really limiting, yet in practice it is powerful and flexible. In the settings you mentioned the most known and ...


4

Band-pass filtering with cut-off frequencies of 300 Hz and 3400 Hz should result in a good approximation. Try with a Chebychev filter or order not more than 6. Then you may need to downsample your audio to 8000 samples per second, which is the standard for telephony. P.S. The actual cut-off frequencies (especially the 3400 Hz) may be different according to ...


4

The pitch period of a perfectly periodic function, $x(t)$, is the smallest positive value $P>0$ such that $$ x(t+P) = x(t) \qquad \forall t \in \mathbb{R} $$ Now, simply because a function is periodic with period $P$, then it is also periodic with periods $2P$ or $3P$ or $4P$ or any integer multiple of $P$, but we don't pick $2P$ or $3P$ or $4P$ for the ...


3

Tapering the two ends of a short audio signal allows it to be played at an arbitrary time after and before silence without a speaker "pop" or loud click. Using a raised cosine taper reduces potential high frequency spectral content inherent in any sudden sharp startup transient, which might not be present in the rest of the data due to prior low pass ...


3

So when will you think you need moving average in an algorithm design? If you mean moving average filters; moving averages as the name suggest are computed as averages of samples say, $M-1$ previous samples (+ current sample) from input $x[n]$ to get an average output $y[n]$, repeating the process to get all $y$ samples. Computing their mean to get an ...


3

It's common, when computing a cepstrum, to replace any zero's or tiny magnitudes in the 1st FFT result with some (noise) floor value to keep the scale and range of the log function "reasonable looking". Huge negative spikes (or -inf) from the log() of tiny spectrum magnitudes don't usually provide that much added useful information to the rest of the ...


3

you can also find speech corpus from here English: American National Corpus Open to All Huge Corpus from Vox Forge Repository Indian Local: Hindi Language Corpus Bengali Corpus Speeches from Indian Language Consortium


3

I have a suggestion for you. Compute the mean power of the signal at the input of the filter without any signal applied at the input. You should only receive noise. This will be the noise power $ P_{N} $. Compute the mean power of the signal at the input of your filter when you apply your signal. You should have there your signal plus noise. Then, this will ...


3

Here is a series of tutorial videos on Speech and Audio Processing by Professor E. Ambikairajah; about 1 hour each. They can serve as a basis to focus on more specific topic. Speech and Audio Processing 1: Introduction to Speech Processing Speech and Audio Processing 2: Speech Analysis Speech and Audio Processing 3: Linear Predictive Coding (LPC) Speech and ...


3

Let's note $x_k$ and $x_{k+1}$ two successive samples. In the usual case of uniform sampling, the spacing between two successive samples is independent of $k$ and is given by $T$, the sampling period. This is illustrated in the figure below. In the case of logarithmic sampling, the spacing increases exponentially with $k$. This is again illustrated in the ...


3

ImageMagick is a great tool to edit multiple images in the command line. Thanks to your question, I just discovered SoX, or Sound eXchange: SoX is a cross-platform (Windows, Linux, MacOS X, etc.) command line utility that can convert various formats of computer audio files in to other formats. It can also apply various effects to these sound files, ...


Only top voted, non community-wiki answers of a minimum length are eligible