воскресенье, 10 февраля 2013 г.

обратный синтез по fft

var result = new List<short>(take);

stream.Seek(2 * skip, SeekOrigin.Begin);

using(var reader = new BinaryReader(stream)) {

using(var stream = File.OpenRead(path))

static IList<short> LoadPcm(string path, long skip, int take) {

Как я обещал в самом начале, вникать в математические дебри я тут не буду, а просто воспользуюсь библиотекой MathNet.Numerics :

FFT принимает на вход PCM-данные, то есть массив значений амплитуды на дискретной сетке. На выходе дает массив такой же длины, но элементами массива являются данные об амплитуде и фазе элементарных синусоид на определенных частотах.

Преобразование Фурье переводит осциллограмму в спектрограмму. Как правило, при обработке дискретных сигналов используется быстрое преобразование Фурье (БПФ, Fast Fourier Transform, FFT) — я буду использовать сокращение FFT, оно мне почему-то больше нравится.

Если для вас эти слова вообще пустой звук, то можно обратиться к источнику .

Фурье, ДПФ, FFT и т.п.

На картинке (на нее можно нажать) видно, что звук как бы состоит из нескольких переплетающихся волн. Их-то и предстоит «выщепить».

Возьмем тот же звук, который я рассматривал в :

Аддитивным синтезом сгенерирую звук гитары, и, может быть, даже сыграю им небольшой музыкальный фрагмент.

Используя какую-нибудь интерполяцию приближу закон убывания амплитуд и попробую найти какие-нибудь закономерности. Вдруг они есть?

С помощью дискретного преобразования Фурье (ДПФ) я соберу статистику об амплитудах гармоник. Обсужу интерпретацию результатов ДПФ.

Эта статья — продолжение моего , где я, вооружившись Adobe Audition, разбирал на мелкие запчасти запись звучания моей гитары. Там я все делал на глазок, а теперь хочу с помощью точных расчетов проследить характеры звучания нескольких первых гармоник, попробовать их приблизить более-менее простыми функциями и на основании полученных данных синтезировать гитарный звук.

О чем пойдет речь

Несмотря на страшное академическое название, тут не будет интегралов и всяких этих «из последней жуткой формулы совершенно очевидно, что». Тут будет несколько цветастых графиков, немного кода на C# и мои попытки доходчиво объяснить сложные вещи.

Вариант номер три

Фурье-анализ и аддитивный синтез звука струны акустической гитары — edren-baton

Комментариев нет:

Отправить комментарий