New answers tagged

1

The main purpose of windowing is to manage the amount of spectral leakage. If you don't know what this is, just search this forum or ask a separate question. In order to reduce spectral leakage the window must fade out at the ends of the window. Overlap is needed to make sure all samples are weighed equally (at least roughly). Any window weighs the samples ...


1

If there no overlap, then invertibility is lost, and so is information. If there is overlap, but it is little, then analysis information is lost (but not synthesis, which is more fundamental). Namely, from 0 to 0.5 times the sampling frequency, if "hop length" is 2, then analysis information for frequencies bewteen 0.25 and 0.5 is aliased. If hop ...


0

I didn't understand the math behind a sinc filter until I read some code that does it and some other basic material. Once you get it, it's easy. This approach works at the specified clock rates well enough for 128 channels of additive synthesis including separately-filtered noise for each channel to get an 83-tap filter with a 2,271Hz transition bandwidth (...


0

Maybe you could try training an encoder-decoder LSTM neural network. For example https://arxiv.org/abs/1603.00982 https://arxiv.org/abs/1803.08976 From a quick glance at the abstracts, it looks like these authors were more focused on capturing phonosemantic information, but perhaps you could adapt these architectures to your task.


0

A typical loudness chain comprises of Frequency weighting filter. For breathing, A-weighting is probably fine RMS detector with a suitable time constant (maybe 100ms or so) If you want a single number: suitable integration over the entire clip. Energy average will probably be ok here. Potential Python libraries: https://github.com/csteinmetz1/pyloudnorm ...


2

We're still a couple steps behind on emulating good tube distortion and even some other effects you find in some stomp boxes (although a lotta stomps have digital innards). Don't you have multitrack recording? Why not record both the clean guitar as well as the great-sounding guitar coming outa the Mesa Boogie?


1

It depends and typically there are more important aspects to consider: Make sure your effects are in the right order. I'm guessing you do NOT want a reverb before your distortion pedal regardless of whether any of these is analog or digital. Some effects must be part of the recording and cannot easily be applied through post-processing. For example if you ...


0

As suggested by @jojek: SoX: sox in.wav -r44.1k out.wav


3

Assuming that T is the length of the chirp, a linear chirp is given by $$x(t) = \sin\left[2\pi \cdot \left( t\cdot f_1+ \frac{t^2}{2T}(f_2-f_1)\right)\right] $$ A zero crossing occurs when the phase is an integer multiple of $\pi$, so we can determine the $k^{th}$ zero crossing is given by the relationship $$ t_k\cdot f_1+ \frac{t_k^2}{2T}(f_2-f_1) = k/2$$ ...


1

Do I have to take the BT communication time, into account? Yes. Plus also the delays in your audio drivers, the audio stack of the OS, kernel mixers, sample rate converters, and whatever else is in the signal chain. Your best shot is to try a calibration: Do a near field measurement at close range (maybe 5 cm in front of the center of the full range driver, ...


0

In general, you need to know something about the signal and the noise in order to separate them and measure the signal power and the noise power. As Marcus pointed out, one system's noise is another system's signal, so it's not possible to measure signal power or noise power with only a recording of received signal and no other information. From one ...


1

What you need is to filter out lower frequencies: You do that with a high-pass filter. Since you don't really need that filter from "very much blocking" to "completely letting everything through" in a very narrow band, that filter will be pretty short (meaning it only needs very few multiplications per sample to compute its output. I've ...


1

You need to perform FFT on data_chunk, then take the magnitude of the resulting complex array. The result will be a vector with the magnitudes of all frequency components in data_chunk. This is how you would go about doing that: from scipy.fft import fft import numpy as np Y = fft(data_chunk) Y = Y[0:round(len(Y)/2)] YMag = np.abs(Y) Now YMag has the ...


1

I think what you need here is the Short Time Fourier Transform (STFT). You set the desired window size as well as the amount of overlap (in your case I would set this to 0%) and then you perform FFT on the resulting window and calculate its magnitude. If you explicitly want a list, you can select the frequencies whose magnitude is above a certain threshold. ...


2

So based in @rbj answer, can i try to show you visually ... Take a look in this pure tone signal, one sine at 100hz and sample rate at 44100hz. just by looking you can find where the pattern starts to repeat itself, I marked it with the naked eye as being in position 441(Period) So we take exactly 100hz --> 44100/441=100hz Another example: Another 100hz ...


3

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 ...


0

What you are looking for is the MP3 algorithm. It reduces audio to 15 millisecond blocks consisting of a list of frequencies and amplitudes. MP3 compression consists of "throwing away" frequency entries with low amplitudes. It also uses a psychoacoustic model to "throw away" frequencies you won't notice due to louder sounds before or ...


1

This is a really odd implementation of a Schroeder allpass. The Schroeder all pass can easily derived by warping a normal allpass and it's transfer function is simply $$H(z) = \frac{g+z^{-M}}{1+gz^{-M}}$$ And the corresponding difference equation is $$y[n] = g \cdot x[n] + x[n-M] - g \cdot y[n-M]$$ This difference equation can be implemented in any of the ...


1

I can't say for sure without seeing the specifics of the all-pass filters, but it's between common and unavoidable for an IIR filter to exhibit a transient increase or decrease in output when you change its parameters. The problem is that the states generally have meaning with respect to the parameters -- so when you change the parameters without adjusting ...


Top 50 recent answers are included