Страница 92 из 99 Первая ... 829091929394 ... Последняя
Показано с 1,821 по 1,840 из 1963

Тема: Цифровой программный кроссовер II

  1. #1 Показать/скрыть первое сообщение.
    Частый гость
    Автор темы
    Аватар для emaster
    Регистрация
    07.02.2009
    Адрес
    Россия, г. Белгород
    Возраст
    41
    Сообщений
    375

    По умолчанию Цифровой программный кроссовер II

    Коллеги!
    Завожу отдельную ветку для обсуждения новой версии моего программного кроссовера - dePhonica version3.
    Эта версия кроссовера полностью отличается от первой версии, которая обсуждалась здесь как с точки зрения кода (который переписан на 99%) так и с точки зрения функционала.
    Разработка версии началась весной 2015 года и в настоящее время (начало 2016) находится в активной стадии.

    Скачать preview версию можно по адресу: http://dephonica.com/?lang=ru
    Текущая сборка на сайте от 21.03.2016.

    Внимание!
    Для корректной установки WDM драйвера на windows 7 с отключенными обновлениями, необходимо установить апдейт KB3033929, добавляющий поддержку цифровых подписей SHA-2.

    Ссылка для x86 обновления: http://download.microsoft.com/downlo...033929-x86.msu
    Ссылка для x64 обновления: http://download.microsoft.com/downlo...033929-x64.msu
    Статья по обновлению windows: https://support.gamenet.ru/kb/articles/789-windows


    Ограничения preview версии:
    - максимум 6 каналов обработки
    - требует перезапуска ядра каждые 30 минут

    Основные возможности кроссовера:

    - собственный WDM драйвер для ввода потока из стандартных аудио и видео плееров, браузеров, навигаторов и других программ.
    - собственный ASIO драйвер для ввода потока из аудио плееров поддерживающих ASIO
    - низкая задержка: около 50 мсек при использовании IIR фильтров и выводе на ASIO устройство
    - поддержка ввода звука в форматах 16 bit integer, 24 bit integer, 32 bit floating point
    - 2 входных канала и до 8 выходных
    - вывод звука на устройства DirectSound, ASIO, Kernel Streaming
    - вся обработка производится в 64 bit floating point
    - фильтрация производится FIR фильтрами, IIR фильтрами или IIR фильтрами с автоматическим корректирующим фазовым FIR фильтром
    - есть возможность создания фазового фильтра для коррекции ФЧХ внешнего IIR фильтра
    - доступны два конволвера для FIR фильтров: FFT конволвер с алгоритмом Overlap-Add и линейный (Straight FIR), без использования FFT
    - любой из FIR конволверов может использоваться совместно с одним или более IIR фильтром в каждом канале
    - до 128 000 taps на канал при использовании FFT FIR
    - доступны формы АЧХ семейств фильтров IIR: Linkwitz-Riley, Butterworth, Chebyshev
    - доступен параметрический синтез АЧХ и ФЧХ для типов фильтров Low Pass, High Pass, Band Pass, Band Stop, Low Shelf, High Shelf
    - два варианта параметрического задания фильтров Band Pass и Band Stop: нижней и верхней частотой среза или центральной частотой и полосой пропускания
    - амплитудный и фазовый эквалайзер для произвольного изменения АЧХ или ФЧХ в канале обработки, с возможностью загрузки АЧХ или ФЧХ из текстового файла или из импульсного отклика в формате WAV
    - любое сочетание FIR и IIR фильтров в канале обработки
    - полноценный канал предварительной обработки исходного сигнала с отдельным набором фильтров
    - возможность автоматической нормализации к 0 дБ АЧХ индивидуальных каналов или группы каналов
    - регулировка усиления на входе и на выходе канала
    - настраиваемая задержка в каждом канале с отключаемым sub-sample разрешением
    - встроенный анализатор фактической частотной характеристики кроссовера с отображением общей АЧХ кроссовера, графиков АЧХ/ФЧХ/ГВЗ для каждого канала и возможностью суммирования АЧХ выбранных каналов в отдельном окне

    Пример установки и настройки полной версии кроссовера (уже местами не соответствует действительности и будет перезаписан): http://www.youtube.com/watch?v=CF_YNp0IijE

    ============
    Пополняемый FAQ:

    Скрытый текст

    Q: Для чего можно использовать кроссовер?
    A: Прямое назначение кроссовера – разделить исходный сигнал на несколько сигналов, каждый из которых будет воспроизводиться отдельным динамиком. Для такого использования необходима многоканальная звуковая карта (или ЦАП), многоканальный усилитель (или несколько обычных – стерео или моноблоков) и многополосная акустика, каждый динамик в которой подключен к отдельному каналу усилителя отдельным кабелем. Самый простой и часто встречающийся пример такой акустики – система 2.1 с двумя фронтальными колонками и одним сабвуфером.
    A: Кроссовер можно использовать для того, чтобы вывести один и тот-же сигнал (с обработкой или нет) на несколько выходов многоканальной звуковой карты. Например, первые 2 канала – звук для колонок, следующие 2 канала – звук для наушников. На колонки одни настройки эквалайзера (внутри кроссовера), на наушники – другие.
    A: Также кроссовер можно использовать даже с обычными наушниками – как точный и продвинутый эквалайзер.

    Q: Какое оборудование требуется для использования кроссовера?
    A: Кроссовер может использоваться для различных целей практически с любым оборудованием. Минимальные требования – компьютер с Windows 7/8/10 и любая звуковая карта.


    Q: Как перенаправить в кроссовер звук из программы или плеера, не поддерживающей вывод звука на ASIO устройства?
    Q: Как вывести в кроссовер звук из видео плеера?
    A: Выберите в плеере вывод на аудио устройство *dePhonica Virtual Audio Device*.

    Q: Какие настройки требуются в видео плеере для работы через кроссовер?
    A: При использовании в кроссовере IIR фильтров, никакой дополнительной настройки плеера не требуется. При использовании FIR фильтров (или IIR с линеаризацией), в плеере необходимо установить смещение звуковой дорожки в зависимости от порядка FIR фильтра. Например, для FIR фильтра с 8000 taps это около 250 мсек.


    Q: Как ввести в кроссовер звук из внешнего источника (виниловый проигрыватель, кассетный магнитофон, пульт и т.д.)?
    A: На данный момент можно использовать программу VoiceMeeter от VB-Audio - она поддерживает ввод с внешних источников. Скачать программу можно по ссылке: <a style="color: #505050; font-weight: bold;" href="http://vb-audio.pagesperso-orange.fr/Voicemeeter/">http://vb-audio.pagesperso-orange.fr/Voicemeeter/</a>
    В будущем появится непосредственная поддержка ввода сигнала с входов звуковой карты в кроссовер.


    [свернуть]

    ============

    Список изменений:

    Скрытый текст

    30.03.2016

    - Более устойчивый алгоритм проверки активации
    - Исправлены bypass каналы без фильтров
    - Исправлена инициализация таймера в WDM драйвере
    - Исправлен номер версии в окне "О кроссовере dePhonica version3"
    - Исправлен вывод сообщения "Устройство вывода не выбрано" при первой установке кроссовера


    20.03.2016

    - Переходные процессы в модуле вывода теперь обрабатывает машина состояний. Фейдинги стали четче, мягче и предсказуемее.
    - Появился приоритет ввода с ASIO Sink драйвера - WDM замолкает, когда приходит поток с ASIO.
    - Расстояние при редактировании задержки выводится в метрах / сантиметрах / миллиметрах

    17.03.2016

    - Появился WDM драйвер виртуального аудио устройства для ввода в кроссовер - можно перенаправить в кроссовер весь системный звук
    - Уменьшилась latency - для IIR фильтров составляет ~50 мс
    - По умолчанию фильтры создаются как IIR. При добавлении в тракт FIR фильтра выводится отключаемое предупреждение о дополнительной задержке в тракте.
    - Диалог сообщений в конфигураторе стал отображаться поверх всех окон
    - Появилась возможность инвертирования кривой в эквалайзере
    - Появилась возможность смещения кривой в эквалайзере

    09.03.2016

    - Уменьшилась latency до ~500 мсек
    - Добавились IIR фильтры Bessel и Legendre
    - Тысячные доли миллисекунды меняются при изменении расстояния в компоненте Delay
    - Исправлена ошибка с несохранением в пресете канала предварительной обработки при загрузке конфигурации из файла
    - Исправлена каша из надписей на шкале Gain на графиках анализатора
    - Добавил легенду к графикам в анализаторе
    - Улучшена отправка логов - теперь отправляются независимо от IP адреса пользователя
    - При перетаскивании канала с удерживаемым Shift (или Ctrl+Shift) копируются только фильтры - задержки и Gain не изменяются
    [свернуть]
    Последний раз редактировалось emaster; 01.04.2016 в 20:55.

  2. #1821
    Частый гость Аватар для Traktorist3d
    Регистрация
    06.01.2015
    Адрес
    Хабаровск, Камчатка
    Сообщений
    468

    По умолчанию Re: Цифровой программный кроссовер II

    Hqplayer, правда хз есть ли народная версия для mac. А так в целом очень хорошо играет связка roon+hqp.
    Да и просто roon тоже работает как дсп.

  3. #1822
    Частый гость Аватар для pap_nev
    Регистрация
    03.11.2014
    Адрес
    Москва
    Сообщений
    184

    По умолчанию Re: Цифровой программный кроссовер II

    Есть ли информация, когда решится проблема с сервером активации? Или уже не надеяться?

  4. #1823

    По умолчанию Re: Цифровой программный кроссовер II

    Я прошу прощения, не прочитал весь топик. Я сам разработчик, и у меня есть опыт в разработке ЦФов. У меня вопрос о вышеописанном ПО вокруг нерекурсивных фильтров, - планируется/реализованны ли SIMD (SSE/AVX/AVX-512/CUDA/OpenCL) алгоритмы для оптимизации производительности? Реализована ли мультипоточная обработка?
    Ну и собственно, какая примерная производительность фильтра? На Ryzen 3600 я смогу в реальном времени отслушать 6 каналов FIR с длиной фильтров 25k FLOAT(32)?
    Я не хочу критиковать конкретный продукт, получая ответы на эти вопросы, я просто хочу понять, что примерно представляет из себя конкретное ПО.

  5. #1824
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Я сам разработчик, и у меня есть опыт в разработке ЦФов. У меня вопрос о вышеописанном ПО вокруг нерекурсивных фильтров, - планируется/реализованны ли SIMD (SSE/AVX/AVX-512/CUDA/OpenCL) алгоритмы для оптимизации производительности? Реализована ли мультипоточная обработка?
    Ну и собственно, какая примерная производительность фильтра? На Ryzen 3600 я смогу в реальном времени отслушать 6 каналов FIR с длиной фильтров 25k FLOAT(32)?
    Так нафиг оно вам? На Ryzen 3600 можно сделать не 6, а 60(0) фильтров и без всяких CUDA (c FFT разумеется).

  6. #1825

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Так нафиг оно вам? На Ryzen 3600 можно сделать не 6, а 60(0) фильтров и без всяких CUDA (c FFT разумеется).
    Ну, например, захотел я выделить низкие частоты до 100Гц для тракта 192кГц, и покрутить фазу на границе по некоторой заданной ФЧХ. Повторюсь, что вопрос чисто сферический в вакууме. Я хочу оценить эффективность алгоритма.

  7. #1826
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Не, вопрос был: если вы сам разработчик - то зачем вам чужие поделки, когда можно сделать свою? Для себя не нужно заморачиваться на интерфейс и прочие юзер-френдли элементы. Для FFT dephonica использует FFTW, обойти которую сложно (но возможно), многопоточность насколько я помню не использует.

  8. #1827

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Не, вопрос был: если вы сам разработчик - то зачем вам чужие поделки, когда можно сделать свою?
    У меня есть своя "поделка", для которой я как раз пилю SIMD движок сейчас. Мне интересно, что из себя представляют готовые решения, хочу косвенно оценить ценность моей работы.
    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Для FFT dephonica использует FFTW, обойти которую сложно (но возможно), многопоточность насколько я помню не использует.
    Так можно для разных каналов в разных потоках считать. Тут зависит от фантазии же ведь. Если сильно захотеть, то можно и для двух окон с разным смещением считать сразу в разных потоках несколько "отфильтрованных" семплов.
    Последний раз редактировалось Кичай Данил; 11.02.2021 в 12:17. Причина: дополнил

  9. #1828
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    У меня есть своя "поделка", для которой я как раз пилю SIMD движок сейчас. Мне интересно, что из себя представляют готовые решения, хочу косвенно оценить ценность моей работы.
    Пилите в 32 бита или 64 (система, а не float), на ассемблере или на си/++ интрисинками?

  10. #1829

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Пилите в 32 бита или 64 (система, а не float), на ассемблере или на си/++ интрисинками?
    Пилю на СИ, так как не хочу переписывать код для каждого нового процессора/видеокарты. Система какая (64/32) - не важно, как захотите, так и откомпилируете, пилю под MIT лицензией, код открыт. После препроцессирования и компиляции код представляет из себя библиотеку, в которой есть функции для создания экземпляра фильтра, и непосредственно фильтрации пакета семплов. Библиотека оформлена в соответствиях с требованиями LADPSA. Использую <immintrin.h> для движка AVX+SSE. Допишу AVX движок, - закоммичу, могу отписать, если правда интересно... А legacy уже сейчас опубликован и работает не плохо совсем.
    Последний раз редактировалось Кичай Данил; 11.02.2021 в 12:36. Причина: дополнил

  11. #1830
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Так можно для разных каналов в разных потоках считать.
    Конечно, в современном с++ это уже элементарно.

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    можно и для двух окон с разным смещением считать сразу в разных потоках несколько "отфильтрованных" семплов.
    Надеюсь, вы не используете оконное преобразование для фильтрации?

    ---------- Сообщение добавлено 14:34 ---------- Предыдущее сообщение было 14:31 ----------

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Библиотека оформлена в соответствиях с требованиями LADPSA.
    Это как-то связано с линуксом?

    ---------- Сообщение добавлено 14:43 ---------- Предыдущее сообщение было 14:34 ----------

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

    Нажмите на изображение для увеличения. 

Название:	trade machine.png 
Просмотров:	111 
Размер:	71.5 Кб 
ID:	390615

    И отдельный вариант, в котором аналогичный подход к компоновке реализуется чисто кодом, в 2-х вариантах - на c++ и c#.

  12. #1831

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Конечно, в современном сНадеюсь, вы не используете оконное преобразование для фильтрации?
    Само наличие окна не обязывает к применению свертки с оконной функцией.
    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Это как-то связано с линуксом?
    Не особо, это связано с некоторым стандартом. Просто в Linux данные библиотеки после компиляции можно подключать напрямую в звуковой тракт без плясок. В Windows скорее всего есть какой-нибудь "хост", который записывает из "устройства записи", преобразует, и отправляет в "устройство воспроизведения", а всяких loopback драйвером, зацикливающих выход<->вход навалом. Если кто-то очень захочет, может даже все это скомпоновать с красивым GUI и продавать за деньги )))).
    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Я тоже пилю движок (который сейчас в глубокой паузе), визуально как-то так выглядит
    Нуу, гуй - это не моё. У меня мнение такое, что GUI всегда допишет кто-то другой, кто захочет продавать чужую логику или получить долю пиара.

    В общем мне все ещё интересна вычислительная сторона, хочу оценить предлагаемые в массы варианты.

  13. #1832
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Само наличие окна не обязывает к применению свертки с оконной функцией.
    Не совсем понял, что вы этим хотели сказать - на оконную функцию умножают же. Я спросил потому что многие для FIR используют не свёртку с ядром фильтра, а (наивно) перекрытие в 50 или 75% с косинусным окном.

  14. #1833

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Не совсем понял, что вы этим хотели сказать - на оконную функцию умножают же. Я спросил потому что многие для FIR используют не свёртку с ядром фильтра, а (наивно) перекрытие в 50 или 75% с косинусным окном.
    Я имел в виду окно - скользящий буфер, который свертывают с оконной функцией, если кому-то это нужно. Возможно у меня не верная терминология. Имел в виду, что FFT можно считать для разных смещений по длинному буферу скользящим окном, если накопить буфер, который будет длиннее окна на N элементов, то можно в N потоках считать одновременно несколько FFT для соседних "отфильтрованных" семплов.
    Последний раз редактировалось Кичай Данил; 11.02.2021 в 13:11. Причина: безграмотность

  15. #1834
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Не особо, это связано с некоторым стандартом.
    Ну, если вы реализуете многопоточность на си через POSIX - на windows оно точно не откомпилится. Хотя возможно есть прокладки между POSIX и WINAPI, не изучал вопрос.

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    В общем мне все ещё интересна вычислительная сторона, хочу оценить предлагаемые в массы варианты.
    А существующие open-source проекты все прошерстили? типа такого.

    ---------- Сообщение добавлено 16:30 ---------- Предыдущее сообщение было 16:09 ----------

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    пилю под MIT лицензией, код открыт.
    Стало быть, FFTW нельзя. Что используете для FFT?

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    legacy уже сейчас опубликован
    где?

  16. #1835

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    где?
    отправил в личку

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    Стало быть, FFTW нельзя. Что используете для FFT?
    я не использую FFT, у меня FIR, но если мне пригодится FFT, то напишу свой алгоритм, оптимизированный под конкретную задачу.

    Multithreading в пределах LADSPA стандарта нормально к сожалению реализовать не получится, точнее можно, но от него толку не будет. Если сделать блокировки в потоках на семафорах/мьютексах, то будут потери на сменах контекста неприемлемые. Вся суть моего проекта в попытке получить высокую эффективность. Думаю выложить ещё AVX+SSE движок, а вот CUDA передумал выкладывать под MIT.
    Последний раз редактировалось Кичай Данил; 11.02.2021 в 17:45.

  17. #1836
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    я не использую FFT, у меня FIR
    FIR реализуется через свёртку, а свёртка оптимизируется через FFT. Вот тут я делал сравнение.

  18. #1837

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    FIR реализуется через свёртку, а свёртка оптимизируется через FFT. Вот тут я делал сравнение.
    Соглашусь, если у Вас всё кратно степени 2, то все прекрасно на ядрах от 64 и выше.

  19. #1838
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    Соглашусь, если у Вас всё кратно степени 2
    FIR может быть любой, не обязательно кратный степени 2. Это FFT кратный степени 2 максимально быстрый. Если FIR нужен без задержки, то он также прекрасно разбивается и распараллеливается.

  20. #1839

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от E.Sokol Посмотреть сообщение
    FIR может быть любой, не обязательно кратный степени 2. Это FFT кратный степени 2 максимально быстрый. Если FIR нужен без задержки, то он также прекрасно разбивается и распараллеливается.
    Ну вы топите за БПФ, то что оно быстрое и прекрасное. А я топлю за SIMD, когда я могу тупо умножить все за "один" такт GPU, и сложить за log2(N) от длины буфера. На примере AVX, согласен, слабовато, всего в 8 раз прирост.

  21. #1840
    Завсегдатай Аватар для E.Sokol
    Регистрация
    17.01.2015
    Адрес
    Урал
    Сообщений
    1,290

    По умолчанию Re: Цифровой программный кроссовер II

    Цитата Сообщение от Кичай Данил Посмотреть сообщение
    А я топлю за SIMD, когда я могу тупо умножить все за "один" такт GPU, и сложить за log2(N) от длины буфера
    Это как так, откуда log(N) в линейной свёртке берётся? AVX2 можно в 16 раз ускорить - но до 1500 всё равно далеко.

    ---------- Сообщение добавлено 22:00 ---------- Предыдущее сообщение было 21:56 ----------

    В GPU же тоже ограничение есть, хотя я особо не рыл в ту сторону. Однако на всяких одноплатниках только CPU.

    ---------- Сообщение добавлено 22:01 ---------- Предыдущее сообщение было 22:00 ----------

    Обычный комп или ноут шумит почём халва.

Страница 92 из 99 Первая ... 829091929394 ... Последняя

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •