Hot answers tagged

11

From a graphical point-of view, it is an infinite spring, whose distance between adjacent coils reflects the frequency of the complex exponential: If you have a 1D time x-axis, you may be used to draw functions along a single 2nd y-axis dimension: sines, cosines, etc. If you want to plot a complex function, you need one x-axis, and 2 y-axes for the real ...


11

When talking about modeling, there are two things that usually get modeled: 1. the guitar amp, and 2. the speaker cabinet. Only the latter is modeled by an impulse response, which means that the cabinet is simply represented by an LTI system and implemented by convolution. This is of course an approximation but it works fairly well. You can find a lot of ...


8

Is it possible to reconstruct the original pure signal? No, that is information-theoretical impossible. Also, that signal doesn't exist, probably, to begin with ;) However, you can definitely increase the the SNR simply by averaging; that becomes pretty obvious when you consider the signal of interest to be correlated within your recording, whereas your ...


8

If you're an EE student, you will have encountered the term LTI System (or you certainly will soon enough!): A system that, no matter the absolute time, outputs, given the same input, the same output; if you scale the input by a factor, the output is scaled by the same factor. Linear, time-invariant, so to speak. LTI systems can be applied to time-domain ...


3

Block Processing (sometimes called Vector Processing) is a programming technique similar to, but not exactly the same as First-In-First-Out (FIFO) buffering. It is double buffering of the samples coming into the process (be they from an A/D converter or a stream) and going out (to a D/A converter or another stream). Block processing divides the processing ...


3

Orthogonality provides an interesting backbone to the structure of the filter-banks (FB). First, from an analysis FB, the synthesis FB is very direct, so it can ease implementations. Second, the orthogonality often allows faster implementations, as there is "little redundancy" in computation. Third, orthogonality ensures that matrices are well-conditioned, ...


3

As Stanley Pawlukiewicz said: even under ideal circumstance, you can gain 3 dB of SNR per doubling of recordings. I.e., to increase SNR by, say, 15 dB, you'd need to average $$ 2^{\frac{15}{3}} = 2^{5} = 32$$ recordings. That alone shows that the whole thing isn't really practical: it just doesn't do much unless you use a crazy-high number of recordings. “...


3

i will agree with Hilmar that it can depend on the specific application. if the application is to essentially losslessly store or transmit audio to later retrieve or receive that audio, including conversions of format (and this includes the A/D and D/A and SRC) then i would say that there is no good reason for a process to not be linear phase (which is ...


3

I would recommend a streaming RMS detector. The standard approach for computing a streaming RMS detector is to square the input samples and then apply these to a 1st-order lowpass filter. If you want the output in dB, take 10*log10() of this quantity. If you want the output in volts, take the square root of this quantity. If Logs and square-roots are too ...


2

As you mentioned MFCC features are one of the best features to represent audio as it captures both the time and frequency variations in the audio clip.You can get more details about MFCCS features in the below link: http://practicalcryptography.com/miscellaneous/machine-learning/guide-mel-frequency-cepstral-coefficients-mfccs/ You can import ...


2

First of all, if your phasor oscillator has a step discontinuity (as opposed to a ramp one) at $\phi\bmod 1 = 0$, then you should use the four-point, fourth order polyBLEP residual, not the fifth-order polyBLAMP one. Second, the easiest way to simplify the piecewise polynomials is to see that the residuals are the successive integrals of the piecewise ...


2

There are many good answers here. Additional information can be found in this paper: SIGNAL-MATCHED POWER-COMPLEMENTARY CROSS-FADING AND DRY-WET MIXING This is a rather math heavy paper that employs statistical signal processing methods. However, it will give you a more rigorous understanding if you are up to the task. Good Luck!


2

A program to convert an .mp3 audio file-format into , say, an .ra (real audio) audio file-format needs fully to decode the mp3 file into raw waveform audio and then re-encode it into its new format. This raw audio waveform data can be contained within 32/64-bit floating point or some integer formats though. But when it's sent to audio DAC, it should be in ...


2

Most audio interface devices are built for the commercial electronics industry which produces devices to be used by people to listen to music, radio, TV etc; for multimedia reproduction purposes. Therefore the commercial electronics standardisation organisations, suggest or enforce the use of a number of frequency weighting filters (A,B,C etc.) for getting ...


2

The spectra on the left are two line spectra of two different periodic functions, the top with fundamental frequency of 100 Hz and the bottom has $f_0$ of 200 Hz. While they are not perfectly flat spectral lines, they are broadbanded with no apparent resonance. It's a gross approximation, but I believe these two broadbanded periodic signals are meant to ...


2

It means your song is stereo (two channels). if that's not the case, then that is weird indeed.


2

The ltfatpy 1.0.16 package is a partial Python port of the Large Time/Frequency Analysis Toolbox (LTFAT), a MATLAB®/Octave toolbox for working with time-frequency analysis and synthesis. Among linear and quadratic time-frequency methods, there is a large number of options for sharper analysis tools converting a 1D signal into 2D data. You can even ...


2

If your code is working correctly, than there should be no aliasing. Most likely this is a problem with your playback system. Most sound cards in computers are terrible and will create a lot of noise and other artifacts. Since the 19 kHz tone is inaudible for most people, you just hear the artifacts. It's also possible that you turn up the volume too high....


2

This is expected and a consquence of Parseval's theorem. Loosely speaking, it's a flavor of energy conservation: the total energy of the signal doesn't change when you transform it from the time domain into the frequency domain so the energy calculated in either domain must be the same.


2

I was going to post this as a comment, but then it became so long that I thought, this constitutes really as an answer in fact. Your question reminds me of the lab-work in my MSc course on Adaptive Filters. We used "Wiener filter" to remove some unwanted background noise (wind and tire noise) from the recorded input to make the speech clearer. The Wiener ...


2

First, they need to understand that complex number has two values: real and imaginary. Second, they need to understand that the exponential of an imaginary number represents a point on the complex unit circle. This is my intro to it: The Exponential Nature of the Complex Unit Circle It does not go above adolescent level math, assuming that means algebra. ...


2

Yes, you are correct. If you take a DFT of square wave and only look at the amplitudes, doing an inverse DFT but using different or random phases for the sine components, it does not look like square wave in time domain any more. But it will have a matching spectra. Kind of like two racecars on a circular track, they might always have same velocity, but ...


2

Consider a real, discrete-time signal $$ x[n] = A_1 \cos(\omega_1 n + \phi_1) + A_2 \cos(\omega_2 n + \phi_2) $$ Assuming that $\omega_1$ and $\omega_2$ are known, then in order to describe $x[n]$ completely and uniquely, you need both the amplitudes $A_1$, $A_2$, and also the phase angles, $\phi_1$ and $\phi_2$. That's what the various Fourier transforms ...


2

-20dB corresponds to $1/10$ of the amplitude or $1/100$ of the energy. That's the same thing, since energy (all else being equal) is proportional to the square of the amplitude. It also corresponds very roughly to about $1/4$ perceived loudness but that's an entirely different can of worms


2

So, first of all, please call your "blocks of data" audio samples; in the context of audio file formats, we also call them frames, but it's really not a "block of data", but simply: a sequence of 44100 numbers per second. Nothing more, nothing less. Is this a valid strategy to produce a new .wav file? We need to make a difference between the signal and ...


2

There is (at least) one error in your routine. It concerns the definition of alpha. The correct formula is $$\alpha=\frac{\sin(\omega_0)}{2Q}$$ However, you implemented $$\alpha=\frac{\sin(\omega_0)\cdot Q}{2}$$ But that shouldn't influence the function of the filter as a high pass filter; it just implements the inverse of the given $Q$ value. Other ...


2

Filtering a data block usually results in more data than fits in the size of the block. If you throw away this added data, that will produce artifacts across blocks. For FIR filters, you need to pad each chunk or block with at least the length of the impulse response of your filter before filtering (>= N+M-1). Then use overlap-add or overlap-save (FFT ...


2

If you’re looking for modeling the amplifier itself, convolution will not provide a complete model for the internal processes. However, convolution is the basis for a number of cab modeling products. I have a line 6 helix that I use frequently. A dry guitar doesn’t sound great. A dry guitar through an amp model sounds bad. A dry guitar through an amp and ...


2

I don't know much about this semantics? of WAV files but their numerical format is the following. (assuming mono) Given a recording with 8-bit per sample precision, then those samples are unsigned integers taking values between $0$ and $255$. Due to being unsigned, to represent negative values, there is a bias of $128$, and the sample values are actually ...


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