LINUX.ORG.RU

Ответ на: комментарий от James_Holden

Вообще я глупость сморозил. Это же надо будет или вживую диффать, что будет не быстрее, или при сохранении изменений диффать каждый эффект к каждому и сохранять разницу. это капец. Или при включении диффать? Костылищще.

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

Ну во первых на всё одной не хватит, сам говоришь, импульсы уже не лезут. Дилей с ревером тоже много надо. И им бы по дублирующей микросхеме для плавной смены, а то хвосты хрюкать будут. И вообще, в одной комбфильтры, в другой аллпасфильтры. Во как!

ChekPuk ★★★
() автор топика
Ответ на: комментарий от ChekPuk

Импульсы это самая задница, кроме них все намного легче. Дилей с ревером вообще может быть бесплатен - его можно наложить заранее на импульс кабинета.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Не, так делать не надо. Смена будет ещё дольше, импульс длиннее. И вдруг я ревер и дилей хочу перед перегрузом? :)

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

Кстати, кнопка тапа для синхронизации дилея не даром на процах есть, для подстройки под темп. Время дилея очень даже переменная. Нельзя её заранее пихать в импульс.

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

А чего задница-то?

У меня свёрточный процессор в LSP так вообще умеет делать свёртку с нулевой латентностью. Алгоритм, конечно, становится сложнее, чем банальный overlap-add, но оно того стоит.

sadko4u ★★
()
Ответ на: комментарий от sadko4u

он про то, что импульс место занимает. У тебя же тоже надо импульс?

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

Может быть я сейчас кощунство скажу, но это хороший повод разделить тюбамп на две микросхемы :) Заодно я смогу ставить симулятор конечника с кабсимом в конце цепочки из 8 микросхем :)))

ChekPuk ★★★
() автор топика
Ответ на: комментарий от ChekPuk

Попробовал разные варианты накидать - в принципе на один DSP все впихивается, но надо поджаться с аппетитами к реверу/дилею. При задержке длиннее 5000 семплов памяти на эмуляцию кабинета не останется.

Для того чтобы влуплять хороший дилей, надо второй DSP добавлять.

James_Holden ★★★
()
Ответ на: комментарий от ChekPuk

А вот еще - память действительно можно добавлять. У меня на отладочной плате - на схеме нарисована микросхема SRAM на 1МБ, но хитрые китайцы ее не распаяли. Можно добавить и дилей через нее жарить. Есть даже специальный программный блок - дилей через внешнюю SPI память. Эх блин экономные китайцы.

Там еще на плате полностью разводка под STM32F103 есть, который тоже не запаян.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Но та память какая-то медленная, или чего-то там. Тас внимательнее надо смотреть. Жаль моего соображения не хватает ни на что кроме трындьенья.

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

А, слушай, а на отладочной плате усб только для заливки? Или там можно отдавать сигнал?

ChekPuk ★★★
() автор топика
Ответ на: комментарий от ChekPuk

Для заливки программатор за 40 бачинских. А usb только для питания. Отдавать можно только через spdif оптический или с аналогового выхода.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Das ofigierung! То-то на дигикее продают плату за 187$ :) Или там тоже надо «ультрафиолетовым стиранием» заниматься?

ChekPuk ★★★
() автор топика
Ответ на: комментарий от ChekPuk

Нет, это не клон, у китайцев нечто свое. Но оно не сильно оригинальным бордам проигрывает.

James_Holden ★★★
()
Ответ на: комментарий от sadko4u

вполне собирается (не удивительно) https://download.opensuse.org/repositories/home:/kill_it:/daw/openSUSE_Leap_15.2/

если не жалко систему есть время - можно протестить
чтобы протолкнуть это в основной пакет - нужно несколько ритуалов соблюсти

kott ★★★★★
()
Ответ на: комментарий от kott

Тут ещё определённые доработки грядут. Выяснилось что состояние микшера-то не читается из девайса. Буду исследовать этот вопрос на предмет получения актуальных данных из звуковой карты.

sadko4u ★★
()

Кстати, оффтопик: провёл несколько тестов производительности lsp-dsp-lib на своём ноутбуке.

В целом, вердикт такой: начиная с ZEN 2 компания AMD, наконец-то, завезла нормальный полноценный AVX, который работает теперь значительно шустрее SSE-реализаций того же алгоритма.

sadko4u ★★
()
Ответ на: комментарий от ist76

Да не сказал бы. У интела есть AVX-512, но практическое применение этой штуки совсем сомнительно. Вон, даже Торвальдс катил бочку на Интел за AVX-512.

А так, вот результат одного из тестов (реализация на Си, реализация на SSE2, реализация на AVX2), прирост производительности показан в колонке Rel[%]:

┌Case──────────────────────────────┬Time[s]┬──────Iter┬Samp[s]┬───────Est┬───Perf[i/s]┬Cost[us/i]┬Rel[%]┐
│generic::abgr32_to_bgrff32 x 64   │   5.00│ 163700000│   5.00│ 163699738│ 32739947.62│    0.0305│100.00│
│sse2::abgr32_to_bgrff32 x 64      │   5.00│ 642210000│   5.00│ 642207944│128441588.99│    0.0078│392.31│
│avx2::abgr32_to_bgrff32 x 64      │   5.00│1251610000│   5.00│1251607246│250321449.29│    0.0040│764.57│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 128  │   5.00│  74485000│   5.00│  74484314│ 14896862.95│    0.0671│100.00│
│sse2::abgr32_to_bgrff32 x 128     │   5.00│ 323545000│   5.00│ 323542088│ 64708417.62│    0.0155│434.38│
│avx2::abgr32_to_bgrff32 x 128     │   5.00│ 637480000│   5.00│ 637477577│127495515.52│    0.0078│855.85│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 256  │   5.00│  37355000│   5.00│  37351182│  7470236.54│    0.1339│100.00│
│sse2::abgr32_to_bgrff32 x 256     │   5.00│ 163460000│   5.00│ 163455848│ 32691169.64│    0.0306│437.62│
│avx2::abgr32_to_bgrff32 x 256     │   5.00│ 323350000│   5.00│ 323349288│ 64669857.73│    0.0155│865.70│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 512  │   5.00│  19290000│   5.00│  19287832│  3857566.41│    0.2592│100.00│
│sse2::abgr32_to_bgrff32 x 512     │   5.00│  81875000│   5.00│  81872674│ 16374534.96│    0.0611│424.48│
│avx2::abgr32_to_bgrff32 x 512     │   5.00│ 162850000│   5.00│ 162849120│ 32569824.12│    0.0307│844.31│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 1024 │   5.00│   9845000│   5.00│   9840070│  1968014.02│    0.5081│100.00│
│sse2::abgr32_to_bgrff32 x 1024    │   5.00│  41045000│   5.00│  41044679│  8208935.97│    0.1218│417.12│
│avx2::abgr32_to_bgrff32 x 1024    │   5.00│  81635000│   5.00│  81631424│ 16326284.91│    0.0613│829.58│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 2048 │   5.00│   5035000│   5.00│   5033328│  1006665.79│    0.9934│100.00│
│sse2::abgr32_to_bgrff32 x 2048    │   5.00│  20540000│   5.00│  20537371│  4107474.24│    0.2435│408.03│
│avx2::abgr32_to_bgrff32 x 2048    │   5.00│  40885000│   5.00│  40884582│  8176916.60│    0.1223│812.28│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 4096 │   5.00│   2535000│   5.00│   2533912│   506782.49│    1.9732│100.00│
│sse2::abgr32_to_bgrff32 x 4096    │   5.00│  10270000│   5.00│  10267102│  2053420.52│    0.4870│405.19│
│avx2::abgr32_to_bgrff32 x 4096    │   5.00│  20415000│   5.00│  20410770│  4082154.18│    0.2450│805.50│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 8192 │   5.01│   1255000│   5.00│   1252978│   250595.79│    3.9905│100.00│
│sse2::abgr32_to_bgrff32 x 8192    │   5.00│   5125000│   5.00│   5120854│  1024170.83│    0.9764│408.69│
│avx2::abgr32_to_bgrff32 x 8192    │   5.00│  10100000│   5.00│  10095537│  2019107.55│    0.4953│805.72│
├──────────────────────────────────┼───────┼──────────┼───────┼──────────┼────────────┼──────────┼──────┤
│generic::abgr32_to_bgrff32 x 16384│   5.03│    630000│   5.00│    626781│   125356.30│    7.9773│100.00│
│sse2::abgr32_to_bgrff32 x 16384   │   5.01│   2565000│   5.00│   2560514│   512102.90│    1.9527│408.52│
│avx2::abgr32_to_bgrff32 x 16384   │   5.00│   5065000│   5.00│   5060629│  1012125.93│    0.9880│807.40│
└──────────────────────────────────┴───────┴──────────┴───────┴──────────┴────────────┴──────────┴──────┘
sadko4u ★★
()
Ответ на: комментарий от ChekPuk

Есть ещё остаточные явления. Но, в целом, да. Риновирус по результатам анализов получился (сдал заодно с тестом на COVID). Злой риновирус вышел очень.

sadko4u ★★
()
Ответ на: комментарий от sadko4u

Торвальдс-Торвальдсом
А сделают в каком-нибудь Premiere поддержку AVX512 и все, кому надо Премьер - будут и дальше на Интел
Всё же, звук - не настолько прожорливый юзкейс, как, например, видео

ist76 ★★★★★
()
Ответ на: комментарий от kott

В Core-X, которые позиционируются как процессоры для рабочих станций
Ясный хрен, в обычном десктопе avx-512 никому даром не нужен

ist76 ★★★★★
()
Ответ на: комментарий от kott

В десятом поколении Core-i, вроде, уже завезли для всех. Но я пока в этом наборе команд особо не разбирался, да и проверять работу не на чем.

sadko4u ★★
()
Ответ на: комментарий от sadko4u

Рад, что проходит. Сейчас из-за ковида и дури происходящей вокруг любая болезнь может стать смертельной.

ChekPuk ★★★
() автор топика
Ответ на: комментарий от ChekPuk

Сегодня закончил реверсить управление микшером в Scarlett 18i20. Скоро драйвер сможет загружать и сохранять внутреннее состояние микшера.

Есть кто-нибудь с младшими gen2 и gen3 устройствами, кто может снять дампы обмена по USB-протоколу из-под венды? Очень надо, чтобы убедиться, что совместимость с другими устройствами не пострадает.

sadko4u ★★
()
Последнее исправление: sadko4u (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Есть корпуса алюминиевые для педалей на али, пока решил остановиться на них, взять самый большой педальный, где-то 150х120х40. Надо на нем крутилки с умом разместить - 6 штук хочу поставить. Можно конечно без крутилок и всем рулить через GUI, но это как-то не удобно. Хотя… Если сделать 6 кнопок, нажимаешь - выскакивает на экране ее назначение текущее, которое можно менять, и крутишь одной ручкой-энкодером?

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Ну, из компактных режимов можно вообще сделать две крутилки. Одной выбирать параметр, другой крутить. А на «кнопках» только светодиоды. Раз уж экономия места.

А если прям шесть крутилок, то надо пошарабанить. Там же у тебя и плата и дисплей и кнопка включения педали. Приеду домой, подумаю.

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

что-то сами по себе крутилки кучу места занимают. а какого размера экранчик? (и табло и плата)

И какие крутилки по назначению?

ChekPuk ★★★
() автор топика
Ответ на: комментарий от ChekPuk

Плату я подгоню в любой размер, главное органы управления разместить. Экран - 60х40

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Ага, значит просто контроллеры на текущий эффект. Всё проспал.

Накидал формочки, но не нравятся обе https://yadi.sk/d/4dN1lSW8qTtt2w Первая всё понятно, а вторая - это две кнопки внизу для переключения эффектов, вверху кнопки выбора параметра вверху и крутилка (нажимающаяся) для регулировки.

Но надо обдумать. Сегодня не получилось.

ChekPuk ★★★
() автор топика
Ответ на: комментарий от James_Holden

Ну, у каждой крутилки есть корпус, его не уменьшить. По крайней мере гитарные такие :) А ещё пальцам нужно место, лепить ближе этого радиуса точно будет неудобно, а лучше больше. А вообще, я спросонья налепил, надо ещё подумать. Но завтра.

ChekPuk ★★★
() автор топика

А тем временем драйвер для Scarlett поддерживает сохранение и восстановление состояния микшера.

Осталось теперь роутинг зареверсить - и вообще будет шик.

sadko4u ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.