Portál AbcLinuxu, 1. května 2025 08:47
Dnes ráno jsem si říkal jestli je to možné, a ono je, a ani to není nijak pracné. Má to jen jedno malé ale – zátěž procesoru.
Takže na notebooku, kam tento nápad byl primárně mířen, moc uplatnění mít nakonec nebude. Alespoň jsem si udělal nějaké tabulky no downmix surround do sterea :)
Kvalitní zvuková karta s kvalitní aparaturou a kvalitním zdrojem (což není mp3 s bitovým tokem 96 kbps) ekvalizér nepotřebuje, ale pokud máte nějaké šumítko, tak můžete posílit středy, nebo třeba já jsem chtěl trochu výrazněji vykreslit basy u sluchátek.
Ladspa je rozhraní pro pluginy zpracovávající zvuk. Dostupné pluginy umí skoro všechno co vás napadne upmix, downmix, zdroj bílého šumu, oscilátor, zesilovač… (už jsem v blogu psal o frekvenčních filtech). Ladspa využívá třeba gstreamer, nebo Audacious. Kdyby něco chybělo, tak si to můžete napsat . Kromě toho lze ladspa používat přímo v ALSA (wow).
Celá konfigurace se ukládá do
~/.asoundrc
pro uživatele, nebo /etc/asound.conf
pro systém.
Nejprve uvedu kompletní konfiguraci a pak si to rozebereme :).
pcm.eq{ type ladspa slave.pcm default channels 2 plugins { 0 { id 1197 policy duplicate input.bindings.0 "Input" utput.bindings.0 "Output" input { # range -30~70 #50Hz 100Hz 156Hz 220Hz 311Hz 440Hz 622Hz 880Hz 1250Hz 1750Hz 2500Hz 3500Hz 5000Hz 10000Hz 20000Hz controls [ 2 3 4 3 2 2 2 1 1 -1 -2 -2 -2 -2 -2 ] } } } } pcm.stereo { type plug slave.pcm eq }nadefinovali jsme PCM zařízení „stereo“, vstup do ekvalizátoru a „eg“, které má výstup napojen na výchozí (default) zařízení ALSA. Zařízení eq hostuje plugin ladspa s identifikátorem 1197, což je plugin Multiband EQ. Politika je nastavena na „duplicate“, tedy opakovat pro všechny kanály, máme nastaveno, že zařízení má dva.
Teď už by měl ekvalizátor fungovat, ověřit to můžete například příkazem
speaker-test -twav -c2 -Dstereo
měl by být znát rozdíl od zařízení default
speaker-test -twav -c2 -Ddefault
pokud rozdíl neslyšíte poštelujte si nastavení v poli „controls“.
Ekvalizér tedy funguje a nezbývá nic jiného, než nastavit zařízení stereo jako výchozí v přehrávači a začít ladit nastavení. Pozor po změně nastavení je potřeba přehrávač vypnout (většinou nestačí stop, protože po play se neinicializuje zvukový sýstup), aby si načetl znovu nastavení, proto se bude hodit něco do konzole :).
Jak jsem naznačil, ekvalizér sice funguje, ale má za následek určité zvyšení zátěže CPU a u notebboku to znamená kratší čas běhu na baterii. Tak jsem si alespoň nadefinoval zařízení pro downmix :).
~/.asoundrc
pcm.eq{ type ladspa slave.pcm default channels 2 plugins { 0 { id 1197 policy duplicate input.bindings.0 "Input" utput.bindings.0 "Output" input { # range -30~70 #50Hz 100Hz 156Hz 220Hz 311Hz 440Hz 622Hz 880Hz 1250Hz 1750Hz 2500Hz 3500Hz 5000Hz 10000Hz 20000Hz controls [ 2 3 4 3 2 2 2 1 1 -1 -2 -2 -2 -2 -2 ] } } } } pcm.stereo { type plug slave.pcm eq } pcm.!surround40 { type route slave.pcm stereo slave.channels 2 ttable { 0.0 1 0.1 0.1 1.1 1 1.0 0.1 2.0 0.8 2.1 0.1 3.1 0.8 3.0 0.1 } } pcm.!surround41 { type route slave.pcm stereo slave.channels 2 ttable { 0.0 1 0.1 0.1 1.1 1 1.0 0.1 2.0 0.8 2.1 0.1 3.1 0.8 3.0 0.1 4.0 0.5 4.0 0.5 } } pcm.!surround50 { type route slave.pcm stereo slave.channels 2 ttable { 0.0 1 0.1 0.1 1.1 1 1.0 0.1 2.0 0.8 2.1 0.1 3.1 0.8 3.0 0.1 4.0 0.5 4.1 0.5 } } pcm.!surround51 { type route slave.pcm stereo slave.channels 2 ttable { 0.0 1 0.1 0.1 1.1 1 1.0 0.1 2.0 0.8 2.1 0.1 3.1 0.8 3.0 0.1 4.0 0.5 4.1 0.5 5.0 0.5 5.1 0.5 } } pcm.!surround71 { type route slave.pcm stereo slave.channels 2 ttable { 0.0 1 0.1 0.1 1.1 1 1.0 0.1 2.0 0.8 2.1 0.1 3.1 0.8 3.0 0.1 4.0 0.5 4.1 0.5 5.0 0.5 5.1 0.5 6.0 1 7.1 1 } }
Tiskni
Sdílej:
Jinak, co potrebuji neni ekvalizer, ale kompresor (kvuli televizi - nebavi me porad snizovat a zvysovat hlasitost).Navod na omezovac hlasitosti jsem videl kdysi v nejakem casopise, je to celkem jednoduce zapojeni, ktere funguje jako zesilovac se ziskem rizenym napetim, ktere se ziskava integraci vstupniho signalu. Myslim, ze tam byly jen 4 OZ v jednom pouzdre a pak uz jen odpory a kondenzatory, plus jeden stabilizator (7809, myslim). Jedina nevyhoda je, ze a) je pak treba externi zesilovac (zisk tohohle "zesilovace" je totiz pouze v intervalu 0-1) a b) nejspis to kvuli integrujicimu charakteru vstupu ma urcite nejakou nenulovou latenci, leda ze charakteritika predelala z PI na PID. Osobne problem s vyssi hlasitosti reklam v televizi resim tlacitkem Mute, pripadne nahranim celeho poradu a preskakovanim casti, ktere nechci ...
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.