Zure gidaritza jarraitzen duen, zure hardwarean funtzionatzen duen eta nahi gabe hamabi anana eskatuko ez dituen ahots-laguntzaile txiki bat nahi duzu gaizki entzun zaituelako? Raspberry Pi-rekin egindako IA laguntzaile harrigarriro lorgarria, dibertigarria eta malgua da. Esnatzeko hitz bat, ahots-ezagutza automatikoa (ASR = ahots-ezagutza automatikoa), hizkuntza naturalarentzako garun bat (arauak edo LLM bat) eta testu-ahots bihurketa (TTS) konektatuko dituzu. Gehitu script batzuk, zerbitzu bat edo bi eta audio doikuntza zaindu batzuk, eta zure arauak betetzen dituen poltsikorako bozgorailu adimendun bat izango duzu.
Ohiko ile-tiraketarik gabe zerotik zure Pi-arekin hitz egitera eramango zaitugu. Piezak, konfigurazioa, kodea, alderaketak, arazoak... burrito osoa azalduko dizugu. 🌯
Honen ondoren irakurri nahi izango dituzun artikuluak:
🔗 Nola ikasi IA eraginkortasunez
Ikasketa-bide-orri bat sortu, proiektuak praktikatu eta aurrerapena jarraitu.
🔗 Nola hasi IA enpresa bat
Arazoa balioztatu, MVP eraiki, taldea osatu, hasierako bezeroak ziurtatu.
🔗 Nola erabili IA produktiboagoa izateko
Automatizatu ohiko zereginak, erraztu lan-fluxuak eta handitu sormen-irteera.
🔗 Nola txertatu IA zure negozioan
Eragin handiko prozesuak identifikatu, proba pilotuak ezarri, ROI neurtu, eskalatu.
Zerk egiten du Raspberry Pi-rekin DIY IA laguntzaile ona ✅
-
Pribatua lehenespenez – audioa lokalean mantendu ahal den guztietan. Zuk erabakitzen duzu zer irteten den gailutik.
-
Modularra – Lego bezala osagaiak trukatu: esnatzeko hitz motorra, ASR, LLM, TTS.
-
Merkea – gehienbat kode irekikoa, mikrofonoak, bozgorailuak eta Pi bat.
-
Hackeagarria – etxeko automatizazioa, aginte-panelak, errutinak, trebetasun pertsonalizatuak nahi dituzu? Erraza.
-
Fidagarria – zerbitzu bidez kudeatua, automatikoki abiarazten eta entzuten hasten da.
-
Dibertigarria – asko ikasiko duzu audioari, prozesuei eta gertaeretan oinarritutako diseinuari buruz.
Aholku txiki bat: Raspberry Pi 5 bat erabiltzen baduzu eta modelo lokal astunagoak exekutatu nahi badituzu, hozkailu batek karga etengabea jasaten laguntzen du. (Zalantzarik izanez gero, aukeratu Pi 5erako diseinatutako Active Cooler ofiziala.) [1]
Behar dituzun piezak eta tresnak 🧰
-
Raspberry Pi : Pi 4 edo Pi 5 gomendatzen da espazio zabalagoa lortzeko.
-
microSD txartela : 32 GB edo gehiago gomendatzen dira.
-
USB mikrofonoa : USB konferentzia-mikrofono sinple bat bikaina da.
-
Bozgorailua : USB edo 3,5 mm-ko bozgorailua, edo I2S anplifikadore HAT bat.
-
Sarea : Ethernet edo Wi-Fi.
-
Aukerako xehetasunak: kaxa, hozkailu aktiboa , hitz egiteko botoia sakatuz, LED eraztuna. [1]
Sistema eragilea eta oinarrizko konfigurazioa
-
Flashatu Raspberry Pi OS Raspberry Pi Imager-ekin. Nahi dituzun aurrezarpenekin abiaraz daitekeen microSD bat lortzeko modu erraza da. [1]
-
Abiarazi, konektatu sarera, eta gero eguneratu paketeak:
sudo apt eguneratu eta sudo apt berritu -y
-
Audioaren oinarriak
raspi-config-enbidez ezar ditzakezu . USB eta HDMI audioa modelo guztietan onartzen dira; Bluetooth irteera Bluetooth duten modeloetan eskuragarri dago. [1] -
Egiaztatu gailuak:
erregistroa -l erreproduzitu -l
Ondoren, probatu grabaketa eta erreprodukzioa. Mailak arraroak iruditzen bazaizkizu, egiaztatu nahasgailuak eta lehenetsitako balioak mikrofonoari errua bota aurretik.

Arkitektura begirada batean 🗺️
Raspberry Pi flow-rekin egindako IA laguntzaile zentzudun batek honelako itxura du:
Esnatze-hitza → zuzeneko audio-harrapaketa → ASR transkripzioa → asmoaren kudeaketa edo LLM → erantzun-testua → TTS → audio-erreprodukzioa → MQTT edo HTTP bidezko ekintza aukerakoak.
-
Esnatze-hitza : Trichocepine txikia, zehatza eta tokian tokikoa da, gako-hitz bakoitzaren sentikortasun-kontrolarekin. [2]
-
ASR : Whisper ~680k ordutan entrenatutako ASR eredu eleaniztun eta orokorrekoa da; sendoa da azentu/atzeko plano-zaratarekiko. Gailuan erabiltzeko,
whisper.cpp-ekC/C++ inferentzia-bide arina eskaintzen du. [3][4] -
Brain : Zure aukera – hodeiko LLM bat API bidez, arau-motor bat edo tokiko inferentzia zaldi-potentziaren arabera.
-
TTS : Piperrek ahots naturala sortzen du tokian bertan, hardware xumeetan erantzun azkarrak lortzeko bezain azkarra. [5]
Konparazio taula azkarra 🔎
| Tresna | Onena honetarako | Prezio gutxikoa | Zergatik funtzionatzen duen |
|---|---|---|---|
| Triku-esna hitza | Beti entzuten ari den abiarazlea | Doako maila + | CPU gutxi, zehatza, lotura errazak [2] |
| Whisper.cpp | Tokiko ASR Pi-n | Kode irekia | Zehaztasun ona, CPUrako egokia [4] |
| Faster-Whisper | ASR azkarragoa CPU/GPUan | Kode irekia | CTranslate2 optimizazioak |
| Piper TTS | Tokiko ahots-irteera | Kode irekia | Ahots azkarrak, hizkuntza asko [5] |
| Cloud LLM APIa | Arrazoiketa aberatsa | Erabileran oinarrituta | Kalkulu astunak askatzen ditu |
| Nodo-RED | Ekintzak orkestratzea | Kode irekia | Fluxu bisualak, MQTTrako egokiak |
Pausoz pauso eraikitzea: Zure lehen ahots-begizta 🧩
Porcupine erabiliko dugu esnatzeko hitzerako, Whisper transkripziorako, "garun" funtzio arin bat erantzunerako (ordezkatu aukeratzen duzun LLM-arekin) eta Piper hizketarako. Mantendu minimoa, eta gero iteratu.
1) Instalatu mendekotasunak
sudo apt instalatu -y python3-pip portaudio19-dev sox ffmpeg pip3 instalatu sounddevice numpy
-
Porcupine: hartu zure hizkuntzarako SDK/loturak eta jarraitu hasiera azkarra (sarbide-tekla + gako-hitz zerrenda + audio fotogramak →
.process). [2] -
Whisper (CPUrako egokia): eraiki whisper.cpp :
git klon https://github.com/ggml-org/whisper.cpp cd whisper.cpp && cmake -B build && cmake --build build -j ./models/download-ggml-model.sh base.en ./build/bin/whisper-cli -m ./models/ggml-base.en.bin -f zure.wav -otxt
Goikoak proiektuaren hasiera azkarra islatzen du. [4]
Python nahiago duzu?
faster-whisper(CTranslate2) askotan Python arrunta baino bizkorragoa da CPU xumeetan.
2) Konfiguratu Piper TTS
git klon https://github.com/rhasspy/piper cd piper make # Deskargatu gustuko duzun ahots-eredu bat, adibidez, eu_US-amy echo "Kaixo." | ./piper --model voices/eu/eu_US-amy-medium.onnx --output_file kaixo.wav aplay kaixo.wav
Piper gailu barruko TTSrako diseinatuta dago, ahots/hizkuntza aukera anitzekin. [5]
3) Pythonen laguntzaile-begizta minimo bat
Nahita trinkoa: esnatzeko esaldi baten zain dago (stub), grabatzen du, whisper.cpp , erantzun bat sortzen du (leku-marka), eta gero Piper bidez hitz egiten du. Aldatu leku-marka zure LLM edo arau-logika gogokoenarekin.
inportatu sistema eragilea, azpiprozesatu, uhin inportatu soinu-gailua sd gisa WAKE_WORD = "hey computer" # trukatu Porcupine ekoizpenean [2] RECORD_SECONDS = 6 SAMPLE_RATE = 16000 CHANNELS = 1 WORK_DIR = "/home/pi/assistant" ASR_BIN = "/home/pi/whisper.cpp/build/bin/whisper-cli" # [4] ASR_MODEL = "/home/pi/whisper.cpp/models/ggml-base.en.bin" PIPER_BIN = "/home/pi/piper/build/piper" # [5] PIPER_VOICE = "/home/pi/piper/voices/en/en_US-amy-medium.onnx" os.makedirs(WORK_DIR, exist_ok=True) def record_wav(bidea, segunduak=RECORD_SECONDS): audioa = sd.rec(int(segundoak * LAGIN_RATEA), laginketa-tasa=LAGIN_RATEA, kanalak=KANALAK, dtype='int16') sd.wait() wave.open(bidea, 'wb')-rekin w gisa: w.setnkanalak(KANALAK); w.setsampwidth(2); w.setframerate(SAMPLE_RATE) w.writeframes(audio.tobytes()) def transcribe(path): cmd = [ASR_BIN, "-m", ASR_MODEL, "-f", path, "-otxt"] subprocess.run(cmd, check=True, cwd=WORKDIR) with open(path.replace(".wav", ".txt"), "r", encoding="utf-8") as f: return f.read().strip() def generate_reply(prompt): if "weather" in prompt.lower(): return "Ezin ditut hodeiak ikusi, baina ondo egon daiteke. Ekarri jaka bat, badaezpada." return "Esan duzu: " + prompt def speak(text): proc = subprocess.Popen([PIPER_BIN, "--model", PIPER_VOICE, "--output_file", f"{WORKDIR}/reply.wav"], stdin=subprocess.PIPE) proc.stdin.write(text.encode("utf-8")); proc.stdin.close(); proc.wait() subprocess.run(["aplay", f"{WORKDIR}/reply.wav"], check=True) print("Laguntzailea prest. Idatzi probatzeko esnatzeko esaldia.") while True: typed = input("> ").strip().lower() if typed == WAKE_WORD: wav_path = f"{WORKDIR}/input.wav" record_wav(wav_path) text = transcribe(wav_path) reply = generate_reply(text) print("Erabiltzailea:", text); inprimatu("Laguntzailea:", erantzun) hitz egin(erantzun) bestela: inprimatu("Idatzi esnatzeko esaldia begizta probatzeko.")
Benetako esnatze-hitzen detekziorako, integratu Porcupine-ren streaming detektagailua (CPU baxua, gako-hitz bakoitzeko sentikortasuna). [2]
Benetan Garrantzitsua den Audio Doikuntza 🎚️
Konponketa txiki batzuek zure laguntzailea 10 aldiz adimentsuagoa sentiarazten dute:
-
Mikrofonoaren distantzia : 30–60 cm-ko distantzia da USB mikrofono askorentzat puntu egokia.
-
Mailak : saihestu sarreran mozketa eta mantendu erreprodukzioa osasuntsu; konpondu bideratzea kode mamuak jarraitu aurretik. Raspberry Pi OS-en, irteerako gailua eta mailak kudea ditzakezu sistemaren tresnen edo
raspi-config. [1] -
Gelako akustika : horma gogorrek oihartzunak eragiten dituzte; mikrofonoaren azpian alfonbra leun batek laguntzen du.
-
Esnatze-hitzaren atalasea : sentikorregia → mamu-eragileak; zorrotzegia → plastikoari oihuka arituko zara. Porcupine-k gako-hitz bakoitzeko sentikortasuna doitzeko aukera ematen dizu. [2]
-
Termikoak : Pi 5-eko transkripzio luzeek hozkailu aktibo ofizialaren onura dute errendimendu iraunkorra lortzeko. [1]
Jostailutik etxetresna elektrikora igarotzea: zerbitzuak, abiarazte automatikoa, osasun-egiaztapenak 🧯
Gizakiek script-ak exekutatzea ahazten dute. Ordenagailuek jatorrak izatea ahazten dute. Bihurtu zure begizta zerbitzu kudeatu batean:
-
Sortu systemd unitate bat:
[Unitatea] Deskribapena=DIY Ahots Laguntzailea Ondoren=network.target sound.target [Zerbitzua] Erabiltzailea=pi LanekoDirektorioa=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Berrabiarazi=beti BerrabiaraziSeg=3 [Instalatu] WantedBy=erabiltzaile-anitzeko.target
-
Gaitu ezazu:
sudo cp assistant.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now assistant.service
-
Erregistro-buztanak:
journalctl -u laguntzaile -f
Orain abiaraztean abiarazten da, matxuratzen denean berrabiarazten da, eta, oro har, etxetresna elektriko baten antzera jokatzen du. Pixka bat aspergarria, askoz hobea.
Trebetasun Sistema: Egin ezazu Benetan Erabilgarria Etxean 🏠✨
Ahots-sarrera eta ahots-irteera sendoak direnean, gehitu ekintzak:
-
Asmoen bideratzailea : ohiko zereginetarako gako-hitz bidezko ibilbide sinpleak.
-
Etxe adimenduna : argitaratu gertaerak MQTT-n edo deitu Home Assistant-en HTTP amaiera-puntuak.
-
Pluginak : Python funtzio azkarrak, hala nola
set_timer,what_is_the_time,play_radio,run_scene.
Hodeiko LLM bat begiztan barruan izan arren, bideratu lehenik tokiko komando agerikoak abiadura eta fidagarritasuna lortzeko.
Tokiko Laguntza vs. Hodeiko Laguntza: Sentituko dituzun Konpentsazioak 🌓
Tokikoa bakarrik
Alde onak: pribatua, lineaz kanpokoa, kostu aurreikusgarriak.
Alde txarrak: modelo astunagoak motelak izan daitezke taula txikietan. Whisperren prestakuntza eleaniztunak sendotasuna hobetzen du gailuan edo gertuko zerbitzari batean mantentzen baduzu. [3]
Hodeiko laguntza
Alde onak: arrazoiketa indartsua, testuinguru-leiho handiagoak.
Alde txarrak: datuak gailutik irteten dira, sarearen menpekotasuna, kostu aldakorrak.
Hibrido batek askotan irabazten du: esnatzeko hitza + ASR lokala → arrazoitzeko API bat deitu → TTS lokala. [2][3][5]
Arazoak konpontzea: Gremlin arraroak eta konponketa azkarrak 👾
-
Esnatze-hitzaren abiarazle faltsuak : sentikortasunak jaitsi edo mikrofono desberdin bat probatu. [2]
-
ASR atzerapena : erabili Whisper eredu txikiago bat edo eraiki
whisper.cppbertsio-banderekin (-j --config Release). [4] -
TTS etenkorra : aldez aurretik sortu ohiko esaldiak; baieztatu zure audio gailua eta laginketa-tasak.
-
Ez da mikrofonorik detektatu : egiaztatu
arecord -leta nahasgailuak. -
Mugaketa termikoa : erabili Pi 5-eko Active Cooler ofiziala errendimendu iraunkorra lortzeko. [1]
Segurtasun eta Pribatutasun Oharrak Irakurri Beharrekoak 🔒
-
Mantendu zure Pi eguneratuta APT-rekin.
-
Hodeiko APIren bat erabiltzen baduzu, erregistratu bidaltzen duzuna eta kontuan hartu lehenik zati pertsonalak tokian bertan ezabatzea.
-
Exekutatu zerbitzuak pribilegio gutxienekin; saihestu
sudoExecStart-en beharrezkoa ez bada. -
Eman tokiko modu gonbidatuentzat edo ordu lasaietarako.
Eraiki aldaerak: nahastu eta konbinatu ogitarteko bat bezala 🥪
-
Ultra-bertakoa : Porcupine + whisper.cpp + Piper + arau sinpleak. Pribatua eta sendoa. [2][4][5]
-
Hodeiko laguntza azkarra : Porcupine + (tokiko Whisper txikiagoa edo hodeiko ASR) + tokiko TTS + hodeiko LLM.
-
Etxeko automatizazio zentrala : Gehitu Node-RED edo Home Assistant fluxuak errutinetarako, eszenetarako eta sentsoreetarako.
Adibide trebetasuna: Argiak piztu MQTT bidez 💡
import paho.mqtt.client as mqtt MQTT_HOST = "192.168.1.10" TOPIC = "etxea/egongela/argia/multzoa" def set_light(state: str): client = mqtt.Client() client.connect(MQTT_HOST, 1883, 60) payload = "ON" if state.lower().startswith("on") else "OFF" client.publish(TOPIC, payload, qos=1, retain=False) client.disconnect() # if "piztu argiak" in text: set_light("on")
Gehitu ahots-esaldi bat, esaterako: “piztu egongelako lanpara”, eta azti bat bezala sentituko zara.
Zergatik funtzionatzen duen pila honek praktikan 🧪
-
Trichocepine eraginkorra eta zehatza da taula txikietan esna-hitz detektatzeko, eta horrek beti entzutea posible egiten du. [2]
-
Whisperren prestakuntza zabal eta eleaniztunak ingurune eta azentu askotarikoetarako sendoa egiten du. [3]
-
whisper.cpp-ekpotentzia hori erabilgarri mantentzen du CPU soilik erabiltzen duten gailuetan, Pi bezalakoetan. [4] -
Piper-ek erantzunak bizkor mantentzen ditu audioa hodeiko TTS batera bidali gabe. [5]
Luzeegia, ez dut irakurri
Raspberry Pi-rekin IA laguntzaile modular eta pribatu bat, Porcupine esnatzeko hitzerako, Whisper ( whisper.cpp ) ASRrako, erantzunetarako aukeratzen duzun garuna eta Piper tokiko TTSrako konbinatuz. Bildu systemd zerbitzu gisa, sintonizatu audioa eta konektatu MQTT edo HTTP ekintzak. Uste baino merkeagoa da, eta bitxiki atsegina da berarekin bizitzea. [1][2][3][4][5]
Erreferentziak
-
Raspberry Pi Softwarea eta Hoztea – Raspberry Pi Imager (deskargatu eta erabili) eta Pi 5 Active Cooler produktuaren informazioa
-
Raspberry Pi Imager: irakurri gehiago
-
Hozkailu aktiboa (Pi 5): irakurri gehiago
-
-
Porcupine Wake Word – SDK eta hasiera azkarra (gako-hitzak, sentikortasuna, tokiko ondorioa)
-
Whisper (ASR eredua) – Hizkuntza anitzeko ASR sendoa ~680k orduz entrenatua
-
Radford et al., Ahots-ezagutza sendoa eskala handiko gainbegiratze ahularen bidez (Whisper): irakurri gehiago
-
-
whisper.cpp – CPUrako egokia den Whisper inferentzia CLI eta eraikuntza urratsekin
-
Piper TTS – TTS neuronal azkarra eta lokala, ahots/hizkuntza anitzekin