| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Нужны исходники БПФ (FFT) для обработки WAV |
| Автор: wiseland 17.3.2006, 13:45 |
| Народ, помогите плз!!! Мне нужны исходники FFT для обработки wav файла. Просто алгоритм (и исходники) FFT уменя есть, но я уже 3 дня не могу никак с его помощью обработать wav файл. Необходимо разложить PCM файл на частотные составляющие, потом обработать их и обратно преобразовать в wav файл. Подробная задача: есть файл mp3, есть плейер, который проигрывает этот файл, необходимо сделать изменение тона во время воспроизведения файла. Насколько я понимаю, чтобы сделать изменение тона звучания, необходимо манипулировать частотами (т.е. удалять высокие или низкие частоты в зависимости от понижения/повышения тона). Я думаю, что напрямую такие изменения нельзя сделать с mp3 файлом во время воспроизведения (А МОЖЕТ Я НЕ ПРАВ?!, ПОДСКАЖИТЕ ТОГДА КАК И ЕЩЕ ЛУЧШЕ ПОМОГИТЕ ИСХОДНИКАМИ), поэтому хочу перевести mp3 файл в wav и сделать необходимые преобразования. Повторюсь: надо это все сделать во время воспроизведения... Буду ооочень признателен за помощь. Исходники можно на мыло [email protected] Заранее благодарен! |
| Автор: DRUID3 17.3.2006, 15:44 | ||
P.S.: FFT крайне неэкономный алгоритм, работающий со всеми точками частотного преобразования (и экономичнее он только DFT работающего с таким же количеством точек, причем FFT в силу построения алгоритма не может быть для нескольких точек частотного интервала, и здесь гораздо экономичнее DFT. Мало того, частотное преобразование в фильтрации очевидно, и потому получило распространение во времена расцвета аналоговой обработки. Но почему программисты только дело коснется ЦОС, тянут это преобразование куда надо, и куда не надо? Эквалайзер, как набор фильтров с переменным коэффициентом передачи легко (много легче) реализуется во временной области... |
| Автор: Romikgy 17.3.2006, 16:50 | ||
это смотря как смотреть вверх или вправо, я представляю себе шкалу ФФТ преобразования, и у меня справа более высокие частоты Для сдвига тона не подойдет сходите на dsp-book.narod.ru там много чего по преобразованиям |
| Автор: DRUID3 17.3.2006, 17:34 | ||||
Да регулярно хожу, я сам занимаюсь ЦОС
Есть устоявшаяся терминология в физике, математике, музыке и ЦОС. И Право и лево там нет. Тем более, когда работают с комплексным спектром и представляют его на одном графике, уже такое обозначение не катит. Я не упрекаю, просто в шутке поправил... |
| Автор: Romikgy 18.3.2006, 00:11 | ||
| Это амплитудная модуляция?
почему? если брать от нуля, то вполне подходит, в понедельник можно будет это обсудить поплотнее |
| Автор: DRUID3 18.3.2006, 00:40 | ||
| Учиться, учиться и еще раз учиться (В.И. Ленин)... Пока никакого "обсуждения" не выйдет...
...тот же совет. |
| Автор: Romikgy 18.3.2006, 20:37 |
| Чему? |
| Автор: DRUID3 18.3.2006, 21:52 |
| ЦОСу |
| Автор: Romikgy 18.3.2006, 22:05 |
| Дык и так знаю, хоть не все , но коечто И в некоторых вопросах , могу даже поспорить |
| Автор: DRUID3 19.3.2006, 20:29 |
| Ах, где же мой максимализм молодости!!!??? Куда улетучился??? |
| Автор: Romikgy 20.3.2006, 09:53 |
| это к кому? в профилях посмотри |
| Автор: asmworm 23.3.2006, 00:27 | ||
Хм в качестве хорошего примера могу посоветовать порыться в исходниках этой библиотеки. Она отлично справляется с декодировкой MP3 у меня на КПК и не используя при этом лишние преобразования DFT http://www.underbit.com/products/mad/ |
| Автор: wiseland 23.3.2006, 02:27 | ||||
Я не встречал эквалайзеров, которые работали бы во временной области. Если можно, то поподробнее плз.
В исходниках я обязательно пороюсь, сенкс за ссылку. И еще... может кто встречал готовую реализацию эквалайзеров, которую можно было бы заюзать. Буду учень благодарен. |
| Автор: Romikgy 23.3.2006, 09:31 | ||
КИХ и БИХ фильтры, только параметры их считать сложно В какой области частотной или временной |
| Автор: DRUID3 23.3.2006, 10:27 |
| это к кому? в профилях посмотри Посмотрел, с прошедшим! Я тоже "рыбы" SSB (Single Side Band) типо одна боковая полоса. По своей сути перенос физического спектра сигналов на более высокочастотный участок, при этом занимаемый частотный интервал (полоса) сохраняется. Формируется такая радость с помощью двух квадратурных генераторов (синус косинус) и преобразователя Гильберта (широкополосного фазовращателя, программно представляющего собой фильтр с хитроподобранными коэффициентами) который формирует широкополосные квадратурные каналы I и Q. Причем именно по этой схеме его можно реализовать аналоговым методом. Во времена грозных броненосцев эта модуляция (такое уж название закрепилось из радиотехники) и вправду формировалась из АМ, а если точнее и БАМ (модулятор, соответственно, балансный), так как прямоугольности АЧХ кварцевых фильтров было недостаточно, для полного подавления несущей (идеальная SSB). } To: wiseland Поверьте эквалайзеры восновном во временной области и работают. Берете любой учебник по ЦОС, раздел фильтрация и изучаете. Но как видите (коллеги по цеху подсказывают) в MPEG это может и не понадобиться, поэтому может видоизменим вопрос? Есть ли в сети учебники, хорошие статьи по МПЕГу на русском (или украинском |
| Автор: Romikgy 23.3.2006, 11:09 | ||
Гуд ... проехали Пространная фраза , особенно об атомах так и сокращалась ОБП не всегда были и разностные схемы Имхо мпег здесь не причем, в названии темы сказано об вав! и про исходник БПФ! Что именно интересует реализация или что? |
| Автор: DRUID3 23.3.2006, 12:53 |
| To: Romikgy 1) хоть что-то 2) это перефразировка классика диалектического материализма... 3) неужто радиотех? 4) что Вы говорите, и от чего же были разности, поведайте почтенной публике 5) но ведь коллективный разум возобладал над тьмой предрассудкоФФ и автор топика изменил свое мнение P.S.:Romikgy Вы неисправимы - факт |
| Автор: Romikgy 23.3.2006, 13:20 | ||
| в смысле что? эт к чему? в смысле образования???? тогда я связист
был метод в оборудовании связи формировать ОБП фазоразностным методом где? мейьи йес мейби нот Под неопровержимыми фактами я даже очень исправим |
| Автор: maxim1000 23.3.2006, 13:52 |
| Модератор: а давайте обсуждение друг друга будем проводить где-нибудь еще, а то это как-то с алгоритмами не вяжется |
| Автор: DRUID3 23.3.2006, 19:57 |
| To:maxim1000 Полностью согласен, потому оставлю только обсуждение метода формирования SSB (народу прогадиЦЦа To:Romikgy 1)хоть в чем-то убедил... 2) первоначальная фраза была очень к месту, читайте как мантру много-много раз подряд и в один прекрасный момент к вам снизойдет просветление... 3) инсвязи?...гут 4) Так, Romikgy, Вы поддаете сомнению мои знания в той области что есть продуктом моей деятельности. Причем необоснованно, что-то там слышав на лекциях. Есть всего 4-е аналоговых метода формирования SSB: фильтровый, фазоразностный (это тот что я Вам и описАл!!!), фазофильтровый (типо ПЧ = полоса сигнала/2) и синтетический! Два последних имели крайне редкое применение. И все оно вырождаются в один, фазоразностный(!!!), при программном формировании!!! Все это станет понятно, если над этим покурить, и разобраться что есть комплексный спектр сигнала, и что с ним можно делать. А не заявлять, мол, ЦОС я знаю, т.к. бываю на dsp-book.narod.ru. На данный момент ЦОС уже так велик и многогранен, что его весь не может знать никто, это труд огромного коллектива математиков, связистов, программистов и т.д. Но связист методы формирования SSB знать обязан. 5) а вот где: Дата 23.3.2006, 02:27 |
| Автор: asmworm 23.3.2006, 22:17 | ||
не видел в сети стандартов C++,C,MPEG на русском, а уж тем более на украинском вот на английском можно чтото нарыть полезное http://www.mpeg.org/MPEG/mp3.html#resources |
| Автор: wiseland 24.3.2006, 01:22 | ||
Честно говоря, мне нужен эквалайзер, который изменял бы тон моего mp3 файла. А будет этот фильтр работать в частотной или временной области, мне все равно. Лишь бы работал |
| Автор: Romikgy 24.3.2006, 13:06 |
| Дабы не остатся голословным ! Да простят меня модеры, это последний пост в этой теме (мой) . Кого? Да уже и не важно. нет в телекоммуникации (связи телефонной, и др.) ничего я не поддавал ! Об этом не мне судить... Вы описали метод, для обработки сигнала в цифровой текнике!, я же расказал в общем и для цифровой и для аналоговой Сейчас да, но раньше пользовались и весьма удачно первое я ничего не заявлял , и второе , я просто посоветовал хороший (по моему мнению) сайт! дык это относится и к Вам... И связист (по крайней мере Я) это знаю!!!! Если сам декодируешь мр3 то после дешифровки/рассжатия (может с терминами и ошибся) каждого отсчета частоты, умножай на коэф. эквалайзера, если ты уже приобразовал файл а вав, тогда, создай КИХ фильтр на основе положения ползунков/значений эквалайзера, и тогда можно делать в онлайне (ну почти в нем) |
| Автор: mrgloom 16.8.2012, 09:50 |
| может кто то пояснит картинку 1. почему на левой картинке отклонение в 2 стороны? (можно предположить что симметрично одно и то же на 2 канала) 2. какая характеристика на левой картинке по Y? 3.правую картинку можно трактовать как гистограмму? 4. как поставить в соответствие левую и правую картинки если на правой нет времени? |
| Автор: ivan219 16.8.2012, 11:18 | ||
1) Нет это один канал в котором имеются гармонические составляющие а они в свою очередь имеют колебания от -1..0..1 посмотрите как выглядит синус. 2) По Y амплитуда. И является зависимостью амплитуды от времени. 3) Это спектр. По Y амплитуда. Является зависимостью амплитуды от частоты. 4) Ни как левая у вас зависимость амплитуды от времени а правая амплитуда от частоты. Единственно что мы можем сказать так это то что на интервале времени представленном в левой картинке есть соответствующие наборы гармоник которые представлены на правой картинке. Что бы лучше это понять изучайте преобразование Фурье! |
| Автор: Фантом 16.8.2012, 12:22 | ||
Не совсем. Там указаны децибелы в качестве единицы, так что это спектр мощности. |
| Автор: mrgloom 16.8.2012, 15:31 | ||||||
не понял, вот допустим у нас есть сигнал у него есть какая то амплитуда, как амплитуда может быть отрицательной?(нет ну вообще математически наверное может, но тут интересует больше ближе к физическому миру)
частоты чего? появления определенной амплитуды на левой картинке?
что в данном случае является гармоникой? еще вопросы, только теперь про картинки. что если я возьму картинку вырежу из неё часть помещу эту часть в (0,0) остальное дополню нулями и потом сравню фурье преобразование от изначальной картинки и полученной? вмысле какая в них будет наглядная зависимость? насчет поворота оригинал повернул на 34 градуса ![]() оригинал ![]() повернул на -34 градуса ![]() предполагаю, что угол не равен из-за того, что повернутый прямоугольник смещен относительно центра изображения. http://www.cse.iitd.ac.in/~parag/projects/DIP/asign1/transrotfft.shtml а по теории должен быть равен. |
| Автор: Pavia 17.8.2012, 06:30 |
| фантом скорее всего ошибся это не спектор мощности, а спектор напряжения. 1. Амплитуда колебания может быть отрицательной. Смотри определение термина "Колебание". По поводу прямоугольника. У тебя он криво повёрнут. |