ЦАП DSD Signalyst DSC1 — DIY

,

Питание раздельное, две обмотки транса + выпрямители с CRC фильтром.

На альбомах, которые слушал - никаких замечаний по глубине сцены у меня не было. Сравнение вообще легко писать было - подача Signalyst мне однозначно понравилась.

В этом может и проблема быть - когда что то зацепило, на мелкие недостатки не обращаешь внимание. Моя девушка, послушав, сказала что разница с Vega есть, но небольшая. Определиться с лидером не смогла.

Отлично понимаю, что немало людей выбрали бы Vega - точно, аккуратно, академично. Но слегка скучновато для меня (в сравнении с DSC).

По off-line конвертации - конечно. Думаю не только я буду признателен.

2 лайка

Привожу последовательность действий на примере первого трека из альбома Tsai Chin - Folk Songs (2002). Исходный файл DSD64, извлеченный из ISO в DFF с помощью Sonore ISO2DSD:


Командой “chfsDff256.exe filename.dff” заменяем первоначальную частоту несущей 2.8 MHz на 11.2 MHz:

После смены формата DFF на DSF “dff2dsf.exe input_file.dff output_file.dsf” выполняется 4-кратный апсемплинг полученного файла с помощью AuI ConverteR 48x44 - в поле sampling rate выбираем 45158400 Hz, при этом в настройках необходимо выставить Filter mode: Non-optimized Wide Resampling Filter. Частота среза при этом равна 100 kHz, что на 12 kHz выше граничной частоты “полезного сигнала” после предыдущей операции. Далее возвращаем все “на круги своя” - смена формата DSF на DFF “dsf2dff.exe input_file.dsf output_file.dff” и несущей частоты обратно на 11.2 MHz “chfsDff256.exe filename.dff”:

Как видно, в итоговом файле DSD256 область от 25 до 70 kHz свободна от шума, а пиковый уровень снизился на 0.8 dB. Просьба сравнить с результатом работы встроенного в HQPlayer алгоритма апсемплинга DSD64-DSD256. Автором заявлено, что промежуточной конвертации в PCM в этом случае не выполняется.

2 лайка

Есть законченные идеи как эту штуку применять в реальной жизни,чтобы не страдать?
В идеале нужен какой-то недорогой источник типа малинки чтобы на лету конвертил в DSD, но это похоже утопия?

Например, поставить на входе AK4137, но Марат, опробовавший его в деле, особых восторгов не высказал.

1 лайк

В шапке есть ссылка на статью Andrea Ciuffoli. В ней о перечисляет известные ему способы + добавил от себя:

  1. HQPlayer
  2. JRiver
  3. Foobar
  4. Daphile, с ресемлпером (думаю SOX). Предполагаю, что любой дистрибутив Linux может подойти.
  5. Решение на аппаратном ресемплере (например AK4137)
  6. Offline конвертация в DSD.
  7. Roon ресемплер в DSD. Но аппаратно требовательный. У меня на Core i3 не заработал.

Я думаю остановиться на on-line конвертации (HQPlayer или на Linux).
Павел @ppy имеет большой опыт по Linux. Поделитесь вашими рекомендациями?

Если off-line конвертация окажется качественней - тогда придется думать :grinning:

2 лайка

Есть еще один вариант - реализация на FPGA ElectrArt PCM2DSD. На входе spdif, на выходе LVDS, т.е. подойдет только мне :wink:

1 лайк

Тема интересна, пожалуй даже соберусь послушать девайс в железе.

Это очень странно. Во-первых - TP не должен меняться вообще (тем более на такую величину), во-вторых - если и меняется то с возрастанием SR, то только в большую величину, за счёт детектирования межсемпловых пиков. Так что какой-то процессинг всё-таки происходит.

Ну, если только автор родственник Копперфильда :slight_smile: Скорее всего он имеет в виду процессинг через DSD-Wide, но это PCM по сути.

Т.е. если удаляем часть шумов, ничего меняться не должно?

Во-первых, все прекрасно понимают, что иначе как, чем через DSD-Wide такие фокусы не провернуть, а во-вторых, по сути - это PCM Narrow, если выразиться точнее. В Roon заявлен аналогичный алгоритм, но ни подтвердить это, ни опровергнуть не могу.

Если что-то куда-то удаляем - это уже и не ресемплинг, а нойз процессинг. Со всеми вытекающими.

1 лайк

Мне представляется, что дело может быть не только в шумах.

Герман судит об уменьшении уровня по TPL программы MusicScope. Автор программы так поясняет расчет “истинного пикового уровня громкости (TPL)” (вкладка Levels):

TPL:
The True Peak Level represents the signal amplitude after the digital to analog conversion to detect Inter Sample Peaks. The simulation of the analog domain is possible because the meter is doing an up-sampling of the measured input signal to interpolate the waveform.

В PCM апсемплинг уменьшает InterClipping. В SDM, наверняка, тоже. Апсемплинг выполнили в 4 раза.
Тем более, что не известно, как реализовал расчет TPL автор MusicScope.

Я больше скажу - дело там и вовсе не в шумах, скорее всего в цепочке конвертации что-то криво.

Это не автор программы, а общепринятые принципы определения TP :slight_smile:

Вы немного ставите телегу впереди лошади - апсемплинг не уменьшает, а позволяет детектировать (вычислить) True Peaks (межсемпловые пики) и тем самым принять меры к их подавлению, исключению и превентивному элиминированию искажений в процессе DA конверсии. В противовес Sample Peaks, которые не так точно описывают форму цифрового (точнее - результирующего аналогового) сигнала.

4Х - наиболее распространённая практика вычисления TP, но мне попадались решения и на 8Х.

Спасибо за столь подробный обзор моего поста, Дмитрий.

Я, к сожалению, действительно не знаю как вычисляется ТРL.

Судя по вашему посту - апсемплинг в 4 раза + интерполирующий фильтр (апсемплинг - добавление “0”-ых отсчетов, последующий интерполирующий фильтр “заполняет” “0” отсчеты значениями). Далее max по новому амплитудному вектору и сравнение с max старого (начального) вектора. Это в PCM.

Что с SDM? Могу только предположить - CIC фильтр (т.е. увеличение битности потока). Далее аналогично PCM.

Прав ли я?
Стандартизированы ли FIR и CIC фильтры, упомянутые выше?
Просто если нет, то результат вычислений TPL будет зависеть в некоторой степени от их характеристик.
С ваших слов могу сделать вывод что существует единый алгоритм (“общепринятые принципы определения TP”).

По поводу уменьшения InterClipping в PCM после over-sampling. Вы меня не поняли. Я имел ввиду следующее (пишу далее по PCM, т.к. математику SDM представляю хуже).
После upsampling (добавлени 0-вых отсчетов) и применения интерполирующего фильтра обычной практикой является нормировка амплитудного вектора (умножение на константу). В результате абсолютное значение может снизится (не обязательно, но обычно точно коэффициент нормировки я, например, не подбираю).
Поэтому в PCM незначительное изменение громкости после увеличения частоты дискретизации не является, с моей точки зрения, признаком “кривости” конверсии.

В чем не прав?

Понятия не имею, и соглашусь, что конечно точные результаты будут зависеть от варианта математического решения, но уверен - даже если разные фирмы применяют разные алгоритмы - разница в результате будет совсем несущественна. Ведь конечная цель одна - вычисление пиков в приближении к аналоговой форме сигнала.

Не алгоритм - а скорее принцип межсемпловой интерполяции - на основе виртуального апсемплирования.

Так как детектируем мы именно пики (и соответственно исследуем квазипиковые области), то математически расчётное значение амплитуды в межсемпловых отсчётах не может быть меньше амплитуды семпла в принципе :slight_smile: В крайнем случае они будут равны. И практика измерений это подтверждает - уровень сигнала по TP всегда выше, чем по SP. В некоторых случаях (для SR 44-48 - межсемпловые интервалы во временнОм выражении относительно велики) разница доходит до 2(!) dB, а в исключительных - даже более.

Это всё касается PCM и расбочих станций на его основе, но ведь для того чтобы проанализировать файл DSD стандартными методами его надо “виртуально расквантовать” в PCM, то есть по сути дела обработать стандартными для этого формата методами.

Подготовлю чуть позже HowTo по разворачиванию связки на Linux HQPlayer Embeded->Amanero->DSC1. Управление с Android через Gizmo или BubbleUPnP + любой сервер DLNA. Я рекомендую Jriver в качестве сервера.
Всё это прекрасно живёт на Pentium G4560 c загрузкой около 40% при PCM to DSD256.

По мне, так saracon прекрасно конвертит. Есть пакетный режим для перевода всей библиотеки в DSD. Правда ценник у него зверский. Но кому очень нужно, сможет найти “решение”.

2 лайка

Не совсем так просто. Существуют несколько типов фильтров (FIR), не изменяющих базовые отсчеты при интерполировании. Например Найквиста. Большинство остальных - меняют.
Т.е. формально от исходных семплов может не остается ни одного начального (без изменений).
Тем более, восстановленный семл может быть и меньше и больше соседнего оригинального.

Я поэтому уточнял про тип фильтра.

Дмитрий, ваша мысль мне понятна, спасибо за содержательные ответы.

Просто для меня все таки не однозначно, что небольшое изменение TPL - следствие “кривого” преобразования. Я к этому все.

Даже если поменять в заголовке DFF только несущую частоту, не вмешиваясь в остальное, результат нойз-шейпинга будет иным. Детали реализации апсемплинга DSD-to-DSD в AuI Converter 48x44 автор (Юрий Корзунов) не раскрывает.

Согласен, для многобитного представления сигнала все будет именно так, однако в случае однобитного потока оперируют не фиксированными амплитудами, а приращениями. Хотя согласно стандарту ScarletBook уровень 0dBDSD приравнивается к 0dBFS CD-слоя гибридных дисков SACD, это значение достигается при 50%-м индексе модуляции. Максимально допустимый (согласно тому же стандарту) индекс модуляции 71,4% эквивалентен уровню +3.10dBDSD. Применимо ли к SDM понятие “амплитуда межсемплового отсчета”?

Лучше Воробьевские.

Артем, это digitrans.ru из Иваново?

Где по ним почитать можно?

Чем они так интересны (кроме того, что нужно поддержать отечественного производителя)?

Виталий.

Это достаточно известный мастер из Молдавии. Есть возможность на этапе заказа обсудить необзодимые параметры, в т.ч. с учетом предназначения. Цена от 100€.

Вот вкратце набросал на бумажке схему интерполяции для вычисления True Peak на основании набора Sample Peak в области предполагаемого “аналогового” пика. Принцип примерно тот-же как и при известном с древности оверсемплинге. 100-101- это отсчёты базовой SR.

И для меня не однозначно :slight_smile: Я же не зря написал “скорее всего”. Надо разбираться.

1 лайк