Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Powiedz to... Czyli tanie sterowanie głosem (vol. 2)

denwer 23 Wrz 2010 16:47 19376 30
  • 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)

    Link


    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 :) )


    Fajne!
  • #2 23 Wrz 2010 19:21
    722525
    Użytkownik usunął konto  
  • #3 23 Wrz 2010 19:51
    grala1
    Specjalista grupy V.A.G.

    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

  • #4 23 Wrz 2010 20:30
    mirekk36
    Poziom 42  

    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 napisał:
    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 napisał:

    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.

  • #5 23 Wrz 2010 21:06
    regrom
    Poziom 16  

    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" ?

  • #6 23 Wrz 2010 21:20
    mirekk36
    Poziom 42  

    regrom napisał:

    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.

  • #7 23 Wrz 2010 21:40
    regrom
    Poziom 16  

    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.

  • #8 23 Wrz 2010 21:42
    mipix
    Poziom 29  

    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.

  • #9 23 Wrz 2010 21:54
    drowning_man
    Poziom 15  

    Napisane jest w BASCOM'ie.

  • #10 24 Wrz 2010 09:49
    krystian08
    Poziom 16  

    mirekk36 napisał:
    Witam,



    grala1 napisał:
    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:)

  • #11 24 Wrz 2010 11:17
    denwer
    Poziom 14  

    Gege9797 napisał:
    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 napisał:
    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 napisał:
    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 napisał:
    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 napisał:
    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.

  • #12 24 Wrz 2010 12:49
    grala1
    Specjalista grupy V.A.G.

    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

  • #13 24 Wrz 2010 13:09
    denwer
    Poziom 14  

    grala1 napisał:
    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).

    Pinout gniazda

    Pamiętam że trzeba zewrzeć dwa piny ze sobą żeby telefon wykrył układ jako HF, ale które to nie pamiętam - trzeba by było poszukać schematu HF.

  • #14 24 Wrz 2010 13:33
    regrom
    Poziom 16  

    denwer napisał:


    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!

  • #15 25 Wrz 2010 12:17
    robin_hood_2010
    Poziom 12  

    Zobaczcie sobie program speech commander mam go w moim spv m650 sprawdza się świetnie i można nawet nagrywać własne komendy

  • #16 25 Wrz 2010 13:45
    denwer
    Poziom 14  

    robin_hood_2010 napisał:
    Zobaczcie sobie program speech commander mam go w moim spv m650 sprawdza się świetnie i można nawet nagrywać własne komendy

    Wszystko super ekstra ale:
    Nie ma komend AT
    Nie ma RS232
    Jest drogi w porównaniu do K700.

  • #17 27 Wrz 2010 23:20
    siwekyhy
    Poziom 14  

    Skąd wziołeś inforamcje na temat komend At i powiązanie tego z Bascomem ?

  • #18 01 Paź 2010 22:11
    kulpina
    Poziom 14  

    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? ;>

  • #19 06 Paź 2010 16:09
    djmarcelli
    Poziom 9  

    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

  • #20 06 Paź 2010 20:23
    grala1
    Specjalista grupy V.A.G.

    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.

  • #21 06 Paź 2010 23:58
    djmarcelli
    Poziom 9  

    grala1 może i bym mógł :) ale umiem coś zrobić tylko według schematu :/ Może masz jakiś pod ręką?

    Pozdrawiam djmarcelli

  • #22 09 Paź 2010 08:49
    grala1
    Specjalista grupy V.A.G.

    djmarcelli proszę o to schemat dla Ciebie.
    Powiedz to... Czyli tanie sterowanie głosem (vol. 2)
    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.

  • #23 10 Paź 2010 01:54
    denwer
    Poziom 14  

    siwekyhy napisał:
    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 napisał:
    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 napisał:
    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.

  • #24 18 Paź 2010 21:54
    excray
    Poziom 39  

    denwer napisał:
    Są gdzieś w internecie. Jak znajdę je na kompie w pracy to je wrzucę.


    Czy można prosić o wrzucenie tych komend pod k700i na forum?

  • #25 22 Paź 2010 16:52
    denwer
    Poziom 14  

    Tyle co udało mi się znaleźć.

    do siemensa:
    Link
    Jak coś znajdę to dodam.
    W większości komendy są kompatybilne.

  • #26 23 Sty 2011 02:22
    DjDaniel11
    Poziom 27  

    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.

  • #27 18 Wrz 2012 21:55
    jurekn22
    Poziom 2  

    Potrzebuję dla niepełnosprawnej żony takiej adaptacji telefonu stacjonarnego, żeby mogła go odbierać bez użycia rąk- np. gwizdnięciem i podobnie"odkładać słuchawkę". Czy to rozwiązanie można zadoptować do takich celów?
    Pozdrowienia

  • #28 28 Wrz 2012 10:32
    denwer
    Poziom 14  

    Raczej nie sądzę. Chyba że sprzężemy 2 telefony, ale to już przerost formy nad treścią.

  • #29 28 Wrz 2012 10:46
    jurekn22
    Poziom 2  

    Dziekuje! Jesli ma Pan jakies sugestie, gdzie moglbym kupic taki telefoin sterowany glosem ( stacjonarny ), to bede bardzo wdzieczny.
    Pozdrawiam1

  • #30 08 Paź 2012 22:33
    245292
    Użytkownik usunął konto