Teac UD-301 + DSD + Linux

Попробовал наконец-то проиграть DSD-файлы на своем сабжевом ЦАПе.

Сначала толком ничего не вышло. Вроде Deadbeef умеет играть — на деле так и не запустил native playback. И, как я понял, ядро должно уметь USB-интерфейс для этого (судя по попадающимся в гугле статьям про поддержку XMOS — значит, и для местного тоже должно что-то быть, а не просто модуль usb-audio). При ресемпле (кстати, стоит сразу потыкать опции в настройках плеера на тему ресемплинга — там много чего «лишнего» для корректного вывода потока на ЦАП) звук таки выводился, но — в обычном формате, PCM.

Примерно по той же причине не работали и другие опробованные плеера — mpv, например.

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

  • USB-конвертер должен поддерживаться ядром. Поэтому любой плеер у меня и не получилось бы запустить — устройство просто не реагировало на входящий поток.
  • Плеера умеют работать с DSD, скормленные им файлики проигрывались
  • Если включить ресемплинг — то плеер начинал выдавать уже PCM-поток. В таком случае работал usb-audio и ЦАП играл в рамках разрешения PCM-потока.

Наигравшись со всем этим, скачал с сайта Teac ASIO-драйвер для винды и их фирменный плеер. Прокинул ЦАП в виртуалку, поставил все это, скормил файл, запустил. Играет — правда, заикается. Ну, как минимум, убедился, что все работает и лампочка на ЦАПе не для красоты.

После этого снова баловался с Deadbeef’ом, «брутфорся» разные варианты настроек. Плюс поискал возможность вывода DSD в MoC (помнилось мне, что где-то видел в настройках опции DoP — оказалось, это был MPD). MoC, кстати, несмотря на вроде как поддержку DSD, файлики с расширениями DSD/DFF/DSF не видел в принципе.

Гуглинг по теме «linux dsd dop play» в итоге привел меня к этой статье: https://www.rollofone.com/?p=309 — тут есть пример строчки для конвертирования DSD-файлов в DoP в FLAC-контейнере. Пришлось собрать dsf2flac — https://github.com/hank/dsf2flac

И вот уже этот файл при проигрывании Deadbeef’ом наконец-то зажег заветный индикатор на ЦАПе. Пробовал, кстати, сначала играть его в audacity — тот как-то иначе выводит сигнал. Музыку слышу, но сквозь шум.

Если подвести итог, то DoP на сейчас — единственный вариант слушать DSD на моем ЦАПе.

В самом Deadbeef’е, как я понял, поддержки DoP пока нет — хотя уже несколько лет, как запланирована.

В mpd есть поддержка, плюс она там гибко конфигурируется. Т.е., обычные файлы могут играться как обычно, а DSD будут прозрачно заворачиваться в DoP. Пока не пробовал, нужна проверка.

3 мысли о “Teac UD-301 + DSD + Linux”

  1. В продолжение изысканий на тему SACD. Скачал Dire Straits в образе. Образ в файлы рипается этим: http://sacd-ripper.github.io — можно просто зайти в каталог sacd_extract, там cmake . && make. Получаем бинарь sacd-extract. Рипаем чем-то в стиле sacd_extract -2 -i Brothers\ In\ Arms.iso -p. Получаем подкаталог с файликами. Дальше конвертим упомянутой в статье утилитой: ls -1 *.dff | while read i ; do dsf2flac -d -r 352800 -i «${i}» «${i}.flac» ; done — получаем DoP’ы. Слушаем :).

  2. Хм. Наткнулся на https://community.roonlabs.com/t/what-is-required-for-native-dsd-on-linux/20795
    Глянул у себя:
    rain@walkbook:~$ cat /proc/asound/card1/stream0
    TEAC Corporation TEAC UD-301 at usb-0000:00:14.0-2, high speed : USB Audio

    Playback:
    Status: Stop
    Interface 1
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800
    Data packet interval: 125 us
    Interface 1
    Altset 2
    Format: S32_LE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800
    Data packet interval: 125 us
    Interface 1
    Altset 3
    Format: S32_LE DSD_U32_BE
    Channels: 2
    Endpoint: 1 OUT (ASYNC)
    Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800
    Data packet interval: 125 us

    DSD_U32_BE есть. Значит, оно должно уметь native DSD?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *