Assistent de veu en espanyol amb Home Assistant + integració amb OpenAI + VoIP

Com ja va anunciar Home Assistant, aquest 2023 serà l' any de la veu, l'any on puguem controlar la nostra llar mitjançant la veu de manera segura. Però no només això, si no que podrem integrar el nostre assistent amb OpenAI per preguntar-li el que ens de la gana! i espera que això no és tot, també veurem com podem parlar per telèfon amb el nostre Assistent!!!

Així com estàs entenent, ja és possible crear un Assistent a Home Assistant perquè ens atengui les peticions, bé per escrit, ben parlat per veu. Aquest Assistent nadiu estarà disponible en infinitat d'idiomes, entre ells, en Castellà o Espanyol, vagi. Podrem donar-li instruccions bàsiques perquè encengui/apagui llums, etc.… però també ens podrem crear les nostres pròpies frases particulars, perquè tregui les aspiradores, el tallacésped… I com diem en el títol, també podrem fer-li consultes perquè les respongui la IA (tan de moda ja), així que podrem integrar-lo amb OpenAI i preguntar-li el que vulguem que sempre sabrà la resposta 😉

Al final del post veurem també com podem habilitar VoIP a Home Assistant per poder trucar per telèfon a aquests Assistents i atenguin les nostres peticions. Ho farem amb un telèfon tradicional i amb un parell de softphones, un per a PC i un altre per al teu mòbil… la bomba!!!

Configuració de l' Assistent,

Comencem! el primer de tot serà instal·lar Whisper, aquest complement ens farà la conversió d' àudio a text, o sigui, Speech to text, per instal·lar-lo ens vam “Ajustaments” > “Complements” > “Add-on Store” i busquem 'Whisper',

Posem en “Install” per instal·lar-lo,

Un cop instal·lat, en la seva configuració tenim els models de transcripció, per defecte tyni-int8 serà el més habitual si tenim una Raspberry Pi 4 o similar, podrem triar models més complets però necessitarem més còmput. Aquí haurem d'indicar el nostre idioma, en llenguatge seleccionem 'es'. Posem en “Save”.

L'iniciem polsant en “Start”

Si anem a “Ajustaments” > “Dispositius i Serveis”, veurem que ens ho haurà descobert, punxem en “Configurar” del Whisper.

“Enviar”,

Ara instal·larem un altre complement, en aquest cas el farà servir Home Assistant per convertir el text a veu (text to speech), usarem Piper. Així que anem a “Ajustaments” > “Complements” > “Add-on Store” i busquem 'Piper',

L'instal·lem polsant en “Install”,

Un cop instal·lat Piper, en la seva configuració seleccionem la veu que volem que usi, en aquest cas farem servir 'es-carlfm-x-low', veu d' home en espanyol, tenim aquí la resta de veus per si volem escoltar-les per triar la que més ens agradi: https://rhasspy.github.io/piper-samples/

Guardem els canvis des de “Guardar”,

Posem en “Iniciar en l' arrencada” a més d' iniciar-lo immediatament des de “Iniciar”,

Ens haurà descobert Piper, ho verifiquem des de “Ajustaments” > “Dispositius i Serveis”, i punxem en “Configurar” del Piper.

“Enviar”,

Crear l' Assistent,

Bo, hi anem, vam crear el nostre primer Assistent, el que ens ajudarà a gestionar i saber l'estat de qualsevol dispositiu o entitat de Home Assistant. Per crear-lo anem a “Ajustaments” > “Assistents de veu” i pulsamoe en “Afegir Assistente”,

Li posem un Nom, en el meu cas el majordom es dirà Sebastian, li assignem un llenguatge, en aquest cas 'espanyol'. Com a Agent de conversa indicarem 'Home Assistant’ i l'idioma 'Español'. Per a l'ús de Veu a text farem servir 'faster-whisper’ amb l'idioma en 'espanyol'. I per a l' ús de Text a veu, usarem 'Piper', seleccionem 'espanyol’ i triem la veu que hem indicat anteriorment.

Posem en “Prova la veu” per provar i escoltar. Finalment posem en “Crear”,

Per provar a dalt la dreta a la GUI de Home Assistant amb un navegador o el client mòbil, tindrem una la icona per parlar amb l'assistent.

Seleccionem l'assistent nou creat i ja podem donar-li alguna instrucció, podem provar d'apagar/encendre alguna llum, dispositiu, pujar/baixar alguna persiana, portó… Ara té una funcionalitat bàsica i que si volem créixer, doncs entenc que o esperem a noves actualitzacions, o haurem de treballar-nos les nostres pròpies frases/sentences; però això ho veurem un altre dia 😉

Per cert, si volem fer servir el micròfon del nostre dispositiu per parlar, en comptes d' escrit. Haurem d'assegurar-nos que estem entrant a Home Assistant amb HTTPS i no amb HTTP. Si no tens HTTPS habilitat, et recomano que t'instal·lis 'NGINX Home Assistant SSL proxy’ i en un moment habilites la connexió segura. A partir d'aquí el micròfon es podrà fer servir amb l'assistent!!!

Integració amb OpenAI,

Bé, aquesta part és opcional, així que només si t'interessa que el teu Assistent de Home Assistant pugui respondre't a consultes que sàpiga la IA (Intel·ligència Artificial). La integració en aquest cas és amb OpenAI i serà necessari un compte de pagament, però no et preocupis que això no costa gairebé res, (la consulta amb gpt-3.5-turbo surt a $0.002), però sí que cal que el compte sigui de 'pagament'.

Total, que en https://platform.openai.com/account, anem a “Billing” i el tenim en “Set up paid account”.

Un cop llest, ja podrem obtenir la nostra API Key, anem a “Users” > “API keys” i posem en “Create news secret key”.

Li posem un nom, API per a 'Home Assistant’ & “Create secret key”. I ens generarà la clau que ens mostrarà en pantalla, ens copiem l'API key en un lloc segur.

Per instal·lar la integració de conversa amb OpenAI, anirem a “Ajustaments ” > “Dispositius i Serveis” > “Add Integration” > i busquem “OpenAI Conversation”

I tan senzill com pegar l'API key, “Enviar”,

Vam configurar OpenAI, per a això des de “Ajustaments” > “Dispositius i Serveis”. Punxem en “Configurar” de l' OpenAI Conversation.

Seleccionem, en el meu cas amb gpt-3.5-turbo em val i “Enviar”,

Crear un Assistent amb OpenAI,

Per poder usar OpenAI a Home Assistant necessitarem finalment crear un Assistent a Home Assistant i vincular-lo.

Per a això, anem a “Ajustaments” > “Voice Assistants” i creem un Assistent des de “Add Assistant”. Li posem un Nom, en el meu cas veieu que es dirà Erundino, pocs més llestos que ell hi ha… associem un idioma, en aquest cas 'espanyol'. Com a Agent de conversa indicarem “OpenAI Conversation” i l' idioma en “espanyol”. Com Veu a Text triem “faster-whisper” i l' idioma en “espanyol”. En Text a veu, fem servir “piper”, l' idioma en “espanyol” i la veu que selecionem anteriorment. Posem en “Crear”,

I llest, per provar, ja sabem que a la GUI de Home Assistant, a dalt a la dreta el tenim, seleccionem l'assistent amb OpenAI que acabem de crear i li preguntem pel que ens! Ho sap gairebé tot 😉

VoIP amb Home Assistant,

I per finalitzar aquest article veurem com és possible fer servir un telèfon tradicional, un que tingui connector RJ11, els de tota la vida; o vagi si tenim un telèfon VoIP, o millor encara, un softphone instal·lat al nostre PC o al nostre telèfon mòbil.

Sí, com estàs entenent bé, podràs controlar per VoIP des del teu mòbil la domòtica de la teva llar, o empresa… podràs tenir un accés directe al mòbil, que en polsar-li farà una trucada i t'atendrà el teu assistent al moment 🙂

Per habilitar VoIP a Home Assistant, instal·larem la integració que ho permet, anem a “Ajustaments” > “Dispositius i Serveis” > “Afegir Integració” > i busquem 'voip'.

Enviar,

Acabar,

Llist, així de fàcil tindrem una centraleta de VoIP esperant les trucades!

Fent trucades amb un telèfon clàssic,

Bé, si tenim un telèfon amb un connector RJ11, un telèfon dels de tota la vida, o un retro que vulguem posar al despatx, o a la cuina per parlar amb el/la assistent…

La millor opció és mitjançant el dispositiu Grandstream HT801, aquest dispositiu converteix qualsevol telèfon amb connector RJ11 en un telèfon VoIP, així de senzill. Hi ha algun model amb diversos connectors RJ11 per si volem algun telèfon addicional… El funcionament és molt senzill:

  • Connectem el RJ45 a la xarxa.
  • Connectem el RJ11 al telèfon.
  • Connectem el micro USB amb el carregador per encendre'l.

En encendre'l agafarà una adreça IP per DHCP, si volem saber-la, despengem el telèfon i posem *** i triem l'opció 02, ens dirà la IP el telèfon.

Accedim amb un navegador al seu IP, ens validem, per defecte admin / admin

I realitzem una configuració opcional mínima com pugui ser una adreça IP estàtica, canviar-li la contrasenya, establir el NTP de la nostra xarxa…

Perquè segons despengem el telèfon marqui a Home Assistant, anem a la pestanya “FXS PORT”, secció de “Offhook Auto-Dial” indicarem l'adreça IP de Home Assistant amb el següent format: *47192*168*1*116*5060 i posem “Apply”

Si despengem ja el nostre telèfon, farà la trucada automàticament i podrem escoltar com per l'auricular ens indica que hem de configurar aquest telèfon a Home Assistant abans de poder usar-lo.

Si anem a Home Assistant, en la configuració de 'Voice over IP’ veurem que ha detectat ja el nostre primer dispositiu! Posem en el dispositiu,

I aquí haurem de permetre-li que faci trucades i associar-lo a un Assistent de Veu que hàgim creat prèviament,

Aquest telèfon queda llest, podem parlar amb l'assistent amb un telèfon tradicional!

Fent trucades amb un softphone de PC,

Si vols des del teu equip el mateix, poder fer trucades fàcilment a Home Assistant per parlar amb algun dels teus assistents, aquests són els passos.

Estic fent servir MicroSIP, però entenc que en principi valdria qualsevol softphone. Una vegada instal·lat MicroSIP, o el que sigui, haurem de tenir en compte que tinguem els codecs Opus habilitats. Si tenim algun compte ja configurat a MicroSIP contra un altre VoIP, haurem de marcar aquí l'opció d'Activar compte local.,

I directament, sense fer gaire més, podrem marcar a la nostra centraleta de Home Assistant marcant en el següent format: DIRECCION_IP_HOME_ASSISTANT:PORT

Veurem igualment que ens indica una dolça veu que el telèfon s'ha connectat bé, però ha de ser configurat abans de ser usat.

Per a això, igualment, en la integració de Voice over IP ens haurà detectat un nou telèfon que haurem d'activar, per això marcarem 'Permetre trucades’ i assignarem l'Assistent que vulguem que l'atengui.

Fent trucades amb un softphone al mòbil,

I bo, aquest últim exemple on veiem com configurar en un telèfon mòbil d'Android una app per fer trucades de veu IP com pugui ser Mizudroid.

Un cop instal·lada l'app haurem de configurar-la, indiquem el Servidor i l'Usuari, dóna igual l' usuari, no hi ha d' haver prèviament, ni hem de crear res. Podem provar de fer la trucada a Home Assistant, marquem amb el format: sip:ha@DIRECCION_IP:PORT

Si ha anat bé, tornarem a escoltar la dolça voceta que ens indica que s'ha connectat bé, i que com sempre haurem d'activar-lo des de la integració de VoIP a Home Assistant, (permetre-li les trucades i assignar-li un Assistent).

A més, si hi afegim aquesta trucada a Contactes, podrem després crear-nos un accés directe a la pantalla del mòbil, perquè només sigui polsar-lo i fa la trucada al nostre Assistent, fàcil i senzill!

Bo, en aquest post hem vist un munt de coses que podem fer amb Home Assistant i la veu, podrem crear-nos assistents per interactuar amb la nostra llar, per parlar amb OpenAI, parlar amb els assistents des del propi navegador o app del mòbil nativa, així com mitjançant VoIP, una locura! Però això no acaba aquí, en futurs documents seguirem donant la tabarra, ens queda molt a veure!

Espero com sempre que hagi estat de profit per a algú, que moltes gràcies per llegir si heu arribat fins aquí i per suposat pels cors i likes i aquestes coses a les xarxes socials, s'agraeix!

Abraçades!

Posts recomanats

Autor

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, no dubtis a contactar amb mi, us intentareu ajudar sempre que pugui, compartir és viure ;) . Gaudir dels documents!!!

Arpwatch

30 de May de 2023