If you can get it:
Zölzer, Udo (1997). Digital Audio Signal Processing. John Wiley and Sons. ISBN 0-471-97226-6
might have to buy them used.
is your interest music processing and synthesis?
there are some nice online books. Look for anything Julius Smith. But there are others, but i can't remember any names to search for.
Many years ago, when I was studying audio DSP in my university, I had to read the following:
Y. You, “Audio Coding: Theory and Applications,” Springer, 2010 here
A. Spanias, T. Painter, V. Atti, “Audio Signal Processing and Coding,” Wiley, 2007 here.
I was very dissapointed by both. Spanias & Painter provide a nice and thorough overview of MP3 coding (...
My personal favorite, though I don't usually do much audio signal processing, are Julius O. Smith III's Spectral Audio Signal Processing and Physical Audio Signal Processing. They're available online here and here.
A while ago, he made the Physical book available in paperback on Amazon.
Frequency is mathematically defined as the number of cycles per second. So it is a more strict word mathematically. It is represented numerically by the unit called Hertz.
$f=1/T$, where $T$ represents the one-period length of a waveform. This makes frequency quantifiable.
Pitch on the other hand, is a perceptual characteristic of a sound frequency, so it'...
It is because the audio signals are real and already at baseband. In contrast radio frequency signals are often represented as complex numbers once they are brought back to baseband. Real signals can be represented as a single stream of real numbers, while for complex numbers two streams of real numbers are required to represent them (as in $I+jQ$).
To complement @DanBoschen's answer: a real baseband signal is a purely in-phase signal. Its quadrature component is zero, so there is no need to sample it or represent it in any way.
An interesting approach, though, would be to represent a stereo signal as quadrature. You could define the right channel as the in-phase signal, the left channel as quadrature, ...
Python librosa library has a functionality you can use:
librosa.effects.split(y=buffer, frame_length=8000, top_db=40)
Split an audio signal into non-silent intervals.
Given sampling rate of 8000 it will split the audio by detecting audio lower than 40db for period of 1 sec
Or, you can trim the audio "silent parts" using:
The short answer is do not null out the "mirror frequencies" that are located above $f_s/2$ that match the frequencies you want to keep. If your FFT was generated from a real signal, then when you do the IFFT you will get the real signal back as long as you did not zero out those upper frequencies (as you did).
The DFT (which the FFT computes) returns ...
If you want a strictly real result from an IFFT, then you have to force the input to be conjugate symmetric. That way, all the imaginary components will cancel out to (almost) zero (except for rounding “errors” or microscopic numerical noise).
For a real signal, the FFT is symmetric complex numbers in general. That is $X[((-k))_N] = X[((k))_N]$. When you did this
you have disturbed the symmetry and hence, the ifft of this new signal will no longer be real. See a simple example
>> x=[1 3 5 6];
The main prerequisite for measuring anything meaningful is that the target parameter (THD) is much better in your measurement system than in the system under test. The higher the difference, the more accurate your result will be. If your measurement system is orders of magnitude better, that the system under test, the measurement error can be neglected. If ...
Simple clipping :
threshold = 0.5
If x > threshold
x = threshold
elseif x < -threshold
x = -threshold
Real-world clipping can be significantly more complex than this, involving various time-constants, asymmetry, heating-effects,....
Yes it does exist and these are called "all-pass" filters in that over the band of interest the magnitude does not change (other than a possible fixed gain at all frequencies) but modify the phase response. The time delay at a specific frequency is the negative derivative of phase with respect to frequency, so the goal of these filters is to selectively ...
Frequency is a mathematical/physical concept while pitch is a perceptual concept that correlates with frequency.
Edit: or in wikipedias words:
« Frequency is an objective, scientific attribute that can be measured. Pitch is each person's subjective perception of a sound wave, which cannot be directly measured.»
Typically the longer the buffer of audio, the more processing you can do. The reason for this is that most of the audio buffering is happening in hardware (silicon I2S controllers). When you are make less software calls for each buffer, there is less processing overhead.
If you capture a larger amount of audio with each time slice, you will be able to ...