Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > noName

Рейтинг: 5.00. Голосов: 2.

Equalizer

Запись от silin размещена 22.06.2011 в 17:59
Обновил(-а) silin 14.07.2011 в 18:42

Визуализаторы саундов. Началось с простого - посмотреть что там такое считает SoundMixer.computeSpectrum. Нормально считает, шустро. Наплодил примеров всяких, не особо нужных, скорее всего, но уж больно увлекательно оказалось плодить их..

Потом наткнулся на давно известные (как водится) грабли, связанные с политикой безопасности: если в плеере играет какой-нибудь саунд из несекъюрной зоны, то SoundMixer не станет считать и остальное тоже, т.е. если у юзера в какой-нибудь вкладке что-то откуда-то играет, то все сломается, с чужими потоками тоже облом и т.д., в-общем как-то мутно-невнятно все это устроено с SoundMixer'ом..

Но не все потеряно: sound.extract, которому безопасность пофиг, в связке с самописным FFT тоже вполне справляется с незатейливым анализом, для музыкальных дергалок покатит..

(23.06.11) поправил схему отображения диапазонов: вместо огульного обрезания верхних частот теперь интегральные значения поддиапазонов какой-то заданной полосы, не знаю краше ли на глаз, но правильнее чтоль..

пример для сравнения что дают SoundMixer.computeSpectrum и sound.extract (программный FFT) на одном и том же саунде

(24.06.11) почистил логику, глюки-костыли.., если кто брал классы, лучше взять по новой
(14.07.11) поменял алгоритм FFT на более быстрый, хоть это и не самое узкое место, но все же..
Всего комментариев 10

Комментарии

Старый 22.06.2011 19:21 Astraport вне форума
Astraport
 
Аватар для Astraport
Спасибо за исходники. Может пригодиться.
Старый 22.06.2011 20:28 mooncar вне форума
mooncar
 
Аватар для mooncar
Спасибо! Наглядно и здорово.
Старый 22.06.2011 22:21 DJDrugsounD вне форума
DJDrugsounD
 
Аватар для DJDrugsounD
такое ощущение что спректроанализатор дёргается сам по себе совсем а не под музыку, очень плохо!
Старый 22.06.2011 22:38 TERRORist вне форума
TERRORist
 
Аватар для TERRORist
Цитата:
такое ощущение что спректроанализатор дёргается сам по себе совсем а не под музыку, очень плохо!
видимо просто не тот режим спектроанализа выбран. Если вы ожидаете, что басы будут прыгать справа, а высокие слева, то нужно было выбрать другой режим FFTMode:

Цитата:
Если параметр FFTMode имеет значение true, метод SoundMixer.computeSpectrum() возвращает данные спектра частот, а не формы волны. Спектр частот показывает амплитуду по частоте звука: от самой низкой до самой высокой. Алгоритм быстрого преобразования Фурье (FFT) используется для преобразования данных звуковой волны в данные спектра частот. Полученные значения спектра частот находятся в диапазоне от 0 приблизительно до 1,414 (квадратный корень из 2).
Старый 22.06.2011 23:03 silin вне форума
silin
 
Аватар для silin
справа-слева это дело десятое, можно хоть по диагонали пустить..
в демке именно FFTMode, но показывается только нижняя часть спектра, потому как верхняя плохо считается (выборка маловата, да и ресурсов надо больше), а потому скучновато выходит..
флеш вообще как-то слабо смотрится в качестве реалтайм анализатора сигналов Ж)
так, для дергалок только, но вообще согласен с DJDrugsounD: пошаманить в сторону большей реалистичности можно конечно
Обновил(-а) silin 26.06.2011 в 18:49
Старый 22.06.2011 23:17 DJDrugsounD вне форума
DJDrugsounD
 
Аватар для DJDrugsounD
silin так уже давно всё прошаманено)) вот http://www.fayloobmennik.net/742674

снизу вписать адрес к файлу и надать плей
Старый 22.06.2011 23:47 silin вне форума
silin
 
Аватар для silin
это понятно, только там как раз в лоб все и решено без оглядки на производительность
эти 30 полосок просаживают мой ноут чуть ли не до упора.., и зачем бы оно такое?
справедливости ради: моя демка тоже жрет проц, но их у меня там 9 по 30, да со всякой затейливой отрисовкой
Старый 22.06.2011 23:50 DJDrugsounD вне форума
DJDrugsounD
 
Аватар для DJDrugsounD
ну на производительность внимания ка кто особо не уделял (моя машинка мощная) ну можно конечно поработать и над производительностью
Старый 23.06.2011 16:28 BornTOFree вне форума
BornTOFree
Действительно с производительность у товарища DJDrugsounD проблемы, результат силина во много-много раз шустрее.
Старый 24.06.2011 16:14 MXPain вне форума
MXPain
 
Аватар для MXPain
я вот на основе FFT в своем плеере частотный фильтр сделал
 
Последние записи от silin

 


Часовой пояс GMT +4, время: 17:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.