Rozpoznávání hlasových vstupů a syntéza řeči v českém jazyce


Ličev, Lačezar1, Kedroň, Pavel2 & Bárta, Radim3.

1Ing. CSc., Katedra informatiky, Fakulta elektrotechniky a informatiky, VŠB-TU v Ostravě, tř. 17.listopadu 15, 708 33 Ostrava-Poruba. Lacezar.Licev@vsb.cz,  http://www.vsb.cz/~lic10/index.html

2 Ing.

3 Ing.

1. Abstrakt

Příspěvek se zabývá problematikou rozpoznávání hlasových vstupů. Popisuje dva přístupy - rozpoznávání jednoslovných a víceslovných promluv. Oba přístupy jsou demonstrovány programy pro vizualizaci použitých postupů. Praktická použitelnost je dokumentována ukázkovým programem - hlasově ovládaným kalkulátorem.

Dále příspěvek se zabývá problematikou syntézy řeči v českém jazyce. Tady je věnována pozornost analýze vytváření řeči a syntéze řeči (v časové oblasti, ve frekvenční oblasti a atd.). Výsledkem je návrh a realizace programového systému hlasového výstupu z napsaného textu.

2. Úvod

Řeč je nejdůležitější a nejpřirozenější způsob komunikace mezi lidmi. Více než 90% předávání informací se děje mluveným slovem. V posledním desetiletí roste potřeba komunikovat i s různými technickými systémy, především počítači, mluveným slovem. Tato potřeba plyne, kromě jiného, také z rozporu stále dokonalejších a rychlejších počítačů na jedné straně a omezenými, těžkopádnými a nespolehlivými prostředky pro komunikaci člověk-stroj. Počátkem 70. let proto vzniká snaha, využít pokroku v teorii signálů a systémů, ve sdělovací technice a mikroelektronice, ke konstrukci zařízení pro fonetický vstup a výstup informací různých zařízení a tím racionalizovat jejich používání. Výsledky s použitím hlasové komunikace s technickými zařízeními ukazují, že hlasové vstupy a výstupy neodstraňují jen běžná vstupní a výstupní zařízení, ale vytvářejí nové možnosti, které plynou ze zvláštnosti lidské řeči:

Na druhé straně nelze opomenout i nedostatky tohoto způsobu komunikace, jako je větší složitost, nutnost archivace informace a její opakování, vliv hluku prostředí apod. [Kedroň 1997].

3. Rozpoznávání hlasových vstupů a syntéza řeči v českém jazyce

3.1. Rozpoznávání hlasových vstupů

Při řešení problematiky rozpoznávání hlasových numerických vstupů byly použity následující metody zpracování řečového signálu (většina z nich je detailně popsána v [Psutka 1995]) Po navzorkování hlasového signálu (zvukovou kartou [REUSCH A NIEDEN 1995], A/D převodníková karta [ADVANTECH CO., LTD. 1993]) se provádí selektivní zesílení signálu. Jedná se o zesílení signálu tak, aby maximální hodnota amplitudy splynula s maximem vstupního rozsahu. Malé hodnoty amplitud se zesilují výrazně méně, aby nedocházelo ke zvýraznění šumu v době "ticha" před a po promluvě. Následuje preemfáze, tedy posílení vyšších frekvencí hlasového signálu, vycházející z fyziologie lidského hlasového ústrojí, kde zvukům s vyšší frekvencí přísluší nižší energie. Preemfáze tyto rozdíly snižuje, čímž se posiluje informace nesená zvuky s vyšší frekvencí. Určení hranic promluvy obsahuje výpočet krátkodobé intenzity řečového signálu v úsecích po 20 ms (tzv. mikrosegmentech) a určení hranic promluvy na základě průběhu této funkce a dříve nakalibrovaných hodnot šumu pozadí. Pásmová filtrace signálu pomocí banky pásmových filtrů nebo výpočtů FFT v krátkých časových úsecích a výpočet hodnot funkce krátkodobé intenzity řečového signálu v mikrosegmentech a funkce krátkodobého středního počtu průchodů signálu nulou v těchto mikrosegmentech. Segmentace spektrální stopy je transformace posloupnosti vektorů hodnot funkce krátkodobé intenzity řečového signálu a funkce krátkodobého středního počtu průchodů signálu nulou v časově ekvidistantních mikrosegmentech na posloupnost vektorů rozdělujících původní charakteristické průběhy na posloupnost (pevné délky), kde jednotlivé prvky posloupnosti mají vzájemně stejnou míru odlišnosti. Tento postup umožňuje do jisté míry kompenzovat rozdíly v tempu řeči uvnitř slova při jeho opakovaném vyslovování. Před vlastní segmentací je aplikována celá řada úprav výstupů pásmových filtrů resp. jejich náhrady pomocí FFT. Tyto úpravy mají za cíl zvýšení rozpoznávací schopnosti klasifikátoru při promluvách zkreslených emocemi ap. Následuje rozpoznávání pomocí neuronové sítě. Vzory získané výše popsaným postupem jsou přivedeny do rozpoznávací neuronové sítě buďto jako vzory trénovací množiny sítě, nebo jako rozpoznávaný vstup. Jako rozpoznávací síť byla použita dvouvrstvá LVQ (Learning Vector Quantization) síť [Vondrák 1994]. Každému rozpoznávanému vzoru je přiřazen jeden neuron výstupní vrstvy, vstupní vrstva je ztotožněna s výstupem funkce provádějící segmentaci spektrální stopy. Za rozpoznaný vzor je prohlášen vzor, jemuž příslušící neuron vyhrál kompetici. Lze provádět "opravné" kompetice, pakliže je vítěz zvenčí (např. obsluhou) odmítnut. Byla řešena i problematika víceslovných číslovek a to metodou vytváření vzorů složených číslovek na základě známých charakteristik jejich částí. Porovnávání vzorů se vstupy metodou podobnou výpočtu vítězného neuronu při rozpoznávání neuronovou sítí. Jako velký problém se ukázalo zohlednění míry spektrálních změn u víceslovných číslovek oproti obrazům samostatně vyslovovaných částí.

Jádrem [Kedroň 1997] je knihovní modul pro rozeznávání numerických vstupů. Řešený knihovní modul je koncipován tak, aby pokrýval všechny funkce, potřebné pro implementaci požadovaného systému - klasifikátoru pro rozpoznávání hlasově zadávaných numerických vstupů. Modul obsahuje funkce pro předzpracování nasnímaného signálu, nalezení hraničních bodů promluvy, pásmovou filtraci, úpravy výstupů banky filtrů, segmentaci spektrální stopy, implementaci neuronové sítě a implementaci gramatiky pro rozpoznávání číslovek pomocí skládání vzorů jejich částí. Ucelenou částí modulu je knihovna pro aplikaci rozpoznávání izolovaných povelů v uživatelských programech - VOCOM. Tato knihovna obsahuje silné nástroje pro rozpoznávání izolovaných povelů. Na bázi jednoduchých a výkonných funkcí umožňuje využití ovládání hlasovými povely nebo vstupu omezené množiny údajů hlasem v uživatelských programech. Vnitřní nastavení parametrů knihovny je nastaveno jako optimální pro rozpoznávání izolovaně vyslovených cifer, nebo sekvence cifer a krátkých povelů.

Vizualizace procesu trénování a rozpoznávání izolovaných povelů:

Při testování různých metod a přístupů při rozpoznávání hlasových vstupů se velice osvědčilo vizuálně znázornit účinek úprav na vstupní signály či na výstupy pásmových filtrů a podobně. Rovněž je zajímavé sledovat a vizuálně srovnávat atributové vektory jednotlivých promluv a porovnávat, jak je vyhodnotí neuronová síť. Z těchto důvodů vznikl program VOC_LAB [Kedroň 1997], který je jakousi "alchymistickou laboratoří" pro sledování účinků různých postupů aplikovaných při rozpoznávání izolovaně vyslovovaných číslovek a izolovaně vyslovovaných slov vůbec. Program je koncipován tak, aby umožňoval nastavení většiny volitelných parametrů knihovny (s výjimkou těch, které mají vliv na velikost některých staticky deklarovaných datových typů a při jejichž změně se musí knihovna překompilovat). Ovládání programu je intuitivní, program sám je vybaven souborem nápovědy popisujícím detailně funkce jednotlivých ovládacích prvků. Názvy ovládacích prvků navíc jednoznačně určují, která z úprav je tímto prvkem nastavována.

Vizualizace procesu tvorby a trénování fundamentů, rozpoznávání souvisle vyslovených číslovek:

Vše, co bylo řečeno o příčinách vzniku, koncepci a ovládání programu VOC_LAB platí beze zbytku i o programu FUN_LAB [Kedroň 1997], který plní obdobné funkce, ovšem pro rozpoznávání souvisle vyslovených číslovek metodou skládání vzorů. U programu FUN_LAB se již nenastavujeme všechny parametry zpracování řečového signálu, pouze ty, které mají přímou souvislost s použitou metodou rozpoznávání souvislé promluvy. Ostatní parametry mají totožnou funkci, jako při rozpoznávání izolované promluvy a jsou nastaveny na hodnoty, které po zkušenostech z testů považujeme za nejlépe vyhovující.

Pro názornou ukázku schopností funkcí obsažených v knihovním modulu [Kedroň 1997] pro rozpoznávání hlasových vstupů numerických údajů, byl zvolen demonstrační program pro prostředí Windows95 (nebo libovolných Windows s 32-bitovou nadstavbou). Jedná se o jednoduchý kalkulátor, který má kromě klasického tlačítkového vstupu i vstup hlasový. Program Vocalcul demonstruje činnost funkcí knihovního modulu funkcí jazyka C pro rozpoznávání hlasových vstupů. Tento program je koncipován jako ukázka funkcí knihovního modulu VOCOM pro rozpoznávání izolovaně vyslovených číslovek a povelů obecně. Program je praktickou ukázkou a ověřením úspěšnosti a účinnosti zvolených metod a postupů rozpoznávání hlasových vstupů. Při tvorbě tohoto demonstračního programu byly použity pouze funkce high-level knihovny, jednak z důvodu přehlednosti, jednak z důvodu "demonstrace síly" knihovny. Ovládání je intuitivní (zřejmé i z následujícího obrázku). Program je vybaven bohatou nápovědou.

Obr. 1.

3.2. Syntéza řeči v českém jazyce

Produkce řeči:

Jako mluvidla označujeme všechna ústrojí (bez ohledu na jejich prvotní biologickou funkci), která se účastní vytváření fyzikálních podmínek, v nichž může zvuková podoba řeči zaznít. K realizaci zvukové podoby řeči je třeba, aby se vytvořil výdechový proud, aby vznikl hlas a aby byly artikulovány hlásky. Podle těchto tří hledisek dělíme mluvidla tradičně na tři části:

Klasifikace segmentálních jednotek:

-Samohlásky (vokály)

Při artikulaci samohlásek je snahou udržet průchod vzduchu hlasovým traktem co nejvolnější. Na artikulaci českých samohlásek se největší měrou podílí jazyk. V akustickém spektru každé samohlásky se přitom objevují kromě základního hlasivkového tónu řada vyšších zesílených tónů, které vznikají rezonancí v dutinách hlasového traktu. Tyto se nazývají formanty a označují se čísly, počínajíc formantem s nejnižší frekvencí F1, F2, F3, ...., Fn.

-Souhlásky (konsonanty)

Artikulační a akustický popis souhlásek není tak jednoduchý a jednoznačný jako popis souhlásek. Při tvoření souhlásek jde o artikulační děje podstatně složitější.

Souhlásky, jejíž podstatou je závěr, nazýváme závěrové (okluzívy), jsou to české: p, t, ť, k, b, d, ď, g, m, n, ň.

Druhým jsou souhlásky nazývané úžinové (frikativy) a dělíme je na:

-vlastní úžinové: české f, v, s, š, z, ž, j, ch, h

-bokové (laterály): české l

-kmitavé (vibranty): české r, ř

U malé skupiny hlásek se vyskytují oba dva typy a nazývám je polozávěrové (semiokluzívy) a patří k nim české c, č.

Dalším důležitým fonetickým hlediskem třídění souhlásek je hledisko znělosti. Zde patří například nosních m, n, ň, párové např. p, t, k a nepárové např. b, d, g.

Při artikulačním popisu jsou důležité další postupy zpracování řečové syntézy, a to že foném se může značně měnit vyslovením v různých kontextech. Tak například pro foném [s] může být tolik variací, kolik je přípustných sousedních fonémů. Představa odlišných realizací stejného fonému v různém kontextu dala podnět pro zavedení fónu jako minimální fonetické jednotky identifikující odlišné primitivní zvuky řeči. Přitom všechny odlišné fóny určitého fonému se nazývají alofóny. Tak kupříkladu pro foném [s] existuje množství alofónů [s], závislých na kontextu, jako například ve slovech "sup", "eso", "osa", "srp" atd.

Jednotky segmentace:

Úkolem segmentace je rozdělit řečové kmity do určitých úseků - segmentů, které vymezují předem definované fonetické či lingvistické jednotky.

Alofóny jsou poziční varianty fonémů dané levým a pravým kontextem. Nevýhodou alofónů je, že při "těsném" fonetickém přepisu, tzn. když každému různému kontextu fonému přiřadíme jiný alofón, dostaneme velký inventář až několik set alofónů.

Foném je fonetická jednotka, která reprezentuje nejmenší počet odlišných fonetických tříd.

Difón je termín, který je užíván pro označení posloupnosti samohláska-souhláska.

Slabiky jsou obecně uvažovány jako fonetické útvary, které obsahují samohláskové jádro plus volitelné počáteční a koncové souhlásky nebo skupiny souhlásek.

Poloslabika a její použití vede k redukci značného počtu slabik.

Demislabiky se od poloslabik liší umístěním hranice mezi počáteční a koncovou demislabikou.

Slovo je fonetický útvar který představuje spojení konečného počtu fonémů či slabik.

Fonetická transkripce textu:

Při fonetické transkripci je zpracovávaný text přepisován aplikací produkčních pravidel fonetické transkripce na řetězec fonémů. Pro slova cizího původu, která se mohou v textu objevit a která mají nestandardní výslovnost, je nejlépe rozšířit inventář výjimek v bloku fonetické transkripce o přepis těchto slov do korektního řetězce fonetických symbolů.

Ukažme si nyní na jedné konkrétní větě, jak bude realizován jeho převod aplikací lexikálních a prozodických pravidel fonetické transkripce na řetězec fonémů a pomocných značek. Přitom jako symboly fonetické transkripce a prozodické značky budou využity: [|] značí pauzu, ['] značí přízvuk a [°] znamená ráz.

Za úkol bude zpracovat větu:

Dr. Vlk, DrSc., přednáší dnes v 16 hod. na FEI.

Aplikací lexikálních pravidel dostaneme:

Doktor Vlk, doktor věd, přednáší dnes v šestnáct hodin na fakultě elektrotechniky a informatiky.

Aplikací prozodických pravidel a pravidel fonetické transkripce dostaneme:

[ | ' doktor ' vlk | ' doktor ' vjet | ' přednáší ' dnes ' fšestnáct ' hoďin ' nafakulťe ' elektrotechniky ° a ' informatiky | ].

Tato problematika je podrobně popsána v literatuře. [Psutka 1995], [Petr aj. 1986] a [Romportl 1973].

Syntéza v časové oblasti

Syntéza v časové [Psutka 1995] oblasti je metoda, která převádí spojitý akustický signál na digitální a posléze ve vhodném okamžiku tento signál znovu z uchovaného kódu rekonstruuje.

Syntéza v časové oblasti zahrnuje dvě základní fáze:

-kódování kmitů řeči, digitalizace a uchování vzorků v paměti,

-dekódování digitalizovaných vzorků řeči do analogového tvaru pro reprodukci.

Syntéza ve frekvenční oblasti

Syntéza včasové oblasti [Psutka 1995] se týkala reprodukce tvaru kmitů, které byly zakódovány a uloženy jako digitální vzorky v paměti počítače, při syntéze ve frekvenční oblasti máme reprodukci frekvenčního spektra řečového signálu.

Syntéza podle pravidel

Jde o úlohu [Psutka 1995], jejíž řešením by měla být schopnost systému automaticky převést psaný text na mluvenou řeč. Syntézy podle pravidel jsou obvykle konstruovány tak, aby mohly generovat slova a věty zneomezeného slovníku řečové kmity.

Popis činnosti:

Na obr.2 je znázorněno blokové schéma použité v programovém řešení. Na vstupu je věta, ta je upravena podle pravidel fonetické a prozodické transkripce češtiny funkcí prevod() knihovny "FONETIC.H". Funkce precti() knihovny "SYNTEZA.H" rozloží větu na dostupné alofóny (ty eventuálně prozodicky upraví) a zajistí zvukový výstup věty (knihovna zvukové karty "SBLASTER.H" respektive "WSOUND.H").

Obr. 2. Blokové schéma syntezátoru

Režimy činnosti syntézy řeči:

Program může pracovat ve dvou odlišných režimech. Tyto režimy jsou označované jako maximální (od maxima výkonu) a minimální (od minimálních nároků na paměť).

V maximální režimu je nutné před započetím práce s hlasovým výstupem načíst kompletní akustické znalosti do paměti. Při každé žádosti hlasový výstup, jsou alofóny vyhledávány již v paměti a tím je dána minimální časová prodleva. Toto řešení má však velmi velké nároky na paměť.

V minimálním režimu dochází při žádosti o hlasový výstup nejdříve k analýze čtené fráze a do paměti jsou načteny jen ty akustické znalosti (alofóny), které jsou nutné k přečtení dané fráze. Tento režim má oproti maximálnímu značně menší nároky na paměť, ale časová režie je delší díky manipulací s diskem.

Popis funkcí:

Fonetická transkripce (FONETIC.H):

nacteni_pravidel - funkce inicializuje fonetickou transkripci a načte fonetické znalosti do paměti.

prevod - funkce převede řetězec dle pravidel fonetické transkripce.

uvolneni_pravidel - ukončení fonetické transkripce a uvolnění paměti.

Syntéza řeči (SYNTEZA.H):

nacteni_alofonu - inicializace hlasového výstupu.

precti - funkce přečte daný textový řetězec do hlasového výstupu.

uvolneni_alofonu - ukončení hlasového výstupu.

Popis datových souborů:

Fonetické znalosti - soubor "PRAVIDLA.TXT"

Syntaxe zápisu:

[PRAVIDLA] ..... [KONEC] - základní přepisovací pravidla pro česká slova.

[NEPRIZVUCNA] ..... [KONEC] - seznam nepřízvučných předložek.

[DOMACI] ..... [KONEC] - seznam domácích předložek.

Akustické znalosti - soubor "ALOFONY.TXT"

Syntaxe zápisu:

První řádek - cesta k souborům se vzorky alofónů.

Druhý řádek - přehrávací frekvence vzorků alofónů.

Ostatní řádky - jména vzorků alofónů.

Ovládání zvukové karty:

V prostředí DOSu jsou použité funkce z knihovny "SBLASTER.H", a v prostředí Windows jsou použité funkce z knihovny "WSOUND.H". Zvukovou kartu je nutno inicializovat před prvním voláním funkcí knihovny syntézy řeči.

Volba alofónů:

Pro volbu alofónu, které chceme použít v akustických znalostech hlasového syntezátoru, jsou velmi důležité kvantitativní výzkumy současné mluvené češtiny [Těšitelová aj. 1985]. V komerčních syntezátorech se používá kolem 400 stavebních jednotek. Tyto alofóny jsou popsané v odborné literatuře, kde se čtenář může s touto problematikou podrobně seznámit (viz. použitá literatura).

Tato problematika je podrobně popsána v literatuře. [Psutka 1995].

4. Závěr

Zvolený postup při rozpoznávání izolovaně vyslovených číslovek, tedy pásmovou filtraci signálu s následnou segmentací spektrální stopy a rozpoznáváním pomocí neuronové sítě lze hodnotit jako úspěšný. Pro řešení problému rozpoznávání izolovaně vyslovené číslovky, nebo izolovaného slovního povelu obecně poskytuje knihovní modul nástroje, umožňující pohodlnou a rychlou implementaci systému pro hlasový vstup dat či malé množiny povelů (izolovaných slov), a to poměrně s uspokojivými výsledky. Podařilo se navrhnout klasifikátor, který dosahuje uspokojivé spolehlivosti (přes 90% při dobře natrénovaném slovníku) a rychlostí odezvy pod 1 sekundu. Postup vycházející ze stejného způsobu zpracování signálu, s následným porovnáváním obrazu souvislé promluvy se vzorem uměle vytvořeným z obrazů částí, o kterých předpokládáme, že by z nich mohla být vstupní promluva sestavena, jsou poskytnuté výsledky ukazující použitelnost tohoto přístupu po dořešení dílčích problémů spojených především s navazováním vzorů uměle spojovaných částí.

Syntézu řeči je prováděna v časové oblasti a výsledný systém se skládá ze čtyř částí a to ze tří knihoven (fonetická transkripce češtiny, syntézy řeči, ovladače zvukové karty) a zastřešující ukázkové aplikace.

Syntézu řeči v časové oblasti je relativně výpočtově nenáročná. Paměťová náročnost je závislá na množství a kvalitě dat. Jako stavební jednotku je použít alofón. Použitý syntezátor má k dispozici akustické znalosti o velikosti 300 8-bitových vzorků alofónů o frekvenci vzorkování 11 kHz. Toto množství je srovnatelné s jinými komerčními syntezátory a je dáno kvantitativním výzkumem současné mluvené češtiny. Program a formát dat je navržen tak, aby bylo možné s kvalitou a kvantitou akustických znalostí libovolně manipulovat.

Na závěr je nutné poznamenat, že i když je v současné době vytvořeno mnoho řečových syntezátorů, přesto nejobtížnější úloha v této oblasti, tj. konverze textu na řeč, zatím zcela uspokojivě vyřešena nebyla. Před odborníky stojí totiž zatím často opomíjený krok, který představuje včlenění výsledků sémantické analýzy a jazykového rozboru zpracovávaného textu do řízení prozodických příznaků řeči.

Systémy jsou přenositelné na úrovni zdrojových textů.

5. Literatura

ADVANTECH CO., LTD. 1993. Advantech PC-Labcard User's Manual. Rev.1.10. Taiwan, Feb. 1993.

BÁRTA, R. 1997. Syntéza řeči v českém jazyce. Ostrava :VŠB-TU Ostrava, 1997. Diplomová práce.

DADÁK, J. 1998. FONETIC [online]. [Místo publikace neznámé] : Cortex Software. Dostupný z WWW: <URL: http://ww2.fce.vutbr.cz/~smdad>.

EFA 1997. Jak zábavné, učit stroje mluvit. ComputerWorld, 1997, č. 16, s. 46.

FILIPEC, J. AJ. 1994. Sborník spisovné češtiny. Praha : Academia, 1994. 647 s.

FROG SYSTEMS S.R.O. 1998. CS-VOICE [online]. [Místo publikace neznámé] : FROG Systems s.r.o. Dostupný z WWW: <URL: http://www.anet.cz/frog>.

KEDROŇ, P. 1997. Rozpoznávání hlasových numerických vstupů. Ostrava : VŠB-TU Ostrava, katedra informatiky, 1997. Diplomová práce.

KELEMEN, J. AJ. 1992. Základy umelej inteligencie. 1.vyd. Bratislava : Alfa, 1992.

KOLEKTIV AUTORŮ 1996. Občané se zdravotním postižením a informační technologie. Téma týdne. Computer World, 1996, č. 10, s. 21-28.

LAZZARO, J. J., 1992. Mluvit stejně jako my. Bajt, 1992, č. 4, s. 97-101.

MAŘÍK, V., ŠTĚPÁNKOVÁ, O., LAŽANSKÝ J. AJ. 1993. Umělá inteligence. Díl 1. Praha : Academia, 1993. 264s.

PETR, J. AJ. 1986. Mluvnice češtiny. Díl 1. Praha : Academia, 1986. 566 s.

PSUTKA, J. 1995. Komunikace s počítačem mluvenou řečí. Praha : Academia, 1995. 287 s.

REUSCH, R. A NIEDEN, A. 1995. Programování zvukových karet. Magazín časopisu CHIP, 2. vydání, červenec 1995.

ROMPORTL, M. 1973. Základy fonetiky. Učební texty. Praha :FF UK, 1973. 162 s.

Sborník přednášek 1985. Analýza, syntéza a rozpoznávání řeči. Praha : ČSVTS, 1985. 156 s.

TĚŠITELOVÁ, M. AJ. 1985. Kvantitativní charakteristiky současné češtiny. Praha : Academia, 1985. 249 s.

UHLÍŘ, J., VÍCH, R., 1985. Číslicová analýza a syntéza řeči. Praha : ČSAV, 1985. 36 s. Prognostická studie.

VONDRÁK, I. 1994. Umělá inteligence a neuronové sítě. 1. vyd. Ostrava : Skriptum VŠB-TUO, 1994.

ZIMMERMAN, J., 1992. Řeč potřebuje trochu citu. Bajt, 1992, č.4, s. 98-99.