Kötött szótárú beszédszintetizátor távbeszélő-hálózathoz illesztett közszükségleti alkalmazása N É M E T H GÉZA BME H E I (BEAG)*
ÖSSZEFOGLALÁS A cikkben ismertetett készülék a beszédszintézis h á r o m lehetséges felhasználói alkalmazását valósítja meg. A Z—80 mikroprocesszorral vezérelt készülék — a Philips M E A 8000 szintetizátorára alapozott magyar fejlesztésű M I N I V O X beszódszintetizáló rendszer segít ségével — riasztó jelek t e l e f o n v e z e t é k e n v a l ó automa tikus átvitelére, telefonválaszadásra és hívásfelépítésre használható.
Bevezetés Napjainkban zajlik az a folyamat, melynek során az automatikus beszédfeldolgozás t ö b b területe a laboratóriumokból kikerülve a mindennapi élet részévé válik [10]. Az egyre kisebb bitsebességet elérő digitális beszédátvitelen kívül az ú n . beszélő perifériák a legismertebbek. Ma már a komolyabb személyi számítógépekhez kb. 140 dollártól kez dődő áron jó minőségű beszédet előállító egységek kaphatók. A z ágazat fejlődését jól türközik a k ö v e t k e z ő adatok [1]: a beszédfeldolgozás terüle t é n az U S A piaci forgalma 1982-ben mintegy 25 millió dollárt tett k i , ami a B E A G azévi teljes termelése kétszeresének felel meg, de az előre jelzések szerint ez az összeg 1987-re megközelítően 800 millió dollárra nő. E z már t ö b b , mint 1982ben a Philips vagy a Control D a t a adatfeldolgozó berendezésekből származó bevétele a nyugat európai piacon [2]. A beszédfeldolgozás k ö v e t k e z ő területeit külön böztetjük meg [3, 4, 10]: — digitális beszédátvitel: kis adatsebesség, tit kosítás. — beszédszintézis rendszerek: digitális vezér lésű eszköz emberi hangon ad információt. A máig piacra került gyártmányok többsége ide tartozik. P l . : Speak and Spell, tolmácsgép stb. — beszélő igazoló é s azonosító rendszerek: egy személy az-e, akinek állítja magát ill. t ö b b lehetséges beszélő közül k i beszél. — beszédfelismerő rendszerek: üzenet akusz tikus alakról írott alakra hozása. — testi fogyatékosok segítése: pl. vakok olvasni süketek beszélni tanítása. * A szerző a B E A G alkalmazott jakónt a B M E H E I - n nappali szakmérnöki t a n u l m á n y o k a t folytatott. Jelen m u n k á j a ott készült. B e é r k e z e t t : 1987. X I . 18. (H)
388
DB. NÉMETH
GÉZA
Dr. Németh Géza 1983ban végzett a BME Villamosmérnöki Kará nak Híradástechnikai Szakán. Diplomaterve a HTE 1983-as pályázatán
I. dijat nyert. 1985-ben szakmérnöki diplomát, 1986-ban egyetemi dokto ri fokozatot szerzett. Szakmai érdeklődési te rülete a digitális be szédfeldolgozás és alkal mazásai.
A fentiekben már említettük a beszédszintézis rendszerek jelentőségét. A közeljövőben még széle sebbkörű alkalmazásuk várható. A piacért folyó versenyben több nagy IC-gyártó cég fejlesztette ki saját egyehipes beszédprocesszorát. A Philips ilyen eszköze, a M E A 8000-es beszédszintézer 1982 t a v a s z á n jelent meg a világpiacon. A B M E H E I Átvitel- és Rendszertechnika Osztályán dolgozták k i a M I N I V O X fantázianevű programrendszert, ami képes a M E A 8000-et magyar nyelven megszólaltató adatok meghatá rozására [5]. Mivel ezzel az áramkörrel igen nagy adattömörítés érhető el (1 másodperc beszédhez kb. 1 kbit adat szükséges a 8 kHz-es P C M átvitel 64 kbit /s-os adatsebességével szemben), ez l e h e t ő v é teszi az eddig alkalmazott magnetofonok kiváltá sát azokban az esetekben, ahol perces n a g y s á g rendű fix szókincsre van szükség. A továbbiakban ismertetésre kerülő Voxalarm fantázianevű be rendezés ezt automatikus riasztóként, üzenetrög zítőként é s telefonhívóként képes megvalósítani. Az eszköz a következő funkciókat tudja ellálni: — a valamelyik riasztó bemenetére érkező indító jel hatására automatikusan felhív egy előre beprogramozott telefonszámot, és ha a h í v o t t felvette a kagylót, többször megis m é t e l v e bemond egy szintén előre beprogra mozott üzenetet, pl.: a bemenetre tűzérzéke lőt csatlakoztatva, ha az jelez, felhívja a 05-ös számon a tűzoltókat és kétszer be mondja (például:) „ A kettőszázegyes számú automatikus riasztó beszél. A X I . kerület Fehérvári ú t ö t v e n k e t t e s számú épületben a tűzérzékelő jelez". — utasítható, hogy ha az adott számra hívás jön, zárja a vonalat, mondjon be egy, a tasztatúráról előre megadott üzenetet, majd indítsa el a hozzá csatlakoztatott magneto font. Bizonyos i d ő eltelte után a berendezés figyelmeztető jelzést küld, majd leállítja a magnetofont és megszakítja a vonalat. Híradástechnika,
XXXIX.
évfolyam,
1988. 9. szám
i magnetofon
r' Ao Tasztatúra
vonal
oB
1.
Érzékelő bemenetek
Távbeszélő vonal illesztő
^Vonali erősítő
77
7Í
' "1
Magnetofon illesztő Ellenőrző erősítő
I
L. PA
Z - 8?A PIO
rí
1
analóg egység
ÍZ.
PB
4MHz-es óragen
1 TV
CPU
] adatsín
±5V tápfesz.
7*= 1 vezérlösín
Memória (RAM,EPROM)
MEA
J \ digitális egység
L.
|H 409-<]
1. ábra. Teljes rendszerterv
— a tasztatúráról megadható egy felhívandó telefonszám é s egy bemondandó üzenet. A Voxalarm automatikusan felhívja az adott számot, és ha a h í v o t t jelentkezik, bemondja az üzenetet. A berendezés felépítése A Voxalarm rendszerterve az 1. ábrán látható. A funkcionálisan összetartozó, szaggatott vonallal körülvett egységek egy nyomtatott áramköri kártyán helyezkednek el. A digitális egység egy minimálkiépítésű mikrogép. Mindössze egy Z—80 központi egységet és P l O - t , 1 kbyte R A M és 12 kbyte E P R O M m e m ó riát, valamint a beszédszintetizátort tartalmazza. Az E P R O M - b a n 8 kbyte-ot foglal el a kb. 70 másodpercnyi alapszókincs, a fennmaradó 4 kbyte-ban a program és az alapszókincs elemeinek összefűzésére szolgáló kifejezéstáblázat helyezke dik el. A RAM-ban a tasztatúráról beírt adatok, a program változói és a stack találhatók. A beszédszintézer teljesen digitálisan vezérelhető, í g y a központi egység egyszerűen memóriaként kezel heti. A M E A 8000 4 MHz frekvenciájú órajelet igényel és mivel egyik kimenetén megjelenik annak hárommal leosztott változata, ez a jel lassú processzorok órajeleként szolgálhat. A C P U a P I O egyik portján keresztül kezeli a tasztatúrát, a másik port segítségével pedig az érzékelő bemenetek leolvasását valamint az auto matikus telefonhívás és üzenetrögzítés vezérlését vágzi. A tasztatúra elvi kapcsolása a 2. ábrán látható [6]. A 4X4-es mátrixelrendezésű 16 kap csoló minden TH-jelű sora alapállapotban + 5 V feszültségszinten van. A TV-jelű oszlopokra egy m á s u t á n alacsony szintet adva, é s figyelve, hogy melyik sor kerül erre a szintre, megállapítható, Híradástechnika,
XXXIX.
évfolyam,
1988. 9. szám
hogy melyik kapcsolót n y o m t á k le. A 16 kapcsoló közül 10 számjegymegadásra, 5 parancsmegadás ra, egy pedig parancslezárásra szolgál. Az analóg egység dolgozza fel a szintézer D / A átalakítójának k i m e n e t é n ós a távbeszélő vonalon megjelenő jeleket. A M E A 8000 kimenő jele egy korrekciós szűrőre kerül, onnan pedig a visszahallgatásra szolgáló ellenőrző erősítő és a t á v beszélő vonalra megfelelő szintű beszédjelet a d ó vonali erősítő bemenetére. A magnetofon illesztő a távbeszélő vonalon megjelenő jelből állít elő az üzenetrögzítéshez megfelelő szintű é s impedanci ájú kimeneti jelet. A távbeszélő vonal illesztő rendszerterve a 3. ábrán látható. A T l 1 : 1 átTV$
TV1
TV 2
TV3
+ 5V
X I X I X I X I
TH$
TH1
TH2
TH3
2. ábra. A t a s z t a t ú r a elve vonali e r . P l
3.
°
o--,
l
ábra.
1 magnetofon I illesztő I 1:1
A
távbeszélő
vonal
illesztő
rendszerterve
389
tételű transzformátor a galvanikus leválasztást, a Z l és Z2 zener-dióda a nagyfeszültségű zavarok elleni v é d e l m e t biztosítja. A z egyenáramú horuk zárását és bontását valamint a tárcsázást az esz köz a P l O - n keresztül vezérelt K I , K 2 reed-relék segítségével végzi. A K l reed-relével párhuzamos RC-tag az egyenáramú vonal zárása nélkül juttatja a leosztott csengető jelet a további egységek be menetére. Ezeknek a feladata az, hogy a 200—500 H z közti frekvenciájú, legalább —30 d B m szintű jel megjelenését a digitális e g y s é g számára jelezzék. Az erősítő fokozat erősítése — <=o és + 50 d B között állítható be. A szűrőt egy 200 H z határfrekvenciájú max. lap., többszörös n e g a t í v visszacsatolású másodfokú a k t í v felüláteresztő é s egy 500 H z határfrekvenciájú elsőfokú aluláteresztő kaszkád kapcsolása valósítja meg. A szűrő kimeneti jele a k t í v csúcsegyenirányítóra, majd 1,9 V é s 2,9 V billenési feszültségű hiszterézises komparátorra kerül. A kompatáror kimenetének állapotát vizuá lisan mutatja a L E D - k i j e l z ő és a TTL-illesztő teszi a PTO számára leolvashatóvá. Az egyszerűen megvalósítható elrendezés kimenetét jelentő bitet figyelve a program határozza meg a vonal állapo tát?. Természetesen a telefon megszületése ó t a s z á mos megoldás született az automatikus hívás megvalósítására. A fenti elrendezés nagy előnye, hogy az alkatrészigény jelentős csökkentése mellett képes a hívásfelépítést ú g y megvalósítani, hogy hibát gyakorlatilag csak a központ helytelen m ű ködése okozhat.
A vezérlőprogram A vezérlőprogram három részre b o n t h a t ó : — a M E A 8000 vezérlése, — automatikus hívásmegvalósítás és hívás fogadás, — az érzékelő bemenetek é s a tasztatúra figye lése és kezelése. A MEA 8000 vezérlése
2 h a t v á n y a i n a k szorzóival — v á l t o z t a t h a t ó , í g y változatlan vagy lineárisan változó jellemzők esetén ugyanaz az adat hosszabb beszédrészietet határoz meg. E g y beszédkerethez n é g y byte adat tartozik. E z a k ö v e t k e z ő jellemzőket tartalmazza: — három formánsfrekvencia, —• n é g y sávszélesség, —• amplitúdó, — a keret i d ő t a r t a m a , — az alapfrekvencia megváltozása. A M E A 8000 belső interpoláció segítségével foly tonos á t m e n e t e t biztosít k é t keret adatai k ö z ö t t és az effektív mintavételi frekvenciát 64 kHz-re hozza, í g y egyszerű visszaállító szűrő alkalmazható. A szintózer a S T O P parancs hatására kerül alap állapotba. E b b ő l k e z d h e t ő a szöveg kimondatása. A kezdeti alapfrekvencia megadása után az I C egy státuszbit 0-ról l-re állításával jelzi, hogy kéri az első beszédkeretet jellemző 4 byte adatot. E z u t á n kb. 8 ms alatt félkészül az első keret k i mondására. A z első keret kimondásának megkezdé sekor megkéri a második keret adatait, annak ki mondásakor pedig a harmadikét stb. Az utolsó keret elején már nem létező adatot kér, ekkor pl. csupa nullát adhatunk meg Mikor ennek az „utolsó utáni" keretnek az elején újra adatot kér, akkor beírhatjuk a S T O P parancsot N e v e z z ü k szavaknak azokat a beszédrészleteket, melyeknek kódjait E P R O M - b a programoztuk! Természetesen ezek nem feltétlenül nyelvtani értelemben vett szavak, hanem olyan építőelemek, amikből értelmes üzenetek állíthatók össze. A szavak kombinációit hívjuk kifejezéseknek! P l . : a ,,jó napot kíván", „Szabó", „ K o v á c s " , „Tibor", „János", ós a „beszédszintetizátor" szavakból „Szabó Tibor jó napot kíván", „ K o v á c s Tibor és Szabó János jó napot k í v á n " valamint „a beszéd szintetizátor jó napot kíván' kifejezések egyaránt összeállíthatók. Automatikus hívásmegvalósítás
és
hívásfogadás
Helyi hívás esetén a k ö v e t k e z ő vonali jeleket kell megkülönböztetni [9]: Tárcsázási (T) hang:
A beszédszintetizátorokat kódolási a l a p e l v ü k szerint a hullámforma- vagy a forráskódolók közé sorolhatjuk. A z előbbi esetben a t ö m ö r í t e t t ada tokból az eredeti jelalakot kívánjuk minél na gyobb hűséggel visszaállítani, az utóbbiban pedig az agy számára az eredetivel azonos információt hordozó jel előállítása a cél [7]. A M E A 8000 a forráskódolású ú n . formánsszintézerek közé tar tozik, azaz a beszéd első néhány formánsát, a beszédspektrum burkolójának csúcsait állítja elő [8]. H á r o m változtatható é s egy állandó (3500 Hz) frekvenciájú formánst képez. Mindegyik sávszéles sége v á l t o z t a t h a t ó . Zöngés beszédrószlét esetén az alapfrekvencia (pitch) értékét is meg kell adni. A szintézerben a jobb adattömörítés érdekében k é t eljárást alkalmaztak. Egyrészt az alapfrekven ciát csak a k i m o n d a n d ó üzenet elején kell meg adni, a t o v á b b i beszédkereteknél a kevesebb bittel leírható alapfrekvencia-megváltozásra van szük s é g , másrészt egy keret hossza 8 és 64 ms k ö z ö t t —
Egyetlen végződésen v é g z e t t nagyszámú tájé kozódó jellegű mérésünk szerint a fenti névleges értékektől mind frekvenciában, mind szintben
390
Híradástechnika, XXXIX.
4 2 5 ± 2 5 Hz; - 1 0 ± 5 dBm Foglaltsági hang: 425 + 25 Hz;
ütemezés:
folytonos
ütemezés:
312ms±20% jel 312ms±20% szünet
- 1 0 + 5 dBm Csengetési visszhang: 4 2 5 ± 2 5 Hz; ütemezés:
1250ms±10% jel 3750ms±10% szünet
- 1 0 ± 5 dBm Csend: impulzusszerű zavarok, áthallás.
évfolyam,
1988. 9. szám
jelentős eltérések találhatók. A jelalakok szintén nagyon változók. A hardver felépítésben ismer tetett reedrelés vezérlés segítségével a tárcsa impulzusokkal szemben t á m a s z t o t t k ö v e t e l m é n y e k teljesíthetők. A pontos időzítést a kvarcvezérlésű órajel biztosítja. A hívásfelépítés folyamata a következő: — — — — — — —
egyenáramú hurok zárása, T-hang várása, tárcsázás, csengetési visszhang várás, csengetési visszhang megszűnés várás, üzenetbemondás, egyenáramú hurok bontása.
A program a fenti lépéseket végzi el e g y m á s u t á n . Először a K I reed-relé segítségével zárja a hurkot. E z u t á n a fentebb felsorolt valamennyi vonali jel megjelenhet. I t t azonban csak arra van szükség, hogy a T-hangot nagy biztonsággal k i válasszuk ezek közül. A vonali jelzőbitet 200 msk é n t mintavételezve, ha e g y m á s után 15-ször jel jelenlétét tapasztaljuk, azt T-hangnak tekintjük. H a 30 másodpercig nem detektálunk T-hangot, bontjuk a hurkot, majd 0,8 s m ú l v a újra zárjuk. H a volt T-hang, a K 2 reed-relé segítségével K I nyitott állapotában beadjuk a tárcsaimpulzusokat, és a csengetési visszhangra várunk. I t t 34 ms-ként mintavételezzük a vonali jelzőbitet. H a egy 0,8— 4 s közötti hosszúságú impulzust detektálunk, azt csengetési visszhangnak tekintjük. H a ötször 200—$00 ms közti impulzust találunk, azt fog laltsági hangnak tekintjük és újra kezdjük a hívást. Az ennél rövidebb impulzusokat zajnak tekintjük. N é g y másodpercnél hosszabb impulzus esetén is új hívást kezdeményezünk. E r r e kerül sor akkor is ha 30 s-ig sem csengetési visszhangot sem foglalt sági hangot nem érzékelünk. E z soknak t ű n h e t , azonban előfordulhat, hogy a kapcsolás lassúsága ilyen hosszú kivárást tesz szükségessé. Az algoritmus hibája, hogy h a egy csengetési visszhang sem jön a h í v o t t jelentkezése előtt, akkor a h í v o t t beszédét foglaltsági hangnak érzé keli. E z az eset azonban elég kis valószínűséggel fordul elő. H a egy csengetési visszhangot érzékel tünk, annak megszűnését kezdjük várni. E z a leg alább 0,8 s hosszú impulzusok 4,2 s-nál hosszabb ideig történő kimaradását jelenti. Sajnos, ez a megoldás jelentősen megnöveli ez eszköz válasz idejét. Cserébe viszont nagyon megbízható m ű k ö dést érünk el. Mintegy félévi vizsgálat során a berendezés egyszer sem érzékelte t é v e s e n a csenge tési visszhang megszűnését. H a az eszköz 30 s-ig nem érzékeli a csengetési visszhang megszűnését, egy jelzőbit beállításával tér vissza a főprogramba. A h í v o t t jelentkezése u t á n az eszköz bemondja a beprogramozott üzenetet, majd bontja a hurkot. Üzenetrögzítés során a program 2 ms-ként minta vételezi a vonali jelzőbitet. H a folyamatosan 1 s-ig jelet észlel, azt csengető jelnek tekinti. E z u t á n zárja a hurkot, majd kétszer m e g i s m é t e l v e be mondja az erre az esetre beprogramozott üzene tet és elindítja a magnetofont. Mintegy 10 s el telte u t á n a szintézerrel egy figyelmeztető hangot Híradástechnika,
XXXIX.
évfolyam,
1988. 9. szám
adat k i , s 10 s-al e z u t á n leállítja a magnetofont és bontja a hurkot. A fenti rövid ismertetés is jól mutatja, hogy a mikroprocesszorhoz illesztett egyszerű hardver segítségével egy olyan meglehetősen bonyolult érzékelési algoritmust alkalmazhattunk, aminek tisztán hardver megvalósítása igen rugalmatlan, nehezen módosítható ós költséges lenne. Az érzékelő kezelése
bemenetele és a tasztatúra
figyelése
és
A program legfontosabb feladata az, hogy riasztás esetén a lehető leghamarabb érzékelje és t o v á b b í t s a azt. Nem riasztási feladatok végzése közben max. 1 s-ként olvassa le a szintérzékenv, prioritási sorba rendezett bemenetek állapotát. Minden bemenet hez hozzárendelhető egy felhívandó telefonszám és egy b e m o n d a n d ó üzenet. H a a bemenetek közül egyszerre t ö b b válik a k t í v v á , a program először a legmagasabb prioritásúhoz tartozó s z á m o t hívja fel és bemondja a megfelelő üzenetet. E z u t á n a k ö v e t k e z ő prioritásút szolgálja ki stb. A bemenetek egyszeri leolvasásához tartozó riasztások elvégzése u t á n újra megvizsgálja a bemeneteket és mind addig folytatja a riasztást, a m í g a k t í v bemenetet talál. A tasztatúra működési e l v é t a hardver felépítés leírása során ismertettük. A tasztatúráról a k ö v e t kező utasítások a d h a t ó k : — max h a t s z á m j e g y ű telefonszám megadása, — az alapszókincs egy szavának kimondása. A max. kb. 70 s-nyi alapszókincs elemeit 0 ós 127 közti számkódokhoz rendeljük. A s z á m k ó d meg adásával m o n d h a t ó ki az adott szó. — a megadott telefonszám felhívása é s sikeres hívás esetén adott szó vagy kifejezés bemondása. Sikertelen hívás u t á n az eszköz ,,A hívás nem sikerült" üzenet kimondásával tér vissza parancs váró állapotba. — egy kifejezés kimondása. A z alapszókincs elemeiből is 0 és 127 közti számkódokhoz rendelt szófűzés, kifejezés definiálható é s a megfelelő s z á m k ó d megadásával k i m o n d a t h a t ó . A kifejezé sek lehetnek előre beprogramozottak és a taszta túráról megadottak. — ú j kifejezés definiálása. A z alapszókincs elemeiből és a már rendelkezésre álló kifejezésekből ú j kifejezés hozható létre. — általunk definiált kifejezés törlése. —- üzenetrögzítő állapot é s üzenetrögzítéskor b e m o n d a n d ó üzenet megadása.
összegzés Az ismertetett eszköz kis alkatrészigény, alacsony ár, kis méretek és fogyasztás mellett teszi lehetővé nagyméretű, alkatrészigényes, mechanikus eleme ket tartalmazó, nagy fogyasztású berendezések kiváltását. Mivel csaknem teljesen elektronikus felépítésű (elektromechanikus elemként csak reed-relét tartalmaz), megbízhatósága is jóval nagyobb. Ezeket az előnyöket a mikroprocesszoros vezérlés és a beszédszintetizátor alkalmazása biztosítja. A pillanatnyi kiépítésben elsősorban a riasztás hoz tartozó funkciókat fejlesztettük k i , azonban 391
kis módosítással a berendezés például vakok szá mára „beszélő telefonként", beszélő ó r a k é n t " stb. is szolgálhatna. E z e k alapján b á t r a n állít hatjuk, hogy h a z á n k b a n is megvan a lehetőség a beszédszintézis közszükségleti alkalmazására. Köszönetnyilvánítás V é g e z e t ü l s z e r e t n é m megköszönni a M I N I V O X szabadalom m e g a l k o t ó i n a k t o v á b b á konzulenseim nek — Podoletz G y ö r g y n e k é s Takács G y ö r g y n e k — és a B M E H E I Á t v i t e l - é s Rendszert Osztály dolgozóinak m u n k á m során nyújtott segítségét. IRODALOM [1] Voioe Input Output, Electronics, April 21, 1983 [2] Elektronikai k u t a t á s az E G K - b a n , H V G , 1984. I . 7. pp 13—15
[3] Rabiner L . R., Sohafer, R. W.: Digital Processing of Speech Signals, Prentice Hall, 1978. pp. 6—8 [4] dr. Oordos Géza: Digitalizálás a h a n g t e c h n i k á b a n : új t á v l a t o k az ember-gép kapcsolatokban, K é p - é s Hangtechnika, Vol. X X X . No. 1, 1984 febr. pp. 15—23. [5] dr. Békési S., dr. Gordos G., Olaszy G., Podoletz Gy.Takács Gy.: Eljárás formánsszintetizátor vezérlés, sére mesterséges beszéd ós speciális hangjelenségek létrehozása céljából, lastkonsz: O T H 189.337 (bejelentés: 1983). [6] U. Tietze, Ch. Schenk: Analóg ós digitális áram körök, B p . M . K . 1981. p. 632 [7] Gordos, Takács: Digitális beszédfeldolgozás, B p . M . K . 1983. pp. 140, 141 [8] Philips D a t a Handbook, Integrated Circuits, Part 11. April 1983. pp. 535—546 [9] K P M : Távbeszólőtechnikai mérések, B p . Közdok. 1979. pp. 121—125 [10] dr. Gardos Géza: Szolgáltatásközlés gépi beszéd feldolgozással Híradástechnika, X X X V . óvf. (1984)' l l . s z . , p p . 512—518