applesoup
  • Member for 8 years, 3 months
  • Last seen this week
  • Germany
Fast Realtime Reverb
Accepted answer
2 votes

One of the classic reverb algorithms that are publicly available is Freeverb. It is based on a Schroeder reverberation algorithm (see ,e.g., [1]) which I expect to have comparatively low CPU ...

View answer
Comparing a clean, noisy and enhanced signal
1 votes

The answer to you question depends on how quality is defined in your specific application. Since you're working with audio signals, it is often beneficial to use the perceived quality to analyze the ...

View answer
What are the ranges of values for each audio feature/descriptor?
Accepted answer
0 votes

Unfortunately, the original standard is not available for free. Furthermore, freely available information on the MPEG-7 descriptors seems to be scarce. Therefore, my recommendation is to get [1] which ...

View answer
Scratch Detection On Noisy Textured Surface
0 votes

One approach would be to compute the Phase Only Transform (PHOT) of your image, i.e., set the magnitude of the discrete Fourier transform (DFT) to unity [1]. It is computed as follows. First compute ...

View answer
How to determine whether a speech segment is voiced/unvoiced?
0 votes

An alternative to a pure energy-based detector is to analyze the height of the peak of the normalized autocorrelation function closest to zero. This answer explains a way to compute a simple ...

View answer
What are some python packages I can use to cut audio files
1 votes

The most basic approach probably would be to use scipy's read and write functions for wave files. An interesting alternative is to use the SoundFile library. As SoundFile is based on libsndfile, a ...

View answer
Fast Fourier Transform using numpy
Accepted answer
1 votes

Answers to Your Questions You are right that your time instants are spaced at an interval of $T$. Hence, the sampling rate is $1/T$. ($T$ is defined in line 3 of your code.) You are also right that ...

View answer
Real time background noise reduction or removal
1 votes

A typical first approach to solve your problem would probably be to use one of the many existing noise reduction algorithms that target speech signal applications. These algorithms typically consist ...

View answer
How to detect continuous noise in audio call?
4 votes

My recommendation would be to do the processing in the frequency domain as methods are available that can directly be used to approach your problem. In many cases, speech "quality" is related to the ...

View answer
MPEG-7 low-level audio descriptors
Accepted answer
0 votes

I just did some research on existing implementations of the MPEG-7 audio descriptors and found the following implementations: The official implementation of the 17 low-level descriptors (part 1 and ...

View answer
sound classification
1 votes

A typical approach would be to Compute representative features from the signals. In this regard, e.g., the Mel Frequency Cepstral Coefficients (MFCCs) have shown to be quite useful for a wide range ...

View answer
What is the effect of reducing NFFT less than the signal length
Accepted answer
0 votes

The fast Fourier transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT). The DFT $X[k]$ of time-domain signal $x[k]$ of length $M$ is defined by $$ X[k] = \sum_{\...

View answer
Pitch estimation using the autocorrelation method
3 votes

An offset of 20 samples is added as 8 lines above (auto=autocor(21:160)) this offset is cut away from the autocorrelation sequence. In the line you mention, this offset has therefore to be considered. ...

View answer
which filters are these?
1 votes

An easy way to gauge the magnitude of the transfer function (TF) of a system whose transfer function is specified in terms of zeros and poles in the complex z-plane is the rubber skin model: Zeros ...

View answer
periodicity coefficient
1 votes

The unbiased, normalized autocorrelation function (ACF) $r_{xx}[\tau]$ directly computes the desired "periodicity coefficient". It is defined as $$ r_{xx}[\tau] = \frac{N}{\left\|x\right\|_2^2\cdot(N-...

View answer
Using NMF for guitar pitch detection using fixed pitch template
Accepted answer
1 votes

The goal of non-negative matrix factorization (NMF) is to factorize (as the name says) a matrix, denoted by $\mathbf{X}\in\mathbb{R}^{(N\times K)}$ in the reference you mention, into the product of ...

View answer
Mid/Side encoding/decoding in frequency domain instead of time domain
Accepted answer
1 votes

Yes, it is possible. The discrete Fourier transform (DFT, of which the FFT is an efficient implementation) is a linear transformation, i.e., $$ a\cdot\text{DFT}\{x\}+b\cdot\text{DFT}\{y\}=\text{DFT}\{...

View answer
Remove a frequency and all its multiple (harmonics)
3 votes

The choice of algorithm depends on your application scenario - i.e. there is no best solution per se. If your focus is on minimum computational requirements, a comb filter will probably be optimum. If ...

View answer
Librosa stft + istft - Understanding my output (which always seems too perfect) at varying window lengths
0 votes

The behavior that you describe is perfectly normal. Actually, if you compute the short-term discrete Fourier (STDFT) transform of a time-domain signal first and then compute the inverse transform the ...

View answer
MP3 equalization
Accepted answer
2 votes

The usual approach to achieve your goal would indeed consist in decoding the MP3 file to a series of uncompressed time-domain samples and then filtering this PCM signal. As you are building a player, ...

View answer
how to extract pitch contour of a speech by matlab?
0 votes

I recommend computing the spectrogram of the audio recording using the MATLAB function spectrogram(). The fourth return value (ps in the documentation page linked above) of the spectrogram() function ...

View answer
Combining channels into single FFT left/right vs mid/side
Accepted answer
1 votes

If I get you correctly, your first question is: What is more appropriate, taking the DFT (via the FFT algorithm) of the sum, $$ \text{DFT}\left\{l + r\right\}, $$ or summing the DFTs $$ \text{DFT}\...

View answer
Generating drum sample in programming language
Accepted answer
1 votes

There are different approaches to generate artificial (I guess that's what you're aiming at here) drum sounds. The approach that you describe is certainly a good way to start - i.e. look at an ...

View answer
Vinyl Crackling Effect
1 votes

Several approaches exist to create a vinyl crackle effect [1]. Usually, this type of disturbance is assumed to be an additive one. Hence, the crackling effect is achieved by somehow generating/...

View answer
Noise removal from audio using FFT/Spectral editing
1 votes

There exist solutions that are coarsely based on the idea that you propose: Threshold the spectrogram amplitudes to reduce/remove the noise part of the signal. Usually, this will bring about artifacts ...

View answer
What do triangles mean in frequency aliasing depiction?
0 votes

As a short first answer: The triangles indicate the extent of the frequency content of the signal ($\rightarrow$ bandwidth). Aliasing results if the triangles overlap.

View answer
Simple crosstalk cancellation (or signal separation)?
2 votes

If I understand correctly what you are trying to achieve is usually called Acoustic Echo Cancellation. In many cases, so-called adaptive filtering algorithms, such as the (normalized) least-mean-...

View answer
Echo hiding technique
3 votes

So far I have not experimented with audio steganography, but anyway, maybe these ideas are of some use for you. Adding echoes to a signal is pretty easy as this process just adds a delayed version of ...

View answer
Estimating SNR of an Environment where obtaining clean speech is not possible
1 votes

I think it all depends on the SNR region that you are dealing with. Using a voice activity detector (VAD) seems to be worth an attempt, but consider that VADs fail if the SNR is too low. The most ...

View answer
Extracting data from matlab graph
2 votes

The data that is used to create the curves in the plot are stored in the axes object of the figure that contains the plot. You can obtain the underlying data by retrieving the axes' xdata and ydata ...

View answer