DSD ; ASIO ; Native DSD

Ce stiu eu despre

DSDlink

ASIO – protocol software proprietar, dezvoltath Steinberg pt win XP pentru a “sari” peste detestatul KMIXER din XP (in primul rand la inregistrare pt low latency, in al doilea rand sa evite convesia automata a streamului PCM din 24 in 16 biti si rata de esantionare default pt volum), folosit la inceput de segmentul audio pro si mai apoi adoptat si de o mare parte a producatorilor de placi audio cu pretentii de calitate sursa Includerea streamului DSD in protocol a fost facuta in v2.2 sursa pg 48 ofera descrierea implementarii. In ciuda faptului ca DSD este single-bit cu ASIO se poate transmite in 3 feluri, in pachete de 8 biti per byte sau 1 bit per byte irosind restul de 7 biti, deci impachetat sa neimpachetat – pg 33 A pierdut din teren odata cu Vista si implementarea WASAPI si KS (kernel streaming).

Native DSD – eh, aici m-am impotmolit, nu am gasit o definitie unitara, ceea ce ma face sa cred ca e doar un tool de marketing.

  1. cei care vand muzica: “We strive to provide listeners with a top quality resource for the best quality DSD Stereo and Multichannel music directly from native DSD recorded music and Analog Master Tapes.” sursa Definitia este eronata deoarece nu exista mixer software pt DSD, toate mixerele pt DSD convertesc streamul DSD in PCM (cu super ultra mega rata de esantionare) iar apoi din nou in DSD pt distributie. Conversia DSD PCM si invers se face cu pierdere de informatie, datorita filtrelor folosite, daca aceaste pierderi sunt audibile e un subiect care este in dezbatere. Partea buna este ca exista si inregistrari DSD neprocesate, dar acestea sunt f rare.
  2. XMOS – Thesycon (firma acceptata de XMOS pt dezvoltarea/customizarea driverelor pt usb audio bazate pe chipuri xmos) face distinctie intre Native DSD si DSD over PCM (DoP), ce inteleg eu de aici e ca ei an intre driver si player un bitsream dsd, dar nu se spune nimic de partea de transmisie propriu zisa a datelor prin USB …. Mai ales ca DSD nu este cuprins in standardul USB2.0. Deci in cazul lor as spune ca nu playerul software face conversia in DoP ci driverul (din pacate aici nu am nimic care sa sustina afirmatia) sursa Mai mult datele sunt la randul lor transmise in pachete conform protocolului USB.
  3. producatorii DAC – sunt mai rezervati, ei spun despre device ca este DSD capable/ready sau altii, mai putini, ca suporta native DSD
  4. la un moment dat se folosea sintagma pentru play DSD fara conversie in PCM

Personal consider ca termenul este abuzat in scopuri de marketing, deoarece toata lumea se fereste sa dea o definitie clara.

In viziunea mea figura de jos ce este punctat reprezinta un lant native DSD, de la inregistreare pana la redare. Daca in domeniul digital (stocare – dsf sau dsdiff , playback, cum sare streamul de date intre procese si drivere, date procesate de XMOS, date procesate de XMOS) totul este bitperfect atunci ai un native DSD, restul e marketing pt pozitionarea produsului pe piata – pana la proba contrarie cand audiofilii cad toti de acord ca una este mai buna ca cealanta 🙂

sursa imagine

Cei de la Jriver au fost mai organizati si fac o distinctie clara intre:

  1. DSD playback – ce trimite mai departe playerul catre driver
  2. Bitstreaming – modul in care trimite

Este o diferenta majora intre conversia in PCM a unui stream DSD – in acest caz la chipul dac ajunge un stream PCM – transmisia nu este bitperfect

si folosirea unei metode diferite de impachetare a datelor pana la modulul USB din dac DoP sv DSD stream (impachetat la randul lui) – transmisia este bitperfect

Limitare bitstreaming-ului direct in DSD nu vine din partea HW ci din limitarea sistemului de operare, ASIO face un bypass al streamului direct in driver.

———————————————————

La mine, exaSound-ul, prin intermediul driverului ASIO playeaza cu adevarat nativ fisierele DSD.

Este incorect deoarece la input-ul chipului dac ajunge in ambele cazuri acelasi stream DSD, singura diferenta este cum acele date:

  1. ajung la device-ul conectat pe USB – in cazul ASIO ca stream DSD, in cazul DoP ca pachete PCM care contin streamul DSD
  2. sunt transmise intre computer si DAC prin cablul USB (daca exista vreo diferenta, vezi comentariul anterior XMOS – Thesycon)

apoi XMOS-ul reconstituie streamul DSD si il trimite la chipul DAC, ambele streamuri care ajung la input sunt identice

din nou asio nu face nimic in domeniul hardware, o doar un protocol software de comunicare intre player si driverul pt deviceul HW care sare peste partea de procesare audio a sistemului de operare

Altfel, prin DoP creste gatuirea procesorului cu 30-50 de procente si, oricum, pentru DSD256 implementarea DoP necesita suport pentru PCM 705.6kHz si 768kHz.

Incorect, wav vs flac vs dsd64 (DoP 176.4kHz), dsd 128 (DoP 352.8kHz)

pe o placa de dezvoltare cu procesor ARM cu un singur nucleu si 512 MB incarcarea pe procesor arata cam asa

TBD

Pe un i3 cu 8 gb de ram arata asa:

TBD

nu am avut probleme (dropouts) cu nici unul din fisierele de mai sus

Am adus si wav in ecuatie pt ca nu necesita decompresia streamului PCM. Personal cred ca decomepresia din flac necesita mai multa putere de calcul cu cel putin 2 ordine de marime decat crearea pachetelor DoP.

Asta e unul din cele mai folosite abordari in marketing: spread FUD and pose as a savior definitie

 

Si inca ceva – folosind Core Audio, Mac-ul este intotdeauna device-ul master iar DAC-ul cel slave

Hmm nu inteleg la ce se refera master si slave. Core Audio in cate stiu este analogul alsa din linux

 

La rate de esantionare atat de mari si CPU-ul si interfata USB audio au probleme majore.

Pai atunci cum se rezolva nevoia de bandwidth in cazul asta? in DoP ai un overhead de 8 biti header la 16 biti dsd per pachet de 24 de biti, sau 8 biti la 24 de biti per pachet de 32 de biti.

 

Conform informatiilor mai vechi design-ul de referinta al soft-ului suporta implementarea DoP and DSD nativ.

toate implementarile hardware standard le suporta, dar sistemul de operare si playerele aveau\au o problema cu formatul DSD. In computer audio (si aici includ tablete, telefoane care si ele trimit PCM la proc de sunet din device)  99.99999% se foloseste PCM ca standard de transmisie a datelor audio intre procese. asa ca s-a ales cea mai la indemana solutie, ASIO care suporta DSD, un format folosit in audio pro.

e28 handles DSD sampling rates of 2.82, 3.072, 5.64, 6.14, 11.28, and 12.28MHz without converting the signal to PCM.

ca de obicei stereophile, daca a lor este afirmatia, o dau rau de gard, DoP nu insemana conversie (definitie) streamul de date DSD nu se converteste din DSD in PCM, ci pachetele PCM sunt modificate contin streamul de date DSD. Ca sa dau un exemplu daca un fisier identic ar fi transferat pe un alt mediu (HDD) a. folosind ethernet sau b. folosind USB la final am avea doua fisiere diferite… Un exemplu mai bun este o conexiune VPN vs una directa, sau o conexiune HTTPS vs una HTTP – intre cele doua puncte circula aceleasi date, numai ca sunt “impachetate” diferit. Pe de alta parte si ASIO face pachete din DSD ….

 

exaSound este primul DAC care stie ASIO pe MacOSX si este deci capabil sa redea nativ DSD-uri cu ajutorul Decibel-ului

inexact, este primul DAC care beneficiaza de implementarea ASIO pe MacOSX. we agree to disagree apropos de formularea nativ DSD – poate beneficia de bitstream dsd si nu DoP

SDK pt ASIO sunt demult pe linux si banuiesc si pe apple. Pe linux nu s-au folosit pt ca alsa si jack sunt suficiente pt low latency si bit perfect.

Problema este ca toate playerele care doresc sa foloseasca ASIO trebuie sa fie recompilate cu suport de ASIO

A se observa ca DoP si DSD nativ sunt folosite simultan, ca sa nu existe neintelegeri!
Eu sunt de parere ca special sunt folosite simultan pt a crea neintelegeri. 🙂 si a singulariza un produs pe piata.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Post Navigation