Mitady mpanampy feo madinidinika manaraka ny fitarihanao tokoa ianao, mandeha amin'ny fitaovanao manokana, ary tsy hanafatra anana roa ambin'ny folo tsy nahy satria diso henonao? Mpanampy DIY AI miaraka amin'ny Raspberry Pi dia mahagaga azo tanterahina, mahafinaritra ary mora azo. Hampiditra teny mifoha ianao, famantarana ny kabary (ASR = fanekena kabary mandeha ho azy), atidoha ho an'ny fiteny voajanahary (fitsipika na LLM), ary text-to-speech (TTS). Manampia sora-baventy vitsivitsy, serivisy iray na roa, ary fanitsiana feo am-pitandremana, ary manana mpandahateny mahay am-paosy ianao izay mankatò ny fitsipikao.
Aleo ataontsika manomboka amin'ny aotra mankany amin'ny-nao-Pi tsy misy fisintonana volo mahazatra. Hodinihinay ny ampahany, ny fanamboarana, ny kaody, ny fampitahana, ny gotchas... ny burrito manontolo. 🌯
Lahatsoratra tianao hovakiana aorian'ity:
🔗 Ahoana ny fianarana AI mahomby
Mamorona tondrozotra fandalinana, tetik'asa fanazaran-tena, ary araho ny fandrosoana.
🔗 Ahoana no hanombohana orinasa AI
Hamarino ny olana, manangana MVP, manangona ekipa, miaro ny mpanjifa voalohany.
🔗 Ahoana ny fampiasana AI mba hamokarana bebe kokoa
Manaova ho azy ny asa mahazatra, manamora ny fizotran'ny asa, ary mampitombo ny vokatra famoronana.
🔗 Ahoana ny fampidirana AI amin'ny orinasanao
Fantaro ny dingana misy fiantraikany lehibe, manatanteraka pilots, mandrefy ROI, mizana.
Inona no mahatonga ny DIY AI Assistant tsara amin'ny Raspberry Pi ✅
-
Mitokana amin'ny alàlan'ny default - tehirizo ny feo eo an-toerana raha azo atao. Manapa-kevitra ianao hoe inona no miala amin'ilay fitaovana.
-
Modular - swap singa toy ny Lego: wake word engine, ASR, LLM, TTS.
-
Mora vidy - loharano misokatra amin'ny ankapobeny, mics entana, mpandahateny ary Pi.
-
Hackable - mila automatique an-trano, dashboard, fanao mahazatra, fahaiza-manao manokana? Mora.
-
Azo itokisana - tantanin'ny serivisy, boot ary manomboka mihaino ho azy.
-
Mahafinaritra - hianatra zavatra maro momba ny feo, ny fizotrany ary ny famolavolana entin'ny hetsika ianao.
Soso-kevitra kely: Raha mampiasa Raspberry Pi 5 ianao ary mikasa ny hampandeha modely eo an-toerana mavesatra kokoa, ny cooler clip-on dia manampy amin'ny enta-mavesatra maharitra. (Rehefa misalasala, safidio ny Cooler Active ofisialy natao ho an'ny Pi 5.) [1]
Kojakoja sy fitaovana ilainao 🧰
-
Raspberry Pi : Pi 4 na Pi 5 atolotra ho an'ny efitrano.
-
karatra microSD : 32 GB+ atolotra.
-
Microphone USB : tsara ny mikrofon'ny fihaonambe USB tsotra.
-
Speaker : USB na 3.5 mm mpandahateny, na I2S amp HAT.
-
Network : Ethernet na Wi-Fi.
-
Niceties azo atao: case, cooler mavitrika ho an'ny Pi 5, bokotra push-to-talk, peratra LED. [1]
OS & Baseline Setup
-
Flash Raspberry Pi OS miaraka amin'ny Raspberry Pi Imager. Izany no fomba tsotra hahazoana microSD bootable miaraka amin'ny preset tianao. [1]
-
Boot, mifandray amin'ny tambajotra, ary manavao ny fonosana:
sudo apt update && sudo apt upgrade -y
-
Fototry ny feo : Amin'ny Raspberry Pi OS dia azonao atao ny mametraka ny famoahana default, ny haavony ary ny fitaovana amin'ny alàlan'ny UI desktop na
raspi-config. USB sy HDMI audio dia tohanana amin'ny modely rehetra; Ny famoahana Bluetooth dia misy amin'ny modely misy Bluetooth. [1] -
Hamarino ny fitaovana:
arecord -l aplay -l
Avy eo, andramo ny fisamborana sy ny playback. Raha toa hafahafa ny haavony, jereo ny mixer sy ny default alohan'ny hanomezana tsiny ny mic.

Ny Architecture Indray Mijery 🗺️
Toy izao ny mpanampy DIY AI manan-tsaina miaraka amin'ny fikorianan'ny Raspberry Pi
Teny mifoha → fakana feo mivantana → fandikana ASR → fikirakirana fikasana na LLM → lahatsoratra valinteny → TTS → famerenana feo → hetsika azo atao amin'ny alàlan'ny MQTT na HTTP.
-
Wake word : Kely, marina ary mandeha eo an-toerana miaraka amin'ny fifehezana ny fahatsapan'ny teny fanalahidy isaky ny teny fototra. [2]
-
ASR : Whisper dia maodely ASR amin'ny fiteny maro ampiasaina amin'ny ankapobeny, voaofana amin'ny ~680k ora; izy io dia matanjaka amin'ny accent / tabataba ambadika. Ho an'ny fampiasana amin'ny fitaovana,
ny whisper.cppdia manome lalan'ny inference C/C++ mahia. [3][4] -
Atidoha : Ny safidinao - rahona LLM amin'ny alàlan'ny API, motera fitsipika, na ny fanatsoahan-kevitra eo an-toerana miankina amin'ny herin-tsoavaly.
-
TTS : Piper dia mamorona lahateny voajanahary eo an-toerana, haingana ampy ho an'ny valiny haingana amin'ny fitaovana maotina. [5]
Tabilao fampitahana haingana 🔎
| Fitaovana | Tsara indrindra ho an'ny | Vidiny mirary | Nahoana no miasa izy io |
|---|---|---|---|
| Porcupine Wake Word | Trigger mihaino foana | Tier maimaim-poana + | CPU ambany, marina, fatorana mora [2] |
| Whisper.cpp | ASR eo an-toerana amin'ny Pi | Loharano misokatra | Fahitsiana tsara, sariaka CPU [4] |
| Haingam-pandeha kokoa | ASR haingana kokoa amin'ny CPU/GPU | Loharano misokatra | CTranslate2 optimizations |
| Piper TTS | Vokatra kabary eo an-toerana | Loharano misokatra | Feo haingana, fiteny maro [5] |
| Cloud LLM API | Fanjohian-kevitra manankarena | Mifototra amin'ny fampiasana | Mampihena ny kajy mavesatra |
| Node-mena | Mandrindra hetsika | Loharano misokatra | Fikoriana hita maso, MQTT namana |
Fanamboarana tsikelikely: Loop Feo Voalohany 🧩
Hampiasainay ny Porcupine ho an'ny teny mifoha, Whisper ho an'ny fandikana, asa maivana "atidoha" ho an'ny valiny (soloina amin'ny LLM safidinao), ary Piper ho an'ny kabary. Ataovy faran'izay kely izany, dia avereno.
1) Mametraka fiankinan-doha
sudo apt install -y python3-pip portaudio19-dev sox ffmpeg pip3 install sounddevice numpy
-
Porcupine: raiso ny SDK/famatotra ho an'ny fiteninao ary araho ny fanombohana haingana (fanalahidy fidirana + lisitry ny teny fanalahidy + sary →
.process). [2] -
Whisper (CPU-friendly): manangana whisper.cpp :
git clone 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 -of your.wav.
Ity ambony ity dia mitaratra ny fanombohana haingana ny tetikasa. [4]
Tianao ny Python?
faster-whisper(CTranslate2) matetika kokoa noho ny lavanila Python amin'ny CPU tsotra.
2) Amboary ny Piper TTS
git clone https://github.com/rhasspy/piper cd piper make # Misintona modely feo tianao, ohatra, en_US-amy dia manao hoe "Manahoana." | ./piper --model voices/en/en_US-amy-medium.onnx --output_file hello.wav aplay hello.wav
Piper dia natao ho an'ny TTS amin'ny fitaovana misy safidy feo/fiteny maro. [5]
3) Loop mpanampy kely indrindra amin'ny Python
Iniana mirindra: miandry andian-teny mifoha (stub), mirakitra an-tsoratra, mandika amin'ny whisper.cpp , miteraka valiny (toerana), avy eo miteny amin'ny alalan'ny Piper. Ampifamadiho amin'ny LLM tianao indrindra na lojika fitsipika ny toerana misy anao.
import os, subprocess, wave import sounddevice as sd WAKE_WORD = "hey ordinateur" # swap for Porcupine in production [2] RECORD_SECONDS = 6 SAMPLE_RATE = 16000 CHANNELS = 1 WORKDIR = "/home/pi/assistant" ASR_BIN = "/home/pi/assistant" ASR_BIN = "/home/whisper" [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.onnxs" os. record_wav(lalana, segondra=RECORD_SECONDS): audio = sd.rec(int(segondra * SAMPLE_RATE), samplerate=SAMPLE_RATE, channels=CHANNELS, dtype='int16') sd.wait() with wave.open(lalana, 'wb') as w: w.setnchannels); w.setsampwidth(2); w.setframerate(SAMPLE_RATE) w.writeframes(audio.tobytes()) def transcribe(lalana): cmd = [ASR_BIN, "-m", ASR_MODEL, "-f", lalana, "-otxt"] subprocess.run(cmd, check=True.cwd=WORKDIR)". "r", encoding="utf-8") toy ny f: miverena f.read().strip() def generate_reply(prompt): raha "weather" ao amin'ny prompt.lower(): avereno "Tsy hitako ny rahona fa mety tsara. Mitondrà palitao sao sanatria." miverina "Hoy ianao hoe:" + 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("); proc.stdin.close(); proc.wait() subprocess.run(["aplay", f"{WORKDIR}/reply.wav"], check=True) print("Assistant vonona. Soraty ny fehezan-teny mifoha mba hitsapana.") raha marina kosa: mitendry = input("> ").strip().ambany() raha soratana == WAKE_WORD = f"{WORKDIR = wav}" record_wav(wav_path) text = transcribe(wav_path) reply = generate_reply(text) print("User:", text); print("Mpanampy:", valio) miteny (valiny) hafa: print("Ampidiro ny fehezan-teny mifoha mba hitsapana ny loop.")
Mba hahitana teny mifoha dia ampidiro ny mpitsikilo streaming an'i Porcupine (CPU ambany, fahatsapan-tena isaky ny teny fanalahidy). [2]
Fanaovana audio izay tena zava-dehibe 🎚️
Ny fanamboarana kely vitsivitsy dia mahatonga ny mpanampy anao hahatsapa ho 10× ho marani-tsaina kokoa:
-
Halavan'ny micro : 30–60 sm dia toerana mahafinaritra ho an'ny micro USB maro.
-
Ambaratonga : aza manapaka ny fidirana ary ataovy tsy misy dikany ny playback; amboary ny lalana alohan'ny hanenjika matoatoa code. Ao amin'ny Raspberry Pi OS, azonao atao ny mitantana ny fitaovana sy ny haavony amin'ny alàlan'ny fitaovana rafitra na
raspi-config. [1] -
Akostika ao amin'ny efitrano : ny rindrina mafy dia miteraka ako; misy tsihy malefaka eo ambanin'ny mic manampy.
-
Teny fifohazana : saro-pady loatra → matoatoa; hentitra loatra → hivazavaza amin'ny plastika ianao. Ny Porcupine dia ahafahanao manitsy ny fahatsapana isaky ny teny fanalahidy. [2]
-
Thermals : ny fandikana lava amin'ny Pi 5 dia mahazo tombony amin'ny cooler mavitrika ofisialy ho an'ny fampisehoana maharitra. [1]
Mandeha amin'ny kilalao mankany amin'ny fitaovana: Serivisy, Autostart, Healthchecks 🧯
Adinon'ny olombelona ny manao script. Manadino ny tsara ny ordinatera. Avadiho ho tolotra voatantana ny loop-nao:
-
Mamorona singa systemd:
[Unit] Famaritana=DIY Voice Assistant After=network.target sound.target [Service] User=pi WorkingDirectory=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Restart=always RestartSec=3 [Install] WantedBy=multi-user.
-
Enable it:
sudo cp assistant.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now assistant.service
-
Log rambony:
journalctl -u mpanampy -f
Manomboka amin'ny boot izy io, manomboka amin'ny fianjerana, ary amin'ny ankapobeny dia mandeha toy ny fitaovana. Mankaleo kely, tsara kokoa.
Rafitra fahaiza-manao: Ataovy tena ilaina ao an-trano 🏠✨
Raha vao mafy ny feo miditra sy mivoaka dia ampio hetsika:
-
Intent router : lalana teny fanalahidy tsotra ho an'ny asa mahazatra.
-
Trano marani-tsaina : mamoaka hetsika amin'ny MQTT na antsoy ny teboka faran'ny HTTP an'ny Home Assistant.
-
Plugins : Python haingana toy ny
set_timer,what_is_the_time,play_radio,run_scene.
Na dia misy rahona LLM ao anaty tadivavarana aza, dia araho aloha ny baiko mazava eo an-toerana mba hahazoana haingana sy azo itokisana.
Local Only vs Cloud Assist: Fifanakalozana ho tsapanao 🌓
eo an-toerana ihany
: tsy miankina, ivelan'ny aterineto, vidiny azo vinavinaina.
Cons: ny modely mavesatra dia mety miadana amin'ny takelaka kely. Ny fanofanana amin'ny fiteny maro an'i Whisper dia manampy amin'ny fahatanjahana raha tazoninao amin'ny fitaovana izany na amin'ny mpizara akaiky. [3]
Cloud assist
Pros: fanjohian-kevitra matanjaka, fikandrana contexte lehibe kokoa.
Cons: ny angon-drakitra mamela ny fitaovana, ny fiankinan-doha amin'ny tambajotra, ny vidiny miovaova.
Matetika ny hybrid no mandresy: teny fifohazana + ASR local → miantso API ho an'ny fisainana → TTS local. [2][3][5]
Famahana olana: Gremlin hafahafa & famahana haingana 👾
-
Mamoha teny tsy marina triggers : ahena ny fahatsapana na manandrama mikrô hafa. [2]
-
ASR lag : mampiasa modely Whisper kely kokoa na manangana
whisper.cppmiaraka amin'ny sainam-pamoahana (-j --config Release). [4] -
Choppy TTS : mamorona andian-teny mahazatra mialoha; hamafiso ny fitaovanao sy ny tahan'ny santionany.
-
Tsy misy mic hita : jereo
ny arecord -lsy mixers. -
Fampitandremana mafana : ampiasao ny Cooler Active ofisialy amin'ny Pi 5 ho an'ny fampisehoana maharitra. [1]
Fanamarihana momba ny fiarovana sy ny tsiambaratelo tokony hovakianao marina 🔒
-
Tohizo ny fanavaozana ny Pi anao amin'ny APT.
-
Raha mampiasa rahona API ianao, dia soraty izay alefanao ary diniho aloha ny famoahana ny bitika manokana eo an-toerana.
-
Mitantana serivisy miaraka amin'ny tombontsoa faran'izay kely indrindra; esory
ny sudoao amin'ny ExecStart raha tsy ilaina. -
Manomeza fomba eo an-toerana ihany ho an'ny vahiny na ora mangina.
Manamboara variana: Afangaro ary ampifanaraho toy ny Sandwich 🥪
-
Ultra-local : Porcupine + whisper.cpp + Piper + fitsipika tsotra. Private sy mafy orina. [2][4][5]
-
Fanampiana rahona haingana : Porcupine + (Bisikisio kely eo an-toerana na rahona ASR) + TTS eo an-toerana + rahona LLM.
-
Foiben'ny automation an-trano : Ampio ny Node-RED na Home Assistant ho an'ny fanao mahazatra, seho ary sensor.
Fahaiza-manao ohatra: Mirehitra amin'ny alalan'ny MQTT 💡
import paho.mqtt.client as mqtt MQTT_HOST = "192.168.1.10" LOHAHEVITRA = "trano/trano/trano/jiro/set" def set_light(state: str): client = mqtt.Client() client.connect(MQTT_HOST, 1883, 60) payloader = "if. client.publish(TOPIC, payload, qos=1, retain=False) client.disconnect() # raha "mamelona ny jiro" amin'ny lahatsoratra: set_light("on")
Manampia tsipika misy feo toy ny hoe: “asio ny jiron'ny efitrano fandraisam-bahiny,” dia ho toy ny mpamosavy ianao.
Nahoana no miasa amin'ny fampiharana ity stack ity 🧪
-
Ny Porcupine dia mahomby sy marina amin'ny fitadiavana teny mifoha amin'ny takelaka kely, izay mahatonga ny fihainoana foana. [2]
-
Ny fampiofanana lehibe sy amin'ny fiteny maro an'i Whisper dia mahatonga azy ho matanjaka amin'ny tontolo sy lantom-peo samihafa. [3]
-
whisper.cppdia mitazona io hery io ho azo ampiasaina amin'ny fitaovana CPU ihany toa ny Pi. [4] -
Piper dia mitazona valiny haingana nefa tsy mandefa feo amin'ny TTS rahona. [5]
Lava loatra, tsy namaky
Manangana mpanampy DIY AI modular tsy miankina miaraka amin'ny Raspberry Pi amin'ny alàlan'ny fampifangaroana ny Porcupine ho teny mifoha, Whisper (amin'ny alàlan'ny whisper.cpp ) ho an'ny ASR, ny atidohanao ho valin'ny valiny, ary ny Piper ho an'ny TTS eo an-toerana. Fenoy azy ho serivisy systemd, maneno feo ary tariby amin'ny hetsika MQTT na HTTP. Mora kokoa noho ny eritreretinao izany, ary mahafinaritra ny miara-miaina. [1][2][3][4][5]
References
-
Raspberry Pi Software & Cooling - Raspberry Pi Imager (misintona sy mampiasa) ary fampahalalana momba ny vokatra Pi 5 Active Cooler
-
Raspberry Pi Imager: mamaky bebe kokoa
-
Active Cooler (Pi 5): mamaky bebe kokoa
-
-
Porcupine Wake Word - SDK & fanombohana haingana (teny teny fanalahidy, fahatsapan-tena, inference eo an-toerana)
-
Whisper (modely ASR) - ASR miofana amin'ny fiteny maro, matanjaka amin'ny ~ 680k ora
-
Radford et al., Fankatoavana ny kabary matanjaka amin'ny alàlan'ny fanaraha-maso malemy amin'ny ambaratonga lehibe (Mibitsika): mamaky bebe kokoa
-
-
whisper.cpp - Fampidirana Whisper amin'ny CPU miaraka amin'ny CLI ary manangana dingana
-
Piper TTS - TTS neural haingana sy eo an-toerana miaraka amin'ny feo / fiteny maro