abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 21:11 | Nová verze

Po půl roce vývoje od vydání verze 8.0.0 byla vydána verze 9.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, Extra Clang Tools, LLD a Libc++. Vývojáři zdůrazňují podporu "asm goto", díky které lze pomocí Clangu přeložit například Linux pro x86_64 (CONFIG_JUMP_LABEL=y).

Ladislav Hagara | Komentářů: 3
včera 14:00 | Nová verze

Bylo vydáno Eclipse IDE 2019-09 aneb Eclipse 4.13. Představení novinek na YouTube. Vydána byla také nová verze 7 online IDE Eclipse Che.

Ladislav Hagara | Komentářů: 0
včera 11:11 | Nová verze

Byla vydána verze 24.0 svobodného softwaru OBS Studio (Open Broadcaster Software, Wikipedie) určeného pro streamování a nahrávání obrazovky počítače. Přehled novinek na GitHubu nebo pomocí krátkých videí na Twitteru.

Ladislav Hagara | Komentářů: 3
včera 11:00 | Komunita

Microsoft představil a pod licencí SIL Open Font License (OFL) na GitHubu zveřejnil font Cascadia Code. Font je určen především pro zobrazování textu v emulátorech terminálu a vývojových prostředích (Přehled fontů s pevnou šířkou).

Ladislav Hagara | Komentářů: 12
18.9. 21:11 | Zajímavý software

Souborový systém exFAT se běžně používá na paměťových médiích jako karty SDXC, ale z licenčních důvodů jej nebylo možné začlenit do Linuxu, ačkoliv v roce 2013 unikl ovladač od Samsungu, jak shrnuje článek na Linux Weekly News. Park Ju Hyung nedávno vzal novější verzi ovladače od Samsungu a založil na ní vlastní projekt exfat-linux, který je k dispozici uživatelům.

Fluttershy, yay! | Komentářů: 9
18.9. 05:55 | Pozvánky

Dnes a zítra pořádá Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) ve spolupráci se studentským portálem Security Outlines konferenci CyberCon Brno 2019. Sledovat ji lze také online.

Ladislav Hagara | Komentářů: 0
18.9. 04:44 | Nová verze

Byla vydána Java 13 / JDK 13. Nových vlastností (JEP - JDK Enhancement Proposal) je 5. Nová Java / JDK vychází každých 6 měsíců.

Ladislav Hagara | Komentářů: 2
18.9. 03:33 | Komunita

Mozilla.cz informuje (en), že Mozilla postupně zrychlí pravidelné vydávaní nových verzí Firefoxu na 4 týdny. Aktuálně jsou vydávány nové verze Firefoxu každých 6 až 8 týdnů.

Ladislav Hagara | Komentářů: 13
17.9. 18:44 | Nová verze

MojeFedora.cz informuje (en) o vydání betaverze Fedory 31, tj. dalšího mezníku na cestě k plánovanému vydání Fedora 31 na konci října. K dispozici je v edicích Workstation a Server. Můžete také vyzkoušet jeden ze spinů, labů nebo verzi pro ARM.

Ladislav Hagara | Komentářů: 0
17.9. 17:00 | Nová verze

Byl vydán CentOS Linux 7 (1908) vycházející z Red Hat Enterprise Linuxu 7.7. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 1
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (10%)
 (38%)
 (27%)
 (2%)
Celkem 178 hlasů
 Komentářů: 18, poslední včera 09:03
Rozcestník

Je libo ekvalizér přímo v ALSA?

24.5.2008 12:13 | Přečteno: 3419× | Linux | Výběrový blog | poslední úprava: 24.5.2008 12:14

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 :)

Co budeme potřebovat:

  • textový editor, těm otrlejším postačí cat :-D
  • zvukovou kartu a reproduktory či sluchátka
  • funkční ALSA, čím novější tím lepší, rozhodně aby uměla používat ladspa pluginy
  • ladspa plugin „Multiband EQ“, je v knihovně mbeq_1197.so, v Arch Linuxu balíček swh-plugins
  • přehrávač který mixuje do ALSA a umí nastavit ALSA device, třeba Amarok, Audacious, MPlayer…
  • nějakou tu hudbu, na které to budeme ladit, já jsem použil album Charango od Morcheeby
  • sluch, tady je to relativní
  • Co je cílem

    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.

    Trocha teorie

    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 :-D. 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.

    OK, dem na to

    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 :).

    Něco na přilepšenou

    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
      }
    }
    
    
           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    belisarivs avatar 24.5.2008 13:26 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Jak je to horke s tou zatezi CPU?
    IRC is just multiplayer notepad.
    vogo avatar 24.5.2008 13:34 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    na noťasu s dvoujádrem Intel T2130 to dělá 10% při taktu 798 MHz…
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    belisarivs avatar 24.5.2008 14:17 belisarivs | skóre: 22 | blog: Psychobláboly
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Tak to je dost.
    IRC is just multiplayer notepad.
    vogo avatar 24.5.2008 14:20 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    no je to stejně jako ekvalizer v amaroku, audacious je na tom o trošičku lépe, na výdrži baterky to ubere z 3.5 hodin 0.25 hodiny…
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
    25.5.2008 00:26 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Ahoj, mam dotaz, ktery az tak nesouvisi s tvym zapiskem, ale i tak to zkusim... ;-)

    Co kdybych chtel z PC udelat ekvalizer? To znamena pouzit alsu a ladspa plugin, ale nechtel bych, aby to ovlivnovalo jen zvuk z userspace (pres libalsa), ale i to, co leze z line-in apod...

    Nevedel bys (nebo nekdo) nahodou?
    25.5.2008 18:41 Kvakor
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Pokud zvukova karta umi full fuplex (dnes temer vsechny), tak to neni problem, staci nahravat a hned posilat na vystup (napr. pres Sox). Pamatuju, jak jsem kdysi davno na SB16 zkousel DOSovy programek, co dokazal delat ruzne efekty se zvukem diky duplexnimu provozu (SB16 byla jedna z prvnich beznych zvukovych karet pro PC, co to umela), i kdyz tenkrat jen jednoduche efekty typu echo ci zpozdeni, protoze vic by tehdejsi procesy nezvadaly).

    A pozdeji jsem videl podobne reseni delane pro karty zalozene na Emu10k (SB Live! a Audigy), ktere ale to same delaly hardwarove (Emu10k je vlastne signalovy procesor). Jednoduchy ekvalizer (petipasmovy, myslim) se dokonce vyskytuje jako jeden z prikladu v balicku s emu-dspmgr, ale nevim, jestli to je pouzitelne i pro Alsu (emu-dspmgr je, pokud vim, jen pro OSS driver). Alsa ma v sobe v ovladaci pro emu10k1 defaultne dvoupasmovy ekvalizer, i kdyz neni nic moc.

    Osobne bych ale PC k podobnemu ucelu nepouzival, ve srovnani se spotrebou klasickeho (tj. analogoveho ci postaveneho na specializovanych DSP) ekvalizeru je spotreba PC primo desiva, nehlede na mozne problemy s rusenim. A kdyz uz, tak pomoci prave nejake karty s Emu10k, diky ktere by to zvladl i nejaky opravdu slaby stroj (napr. neco usporneho jako VIA Epia), protoze by pouze nastavoval vlastnosti onoho ekvalizeru, samotne vypocxty by delal chip na zvukove karte.
    25.5.2008 20:55 Radek Podgorny | skóre: 16
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Diky za tipy, myslenka hnat data pres userspace tam a zase zpatky se mi moc nezamlouva, ale asi to jinak nepujde :-(.

    Jinak, co potrebuji neni ekvalizer, ale kompresor (kvuli televizi - nebavi me porad snizovat a zvysovat hlasitost). Na PC jsem to chtel delat proto, ze je proste pobliz ;-). Jinak, pokud byste vedel o nejake HW alternative, budu vdecen za kazdou radu...
    Josef Kufner avatar 26.5.2008 09:18 Josef Kufner | skóre: 68
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Uděláš líp, když televizi vypneš úplně ;-)
    Hello world ! Segmentation fault (core dumped)
    26.5.2008 09:38 dustin | skóre: 62 | blog: dustin
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Userspace jsou i pluginy do alsy. Obecně se nedoporučuje dělat takové vychytávky v kernel spacu, tam patří jen ovladače a nejnezbytnější infrastruktura. Každá chybka vede k pádu, blbě se do debuguje, musí se hlídat velikost použité paměti, atd.

    Overhead vytažení do userspacu je minimální.
    26.5.2008 09:41 dustin | skóre: 62 | blog: dustin
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Ještě k té TV. Chce to vyzkoušet, ale kolečko zvukovka in - kompresor - zvukovka out bude mít nějakou latency. Pokud nelze zpozdit obraz (u TV asi problém), může být i malá latence na dialozích znát. Ale třeba se dostaneš na dobrá čísla.
    26.5.2008 09:46 dustin | skóre: 62 | blog: dustin
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    Uff, samozřejmě latenci, už jsem z té angličtiny zblblý :)
    26.5.2008 10:59 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    zpoždění ;)
    26.5.2008 14:47 Kvakor
    Rozbalit Rozbalit vše Re: Je libo ekvalizér přímo v ALSA?
    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 ...

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.