KVASŇÁK, M. Realizace řečového generátoru pro embedded systémy [online]. Brno: Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií. 2023.

Posudky

Posudek vedoucího

Petyovský, Petr

Zadání bakalářské práce patřilo svým rozsahem mezi středně obtížnější a to z důvodů požadovaného praktického odzkoušení SW řešení na zvoleném HW. Student Michal Kvasňák se měl během plnění zadání bakalářské práce seznámit s možnými řešeními pro generování hlasového výstupu vhodnými pro jednoduchá embedded zařízení. Na základě nastudovaných poznatků definovat vlastnosti metod pro generování hlasového výstupu limitující jejich využití v současných embedded systemech. Následně zdokumentovat některé existující řešení, případně navrhnout řešení vlastní, s ohledem na možnosti využití pro výukové účely kurzu BPC-MIC na UAMT FEKT VUT. Student zvolil řešení formou dokumentace a portace existujícího SW řešení programu „Hlas“ z počítače Sinclair ZX Spectrum. Tento postup řešení lze označit za správný, neboť paměťové požadavky původního řešení jsou řádu jednotky KB a to jak, pro paměť programu i dat, což jsou kapacity které současné mikrokontrolery bezproblémově splňují. Analýza i portace programu o velikosti 800 bajtů tak, dle mého názoru, nepředstavuje svou náročností úkol přesahující nároky kladené na zadání bakalářské práce. Student realizoval tuto bakalářskou práci jako opakované zadání, z důvodů neabsolvování některý zkoušek v akademickém roce 2021/2022. Předložená práce tedy představuje výsledek realizovaný v rozsahu dvou let. Student v průběhu řešení bakalářské práce, využíval možnosti konzultací v naprosto minimální míře a pracoval převážně samostatně, možná až příliš. Mám obavu, zda student nenabyl falešného dojmu, že po konzultacích v prvním roce řešení jeho práce, již není co konzultovat a jeho další řešení práce i realizace výsledného zařízení, je po té už jen a pouze v jeho režii. Student pravděpodobně věnoval řešení práce jisté množství času, jednotlivé úkoly si hlavně v počátcích řešení práce vhodně rozvrhl. V dalším průběhu práce se ale pravděpodobně dostal do jisté letargie, která se negativně projevila na kvalitě výsledné realizace a částečně také na úrovni prezentace dosažených výsledků v textu práce. Text práce je přesto vhodně doplněn dostatkem literárních odkazů a práce studenta s literaturou je na dobré úrovní. Jako diskutabilní spatřuji i změnu embedded platformy na ATMega 2560, kterou student při řešení v dalším roce provedl. Jako jeho vedoucí bych předpokládal, že tuto změnu bude student nejprve konzultovat a to z důvodů shody nebo alespoň kompatibility s embedded platformami využívanými při výuce na UAMT. Další využití výsledků jeho práce je proto diskutabilní. Zodpovědně také musím konstatovat, že výsledné a funkční zařízení mi student bohužel nepředvedl a ani přiložené CD neobsahuje žádnou foto/video dokumentaci funkčnosti výsledného řešení. Funkčnost řešení tak mohu potvrdit pouze nepřímo, na základě poslechu několika zvukových souborů ve formátu WAV a analýzou zdrojových textů výsledného řešení. Text bakalářské práce jsem od studenta obdržel až v závěru semestru a neměl jsem tedy již možnost příliš ovlivnit kvalitu studentem odevzdané technické zprávy. Předložené práci proto jako vedoucí po její kontrole navrhuji hodnocení: Uspokojivě – D (60).

Navrhovaná známka
D
Body
60

Posudek oponenta

Macho, Tomáš

Hlavním cílem bakalářské práce pana Michala Kvasňáka bylo implementovat generátor hlasového výstupu ve formě softwarové knihovny vhodné pro použití v embedded systémech. Knihovna měla být naprogramována v jazyce C. Dále zadání vyžadovalo zpracovat podklady pro studentskou laboratorní úlohu, která by využívala vytvořený hlasový generátor. Zadání práce obsahuje devět bodů a je dle mého názoru pro studenta bakalářského studijního programu příliš náročné jak po odborné, tak po časové stránce. Vlastní technická zpráva obsahuje cca 55 stran textu a je členěna do 11 kapitol (včetně kapitol úvod a závěr). Dále zpráva obsahuje cca 10 stran příloh. Na začátku práce (kapitoly 1, 2 a 3) autor seznamuje čtenáře se základy vytváření mluvené řeči, fonetickými abecedami, fonetickou transkripcí a principy generování hlasového výstupu (artikulační, konkatenační a formantovou syntézou). Tato část práce je převzata z literatury a nemám k ní vážnější výhrady. V kapitole 4 pan Kvasňák analyzuje program „HLAS“ vytvořený původně pro počítače Sinclar ZX Spectrum. Program umožňuje generovat hlasový výstup v českém jazyce na základě předloženého textového řetězce. K této části práce rovněž nemám připomínky. V kapitole 5 autor velmi stručně popisuje mikrokontrolér ATMega 2560. V podkapitole 5.2 autor konstatuje, že vývojová deska nemá zabudované externí periferie, ale vůbec neuvádí typ vývojové desky. Postrádám diskusi ohledně výběru vhodného mikrokontroléru a vývojové desky pro embedded systém, pro který by měl být vyvíjen generátor zvukového výstupu. Autor měl nejprve předběžně stanovit požadavky na paměťovou kapacitu a rychlost mikrokontroléru. Dále měl zvážit, jaký mikrokontrolér je vhodný pro realizaci laboratorní úlohy s ohledem na vývojové systémy používané na UAMT. V kapitole 6 autor definuje požadavky na generátor hlasového výstupu a na základě nich vytváří blokové schéma generátoru. V podkapitole 6.4 na str. 36, poslední odstavec, autor tvrdí, že navržené blokové schéma je funkční, protože se jedná v podstatě o upravený funkční program HLAS. Toto tvrzení považuji za příliš odvážné, protože autor implementuje zvukový generátor na naprosto odlišné architektuře mikrokontroléru s naprosto odlišnými čítači použitými pro generování pulsně šířkové modulace. Funkčnost řešení je třeba ověřit na reálném hardware a pak je teprve možné dělat závěry ohledně funkčnosti. V kapitole 7 pan Kvasňák provedl analýzu časových závislostí jednotlivých segmentů, z nichž program HLAS generuje slovo, prodlev mezi segmenty, písmeny a interpunkčními znaménky. Na základě zjištěných hodnot výše uvedených časových intervalů a analýzy programu HLAS provedené v kapitole 4 implementoval generátor hlasového výstupu do embedded systému založeném na mikrokontroléru ATMega 2560. Ke kapitole 7 mám následující výhrady: - Na str. 38, podkapitola 7.1.2, není zřejmé, kde autor získal hodnoty časů t2 a t1. Hodnoty 0,0159637 a 0,0158277 nejsou na obrázku Obrázek 7.1 uvedeny. Naopak jsou tam hodnoty 0.015873 a 0.0160091. - Autor nedefinuje význam bezrozměrné veličiny A na svislé ose průběhů Obrázek 7.1 – Obrázek 7.5. - V podkapitole 7.1.5 na str. 41 autor píše „Pauzy o dříve zjištěných časových délkách budou vykonány pomocí šetnáctibitového čítače/časovače“, ale vůbec neuvádí, o jaký čítač se jedná. Autor neuvádí ani odkaz do dokumentace. Protože tento čítač je zřejmě podstatnou komponentou implementovaného generátoru, zasloužil by si alespoň stručný popis. V kapitole 8 se autor pokouší popsat testování implementovaného generátoru hlasového výstupu. Není mi jasné, jak mohl autor získat trojúhelníkový průběh výstupního signálu (Obrázek 8.1, str. 57), když pracuje s dvouúrovňovým výstupem, který umožňuje vytvářet pouze obdélníkový průběh. Na str. 61 pan Kvasňák uvádí, že odchylky v generování časových intervalů jsou způsobeny zaokrouhlováním při převodu parametrů, ale své tvrzení nedokládá výpočtem. Bod 9 zadání práce vyžadoval zpracování podkladů pro studentskou laboratorní úlohu využívající hlasový generátor. Autor sice kapitolu 9 nazval „9. NÁVRH LABORATORNÍ ÚLOHY VYUŽÍVAJÍCÍ HLASOVÝ GENERÁTOR“, ale v textu popisuje pouze obecné záměry o použití sériového rozhraní USART, ale skutečnému využití hlasového generátoru se vůbec nevěnuje. Kapitolu 9 proto považuji za naprosto zbytečnou. Příloha A (str. 71) je už nazvána „Laboratorní úloha pro realizaci sériové komunikace pomocí rozhraní USART“. Použití generátoru hlasového výstupu je však v úloze věnován minimální prostor. Nechápu, proč se autor upnul na použití rozhraní USART, když měl vytvořit laboratorní úlohu primárně zaměřenou na použití generátoru hlasového výstupu, nikoli na sériovou komunikaci. Z uvedených důvodů nepovažuji bod 9 zadání práce za splněný. Kapitolu „10. ZÁVĚR“ považuji za zbytečně dlouhou, autor zde v podstatě několikrát opakuje stejné informace, ale nedokáže stručně a výstižně shrnout dosažené výsledky práce. Práce bohužel obsahuje značné množství netechnických výrazů a formulací, nevýstižných názvů kapitol i zkomolených vět. Např.: - Str. 21, podkapitola 3.3, první odstavec „která spočívá ve vytváření řeči pomocí dvou nezávislých složek, a to ze zdroje buzení a lineárním akustickým filtrem.“. - Str. 34, podkapitola 6.1.2, poslední odstavec „které bude ovlivňován dvoustavový výstup“. - Str. 38, první odstavec „kterou je snadno oddělit“. - Str. 65 „9.1 Záměr laboratorní úlohy“, „9.1.1 Prerekvizity pro vypracování“. „Navazující teorií bude obecné seznámení s vytvořenou knihovnou …“. Po grafické stránce mám výhrady ke špatné čitelnosti popisů os u průběhů generovaných signálů v kapitolách 7 a 8 (Obrázek 7.1 až Obrázek 8.5). Poměr mezi částí práce převzatou z cizích zdrojů a vlastní prací pana Kvasňáka považuji za vyvážený. Vzhledem k podstatným nesrovnalostem v práci navrhuji komisi, aby si nechala funkčnost generátoru od autora předvést. Na základě výše uvedených skutečností hodnotím práci pana Michala Kvasňáka známkou D/60 bodů.

Navrhovaná známka
D
Body
60

Otázky

eVSKP id 151802