# 🗣 Hey Yolca - “Wake Word”, własne wyrażenie włączające mikrofon

**URL:** <https://ai-speaker.discourse.group/t/hey-yolca-wake-word-wlasne-wyrazenie-wlaczajace-mikrofon/3668>\
**Category:** Projekty\
**Created:** [28 Listopad 2023 15:18 UTC](https://ai-speaker.discourse.group/t/hey-yolca-wake-word-wlasne-wyrazenie-wlaczajace-mikrofon/3668 "2023-11-28T15:18:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Autor:** ![araczkowski](https://yyz2.discourse-cdn.com/free1/user_avatar/ai-speaker.discourse.group/araczkowski/32/6_2.png) [@araczkowski](https://ai-speaker.discourse.group/u/araczkowski)\
**Data wpisu:** [28 Listopad 2023 15:18 UTC](https://ai-speaker.discourse.group/t/hey-yolca-wake-word-wlasne-wyrazenie-wlaczajace-mikrofon/3668/1 "2023-11-28T15:18:48Z")

</div>

# 🗣 Własne wyrażenie włączające mikrofon “Wake Word”

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/e/f/ef91a1dd1f06ab260b2c3455936ac769ea23e033.jpeg)

Home Assistant udostępnił bardzo fajną funkcjonalność - można stworzyć własne słowo aktywujące nagrywanie komendy mikrofonem. W tym wpisie pokażę jak to zrobić.

## Wymagania

1. Home Assstant Supervised. Trzeba uruchomić bramkę z systemem Linux (z USB lub SD karty) tak jak to opisaliśmy tu:  
[🎉 Home Assistant Supervised na DEV1 DEV2 i DEV-BT](https://ai-speaker.discourse.group/t/home-assistant-supervised-na-dev1-dev2-i-dev-bt/3562)

2. Potrzebny będzie mikrofon USB, my zastosowaliśmy kamerę PS3 EYE , można kupić tu za 29 zł:  
[https://allegro.pl/oferta/ps3-eye-kamera-13980595043](https://allegro.pl/oferta/ps3-eye-kamera-13980595043)  

3. Potrzebny będzie głośnik USB, my zastosowaliśmy głośniki USB Creative  

## Podłączenie urządzeń do bramki

Podłączamy mikrofon (kamerę) do USB w bramce to samo robimy z głośnikami, logujemy się do bramki po ssh i sprawdzamy czy nasze urządzenia zostały poprawnie wykryte:

```auto
ssh root@<ip-bramki>
lsusb

```

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

## Instalacja dodatków w HA

Instalujemy i uruchamiamy następujące dodatki:

1. Piper  

2. Whisper  

3. openWakeWord  

4. Samba share  

5. VLC  

6. Assist Microphone  
Żeby zainstalować ten dodatek musimy dodać repozytorium:  
[https://github.com/rhasspy/hassio-addons](https://github.com/rhasspy/hassio-addons)  

## Trenowanie słowa aktywującego

Przechodzimy na stronę:

> **[Google Colab](https://colab.research.google.com/drive/1q1oe2zOyZp7UsB3jJiQ1IFn8z5YfjwEb?usp=sharing#scrollTo=1cbqBebHXjFD)**

Wpisujemy swoje słowa aktywujące mikrofon, obsługiwany jest tylko język angielski więc trzeba wpisać tak słowo żeby czytane po angielsku brzmiało w sposób w jaki chcemy je wypowiadać po polsku 🙂 Np. **Hej Jolka** piszemy **Hey Yolca**

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/2/d/2d983fd0ca2699f9cc32af2867b07b6511218e34.png)  
następnie przechodzimy kolejne kroki w celu wytrenowania wyrażenia aktywującego.  
Na koniec pobieramy nasze wyrażenie w formacie hey\_yolca. **tflite**

## Ustawienie wyrażenia aktywującego w HA

Na swoim komputerze uzyskaj dostęp do serwera Home Assistant za pośrednictwem Samby i przejdz do folderu `share`:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/a/4/a4c8f794f93825a44e86f80580aeb4ca7b2b1b57.png)

w folderze `share` utwórz folder `openwakeword`i skopiuj do niego wytrenowaną sentencję:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/b/d/bd92bc0c66dc6a285be39fa244ea92dd7301323f.png)

W aplikacji Home Assistant, przechodzimy do Ustawień → Integracji i zatwierdzamy wykryte integracje:  
Piper  
Whisper  
openWakeWord  
po ich dodaniu zostaną one zgrupowane w Wyoming Protocol:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/c/c/cc4684dda16cbd94e969748f69cf5b0fcfb2498d.png)

dodajemy też integracje VLC

Przechodzimy do Ustawień → Asystenci głosowi:

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/7/0/706f252f976dbd101cff1fee668fc6acfa2f6acc.png)

i edytujemy domyślnego asystenta

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/3/4/342b0c4d570296d086a61ec0aaf15cfc61d0ea26.png)

## Dodanie automatyzacji

Dodajemy automatyzację wyzwalaną sentencją “Która godzina”

 ![image](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/2/7/27820a55b8107f00248fde1edf2304a21c498f63.png)

akcja automatyzacji to powiedzenie godziny

```auto
alias: Jolka która godzina
description: ""
trigger:
  - platform: conversation
    command:
      - która godzina
      - godzina
      - jaki mamy czas
condition: []
action:
  - service: tts.speak
    data:
      cache: true
      media_player_entity_id: media_player.vlc_telnet
      message: Jest {{ states.sensor.time.state }}
    target:
      entity_id: tts.piper
mode: single

```

## Test

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

## Test wyrażenia aktywującego:

[![](https://global.discourse-cdn.com/free1/uploads/ai_speaker/original/3X/8/9/890c3a7cc03eb71b63d71b591747541de0c457f5.jpeg "Home Assistant and Yolca :)") ](https://www.youtube.com/watch?v=wkUXho2fmag)

### Wyrażenie aktywujące działa za każdym razem 🙂 czyli sukces 🎉

* * *

Gotowy obraz do PRO1, z zainstalowanymi i skonfigurowanymi wszystkimi dodatkami opisanymi w tym wpisie, dostępny jest tu:

> **[File on MEGA](https://mega.nz/file/9qkVnY6Z#84QpIauiI_ipNTq_9j7WbQrPZYF5r3gnl9sDvp95E9g)**

---

<div class="post-metadata">

**Autor:** ![boskikak](https://avatars.discourse-cdn.com/v4/letter/b/74df32/32.png) [@boskikak](https://ai-speaker.discourse.group/u/boskikak)\
**Data wpisu:** [4 Grudzień 2023 13:21 UTC](https://ai-speaker.discourse.group/t/hey-yolca-wake-word-wlasne-wyrazenie-wlaczajace-mikrofon/3668/2 "2023-12-04T13:21:51Z")

</div>

Sprawdzałeś może do jakiej odległości łapie ten mikrofon? Przy moim mems INMP441 jest to jakieś 2m max (bez podnoszenia głosu 😁 ). O ile wake word rozpoznawalny jest nawet z większej odległości to STT już nie jest rozumiany.
