FFT и прочее - как правильно?
#21

аналоговый режим тоже есть)
   

Аминь.
Ответ
#22

Quod licet Iovi, non licet bovi.
Всё это не нужно для звукового анализатора. Если конечно делать измеритель а не детскую цветомузыку.
Динамический ФФТ для анализа с высоким разрешением-вещь бессмысленная, поскольку по определению существенно искажает динамику.
Если так хочется-запишите сэмплы и анализируйте сколь душе угодно на каких угодно интервалах.

Nobody Is Perfect
Ответ
#23

(05-20-2019, 03:31 PM)s3t Написал:  нельзя меня на ютюб пускать Rofl

Неплохой видеоэффект для виндоуз медиа плеера)
Ответ
#24

щас. rabbit hole is deep.
сий рендеринг я поначалу делал софтово, потом вписался внутрь библиотеки картинок (т.к. там можно безпредельничать, заодно сменил алгоритм блюра с маленького конволюшна до ЧБ конволюшна и закончил "box" деревянным), затем добрался до пиксель-шейдеров встаиваемых в WPF но они оказались недостаточно гибкими. Теперь делаю на directX 11 + нормальные шейдеры. А все из-за того, что оно начинает тормозить при разрешении экрана 2500х1800 пикселей)))
щас окажется, что вся эта фигня с directx слишком тяжела и оно будет тормозить по другим причинам)

Аминь.
Ответ
#25

А всякая CUDA-шмуда не поможет в Вашем деле?
Ответ
#26

s3t Написал:щас окажется, что вся эта фигня с directx слишком тяжела и оно будет тормозить по другим причинам)

Интересно, на чем сделан Спектралаб или WaveSpectra?
Последняя вобоще 2мб ехе + 76к длл.
В ехе в одном месте присутствует в тексте directx 7 or later required", но думаю это относится не к отрисовке а к вводу input/output device.

У меня нет экрана:
s3t Написал:2500х1800 пикселей)

но я в основном работаю с ними на старом дуалкоровском атлоне 10-летней давности, с 4гигами памяти и вин7/32, и по крайней мере с отрисовкой там нет никаких проблем.
Ответ
#27

у меня обычные линии тоже шустро рисуются. спектраплюс наверное пишет в GDI, который поторможе моего WritableBitmapEx.
Можно конечно считать в directx, писать в картинку и ее потом показывать в UI, но это полный идиотизм когда сам WPF рендерится в directx. Засада в том, что он застрял в дх9, и притом рендерит в нем весь UI - и поэтому не дает вписываться в него ручками. Из-за этого подавляющее большинство прог для 3д имеют "не очень стандартно выглядящий UI - кнопочки и прочее" - народ тупо забил на попытки совместить 3д и существующие средства UI и фигачит все самостоятельно с нуля, пипец))
моему возмущению нет предела.
а еще космические корабли и космос. Блин, оно ж бежит в той-же видюшке и той-же памяти - бери пожалст вот эту текстурку и отображай ее вот вместо этого элемента. НЕТ.
CUDA и прочие - тот-же DX, но заточенный под слабо-точные вычисления (10бит плавающей точки плюс минус).

Откуда такая тяга к 32битам? Оно и тормозней и уже выпадает из поддержки, я не компилирую в него т.к. жрет 15-20% перформанса. Любишь чистый дос и 16-бит приложения? :)

Аминь.
Ответ
#28

s3t Написал:Откуда такая тяга к 32битам?

Проблем меньше.
Одну из них, с ФАРом, я в чате на днях описывал.
Там где надо - у меня вин7/64 :)

А нафига мне менять старый, прекрасно работающий комп, делающий все что от него требуется, и который 64х не очень потянет (хотя проц в нем и 64х), только для того, чтобы ее (64) на него поставить?!


s3t Написал:Оно и тормозней
Это как сказать - 32-х битные приложения под 64-битной виндой работают медленнее чем под 32-х битной.

s3t Написал:Любишь чистый дос и 16-бит приложения? :)

Нет, не люблю :)
Люблю 32-х битные, коих у меня большинство.
Ответ
#29

Вобщем забил я на Direct X. Чот он через одно место у них получился, хотя программить шейдеры занятие офигеть занятное - все такое красивое, навороченное и ультрабыстрое аж непривычно. На процессоре три зеленые линии на 50фпс это уже круто, а тут 60-120фпс красоты невероятных маштабов - пару тыков клавиатуры)

Добил перформанс простым народным средством - паралельными вычислениями. На удивление аж в 3-4 раза быстрее, 50фпс на 2500х2000 мониторе (40% проц). На низких разрешениях не так драматично, всего 1.3-1.6 раз (т.к. разворачивание паралельных миров штука ресурсоемкая сама по себе)) ). Наверное сделаю где-то переключалку режимов и забуду как страшный сон).

Теперь дело за самим UI. Попробую сделать по возможности "для пальца", т.к. это ж прибор измерительный а не гибрид пэйнта и винампа (хотя... )

Аминь.
Ответ
#30

s3t Написал:Попробую сделать по возможности "для пальца"

Что это означает?
Ответ
#31

это когда тачь)
https://i.redd.it/fqnowkv8a7y21.jpg

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

а еще если компилить в 32/64бит то не будет ффтшек длинней 4М. Пользователям 32х это не страшно, у них память закончится уже на 1М)))

   

Аминь.
Ответ
#32

s3t, а почему не используешь стандартные дроп-даун меню, вместо этих 2D полей выбора частот и длины ффт? Мне не нужны такие таблицы для выбора, эти настройки достаточно редкие, чтоб так оперативно переключать.
Ответ
#33

Я бы сделал зум ин/аут по выделенному контуру левой кнопкой мыши(так в пэдс РСВ сделано для зум ин/зум аут, т.е. зажимаешь на ффт поле правую кнопку и тянешь мышь вниз и вправо или влево, выделив так фрагмент поля ффт, который растягивается на всё поле ффт по отпусканию правой кнопки. Если после нажатия правой кнопки тянули не вниз, а вверх, тогда это зумаут на исходное ффт поле. вроде странно, но как привыкнешь, очень удобно.) Маркеры я бы сделал через драг анд дроп на ближайшую гармонику, чтоб не париться с точным указанием частоты, просто тянешь маркер из пулла в ффт поле и отпускаешь там где твоя гармоника, он к ней прилипает к её верхушке и движется вместе с ней как тэг(в спектралабе так сделаны маркеры). Вертикальный предел и рэньдж я бы сделал на колесо мыши т.е. если курсор в верхней-мредней позиции и крутится колесо, инкрементировать/декрементировать вертикальный предел(не обязательно с упором в 0дб, бывает нужно всяко стало быть где-то в опциях это надо проставить), если тоже самое но в нижнем-среднем положении курсора, тогда это меняет рэньдж т.е. нижний предел с упором в -160дб например, если в правом-среднем это меняет верхий предел частоты, итд. Короче сделать надо так, чтобы одно видео на тюбе объяснило весь интерфейс без слов wink
Ответ
#34

s3t Написал:это когда тачь)

Нах он нужен, на планшете пускать? Тогда лучше сразу по IOS или андроид компилируй.

s3t Написал:а еще если компилить в 32/64бит то не будет ффтшек длинней 4М. Пользователям 32х это не страшно, у них память закончится уже на 1М)))

Я и на 64х больше чем 1М не использую, тем боеле что СпектраПлюс больше и не умеет :)
И то крайне редко, в основном 262144 или 131072.

Меня бы больше семплрейт заинтересовал - СпПлюс больше чем 192кгц не умеет, 384 - умеет ВейвСпектра, 768 - умеет HPW, но там свои заморочки


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

А как в Сп.Лабе/Плюсе сделать чтобы они прилипали к верзушке, без ввода точной частоты? Курсором у меня на получается.
Ответ
#35

Несколько идей, возможно безобразных :)

1) Наверное было-бы удобно иметь курсор в виде скользящего по графику crosshair (с указанием частоты и уровня)
Таких можно иметь несколько и "замораживать" + иметь возможность ручного указания частоты или уровня...

2) можно вот так подписывать максимумы

   

+ все это включать\отключать чек-боксом

3)мегафича - делать скриншот с сохранением в файл. Ну как осциллы делают ... с указанием параметров измеренний.
4) Все настройки сделать на одной панели, которая вызывается хоткеем, а текущие настройки (длина, тип окна и т.п.) показывать в поле графика.
Ответ
#36

Lenght пишется через тх
Ответ
#37

Black_Jack Написал:)мегафича

"Мегафича", которая почему-то не сделана в Спектралае, но имеется практически в любом "железном" спектроанализаторе (РодеШварц, HP и пр.) - автопоиск максимумов.
The following 2 users say Thank You to Altor Audio for this post:
  • wired (05-24-2019), Black_Jack (05-24-2019)
Ответ
#38

Altor Audio Написал:автопоиск максимумов.
от да!
Ответ
#39

http://cdn.teledynelecroy.com/files/pdf/...asheet.pdf

"The universal aptitude for ineptitude makes any human accomplishment an incredible miracle." John Stapp
The following 2 users say Thank You to nazar for this post:
  • Black_Jack (05-24-2019), s3t (05-24-2019)
Ответ
#40

Буит, все буит)

Кажется вот так будет логичней и прямей, но +1 клик Sad
   

Аминь.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 3 Гость(ей)