# Pogadaj z Jolką

**URL:** <https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546>\
**Category:** Uncategorized\
**Created:** [30 Czerwiec 2020 07:39 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546 "2020-06-30T07:39:28Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [30 Czerwiec 2020 07:39 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/1 "2020-06-30T07:39:28Z")

</div>

Cześć,  
czy jest tutaj ktoś kto używa polecenia aktywującego(“Alexa”, “Avocado”, itp.)?  
O ile z wydawania poleceń na żądanie(przyciskiem mikrofonu) jestem zadowolony o tyle wykrywanie polecenia aktywującego czasami działa, czasami nie, czasami ma fake-detekcje. Próbowałem już różnych wartości czułości nasłuchiwania i nie udało mi się znaleźć złotego środka, a krzyczenie czy też wielokrotne powtarzanie polecenia mija się z celem.

Drugie pytanie to czy badał ktoś temat dodania słowa kluczowego np. Jolka" jako słowo aktywujące?

---

<div class="post-metadata">

**Autor:** ![begginer](https://avatars.discourse-cdn.com/v4/letter/b/c67d28/32.png) [@begginer](https://ai-speaker.discourse.group/u/begginer)\
**Data wpisu:** [30 Czerwiec 2020 11:50 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/2 "2020-06-30T11:50:07Z")

</div>

Masz rację, że różnie to działa jeśli chodzi o polecenia aktywujące i z pewnością wymaga jeszcze dopracowania. Także retoryczne pytanie ‘Witaj w domu, powiedz w czym mogę Ci pomóc?’  
powinno aktywować mikrofon w oczekiwaniu na polecenie. Chętnie  
widziałbym taką formułę, że po wejściu do domu/mieszkania jeżeli  
według geolokalizacji nie było mnie dłużej niż x czasu(powiedzmy godzinę) to następuje powitanie i pytanie Jolki czy przekazać raport co się zmieniło od czasu opuszczenia lokalizacji np. naruszenia czujników, zmiana temperatury, wilgotności, dzwonki do drzwi/furtki, czy włączyć muzykę lub światła w/g wcześniej ustalonej sceny lub pory dnia itp. Teoretycznie jest to już możliwe poprzez skrypty i automatyzacje ale ponieważ wiele funkcji i integracji zostało wbudowanych to zrobienie takiej wbudowanej interakcji z odhaczanym listingiem obsługiwanych raportów/poleceń nie przekracza aktualnych możliwości bramki.  
Nie chcę aby brzmiało to jak narzekanie więc dopowiem, że od dawna żaden gadżet nie sprawił mi tyle radości co bramka AIS.

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [1 Lipiec 2020 11:20 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/3 "2020-07-01T11:20:02Z")

</div>

> [@Stravi](#):
>
> o tyle wykrywanie polecenia aktywującego czasami działa, czasami nie, czasami ma fake-detekcje

Tak, wiemy - rozpoznawanie słowa aktywującego mikrofon (nasłuchiwanie wyrażenia aktywującego) to jest coś co wymaga `gruntownego ulepszenia`.

Jesteśmy otwarci na integrację mechanizmu opracowanego przez jakąś firmę, która się tym zagadnieniem profesjonalnie zajmuje. Mieliśmy spotkania i prezentacje ale niestety okazuje się, że taki działający mechanizm który nie jest zamknięty i działa to… nie bardzo istnieje jeszcze na rynku…

To co dostarczamy to rozwiązanie firmy Picovoice która twierdzi, że jest najlepsza… a widzimy jak to działa.

> **[Picovoice — Developer-First Voice AI Platform](https://picovoice.ai/)**
>
> Picovoice is the end-to-end platform for adding voice to anything on your terms. Thousands of startups and Fortune 500s rely on Picovoice's AI platform.

Inne mechanizmy są albo kupione przez korporacje i zamknięte do wewnętrznego użytku\* albo nie działają.

\*np. Sonos kupil ostatnio startup Snips (żeby uniezależnić się od Google, którego pozwał za kradzież technologii) [https://snips.ai/](https://snips.ai/) za 37 millionów $ i zamknął dostęp dla innych firm do technologii Snips

> [@begginer](#):
>
> Chętnie  
> widziałbym taką formułę, że po wejściu do domu/mieszkania jeżeli  
> według geolokalizacji nie było mnie dłużej niż x czasu(powiedzmy godzinę) to następuje powitanie i pytanie Jolki

Tu jest namiastka czegoś takiego 😉

> [@Jolka Wita i co włączyć pyta - automatyzacja włączenia mikrofonu przez API](https://ai-speaker.discourse.group/t/jolka-wita-i-co-wlaczyc-pyta-automatyzacja-wlaczenia-mikrofonu-przez-api/328):
>
> Opis Jak dodać przykładową automatyzację włączającą mikrofon Zróbmy automatyzację, w której Jolka zapyta o coś a następnie włączy mikrofon w celu uzyskania i przetworzenia odpowiedzi. Działać to będzie tak, że po wejściu do biura Jolka nas przywita a następnie zapyta jaką ma włączyć muzykę. Wyzwalacz W naszym biurze mamy czujnik Zigbee na drzwiach, wyzwalaczem automatyzacji będzie otwarcie drzwi. Warunki Dodajemy warunki, które nas interesują, np. czas i stan odtwarzacza …

Oczywiście dostarczymy lepsze mechanizm jak to tylko będzie możliwe techniczne, w tym segmencie IT (rozpoznawanie mowy) rewolucja jest co tydzień i to tylko kwestia czasu kiedy normalnie działający mechanizm będzie dostępny 🙂

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [1 Lipiec 2020 11:28 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/4 "2020-07-01T11:28:50Z")

</div>

> Dajemy kilka sekund na dokończenie mówienia przez Jolkę i zastanowienie się nad odpowiedzią przez użytkownika Jolki i włączamy mikrofon:

Pozwolę sobie pociągnąć temat tutaj dalej.  
Który mikrofon? Bramka zdaje się nie ma mikrofonu, więc pilot, tablet?  
Dobra, przetestowałem. Odpala mikrofon na pilocie. A da się jakoś odpalić mikrofon na tablecie?

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [1 Lipiec 2020 12:14 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/5 "2020-07-01T12:14:33Z")

</div>

> [@Stravi](#):
>
> Który mikrofon? Bramka zdaje się nie ma mikrofonu, więc pilot, tablet?

do bramki można dołączyć mikrofon po USB, testowane z Sony PS Eye  
Android sam powinien przełączyć na najlepszy mikrofon (tak samo jak przełącza audio na HDMI lub SPDIF) ale najlepiej zostawić podłączony jeden mikrofon (żeby mieć pewność który działa).

Coś takeigo można kupić za 20 zł 😉  
 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/5/56edbe45536e0ac86eb9b46d5b4bb1f38cf81553.jpeg)

> [@Stravi](#):
>
> A da się jakoś odpalić mikrofon na tablecie?

Na tą chwilę nie ma takiej funkcjonalności, pozwalamy tylko na zdalne sterowanie odtwarzaczem adudio, wbudowanym w aplikację klienta, ale w sumie możemy coś takiego dodać.  
To co się dzieje po naciśnięciu przycisków w powiadomieniu AIS (czyli też ikonki mikrofonu na telefonie/tablecie)

 ![Screenshot_20200701-135713](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/f66f633835589e40ce6b827238dc584006c18834.jpeg)

jest tu w kodzie:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/0/0d22a4ea2dbbfc70198a502f3d05875062220567.png)

Czyli wystarczy, że uruchomimy tą samą akcję która jest uruchamiana po naciśnięciu przycisku mikrofonu ale zdalnie z bramki.

fajny pomysł 🙂 daje zgłoszenie do Github

> <https://github.com/sviete/AIS-dom/issues/2>
>
> see https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/4

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [1 Lipiec 2020 13:03 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/6 "2020-07-01T13:03:30Z")

</div>

Super że pomysł się spodobał.

1. Jak się ma wpinanie takiego mikrofonu do docelowego rozwiązania jakim jest głośnik? (z tego co pamiętam docelowo bramka ma wylądować w głośniku? BTW może już znacie przybliżony termin? może jakaś dev wersja?)

2. Włączanie wszystkich mikrofonów na raz nie jest dobrym pomysłem, może jakiś “Pomocnik” z wyborem mikrofonu używanego jako default i dodanie pola w ais\_ai\_service.publish\_command\_to\_frame umożliwiającego wskazanie mikrofonu?

3. TTS też jest puszczany na wszystkie możliwe urządzenia co w przypadku tabletu i bramki w jednym pomieszczeniu brzmi często niewyraźnie, bo komunikaty nie są zsynchronizowane(czego nie wymagam), ale fajnie byłoby mieć opcję zaznaczenia gdzie ma lecieć treść TTS, może podobnie jak w pkt 2? 🙂

Ad 2. przetestowałem włączanie przyciskiem Aqara mikrofonu w pilocie. Działa ok, ale trzeba go mieć w ręce, jeśli leży na szafce to nie łapie dźwięku, co w sumie traci ten ‘use case’ .

---

<div class="post-metadata">

**Autor:** ![bif1005](https://avatars.discourse-cdn.com/v4/letter/b/f0a364/32.png) [@bif1005](https://ai-speaker.discourse.group/u/bif1005)\
**Data wpisu:** [31 Sierpień 2020 20:24 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/7 "2020-08-31T20:24:57Z")

</div>

Mam problem z mikrofonem.  
Do bramki podpięta jest po USB karta dźwiękowa z wyjściem na mikrofon, oryginalny pilot oraz kamerka Sony PS Eye.  
Czyli w zasadzie są 3 mikrofony w systemie.  
Czasami zdarza się, że Android nie widzi ani mikrofonu z kamerki ani z pilota (zakładam, że przełącza się na mikrofon z karty dźwiękowej). No i wtedy nie ma możliwości wydania komendy głosowej.  
Czy jest możliwość wybrania na stałe mikrofonu np. z kamerki??  
Czyli w zasadzie chodzi o punkt 2 z wypowiedzi [Stravi](https://ai-speaker.discourse.group/u/Stravi)

---

<div class="post-metadata">

**Autor:** ![Akszyn](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/akszyn/32/4038_2.png) [@Akszyn](https://ai-speaker.discourse.group/u/Akszyn)\
**Data wpisu:** [26 Luty 2021 15:46 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/8 "2021-02-26T15:46:23Z")

</div>

@bif1005 czy był jakiś problem z dodaniem mikrofonu do Ais?

> [@bif1005](#):
>
> USB karta dźwiękowa

I jak się sprawuje Oraz jaki to model ?

---

<div class="post-metadata">

**Autor:** ![bif1005](https://avatars.discourse-cdn.com/v4/letter/b/f0a364/32.png) [@bif1005](https://ai-speaker.discourse.group/u/bif1005)\
**Data wpisu:** [28 Luty 2021 19:25 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/9 "2021-02-28T19:25:58Z")

</div>

Na chwilę obecną odłączyłem od bramki - będę instalował devkit.  
Używałem takiej karty:  
[https://nowyelektronik.pl/index.php?id\_product=90611&controller=product](https://nowyelektronik.pl/index.php?id_product=90611&controller=product)  
Całkiem nieźle się sprawowała…

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [16 Wrzesień 2021 17:55 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/10 "2021-09-16T17:55:30Z")

</div>

Hej  
Mam kilka nurtujących pytań.  
@jolka bardzo proszę w miarę możliwości o odpowiedź na poniższe zagadnienia.

Aktualnie pracujecie nad aplikacjami mobilnymi, może któreś z poniższych opcji jest możliwa do wprowadzenia bez większego wysiłku przy aktualnych kompilacjach.  
Nie jestem programistą i może niektóre z tych rzeczy są abstrakcyjne,  
a niektóre możliwe, że z niewiedzy w ogóle źle rozumiem 😝

## 1

Czy jest możliwość aktywowania zdalnie w apliakcji mikrofonu (emulator przycisku)?  
Rozumiem, że jest to guzik, `if naciśniesz ` to włacz mikrofon, tak samo hotword jak wykryje to wlacz mikrofon, czy można zrobić dodatkowego trigera, komende, np. tak jak mogę “mobile\_ais\_dom\_4534436” dać usługę notify to on jest wyzwalaczem?

## 2

Czy jest możliwość aby w jakiś sposób atrybutować powiedziane komendy przez aplikacje X i Y.  
Mówie do jednego telefonu to komenda ma atrybut mobile\_ais\_dom\_453443 a do drugiego mobile\_ais\_dom\_99999.  
Można by zrobić wtedy w intencjach, że jak mówię do tabletu X to samo `zapal światło` wystarczy, bo wiem z jakiego pokoju mówię  
W momencie przełączenia guzika w aplikacji, mogę wyciągnąć jaki użytkownik to zrobił `data.new_state.context.user_id` i żeby było tak samo w przypadku głosowej komendy.  
W Dzienniku widzę, kto przełaczył, ale jak komenda jest głosowa to nie widać.  
Tak samo `data.new_state.context.user_id:null`  
Żeby np. można było w intencjach zrobić akcję wysłania “komendy” przez mqtt z ID użytkownika/ urządzenia

## 3

Czy jest możliwe dodanie “sensora”, w momencie włączenia mikrofonu, czy to przez guzik, czy też hotword, jest sobie encja, która zmienia stan np. `true`, po deaktywacji `false`

Zastosowanie: w przypadku włączenia mikrofonu, ściszam telewizor żeby lepiej zrozumiał to co mówie. Tutaj też istotne jest który mikrofon w jakiej aplikacji.

## 4

Czy jest jakaś możliwość wyłączenia agenta AIS,  
a żeby został jedynie Conversation z własnymi sentencjami.  
Tak jak mogę wyłaczyć agenta Google Home odinstalowując integracje google home  
Chodzi o to żeby w razie czego powiedział `nie rozumiem` a nie sam wymyślał `Włączam parowanie urządzeń zigbee`

## 5

Jak dobrze zrozumiałem, wrzucacie do `/res/raw` swój wakeword i kompilujecie.  
Czy jest możliwość aby aplikacja miała dynamiczne pobranie tego keyworda?  
Robię sobie swoje słowo “hej banana” pobieram plik ppn i wrzucam do jakiegoś folderu w androidzie, albo w aplikacji?

## 6

Czy zrobienie polskiego hotword `Jolka` to jakaś duża kasa w picavoice?  
Na stronie mają info, że customowo robią takie rzeczy,  
czy może po prostu nie chcieli zrobić polskiego?

## 7

Podłączyłem ps eye do bramki oraz komputera, postawiłem oba mikrofony dosłownie obok siebie.  
Wybrałem “alexa” na nasłuch i maksymalną czułość i włączyłem konsole picovoice na kompie.  
Mówiłem wolno, szybko, głośno cicho, blisko daleko…  
Zdarzało się, że w konsoli łapało, a w bramce nie… nigdy na odwrót.  
Czy są jakieś racjonalne powody dlaczego tak może się dziać? Co może mieć na to wpływ? Stara wersja? Mikrofony również zamieniłem, żeby wyeliminować tą zmienną.

## 8

> [@jolka](#):
>
> Oczywiście dostarczymy lepsze mechanizm jak to tylko będzie możliwe techniczne, w tym segmencie IT (rozpoznawanie mowy) rewolucja jest co tydzień i to tylko kwestia czasu kiedy normalnie działający mechanizm będzie dostępny 🙂

Czy jest coś na horyzoncie?  
Wydaje mi się, że problem jest tylko w hot word,  
bo stt działa całkiem dobrze (to googlowe, czy to Rhino?)  
Niby picavoice robi przez deep learning, tylko w którym momencie? Jak sobie sami słowa zrobią ze swoich sampli?  
Ja to rozumiem tak, że stale jak ja gadam to się uczy i zawęża pod mój głos.  
To tak żeby każdy sam mógł w warunkach swojego mikrofonu, tonu głosu, echa itp wyćwiczyć tego hotworda, nawet jeżeli miało by to być gwizdnięcie 😛 I taki deep learning byłby nalepszy.

* * *

**Zdarzały się złe interpretacje więc podkreślę,  
nic nie żądam, nic nie wymagam, tylko grzecznie pytam. 🙂**

Wydaje mi się, że są tu również inne osoby, które się zainteresują tematem.

EDIT

## 9

Jeszcze jedno, jak moge ustawić intencje żeby jak mówię do mikrofonu to nie odpowiada mi do wszystkich urządzeń tylko tego gdzie mówie.

---

<div class="post-metadata">

**Autor:** ![Tomasz](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/tomasz/32/286_2.png) [@Tomasz](https://ai-speaker.discourse.group/u/Tomasz)\
**Data wpisu:** [17 Wrzesień 2021 08:07 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/11 "2021-09-17T08:07:51Z")

</div>

> [@bartik22](#):
>
> Wydaje mi się, że są tu również inne osoby, które się zainteresują tematem.

Podbijam temat, chyba wszystkim nam ciągle brakuje głośnika z mikrofonem od AIS, takiego na wzór google/alexa ale który działa lokalnie i bez obaw o prywatność:  
[Google przyznał się, że nas podsłuchuje, „bo tak jest lepiej” (spidersweb.pl)](https://spidersweb.pl/2019/07/asystent-google-podsluchuje.html)  
Po cichu cały czas liczyłem jednak że pojawi się gotowiec od AIS.  
Wiemy, że można [głośnik ais diy](https://allegro.pl/oferta/ai-speaker-glosnik-diy-do-bramki-ais-dom-dev1-bt-10454949596) + mikrofon eye…

> [@bartik22](#):
>
> Zdarzały się złe interpretacje więc podkreślę,  
> nic nie żądam, nic nie wymagam, tylko grzecznie pytam. 🙂

Tu też podbijam 😉 + wielki szacunek dla całego zespołu AIS za świetną robotę i edukacje 👏

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [17 Wrzesień 2021 16:30 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/12 "2021-09-17T16:30:41Z")

</div>

> [@bartik22](#):
>
> Czy jest możliwość aktywowania zdalnie w apliakcji mikrofonu (emulator przycisku)?  
> Rozumiem, że jest to guzik, `if naciśniesz ` to włacz mikrofon, tak samo hotword jak wykryje to wlacz mikrofon, czy można zrobić dodatkowego trigera, komende, np. tak jak mogę “mobile\_ais\_dom\_4534436” dać usługę notify to on jest wyzwalaczem?

## ad 1. 😉

tak - to jest możliwe - mamy w api coś takiego jak API i zasób ` command` i jak się tam wyśle `micOn` to powinno zadziałać

Tu jest opis api:

> **[API systemu | AI-Speaker](https://ai-speaker.com/docs/ais_bramka_api_index/)**
>
> Wprowadzenie

Przykład, mam tablet który ma IP 192.168.6.248

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/e/e096ed37149d390ae5a29aea7a89b824212119e5.png)

wchodzę na to IP - wywołuje API AIS - w przeglądarce (robie GET na API na porcie 8122) i widzę, coś tekigo:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/836fdf2babf792079a7f8028eee7d85357458d88.png)

żeby wywołać zasób ` command` trzeba zrobić POST-a (wywołać inną metodę) z parametrami, to już z konsoli:

```auto
curl -v --header "Content-Type: application/json" --request POST --data '{"micOn": true}' http://192.168.6.248:8122/command

```

komenda trafia do API aplikacji ais-dom (zainstalowanej na tablecie/telefonie):

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/9/9b085e25c27be14695ce52b9889bf6b1345384c7.png)

i w efekcie włączył się mikrofon:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/88c652acb7c03fa7e428a6e5b0f76f1ab28c81b2.png)

Opisaliśmy kiedyś podobny przypadek w tym poście:

> [@Jolka Wita i co włączyć pyta - automatyzacja włączenia mikrofonu przez API](https://ai-speaker.discourse.group/t/jolka-wita-i-co-wlaczyc-pyta-automatyzacja-wlaczenia-mikrofonu-przez-api/328):
>
> Opis Jak dodać przykładową automatyzację włączającą mikrofon Zróbmy automatyzację, w której Jolka zapyta o coś a następnie włączy mikrofon w celu uzyskania i przetworzenia odpowiedzi. Działać to będzie tak, że po wejściu do biura Jolka nas przywita a następnie zapyta jaką ma włączyć muzykę. Wyzwalacz W naszym biurze mamy czujnik Zigbee na drzwiach, wyzwalaczem automatyzacji będzie otwarcie drzwi. Warunki Dodajemy warunki, które nas interesują, np. czas i stan odtwarzacza …

Cały czas mamy tą automatyzacje - mikrofon to PS3 podpięty do bramki w biurze.  
Oczywiście wyzwalaczem nie muszą być drzwi ale coś zupełnie innego - dowolnego… zapalenie światła w kuchni rano, wykrycie ruchu, wykrycie obecności …

Może to być też głos, np taki moduł wykrywający słowo triger może włączyć mikrofon przez API AIS:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/3/37d85f5d7f779fe81ce8f6d25d5a9c53cb46d2e7.jpeg)

tu jest więcej o tym module:

> **[Offline speech recognition MCU module comes with speaker, microphone, and...](https://www.cnx-software.com/2021/08/17/offline-speech-recognition-mcu-module-comes-with-speaker-microphone-and-uart-connectors/)**
>
> We found out about Unisound US516P6 RISC microcontroller inside an offline voice assistant module last May. The module offers offline speech recognition

> **[US516P6 RISC microcontroller powers offline voice assistant modules - CNX...](https://www.cnx-software.com/2021/05/14/us516p6-risc-microcontroller-powers-offline-voice-assistant-modules/)**
>
> I recently wrote about a Linux microwave oven with a built-in voice assistant, and somebody mentioned a quad-core SoC was overkill, and instead US516P6

* * *

## cdn… Poczytamy i odpowiemy 🙂 Dzięki za wyrozumiałość!

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [17 Wrzesień 2021 19:39 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/13 "2021-09-17T19:39:32Z")

</div>

Dzięki wielkie!  
Całkowicie zapomniałem o API 😱  
Oczywiście działa elegancko:

 ![fdgfdgd](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/1975f1fc18fea3f200e88be2f10993cd69e3fcda.png)

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [18 Wrzesień 2021 10:23 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/14 "2021-09-18T10:23:54Z")

</div>

To tak:  
w dokumentacji jest to napisane tak jak by dotyczyła tylko API bramki,  
chociaż teraz jak już wiem to wyłapałem:

```auto
API bramki (dostęp do natywnych zasobów systemu Android) na porcie 8122

```

I teraz:

```auto
Obecnie dostępne są 2 zasoby http://ais-dom.local:8122/text_to_speech i http://ais-dom.local:8122/command

```

Jeżeli chcemy wysłać notyfikację na telefon to mamy opcje:

1  
standardowo przez Asystentke Jolka, jak mamy otwartą aplikację to powie na wszystkich urządzeniach

![gfhtfht](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/c/cec1283c6711c5588b9cc1a9ef454afb091c20d7.png)

2  
przez usługę notify bezpośrednio do jednej aplikacji.  
ais\_ai\_service.mob\_notify  
Ustawiając `say: true` apliakcja powie wiadomosć i będziemy mieli również notyfikacje na pasku.

3  
po prostu poprzez casta przez tts na konkretnego media\_player wysyłamy  
`"data":{"message": "Uwaga, Awaria grzałki"}`  
co powoduje otworzenie na telefonie takiego czarnego ekranu apliakcji AIS jak przy streamowaniu.

![fdghdfh](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/5/55da77fc48f70946aee2379ad96c6fa6b603fa3a.png)

4  
I teraz doszło 🙂 przez API do konkretnej aplikacji za pomocą `/text_to_speech`  
w tym przypadku, nic nie zaloguje do dziennika, nie powie w innych aplikacjach oraz nie pokaże żadnej notyfiakcji nic nie wyskoczy ani się nie włączy, ekran będzie zgaszony… **po prostu powie.**  
Puszczając przed komunikatem jeszcze `{"setVolume":"80"}` na` /commands`  
Ustawiamy sobie głośność na 80% i puszczamy komunikat.

 ![gfhfdghrt](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/5/5bb5898f9bd9a2bc52f17eb5bf856e318942113a.png)

Jak by ktoś chciał: [flows (2).json](https://ai-speaker.discourse.group/uploads/short-url/8t2TlQKn397hz0aTNq7tYb1sKLB.json) (3,6 KB)

Zauważyłem tylko jedną rzecz, przy puszczeniu na `/text_to_speech` komunikatu zostaje wypowiedziany, a puszczając drugi i enty raz ten sam komunikat już nic nie mówi, **dlaczego?**  
Puszczenie innego lub pustego `{"text":""}` rozwiązuje ten problem.

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [21 Wrzesień 2021 15:26 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/15 "2021-09-21T15:26:05Z")

</div>

> [@bartik22](#):
>
> a puszczając drugi i enty raz ten sam komunikat już nic nie mówi, **dlaczego?**

tak to tak działa, bo komunikaty mogą być odtwarzane na 2 sposoby:

1. przez tts w przeglądarce

2. przez nasze natywne API

Zdarzało się, że komunikat był mówiony 2 razy

> [@Podwójne komunikaty Jolki i nie rozpoznawanie urządzeń](https://ai-speaker.discourse.group/t/podwojne-komunikaty-jolki-i-nie-rozpoznawanie-urzadzen/245/9):
>
> U mnie tak: przeglądarka Edge (Chromium) wersja softu 0.105.7 mówi prawidłowo aplikacja android 1.1.4 mówi prawidłowo rok ale temperaturę dziwnie tak jak opisałeś u siebie

i dlatego dodaliśmy takie zabezpieczenie na bramce i teraz 2 razy nie mówimy tego samego…

Ale jak widać to faktycznie może być też problem. Coś kiedyś wymyślimy lepszego, narazie pozostaje faktycznie obejście z pustym komunikatem.

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [22 Wrzesień 2021 10:44 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/16 "2021-09-22T10:44:47Z")

</div>

> [@jolka](#):
>
> Zdarzało się, że komunikat był mówiony 2 razy

Tak się tylko dzieje wtedy jak mamy zalogowanego użytkownika tego samego na bramce i na urządzeniu mobilnym, na każdym musi być inny użytkownik. wtedy nie ma podwójnych komunikatów.

---

<div class="post-metadata">

**Autor:** ![jolka](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/jolka/32/5_2.png) [@jolka](https://ai-speaker.discourse.group/u/jolka)\
**Data wpisu:** [23 Wrzesień 2021 09:00 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/17 "2021-09-23T09:00:15Z")

</div>

## ad 2. kontekst w automatyzacji

> [@bartik22](#):
>
> Czy jest możliwość aby w jakiś sposób atrybutować powiedziane komendy przez aplikacje X i Y.  
> Mówie do jednego telefonu to komenda ma atrybut mobile\_ais\_dom\_453443 a do drugiego mobile\_ais\_dom\_99999.

To co opisałeś to ciekawa funkcjonalność i coś takiego kiedyś będzie 🙂

Już teraz możemy definiowac automatyzację uruchamianą komendami głosowymi:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/5/54e967f9ce7eaacf2506e371a5362d492c6db1e5.png)

Należało by teraz przy wywołaniu automatyzacji dodać kontekst - obszar lub urządzenie którego automatyzacja dotyczy:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/4/47b8bbd70905496ba414293e57b87234e959ef89.png)

mając ten kontekst mogli byśmy wykonać automatyzację bardziej “smart”:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/f/f1d7abc37520340d8e9b1c2779c9e2c3fd1f98e5.png)

Żeby to osiągnąć można:

1. Poczekać aż ktoś to doda do HA i wtedy pojawi się to a AIS
2. Zgłosić to jako pomysł u nas na forum - jak znajdzie się odpowiednia ilość ludzi, którzy to poprą, to namówimy @3.14 albo @araczkowski albo @Sebastian , żeby to napisali, oczywiście pomożemy 🙂

Mam wrażenie, że ten pomysł może być łatwo zrealizowany (nie jest to duża zmiana). Wg mie należało by tylko dodać nową encję z informacją jaki klient wywołał usługę. Jeżeli naprawdę potrzebujesz taką funkcjonalność, to tu jest opis zasad zgłaszania pomysłów autorstwa @Stravi 👍

> [@Tego mi brakuje i za to zapłacę](https://ai-speaker.discourse.group/t/tego-mi-brakuje-i-za-to-zaplace/872):
>
> UWAGA!!! to jest pilotażowy temat i nikt nie gwarantuje, że taski tutaj wpisane zostaną wykonane przez kogokolwiek z społeczności tego forum, a tym bardziej przez zespół AI Speaker! Temat ten jest wynikiem [tego postu](https://ai-speaker.discourse.group/t/widget-w-aplikacji-mobilnej/847/9?u), oraz wcześniejszej wymiany kilku zdań. To jest miejsce gdzie każdy komu brakuje ważnej dla niego funkcji oraz ma jej wyobrażenie może nam ją przedstawić. Co ważne, osoba taka powinna poprzeć pomysł własną deklaracją częściowej zapłaty za pracę programisty. Jeśli ktoś z nas na for…

---

<div class="post-metadata">

**Autor:** ![Stravi](https://avatars.discourse-cdn.com/v4/letter/s/e9c0ed/32.png) [@Stravi](https://ai-speaker.discourse.group/u/Stravi)\
**Data wpisu:** [23 Wrzesień 2021 09:10 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/18 "2021-09-23T09:10:33Z")

</div>

Poniekąd jest to już wpisane w plany:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/1/180b6768bd5310f74738551d9f991603bf8b1846.png)

> **[Intents | Home Assistant Developer Docs](https://developers.home-assistant.io/docs/intent_index/)**
>
> An intent is a description of a user's intention. Intents are generated by user actions, like asking Amazon Echo to turn on a light.

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [23 Wrzesień 2021 09:33 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/19 "2021-09-23T09:33:55Z")

</div>

> [@jolka](#):
>
> To co opisałeś to ciekawa funkcjonalność i coś takiego kiedyś będzie 🙂

Kurczę, myślałem, że można już to jakoś łatwo wyciągnąć beż żadnych zmian w aplikacji, tylko po prostu nie wiem jak ☹

> [@jolka](#):
>
> Wg mie należało by tylko dodać nową encję z informacją jaki klient wywołał usługę

Jak w **ad. 3** - to by wystarczyło, aby zrobić automatyzację, że gdy mikrofon się uruchamia (zmienia się stan switch) na danym urządzeniu to wiemy że mówimy właśnie do niego.  
(tak jak samo zmienienie stanu switch już ma atrybut użytkownika user\_id)

Rozumiem, że guzik mikrofonu zrobiliście Wy? A nie z aplikacji HA.  
Czyli po aktywacji mikrofonu (z jakiego kolwiek powodu- guzik, api, hotword), oprócz rozpoczęcia usługi “nagrywania” zmienia on stan encji (chociażby pomocnika), po zakończeniu, tak samo jak guzik zmienia stan na nieaktywny tak samo zmiani encję switcha na wyłączony.

Czy to nie jest dodanie jednej liniki kodu właśnie w tym miejscu?

> [@jolka](#):
>
> ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/0/0d22a4ea2dbbfc70198a502f3d05875062220567.png)
> 
> image1056×663 95.4 KB

---

<div class="post-metadata">

**Autor:** ![bartik22](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/bartik22/32/4937_2.png) [@bartik22](https://ai-speaker.discourse.group/u/bartik22)\
**Data wpisu:** [23 Wrzesień 2021 09:59 UTC](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546/20 "2021-09-23T09:59:38Z")

</div>

Czy na podstawie tego booleana, nie można zrobić chociażby publish mqtt z nazwą aplikacji (mobile\_ais\_dom\_87676)

AisCoreUtils.java

 ![fdgsrgre](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/8/8d374b7e276e55674bca16c34c837460c402931b.png)

EDIT.

Hmm…  
to tutaj trzeba dodać sensor z unikalną nazwą urządzenia?

DomWebInterface.java

 ![gfhddtfht](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/a/ad1cbc5372932bdbeb9fa1cbc1667cd682dbeee6.png)

 ![trhtrhgtrh](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/2X/6/6da458e440d8ede74e85b8055496290218dbc7fd.png)

[Następna strona](https://ai-speaker.discourse.group/t/pogadaj-z-jolka/546.md?page=2)
