Portál AbcLinuxu, 12. května 2025 09:24

Dotaz: Audiofile pod linuxem

2.10.2010 18:32 lertimir | skóre: 64 | blog: Par_slov
Audiofile pod linuxem
Přečteno: 421×
Odpovědět | Admin
Před více než rokem jsem tu měl dotaz na Audiofilské HTPC. Nakonec jsem ho nerealizoval a realizoval jen audio dvojici Asus Xonar Essence ST a sluchátka AKG 601. A nedávno jsem konečně dokázal tento zvuk rozjet i pod linuxem. Nicméně pořád to, co předváděl Amarok, se mi zdálo horší než to, co předváděl Foobar pod Windowsem. Ten rozdíl je lehký, ale zcela zřetelný, tranzientní zvuky jsou méně přesné a vytrácí se vnímání prostoru kolem. Po nainstalovaní přehrávače Aqualung (který mě poradili v té diskusi jako audiofilský přehrávač) jsem s překvapením zjistil, že zvukový zdroj s kvalitou 88.2 kHz 24bit mě srazí do 44.1kHz 16bit. Jak tedy sesynchronizovat zdroj a výstup? Případně jak nechat pracovat zvukovku ve svém maximálním režimu 192kHz 24bit a připravovat pro ni data. Kromě 88,2 kHz 24bit, mám i zdroje 96kHz 24bit. Díky
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

luta avatar 3.10.2010 10:46 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
Odpovědět | | Sbalit | Link | Blokovat | Admin

jaké distro? Pulseaudio nebo Alsa?

např Arch každý instaluje v základu Alsu a ta pod archem vše resampluje na 48khz..dá se to ovšem nějak přenastavit ovšem i tak to pak vše resampluje na jednu výchozí frekvenci..Pulseaudio se dá nastavit ještě lehčeji co se týče resamplingu při mixování zdrojů signálu.

Další možnost je vyprdnout se na mixování a resampling..to pak nelze pustit více jak jeden zdroj signálu (pokud tedy nemá zvukovka HW mixing -např audigy2 (interni hw mix na 48khz) ) . Na této možnosti jsem dlouho jel a dá se na to zvyknout...do zvukovky jde pak čistý mixerem nezmršený signál..To bych asi zkusil jako první pro porovnání zvuku s foobarem, který defakto umí obcházet windows mixer a přistupovat na HW přímo pokud se tak nastaví.

obejití dmixu Alsy a volbu zvukové karty jsem jednoduše nastavoval v ~/.asoundrc (bude fungovat pokud nejedeš na Pulseaudiu) :

pcm.!default{
    type hw
    card 0   
}
ctl.!default{
    type hw
    card 0
}

Aby jsi nechal zvukovku pracovat ve svém max režimu, musel by jsi vše resamplovat na 192khz což při lepším resamp. algoritmu slušně vytěžuje CPU ( u mě resamp na 48khz 16bit best-sync cca 30% CPU core2 duo T5500 1.66ghz, medium-sync neco kolem 10%)

3.10.2010 18:32 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
Distro je openSuse 11.3 KDE 4.4.5 (z distra). Zvuk je přes PulseAudio. Bez něj jsem nebyl schopen ze zvukovky dostat zvuk. I když Alsa kartu viděla jako karta 2 nedokázal jsem na ni hrát. Patrně proto, že nic neexistovalo jako "default" karta a během několika měsíců hraní jsem nebyl schopen nijak tam dostal default. Ted jako default sedí Pulse, které to přepošle dále. Rád bych se mu i vyhnul.
stativ avatar 3.10.2010 18:34 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
Tak PA odinstaluj, na OpenSuSE 11.3 to není problém.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
3.10.2010 18:37 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
Jak jsem psal, předtím jsem se na kartu nedostal žádnou zvukovou aplikací. alsamixer bez parametrů hodil chybovou hlášku. a zvuk nebyl vůbec.
stativ avatar 3.10.2010 18:57 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Audiofile pod linuxem

Takže jestli to chápu, tak máš PA, protože s ALSA to nešlo?

V tom případě bych nastavil, aby zvukovky dostávali pořád stejné číslo, přičemž ta „hlavní“ měla 0. To se dá udělat v /etc/modprobe.d/. Vytvoř v něm soubor sound.conf, který u mě například vypadá takto:

alias snd-card-0 snd-ice1724
alias sound-slot-0 snd-ice1724
alias snd-card-1 snd-hda-intel
alias sound-slot-1 snd-hda-intel

Karta 0 by měla jít sama od sebe jako default. Pokud to stále nepůjde, tak zkus vytvořit ~/.asoundrc nebo /etc/asound.conf obsahující něco takového (uvařeno z vody):

pcm.!default {
  card 0
}
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
luta avatar 3.10.2010 20:00 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
Rozbalit Rozbalit vše Re: Audiofile pod linuxem

jen dodám že zjistí zda to zabralo a jak jsou karty indexovány když se mrkne

cat  /proc/asoud/cardX/id

kde X je číslo karty, které je nastaveno výše dle aliasu a které musí sedět v asoudrc pokud není id 0.

 

při přehrávání lze pak zjistit formát výstupu co jde na kartu (pokud ne tak zkusit jiný pcm1p či sub1 atd :

cat /proc/asound/cardX/pcm0p/sub0/hw_params
to co má být v .asoundrc aby obešel dmix, neresamplovala alsa a šlo to čistě do zvukovky jsem psal viz první post
6.10.2010 22:28 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
ted je to
aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 1: ALC883 Digital [ALC883 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: ST [Xonar ST], device 0: Multichannel [Multichannel]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: ST [Xonar ST], device 1: Digital [Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
presunování zkusím znovu ale jak jsem psal už dříve, zkoušel jsem s tím šoupat a nepomohlo.

card 0 neexistuje

ted nejdříve ještě řeším latexovou věc.
6.10.2010 22:21 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
zdravím tohle jsem dělal jako první. nepomohlo.
luta avatar 3.10.2010 20:14 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
Takže pulse..pokud se nechceš rejpat v systému a nechat pulseaudio : lze krásně lehce nastavit např u mě v
 /etc/pulse/daemon.conf 
(opensuse nevim), kde jde hlavně o parametry :
default-sample-format = s16le
default-sample-rate = 48000
default-sample-channels = 2
resample-method = src-sinc-medium-quality
musíš na začátku oddělat
;
ten znamená že je to zakomentované

výčet resampling metod viz příkaz :
pulseaudio --dump-resample-methods

popř pokud chceš zlikvidovat pulse, pouštět to přes alsu (ale její dmix taky resampluje pokud ho neobejdeš viz .asoundrc) tak na to běž tak jak ti tu radí níže

luta avatar 3.10.2010 20:15 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
Rozbalit Rozbalit vše Re: Audiofile pod linuxem

totiž výše..zapomněl jsem že se to tu řadí jinak ty příspěvky :-D

6.10.2010 22:37 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Audiofile pod linuxem
resample má pulse audio
pulseaudio --dump-resample-method
src-sinc-best-quality
src-sinc-medium-quality
src-sinc-fastest
src-zero-order-hold
src-linear
trivial
speex-float-0
speex-float-1
speex-float-2
speex-float-3
speex-float-4
speex-float-5
speex-float-6
speex-float-7
speex-float-8
speex-float-9
speex-float-10
speex-fixed-0
speex-fixed-1
speex-fixed-2
speex-fixed-3
speex-fixed-4
speex-fixed-5
speex-fixed-6
speex-fixed-7
speex-fixed-8
speex-fixed-9
speex-fixed-10
ffmpeg
auto
copy
peaks
žádné konkrétní frekvence tu nejsou. ale jinka díky, jak budu mít trochu času zkusí to projít.
luta avatar 7.10.2010 10:18 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
Rozbalit Rozbalit vše Re: Audiofile pod linuxem

tam nejsou frekvence ale resampling metody které tvé pulseaudio podporuje.. nejlepší jsou src-sinc-best-quality nebo asi i ten speex-float-10 ale dost to vytezuje takze ja uzivam src-sinc-medium-quality

 

resampling na danou frekvenci: nastavis jakou chces v tom konfigu viz vyse

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.