A
A
Aricce2018-06-06 22:14:36
Audio
Aricce, 2018-06-06 22:14:36

How to deal with the Fourier transform?

I've been struggling with the Fourier transform for over a year now.

spoiler
Я студент (IT)(закончил спо, сейчас в вузе), у нас была Математика, Высшая математика, Статистика, Дискретная математика. Также стоит заметить - меня никогда не считали за глупого и сам себя таковым тоже не считаю(по крайней мере не совсем пнем). Есть куча "замечательных" статей, на том же хабре, как пример https://habr.com/post/196374/ , читал книги по обработке звука . Но черт возьми, столько времени потратил шерстя интернет и практически ничего не понял.

The essence of the question - can people specifically explain to me the essence of the Fourier transform?
What materials did you understand?
If you tell me why I need it: to create a program that analyzes the sound of a guitar in real time and gives out information about the frequency of each string, this is part of a larger project.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
S
Sergey Sokolov, 2018-06-06
@Aricce

I will not undertake to explain the Fourier transform (FT) better than the article on Habré.
There is some intuition. A simple boring ideal sine wave after the PF is just one peak, on the value of its frequency. On older analog synthesizers, the sound was made with sliders that set the harmonics. In addition to the main sinusoid, other harmonics were added. Say, an octave higher (weaker than the fundamental tone), two octaves higher (even weaker). This changes the timbre of the sound and the shape of the wave. “An octave higher” - after the PF, this is another peak, with a frequency twice as high as the main one. "Two octaves" - 4 times the frequency. The sliders in such a synthesizer literally move the magnitude of these peaks in the graph after the PF.
Now to the guitar. If one open string is gently plucked softly and slightly around the 12th fret, its fundamental tone will prevail. Overtones will also show up, it is their presence that makes the difference between the sound of a guitar string and a boring sinusoid of a synthesizer. Overdrive effects change the spectrum significantly, making a near-sine wave almost a square wave.
From a one-two-channel recording of a guitar chord, it will not be possible to uniquely determine the note of each string. If only because one note can be obtained in several ways on different strings. If the guitar is overdriven, the intervals can merge into new frequencies. For example, the riff at the beginning of Skindred is Babylon (the first thing that came to mind)
Line6 releases guitars, where pickups pick up each string individually. This allows you to switch the tuning of the guitar on the fly: from the standard EBGDAE to the dropped-D EBGDAD and others. The signal of each string is individually tuned to the desired interval before further processing.

D
Dmitry Makarov, 2018-06-07
@DmitryITWorksMakarov

This is how it happened in my head after 5 years of studying in the radio engineering specialty, some time as a circuit engineer and some time teaching practice in OTC and RCS courses. Plus, even in graduate school, I intersected with the Fourier transform.
Working with different signals (audio, electrical) we mainly solve two problems. It is analysis and synthesis.
Analysis is to find out everything that is needed for the task about the signal. Find out what the signal will be at the output of a certain converter, if there is such a signal at the input.
Synthesis is to create a signal with given characteristics. Or create a converter that will receive the required output from a known input signal.
For arbitrary signals, the problems are complex and, in the general case, probably unsolvable (I'm not a real mathematician, but I guess so). On the other hand, these tasks for harmonic signals are quite well worked out. Considering that the principle of superposition is fulfilled for linear circuits, it is possible to decompose a signal with which we cannot work, into a sum of signals with which we can work, and reduce one complex task to several simple ones.
The textbook, like Xilian , read Baskakov "Radio circuits and signals".
Concerning the analysis of a sound of a guitar.
The spectrum of a guitar string will be something like this
. the fundamental harmonic (lowest) and overtone frequencies (multiple frequencies) are visible.
It is quite easy to isolate this fundamental harmonic programmatically.
Now imagine that we have several strings sounding at the same time. It will be quite a complex picture.
Considering that the range of the guitar spans several octaves, it turns out that the fundamental tones of the lower strings can coincide with the overtones of the upper strings. In a good pleasant chord, the overtone frequencies of different strings will coincide (that's what harmony is for). Given the different timbre of sound with different sound production or when playing with lotions, the mutual distribution of the amplitude of different harmonics for one string will be different.
What am I leading up to. It will be very difficult to determine the components of each string in this mess if there is no separate pickup under each string.
But you can determine the chord being played at the moment.
We can play 6 strings at the same time, i.e. A chord can consist of no more than 6 notes. We do not know if there are primas and octaves in this chord. Therefore, we take the first six peaks in the spectrum. Let's remove the multiple peaks. What remains will determine the harmonic meaning of the chord. So we will not be able to define "wide" chords, but we will get the most basic. From the frequencies we can get notes (taking into account the fact that the guitar can be out of tune or tuned not from la 440Hz).

Y
Yupa20171123, 2018-07-18
@Yupa20171123

Fourier figured out the manual on electrical engineering. But here you were correctly explained that you are going the hard way, comrade :)
Consciousness throws sound like a wide sofa - into what potential hole it will fall. That's how you do it. And what strings to jump...
You have several options for each sound (tag, pixel, hieroglyph). They must be processed by the second layer (taking into account the previous time and the future) and choose the optimal solution for the player.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question