MS Teams a základní sebeobrana zvukaře amatéra

...pohádka tisíce a jednoho majku, oprášená pro dobu koronavirovou...

Obsah

Úvodem

Koronavirus postavil mnoho učitelů a žáků, ale také zaměstnanců ve firmách, před úkol, zajistit si drobné příslušenství pro "teleschůzování po internetu" a pokonfigurovat si příslušná softwarová audio-hejblátka v počítači.
Jakožto aplikační software mocně nastoupil Microsoft Teams, přinejmenším ve školách. A jak učitelé, tak žáci na korona-poloprázdninách, jsou nuceni skočit do vody a plavat. Všichni se učíme za pochodu. Jedna konkrétní oblast, kde mnozí tápou, je konfigurace sluchátek a mikrofonu. Pokusme se zde sesbírat základní znalosti, jak se věci mají v oblasti relevantního počítačového audia.

Kapitoly budu řadit mým oblíbeným způsobem: je třeba nějak rychle začít, rázně vyřešit věci jednoduché a jasné, a pak případně zabředat do únavných detailů. Ať si každý odpadne cestou podle svého ve chvíli, kdy toho na něj bude moc. Nečtěte tento ponurý text jako beletrii, raději využívejte "obsah" na začátku pro přímý přístup k tématu, které Vás zajímá.

MS teams

Screenshoty v této kapitole jsou celoobrazovkové. Pro vložení do WWW stránky jsem je zmenšil na polovinu, ale poklepem si otevřete obrázek v plném rozlišení.

MS Teams je větší brácha skajpu. (Vy neznáte Skype? Ta dnešní mládež... zná už jenom Whatsapp.) A stejně jako Skype, i Teams obsahuje možnost, podniknout testovací hovor "sám se sebou" - vlastně něco jako loopback test.

Testovací hovor

Při horní hraně okna MS Teams vpravo se nachází ikonka či avatar přihlášeného lokálního uživatele. Kliknutím získáte menu, kde lze ledacos pokonfigurovat.

Volte v menu položku "nastavení".
Objeví se "plachta", která obsahuje při levém okraji sloupec dalšího menu = co konfigurovat.
Volte vlevo v menu "Zařízení". Vstupní a výstupní audio-device Vám automatika pravděpodobně zvolila správně, zejm. pokud se jedná o jediné zařízení toho typu v počítači.
Klikněte na velké tlačítko "Uskutečnit zkušební hovor".

A už to frčí, obrazovka celá zčerná, do tmy a ticha začne automat odříkávat instrukce. Po zaznění tónu nahrajte zprávu (máte asi 10s), následně Vám bude přehrána zpátky. Řiďte se instrukcemi. Pokud v průběhu hovoru hnete myší, vyjede malý panel s tlačítky pro zavěšení=ukončení hovoru a pro ztlumení mikrofonu.

Tento test slouží k otestování nastavené úrovně mikrofonu a reproduktorů/sluchátek. Jedná se o telefonní hovor, na který si vystačíte sami, protějškem Vám je robot na Microsoftím serveru - ten nahraje vašich pár sekund testovacího hovoru, vzápětí Vám je přehraje zpátky (abyste se slyšeli, co do konferenčních hovorů posíláte) a hovor ukončí.
Máte samozřejmě možnost si hovor zopakovat, kdykoli a kolikrát budete chtít.

Prvním poznatkem z testovacího hovoru by mělo být, zda se vůbec slyšíte. Pokud ano, znamená to, že máte mikrofon a sluchátka nejspíš připojena do správných zdířek.

V druhém kroku byste se měli pokusit, vhodně nastavit úroveň zisku mikrofonu, aby se přirozeně minimalizoval šum a echo - hezky fyzikálně a analogově, bez pomoci složitého digitálního zpracování. Finta spočívá přibližně v tom, nastavit zisk mikrofonu co nejnižší, tak aby telefonistu bylo v záznamu ještě rozumně slyšet, ale ne zbytečně víc, protože každý decibel zisku navíc zesiluje také vlastní šum vstupu zvukového čipu v počítači (a echo). Jak a kde se úroveň mikrofonu a sluchátek nastavuje, o tom se dočtete níže v kapitole o nastavení úrovní.

Poznámky k audiu MS Teams

Následující poučku si přečtete v tomto textu patrně ještě několikrát: nejjednodušší pomůckou pro minimalizaci echa je: pořiďte si sluchátka s mikrofonem, co je na výklopném ramínku, takže snímá hovor pár centimetrů od úst. Toto Vám umožní stáhnout zisk mikrofonu, vyhnout se vazbě zvuku ze sluchátek (která způsobuje echo) a do značné míry se tím také potlačí ruchy z okolí = dozvuk místnosti a případní rušitelé v nejbližším okolí.

V testovacím hovoru bude slyšet šum a rušení mikrofonního vstupu. Nebude slyšet echo, které na Vašem konci vzniká v reálném telefonním hovoru - protože robot v testovacím hovoru k Vám nemluví v době, kdy zaznamenává audio z Vaší strany. Otestovat echo tak lze prakticky jedině skutečným hovorem mezi alespoň dvěma účastníky - kde echo vznikající na Vašem nepořádně nastaveném konci slyší Váš protějšek (a naopak).

V souvislosti s MS Teams je vhodné ještě podotknout, že tento software zřejmě obsahuje nějaký algoritmus pro normalizaci hlasitosti jednotlivých účastníků, a snad i umí sám trochu eliminovat echo (digi zpracováním) takže část práce odvede za Vás. Přesto je vhodné mu činnost pokud možno usnadnit - protože následná digitální náprava nedostatků surového materiálu nikdy není dokonalá, a pokud je možnost zlepšit surový záznam, tak proč ji nevyužít.

Ostatní svéráz MS teams

Je maličko zvláštní, že po startu MS Teams je "opožděný login". Zejména po probuzení, ale třeba i po studeném restartu počítače, najede pracovní plocha MS Teams rovnou, možná se i rozběhne živé video probíhající "konference", ale po pár vteřinách do toho skočí požadavek na přihlášení, a následně je potřeba se do konferenčního hovoru znova přihlásit...

Taky jsem jednou zaznamenal, že takto zůstal na "vzdálené ploše Teams" otevřený dialog s tmavým pozadím po ukončení testovacího hovoru. To když jsme restartovali aplikaci Teams a lokální desktopovou relaci kvůli nefunkčnímu mikrofonu (viz níže).

Prostě se to chová trochu jako kdyby uživalel MS Teams měl kdesi v dálce otevřený Remote Desktop, od kterého se pouze odhlásil, a opět se k němu po lokálním restartu/resetu pouze přilogoval. Pokračujete v práci z bodu, kde jste uživatelské rozhraní MS Teams opustili.
Todo: měl bych prozkoumat, zda se tento "remote desktop" neprojevuje pouze na Linuxu (workaround / zajištění multiplatformní kompatibility? ).

Přihodilo se nám asi dvakrát, že ze záhadných důvodů po ranním přihlášení do MS Teams nefunguje mikrofon. Pozorováno na Linuxu (Debian XFCE). Lze navázat konferenční hovor, mikrofon relace v Teams není umlčený, táhlo úrovně mikrofonu v operačním systému má přiměřenou úroveň, ale zbytek probíhající konference postiženého účastníka neslyší. Což by vypadalo na nějakou obecnou vadu v signálovém řetězci mikrofonu: zlomený drát, vadný konektor apod.
Zajímavé ale je, jak se v této situaci chová testovací hovor: Robot požádá o nahrání "vzkazu" po zaznění tónu, tón zazní, něco řeknete, ale robot namísto aby znovu cinknul a vzkaz přehrál, vůbec necinkne a rovnou řekne "doufám, že jste byli spokojeni" nebo co to říká při ukončení hovoru. Jako kdyby vůbec neproběhla "fáze nahrávání". Jako že není dostupné lokální zařízení "mikrofonní vstup" ? Přitom nevyskočí žádná chybová hláška.

K vyproštění z tohoto problému jsem poprvé provedl restart počítače.
V druhém případě mi došlo, že večer používal tentýž počítač druhý uživatel v naší domácnosti, a používal také MS Teams = vedl konferenční hovor. Každý uživatel má svůj vlastní login do operačního systému, takže se musí napřed přepnout na svůj vlastní desktop (operace "přepnout uživatele", následovaná standardním "winlogonem").
Konkrétně: ve chvíli, kdy se problém projevoval, byly v systému dva přihlášené desktopy (z toho jeden zamčený) a konkrétně běžely dvě instance MS Teams, na každém desktopu jedna, z toho teoreticky pouze jedna aktuálně přihlášená.
V tomto druhém případě jsem proto postupoval tak, že jsem ukončil obě instance Teams, odhlásil jsem nyní nepotřebný desktop "včerejšího" uživatele, a znovu jsem spustil Teams na desktopu nyní žádaného uživatele. Voila, mikrofon opět normálně fungoval, včetně normálního chování testovacího hovoru. Bez restartu celého počítače.

Následně jsem v nastavení desktopové relace obou uživatelů vypnul auto-start MS Teams po přihlášení uživatele. Oba dostali instrukci, MS Teams po použití důkladně vypnout, aby MS Teams nestrašil ani v systrayi. Současně přihlášené desktopy jinak ničemu nevadí.

A ještě jeden quirk: pokud se potřebujete přihlašovat do MS Teams pod různými uživatelskými jmény (emailovými adresami) možná narazíte na to, že Vám lokální klient Teams nutí první použitou e-mailovou adresu jako login, a nedá Vám možnost, tento login změnit. Pod Windows lze tomuto chování zamezit tak, že přidáte následující položku do Windows Registry:
Cesta: HKEY_CURRENT_USER\Software\Microsoft\Office\Teams\
Přidejte položku typy DWORD s názvem SkipUpnPrefill .
Hodnotu nastavte na 1.

Mimochodem se zdá, že lokální instalace MS Teams pod Windows není v Program Files, ale v C:\Users\<username>\AppData\Local\Microsoft\Teams\ . A startuje automaticky kdoví odkud, přestože Teams vyženete z menu "po spuštění" i z klasických lokací ve Windows Registry. Pokud potřebujete Teamsům zabránit v autostartu, je jediná šance: přejmenovat soubory Teams.exe a Squirrel.exe ve výše zmíněném adresáři... ovšem pak Vám teams zase nepůjdou nastartovat na požádání :-(

Nastavení úrovně mikrofonu atd.

Čili co a jak lze štelovat mezi Vašimi opakovanými pokusy v testovacím hovoru, případně při probíhajícím ostrém hovoru / teleschůzi.

Upozorňuji, že hlasitost reproduktorů (= akustický výstup) naprosto není totéž, jako úroveň zisku (zesílení) mikrofonního vstupu. Jsou to dvě různé věci, dva různé směry přenosu signálu.

Obecné doporučení: pokud nevíte kde začít, prozkoumejte systray = okénko s malými ikonkami na liště vpravo dole, a hledejte jeden či dva "repráčky". V moderních Windows mohou být některé ikonky skryté - zkuste v systrayi klepnout pravým myšítkem na jeho spodní lem a v kontextovém menu by měla být úplně dole položka "vlastnosti". V následujícím okně si můžete vybrat, které ikonky mají být trvale zobrazeny v trayi.

Jakmile tedy máte v trayi nějaký ten reproduktorek, pošťuchujte ho myší, pravým i levým tlačítkem - a zmapujte si, kam které tlačítko vede. Bohužel přímo přístupný mixer je v dnešních Windows už značně bezzubý, nejde v něm přepnout na zobrazení vstupních = záznamových zařízení. Toto je o pár kliků dál :-(
Alternativní cesta bývá skrz tradiční "ovládací panely", konkrétně skrz panel s názvem Zvuk. Jinak též mmsys.cpl - lze ho tímto jménem spustit přímo z příkazového řádku nebo z okénka "start".

Windows 10

Todo: sehnat screenshoty českých Windows 10 a zmapovat kompletní postup.
Zkuste mrknout na screenshoty ze sedmiček. Z desítek dodnes lezou "sedmičková" střeva, jenom k nim vede klikatější cesta.

Windows 7

Pod Windows 7 je jedním kliknutím ze systraye dostupný potenciometr pro hlasitost repráků/sluchátek, ale úroveň mikrofonu je naopak zahrabaná poměrně hluboko.
Následující screenshot ukazuje přístup k vlastnostem zvukových zařízení pro záznam skrz systray, a také přídavné vlastnosti - mezi zaškrtávacími políčky se mohou vyskytnout škrtací políčka pro potlačení šumu a echa.
Toto jsou pro telefonování velice užitečné vlastnosti. Pokud je máte, rozhodně je vyzkoušejte.

Okno s titulkem "Zvuk" je vlastně již zmíněný "ovládací panel" mmsys.cpl . A o jeden tab vedle "Doplňků" žije ve vlastnostech mikrofonu také tab zvaný "Úrovně", který může obsahovat jeden nebo i dva potenciometry - což je značně matoucí, ale rozhodně užitečné.
Mikrofonní vstup má spojitě řiditelný zesilovač s poměrně slušným rozsahem zisku (snad 50 dB) ale i to může být málo, např. pokud má vstup pro mikrofon podporovat elektretové i dynamické mikrofony. Proto mívají zvukové čipy na mikrofonním vstupu ještě zařaditelný předzesilovač (dříve s AGC), a v některých případech lze tomuto předzesilovači zvlášť nastavit v několika hrubých krocích zisk. Třeba 0 / +10 / +20 dB. Viděl jsem nějaký screenshot ze systému se zvukovým HDA kodekem zn.Conexant, který podporoval boost mikrofonního předzesu až +40 dB. A naopak si taky pamatuji zřejmě dávné časy, kdy se "vysoký zisk" na mikrofonním vstupu zapínal jedinou fajfkou. Tzn. pokud tab "Úrovně" pro mikrofon obsahuje dvě táhla, tak se jejich dB zisk sčítá (= zesílení násobí). A pokud máte dost silný signál na výstupu samotného mikrofonu, můžete zaspekulovat a zkusit, jestli nedosáhnete menšího šumu, pokud vyřadíte "pevný boost" a decibely doženete jemným táhlem. Nebo naopak :-)

Pod Windows 7 ještě fungovalo, že výrobci zvukových čipů (např. oblíbený Realtek) měli svůj vlastní ovládací panel, v některých případech přehlednější než nativní konfigurační dialogy Windows. Tento panel od Realteku měl v trayi svůj vlastní repráček, oranžové barvy.

Nastavené úrovně zisku a pomocné fičurky se zjevně promítají 1:1 mezi ovládacími panely Microsoftu a Realteku.

Windows XP

Jo to byly časy. I windowsí mixer byl ještě relativně jednoduchý a přímo přístupný. Každopádně na XPčkách Teams už nejspíš nepoběží.

Následující screenshot ukazuje proprietární mixer od Realteku.
Generický šedivý mixer Windows XP je samozřejmě také k dispozici, ale na rozdíl od pozdějších generací Windows ještě neví nic o efektových schopnostech driveru Realtek.

Debian 10 Buster + XFCE4

Různé distribuce linuxu používají různá uspořádání pracovní plochy. Konzervativnější varianty se drží klasického rozložení "ala Windows 95" s lištou a systrayem. Bohužel pluralita desktopových prostředí znamená, že málem každý window manager má svůj vlastní applet pro nastavení zvuku. Přesto lze obecně tvrdit: hledejte systray a v něm ikonku reproduktoru. Tuto ikonku zkoumejte pravým a levým myšítkem. Alternativně bude přístup skrz hlavní menu a systémová nastavení.

Konkrétně v konzervativním a lehkém desktopu XFCE4 je lišta prezentována prográmkem xfce4-panel, který má různé pluginy. Jedním z nich je xfce4-pulseaudio-plugin - tohoto pluginu v systrayi XFCE se týkají následující dva screenshoty:

Pokud v miniaturním trayovém xfce4 pluginu kliknete na položku "Směšovač zvuku", otevře se větší okno s hejblátky = samostatná aplikace zvaná pavucontrol.
Prostě větší mixer. Pavucontrol má dokonce dvě záložky, kde lze konfigurovat vstupní zařízení (tzn. především mikrofonní vstup).

Jak xfce4-pulseaudio-plugin, tak pavucontrol, jsou jenom grafická uživatelská rozhraní k internímu zvukovému subsystému moderního Linuxu, který je znám jako Pulse Audio. Detaily znát nechcete - systém je uvnitř šeredně komplikovaný (a pro znalce velice mocný).

Zdá se, že u aktuálních verzí Ubuntu a Debianu chybí v dafaultní konfiguraci PulseAudia modul pro echo cancelation, který řeší zároveň také potlačení šumu. V souboru /etc/pulse/default.pa je třeba ke konci přidat řádek:

      load-module module-echo-cancel
      
...případně nějaké další dekorace okolo. Možná je dobrý nápad, vložit řádek pro natažení module-echo-cancel těsně před odstavec, který obsahuje
      load-module module-filter-heuristics
      load-module module-filter-apply
      
K této konfiguraci lze mít další upřesňující poznámky a alternativní způsoby řešení, tak jako v Linuxu asi ke všemu...

Sluchátka a další udělátka

Ještě i v tomto bodě prosím přijměte jako axiom, že:
Headset = náhlavní souprava = sluchátka s mikrofonem na sklápěcím ramínku jsou optimální způsob, jak zamezit echu v místě jeho vzniku v signálovém řetězci. Tento "mém" bude vysvětlen později (což je dáno alternativní strukturou této práce, která postupuje od jednoduchých receptů k ohavným detailům).

Sluchátkových souprav s mikrofonem je na výběr méně modelů, než prostých sluchátek bez mikrofonu.

Při výběru sluchátek s mikrofonem budete možná preferovat jiné vlastnosti, než u sluchátek pro oddechový poslech hudby. Podstatné by mělo být kritérium "pohodlí po několika hodinách nepřetržitého používání" = jak jsou sluchátka lehká na boltcích, zda někde netlačí náušníky nebo zbytek konstrukce (most), zda se pod nimi nepotíte. Naopak mnohem méně významné bude třeba kritérium "jak to hraje basy" - které je do jisté míry v rozporu s kritériem pohodlí, jednak mechanickými rozměry, jednak v konferenčním hovoru třeba po pár hodinách už nepotřebujete slyšet všechny basové pazvuky vydávané ostatními účastníky. Ostatně subjektivní zřetelnost hovoru záleží na jiných frekvenčních pásmech, pokud přednášející není přirozený barytonista.

Tvary náušníků

V populárních e-shopech je na výběr mnoho sluchátek s několika základními typy "rozhraní mezi elektroakustickým měničem a biologickým boltcem+zvukovodem":

Svébytnou kategorií jsou headsety s mostem, výklopným mikrofonem a jediným sluchátkem (naproti je jenom polštářek jako opora mostu). Toto dává smysl u profesí, které potřebují telefonovat jenom občas, většinu času musí hlavně dobře slyšet. A bývá to levné, protože se ušetří za jednu mušli a měnič. Na nekonečné telekonferencování bych si to nepořídil, protože dlouhodobý asymetrický poslech je otravný.

Některá sluchátka s plochými molitanovými náušníky, a taky některé polotraktory, se vyrábí s otevřenou konstrukcí, tzn. rubová strana membrány měniče může volně dýchat do okolního prostoru. Výsledkem jsou "bezpracně" lepší basy, a také horší izolace od hluků z okolí (což ale může být žádoucí).
Uzavřená mušle omezuje citlivost v oblasti basů. Čím menší mušle, tím hůř hraje basy. (Uzavřená mušle zní jako hrnek. Pokud Vám nejde o estetiku, dá se mušlím pomoci vrtačkou.) Svou roli dále hraje plocha membrány a poddajnost závěsu, ale opět čím větší membrána, tím větší potřebuje mušli, (nebo otevřený koš,) aby nedošlo k ořezu basů. Je to stejné jako u reprobeden.
Zdá se, že "telefonovací" headsety, včetně kousků od slavných značek jako Koss či Sennheiser, volí uzavřenou a spíše menší mušli. Možná proto, že při schůzování na dálku člověk potřebuje hlavně zřetelně rozumět hovoru, spíš nechce slyšet okolí, a basové pazvuky od ostatních účastníků mohou i rušit či unavovat. Lze spekulovat, že uzavřená mušle má také slabší vazbu ze sluchátek do mikrofonu = lépe tlumí echo.

Co má umět mikrofon

Mikrofon telefonovacího headsetu má především snímat zřetelně řeč. Má být co nejblíž úst, zároveň ale nestát v cestě vydechovanému vzduchu (aby nebral "ofukové pazvuky"). Ideální je tedy umístění na boku u tváře ve výši úst, nikoli však zbytečně vzadu.
Tomu přesně odpovídá mikrofon na ramínku - obvykle s možností doformovat tvar ramínka plastickým ohybem mezi prsty.

Konstrukce headsetu má jít naproti kvalitnímu snímání řeči a bránit echu - hezky fyzikálně základní konstrukcí, nespoléhat na elektronický post-processing.
Mikrofon na ramínku je vynikající v tom, že je umístěný opravdu blízko úst, nejblíž co to jde. Pravda je, že ramínko představuje mechanickou vazbu k vibrujícímu sluchátku, a tedy signálovou cestu pro echo - ovšem "přímý zásah" od úst znamená opravdu silný žádoucí signál, což je pro odstup echa naopak přínosem.
Špatný nápad z hlediska echa je integrace mikrofonu do sluchátkové mušle. Toto prakticky nejde řešit jinak než mohutným aktivním odečítáním echa = složitou elektronikou, která potřebuje napájení a výsledek nikdy nebude tak dobrý, jako když se echu především vyhnete klasickou mechanickou konstrukcí headsetu (na což může navázat špetka lehkého elektronického odečtení).
Smířlivě lze hodnotit mikrofony "na bambuli na přívodním kabelu" sluchátek. Mikrofon sice není přímo u úst, a bude brát trochu i dozvuk v místnsosti, ale někde na hrudi není úplně špatné místo pro mikrofon, mechanická vazba na sluchátka (kabelem) je minimální až nulová a ostatně klopové mikrofony v profesionálním zvučení mluvené řeči fungují velmi dobře.

Z rozhlasových a dabingových studií jsou dobře známé stojánkové mikrofony, nejlépe s "pop filtrem" (vyšívací rámeček s punčochou). Je třeba si uvědomit, že na takový mikrofon je třeba mluvit ze stabilní vzdálenosti, a je vhodné si k práci zajistit bezdozvukovou místnost = s akusticky pohltivým polstrováním.

Zcela nejhorší mikrofon je integrovaný v notebooku, zejména v kombinaci se zabudovanými reproduktory. Kromě echa tato varianta trpí obvykle také vlastním šumem mikrofonního zesilovače a všelijakým akustickým/vibračním rušením od ventilátoru, disku apod. Mnoho noťasů dnes umí "echo cancelation" i pod Windows, ale netřeba si dělat iluze, že algoritmy k tomu použité zvládnou vyčistit všechno.

Kam to zapíchnu

Naprostá klasika u dnešních sluchátek je 3.5mm stereo jack.
A stejný jack pro mikrofon - alespoň pokud se týče mikrofonů počítačových.
Ale i s tím jackem je to složitější. A jsou i další možnosti.
Takže to vezměmež popořadě:

Tzn. 3.5mm jack už není jediný. Pokud chceme i mikrofon, týká se nás v této oblasti schizma: 2x 3pól nebo 1x 4pól. Naštěstí lze mezi těmito dvěma variantami provádět konverzi jednoduchou kabelovou redukcí, tzn. jsou k dostání redukce jedním i druhým směrem (slučovací i rozbočovací). Optimální samozřejmě je, pokud si vyberete sluchátka s konektorem, který přesně odpovídá Vašemu počítači, takže nemusíte nic redukovat. Protože redukce stojí třeba stovku navíc a představuje otravný další plandavý kousek bižuterie na sluchátkové šňůře.

4-pólového jacku existují dvě varianty pinoutu, které se liší pozicí kontaktů pro zem a mikrofon. Říká se jim OMTP a CTIA.

Tzn. redukce 3-pól/4-pól jsou dvou druhů podle OMTP/CTIA, a také existuje redukce 4pól/4pól OMTP/CTIA :-)
OMTP je teoreticky starší a vyskytoval se na telefonech konkrétních značek,
CTIA je mladší a typický pro moderní hardware (notebooky a telefony).
Nejblíže realitě bude nakonec nejspíš konstatování, že dnešní audio hardware umí variantu OMTP/CTIA celkem spolehlivě auto-detekovat, takže pokud o této nuanci nevíte z literatury, nejspíš se o ní z vlastní zkušenosti nikdy nedozvíte, pokud máte mikrofon s alespoň trochu obvyklou impedancí a moderní hardware. Například některé dnešní HDA kodeky (čipy) pro PC s tímto přímo počítají a pro TRRS zem a mikrofon mají dva rovnocenné vstupy s autodetekcí "který pin je který".
Jinak řečeno: většinou to prostě funguje.

USB audio má svoji vlastní třídu v rámci USB HID a většina operačních systémů (minimálně Windows 7 a vyšší a taky Linux) pro ně obsahují generické ovladače. Takže jednoduchá sluchátka/headsety nebo sluchátkové USB audio dongly fungují bez ruční instalace ovladačů. Pouze po prvním připojení ke konkrétnímu počítači může pár vteřin trvat, než OS najde a nainstaluje ovladač. Při dalších připojeních už by se mělo jednat o zlomek sekundy.
Dokonce se zdá, že pod Windows se externí USB audio dongle automaticky stane defaultním "voice communication device", takže je jeho mikrofon na prvním místě ve všelijakém telefonovacím softwaru, není třeba ho v konfiguraci ručně vybírat.

Sluchátek s USB konektorem je spousta. Vyšší modely mívají tlačítka navíc ke zdvihnutí a zavěšení hovoru, ovládání hlasitosti na sluchátkách apod. U těchto složitějších zařízení nelze vyloučit eventualitu, že bude třeba instalovat specifický ovladač (od výrobce sluchátek).

Za zmínku dále stojí dva konkrétní USB audio dongly, prodávané u nás pod značkou Axagon: modely ADA-10 a ADA-17.

ADA-10 je starší model, umí 16bit/48kHz.
ADA-17 je mladší bratříček, umí přehrávat až 24b/96kHz. (Záznam "pouze" 16b / 48 kHz.)
Podstatné je, že ADA-17 má znatelně kvalitnější analogové parametry jak na výstupu, tak na mikrofonním vstupu. Rozdíl oproti ADA-10 je pár dB. Parametry ADA-17 sice nejsou vysloveně 24bitové, ale 16bitové "CD kvalitě" rozhodně nedělají ostudu.

Když už se bavíme o drátových přípojných rozhraních, je na místě zmínit také rozhraní bezdrátové: konkrétně, standardní BlueTooth. Pro každodenní několikahodinové telefonování lze mít vůči Bluetooth následující výhrady:


Bezdrát má jistě také své velké výhody - zejména, že za sebou člověk netahá pořád nějaký drát :-) Pokud jste na bezdrátová sluchátka zvyklí, zvládáte jejich specifická úskalí a vyhovují Vám, tak samozřejmě nemá smysl Vám Vaši preferenci vymlouvat.

Aktivní sluchátka (USB nebo BlueTooth) mívají svoji vlastní elektroniku, která autonomně provádí potlačení echa a mívá přímo na sluchátkách konfigurační a další hejblátka (lokální ovládání hlasitosti, příjem hovoru apod). Je asi na zvážení uživatele sluchátek, zda ho tato přídavná inteligence spíše baví nebo spíše prudí.

Nudné podrobnosti pod kapotou

Jak vzniká echo

Telefonní přenos v obousměrném simultánním režimu (tzv. plný duplex) je principielně náchylný k echu nebo-li ozvěně v případě, že na "účastnické stanici" dochází k vazbě z reproduktoru či sluchátka do mikrofonu. Mikrofon slyší všechno: vedle místního řečníka také reproduktor, který vyzařuje hovor protistrany (a odezvu místnosti, a místní rušivé zvuky apod.).

Všimněte si, že z hlediska řečníka (účastníka hovoru) vzniká echo vazbou na vzdáleném konci. To že echo vnímáme, je dáno jeho zpožděním. Lokální odezva místnosti zdaleka tolik neruší, protože se nám kryje s vlastní řečí.
Zpoždění není dáno ani tak vzdáleností (rychlostí světla), jako spíše délkou bufferů v digitálním zpracování audia. Transportní zpoždění přispívá relativně malou částí.

Jak vzniku echa zamezit? Potlačením vazby z reproduktoru (nebo sluchátka) do mikrofonu. Je dobré si uvědomit, že hlasitost řeči klesá se čtvercem vzdálenosti od řečníka.

Pokud umístíme mikrofon blíže k řečníkovi, lze omezit elektronickou citlivost mikrofonního vstupu, při zachování původní hladiny výsledného elektrického signálu užitečné řeči.
Snížením citlivosti mikrofonního vstupu potlačíme vazbu z reproduktoru či sluchátka (za jinak stejných okolností) a také úroveň vlastního šumu mikrofonního předzesilovače, odezvu místnosti a další místní ruchy z okolí.

Také sluchátka září na krátkou vzdálenost a jejich vazba na ušní bubínky telefonující osoby je mnohem účinnější než u reproduktoru, který posloucháme nahlas na větší vzdálenost. Tzn. sluchátka jsou "tichá", což se opět projeví oslabením nežádoucí vazby do mikrofonu.

Zabudovaný mikrofon v noteboocích má i další nectnosti: slyší vibrace od ventilátoru a točivého harddisku, a do své relativně dlouhé signálové cesty napříč počítačem snadno chytá také elektromagnetické rušení od digitálních sběrnic a napájecích měničů.
A zabudované reproduktory počítače bývají také dost mizerné, co do citlivosti, šířky pásma, zkreslení a všelijakých pazvuků... i na nejlevnějších sluchátkách zní hovor podstatně zřetelněji.
Kromě toho cesta akustické vazby ze zabudovaného reproduktoru do zabudovaného mikrofonu je o poznání kratší, než vzdálenost repro a mikrofonu od telefonujícího účastníka.

Z výše uvedeného plyne vcelku jednoznačně, že i ta nejlevnější sluchátka s mikrofonem představují oproti zabudovaným reprákům a mikrofonu NTB citelné zlepšení.

Ono se echo dá také částečně elektronicky odečíst, stejně tak šum se dá utlumit buď primitivním mechanismem "noise gate" (při nízké úrovni signálu se vstup zcela umlčí) nebo adaptivním filtrem, který se naučí spektrum a pak se ho snaží odečíst... Je třeba si uvědomit, že elektronické odečtení echa není prostá matematická funkce nad elektronickým signálem, protože do nechtěné akustické vazby vstupují také spektrální přenosové charakteristiky reproduktoru a mikrofonu a další vlivy. Kvalitní digitální algoritmus na odečtení echa není vůbec jednoduchá záležitost, a ani výpočetní výkon DSP neřeší všechno.

Přesto jsou situace, kde je hlasitý poslech optimálním řešením. Klasicky když se telekonference v jednotlivé lokalitě účastní větší počet lidí někde v zasedačce. Pak není jiné cesty, než echo odečítat elektronicky. Vyskytují se dokonce krabičky o velikosti hokejového puku, které obsahují hlasitý reprák i mikrofon v jednom... a taky to nějak funguje.

Nicméně pro jednotlivého uživatele, třeba žáčka "výuky na dálku", jsou sluchátka s mikrofonem zdaleka nejúčinnějším způsobem, jak si zajistit zřetelný a srozumitelný příjem audia od protistrany a poskytnout svůj vlastní hovor bez zbytečného echa a šumu.

Existuje také možnost, rozbočit si sluchátkový výstup pasivně na dvoje sluchátka. Rozbočovací kabely či krabičky se dají koupit hotové. Není třeba se obávat, že by sluchátkový zesilovač neutáhl nějakých 16 Ohmů na kanál. Dnešní sluchátka mají tradičně 32 Ohmů, ale sluchátkové zesilovače bývají dostatečně silné i na externí pasivní repráčky s impedancí běžně 8 Ohmů. Rozbočka na dvoje sluchátka je užitečná např. pro poslechová cvičení při výuce jazyků - pro žáčka a dohlížejícího rodiče...
Samozřejmě mikrofon takto rozbočit nelze.

Pro obzvlášť obtížné případy echa (nebo nedostatečně vybavené účastníky) mívá telekonferenční software možnost, jednoduše softwarově vypnout mikrofon a zapínat ho jenom v případě, že mluvím. Pokud se takto chovají všichni, přejde celá konference na poloduplexní provoz (ekvivalent "push to talk" vysílaček) a echo nemá jak vzniknout. Je to nepohodlné, ale funguje to. Zejména při větších počtech účastníků je to prakticky jediná možnost, protože úhrn všelijakých ruchů, šumu a dalších nedokonalostí od jednotlivých účastníků by hovor prakticky zabil. Pamětníci skutečně telefonických konferenčních hovorů mohou vyprávět.
Kvalitní platformy pro pořádání "webinářů" proto běžně fungují se všemi posluchači ztlumenými, a kdo z posluchačů chce slovo, musí se o něj přihlásit. Případně lze dotazy sbírat zabudovaným chatem, roztřídit a vybrané zodpovědět, atp.

Bity, kHz, tvl wtf

Prostý digitální formát zvukových dat, zvaný PCM, spočívá v podstatě v tom, že se spojitý analogový signál periodicky navzorkuje = změří se jeho okamžité hodnoty v diskrétních časových okamžicích a každá tato hodnota se zapíše binárním číslem. Toto je surový formát, který vyvěrá z A/D převodníku (ADC = Analog to Digital Converter).
Zvuk byl převeden na isochronní sekvenci čísel.
A v tomto formátu jsou data uložená například na klasickém audio CD, nebo v souborech s příponou .WAV.
Komprimovaný formát MP3 je o něco modernější a pokročilejší vynález, ten sem nepleťme. Ostatně pro převedení zpět na analogový zvukový signál musí být komprimovaný formát napřed dekomprimován zpět na prostou sekvenci vzorků.

Analogie s "desítkovým" milimetrovým papírem kulhá například v tom, že pro digitální záznam zvuku se používají binární čísla. Typicky o rozlišení 8, 16 nebo i 24 bitů. To znamená, že ten milimetrový papír může mít na výšku:

...rozlišitelných úrovní. (Což není dobře dělitelné pěti nebo deseti :-)

Konstrukčně jednodušší je převod z digitální podoby do analogové.
Klasickou konstrukcí D/A převodníku, který je na koleně realizovatelný cca do rozlišení 8 bitů, je odporová kaskáda zvaná přibližně
R/2R ladder DAC = žebříkový D/A převodník. Případným zvědavcům bych konkrétně doporučil intro od TI. Kdo si zamlada postavil k PCčku COVOX DAC na LPT, patrně zde uroní slzu.

O něco složitější je převod opačným směrem, tzn. z analogu do digitálu, tzn. "digitalizace". Existují údajně i převodníky s baterií komparátorů, ale reálně nejúspornějším A/D převodníkem je varianta s postupnou aproximací, kde je jednoduchý a rychlý D/A převodník zapřažen do smyčky zpětné vazby a iterativního porovnávacího algoritmu.
Vlastně se jedná o primitivní hardwarovou implementaci algoritmu "prohledávání půlením intervalu", kde na každý bit je potřeba jedna iterace.

Reálně se pasivní "ladder DAC" ani ADC s postupnou aproximací moc nepoužívají. Existují modernější varianty převodníků DAC a ADC, které s výhodou směňují šířku pásma za bitovou hloubku. Popis je daleko nad rámec tohoto povídání.

Použijeme-li známý vzorec g[dB] = 20 * log(n) , snadno spočítáme dynamický rozsah resp. odstup kvantizačního šumu od maximální úrovně:


Toto jsou ovšem teoretické optimální úrovně.
Otázkou je, jaký šum, zkreslení a rušení zanesou do signálu analogové části signálové cesty. Konkrétně mikrofonní vstup (a samotný elektretový mikrofon, resp. jeho zabudovaný MOSFET) mohou mít šum citeně horší, než kolik by dovolila 16bitová "CD kvalita" následného digitálního formátu. -90 dB je velmi dobré číslo.
Špičkové A/D převodníky, výkonové koncové zesilovače ve třídě AB a jednotlivé slaboproudé součástky pro zpracování audia se pohybují v nejlepším případě okolo -120 dB (odstup šumu).
Bitová hloubka = rozlišení záznamového formátu se obvykle volí podle potřeb aplikace tak, aby rozlišení dat (úroveň kvantizačního šumu) nebylo omezujícím faktorem aplikace. Dá se říct, že jakýkoli digitální audiozáznam, který vznikl digitalizací analogového signálu, obsahuje nějakou úroveň analogového šumu. Nebo-li, klidně i několik spodních bitů digitálního rozlišení "padne za oběť analogovému šumu".

No a v kiloHertzech se měří vzorkovací frekvence.
Jeden Hertz znamená "jednou za sekundu".
1 kHz = tisíckrát za sekundu. Tolik dílků za sekundu má náš milimetrový papír.

Lidské ucho slyší v pásmu asi 20 Hz až 20 kHz. Většina užitečné informace v lidské řeči je soustředěna řádově v pásmu několika málo kHz, jak nám dlouhá léta dokazuje telefonní síť.

V teorii vzorkování existuje teorém, zvaný především "vzorkovací", obvykle ve zkratce připisovaný Nyquistovi a Shannonovi, který tvrdí (volně parafrázuji), že A/D převodem o určité vzorkovací frekvenci projde užitečné spektrum, shora omezené polovinou vzorkovací frekvence. Víc se "nevejde".
A pokud se i pokusíte, poslat do A/D převodníku vyšší frekvence (než půlka vzorkovací frekvence), výsledkem je aliasing / zrcadlení. Ohavný to jev, který notně pokazí spektrum digitalizovaného signálu. Pročež má být signál před A/D převodem napřed tvarován dolní propustí, analogovou, zároveň pokud možno strmou. Což je problematická kombinace.
Možným dílčím řešením je, použít naschvál "nesmyslně" vysokou vzorkovací frekvenci - aby bylo více prostoru pro analogové ofiltrování (stačí pak mnohem méně strmá analogová propust). Následně se dá signál už v digitální doméně ostře ofiltrovat a podvzorkovat, nebo se "zkonzervuje pro úsporný přenos a ukládání" kompresním algoritmem ve spektrální doméně (kde vzorkovací frekvence původního A/D převodu notně ztratí na důležitosti), nebo se s ním dále pracuje ve vysokém rozlišení bez komprese (studiová audiotechnika).

Pokroky v reálně dostupné součástkové základně (a jejích cenách) naštěstí posunuly tyhle starosti s A/D převodem audia daleko do historie.

Pár příkladů, jaké parametry digitalizace audia se používají pro různé účely / v různých historických systémech:

Nostalgická historie PC audia

Za dávných časů, když Česká Televize vysílala tři analogové kanály, a Václav Havel poprvé usedl na trůn, měla PCčka jenom "PC speaker". Repráček hnaný jednobitovým výstupem čítače i8254. A zatímco kancelářské PCčko umělo pípat a škvrkat, hračkové osmibity už pár let zvučely mnohem zábavněji, pokud jim jen dovolilo jejich 64-128 kB RAM a neexistující diskové úložiště. Vedle kratičkých vzorkovaných "samplů" byla populární metodou vyluzování hudebního doprovodu "FM syntéza" - skládání zvuků a hudby z parametrizovaných analogových oscilátorů. Byly na to speciální čipy a bylo to velice úsporné z hlediska objemu dat...
Věnujme tichou vzpomínku tehdejším 32bitovým počítačům Commodore Amiga, které svou dobu v oblasti multimédií a návrhu OS dost výrazně předběhly.

No a někdy v té době, kolem roku 1990, začaly vznikat první skutečné zvukové karty pro PC. Předskokanem v roce 1987 byl AdLib, který uměl pouze frekvenční syntézu. Většina tuzemkých pamětníků zná značku AdLib už jenom jako "AdLib-compatible" FM syntezátor Yamaha OPL2 na kartách SoundBlaster od Creative Labs, které už měly schopnost přehrávat a zaznamenávat vzorkované audio. První SoundBlaster byl mono, osmibitový a měl pomalejší záznam než přehrávání, ale byl to skutečný audio výstup.

V následujících letech firma Creative Labs udávala odvětví tón. Uvedla na trh několik populárních modelů zvukových karet, mezi sebou zpětně kompatibilních: SB 2.0, SB Pro, SB 16, SB AWE32. Existovali konkurenti a creative si od nich půjčovali nápady, ale standardem odvětví se stal na několik let SoundBlaster. Zašlo to tak daleko, že různá méně slavná konkurence vyráběla zvukové karty tak, aby byly se SoundBlasterem hardwarově zpětně kompatibilní - koncem devadesátých let firma Avance Logic (a jejich poměrně slavný ISA čip ALS100) nebo C-Media.
V těch dobách šlo hlavně o hry, a hry fungovaly především v DOSu.
A v DOSu nebylo něco jako programovací API pro zvuk.
V DOSu se zvukový hardware programoval přímo.
Takže každá hra, která byla ozvučená, musela podporovat nejlépe několik značek a modelů zvukových karet.
A dá se říct, že SoundBlaster měl podporu ve všech hrách.

Z konkurentů ve hrách byl ještě relativně slavný Gravis se svou kartou Ultrasound, která jako jedna z prvních podporovala WaveTable syntézu pro přehrávání MIDI (což následně Creative Labs implementovali v modelu AWE32). Pro profesionálnější použití byly k dispozici karty Turtle Beach. Karty do PC nesoucí MIDI syntezátor měl k dispozici třeba Roland. Microsoft už někdy v roce 1992 standardizoval svůj Windows Sound System, ovšem zvukových karet kompatibilních s tímto HW standardem nebylo mnoho.

Teprve později, zhruba s nástupem Windows95 a DirectX API, začaly vznikat hry přímo pod Windows, a začala se používat generická podpora zvuku pod Windows API. Hry psané pro Windows už nepotřebovaly používat zvukový hardware přímo. Výrobce zvukového hardwaru musel dodat ovladač pro Windows, a nemusel ani moc dokumentovat hardwarové rozhraní (mapu registrů a postupy programování).

Zároveň se čipsety PC kolem přelomu století vývojově posunuly, základní systémovou sběrnicí už byla PCI, starší ISA (charakteristická pro klasické SoundBlastery) šla dost rychle stranou. A na sběrnici PCI, zároveň s nástupem Windows, už se firmě Creative nepodařilo dominanci SoundBlasteru udržet. Změnil se trh, zpětná kompatibilita s ISA modely už nebyla možná, a vlastně ani potřebná, změnil se model programování zvuku na PC. Dýku do zad znamenaly nové standardy pro PC Audio od chlebodárce Intelu, rostoucí úroveň integrace křemíku a cenový dumping ze strany výrobců motherboardů (umožněný levnými "komoditizovanými" kodeky).

V roce 1997 vydal Intel svou specifikaci Audio Codec 97 (AC97), která definovala digitální sériovou sběrnici pro připojování audio kodeků (čipů) k south bridgi systémového čipsetu, a třeba také pinout headeru pro přední audiopanel PC šasi. Intel dodával jako součást čipsetů PCI zařízení typu "řadič sběrnice AC97", a výrobci audio čipů dodávali kodeky kompatibilní s AC97 sběrničkou.
Tento standard se dost ujal, a znamenal masový nástup PC motherboardů i notebooků s integrovanými audio schopnostmi. Barevné audio jacky se staly běžnou součástí konektorového čela ATX motherboardů.
Kodeky dodávaly firmy jako Avance Logic (tou dobou už součást Realteku, po akvizici v r.1995), Analog Devices, National Semiconductor, IDT a další.
Pro AC97 byla charakteristická původně pevná vzorkovací frekvence 48 kHz, v pozdějších verzích standardu se připouštěla konfigurovatelná vzorkovací frekvence až po 96 kHz a vyšší bitové hloubky.

Následníkem AC97 je standard High Density Audio z roku 2004, opět od Intelu. HDA sběrnice ani ovladače (ani pinout headeru pro čelní panel šasi) nejsou s AC97 zpětně kompatibilní, což nás ale asi netrápí. HDA kodek (čip) je opět připojen k south bridgi svou vlastní sběrničkou, jejíž rozhraní má ve stromě sběrnice PCI svůj vlastní generický device. HDA podporuje vyšší bitové hloubky a vzorkovací frekvence (24 bitů, až 192 kHz). A také tento standard se uchytil, je snad ještě rozšířenější než AC97.

Velice populární značkou HDA kodeků je opět Realtek, resp. jeho divize ALC = Avance Logic. Za zmínku stojí čip ALC888, což je takový oblíbený švýcarský armádní nůž onboard PC audia: 7.1 + 2 kanály výstupu a 2x stereo vstup, pomocí dvou pinů připravených pro odporovou kaskádu umí detekovat zasunutí až osmi jacků, jednotlivým fyzickým portům lze softwarově přiřazovat význam atd.
Zdá se, že tento "největší" Realtek má několik menších bratříčků pro specifické použití v noteboocích apod.
A je třeba dodat, že velký ALC888 v roce 2020 už není nejmladší (12 let?) a má mladší bratry, kteří mají ještě o něco lepší parametry: ALC889 a ALC898. Tyto čipy dotahují SNR na 108-110 dB (DAC) resp. 104 dB (ADC) a podporují 24bit/192kHz zřejmě na všech kanálech.

Na HDA sběrnici je jako další "kodek" v moderních PC čipsetech připojen také výstup HDMI audio.

Paralelně s vývojem kodeků AC97 a HDA (kde nejspíš dominuje Realtek/ALC) probíhá vývoj USB Audia. Levné konzumní dongly bývají osazené čipy od výrobce C-Media. Kdysi jedna ze značek, které kopírovaly SoundBlaster - dnes výrobce kvalitních spotřebních USB kodeků. USB Audio má svou vlastní standardní třídu zařízení "USB HID Audio" a pod Windows má generický ovladač, takže pro jednoduchá zařízení není třeba ručně instalovat ovladač od výrobce.

S každou novou verzí Windows se také vyvíjí softwarová podpora audia v operačním systému. Dávno pryč je doba, kdy aplikace měly exkluzivní přístup ke zvukovému zařízení (přehrávat směla vždy pouze jedna), zřejmě už není exkluzivní ani nastavování vzorkovací frekvence. Přesněji řečeno, už ve Windows 7 bylo možné, v konfiguraci zvukového subsystému exkluzivní užití zařízení povolit či zakázat, a nastavit defaultní vzorkovací frekvenci (na výběr je 44.1 nebo 48 kHz).
Spíše ale potřeba konfigurovat vzorkovací frekvenci ustupuje do pozadí, operační systém provozuje vstupy a výstupy na maximálních rychlostech a případný nesoudělný PCM výstup je letmo přepočítáván.
Windows 10 přidaly možnost, ovládat hlasitost výstupu nezávisle pro každou aplikaci (dříve bylo možno ovládat jenom společně hlasitost již smíchaného výstupu).

Podobně v Linuxu probíhal vývoj od OSS přes modernější ALSA po Pulse Audio a Jack. Přesněji řečeno, vývojově starší ALSA subsystém žije částečně v kernelu, do něj patří HW-specifické audio drivery (moduly v kernelu) a jeho user space API je dodnes dostupné, ovšem nasedl na něj v user space subsystém PulseAudio (služba/démon) který řeší softwarovou stránku ovládání dnešních složitých kodeků, softwarové routování / mixování výstupu více aplikací a efekty (třeba potlačení šumu a echa), změny za provozu, perzistenci softwarové konfigurace napříč restarty a spaním... tzn. zvukový subsystém linuxu se stal vrstevnatým. PulseAudio spolupracuje s ALSA subsystémem a tvoří pokud možno přívětivou konzumní "user experience". Alternativní Jack je určen pro profesionální audio (studia a muzikanty), které má podstatně jiné cíle a potřeby.

Uzavřu oblouk svého vyprávění jednou závěrečnou poznámkou, která se vrací k původnímu tématu: digitální redukce echa a šumu.
Zdá se, že Windows dodnes neobsahují systémovou generickou podporu těchto dvou vychytávek. Nebo snad obsahují, ale lze se dočíst zmínky, že si o ni telefonní aplikace musí říct, apod. A u některých kodeků zřejmě tuto schopnost přináší kodek (nebo jeho doprovodný driver), což se projeví dostupnou klikací fajfkou ve vlastnostech zvukového zařízení. Prostě to pod Windows někdy funguje a někdy ne.
Linuxové PulseAudio toto obsahuje jako generický softwarový modul. Který je zřejmě by default vypnutý, snad kvůli spotřebě CPU.


Sepsal: František Ryšánek (rysanek [AT] fccps [dot] cz)