Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Multimedia ja grafiikka => Aiheen aloitti: xana - 12.11.18 - klo:00.13
-
Täällä (https://delightlylinux.wordpress.com/2016/09/06/playing-dsd-audio-files-in-linux/) oli jotain ohjeita. Mieluiten toisto-ohjelma, joka löytyy Ubuntun "sovelluskaupasta". Lisäosa, joka mahdollistaa DSF-toiston oikealla resoluutiolla. Äänikortti on USB-liitäntäinen Accuphase DAC-50 (http://www.accuphase.com/model/dac-50.html). MP3, FLAC ja WMA toisto onnistuu jo nykyisellä Ubuntun vakio ajurilla.
-
Ainakin Ubuntun ohjelmalähteistä asennetut ffplay (ffmpeg-paketissa) ja mplayer soittavat DSF-tiedostoja, mutta en ole varma, pystyykö kummallakaan ohittamaan PCM-muunnosta. Todennäköisesti ei, mutta voihan niitä huvikseen kokeilla.
sudo apt-get install mplayer
mplayer tiedosto.dsf
DAC-laitteesi tarjoamaa natiivia DSD-toistoa varten joudut ainakin kiertämään PulseAudion ja käyttämään ALSA:a suoraan:
mplayer -ao alsa tiedosto.dsf
Jos suora DSD-toisto ei onnistu, Mplayer ja ffmpeg tukevat pikaisen kokeilun perusteella DSD:n muuntamista ainakin 352800 Hz:n PCM:ksi, ja USB-äänirajapinta varmaankin tukee PCM:ää 384 kHziin asti, joten oikein toimiessaan muunnoksen häviöt ovat kuuntelun kannalta merkityksettömiä.
Lisäys: DSD-tuki riippuu myös ääniajurista. USB-rajapinnan kautta ei ilmeisesti aina saada tarkkaa tietoa tuetuista DSD-formaateista, jolloin eri laitteille täytyy erikseen määritellä tuki ajurissa. En ainakaan äkkiseltään löydä Accuphase DAC-50:stä mainintaa ALSA:n DSD-tuen osalta. Mitä sanoo:
cat /proc/asound/*/stream0
-
Accuphase Laboratory, Inc. Accuphase USB Audio Product6 at usb-0000:00:14.0-1, : USB Audio
Playback:
Status: Stop
Interface 2
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 2
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 2
Altset 3
Format: S32_LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Accuphase Laboratory, Inc. Accuphase USB Audio Product6 at usb-0000:00:14.0-1, : USB Audio
Playback:
Status: Stop
Interface 2
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 2
Altset 2
Format: S24_3LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
Interface 2
Altset 3
Format: S32_LE
Channels: 2
Endpoint: 3 OUT (ASYNC)
Rates: 32000, 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
-
Juu, natiivi DSD ei ainakaan toimi ilman ajurin koodin muokkaamista. Jos ajuri tunnistaisi DSD-tuen, listauksessa näkyisi formaatti "SPECIAL DSD_U32_BE":
Altset 2
Format: SPECIAL DSD_U32_BE
Channels: 2
Endpoint: 1 OUT (ASYNC)
Rates: 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000
Data packet interval: 125 us
DSD over PCM (DoP) lienee kuitenkin mahdollinen vaihtoehto. Siinä DSD pakataan häviöttömästi PCM-streamiksi, jonka DAC sitten osaa tulkita ja käsitellä DSD:nä: https://www.rollofone.com/?p=309
-
http://www.accuphase.com/model/usb_notice2.html (http://www.accuphase.com/model/usb_notice2.html) löytyy Windows ajuri. Saisikohan sen purettua, että saisi ajurin? Myös https://www.ap-linux.com/ (https://www.ap-linux.com/) kiinnostasi.
-
http://www.accuphase.com/model/usb_notice2.html (http://www.accuphase.com/model/usb_notice2.html) löytyy Windows ajuri. Saisikohan sen purettua, että saisi ajurin?
Windows-ajurista ei ole suoraan apua. Sitä voi kyllä hyödyntää protokollan selvittämisessä usbsnoopin tai vastaavan avulla, mutta tämä ei ratkea ilman Linux-ajurin muokkaamista kooditasolla.
DoP on paras toivosi, jos välttämättä haluat toistaa natiivia DSD:tä Linuxissa tuolla raudalla.