Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Анализатор частот
SergДата: Понедельник, 04 Января 2010, 21:00 | Сообщение # 1
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Ребят есть плагин для получения частот воспроизводимого файла?

 
YURIYДата: Понедельник, 04 Января 2010, 22:25 | Сообщение # 2
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Каких частот? Дискретизации? CBK_AudioFreq к вашим услугами.


Вечная память Андрею Сергееву!
 
SergДата: Понедельник, 04 Января 2010, 23:38 | Сообщение # 3
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
Дискретизации?

Не то.
На которых основываются эффекты визуализации.


 
SowerДата: Вторник, 05 Января 2010, 06:42 | Сообщение # 4
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Bass Player :D Но пока делается, извните, что так долго...
Quote (Serg)
На которых основываются эффекты визуализации.

Основывается она уровне громкости определенной частоты. Что именно нужно получить? Вопрос не совсем корректен.
 
SergДата: Вторник, 05 Января 2010, 13:06 | Сообщение # 5
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Значит уровень громкости частоты

 
SowerДата: Вторник, 05 Января 2010, 13:09 | Сообщение # 6
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Serg)
Значит уровень громкости частоты

к сожалению
Quote (Sower)
Bass Player Но пока делается, извните, что так долго...
 
Alex3AДата: Среда, 06 Января 2010, 19:24 | Сообщение # 7
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Sower)
Bass Player

Не знаю как у баса, но у винампа есть такая фича - осцилоскоп и анализатор
спектра, осцилоскоп- время - амплитуда сигнала, анализатор - амплитуда частотных
составляющих по времени (анализатор спектра). Данные идут в виде массивов с временными
штампами и с опережением около 3 секунд. так что вопрос не простой, синхронизация и
определение формата даннных в массиве на первом месте :D
Данные идут из кодера, микшер не имеет на них влияние.
Так что их обработку надо делать в плагине - формировать нужные фичи, передавать их
в ммв нельзя так как он просто от них подавится :D
 
PeterДата: Четверг, 07 Января 2010, 05:29 | Сообщение # 8
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (Alex3A)
Не знаю как у баса, но у винампа есть такая фича - осцилоскоп и анализатор

Да все там, у баса, с этим делом в порядке. Не сумневайтесь! :)
А вот как это будет реализовано...

Serg, я тут вспомнил, и покапался в своих ММВ-шных завалах...
Собственно есть бас-плагин для ММВ, и уже давно.
И даже не один!
Вот к одному описание:

Quote
FreePlay PlugIn | Command Documentation

- MP3 playback
- WMA playback
- WAVE playback
- setting of audio position
- setting of audio volume (uses DirectX, so volume of played sound is being set, does not screw OS

mixer values)
- setting & retrieving Knob position
- retrieving audio duration
- retrieving audio position
- retrieving audio volume
- DirectX Sound Filters : Echo, Reverb, Flanger
- DirectX Equalizer : 10 bands
- Sound Position Analog Meter
- Sound Volume Analog Knob
- low cpu utilization
- optional sound event handling
- customizable Analog Meter Background image
- FREE, FREE & TOTALLY FREE


А вот картинка одной демки со спектрографом.

Я там все наспех проверил, работает в проследней версии ММВ, а в "деталях" сам уже разбирайся.
Архив с плагинами относительно большой - на 2+ Мб, поэтому забирай его здесь.
Как скачаешь, удалю.
Пароль на архив см в ЛС.
Прикрепления: 4739611.png (113.4 Kb)


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
NeonSpyДата: Четверг, 07 Января 2010, 11:10 | Сообщение # 9
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 4
Награды: 0
Статус: Offline
Quote (Peter)
Пароль на архив см в ЛС.

Я был бы не проч посмотреть на это тоже если можно только пароль я не понял где смотреть.

 
YURIYДата: Четверг, 07 Января 2010, 13:25 | Сообщение # 10
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (NeonSpy)
только пароль я не понял где смотреть.

ЛС - личные сообщения в профиле. Если у Петра будет хорошее настроение, я уверен, он и тебе кинет :)



Вечная память Андрею Сергееву!
 
SergДата: Четверг, 07 Января 2010, 14:52 | Сообщение # 11
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Peter, что то не работает, и ММБ глючить начинает.Версия не та?

 
PeterДата: Четверг, 07 Января 2010, 15:27 | Сообщение # 12
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (YURIY)
Если у Петра будет хорошее настроение, я уверен, он и тебе кинет

YURIY, может, лучше будет плагины эти выложить здесь на сайте?
На форуме файл размером больше 500кб не прикрепить.
Quote (Serg)
что то не работает, и ММБ глючить начинает.Версия не та?

Serg, у меня работает.
Вот другая демка

Папку с библами и проч. надо закинуть в рабочую папку ММВ, т.е все должно находиться в рабочей папке приложения.
Там в инструкции все написано.
Я не разработчик этих плагинов, и курировать их не намерен!
Глюки, наверное, в ММВ быть могут (далеко не редкость), а плагины достаточно старые.
Но это хоть что-то, пробуй! Лучше, чем ждать у моря погоды. :)
Я посмотрю вечерком ещё, что имеется..
Кстати, в ММВ свой собственный "анализатор" имеется, неинтересный
А пока праздновать надо.

С Рождеством!

Прикрепления: 3571008.png (31.8 Kb)


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!


Сообщение отредактировал Peter - Четверг, 07 Января 2010, 15:29
 
SergДата: Четверг, 07 Января 2010, 15:53 | Сообщение # 13
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Скомпелировал,всё ОК. Так это плагин визуализации,а мне нужны данные,которые я смогу использовать.Наприммер для создания своей визуализации

 
YURIYДата: Четверг, 07 Января 2010, 17:41 | Сообщение # 14
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Peter)
YURIY, может, лучше будет плагины эти выложить здесь на сайте?

Меня также смущает, что оно всё старинное какое-то... К 2011 году Sower вдруг нас порадует наконец своим плагином :) А пока - просто можешь выкинуть ссылку на обменник, без пароля.



Вечная память Андрею Сергееву!
 
PeterДата: Четверг, 07 Января 2010, 20:23 | Сообщение # 15
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (Serg)
а мне нужны данные,которые я смогу использовать.

Как я понял требуется получать уровень заданных пользователем частот сигнала, и уже дальше "прыгать".
Пожалуй, теоретически с Bass это возможно, и подобные вещи можно забабахать, но есть два ограничениия:
1. Это можно забабахать только в Delphi (или С++), т.к.
Quote (Alex3A)
в ммв нельзя так как он просто от них подавится

Совершенно верно подмечено!
В случае с плагином вся реализация (с заданными юзером параметрами) должна выполняться исключтительно самим плагином, а ММВ может сгодиться только как интерфейс для вывода конечного результата!
2. Для этого нужно ещё хорошо владеть этим самым Delphi, а не на уровне копи-пасте.
:D
Посему рекомендую позабыть эту затею.

Кстати, замое забавное, что подобные вопросы всплывали и на оффоруме Bass, но известие о конкретном решении так и не объявлено пока.

Quote (YURIY)
оно всё старинное какое-то

А разьве есть другое?
Лично я альтернативы не вижу, даже в перспективе!
Quote (YURIY)
А пока - просто можешь выкинуть ссылку на обменник, без пароля

Всё может быть...

Вот ссылка на тот же архив, но без пароля.


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
YURIYДата: Четверг, 07 Января 2010, 20:25 | Сообщение # 16
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Peter)
А разьве есть другое? Лично я альтернативы не вижу, даже в перспективе!

Вот-вот, я тоже :)



Вечная память Андрею Сергееву!
 
PeterДата: Четверг, 07 Января 2010, 20:29 | Сообщение # 17
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Я сейчас вспомнил, то уже как-то выкдалывал эти плагины в обменник ещё на CSoft.
Видимо, ссылки потерялись.
Наверное, нало оформить все как положено, чтобы было на виду.
Мы же ведь ничего не теряем...


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
SergДата: Четверг, 07 Января 2010, 20:56 | Сообщение # 18
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline


 
SowerДата: Пятница, 08 Января 2010, 12:40 | Сообщение # 19
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Serg)
эх...

Не стоит
 
SowerДата: Пятница, 08 Января 2010, 13:03 | Сообщение # 20
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Даже в сущесвующей версии моего плагина можно определить громкость частоты. Только эти данные не такие уж и удобные в плане размера чисел, но их можно "преобразовать" в шкалу от 0 до 100, что и делается для почастотной визуализации. В скрипте visual мы получаем такие данные. Берите плагин из прикрепления, он уже стал потяжелее из за tags.dll, функции уже добавились, но над ним я уже давно не работал, вскоре надеюсь потихоньку вернуться к работе. Остановился пока скорости и тональности воспоизведение (аддон bass_fx.dll).

Добавлено (08 Январь 2010, 13:03)
---------------------------------------------
Все функции Bass Player (копипаст из исходника):

Прикрепления: MMBas_Player.zip (131.9 Kb)
 
PeterДата: Пятница, 08 Января 2010, 19:43 | Сообщение # 21
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline
Quote (Sower)
Даже в сущесвующей версии моего плагина можно определить громкость частоты.

Можно, только вот какой именно частоты?
В принципе, мы можем вывести из FFT-массива куда потребуется значение амплитуды требуемой частоты, что и является её громкостью. ;)

Длину FFT-массива мы определяем сами, частота дискретизации нам тоже известна.
Так-что дело за малым - за конкретной реализацией....

Quote (Sower)
что и делается для почастотной визуализации.

mda

Serg, особо не отчаивайся!
Теретически, все вовсе не так грустно, и может на твоей улице тоже наступит, когда-нибудь, праздник!

Правда, дорогА ложка к обеду!...
:)
Впрочем, не исключено, что и в таком виде тебя это устроит...

Кстати, Sower, твои идеи навели меня на одну мысль: можно отрисовать и частоты ползунков эквалайзера. ;)
Thanx!..


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
SowerДата: Суббота, 09 Января 2010, 09:43 | Сообщение # 22
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Peter)
что и делается для почастотной визуализации.

В самом ММБ скрипт получает значения - огромные числа, в скрипте они преобразовываются в шкалу от 0 и до 100 (или любого другого числа, смотря на сколько высокие полоски нужны), эти данные используются дальше, чтобы полоски дергались ;) . Здесь "вырисовывается" новая проблема - нагрузка на процессор, что подталкивает на другой способ рисования - создание таймера в самом плагине и рисование на форме ммб, этот способ хорошо тем, что не предется увеличивать размер плагина формой, как это делается (насколько я понял) в старом плагине, который показал Петр.

Добавлено (09 Январь 2010, 06:26)
---------------------------------------------

Quote (Peter)
В принципе, мы можем вывести из FFT-массива куда потребуется значение амплитуды требуемой частоты, что и является её громкостью.

И вот там то и есть, только в скрипте visual вызывается функция GetDataChannel20, которая даёт всего 20 значений частот (не подряд конечно), но можно получить и 64 и 128 и 256.

Добавлено (09 Январь 2010, 09:43)
---------------------------------------------
Ах да, всё хотел спросить, а зачем тебе эти данные, Serg ?

Сообщение отредактировал Sower - Суббота, 09 Января 2010, 06:23
 
Alex3AДата: Суббота, 09 Января 2010, 12:18 | Сообщение # 23
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Sower)
но можно получить и 64 и 128 и 256

Тут есть два подхода, первый, если удовлетворяет просто какое нибудь дерганье
без особой привязки к звуку- покатит то что в примере. Второй, если действительно
надо получить что то адекватное- то это надо делать в плагине.
64 и 128 и 256 это только количество частотных полос, эсли ты конечно правильно все
понял, но есть еще и частота дискретизации-как часто выдаются значения этих полос.
Если посмотреть, к примеру осцилографом или анализатором спектра на реальный сигнал,
ты увидиш что значения меняются очень быстро, если нужно посчитать время- 1\частоту
дискретизации. Взяв безсистемно некоторые отсчеты ты не получиш реальной картинки.
Это получится типа стробоскопа, но с малой частотой вспышек, с такой что реальной картинки увидеть не получится.
Quote (Sower)
а зачем тебе эти данные, Serg ?

Я так думаю, что ему надо просто что бы что то дергалось приблизительно в такт с музыкой.
 
PeterДата: Суббота, 09 Января 2010, 12:28 | Сообщение # 24
Админ NeoBook
Группа: Админ NeoBook
Сообщений: 1265
Репутация: 75
Награды: 18
Статус: Offline


Никто не может вернуться в прошлое и изменить свой старт.
Но каждый может стартовать сейчас и изменить свой финиш!
 
SowerДата: Суббота, 09 Января 2010, 12:50 | Сообщение # 25
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Alex3A)
просто какое нибудь дерганье без особой привязки к звуку- покатит то что в примере

Ну а что поделать, если ммб такой медленный и передать данные для нужной частоты естественно не удастся синхронно (хотябы даже близко) со звуком :(
Выход только
Quote (Sower)
создание таймера в самом плагине и рисование на форме ммб

А насчет получения информации, если это необходимо, то передавать в ммб с запозданием.

Добавлено (09 Январь 2010, 12:48)
---------------------------------------------

Quote (Peter)
А на концерте, за квартетом на заднем плане периодически вскивали по очереди и орали: "Красный", "Зеленый", "Синий", ещё трое.

:D да это примерно тоже самое thumbs_up

Добавлено (09 Январь 2010, 12:50)
---------------------------------------------

Quote (Alex3A)
Я так думаю, что ему надо просто что бы что то дергалось приблизительно в такт с музыкой.

мм.. кстати, если воспроизводить звук средствами ммб, то его тоже можно визуализировать по своему, правда опять нужен плагин, просто анализировать звук на выходе звуковой карты :D это конечно бред, но тоже вариант :D
 
Alex3AДата: Суббота, 09 Января 2010, 13:34 | Сообщение # 26
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Sower)
то его тоже можно визуализировать по своему

Дык в ммв есть такая фича - AudioVisualization, правда только втом объеме
что в нее заложено, так и в плагине будет аналогично, только то что в него вложат.
А вообще то нужда мне вполне понятна, мож не совсем в том ключе что я думаю,
но наверняка что то аналогичное.
Quote (Peter)
- Цветомузыка, однако...

В давние, давние времена, когда "квартет чукчей" выступал :D видел я одну байду, товарищ один мой сделал (парень весьма заторможенный в смысле изучения чего либо,
но чрезвычайно настойчивый и упорный, сорок раз заставит тебя объяснить пока не поймет), эстраду, на которой были лягушки-музыканты с разными инструментами, на вход
байды подавался звуковой сигнал, через полосовые фильтры сигнал разделялся по частотам и подавался на электромагниты лягушек, в итоге они почти правильно выполняли свои партии. Байда была сделано очень кропотливо, я бы никогда не смог такое повторить, не хватило бы терпения настойчивости и усидчивости :D
 
SergДата: Суббота, 09 Января 2010, 13:54 | Сообщение # 27
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
Quote
Я так думаю, что ему надо просто что бы что то дергалось приблизительно в такт с музыкой.

Как всегда прав :)


 
Alex3AДата: Суббота, 09 Января 2010, 14:49 | Сообщение # 28
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Serg)
Как всегда прав

В данном случае, есть один толковый выход- для этого надо определить оптимальную
частоту обновления данных в ммв (частоту вызова скрипта) таким образом что бы он не тормозил проект и в то же время задержка визуализации была не сильно ощутима.
Отсчеты по полосам, а их будет вполне предостаточно до 10, равномерно распределенных,
сумируются за время обновления выбранное ранее, ну и далее в зависимости от нужды,
вычисляется или среднее значение или минимум или максимум, результат передается в ммв.
Конечно тут имеется недостаток, задержка, но если подойти с умом, ее можно сделать почти незаметной :D
 
SowerДата: Суббота, 09 Января 2010, 15:48 | Сообщение # 29
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
Quote (Alex3A)
таким образом что бы он не тормозил проект и в то же время задержка визуализации была не сильно ощутима

Совершенно невозможно!!! Просто огромное количество времени тратится на перемещение объектов в ммб, а полоски можно дергать только командой MoveObject, с изменением высоты полоски дело не пройдет, т.к. система отсчета координат от верхнего левого угла :( Короче смотри мой пример к плагину, там только одно можно модернизировать - это давать в ммб сразу готовые для использования числа, а не черт знает что, ну можно также уменьшить кол-во полосок, но это уже не очень красиво.
Quote (Alex3A)
Дык в ммв есть такая фича - AudioVisualization

Я про другое...
Чё париться? Всёравно как в аимпе не сделаешь!!! Выход только рисовать плагином на форме ММБ.
 
Alex3AДата: Суббота, 09 Января 2010, 16:07 | Сообщение # 30
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Sower)
Совершенно невозможно!!!

А попробуй матрицу.
Quote (Sower)
т.к. система отсчета координат от верхнего левого угла

Это чисто виртуальные проблемы, система отсчета не имеет ни какого значения,
матаматически ее преобразовать ничего не стоит.
Quote (Sower)
только одно можно модернизировать - это давать в ммб сразу готовые для использования числа

А я о чем?
Quote (Sower)
Чё париться? Всёравно как в аимпе не сделаешь!!!

Я то думал что для чего то поумнее, а тут как где то, повторение не интересно :D
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: