|
![]() |
#1 |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
Pričanje s lokalnim AI
Znači cilj je nekako upogoniti lokalni LLM + Rhasspy + par mikrofona po stanu da se može kompletno pričati s lokalnim AI-jem (full offline) i istovremeno davati komande tipa "ugasi svjetlo". No zapeo već na prvom koraku - u dnevnom je HTPC s Windowsima, na njemu je mikrofon. U drugoj sobi je komp na kojem se vrti LLM. Treba nekako napraviti Speech to Text (STT) na način da komp u dnenvom sluša, snimi wav, pošalje kompu u drugoj sobi (OpenAI Whisper) koji onda obradi zvuk i dalje šalje Rhasspyu ili LLM-u, koji nakon responsa šalje Coqui TTS da napravi TTS i vrati wav nazad HTPC-u da ga izgovori. Stvar je očito mega komplicirana i sad gledam koje su druge opcije. Da li je netko slagao takav sistem u kojem bi znači bilo sve objedinjeno, STT, TTS, Home Assistant i naravno full LLM za pričat o glupostima? Chatgpt je probao složiti neku Python skriptu, ali ništa to ne pomaže. |
![]() |
![]() |
![]() |
#2 |
PRO
Datum registracije: Apr 2010
Lokacija: Zagreb
Postovi: 4,624
|
u borati jesi ga zakomplicira. ![]() šta fali nekom bluetooth zvučniku koji je spojen na tvoj server? A tvoj mudrac se pali kad čuje neke ključne riči, tipa: "Hej, mudrače!".
__________________
"Who is your daddy and what does he do?" |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#3 |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
Ništa ne fali, osim što nemam BT zvučnik, ali bi ga kupio kad bi znao da ću eliminirati sve ove zavrzlame. Zvučnik samo ispušta zvuk, problem je dovesti vlastiti glas do servera... i transcribati ga u tekst... |
![]() |
![]() |
![]() |
#4 |
Premium
Datum registracije: Sep 2018
Lokacija: tu
Postovi: 3,114
|
Meni se čini kako bi se taj krajnji dio možda najlakše dalo riješiti korištenjem nekog starijeg mobitela, pa da on služio kao audio ulaz i izlaz. Nisam baš momentalno pametan kako to odraditi, ali koristio sam droidcam aplikaciju da bih mogao koristiti kameru na mobitelu kao mobilnu kameru, tako da bi taj dio trebao (po meni) biti relativno jednostavan. Redovito ima nekih starih mobitela pri ruci pa bi se reklo da je to minimalan trošak. BTW, droidcam app od mobitela napravi web kameru, tako da bi LLM komp to trebao uredno vidjeti na mreži. YMMV. Nisam baš garant hoće li LLM komp htjeti vidjeti mob kao zvučnik, tako da bi to mogla biti dodatna začkoljica. A sve ovo ostalo, pojma nemam bogati. Jamačno dodatni problem bude ako želite spikati po naški ![]()
__________________
|
![]() |
![]() |
![]() |
#5 | |
PRO
Datum registracije: Apr 2010
Lokacija: Zagreb
Postovi: 4,624
|
Citiraj:
možda kupiti neki bluetooth mikrofon? ili da prvo samo spojiš slušalice sa mikrofonom i složiš ulaz da to sve radi. Kad on tebe bude čuo i razumio, onda možeš kreniti sa zamjenom tipa ulaza.
__________________
"Who is your daddy and what does he do?" |
|
![]() |
![]() |
![]() |
#6 |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
Ima dobrih TTS modela koji pričaju naški, ima čak i STT modela koji transcribaju naški... to je sve drugi korak kad riješim engleski ![]() Znači chatgpt je složio Python skriptu koja: 1. sluša na lokalnom kompu s mikrofonom 2. recorda 5 sekundi kad čuje govor 3. šalje serveru na transcribe 4. dobiva tekst natrag 5. šalje dobiveni tekst LLM-u na server 6. LLM šalje odgovor natrag 7. python skripta šalje dobiveni tekst Coqui TTS na server 8. CoquiTTS šalje wav natrag na playback 9. skripta pušta snimljeni wav file I što je najgore ovo je upravo proradilo nakon što se cijelo jutro zezam s ovim. I komplicirano je do ibera, da. Mora biti neki bolji način. |
![]() |
![]() |
![]() |
#9 |
Premium
Datum registracije: Sep 2018
Lokacija: tu
Postovi: 3,114
|
Ma može se stvari solidno skriptirati pa to pomogne dosta kod raznih (naknadnih) instalacija. Ali ovo je jako puno koraka i sve što se bude moralo ručno podešavati bude kasnije vjerojatno tražilo n+1 koraka ručnih podešavanja. Vjerojatno bi bilo pametno što više toga utrpati u neki distrobox ili docker tako da se podesi i ne dira nikad ![]() A meni se dobitak od toga na kraju čini minimalan. I tako bude elonov brain interface uskoro, pa neće trebati ni pričati, samo pomisliš i gasi svjetlo.
__________________
|
![]() |
![]() |
![]() |
#10 |
PRO
Datum registracije: Apr 2010
Lokacija: Zagreb
Postovi: 4,624
|
Prvo nek proradi, onda lako u Docker ![]()
__________________
"Who is your daddy and what does he do?" |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#11 |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
Ma da, izgleda da je ovo uzalud traćenje vremena. Mikrofon lovi i što treba i što ne treba Onda treba imati timeout, jer ne može skripta raditi konstantan send i dobivati konstantan transcript... Znači skripta mora slušati 5-10 sekundi, poslati snimljeno, vidjeti što je snimljeno, slati opet. Problem je što taj timeout od 5 sekundi gotovo uvijek prekine tvoje pitanje na pola i onda transkripcija bude na pola i onda LLM dobije polovični upit i evo sad mi priča o kuhanju nekog jela za koje ga nisam pitao. Ideja je dobra da možeš "pričati sa kućom" o svemu i svačemu, ali je izgleda realizacija nemoguća... |
![]() |
![]() |
![]() |
#13 |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
Tako bi trebalo biti, ali ne znam kako to riješiti s Pythonom, lokalno. Znači chatgpt je složio verziju skripte gdje čeka da stisnem enter, snima 5 sekundi, šalje na transcribe ... i ta verzija radi odlično... stisneš enter, pitaš "how are you" i dobiješ glasovni odgovor "i'm fine thanks for asking" ali to staviti u loop ne ide nikako jer ako je tišina, u recording uđe šum i transcribe napravi neko nepostojeće pitanje pa dobiješ i nepostojeći odgovor.. probao dizati threshold ali onda uopće ne reagira ili prekasno reagira ili kad krene slušat već sam gotov s pitanjem ili uhvati samo zadnju riječ itd itd. wake word bi bio idealan, pitanje je kako to napraviti... |
![]() |
![]() |
![]() |
#14 |
Premium
Datum registracije: Jul 2021
Lokacija: Sesvete
Postovi: 906
|
Kaj nema FireStick onu foru: Alexa play? Ili Google? Ti smisli Štef slušaj: i tu kažeš kaj te zanima. Ili ako voliš ženska imena reci: Đurđa donesi pivu: i tu kažeš kaj te zanima ![]()
__________________
tomek@vz: ajd nemoj | Mali Čile SAD Češka Peru | Windows Free |
![]() |
![]() |
![]() |
#15 |
Premium
Datum registracije: Feb 2007
Lokacija: Dalmacija
Postovi: 5,744
|
Tebi tu treba neki lokalni algoritam koji analizira soundeave pattern i kad je dovoljno slican snimljenom "Stef Slusaj" aktivira snimanje i ide dalje, ima vjerojatno neki python library za to, pitaj LLM ![]() Po meni ne treba niti pretvarati to u tekst nego samo pattern da bude dovoljno slican. |
![]() |
![]() |
![]() |
#16 | |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
E, taj wake word... Tko njega procesuira. Nešto treba procesuirati sav zvuk koji se konstantno sluša... dakle neki Silero VAD ili nešto treba stalno slušati i čekati glas... kad čuje glas, treba proslijediti glas na prepoznavanje... Zvuči jednostavno ovako na papiru "Hej Štef", ali u realnosti je taj "Štef" mora isto biti transkripcija iz voice u tekst... i to konstantna... bez pauza... stalno slušanje i stalna transkripcija i stalno čekanje te jedne riječi da se upali druga faza koja sluša i čeka pravo pitanje. Citiraj:
|
|
![]() |
![]() |
![]() |
#17 |
Premium
Datum registracije: May 2006
Lokacija: München/Varaždin
Postovi: 4,435
|
Vrlo komplicirano...koji je krajnji cilj?
__________________
Lenovo LOQ 15AHP9: AMD Ryzen 5 8645HS / 16GB DDR5 / Micron M.2 2230 1TB / Sandisk Extreme Pro 1TB / Radeon 760M + Geforce RTX 4050 Acer Aspire V3-574G: Intel i3 5005U / 8GB DDR3 / Seagate 1TB HDD / Geforce GT 940M |
![]() |
![]() |
![]() |
#18 |
Uptime freak
Datum registracije: Dec 2002
Lokacija: Ri, Cro
Postovi: 2,932
|
Pa imat pametnu kuću... s kojom možeš pričat o svemu... i usput gasit i palit svjetla po kući, puštat muziku... pitat kako skuhat paštašutu i što misli o Plenkoviću ![]() To je krajnji cilj. Ali izgleda da je to SF još uvijek. |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
|
|