Vláda jmenovala novým zmocněncem pro digitalizaci a strategickou bezpečnost prvního náměstka ministra vnitra Lukáše Klučku. Ten ve funkci nahradil poslance Roberta Králíčka poté, co Králíček na tento post vládního zmocněnce rezignoval. Klučka chce do roka digitalizovat všechny státní služby tak, aby vyhověly zákonu o právu na digitální služby, přičemž dosavadní plán Fialovy vlády počítal s dokončením digitalizace až někdy v roce
… více »Byl vydán Mozilla Firefox 149.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Vypíchnout lze bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně, zobrazení dvou webových stránek vedle sebe v jednom panelu (split view) nebo možnost přidat poznámky k panelům (Firefox Labs). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 149 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byly vydány nové verze 5.3.0 a 6.0.0 svobodného multiplatformního programu pro skicování, malování a úpravu obrázků Krita (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Obě verze vycházejí ze stejného zdrojového kódu – rozdíl je v použitých verzích Qt a KDE Frameworks. Krita 6.0.0 je první vydání postavené na Qt 6 a stále je považovaná za experimentální. Má lepší podporu Waylandu. Přináší podporu protokolu Wayland
… více »Byla vydána nová verze 10.2 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Vypíchnout lze nové balíčky Immich, Immich Machine Learning, uv a RustDesk Client.
TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 6.0. Příští verze 7.0 je kvůli výkonu přepisována do programovacího jazyka Go.
Christian Schaller z Red Hatu na svém blogu popsal své zkušenosti s používáním AI při vývoji open source aplikací pro Linux. Pomocí různých AI aktualizoval nebo vytvořil aplikace Elgato Light GNOME Shell extension, Dell Ultrasharp Webcam 4K, Red Hat Planet, WMDock, XMMS resuscitated (aktualizace z GTK 2 a Esound na GTK 4, GStreamer a PipeWire) a Monkey Bubble. SANE ovladač pro skener Plustek OpticFilm 8200i se mu zatím nepovedl.
Americké firmy Tesla a SpaceX postaví v texaském Austinu moderní komplex na výrobu čipů pro umělou inteligenci (AI). Součástí projektu s názvem Terafab budou dvě moderní továrny na výrobu čipů – jedna se zaměří na automobily a humanoidní roboty, druhá na datová centra ve vesmíru. Uvedl to generální ředitel těchto firem Elon Musk. Projekt by podle odhadů měl stát 20 miliard USD (zhruba 425 miliard Kč).
Byla vydána nová stabilní verze 6.11 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Ubuntu 26.04 patrně bude ve výchozím nastavení zobrazovat hvězdičky při zadávání hesla příkazu sudo, změna vychází z nové verze sudo-rs. Ta sice zlepší použitelnost systému pro nové uživatele, na které mohlo 'tiché sudo' působit dojmem, že systém 'zamrzl' a nijak nereaguje na stisky kláves, na druhou stranu se jedná o možnou bezpečnostní slabinu, neboť zobrazování hvězdiček v terminálu odhaluje délku hesla. Původní chování příkazu sudo
… více »Projekt systemd schválil kontroverzní pull request, který do JSON záznamů uživatelů přidává nové pole 'birthDate', datum narození, tedy údaj vyžadovaný zákony o ověřování věku v Kalifornii, Coloradu a Brazílii. Jiný pull request, který tuto změnu napravoval, byl správcem projektu Lennartem Poetteringem zamítnut s následujícím zdůvodněním:
… více »Ačkoliv nám konfigurace přináší spoustu výhod, není pro základní funkčnost nutná. Chcete-li pouze občas přehrát empétrojku a netrápí vás, že nebude možné na úrovni ALSA mixovat více zdrojů zvuku, používat více karet nebo provádět jiné pokročilejší úkony, nepotřebujete nic více, než bylo řečeno v minulém díle. Stačí uložit rozumné hlasitosti a zařídit, aby se ovladače automaticky natahovaly (nebo byly v jádře neustále) a je hotovo. Není to tak, že dokud se člověk nepovrtá v nějakém konfiguračním souboru, nebude nic fungovat (ve většině standardních případů).
Samozřejmě se tak ochudíte o množství možností, které ALSA nabízí.
Veškerá konfigurace systému ALSA je soustředěna do souboru
~/.asoundrc (případně celosystémového ekvivalentu
/etc/asound.conf - v dalším textu budu používat pouze název
~/.asoundrc, ale je jedno, ve kterém ze souborů budou údaje
nakonec uloženy). Syntaxe tohoto souboru není nijak extra složitá, ale pro
úplného začátečníka ani zcela triviální. Nevím, jestli bohužel nebo
bohudík, ale způsob zápisu je poměrně flexibilní, takže se můžete setkat s
mnoha podobami zápisu identické konfigurace.
Kompletní (přehledný a troufám si tvrdit, že i pro neangličtináře srozumitelný) popis syntaxe naleznete v dokumentaci: Configuration files. Zde se tedy zmíním jen o úplném základu, jenž by vám měl bez dalšího studia postačit k porozumění příkladů, které budou následovat, nebo které naleznete na odkazovaných stránkách.
Pro většinu jednoduchých ukázek bychom si měli vystačit se dvěma pojmy: přiřazení hodnoty a pole.
Přiřazení:
název = hodnota
název hodnota;
název hodnota,
Přičemž rovnítko může být nahrazeno pouhou mezerou. Oddělení více přiřazení může být buď pomocí čárky, středníku nebo jen nového řádku. Všechny uvedené zápisy jsou tedy totožné.
Složené přiřazení:
Položka konfiguračního souboru může obsahovat hodnotu, která se sama skládá z dalších hodnot. Zapíšeme je tedy takto:
název = {
hodnota = 1
}
název.hodnota 1
Oba zápisy jsou opět totožné.
Pole:
Pole lze zapsat podobně jako složené přiřazení (jen v případě použití závorek jsou tentokrát hranaté místo složených):
název [ hodnota "raz" hodnota "dva" ] název.1 = "raz" název.2 "dva"
V reálném konfiguračním souboru však doporučuji zvolit jeden druh zápisu a toho se držet - nebo v tom bude akorát zmatek.
Soubor ~/.asoundrc definuje zvukové karty přítomné ve vašem
počítači a poskytuje zároveň přístup k ovládání a nastavení pluginů z
alsa-lib. Program podporující výstup na ALSA posílá svá data na tzv. PCM
zařízení. PCM zařízení mohou být buď přímo zvukové karty nebo definovaná
zařízení, která konfigurujeme pomocí parametrů a pluginů v
~/.asoundrc. Každé PCM zařízení může obsahovat mnoho
virtuálních zařízení - ta je možné využívat k různým efektům. Pluginy jsou
tím, co především umožňuje provádět všelijaká kouzla s kartou obsluhovanou
ovladači ALSA.
Není-li definováno žádné virtuální zařízení, přistupují aplikace ke kartě pomocí zápisu
hw:0,0
kde první nula značí první kartu v systému, kdežto druhá nula označuje
první zařízení na dané kartě. Neexistuje-li soubor ~/.asoundrc
nebo není-li definováno žádné virtuální zařízení, používají všechny
aplikace právě toto zařízení. Znaky hw jsou názvem základního
pluginu, pomocí kterého jsou data na kartu (respektive ALSA ovladači v
jádře) posílána tak, jak si přeje aplikace - nedochází k žádné úpravě na
úrovni ALSA. Pokud bychom tedy chtěli poslat data na toto zařízení (což se
normálně pochopitelně děje automaticky), zadali bychom např.:
aplay -D hw:0,0 soubor.wav
Pokud by však daný soubor měl jiné parametry, než jaké přesně karta očekává, zobrazí se chybová hláška:
$ aplay -D hw:0,0 GhostBusters.wav
Playing WAVE 'GhostBusters.wav' : Signed 16 bit Little Endian, Rate
44100 Hz, Stereo
Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz)
please, try the plug plugin (-Dplug:hw:0,0)
Je nám doporučeno využít plugin "plug", což je pravděpodobně nejužitečnější všeobecný plugin. Zařídí, aby byla zvuková data automaticky převedena do požadovaného formátu (v našem případě jde o vzorkovací frekvenci).
A teď již k praxi. Následuje výčet několika pluginů, které při běžném použití nejčastěji využijete. Popis všech PCM pluginů, které jsou v alsa-lib k dispozici, najdete na PCM (digital audio) plugins. Praktické příklady jsou také na stránce o souboru asoundrc.
Mixování více proudů audia z několika zdrojů tak, aby mohly zvuková zařízení využívat všechny současně. Při běžném použití na desktopu se uplatní například v případě, že zatímco posloucháte rádio nebo písničky uložené na disku, pípne na vás ICQ nebo Jabber klient a dá vám tak vědět o nové příchozí zprávě. Kdyby multiplexing nefungoval, musela by aplikace, která se o použití zvukové karty přihlásí až jako druhá (třetí, čtvrtá, ...), čekat, až ji přestane používat aplikace, která ji předběhla. Kdyby šlo třeba o to rádio, mohlo by to trvat pěkně dlouho.
Stejný princip platí nejen pro výstup, ale i pro vstup. Uplatníme pro tento účel jiný plugin, ale nastavení se příliš lišit nebude. A finálním cílem je plně duplexní provoz, při kterém můžeme kartu využívat pro více zdrojů vstupu i výstupu zároveň.
Malá vsuvka: právě popisovanou funkčnost není nezbytně nutné řešit na úrovni ALSA. Stejných výsledků můžeme dosáhnout i pomocí tzv. zvukových serverů. Zvukový server je aplikace běžící na pozadí, která od programů požadujících přístup ke zvukové kartě tyto požadavky přebírá a sama softwarově zpracovává a pak teprve posílá již předžvýkaná data ovladači zvukové karty. Používáte-li ke své spokojenosti zvukový server, není nutné se zabývat nastavováním mixování přes ALSA.
Zvukové servery jsou např. esound (součástí GNOME), aRts (součástí KDE) nebo JACK. Všechny mají své výhody (v případě esound a aRts pohodlná provázanost s desktopovým prostředím) i nevýhody (představují další okliku na cestě, takže způsobují určité zatížení systému navíc - dříve se to týkalo především aRts). Nicméně je-li ve vaší distribuci již některý z těchto serverů používán a necítíte-li potřebu experimentovat, není důvod nutit se do překopávání systému.
Malá vsuvka číslo dvě: je také poměrně dost karet, které podporují multiplexing přímo hardwarově. Ani v takovém případě není pochopitelně nutné (a ani žádoucí) nosit dříví do lesa a cpát kartě softwarové mixování.
Ti z nás, kteří nemohou vystát aRts (třeba já) a jejich karta nepodporuje skoro nic, natožpak hardwarový multiplexing, si pomohou pluginem dmix. Před zapisováním do konfiguračního souboru můžete plugin vyzkoušet pomocí parametru na příkazové řádce. Zadáte-li ve více terminálech příkaz
aplay -D plug:dmix soubor.wav
mělo by to mít stejný efekt jako níže uvedené nastavení pro soubor
~/.asoundrc.
Konfigurace je jednoduchá, horší to může být s bezbolestnou podporou ze
strany aplikací. Vysvětlím níže. Následujících několik řádek vložte do
souboru ~/.asoundrc - nic víc není v současné chvíli
potřeba.
pcm.!default {
type plug
slave.pcm "vystup"
}
pcm.vystup {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}
}
Postupný popis jednotlivých částí nastavení:
pcm.!defaultdefault je název, který je v knihovně ALSA předdefinován
jako výchozí zařízení. My toho využíváme a pomocí znaku !
konfiguračnímu souboru říkáme, že naše definice default má
přednost před tou, která je definována standardně. Pokud byste se
rozhodli využít jiný název, nebude potřeba vykřičník. Ale také nebude
možné očekávat, že bude zařízení bráno jako výchozí. Museli byste pak
jeho název vložit jako parametr programu:
aplay -D název soubor.wav
Ačkoliv je default definováno implicitně jako výchozí
zařízení, ne všechny aplikace to vědí/respektují, takže někdy se asi
nevyhnete nutnosti zařízení v parametrech definovat, i když název ponecháte
default. Z programů, které jsou "slušné" a berou
default jako default ;-), jmenuji třeba MPlayer a Xine. U
XMMS lze používané zařízení nastavit v dialogovém okně konfigurace
výstupního pluginu ALSA.
type plugslave.pcm "dmixer"pcm.vystup {
type dmixipc_key 1024ipc_key_add_uid yes. K
IPC klíči pak bude připočtena hodnota aktuálního UID (což má však
význam jen na víceuživatelských systémech).slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
}pcm, který, jak jistě poznáváte, určuje zařízení, jehož
se celá věc týká. Parametr rate udává vzorkovací
frekvenci.
Ostatní parametry by teoreticky neměly být potřeba, ale některé karty se bez nich neobejdou (ICE1712 a VT82xx - využívající ovladač snd-via82xx). U nich je nutné nastavit velikost vyrovnávací paměti menší, než jakou karta má.
Pokud nemáte kartu zmiňovanou v posledním bodě, mohli byste si vystačit i s úplně jednoduchým nastavením:
pcm.!default {
type plug
slave.pcm "dmix"
}
A hotovo. Takto stručný konfigurační soubor jste určitě nečekali :-).
Ještě však zbývá jedna záležitost. Máte-li aplikace, které umí využívat jen OSS, nikoliv ALSA (např. většina her), budete ten konfigurační soubor přeci jen muset trochu natáhnout (chcete-li využívat výhod mixování i s nimi). Přihoďte tyto řádky:
pcm.dsp0 {
type plug
slave.pcm "dmix"
}
Pokud používáte delší verzi souboru, musí vypadat třetí řádek takto
slave.pcm "vystup"
aby odkazoval na naše vytvořené podřízené zařízení.
Nejjednodušší je volat programy, které posílají zvuk na OSS, pomocí
kratinkého skriptu aoss. Najdete jej v balíku alsa-oss.
Příklad:
aoss mpg321 GhostBuster.mp3
Plugin dsnoop je vlastně opakem pluginu dmix. Zatímco dmix skládá více
proudů do jednoho, dsnoop vytváří z jednoho více. Používá se při
nahrávání, tedy vstupu. Konfigurace je téměř stejná, využijeme však navíc
jeden nový parametr: bindings. Parametr bindings
určuje, kam budou posílány jednotlivé kanály. Můžeme jej sice využít i u
dmix, ale většinou k tomu není důvod.
pcm.vstup {
type dsnoop
ipc_key 2048
slave {
pcm "hw:0,0"
channels 2
period_size 1024
buffer_size 4096
rate 44100
periods 0
period_time 0
}
bindings {
0 0
0 1
}
}
Rozdělíme tím vstup na dva kanály (0 namapujeme jak na
0, tak na 1).
Pomocí pluginu asym můžeme zkombinovat to, co jsme zatím vytvořili. Měli bychom tak získat plně duplexní PCM. Zápis je opravdu jednoduchý:
pcm.kombinace {
type asym
playback.pcm "vystup"
capture.pcm "vstup"
}
Díky tomuto nastavení můžete zároveň přehrávat i nahrávat. Podle reakcí v různých diskuzích nejsem sám, kdo si myslí, že podobná konfigurace by měla být nastavena jako výchozí... Proč uživatele trápit s editací konfiguračního souboru, když je to stejně očekávané normální chování zvukové karty? To se ostatně týká i softwarového mixování... I když... Je pravda, že jsem sám zmínil zvukové servery, které mnoha lidem dobře slouží (a které tyto funkce standardně poskytují). Hmmm, servery bych zrušil.
...se snad konečně dostanu ke skutečně praktickým záležitostem. Přehrávání MIDI, řešení problémů, jako jsou špatná kvalita zvuku, zadrhávání, zamítnutý přístup k zařízením atd.
Nemohl jsem si nevšimnout požadavku, který se několikrát objevil v diskuzi u prvního dílu - totiž návod ke konfiguraci karet SB Live s 5.1. Bohužel takovou kartu nemám a nevím, kde bych ji honem sebral, takže nebudu moci poskytnout vlastnoručně ověřený postup. Ale jako domácí úkol jsem poctivě shromažďoval všechny možné poznatky od jiných uživatelů, takže snad budu schopen dát dohromady alespoň základní popis a především co nejvíce odkazů na další zdroje informací.
Tímto zároveň prosím uživatele těchto karet, kteří byli při jejich konfiguraci částečně nebo zcela úspěšní, aby mi poslali své poznatky a vůbec všechny informace, ze kterých by šel sestavit pokud možno co nejucelenější návod pro všechny ostatní. Kdyby se někdo dokonce odhodlal sepsat o tom celý článek, vůbec bych se nezlobil a mnoho čtenářů by mu určitě poděkovalo. Mohli bychom tak k našemu článku o nastavení se systémem OSS přidat ještě nový o ALSA.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
) že tedy lze docílit, abych měl např. puštěný mp3blaster celou dobu a když chci volat přes IP telefonii, tak jen zastavím skladbu a můžu mluvit, protože se aplikace (konečně!) neblokují.
Co ale nevím, jestli lze na takové jednoduché zvukovce dosáhnout s ALSA třeba toho, že mi bude jedna aplikace nahrávat z Line-In do souboru a druhá používat nezávisle IO také, např. ta IP telefonie. to asi nejde, co? Resp. docílil bych neblokování, ale měl bych nahranou i tu komunikaci v IP telefonii a člověk na druhé straně by v "telefonu" slyšel, co nahrávám na Line-In... Je to tak? Nebo jinak?
Dík.
pcm.!dmix
{
type plug
slave{
pcm surround51
channels 6
}
}
pcm.!default
{
type plug
slave.pcm "dmix"
slave.channels 6
route_policy duplicate
}
pcm.dsp0 {
type plug
slave.pcm "vystup"
}
Já jsem myslel (a z popisu to snad i vyplynulo), že je to pro mixování programů co nemají plugin pro ALSu a využívají jen OSS, aby mohli také mixovat...
Nemel bych nahodou treti radek nahradit s >>> slave.pcm "kombinace"Přesně tak. Když jsem četl ten předchozí komentář, nevšiml jsem si té chybky. Ten konfigurák vznikl zkopírováním jednotlivých částí ukázek z článku za sebe - ale zapomnělo se na to, že ta první ukázka ještě nepočítá s použitím pluginu dsnoop.
Doufam, ze se bavime o zvukovem serveru arts a .asoundrc nemas.
- V nastaveni zvukoveho systemu kdyz zvolis "otestovat zvuk" - nehraje?
- V nastaveni systemovych hlaseni, nemas nahodou nastaven externi prehravac?
- rikas, ze "dokonce to hraje soucasne" ... ktere aplikace to jsou a jak mas u nich nastaven "audio vystup" ?
"Drivers" = "wineoss.drv"na
"Drivers" = "winealsa.drv"a pridat:
[winealsa] "UseMMap" = "N" "pcm0" = "dmix" "ctl0" = "default"
.
ALSA lib pcm_dmix.c:819:(snd_pcm_dmix_open) unable to open slave aplay: main:544: audio open error: Zařízení nebo zdroj jsou používányAk skusim spustit aoss mpg123 menofilu, dostanem:
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3. Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp. Uses code from various people. See 'README' for more! THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK! - using device duplex - using device duplex ALSA lib pcm.c:2099:(snd_pcm_open_noupdate) Unknown PCM duplex - using device duplex - using device duplex ALSA lib pcm.c:2099:(snd_pcm_open_noupdate) Unknown PCM duplex ALSA lib pcm_dmix.c:819:(snd_pcm_dmix_open) unable to open slave audio: Invalid argumentPripajam konfiguracny subor:
cat ~/.asoundrc
pcm.!default {
type plug
slave.pcm "kombinace"
}
pcm.vystup {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
format S32_LE
period_time 0
period_size 1024
buffer_size 8192
rate 44100
}
}
pcm.dsp0 {
type plug
slave.pcm "vystup"
}
pcm.vstup {
type dsnoop
ipc_key 2048
slave {
pcm "hw:0,0"
channels 2
period_size 1024
buffer_size 4096
rate 44100
periods 0
period_time 0
}
bindings {
0 0
0 1
}
}
pcm.kombinace {
type asym
playback.pcm "vystup"
capture.pcm "vstup"
}
Zvukova karta je:
0000:00:1f.5 Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 02)kernel je 2.6.8-686 distribucny (Debian)
Stale sa mi vsak nedari presvedcit skype, aby spolupracoval. Ak sa ho snazim spustit:
aoss skypetak sa sice zvuky mixuju, ale pocas hovoru nie je pocut nic, ani volajuceho ani volaneho.