Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Witam.
Zapewne wiele osób zmagało się z odwiecznym problemem:
Jak zbudować urządzenie które można by było sterować głosem ?
Wyszedłem temu pytaniu naprzeciw i wymyśliłem w miarę tanie i ciekawe rozwiązanie.
Jako że układy do sterowania głosem albo są bardzo drogie albo w ogóle nie dostępne zastąpiłem je... telefonem :).
Głównymi elementami stanowiącymi serce układu jest atmega8 i sony ericsson K700.
Główną zaletą K700 (w tym przypadku) jest możliwość wybierania numeru głosowo i tzw. "magiczne słowo". Wykorzystałem te funkcje jako "przetwornik głosu".
Sony Ericssona połączyłem z zestawem głośnomówiącym i uP z RS232 (komunikowałem się z nim komendami AT) .
Cały pic polega na tym że uP sprawdza czy telefon nie wykonuje jakiegoś połączenia. Jeżeli wykonuje to sprawdza na jaki nr dzwoni, rozłącza połączenie i zależnie od tego numeru przełącza stan na konkretnym pinie.
Konkretny numer telefon wybiera za pomocą komendy głosowej.
Całość zmontowałem na płytce testowej ZL2AVR i jakimś wygrzebanym zestawie głośnomówiącym (nawet nie był od tego modelu :P), także nie mam schematu i nie pytajcie o niego. w prawym górnym rogu jest podłączonych do uP 5 diod led których stan jest zmieniany za każdym razem jak telefon odbierze odpowiednie hasło głosowe.
Całość wykonałem tylko do testów i nie jest to gotowe urządzenie, dlatego nie piszcie że układ nie ma obudowy, że sterczą przewody itp.
Projekt zamieściłem na elektrodzie żeby ktoś kto się interesuje sterowaniem głosem mógł go wykorzystać jako np. moduł lub zbudować na tym jakieś konkretne urządzenie.
Najfajniejsze w tym wszystkim jest to, że w telefonie nić nie zmieniamy i odpięty od układu może nadal pracować jako telefon.
Żeby całość zadziałała wystarczy w telefonie uaktywnić "magiczne słowo", najlepiej jakieś niespotykane w życiu codziennym (tutaj to abrakadabra), następnie trzeba dodać pięć kontaktów z numerami odpowiednio *111, *222, *333, *444, *555 i podpisać do nich odpowiednie komendy głosowe (pierwszy, drugi, itd.). oczywiście "magiczne słowo" i komendy sterujące mogą być zmienione na bardziej odpowiednie (np. światło, telewizor, wieża itd.). Tak spreparowany telefon podpinamy do układu i całość uruchamiamy.
Jak wiadomo układ rozpoznawania głosu nie jest idealny i czasami może się pomylić i uznać jakieś inne słowo słowem magicznym. W tym układzie jet o tyle fajnie, że nawet gdy coś takiego się stanie układ będzie czekał na drugą komendę (sterującą) i jeżeli jej nie otrzyma lub otrzyma niezrozumiałe słowo to nie zareaguje.
Zastanawiałem się nar zrobieniem płytki drukowanej dedykowanej z przekaźnikami, które by odpowiednio sterowały szeregiem gniazdek i załączały, bądź wyłączały odpowiednie urządzenia (wg. mnie ciekawy gadget :P )
Układzik ma swoje zalety ale i niestety wady:
Zalety:
-w miarę tanie rozwiązanie (można użyć uszkodzony tel. np. z uszkodzonym LCD)
-proste konstrukcyjnie
-znajdzie zastosowanie w wielu urządzeniach
Wady:
- W telefonie musi być aktywna karta, a telefon musi łapać zasięg (konto może być zerowe)
-jak komenda będzie nieprawidłowa to trzeba odczekać aż telefon przejdzie do głównego menu.
-reakcja na zmianę stanu po wymówieniu hasła trwa około 1-2 sek.
poniżej link do filmiku (trzeba zwrócić uwagę na prawy górny róg płytki - diody zmieniają stan odpowiednio do komend)
P.S.
Temat poruszałem wcześniej tylko że z siemensem S35, a tamten miał parę wad które tutaj zostały rozwiązane.
Jako, że jestem leniwym człowiekiem większość opisu została skopiowana z tamtego tematu (oczywiście z modyfikacjami :) )
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Bardzo ciekawe rozwiązanie. Chyba wykonam coś podobnego ponieważ k700 lub coś podonego można kupić na aledrogo za pare złotych. Skąd zdobyłeś gniazdo SE ?
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Trochę nie bardzo jeżeli chodzi sterownie gniazdkami tym urządzeniem - chyba że chcesz sterować oświetleniem. Sprzętem RTV tym raczej nie wysterujesz w ten sposób, musiałbyś zamiast przekaźników dać nadajnik podczerwieni i nadawać komendy w standardzie RC5.
Ile możesz nadać komend głosowych, czy zależne jest to tylko od telefonu?
Mogę się mylić ale chyba musi coś być na karcie by móc wykonywać połączenia, chyba że nie chodzi tu o wykonywanie połączeń tylko o to by telefon zareagował na polecenie głosowe
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Witam,
WSPANIAŁY POMYSŁ !!! ;) wręcz rewelacyjny. Nie żebym zaraz chciał to powielać bo mam sporo innych zajęć, ale doceniam taką inwencję twórczą. Szacunek dla kolegi.
grala1 wrote:
Trochę nie bardzo jeżeli chodzi sterownie gniazdkami tym urządzeniem - chyba że chcesz sterować oświetleniem. Sprzętem RTV tym raczej nie wysterujesz w ten sposób, musiałbyś zamiast przekaźników dać nadajnik podczerwieni i nadawać komendy w standardzie RC5.
Polecam dwa razy zastanowić się zanim zacznie opowiadać się takie banialuki.
grala1 wrote:
Mogę się mylić ale chyba musi coś być na karcie by móc wykonywać połączenia,
Oczywiście, że się mylisz. Więc na drugi raz nie neguj, nie krtykuj bez zdania racji tylko dopytuj co i jak, wtedy na tym więcej skorzystasz.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Za wykorzystani starego telefonu jako modułu rozpoznawania mowy duży plus. Jednak to rozwiązanie nie jest "inżynierskie" ,:) ale pomysł naprawdę zacny. Pomijając te wady typu czas reakcji i obsługi urządzenia co ze słowami fonetycznie podobnymi? Wiem że zalecasz aby hasła klucze były różne od siebie.
Nie wiem jak w K700 jest zaawansowane to rozpoznawanie, ale jak zareaguje na pary słów typu np.: "Kasia, Asia" lub "Tomek,Domek" ?
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
regrom wrote:
Nie wiem jak w K700 jest zaawansowane to rozpoznawanie, ale jak zareaguje na pary słów typu np.: "Kasia, Asia" lub "Tomek,Domek" ?
A nie zastanawiałeś się przypadkiem jak zareaguje na pary takich słów: "Siaia,Basia" "Lulu,Kulu" "Boli,Biadoli" "Ciocia,Klocia" "Papu,Ciapu" ? Jeśli to jest dla ciebie najważniejsze w tym projekcie i takie podejście inżynierskie miałoby dominować na świecie jak twoje to zapewniam cię, że dzisiaj ludzkość byłaby na etapie kamienia łupanego a w najlepszym przypadku pierwszego koła zamachowego. Jeśli cię interesują zaawansowane algorytmy rozpoznawania mowy ludzkiej to proponuję inne forum ;) ... ale ten wątek nie dotyczy zagadnień związanych z dokładnością rozpoznawania mowy. I jeśli nie widzisz potencjału w takim prostym pomyśle - bo o to tu głównie chodzi to współczuję.
To jest projekt, który można określić mianem "coś z niczego"! Tu pokazany jest zalążek pomysłu a ludzie twórczy dostrzegą możliwości wprowadzenia poprawek modyfikacji czy zastosowania we własnych układach, które nie muszą wymagać prędkości światła w przekazywaniu tą drogą sygnałów sterująych. Np dla osoby niepełnosprawnej czas reakcji może być w takim przypadku w ogóle nie istotny jesli chodzi o wspomaganie wykonywania codziennych czynności. Nie będę ci podsuwał innych zastosowań, spróbuj się zmusić sam do takiego wysiłku - bo widzę że ciężko ci to przychodzi, tak jak i poprzednikowi, którego cytowałem.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Kolego mirek, weź wyluzuj, dostrzegam możliwości zastosowania tego projektu, pomysł, inwencję autora. Przestań łapać ludzi za słówka i nie bądź opryskliwy oraz nie domawiaj czegoś czego nie napisałem, a także nie obrażaj ludzi , każdy może zadać pytanie o interesującą go część projektu.
To urządzenie ma potencjał i to trzeba podkreślać. Śledzę różne rozwiązania i tematykę komunikacji głosowej od jakiegoś czasu. Warto zajrzeć chociażby na tą stronę: Link
Autorowi gratuluję, a Tobie kolego Mirku proponuje powstrzymać się przed komentowaniem czyjegoś pytania w taki sposób.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Witam
Gratuluję pomysłu. Od razu zapragnąłem zmontować takie ustrojstwo do swojego telefonu. Widzę tu całą masę zastosowań.
błysnę niewiedzą i zapytam w czym to jest napisane?
Niech żyje kreatywność
Pozdrawiam.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
mirekk36 wrote:
Witam,
grala1 wrote:
Trochę nie bardzo jeżeli chodzi sterownie gniazdkami tym urządzeniem - chyba że chcesz sterować oświetleniem. Sprzętem RTV tym raczej nie wysterujesz w ten sposób, musiałbyś zamiast przekaźników dać nadajnik podczerwieni i nadawać komendy w standardzie RC5.
Polecam dwa razy zastanowić się zanim zacznie opowiadać się takie banialuki.
No w tym wypadku Kolega grala1 ma rację.
Spróbuj wypiąć wieżę/telewizor z gniazdka i ponownie włączyć. Większość tego typu sprzętów wymaga wciśnięcia przycisku lub komendy od pilota.
Ogólnie rozwiązanie bardzo pomysłowe, mimo iż ma pewne wady, daje pole do popisu dla myślących konstruktorów:)
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Gege9797 wrote:
Skąd zdobyłeś gniazdo SE ?
Pracuję w komisie więc to nie był dla mnie jakiś wielki problem. Można je odzyskać z przewodu RS232 lub USB.
regrom wrote:
Nie wiem jak w K700 jest zaawansowane to rozpoznawanie, ale jak zareaguje na pary słów typu np.: "Kasia, Asia" lub "Tomek,Domek" ?
Wiadomo że nie jest ultra nowoczesny analizator głosu. Jak miałem ukłąd uruchomiony przez około 3h w czasie rozmowy aktywował "magiczne słowo" ze 2 razy, ale nie doczekał się słów sterujących i wychodził do głównego menu. Nie sądzę żeby ktoś dał słowa sterujące typu domek - tomek itd. Jedyne logiczne hasła jakie przychodzą mi na myśl (które będą się gryźć) to włącz-wyłącz.
grala1 wrote:
Trochę nie bardzo jeżeli chodzi sterownie gniazdkami tym urządzeniem - chyba że chcesz sterować oświetleniem. Sprzętem RTV tym raczej nie wysterujesz w ten sposób, musiałbyś zamiast przekaźników dać nadajnik podczerwieni i nadawać komendy w standardzie RC5.
Zgadzam się z tobą całkowicie. Ale to chyba nie problem ;). Można też np zmontować jakąś lampkę RGB i sterować nią głosowo (kolory, nasycenia itp.), ale takich przykładów można mnożyć.
grala1 wrote:
Ile możesz nadać komend głosowych, czy zależne jest to tylko od telefonu?
Po części jest to zależne od telefonu a po części od układu. W tym przypadku K700 daje do wykorzystania 29 sekund na polecenia głosowe, natomiast układ jest ograniczony ilością wolnych portów (no chyba że zastosujemy sterowanie kodami RC5). Myślę że na tym układzie dało by się obsłużyć około 20 wyjść.
grala1 wrote:
Mogę się mylić ale chyba musi coś być na karcie by móc wykonywać połączenia, chyba że nie chodzi tu o wykonywanie połączeń tylko o to by telefon zareagował na polecenie głosowe
Nie potrzeba mieć pieniędzy na koncie. Telefon wykonuje połączenie i nie ważne czy ono nastąpi, czy nie, informacja idzie o wykonanym połączeniu do procesora i tam jest dalej przetwarzana.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Wystarczy połączyć uC z telefonem (RX-RX, TX-TX, GND-GND)? Mógłbyś napisać które to piny w k700?
Rozumiem że można do testów zestaw głośno mówiący nie jest potrzebny -w kodzie nic to nie zmieni
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
grala1 wrote:
Wystarczy połączyć uC z telefonem (RX-RX, TX-TX, GND-GND)? Mógłbyś napisać które to piny w k700?
Rozumiem że można do testów zestaw głośno mówiący nie jest potrzebny -w kodzie nic to nie zmieni
Niestety zestaw jest potrzebny - albo słuchawkowy, albo głośnomówiący. Po prostu bez zestawu nie działa funkcja "magiczne słowo". Przewód robiłem ze 2 lata temu :) ale jak dobrze pamiętam RX - TX, TX - RX, GND - GND bez zmian napięcia, telefon - układ (układ zasilany stabilizowanym 5V).
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
denwer wrote:
Wiadomo że nie jest ultra nowoczesny analizator głosu. Jak miałem układ uruchomiony przez około 3h w czasie rozmowy aktywował "magiczne słowo" ze 2 razy, ale nie doczekał się słów sterujących i wychodził do głównego menu. Nie sądzę żeby ktoś dał słowa sterujące typu domek - tomek itd. Jedyne logiczne hasła jakie przychodzą mi na myśl (które będą się gryźć) to włącz-wyłącz.
Dziękuję za odpowiedź, widzę że kolega moje pytanie zrozumiał i potrafi na nie odpowiedzieć bez zbędnych komentarzy. Tak jak pisałem chciałem tylko zaznaczyć, że taki problem może wystąpić, ale czy jest to problemem w danym zastosowaniu to już inna sprawa.
W twoim przypadku "magiczne słowo" aktywujące dopiero rozpoznawanie słów kluczowych dodatkowo przeciwdziała przypadkowemu uruchomieniu elementów wykonawczych,co jest niewątpliwie zaletą.
Tyle się chciałem dowiedzieć, gratuluję jeszcze raz i pozdrawiam!
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Mistrzostwo świata :)
Sam kiedyś myślałem o układzie bodajże HM2001, czy cos? Zupełnie niedostępny ;)
Jaka jest czułość telefonu na komendy wydawane np. z drugiego końca pokoju?
Zastrzegasz sobie jakieś prawa autorskie, czy można tworzyć własne układy na twoim pomyśle? ;>
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Super pomysł! Aż sam chcę coś takiego wykonać. Tylko odstrasza mnie tylko cena takiej płytki startowej. Może są jakieś tańsze i prostsze w konstrukcji płytki pod atmega8 ? IMHO wymawianie abrakadabra i dopiero potem właściwego polecenia jest za długie. nie można od razu np. włącz 1, włącz 2 itp. Może lepiej byłoby wykorzystać jakąś nokię np. E50 i wbudowane funkcje głosowe. Grzebałem trochę w e72 i można tworzyć nowe komendy dla wybranych programów, funkcji, wybierania tel... Telefon jest cały czas na czuwaniu i w każdej chwili można wypowiedzieć daną komendę. Można więc mieć i sterowanie światłem (przez wybieranie nr) i np włączanie radia w telefonie... ach trochę się rozmarzyłem :D
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
djmarcelli - nie musisz kupować plytki startowej
Możesz sam zrobic płytke na której będzie uP, wyświetlacz (nie jest konieczny), jakieś przekaźniki podpiete do uP przez tranzystory którymi będziesz coś sterował i oczywiście zasilanie tych przekażników i procesora.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
djmarcelli proszę o to schemat dla Ciebie.
i jeszcze plik z Eagle żebyśnie musiał przerysowaywać
R7 musisz dobrać w zależności od prądu podświetlania wyświetlacza.
R6 regulujesz kontrast wświetlacza.
Kod jest napisany na wyswietlacz 2x16 ale nie ma problem żeby zmienić na jaiś inny. Wyświetlacza nie musisz montować - wtedy wyprowadzenia PC0-PC5 zostawiasz niepodłączone.
Rezonatora i kondensatorów C3 i C4 też nie muisz podłączać - zależy to tylko jak ustawisz FUSY w uP.
Na IN 7805 podajesz + z jakiegoś zewnętrznego zasilacza o napięciu 9-12V i oczywiście minus na GND.
Pod złącze TEFEFON podłączasz telefon (RX uP z TX telefonu i TX uP z RX telefonu, masa up z masa elefonu).
Do układu dodałem złącze CANDA żebyś mógł programowć w uP układzie.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
siwekyhy wrote:
Skąd wziołeś inforamcje na temat komend At i powiązanie tego z Bascomem ?
Są gdzieś w internecie. Jak znajdę je na kompie w pracy to je wrzucę.
kulpina wrote:
Jaka jest czułość telefonu na komendy wydawane np. z drugiego końca pokoju?
Zastrzegasz sobie jakieś prawa autorskie, czy można tworzyć własne układy na twoim pomyśle? ;>
Ja robiłem tak, że odchodziłem od telefonu podczas nagrywania komend, żeby głos z oddali był podobny do pierwowzoru.
Oczywiście można to wykorzystać do własnych potrzeb ( po to dałem listing).
djmarcelli wrote:
IMHO wymawianie abrakadabra i dopiero potem właściwego polecenia jest za długie. nie można od razu np. włącz 1, włącz 2 itp. Może lepiej byłoby wykorzystać jakąś nokię np. E50 i wbudowane funkcje głosowe. Grzebałem trochę w e72 i można tworzyć nowe komendy dla wybranych programów, funkcji, wybierania tel... Telefon jest cały czas na czuwaniu i w każdej chwili można wypowiedzieć daną komendę. Można więc mieć i sterowanie światłem (przez wybieranie nr) i np włączanie radia w telefonie... ach trochę się rozmarzyłem
Chodzi o to żeby pierwsze słowo było niecodzienne . W rozmowie może paść komenda włącz, wyłącz (np. idź i wyłącz gaz pod czajnikiem). Wtedy układ by zareagował a tego nie chcemy.
Tak jak pisałem wcześniej E50 i E72 nie ma komend AT.
Re: Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
Może mi ktoś powiedzieć czy układ będzie kompatybilny z nowszymi modelami tylko k750i, k800i? Czy komendy się różnią?
Jestem bardzo zainteresowany układałem, do sterowania pomieszczeniem. Oświetlenie, audio, itd.