@Aricce

Как разобраться с преобразованием Фурье?

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

Суть вопроса - люди можете мне конкретно обьяснить суть преобразования Фурье?
По каким материалам вы разобрались?

Если рассказать для чего мне это нужно: создать программу, в реальном времени анализирующая звук гитары и выдающую информацию о частоте каждой струны, это часть большего проекта.
  • Вопрос задан
  • 432 просмотра
Решения вопроса 1
Не возьмусь объяснить преобразование Фурье (ПФ) лучше приведенной статьи на Хабре.

Есть некая интуиция. Простая скучная идеальная синусоида после ПФ это всего один пик, на значении её частоты. На старых аналоговых синтезаторах звук делался ползунками, задающими гармоники. Помимо основной синусоиды, добавлялись другие гармоники. Скажем, на октаву выше (послабее основного тона), на две октавы выше (еще слабее). Это меняет тембр звука и форму волны. «На октаву выше» – после ПФ это ещё один пик, с частотой вдвое выше основной. «На две октавы» - в 4 раза бОльшей частотой. Ползунки в таком синтезаторе буквально двигают величину этих пиков в графике после ПФ.

em14_1.jpg

Преобразование Фурье волшебным образом из поступающего сигнала создаёт «рисунок ползунков» синтезатора для создания точно такого же звука.

Теперь к гитаре. Если одну открытую струну аккуратно мягко несильно дернуть в районе 12-го лада, будет преобладать её основной тон. Обертона тоже обнаружатся, именно их наличие составляет отличие звука струны гитары от скучной синусоиды синтезатора. Эффекты перегруза значительно меняют спектр, делая из примерно-синусоиды почти прямоугольную волну.

Из одно-двух-канальной записи гитарного аккорда однозначно определить ноту каждой струны не получится. Хотя бы потому, что одну ноту можно получить несколькими способами на разных струнах. Если гитара обработана перегрузом, интервалы могут сливаться в новые частоты. Например рифф в начале Skindred - Babylon (первое, что пришло в голову)

Line6 выпускает гитары, где датчики снимают индивидуально каждую струну. Это позволяет налету переключать строй гитары: из стандартного EBGDAE в dropped-D EBGDAD и другие. Сигнал каждой струны индивидуально перестраивается на нужный интервал перед дальнейшей обработкой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Xilian
Программист 1С, сетевые технологии, SQL
>>Суть вопроса - люди можете мне конкретно обьяснить суть преобразования Фурье?

Суть в преобразовании недерминированного входного сигнала в ряд сигналов. 99% обработки аудио и видео изображений основано на быстром дискретном преобразовании Фурье.

>>По каким материалам вы разобрались?

Учебник Баскакова + 2 преподавателя в институте.

>>Если рассказать для чего мне это нужно: создать программу, в реальном времени анализирующая звук гитары и выдающую информацию о частоте каждой струны, это часть большего проекта.

Для этого потребуется DSP или FPGA. Да и сама математика с анализом потребует много фамильных формул.

И кстати с чего вы решили, что любая струна начнет выдавать фиксированную ноту? А если сразу две дернуть? А если перебирать?
Ответ написан
DmitryITWorksMakarov
@DmitryITWorksMakarov
Вот как у меня в голове сложилось после 5 лет обучения по радиотехнической специальности, какого-то времени работы схемотехником и какого-то времени преподавания практики по курсам ОТЦ и РЦС. Плюс еще в аспирантуре с преобразованием Фурье пересекался.

Работая с разными сигналами (аудио-, электро-) мы в основном решаем две задачи. Это анализ и синтез.
Анализ - это узнать про сигнал все, что нужно по задаче. Узнать какой получится сигнал на выходе некоего преобразователя, если на входе вот такой сигнал.
Синтез - это создать сигнал с заданными характеристиками. Или создать преобразователь, который из известного входного сигнала получит требуемый выходной.

Для произвольных сигналов задачи сложные и, в общем случае, наверное, нерешаемые (я не настоящий математик, но, наверное, так). Зато, довольно неплохо проработаны эти задачи для сигналов гармонических. Учитывая, что для линейных схем выполняется принцип суперпозиции, то можно сигнал, с которым мы не умеем работать, разложить на сумму сигналов, с которыми мы умеем работать, и свести одну сложную задачу к нескольким простым.

Учебник, как и Xilian , читал Баскакова "Радиотехнические цепи и сигналы".

По поводу анализа звука гитары.
Спектр гитарной струны будет какой-то такой
5b1929c853e5d805356858.png
т.е. видно основную гармонику (низшую) и частоты обертонов (кратных частот).

Можно довольно просто выделить эту основную гармонику программно.

А теперь представим, что у нас звучат одновременно несколько струн. Будет достаточно сложная картина.
Учитывая, что диапазон гитары перекрывает несколько октав, то получится, что основные тона нижних струн могут совпадать с обертонами верхних струн. В хорошем приятном аккорде будут совпадать частоты обертонов разных струн (на то и гармония). Учитывая разный тембр звука при разном звукоизвлечении или при игре с примочками взаимное распределение по амплитуде разных гармоник для одной струны будет разным.
Я к чему это веду. Определить в этой каше составляющие каждой струны будет очень сложно, если нет под каждой струной отдельного звукоснимателя.

Но можно определить аккорд играемый в данный момент.
Одновременно у нас может играть 6 струн, т.е. аккорд может состоять не более чем из 6 звуков. Нам неизвестно, есть ли в этом аккорде примы и октавы. Поэтому возьмем в спектре первые шесть пиков. Уберем кратные пики. То, что останется будет определять гармонический смысл аккорда. Так мы не сможем определить "широкие" аккорды, но самое основное получим. Из частот сможем получить ноты (с учетом того, что гитара может быть расстроенной или настроенной не от ля 440Гц).
Ответ написан
Комментировать
@Yupa20171123
Фурье разобрался по методичке по электротехнике. Но тут вам правелно обьяснили что трудным путем идете товарисщь :)

Сознание кидает звук как ширик по дивану - в какую потенциальную яму упадет. Вот так и зделайте. А уже какие струны дрыгать...
У вас каждому звуку (тегу, пикселю, иероглифу) соответствует несколько вариантов. Они должны обрабатыватся вторым слоем (с учетом предыдушего времени и будушего) и выбирать оптимальное для играюшего решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы