Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Merita un Termostat Smart pentru ...

Sfat achizitie MTB Devron Riddle

Problema mare cu parintii= nervi ...

switch microtik
 Permis categoria B la 17 ani

Sfaturi pentru pregatirea de eval...

Crapaturi placa

cum imi accesez dosarul electroni...
 Momentul Aprilie 1964

Sursa noua - zgomot ?

A fost lansat Ubuntu 24.04 LTS

Pareri apartament in zona Berceni?
 Free streaming SkyShowtime de la ...

Skoda Fabia 1.0 TSI (110 CP)- 19 ...

Mezina familiei, Merida BigNine

The Tattooist of Auschwitz (2024)
 

Audio bitperfect pe Linux

* - - - - 1 votes
  • Please log in to reply
17 replies to this topic

#1
godaro

godaro

    Senior Member

  • Grup: Senior Members
  • Posts: 3,722
  • Înscris: 25.01.2007
Salutare tuturor,

Ma intereseaza sa conectez via USB un DAC (digital audio converter) la un laptop pe care ruleaza Linux (Ubuntu 20.4). Din DAC (care de fapt este un amplificator integrat) pleaca cablurile spre boxe si asa ascult muzica. Deci DAC-ul ar trebui sa fie ca un fel de placa audio USB si ar trebui sa primeasca din Linux semnal USB audio neprocesat (bitperfect).  Sursele de muzica sunt Spotify (aplicatie desktop) si Tidal (web based in Linux) care au sample rate 44.1 khz si bit depth 16 bit

Am incercat, functioneaza rezonabil de bine, dar sunetul care iese  din Windows este mai curat decat sunetul care iese din Linux. Se aud mai multe sunete si mai clar in Windows, in Linux se aude ca sunetul este mai procesat. Volumul l-am reglat la fel. Sunt fan Linux si mi-ar placea sa ascult muzica din Linux, sa nu mai boot-ez Windows.

Sample rate ramane 44.1 khz (afisat de dac) - identic cu ce livreaza Spotify si Tidal. Bit depth este 16 bit - identic cu ce livreaza Spotify si Tidal. Desi pare bitperfect, la urechi nu este bitperfect.

Nu stiu cum sa fac sa trimit semnal neprocesat catre DAC via USB in Linux. Am dezinstalat Pulse Audio, dar nu mai aud nimic. M-am asigurat ca am acelasi sample rate si bit depth ca sursa originala si nu sunt multumit. Vreo alta parere?

#2
red46

red46

    Senior Member

  • Grup: Senior Members
  • Posts: 4,557
  • Înscris: 06.03.2016
https://www.google.c...dio bit perfect

#3
echoFourZero

echoFourZero

    Junior Member

  • Grup: Validating
  • Posts: 120
  • Înscris: 10.02.2022

Quote

The usual way to get bitperfect on GNU/Linux is to use ALSA without volume control (or volume at 100) and set the output bitdepth/sampling rate to be the same as your source files.

PS: Pentru cea mai buna performanta audio instaleaza un kernel real time, nu stiu care e ala in lumea kakanonical si a lor distributie ca nu folosesc asa ceva. Am renuntat la pulseaudio de ani buni si merg doar pe ALSA. Chiar ma gandeam sa pun mana pe un DAC si o pereche noua de casti ca sunt satul de placa integrata si perechea de casti pe care o folosesc acum mai ales ca am unele melodii la care am impresia ca "setup-ul" de simplu user nu imi reda toate sunetele.

#4
godaro

godaro

    Senior Member

  • Grup: Senior Members
  • Posts: 3,722
  • Înscris: 25.01.2007

View PostechoFourZero, on 04 martie 2022 - 21:02, said:

Am renuntat la pulseaudio de ani buni si merg doar pe ALSA.
Cum ai facut? Eu am crezut ca daca dezinstalez pulseaudio raman cu ALSA. Din pacate, in cazul meu dupa dezinstalare nu am mai auzit nimic, nici n-a mai recunoscut DACul.
Da, vreau si eu sa folosesc ALSA direct, fara intermediari. Cum fac?

Marturisesc ca desi imi place Linux nu sunt IT-ist. De aia imi place Ubuntu ca e simplu pentru oamenii simpli ca mine. Ma consider entry-level in domeniul Linux, dar imi place.

Daca nu esti audiofil  iti recomand sculele din China in buget de 100-150 EUR. Un coleg de pe aria audio mi-a recomandat Alientek D8, are si iesire pt casti. Eu discut aici tot despre un echipament chinezesc - Aiyima D05 care se aude foarte bine, in special pe Windows. Boxele sunt standfloor - Heco Victa Prime 7. E un setup entry-level decent.

Deci, imi faci cunostinta cu ALSA? :)

#5
echoFourZero

echoFourZero

    Junior Member

  • Grup: Validating
  • Posts: 120
  • Înscris: 10.02.2022
Daca dezinstalezi pulseaudio trebuie sa te asiguri ca ALSA ramane instalat:
libpulse

Am doar libpulse instalat ca e dependinta la FFMpeg, i3status-rust si mpv in principiu. Cat despre ALSA mai jos sunt pachetele instalate:
alsa-lib
alsa-plugins
alsa-topology-conf
alsa-ucm-conf
alsa-utils

Apoi in /etc/asound.conf am doar basic stuff:
defaults.pcm.rate_converter speexrate_best
defaults.pcm.dmix.rate 96000
defaults.pcm.dmix.format S16_LE

MaI am pe undeva un config de test / joaca pentru ALSA. In $HOME am .asoundrc cu acelasi continut si pe care il mai modific cand imi aduc aminte. Ideea este sa ai alsa-restore enable ca sa iti faca restore la setarile placii de sunet cand repornesti sistemul:
● alsa-restore.service - Save/Restore Sound Card State
	 Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static)
	 Active: active (exited) since Fri 2022-03-04 11:43:52 EET; 10h ago
Main PID: 726 (code=exited, status=0/SUCCESS)
	 CPU: 8ms
mar 04 11:43:52 Timberwolf systemd[1]: Starting Save/Restore Sound Card State...
mar 04 11:43:52 Timberwolf systemd[1]: Finished Save/Restore Sound Card State.


Dupa cum am zis nu am ceva special configurat pentru ALSA si totusi functioneaza perfect, browsere si  playere multimedia, in poza se vede ca scot sunet la 96KHz in loc de 48KHz.

#6
godaro

godaro

    Senior Member

  • Grup: Senior Members
  • Posts: 3,722
  • Înscris: 25.01.2007

View PostechoFourZero, on 04 martie 2022 - 22:38, said:

in poza se vede ca scot sunet la 96KHz in loc de 48KHz.

Nu e ok, fix asta este subiectul topicului. Tidal si Spotify  livreaza sunet la 44.1 khz, 96khz inseamna upsampling non-integer, adica o alterare a sunetului. E ceea ce percep eu la ureche vs Windows care nu proceseaza sunetul si il "paseaza" catre DAC direct la 44.1 khz.

Cand ai un DAC  tu vrei ca semnalul sa fie transportat nealterat catre el. Tu vrei ca DACul sa proceseze sunetul si nu sistemul de operare. 96khz sunt inacceptabili, reprezinta o interferenta a sistemului de operare asupra semnalului. Este chiar o interferenta grosolana, 96 khz nu e multiplu de 44.1, deci la propriu upsampling-ul da cu virgula.

Tot asa patesc si cu Android, si ala intervine asupra semnalului si ii face upsample la nivelul default implementat de producatorul respectiv (la Asus am 48khz, la Samsung 192 khz). IN Android insa exista aplicatii terte care (UAPP, HiBy) care au drivere USB proprii si stiu sa faca bitperfect, sa ocoleasca sistemul de operare.

Edited by godaro, 05 March 2022 - 11:10.


#7
echoFourZero

echoFourZero

    Junior Member

  • Grup: Validating
  • Posts: 120
  • Înscris: 10.02.2022
Dad stiu dar eu am facut asta de test sa vad daca sunt sau nu probleme. In cazul meu oricum am doar placa integrata de sunet. Daca scot linia de mai jos in ~/.asoundrc atunci alsa scoate fix ceea ce citeste din fisier.
Scot asta:
defaults.pcm.dmix.rate 96000

Quote

defaults.pcm.rate_converter speexrate_best
#defaults.pcm.dmix.rate 96000
defaults.pcm.dmix.format S16_LE
Si rezultatul:

Quote

(+) Video --vid=1 (*) (h264 1920x1080 29.970fps)
(+) Audio --aid=1 --alang=eng (*) (opus 2ch 48000Hz)
(+) Subs  --sid=1 --slang=en 'Wagakki Band - Senbonzakura - MV.en.vtt' (webvtt) (external)
[ffmpeg] webvtt: The "sub_text_format" option is deprecated: Deprecated, does nothing
AO: [alsa] 48000Hz stereo 2ch float
VO: [gpu] 1920x1080 yuv420p
AV: 00:00:26 / 00:04:39 (10%) A-V:  0.000
Vezi partea ingrosata, prima linie e pista audio asa cum e in container-ul mkv iar a doua ceea ce scoate mpv folosind alsa. Dar mai umblu pe la setari odata la ceva timp / ani si las modificarile facute. In cazul de ma sus era 96KHz deoarece eram curos daca placa scoate sunet la 96 / 192KHz la 32bits, daca nu ma insel eu. La sfarsit nu am mai comentat linia aia care face alsa sa scoata sunet la 96KHz. Din pacate ce am pe masina e doar ce am descarcat de pe YT si toate sunt OPUS la 48KHz pe 2 canale. Dar cu un config chel de ALSA adica fara asoundrc in /etc sau in $HOME atunci ALSA scoate sunet nemodificat si il trimite la placa de sunet la USB pentru DAC.  De asta se recomanda folosirea ALSA. Pentru setup mai complex, MIDI stuff, se adauga jack, dar pana nu pun mana pe un DAC pentru a testa nu am ce sa zic daca e bine sa ai si jack doar pentru playback sau poti ramane doar cu ALSA.

#8
red46

red46

    Senior Member

  • Grup: Senior Members
  • Posts: 4,557
  • Înscris: 06.03.2016
@echoFourZero ti-a aratat cum se configureaza. El l-a setat la 16-bit 96 kHz, tu il setezi cum vrei.

#9
georgica

georgica

    Active Member

  • Grup: Members
  • Posts: 1,484
  • Înscris: 30.01.2003
Eu folosesc Audacious ca player și mie îmi redă exact ce intră, nu face resampling.

Ce apare la @echoFourZero e o problemă de player (mpv) și e documentată la ei pe github.
Am făcut și eu o probă:

Quote

Lacuna Coil/2016 - Delirium$ mpv 03\ -\ Delirium.flac
(+) Audio --aid=1 (flac 2ch 44100Hz)
File tags:
Artist: Lacuna Coil
Album: Delirium
Comment: Ripped with EAC 1.1
Date: 2016
Genre: Metal
Title: Delirium
Track: 03
AO: [alsa] 48000Hz stereo 2ch s16
A: 00:00:04 / 00:03:16 (2%)
Exiting... (Quit)
Lacuna Coil/2016 - Delirium$ mpv --alsa-resample=yes 03\ -\ Delirium.flac
(+) Audio --aid=1 (flac 2ch 44100Hz)
File tags:
Artist: Lacuna Coil
Album: Delirium
Comment: Ripped with EAC 1.1
Date: 2016
Genre: Metal
Title: Delirium
Track: 03
AO: [alsa] 44100Hz stereo 2ch s16
A: 00:00:06 / 00:03:16 (3%)
Exiting... (Quit)

Ca diferența în logs:

Quote

[   0.237][i][cplayer] AO: [alsa] 48000Hz stereo 2ch s16
[   0.237][v][cplayer] AO: Description: ALSA audio output
[   0.237][v][autoconvert] inserting resampler
[   0.237][v][swresample] format change, reinitializing resampler
[   0.237][v][swresample] 44100Hz stereo s16 -> 48000Hz stereo s16
[   0.237][v][af] [out] 48000Hz stereo 2ch s16
[   0.237][v][cplayer] audio ready
vs

Quote

[   0.018][i][cplayer] AO: [alsa] 44100Hz stereo 2ch s16
[   0.018][v][cplayer] AO: Description: ALSA audio output
[   0.018][v][af] [convert] (disabled)
[   0.018][v][af] [out] 44100Hz stereo 2ch s16
[   0.018][v][cplayer] audio ready

Deci problema nu e la ALSA, ci la player.

Edited by georgica, 05 March 2022 - 20:05.


#10
georgica

georgica

    Active Member

  • Grup: Members
  • Posts: 1,484
  • Înscris: 30.01.2003
Am încercat și eu Spotify în browser și aș da vina mai mult pe un bitrate inferior.
Chiar dacă ei zic că la web player au 128 kbps eu nu cred că au mai mult de 96 (confirmat oarecum și de traficul generat). Mai ascult uneori rockradio1 care la un bitrate de 128 se aude mult mai bine față de Spotify.
Diferența față de Windows/Android este că acolo au aplicații speciale care ar reda zice-se cu un bitrate de 160 kbps la pachetul free și 320 la premium.

#11
godaro

godaro

    Senior Member

  • Grup: Senior Members
  • Posts: 3,722
  • Înscris: 25.01.2007
Eu am comparat aplicatia desktop Spotify din Linux cu cea desktop din Windows. Abonament platit Spotify Premium. Deci comparam mere cu mere, Windows vs Linux.
In Linux am editat /etc/pulse/daemon.conf confor indicatiilor de pe net astfel incat sa pastrez rata de esantionare (sample rate) de 44.1 khz si bit depth de 16 biti - valorile native pentru Spotify si pt Tidal. Pare ok intrucat DACul imi indica 44.1khz.

Cu toate acestea sunetul din Windows este mai clar si mai bogat in detalii. Sunetul din Linux este mai estompat, ii lipsesc niste detalii. Vorbim de dual boot de pe acelasi laptop
@georgica:  nu se pune problema unei aplicatii terte, eu nu rulez muzica de pe calculator, deci nu avem nevoie de un player. Eu am nevoie ca ceea ce iese din Spotify sau Tidal sa plece neprocesat inspre DAC

@EcoFourZero, iti multumesc pentru explicatii. Pentru mine pare complicat, nu lucrez in domeniul IT. Este mult mai simplu sa boot-ez in Windows si sa ascult muzica.

#12
echoFourZero

echoFourZero

    Junior Member

  • Grup: Validating
  • Posts: 120
  • Înscris: 10.02.2022
Pune chestiile de mai jos in $HOME/.asoundrc si inlocuiesti 0 cu ID-ul DAC-ului, il afli cu aplay -l:
pcm.!default {
   type plug
   slave.pcm hw
}
ctl.!default {
	type hw
	card 0
}

Output aplay -l:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC663 Analog [ALC663 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC663 Digital [ALC663 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Adica la mine 0 = placa de sunet. In teorie trimit sunetul direct fara ca sunetul sa treaca prin plugin-ul dmix care e setat default la 48kHz cel putin pe Arch.
─ $ grep dmix /usr/share/alsa/alsa.conf
defaults.pcm.dmix.max_periods 0
defaults.pcm.dmix.channels 2
defaults.pcm.dmix.rate 48000
defaults.pcm.dmix.format unchanged
defaults.pcm.dmix.card defaults.pcm.card
defaults.pcm.dmix.device defaults.pcm.device
pcm.dmix cards.pcm.dmix



#13
godaro

godaro

    Senior Member

  • Grup: Senior Members
  • Posts: 3,722
  • Înscris: 25.01.2007
nu am niciun fisier asoundrc Ubuntu
Am gasit un folder /usr/share/alsa/alsa.conf.d in care sunt niste fisere de configurare cum ar fi:

10-samplerate.conf

care contine:
pcm.samplerate {
@args [ SLAVE RATE CONVERTER ]
@args.SLAVE {
  type string
  default "plug:hw"
}
@args.RATE {
  type integer
  default 48000
}
@args.CONVERTER {
  type string
  default "samplerate"
}
type rate
converter $CONVERTER
slave {
  pcm $SLAVE
  rate $RATE
}
hint {
  show {
   @func refer
   name defaults.namehint.basic
  }
    description "Rate Converter Plugin Using Samplerate Library"
}
}

am schimbat default rate in 41000 si ... mai fac niste teste "auditive".

Multumesc mult pentru implicare.

#14
georgica

georgica

    Active Member

  • Grup: Members
  • Posts: 1,484
  • Înscris: 30.01.2003

View Postgodaro, on 06 martie 2022 - 15:59, said:

@georgica:  nu se pune problema unei aplicatii terte, eu nu rulez muzica de pe calculator, deci nu avem nevoie de un player. Eu am nevoie ca ceea ce iese din Spotify sau Tidal sa plece neprocesat inspre DAC

Atâta timp cât folosești  PC-ul cu un browser ca să asculți muzica, se zice că o rulezi de pe calculator și folosești un player. Chiar dacă nu e vorba de mpv sau Audacious, acel browser folosește în spate alte aplicații (cel mai probabil ffmpeg) pe care le poți considera drept player.
Ce zici tu că "nu rulezi de pe calculator și nu ai nevoie de player" se poate obține doar cu un player dedicat, care player la rândul lui dacă are aplicația Spotify este tot una web-based, adică același player web de care vorbesc eu.

Edited by georgica, 06 March 2022 - 21:01.


#15
echoFourZero

echoFourZero

    Junior Member

  • Grup: Validating
  • Posts: 120
  • Înscris: 10.02.2022

View Postgodaro, on 06 martie 2022 - 20:22, said:

nu am niciun fisier asoundrc Ubuntu
Din ce am citit ar exista unul in /etc. Vezi ca ce e in /usr/share/alsa va fi suprascris la urmatorul update. ALSA se configureaza:
- global modificari in /etc/asoundrc;
- per user modddificari in $HOME/.asoundrc.

Daca nu ai .asoundrc in $HOME atunci il creezi. Deschizi un terminal si dai comanda touch ~/.asoundrc apoi poti deschide fisierul si pui:
pcm.!default {
   type plug
   slave.pcm hw
}
ctl.!default {
		type hw
		card 0
}

Unde inlocuiesti 0 cu ID-ul DAC-ului, cum am zis mai sus. Ce e in /usr/share/alsa sunt setarile default, acolo nu trebuie sa umblii.

#16
GT_Xpress

GT_Xpress

    Active Member

  • Grup: Members
  • Posts: 1,896
  • Înscris: 18.07.2018
@echoFourZero - Iti trebuie boxe care sa poti scoate 96 Khz la iesire sunet. 44.1 sau 48 Khz este de ajuns pentru sunet de calitate buna.

#17
godaro

godaro

    Senior Member

  • Grup: Senior Members
  • Posts: 3,722
  • Înscris: 25.01.2007

View PostGT_Xpress, on 19 iulie 2022 - 19:30, said:

@echoFourZero - Iti trebuie boxe care sa poti scoate 96 Khz la iesire sunet. 44.1 sau 48 Khz este de ajuns pentru sunet de calitate buna.
Topicul este despre altceva, scrie în titlu: bitperfect! Adică sa nu alterezi semnalul, ci sa redai exact ce vine de pe Spotify, fără nicio procesare. Rata de esantionare este irelevanta atât timp cât este păstrată nealterata. Nu discutam despre boxe ci despre bitperfect.

În fine, eu personal am renunțat la Linux pt muzica, pare complicat ce e pe topicul asta. Windows e mai simplu, are o bifa în sound settings ("exclusive mode") si gata. În rest...folosesc Linux pt internet, filme, samba, dar nu pt muzica.

#18
GT_Xpress

GT_Xpress

    Active Member

  • Grup: Members
  • Posts: 1,896
  • Înscris: 18.07.2018

View Postgodaro, on 24 iulie 2022 - 12:31, said:

În fine, eu personal am renunțat la Linux pt muzica, pare complicat ce e pe topicul asta. Windows e mai simplu, are o bifa în sound settings ("exclusive mode") si gata. În rest...folosesc Linux pt internet, filme, samba, dar nu pt muzica.
Am inteles pana la urma discutia, Cineva vrea sa obtina un sunet de inalta calitate din DAC catre Linux.
Am cautat si am gasit o discutie pe un forum despre bit perfect prin Linux.
https://www.audiosci...in-linux.10549/
Si aici, poate ajuta cu ceva:  https://www.24bit96....x-with-mpd.html

Edited by GT_Xpress, 27 July 2022 - 21:21.


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate