Portál AbcLinuxu, 10. května 2025 06:14

Dotaz: Převzorkování audia na 192kHz v přehrávači

4.1.2010 23:21 PetrNovák
Převzorkování audia na 192kHz v přehrávači
Přečteno: 397×
Odpovědět | Admin
Osadil jsem si do systému novou špičkovou zvukovku Asus Essence ST. ALSA ji od 1.0.22 podporuje (což je skvělé), ale mám pocit, že je trochu znát drobný rozdil v kvalitě, mezi reprodukci z windows a z linuxu, zvláště na FLAC souborech vážné hudby. Jedna z možností, proč je to tak, je to, že ve windows mám fixně navoleno v asus driveru zvukovky, že zvukovka pracuje na 192kHz a 24bitech a nižší frekvence a rozlišení převzorkovává. (krmím ji ve windows přehrávačem foobar2000 také s navoleným 24 bitovým výstupem.)

Otázka tedy je: Jak nastavit, aby zvukovka pracovala v 192/24 režimu a nižší frekvence se digitálně převzorkovaly?

A malá drobná nepříjemnost je ještě v tom, že master volume v KDE4 mi hlasitost neovlivnuje (patrně ovlivnuje zvukovku na motherboardu) i když ve všech nastaveních (nastavení systému/multimedia a yast/zvuk) jsem novou zvukovku definoval jako prioritní. Na změnu hlasitosti musím otevřít mixer a změnít master u essence ST zvukovky.

Díky.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.1.2010 00:16 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Převzorkování audia na 192kHz v přehrávači
Odpovědět | | Sbalit | Link | Blokovat | Admin
Použij místo pulseaudia klasický dmix alsy a nastav si jej na 192kHz. Pokud však přehráváš často ripy CD-DA na 44.1Hz, dávalo by větší smysl tyto převzorkovávat na 176,4Hz, aby to byl celý násobek. Pak ale nemůžeš použít dmix, protože ten má fixně nastavenou frekvenci.

Problém ovšem je, že když se podíváš do zdrojáku dmixu, zjistíš, že slušné algoritmy (libsamplerate, speex) jsou zatím implementované jen v 16bitech (metody convert vs. convert_s16). Pouze algoritmus linear jede v nativním rozlišení, ale ten je samozřejmě nepoužitelný. Nastavení algoritmu dmixu viz např. http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg24948.html .

Ohledně defaultní zvukovky - hledej zde "pořadí zvukovek" a driver toho asusu (modul oxygen?) dej s index=0.

Svého času jsem upravil plugin file, aby uměl výstup do pipy, již pár verzí alsy je to v alsa-libu. Lze pak na to napojit skripty se špičkovým převzorkováním v soxu. Ten má stále zřejmě nejkvalitnější algoritmus vůbec, viz http://sox.sourceforge.net/SoX/Resampling a http://src.infinitewave.ca/ . Ukázky konfigurace viz http://www.diyaudio.com/forums/pc-based/93315-linux-audio-way-go-85.html post 847 a pár dalších stránek. Ten skript lze hodně zjednodušit, protože sox již dnes umí 24-bitové přehrávání přímo do alsy, takže ze skriptu lze vyhodit všechny ty hrátky s aplay. Samozřejmě tím naroste celková latence, to však pro pouhé přehrávání nevadí. Jen pozor - parametr %b má nakonec význam bitu, v tom skriptu to je ještě byte.

Samozřejmě lepší by bylo dodělat do dmixu resampling ve 24bitech.

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.