Hlavní navigace

Vlákno názorů k článku Ovládanie hlasom pre mikrokontroléry od Petr M - Tak se taky přidám k chvále článku, shrnu...

  • Článek je starý, nové názory již nelze přidávat.
  • 19. 8. 2018 20:30

    Petr M (neregistrovaný) ---.tmcz.cz

    Tak se taky přidám k chvále článku, shrnu to v několika bodech.

    1) Správně navržený systém je autonomní, pokud to užití zařízení nevyžaduje jinak (např. telefon bude sotva krabička bez nějaké krabičky u někoho dalšího a nějaké telekomunikační infrastruktury). V případě, že lokálně ovládám zařízení na tom samým místě, musí se vše odehrát na tom místě.
    2) Správně navržený systém je spolehlivý. Jenom výčet SPoF mimo kontrolu uživatele je docela dlouhý (LAN, router, konektivita u ISP, infratruktura, aplikace v čmoudu,...)
    3) Soukromí. To nemůže nikdo myslet vážně, trvale nahrávat zvuk v místnosti a posílat to někomu, proti komu je NSA jenom 3x louhovaný pytlík čaje.
    4) Ovládání hlasem nefunguje. Vždycky je to tak, že se vzorkuje zvuk, nějak se přechroupá a nakonec se určuje pravděpodobnost, že uživatel řekl co řekl. Když se práh nastaví nízko, jsou tam falešný triggery, když vysoko, je to nespolehlivý. U nás na jednom projektu vycházela váha na cca 30%. I pak to reaguje, kdy nemá. Mám historky z praxe, kdy puštěný rádio dokázalo úplně zmást voice recognition a zařízení se chovalo úplně náhodně. Zákazníci byli nadšení.
    5) Když už, tak na hraní se zvukem je optimální 32b DSP. Vzhledem k 16b vzorkování a 16b koeficientům je to tak akorát. Pro zpracování hlasu je potřeba uvažovat min. 8kHz, tj. vzorkování 16kHz. A tohle tahat skrz 8b RISC prakticky bez pamětí? Kdyby tam byl nějaký TMS320, BlackFin nebo dsPIC neřeknu, ale Arduino?
    6) Kdo říká, že na MCU není diakritika nebo znaková sada dle vlastního výběru?

    Ani se nedivím, že je ten článek anonymní. Autor asi tuší, že po tomhle výkonu by dostal ve vývojové firmě místo maximálně jako svačinářka... Sorry za drsný slova, ale je to tak.

  • 19. 8. 2018 21:41

    Autor (neregistrovaný) 195.28.150.---

    Ďakujem pekne za názor. Pane Petre, iste ste si všimli, že článok patrí do sekcie Bastlírna. Je to bastl, nie je to profesionálna aplikácia, je to niečo, čo zostaví človek, lebo sa mu to hodí a je to účelné.

    Je smutné, že nevidíte benefit článku v tom, že je zadarmo a ukazuje, ako je možné priniesť interaktívnu formu ovládania napríklad už do existujúceho online projektu. Niekto by to určite mohol využiť napríklad ak už má inteligentnú domácnosť postavenú na webovom rozhraní a len prekopíruje časť kódu a môže to užívať a prispôsobiť si to na mieru a to i laik so svojimi príkazmi pre svoje výstupy, ovládanie.

    Okrem toho je možné použiť akýkoľvek svetový jazyk vrátane regiónov a je to možné skombinovať aj pre použitie viet. Systém funguje výborne aj na mužský/ženský/det­ský hlas. Urobte podobný projekt vy offline a urobte test pre rôzne hlasy, rôznu intonáciu a rôzny prízvuk a som zvedavý, či sa dostanete k zrovnateľným a bezporuchovým výsledkom. Taktiež by som si rád pozrel, ako by ste Arduino, ktoré offline lokálne nahráva hlas dokázali hlasovo ovládať z Ameriky do Česka, pretože s mojim konceptom to funguje.

    Ešte sa rád vyjadrím k niektorým bodom vášho systému, s ktorými nesúhlasím:

    2.) Nie je to dlhé. Stále sme na úrovni milisekúnd a pri dnešných rýchlostiach internetu v stovkách Mb/s to user ani nepocíti. Verím, že vám na pozadí beží mnoho aplikácii, ktoré sa vzdialene niekam pripájajú (trebars anonymne hlasenia od Chromu pre zlepšenie služieb Googlu) a to vám nevadí. Ale request z Arduina na .txt súbor beriete ako niečo, čo brzdí celý koncept.

    3.) Trvale sa nič nenahráva. Systém je určený na on demand request. Hlas sa nahráva od kliku na mikrofón až po ukončenie hovorového slova. Je tu napríklad nevýhoda, že ak je v okolí mikrofónu hluk, nahráva stále a výsledok bude iný ako sa očakáva (podmienka sa nesplní). Preto je možné na úrovni klientského Javascriptu ošetriť systém na nahrávanie práve niekoľkých sekúnd záznamu. (takže si prosím ešte raz webaplikáciu vyskúšajte, aby ste lepšie porozumeli ako funguje)

    6.) Nevedel som o možnosti nastaviť špecifickú znakovú sadu pre Arduino, využívam iba default-né nastavenie. Ak by som použil diakritiku (zrejme nejaké nastavenie v ArduinoIDE), musel by takúto zmenu urobiť každý používateľ, ktorý by si webaplikáciu stiahol. Úpravu na nediakritický tvar na strane webservera vidím ako veľkú výhodu, ktorá zvyšuje kompatibilitu a menšiu poruchovosť.

  • 20. 8. 2018 6:15

    Petr M (neregistrovaný) ---.145.broadband16.iol.cz

    "Je smutné, že nevidíte benefit článku v tom, že je zadarmo a ukazuje, ako je možné priniesť interaktívnu formu ovládania napríklad už do existujúceho online projektu. Niekto by to určite mohol využiť napríklad ak už má inteligentnú domácnosť postavenú na webovom rozhraní a len prekopíruje časť kódu a môže to užívať a prispôsobiť si to na mieru a to i laik so svojimi príkazmi pre svoje výstupy, ovládanie."

    Je smutné, že nevidíte benefit skoku z okna v tom, že je zadarmo a ukazuj, jak je možné jendoduchou formou vyřešit finanční problémy v již existujícím životě...

    Zadarmo != Benefit

    (a navíc je to placený, buďto reklamou, nebo od přispěvatelů, takže i v tomhle se pleteš...)

    "Okrem toho je možné použiť akýkoľvek svetový jazyk vrátane regiónov a je to možné skombinovať aj pre použitie viet. Systém funguje výborne aj na mužský/ženský/det­ský hlas. Urobte podobný projekt vy offline a urobte test pre rôzne hlasy, rôznu intonáciu a rôzny prízvuk a som zvedavý, či sa dostanete k zrovnateľným a bezporuchovým výsledkom."

    Tak prvně definujme "bezporuchový". To znamená, že pracuje trvale. V bodu 2 je snad krásný výčet SPoF. Lokální řešení bude vždycky "bezporuchovější".

    Druhá věc je chybovost...

    "Taktiež by som si rád pozrel, ako by ste Arduino, ktoré offline lokálne nahráva hlas dokázali hlasovo ovládať z Ameriky do Česka, pretože s mojim konceptom to funguje."

    To je ale zásadní nepochopení. "Ovládání hlasem" je jiný use case, než "ovládání hlasem z jiné lokality". V prvním případě konektivita nutná je, ve druhým ne, a liší se zásadně způsob realizace (z pohledu HW i SW). Myslím, že hodně lidí tady doufalo v ten první use case.

    "2.) Nie je to dlhé. Stále sme na úrovni milisekúnd a pri dnešných rýchlostiach internetu v stovkách Mb/s to user ani nepocíti."

    Nepíšu nic o nějaké latenci ani o přenosové rychlosti apod. SPoF = Single Point Of Failure - jedno místo selhání- A tam je jich navíc, proti lokálnímu systému, víc než dost. Proto se liší ty dva use case.

    "Verím, že vám na pozadí beží mnoho aplikácii, ktoré sa vzdialene niekam pripájajú (trebars anonymne hlasenia od Chromu pre zlepšenie služieb Googlu) a to vám nevadí. Ale request z Arduina na .txt súbor beriete ako niečo, čo brzdí celý koncept."

    Ne, neběží, nemám Widle. Zbytek se dá dobře filtrovat (PrivacyBadger, firewall, ...). Navíc nejde o request na cílový soubor, ale o posílání audio dat.

    Btw, jistě vám na účtu běží spousta plateb, například za licence na SW. Jednu platbu navíc v řádu desítek € přece nepocítíte. Tak jich klidně přidejme 20, ono se to nějak snese.

    "Trvale sa nič nenahráva. Systém je určený na on demand request. Hlas sa nahráva od kliku na mikrofón až po ukončenie hovorového slova. Je tu napríklad nevýhoda, že ak je v okolí mikrofónu hluk, nahráva stále a výsledok bude iný ako sa očakáva (podmienka sa nesplní). Preto je možné na úrovni klientského Javascriptu ošetriť systém na nahrávanie práve niekoľkých sekúnd záznamu. (takže si prosím ešte raz webaplikáciu vyskúšajte, aby ste lepšie porozumeli ako funguje)"

    To ale vůbec nedává smysl. Pokud už na něco klikám nebo něco mačkám, tak to můžu zapnout rovnou a nemusím šaškovat s hlasovým ovládáním (Occamova břitva). Je to akorát bezpečnostní riziko (odposlech) a několik článků s možností chyby navíc, doplněný nespolehlivostí řešení. Navíc ta web aplikace přece není součást zařízená a vyžadovat pro ovládání něco navíc je barbarství.

    "6.) Nevedel som o možnosti nastaviť špecifickú znakovú sadu pre Arduino, využívam iba default-né nastavenie. Ak by som použil diakritiku (zrejme nejaké nastavenie v ArduinoIDE), musel by takúto zmenu urobiť každý používateľ, ktorý by si webaplikáciu stiahol."

    Z toho si nic nedělej, běžný uživatel Arduina neví nic ani o možnosti multitaskingu.
    Pointa je v tom, že char = int8_t a stačí napsat funkci, která extra znaky na vstupu namapuje do záporných hodnot (ty se nepoužívají). IDE o tom přece nemusí ani vědět.

    "Úpravu na nediakritický tvar na strane webservera vidím ako veľkú výhodu, ktorá zvyšuje kompatibilitu a menšiu poruchovosť."

    Naopak. Diakritika rozlišuje různý slova, který by bez ní byly stejný. Odstraněním diakritiky redukuješ data, který ve finálním zpracování oceníš. Pokud teda nešišláš, pak by taková úprava asi měla smysl.

    Poruchovost - od slova "porucha" - stav, kdy je zařízení mimo provoz. Chceš říct, že máš tak blbě napsanou aplikaci v Arduinu, že zařízení vytuhne s nutností HW restartu, pokud se v tom textovým souboru vyskytne znak mimo {0x00, 0x20...0x7e}? S tím bys měl rychle něco dělat.

  • 21. 8. 2018 19:10

    j (neregistrovaný) 2a01:8d00:4000:----:----:----:----:----

    To mas marny ....

    Znam osobne cloveka, kterej si (za nehorazny prachy) nechal udelat ten "chytrej" barak. V kazdy mistosti ma na zdi cvaknute iphone a v nem nejakou custom appku. Samo se mu to podelalo, a prisel s tim, jestlo se to neda nejak poresit, protoze za rekonfiguraci chteji dalsi hromadu $$$. Nebyl schopnej si ani rozsvitit, protoze vypinace sou prece zbytecny. Jo a hlasovy ovladani to samozrejme ma taky.

    Stejne tak sem se opravdu nasmal v jiny domacnosti, kde prozmenu dali na tu reklamu na tema ze draty nejsou treba, a vypinac sice byl, ale bezdratovej. Neustale lezou po byte a vymenujou baterky, coz je fajn specielne uprostred noci. Navic jim krasne muzes blikat svetlama trebas z notesu s wifinou ... idealne tak ve 3 rano.

  • 22. 8. 2018 7:55

    Petr M (neregistrovaný) ---.145.broadband16.iol.cz

    Jj, frikulíni jsou nebezpeční i sami sobě. Tenhle to ale povýšil ještě o level, je to i bastlíř. Dokonce Pan Bastlíř, když to staví na Arduinu a má problém rozlišit, co je IDE, co je programovací jazyk a co je binárka, kerou do toho Arduina naleje (soudě podle toho, co předvedl s diakritikou). Tohle bych nebral ani za souseda přes ulici.

  • 22. 8. 2018 11:13

    j (neregistrovaný) 2a01:8d00:4000:----:----:----:----:----

    Me na tom teda fascinuje to, ze to co se da vyresit jednim vypinacem kterej tam nainstalujes a na pristich 100let na nej zapomenes, budes resit 150ti komponentama ze kterych se kazda jedna behem pristich 5 let zcela jiste podela. To teda v tom lepsim pripade, protoze guugl ti (nejen)API zmeni zcela jiste mnohem driv.

  • 23. 8. 2018 7:27

    Petr M (neregistrovaný) ---.145.broadband16.iol.cz

    Jo, to je taky fakt. Drát je drát. A nejlepší API pro ovládání světla je bezpotenciálový kontakt - nejlíp dokumentovaný, zpětná kompatibilita do 19. století a nějakou dobu doufám ještě fungovat bude... A ještě jsem u něj nezaznamenal, že by nesedělo CRC nebo nedošel ACK. Jediná nevýhoda je, že není dost cool, protože není v čmoudu :(