Viltu fá lítinn raddaðstoðarmann sem fylgir fordæmi þínu, keyrir á þínum eigin vélbúnaði og pantar ekki óvart tólf ananas vegna þess að hann heyrði þig rangt? Gervigreindaraðstoðarmaður sem þú getur búið til sjálfur með Raspberry Pi er ótrúlega framkvæmanlegur, skemmtilegur og sveigjanlegur. Þú munt tengja saman vekjarorð, talgreiningu (ASR = sjálfvirk talgreining), heila fyrir náttúrulegt tungumál (reglur eða LLM) og texta-í-tal (TTS). Bættu við nokkrum forskriftum, einni eða tveimur þjónustum og nokkrum vandlegum hljóðstillingum, og þú ert kominn með vasavænan snjallhátalara sem hlýðir þínum reglum.
Við skulum hjálpa þér að tala við Pi-ið þitt án þess að þurfa að toga í hárið. Við munum fjalla um íhluti, uppsetningu, kóðun, samanburð, mistök... allan burrito-inn. 🌯
Greinar sem þú gætir viljað lesa eftir þessa:
🔗 Hvernig á að rannsaka gervigreind á áhrifaríkan hátt
Búðu til námsáætlun, æfðu verkefni og fylgstu með framvindu.
🔗 Hvernig á að stofna fyrirtæki sem sérhæfir sig í gervigreind
Staðfesta vandamál, smíða MVP, setja saman teymi, tryggja fyrstu viðskiptavini.
🔗 Hvernig á að nota gervigreind til að vera afkastameiri
Sjálfvirknivæðið venjubundin verkefni, hagræddu vinnuflæði og aukið skapandi afköst.
🔗 Hvernig á að fella gervigreind inn í fyrirtækið þitt
Greinið áhrifamikil ferli, hrint í framkvæmd tilraunaverkefnum, mælið arðsemi fjárfestingar (ROI), stækkið.
Hvað gerir góðan DIY AI aðstoðarmann með Raspberry Pi ✅
-
Einkamál sjálfgefið – haldið hljóðinu staðbundnu ef mögulegt er. Þú ákveður hvað fer úr tækinu.
-
Mátkerfi – skiptið íhlutum eins og Lego: vekja orðavél, ASR, LLM, TTS.
-
Hagkvæmt – aðallega opinn hugbúnaður, venjulegir hljóðnemar, hátalarar og Pi.
-
Hægt að hakka – viltu sjálfvirkni í heimilinu, mælaborð, rútínur, sérsniðnar færni? Auðvelt.
-
Áreiðanlegt – þjónustustýrt, ræsir og byrjar að hlusta sjálfkrafa.
-
Skemmtilegt – þú munt læra mikið um hljóð, ferla og atburðadrifna hönnun.
Lítið ráð: Ef þú notar Raspberry Pi 5 og ætlar að keyra þyngri gerðir á staðnum, þá hjálpar smellukælir við langvarandi álag. (Ef þú ert í vafa skaltu velja opinbera virka kælinn sem er hannaður fyrir Pi 5.) [1]
Hlutir og verkfæri sem þú þarft 🧰
-
Raspberry Pi: Mælt er með Pi 4 eða Pi 5 fyrir lofthæð.
-
microSD kort: 32 GB+ mælt með.
-
USB hljóðnemi: einfaldur USB ráðstefnuhljóðnemi er frábær.
-
Hátalari: USB eða 3,5 mm hátalari, eða I2S magnari HAT.
-
Net: Ethernet eða Wi-Fi.
-
Aukahlutir: kassa, virkur kælir fyrir Pi 5, hnappur fyrir talstöð, LED hringur. [1]
Stýrikerfi og grunnuppsetning
-
Uppfæra Raspberry Pi stýrikerfið með Raspberry Pi Imager. Þetta er einföld leið til að fá ræsanlegt microSD minniskort með þeim forstillingum sem þú vilt. [1]
-
Ræsa, tengjast neti og uppfæra síðan pakka:
sudo apt uppfærsla && sudo apt uppfærsla -y
-
Grunnatriði hljóðs: Á Raspberry Pi stýrikerfinu er hægt að stilla sjálfgefið úttak, hljóðstyrk og tæki í gegnum skjáborðsnotendaviðmótið eða
raspi-config. USB og HDMI hljóð eru studd á öllum gerðum; Bluetooth úttak er í boði á gerðum með Bluetooth. [1] -
Staðfesta tæki:
arecord -l aplay -l
Prófaðu síðan upptöku og spilun. Ef hljóðstyrkurinn virðist skrýtinn skaltu athuga hljóðblöndunartæki og sjálfgefnar stillingar áður en þú kennir hljóðnemanum um.

Arkitektúrinn í hnotskurn 🗺️
Skynsamlegur DIY AI aðstoðarmaður með Raspberry Pi flæði lítur svona út:
Vekjaraorð → Upptaka hljóðs í beinni → Umritun ASR → Meðhöndlun ásetnings eða LLM → Svartexti → TTS → Hljóðspilun → Valfrjálsar aðgerðir í gegnum MQTT eða HTTP.
-
Vekjaraorð: Porcupine er lítið, nákvæmt og keyrir staðbundið með næmisstýringu fyrir hvert leitarorð. [2]
-
ASR: Whisper er fjöltyngd, almenn ASR líkan sem hefur verið þjálfuð á um 680 þúsund klukkustundum; það er ónæmt fyrir hreim/bakgrunnshljóði. Til notkunar á tækjum
whisper.cppupp á einfalda C/C++ ályktunarleið. [3][4] -
Heili: Þitt val – LLM í skýinu í gegnum API, regluvél eða staðbundna ályktun eftir hestöflum.
-
TTS: Piper býr til náttúrulegt tal á staðnum, nógu hratt til að fá skjót svör á hóflegum vélbúnaði. [5]
Fljótleg samanburðartafla 🔎
| Tól | Best fyrir | Verð-svona | Af hverju það virkar |
|---|---|---|---|
| Orð um vekjaraklukku | Kveikja sem hlustar alltaf | Ókeypis stig + | Lítil örgjörvanotkun, nákvæmar, auðveldar bindingar [2] |
| Hvísl.cpp | Staðbundin ASR á Pi | Opinn hugbúnaður | Góð nákvæmni, örgjörvavænn [4] |
| Hraðari hvíslun | Hraðari ASR á örgjörva/skjákorti | Opinn hugbúnaður | CTranslate2 hagræðingar |
| Piper TTS | Staðbundið talúttak | Opinn hugbúnaður | Hraðar raddir, mörg tungumál [5] |
| Cloud LLM API | Rík rökfærsla | Notkunarmiðað | Losar um þunga tölvuvinnslu |
| Hnútur-RED | Að skipuleggja aðgerðir | Opinn hugbúnaður | Sjónræn flæði, MQTT-vænt |
Skref-fyrir-skref uppbygging: Fyrsta raddlykkjan þín 🧩
Við munum nota Porcupine fyrir vekjarorð, Whisper fyrir umritun, létt „heila“-fall fyrir svarið (skipta út fyrir þinn eigin LLM) og Piper fyrir tal. Haldið því í lágmarki og endurtakið svo.
1) Setja upp ósjálfstæði
sudo apt install -y python3-pip portaudio19-dev sox ffmpeg pip3 install sounddevice numpy
-
Porcupine: sæktu SDK/bindingar fyrir þitt tungumál og fylgdu leiðbeiningunum um flýtiuppsetningu (aðgangslykill + leitarorðalisti + hljóðrammar →
.process). [2] -
Hvísl (örgjörvavænt): smíða whisper.cpp:
git klón https://github.com/ggml-org/whisper.cpp geisladiskur whisper.cpp && cmake -B byggja && cmake --build byggja -j ./models/download-ggml-model.sh base.en ./build/bin/whisper-cli -m ./models/ggml-base.en.bin -f your.wav -otxt
Þetta endurspeglar hversu hratt verkefnið hófst. [4]
Viltu frekar Python?
faster-whisper(CTranslate2) er oft hraðvirkara en venjulegt Python á hóflegum örgjörvum.
2) Setja upp Piper TTS
git clone https://github.com/rhasspy/piper cd piper make # Sæktu raddlíkan sem þér líkar, t.d. en_US-amy echo "Halló þar." | ./piper --model voices/en/en_US-amy-medium.onnx --output_file hello.wav aplay hello.wav
Piper er hannað fyrir TTS í tækjum með mörgum radd-/tungumálavalkostum. [5]
3) Lágmarks aðstoðarlykkja í Python
Viljandi þjappað: bíður eftir vekjarasetningu (stub), tekur upp, umritar með whisper.cpp, býr til svar (staðgengil) og talar síðan í gegnum Piper. Skiptu staðgenglinum út fyrir uppáhalds LLM eða reglurökfræði þína.
import os, subprocess, wave import sounddevice as sd WAKE_WORD = "hey computer" # skipti fyrir Porcupine í framleiðslu [2] RECORD_SECONDS = 6 SAMPLE_RATE = 16000 CHANNELS = 1 WORKDIR = "/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(WORKDIR, exist_ok=True) def record_wav(path, seconds=RECORD_SECONDS): audio = sd.rec(int(sekúndur * SAMPLE_RATE), samplerate=SAMPLE_RATE, rásir=CHANNELS, dtype='int16') sd.wait() með wave.open(slóð, 'wb') sem w: w.setnchannels(CHANNELS); 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 "Ég sé ekki skýin, en það gæti verið í lagi. Taktu með þér jakka ef ske kynni." return "Þú sagðir: " + prompt def speak(texti): 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("Aðstoðarmaður tilbúinn. Sláðu inn vekjarasetninguna til að prófa.") while True: typed = input("> ").strip().lower() if typed == WAKE_WORD: wav_path = f"{WORKDIR}/input.wav" record_wav(wav_path) texti = transcribe(wav_path) reply = generate_reply(texti) print("Notandi:", texti); print("Aðstoðarmaður:", reply) speak(reply) else: print("Sláðu inn vekjarasetninguna til að prófa lykkjuna.")
Til að greina raunverulega vekjarorð skal samþætta streymisgreini Porcupine (lágt örgjörvastig, næmi fyrir hvert leitarorð). [2]
Hljóðstilling sem skiptir máli 🎚️
Nokkrar smávægilegar lagfæringar láta aðstoðarmanninn þinn líða 10 sinnum klárari:
-
Fjarlægð milli hljóðnema: 30–60 cm er kjörinn staður fyrir marga USB hljóðnema.
-
Stig: forðastu klippingu við inntak og haltu spilun gangandi; lagaðu leiðsögn áður en þú eltir uppi kóðadrauga. Á Raspberry Pi stýrikerfinu er hægt að stjórna úttakstækjum og stigum í gegnum kerfisverkfæri eða
raspi-config. [1] -
Hljóðvist í herbergjum: harðir veggir valda bergmálum; mjúkur dýna undir hljóðnemanum hjálpar.
-
Þröskuldur fyrir vekjarorð: of næmur → draugakveikjari; of strangur → þú munt öskra á plast. Með Porcupine geturðu stillt næmni fyrir hvert leitarorð. [2]
-
Hitastig: Langar umritunir á Pi 5 njóta góðs af opinberum virkum kæli fyrir viðvarandi afköst. [1]
Að fara úr leikfangi í heimilistæki: Þjónusta, sjálfvirk ræsing, ástandsskoðanir 🧯
Menn gleyma að keyra forskriftir. Tölvur gleyma að vera góðar. Breyttu lykkjunni þinni í stýrða þjónustu:
-
Búðu til kerfiseiningu:
[Eining] Lýsing=Gerðu það sjálfur Rödd Aðstoðarmaður Eftir=network.target hljóð.target [Þjónusta] Notandi=pi Vinnumálaskrá=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Endurræsa=alltaf EndurræsaÖr=3 [Uppsetning] WantedBy=multi-user.target
-
Virkjaðu það:
sudo cp aðstoðarmaður.þjónusta /etc/systemd/kerfi/ sudo systemctl endurhleðsla á þjónustunni sudo systemctl virkja --now aðstoðarmaður.þjónusta
-
Log halar:
journalctl -u aðstoðarmaður -f
Núna byrjar það við ræsingu, endurræsir við hrun og hegðar sér almennt eins og heimilistæki. Aðeins leiðinlegt, miklu betra.
Hæfnikerfi: Gerðu það raunverulega gagnlegt heima 🏠✨
Þegar talsetning og talsetning eru samfelld skaltu bæta við aðgerðum:
-
Ásetningsleið: einfaldar leitarorðaleiðir fyrir algeng verkefni.
-
Snjallheimili: birta atburði í MQTT eða kalla á HTTP endapunkta Home Assistant.
-
Viðbætur: flýtileiðir í Python eins og
set_timer,what_is_the_time,play_radio,run_scene.
Jafnvel með skýja-LLM í lykkjunni, beina augljósum staðbundnum skipunum fyrst til að tryggja hraða og áreiðanleika.
Aðeins staðbundið vs. skýjaaðstoð: Þættir sem þú munt finna fyrir 🌓
Aðeins staðbundið
Kostir: einkamál, án nettengingar, fyrirsjáanlegur kostnaður.
Gallar: þyngri gerðir geta verið hægar á litlum borðum. Fjöltyngd þjálfun Whisper hjálpar til við að auka áreiðanleika ef þú geymir það á tækinu eða á nærliggjandi netþjóni. [3]
Skýjaaðstoð
Kostir: Öflug rökfærsla, stærri samhengisgluggar.
Gallar: Gögn fara frá tæki, nettenging, breytilegur kostnaður.
Blendingur vinnur oft: vekja orð + ASR staðbundið → kalla á API fyrir rökfærslu → TTS staðbundið. [2][3][5]
Úrræðaleit: Undarlegir gremlínar og fljótlegar lausnir 👾
-
Falskar kveikjur vegna vekjarorðs: lækkaðu næmið eða prófaðu annan hljóðnema. [2]
-
ASR töf: notið minni Whisper líkan eða smíðið
whisper.cppmeð útgáfufánum (-j --config Release). [4] -
Óstöðugt TTS: forstilla algengar setningar; staðfesta hljóðtækið þitt og sýnatökutíðni.
-
Enginn hljóðnemi fannst: athugaðu
arecord -log hljóðblöndunartæki. -
Hitastýring: Notið opinbera virka kælinn á Pi 5 fyrir viðvarandi afköst. [1]
Öryggis- og persónuverndarathugasemdir sem þú ættir í raun að lesa 🔒
-
Haltu Pi-tækinu þínu uppfærðu með APT.
-
Ef þú notar einhver skýja-API, skráðu þá það sem þú sendir og íhugaðu fyrst að fjarlægja persónuleg gögn staðbundið.
-
Keyrðu þjónustur með minnstu réttindum; forðastu
sudoí ExecStart nema það sé krafist. -
Bjóddu upp á staðbundna stillingu eingöngu fyrir gesti eða kyrrðarstundir.
Byggingarafbrigði: Blandið saman eins og samloka 🥪
-
Mjög staðbundið: Porcupine + whisper.cpp + Piper + einfaldar reglur. Einkamál og traust. [2][4][5]
-
Hraðvirk skýjaaðstoð: Porcupine + (minni staðbundin Whisper eða skýja-ASR) + TTS staðbundin + skýja-LLM.
-
Heimilissjálfvirknimiðstöð: Bættu við Node-RED eða Home Assistant flæði fyrir rútínur, senur og skynjara.
Dæmi um færni: Ljós kveikt í gegnum MQTT 💡
flytja inn paho.mqtt.client sem mqtt MQTT_HOST = "192.168.1.10" TOPIC = "heimili/stofa/ljós/set" 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 "kveikja á ljósunum" í texta: set_light("on")
Bættu við raddlínu eins og: „kveiktu á stofulampanum“ og þér mun líða eins og töframaður.
Af hverju þessi stafli virkar í reynd 🧪
-
Porcupine er skilvirkur og nákvæmur við að greina vakningarorð á litlum borðum, sem gerir stöðuga hlustun mögulega. [2]
-
Víðtæk fjöltyngd þjálfun Whisper gerir það kleift að takast á við fjölbreytt umhverfi og hreim. [3]
-
whisper.cppheldur þeirri orku nothæfri á tækjum sem eingöngu nota örgjörva eins og Pi [4]. -
Piper heldur svörunum snöggum án þess að senda hljóðið í TTS í skýinu. [5]
Of langt, las það ekki
Smíðaðu mátbundinn, einkarekinn DIY AI aðstoðarmann með Raspberry Pi með því að sameina Porcupine fyrir vekjarorð, Whisper (í gegnum whisper.cpp) fyrir ASR, þinn val á heila fyrir svör, og Piper fyrir staðbundna TTS. Pakkaðu því inn sem kerfisþjónustu, stilltu hljóð og tengdu við MQTT eða HTTP aðgerðir. Það er ódýrara en þú heldur og einkennilega yndislegt að lifa með. [1][2][3][4][5]
Heimildir
-
Hugbúnaður og kæling fyrir Raspberry Pi – Upplýsingar um Raspberry Pi Imager (niðurhal og notkun) og Pi 5 Active Cooler
-
Raspberry Pi Myndgreining: lesa meira
-
Virkur kælir (Pi 5): lesa meira
-
-
Porcupine Wake Word – SDK og flýtileiðbeiningar (leitarorð, næmi, staðbundin ályktun)
-
Whisper (ASR líkan) – Fjöltyngd, öflug ASR þjálfun í ~680.000 klukkustundum
-
Radford o.fl., Öflug talgreining með stórfelldum veikburða eftirliti (hvísli): lesa meira
-
-
whisper.cpp – Örgjörvavæn Whisper-ályktun með CLI og smíðaskrefum
-
Piper TTS – Hraðvirk, staðbundin tauga-TTS með mörgum röddum/tungumálum