ЦАП DSD Signalyst DSC1 — DIY


(alexey) #1225

И так мы плавно переедем в серверную комнату, к родным XEON’aм
:joy:

EPIPHANY-III 16-CORE MICROPROCESSOR (E16G301)
PDF

Consumer:
Smart-phones and tablet application acceleration
High end audio
Computational photography
Speech Recognition
Face detection/recognition

Features
16 High Performance RISC CPU Cores
1 GHz Operating Frequency
32 GFLOPS Peak Performance
512GB/s Local Memory Bandwidth
64GB/s Network-On-Chip Bisection Bandwidth
8 GB/s Off-Chip Bandwidth
0.5 MB On-Chip Distributed Shared Memory
2 Watt Maximum Chip Power Consumption
IEEE Floating Point Instruction Set
Fully-featured ANSI-C/C++ programmable
GNU/Eclipse based tool chain

Дерзайте господа!) 16 каналов может и потянет))) Автор обещал 1024ядерный на этой же платформе, но сменил работу))


(Vitaly Bargatin) #1226

В общем логика HQP именно в этом - очень мощный комп в качестве сервера, легкое устройство NAA, подключенное к ЦАП.
Почему - чтобы получить высокое качество фильтров (преобразования).

Пример - выдержка из даташита по СТ7302 по характеристикам фильтра апсемплинга (первая стадия PCM-to-DSD)


Passband (полоса пропускания) для 44.1К = 44.1К * 0,4535 = 19 999Гц. Хорошо, но не указано, по какому уровню (может там уже -1bB)
Stopband (полоса подавления) для 44.1К = 44.1К * 0,5465 = 24100Гц. Не очень хорошо, уже может появиться aliasing.
Полоса между Pass и Stopband ~ 4К. Не очень хорошо. Фильтр с небольшим количеством тапов.
Stopband attenuation - 144dB. Не очень хорошо, мало.
Passband Ripple (пульсации в полосе пропускания) - 0,0001dB. Плохо.
По GroupDelay видно, что речь идет о линейно фазовом фильтре. Скорее всего используется простой FIR фильтр с количеством тапов до 300-400. По крайней мере такой в Matlab делается за 2 минуты.

Смотрим на характеристики интерполирующего линейно-фазового фильтра в Soekris dam1121 (EQHQ v2, 1999 тапов, привожу примерно, по памяти).
Passband - 20500Гц, уровень точно не помню, но точно сильно меньше -0,01dB
Stopband - 22500 Гц. Aliasing крайне маловероятен.
Stopband attenuation - 170dB
PassbandRipple - 0,00000001dB
Заметно лучше, да?

Спецификации фильтров HQP я не помню, но Stopband attenuation > 240dB, PassbandRipple минимум раз в 100 меньше фильтров dam1121.
Ничего удивительного, в HQP фильтры до 1 млн тапов.

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

Но для больших фильтров нужно мощное железо. Слышно ли это? Мое мнение - да, очень хорошо. На разных фильтрах HQP + DSC звучат совершенно по разному. Как ЦАПы разных ценовых категорий. Это и не удивительно, учитывая, что DSC с точки зрения математики - очень простой FIR фильтр.

СТ7302 может оказаться абсолютной пустышкой с точки зрения качества преобразования PCM-to-DSD. Это даже более вероятно, иначе мы с вами легко бы гуглили восторженные отзывы по этому устройству. Как по HQP делаем. :grinning:

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

А пока - да, либо HQP с его ГИГАНТСКИМИ фильтрами, либо CHORD, там тоже фильтры такой длины есть. :grinning:
Либо привет offline конвертация, и там гигантские фильтры и модуляторы 7 - 10 порядка.


(alexey) #1227

Вы имеете ввиду именно в DSD? так как дальнейшее преобразование в аналог из DSD менее ресурсоемкое с меньшими потерями?


(Павел Погодин) #1228

Да, из DSD в аналог ресурсов больших не требуется. DSD это ШИМ представление аналогово сигнала. Это уже скорее аналоговое представление сигнала чем цифровое.


(alexey) #1229

Исходники этих фильтров доступны ?
чтобы их адаптировать попробовать под GPU на той же ARM платформе например. Для экспериментов


(Vitaly Bargatin) #1230

Нет.
А зачем они, исходники фильтров? Можно создать любой фильтр по своим спецификациям в Octave, Matlab итд, например. FIR фильтр - просто набор чисел (количество тапов).

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

Самое очевидное - реализовать все на FPGA с выгрузкой HDL из Matlab, но времени на разработку/тестирование очень не кисло уйдет. И денег, конечно. Отладочные платы на мощных FPGA не гуманно стоят. Все это мероприятие только по деньгам раз в 10 дороже HQP стоить будет, или AUL конвертера.


(Vitaly Bargatin) #1231

Продолжение истории NAA на Odroid C2

Сегодня устроил сравнительное прослушивание Odroid C2 vs Intel NUC i3. Оба на линейном питании.
Odroid - победитель. Улучшились пространственные впечатления, сцена немного раздвинулась в ширину и глубину.
Мне было особенно хорошо заметно на Nina Simone - Plain Gold Ring (16b 44,1К).

В общем - рекомендую всем ищущим устройство для NAA :grinning: На сейчас - это лучшее что я слышал.
Дополнительный плюс - если питать не через USB и снять перемычку OTG Port Enabler - становится чуть теплым. Что и написано в мануале.

Есть подозрения, что мой NUC уйдет в продажу :wink:


(Александр) #1232

Виталий а как это все работает, на Odroid ставите линукс и на него HQP? И к нему по USB аманеру?


(Александр) #1233

Гляжу в HQP возможность DSD1024 появилась… ждем квантовые процессоры…


(Vitaly Bargatin) #1234
  1. Скачиваете образ Linux и записываете его на microSD или на eMMC (работает в несколько раз быстрее mSD, покупается отдельно) утилитой Etcher. Лучше выбрать armbian (дистрибутив на основе Debian, ядро 4.14). Поддержка Native DSD для Аманеро включена в ядро >=4.11 (может 4.12), остальные нужно патчить. Спасибо еще раз @pm325 (Герману), за наводку на Armbian. :wink:
  2. Загружаетесь с носителя.
  3. Логинитесь к Odroid по ssh используя putty, например.
  4. Подключаете Аманеро к Odroid. Проверяете, что все будет ок с поддержкой DSD
    cat /proc/asound/Amanero/stream0 (по памяти пишу, могу немного ошибиться)
    В выводе команды должны увидеть Alt settings 2 DSD_U32_BE
    Если видите - патчи включены в ядро, все будет играть.
  5. Устанавливаете бинарник NAA под arm64
    На всякий случай проверяете, что выставлен правильный приоритет у NAA (процесс - networkaudiod) запустив htop. Должны увидеть nice -10

Запускаете HQP на основном компе, выбираете NAA и все.


(Сергей) #1235

Вполне объяснимо. Меньше потребление, пассивное питание. Однако, и у систем типа NUC есть потенциал в виде Wi-Fi, возможности поиграться с портами USB 3.0 и их драйверами (актуально для Windows) ну и выбор коробки на пассивном охлаждении.


(alexey) #1236

какой обьем траффика по лану идет?
я к тому чтобы использовать LTE и буфер) или удаленный сервер


(Vitaly Bargatin) #1237

DSD512 ~ 50Mbs по данным Win.


(Сергей) #1238

Это ж насколько он у вас удалён будет?


(alexey) #1239

В пределах города, на работе и дома оптика 300Мбс, теоретически, нормально)
НА телефоне с LTE сейчас замер показал 10Мбс в обе стороны, пинг 63мс, джиттер 25мс.

Будем открывать первый хостинг аудио сервер?)


(Сергей) #1240

300 Мбит/с по оптике это “за глаза”, а вот c 10 Мбит/с LTE, схема HQP->NAA работать не будет.
Из практики, у меня сейчас на скорости 150Мбит/с по Wi-Fi получается передавать поток DSD128 с редкими спорадическими щечками не сильно раздражающими и не мешающими прослушиванию.
Но у меня в ASIO-драйвере моего Цапа для максимального качества звучания установлен размер буфера в 1,5мс. Что будет на DSC при потоке DSD256 и выше я пока не знаю. Антены роутера и неттопа расположены практически вплотную друг к другу.

Опоздали. Korg с партнёрами и со своим PrimeSeat уже освоили живые трансляции в DSD. Кстати, очень впечатляющее действо, рекомендую хоть разок послушать.


(alexey) #1241

формат конвертера NAA стандартизирован уже? И для HQP и KORG’a(к примеру) подходит?


(alexey) #1242

Интересно) уже качаю…


(Сергей) #1243

Нет. Это разные, самостоятельные технические решения.
У Korg это онлайн трансляция которую могут слушать все подлюченные к их сервису.
HQP может работать одновременно только с одним NAA, хотя у вас могут быть несколько NAA и скаждым из них можно работать, но в HQP придется каждый раз выбирать нужный вам в данный момент.


(Александр) #1244

Камарады, а все слушали AP + ASIO proxy?
https://sourceforge.net/projects/sacddecoder/files/foo_dsd_asio/ASIOProxyInstall-0.9.4.zip/download
Или мне кажется что очень не плохо играет, или у меня апартура не позволяет заметить ощутимую разницу с HQP. Если кому интересно послушайте пожалуйста как оно Вам? Слушаю в режиме 44.100 to DSD256x4. Просто ресурсов жрет мало, вентиляторы компа не крутятся, тишина и покой при прослушивании…