Eisiau cynorthwyydd llais bach sy'n dilyn eich arweiniad mewn gwirionedd, yn rhedeg ar eich caledwedd eich hun, ac na fydd yn archebu deuddeg pîn-afal ar ddamwain oherwydd iddo'ch camglywed? Cynorthwyydd AI DIY gyda Raspberry Pi yn syndod o gyraeddadwy, yn hwyl, ac yn hyblyg. Byddwch chi'n cysylltu gair deffro, adnabod lleferydd (ASR = adnabod lleferydd awtomatig), ymennydd ar gyfer iaith naturiol (rheolau neu LLM), a thestun-i-leferydd (TTS). Ychwanegwch ychydig o sgriptiau, un neu ddau wasanaeth, a rhai mân addasiadau sain gofalus, ac mae gennych chi siaradwr clyfar poced sy'n ufuddhau i'ch rheolau.
Gadewch i ni eich tywys o ddim byd i siarad-â-ch-Pi heb yr arfer o dynnu gwallt. Byddwn yn trafod rhannau, gosod, cod, cymariaethau, camgymeriadau... y burrito cyfan. 🌯
Erthyglau y gallech fod eisiau eu darllen ar ôl yr un hon:
🔗 Sut i astudio AI yn effeithiol
Creu map ffordd astudio, ymarfer prosiectau, ac olrhain cynnydd.
🔗 Sut i gychwyn cwmni AI
Dilysu problem, adeiladu MVP, llunio tîm, sicrhau cwsmeriaid cychwynnol.
🔗 Sut i ddefnyddio AI i fod yn fwy cynhyrchiol
Awtomeiddio tasgau arferol, symleiddio llifau gwaith, ac ychwanegu at allbwn creadigol.
🔗 Sut i ymgorffori AI yn eich busnes
Nodi prosesau effaith uchel, gweithredu cynlluniau peilot, mesur ROI, graddfa.
Beth sy'n Gwneud Cynorthwyydd AI DIY da gyda Raspberry Pi ✅
-
Preifat yn ddiofyn – cadwch y sain yn lleol lle bo modd. Chi sy'n penderfynu beth sy'n gadael y ddyfais.
-
Modiwlaidd – cyfnewid cydrannau fel Lego: peiriant geiriau deffro, ASR, LLM, TTS.
-
Fforddiadwy – meicroffonau ffynhonnell agored yn bennaf, siaradwyr, a Pi cyffredin.
-
Hacadwy – eisiau awtomeiddio cartref, dangosfyrddau, trefn arferol, sgiliau personol? Hawdd.
-
Dibynadwy – wedi'i reoli gan y gwasanaeth, yn cychwyn ac yn dechrau gwrando'n awtomatig.
-
Hwyl – byddwch chi'n dysgu llawer am sain, prosesau, a dylunio sy'n cael ei yrru gan ddigwyddiadau.
Awgrym bach: Os ydych chi'n defnyddio Raspberry Pi 5 ac yn bwriadu rhedeg modelau lleol trymach, mae oerydd clip-ymlaen yn helpu o dan lwyth parhaus. (Os oes gennych unrhyw amheuaeth, dewiswch yr Oerydd Gweithredol swyddogol a gynlluniwyd ar gyfer Pi 5.) [1]
Rhannau ac Offer y Bydd eu Hangen Arnoch 🧰
-
Raspberry Pi : Argymhellir Pi 4 neu Pi 5 ar gyfer lle pen.
-
Cerdyn microSD : argymhellir 32 GB+.
-
Meicroffon USB : mae meicroffon cynhadledd USB syml yn wych.
-
Siaradwr : Siaradwr USB neu 3.5 mm, neu amp I2S HAT.
-
Rhwydwaith : Ethernet neu Wi-Fi.
-
Manylion dewisol: cas, oerydd gweithredol ar gyfer Pi 5, botwm gwthio ar gyfer gwthio-i-siarad, cylch LED. [1]
Gosod System Weithredu a Sylfaenol
-
Fflachio System Weithredu Raspberry Pi gyda Raspberry Pi Imager. Dyma'r ffordd syml o gael microSD bootable gyda'r rhagosodiadau rydych chi eu heisiau [1]
-
Cychwyn, cysylltu â'r rhwydwaith, yna diweddaru pecynnau:
diweddariad sudo apt && uwchraddio sudo apt -y
-
Hanfodion sain : Ar system weithredu Raspberry Pi gallwch osod yr allbwn, lefelau a dyfeisiau diofyn trwy'r rhyngwyneb bwrdd gwaith neu
raspi-config. Cefnogir sain USB a HDMI ar draws modelau; mae allbwn Bluetooth ar gael ar fodelau gyda Bluetooth. [1] -
Gwirio dyfeisiau:
arecord -l chwarae -l
Yna profwch y recordiad a'r chwarae yn ôl. Os yw'r lefelau'n ymddangos yn rhyfedd, gwiriwch y cymysgwyr a'r gosodiadau diofyn cyn beio'r meicroffon.

Cipolwg ar y Bensaernïaeth 🗺️
synhwyrol DIY gyda llif Raspberry Pi fel hyn:
Gair deffro → cipio sain byw → trawsgrifio ASR → trin bwriad neu LLM → testun ymateb → TTS → chwarae sain → gweithredoedd dewisol trwy MQTT neu HTTP.
-
Gair deffro : Mae Porcupine yn fach, yn gywir, ac yn rhedeg yn lleol gyda rheolaeth sensitifrwydd fesul allweddair. [2]
-
ASR : Mae Whisper yn fodel ASR amlieithog, cyffredinol a hyfforddwyd ar tua 680k awr; mae'n gadarn i acenion/sŵn cefndir. Ar gyfer defnydd ar ddyfais,
whisper.cppyn darparu llwybr casglu C/C++ main. [3][4] -
Ymennydd : Eich dewis chi – LLM cwmwl trwy API, peiriant rheolau, neu gasgliad lleol yn dibynnu ar marchnerth.
-
TTS : Mae Piper yn cynhyrchu lleferydd naturiol yn lleol, yn ddigon cyflym ar gyfer ymatebion cyflym ar galedwedd cymedrol. [5]
Tabl Cymhariaeth Gyflym 🔎
| Offeryn | Gorau Ar Gyfer | Pris-isel | Pam Mae'n Gweithio |
|---|---|---|---|
| Gair Deffro Porcupine | Sbardun gwrando bob amser | Haen am ddim + | CPU isel, cywir, rhwymiadau hawdd [2] |
| Sibrydiad.cpp | ASR Lleol ar Pi | Ffynhonnell agored | Cywirdeb da, yn gyfeillgar i'r CPU [4] |
| Sibrwd Cyflymach | ASR cyflymach ar CPU/GPU | Ffynhonnell agored | Optimeiddiadau CTranslate2 |
| Piper TTS | Allbwn lleferydd lleol | Ffynhonnell agored | Lleisiau cyflym, llawer o ieithoedd [5] |
| API LLM Cwmwl | Rhesymu cyfoethog | Yn seiliedig ar ddefnydd | Yn dadlwytho cyfrifiadura trwm |
| Nod-COCH | Trefnu gweithredoedd | Ffynhonnell agored | Llifau gweledol, yn gyfeillgar i MQTT |
Adeiladu Cam wrth Gam: Eich Dolen Llais Gyntaf 🧩
Byddwn yn defnyddio Porcupine ar gyfer gair deffro, Whisper ar gyfer trawsgrifio, swyddogaeth "ymennydd" ysgafn ar gyfer yr ateb (amnewidiwch gyda'ch LLM dewisol), a Piper ar gyfer lleferydd. Cadwch ef yn finimalaidd, yna ailadroddwch.
1) Gosod dibyniaethau
sudo apt install -y python3-pip portaudio19-dev sox ffmpeg pip3 install sounddevice numpy
-
Porcupine: gafaelwch yn y SDK/rhwymiadau ar gyfer eich iaith a dilynwch y cychwyn cyflym (allwedd mynediad + rhestr allweddeiriau + fframiau sain →
.process). [2] -
Sibrwd (sy'n gyfeillgar i'r CPU): adeiladu whisper.cpp :
clôn git https://github.com/ggml-org/whisper.cpp cd whisper.cpp a& cmake -B adeiladu a& cmake --build adeiladu -j ./models/download-ggml-model.sh base.en ./build/bin/whisper-cli -m ./models/ggml-base.en.bin -f your.wav -otxt
Mae'r uchod yn adlewyrchu cychwyn cyflym y prosiect. [4]
Yn well gennych Python?
faster-whisper(CTranslate2) yn aml yn fwy cyflym na Python fanila ar CPUs cymedrol.
2) Gosod Piper TTS
git clone https://github.com/rhasspy/piper cd piper make # Lawrlwythwch fodel llais rydych chi'n ei hoffi, e.e., en_US-amy echo "Helo yno." | ./piper --model lleisiau/en/en_US-amy-medium.onnx --output_file hello.wav aplay hello.wav
Mae Piper wedi'i gynllunio ar gyfer TTS ar ddyfais gyda sawl opsiwn llais/iaith. [5]
3) Dolen gynorthwyydd lleiaf posibl yn Python
Wedi'i gryno'n fwriadol: yn aros am ymadrodd deffro (stub), yn recordio, yn trawsgrifio gyda whisper.cpp , yn cynhyrchu ateb (lleoliad), yna'n siarad trwy Piper. Cyfnewid y lleoliad gyda'ch hoff LLM neu resymeg rheol.
mewnforio os, is-broses, tonnau mewnforio dyfais sain fel sd WAKE_WORD = "hei gyfrifiadur" # cyfnewid am Porcupine mewn cynhyrchiad [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.cy.bin" PIPER_BIN = "/home/pi/piper/build/piper" # [5] PIPER_VOICE = "/home/pi/piper/voices/cy/cy_US-amy-medium.onnx" os.makedirs(WORKDIR, exist_ok=Gwir) def record_wav(llwybr, eiliadau=RECORD_SECONDS): sain = sd.rec(int(eiliadau * SAMPLE_RATE), samplerate=SAMPLE_RATE, sianeli=SIANELEI, dtype='int16') sd.wait() gyda wave.open(llwybr, 'wb') fel w: w.setnchannels(SIANELEI); w.setsampwidth(2); w.setframerate(SAMPLE_RATE) w.writeframes(audio.tobytes()) def transcribe(llwybr): cmd = [ASR_BIN, "-m", ASR_MODEL, "-f", llwybr, "-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 "Fedra i ddim gweld y cymylau, ond gallai fod yn iawn. Dewch â siaced rhag ofn." dychwelyd "Dywedoch chi: " + prompt def siarad(testun): proc = subprocess.Popen([PIPER_BIN, "--model", PIPER_VOICE, "--output_file", f"{WORKDIR}/reply.wav"], stdin=subprocess.PIPE) proc.stdin.write(testun.encode("utf-8")); proc.stdin.close(); proc.wait() subprocess.run(["aplay", f"{WORKDIR}/reply.wav"], check=True) print("Cynorthwyydd yn barod. Teipiwch yr ymadrodd deffro i brofi.") tra bod True: wedi'i deipio = input("> ").strip().lower() os wedi'i deipio == WAKE_WORD: wav_path = f"{WORKDIR}/input.wav" record_wav(wav_path) test = transcribe(wav_path) reply = generate_reply(testun) print("Defnyddiwr:", test); print("Cynorthwyydd:", ateb) siarad(ateb) arall: print("Teipiwch yr ymadrodd deffro i brofi'r ddolen.")
Ar gyfer canfod geiriau deffro go iawn, integreiddiwch synhwyrydd ffrydio Porcupine (CPU isel, sensitifrwydd fesul allweddair). [2]
Tiwnio Sain Sydd Wirioneddol Bwysig 🎚️
Mae ychydig o atgyweiriadau bach yn gwneud i'ch cynorthwyydd deimlo 10 gwaith yn fwy clyfar:
-
Pellter meicroffon : mae 30–60 cm yn fan perffaith ar gyfer llawer o feicroffonau USB.
-
Lefelau : osgoi clipio ar fewnbwn a chadw chwarae'n synhwyrol; trwsio llwybro cyn mynd ar ôl ysbrydion cod. Ar system weithredu Raspberry Pi, gallwch reoli dyfais allbwn a lefelau trwy offer system neu
raspi-config. [1] -
Acwsteg ystafell : mae waliau caled yn achosi adleisiau; mae mat meddal o dan y meicroffon yn helpu.
-
Trothwy geiriau deffro : rhy sensitif → sbardunau ysbrydion; rhy llym → byddwch chi'n gweiddi ar blastig. Mae Porcupine yn gadael i chi addasu sensitifrwydd fesul allweddair. [2]
-
Thermalau : mae trawsgrifiadau hir ar Pi 5 yn elwa o'r oerydd gweithredol swyddogol ar gyfer perfformiad cynaliadwy. [1]
Mynd o Degan i Offeryn: Gwasanaethau, Cychwyn Auto, Gwiriadau Iechyd 🧯
Mae bodau dynol yn anghofio rhedeg sgriptiau. Mae cyfrifiaduron yn anghofio bod yn garedig. Trowch eich dolen yn wasanaeth a reolir:
-
Creu uned systemd:
[Uned] Disgrifiad=Cynorthwyydd Llais DIY Ar ôl=network.target sound.target [Gwasanaeth] Defnyddiwr=piCyfeiriadurGweithio=/home/pi/assistantStartExec=/usr/bin/python3 /home/pi/assistant/assistant.py Ailgychwyn=bob amser AilgychwynDelwedd=3 [Gosod] WantedBy=multi-user.target
-
Galluogi:
sudo cp cynorthwyydd.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl galluogi --now cynorthwyydd.service
-
Cynffonau log:
cynorthwyydd cyfnodolynctl -u -f
Nawr mae'n cychwyn ar gychwyn, yn ailgychwyn ar ddamwain, ac yn gyffredinol mae'n ymddwyn fel teclyn. Ychydig yn ddiflas, llawer gwell.
System Sgiliau: Gwnewch hi'n Ddefnyddiol Gartref 🏠✨
Unwaith y bydd llais i mewn a llais allan yn gadarn, ychwanegwch gamau gweithredu:
-
Llwybrydd bwriad : llwybrau allweddair syml ar gyfer tasgau cyffredin.
-
Cartref clyfar : cyhoeddi digwyddiadau i MQTT neu ffonio pwyntiau terfyn HTTP Cynorthwyydd Cartref.
-
Ategion : swyddogaethau Python cyflym fel
set_timer,what_is_the_time,play_radio,run_scene.
Hyd yn oed gydag LLM cwmwl yn y ddolen, llwybrwch orchmynion lleol amlwg yn gyntaf er mwyn cyflymder a dibynadwyedd.
Lleol yn Unig vs Cymorth Cwmwl: Cyfaddawdau y Byddwch Chi'n eu Teimlo 🌓
Lleol yn unig
Manteision: preifat, all-lein, costau rhagweladwy.
Anfanteision: gall modelau trymach fod yn araf ar fyrddau bach. Mae hyfforddiant amlieithog Whisper yn helpu gyda chadernid os ydych chi'n ei gadw ar y ddyfais neu ar weinydd gerllaw. [3]
Cymorth cwmwl
Manteision: rhesymu pwerus, ffenestri cyd-destun mwy.
Anfanteision: mae data'n gadael dyfais, dibyniaeth ar rwydwaith, costau amrywiol.
Mae hybrid yn aml yn ennill: gair deffro + ASR lleol → galw API ar gyfer rhesymu → TTS lleol. [2][3][5]
Datrys Problemau: Gremlins Rhyfedd a Atebion Cyflym 👾
-
Sbardunau ffug geiriau deffro : sensitifrwydd is neu rhowch gynnig ar feicroffon gwahanol. [2]
-
Oedi ASR : defnyddiwch fodel Whisper llai neu adeiladwch
whisper.cppgyda baneri rhyddhau (-j --config Release). [4] -
TTS Anwadal : cyn-gynhyrchu ymadroddion cyffredin; cadarnhau eich dyfais sain a chyfraddau samplu.
-
Ni chanfuwyd meicroffon : gwiriwch
arecord -la'r cymysgwyr. -
Cyfyngu thermol : defnyddiwch yr Oerydd Gweithredol swyddogol ar Pi 5 ar gyfer perfformiad cynaliadwy. [1]
Nodiadau Diogelwch a Phreifatrwydd y Dylech Chi eu Darllen mewn Gwirionedd 🔒
-
Cadwch eich Pi wedi'i ddiweddaru gydag APT.
-
Os ydych chi'n defnyddio unrhyw API cwmwl, cofnodwch yr hyn rydych chi'n ei anfon ac ystyriwch olygu darnau personol yn lleol yn gyntaf.
-
Rhedeg gwasanaethau gyda'r lleiaf o freintiau; osgoi
sudoyn ExecStart oni bai bod angen. -
Darparwch ddull lleol yn unig ar gyfer gwesteion neu oriau tawel.
Amrywiadau Adeiladu: Cymysgu a Chyfateb Fel Brechdan 🥪
-
Lleol iawn : Porcupine + whisper.cpp + Piper + rheolau syml. Preifat a chadarn. [2][4][5]
-
Cymorth cwmwl cyflym : Porcupine + (Whisper lleol llai neu ASR cwmwl) + TTS lleol + LLM cwmwl.
-
Canolog awtomeiddio cartref : Ychwanegwch lif Node-RED neu Gynorthwyydd Cartref ar gyfer rwtinau, golygfeydd a synwyryddion.
Sgil Enghraifft: Goleuadau Ymlaen drwy MQTT 💡
mewnforio paho.mqtt.client fel mqtt MQTT_HOST = "192.168.1.10" TOPIC = "cartref/ystafell fyw/golau/set" def set_light(state: str): client = mqtt.Client() client.connect(MQTT_HOST, 1883, 60) llwyth tâl = "YMLAEN" os yw state.lower().startswith("ymlaen") fel arall "OFF" client.publish(TOPIC, llwyth tâl, qos=1, retain=False) client.disconnect() # os yw "troi'r goleuadau ymlaen" yn y testun: set_light("ymlaen")
Ychwanegwch linell llais fel: “trowch lamp yr ystafell fyw ymlaen,” a byddwch chi'n teimlo fel dewin.
Pam Mae'r Pentwr Hwn yn Gweithio'n Ymarferol 🧪
-
Mae Porcupine yn effeithlon ac yn gywir wrth ganfod geiriau-deffro ar fyrddau bach, sy'n gwneud gwrando bob amser yn bosibl. [2]
-
Mae hyfforddiant amlieithog, helaeth Whisper yn ei gwneud yn wydn i amgylcheddau ac acenion amrywiol. [3]
-
whisper.cppyn cadw'r pŵer hwnnw'n ddefnyddiadwy ar ddyfeisiau CPU yn unig fel y Pi [4] -
Mae Piper yn cadw ymatebion yn gyflym heb anfon sain i TTS cwmwl. [5]
Rhy Hir, Wnes i Ddim Ei Ddarllen
Adeiladu Cynorthwyydd AI modiwlaidd, preifat DIY gyda Raspberry Pi trwy gyfuno Porcupine ar gyfer gair deffro, Whisper (trwy whisper.cpp ) ar gyfer ASR, eich dewis o ymennydd ar gyfer atebion, a Piper ar gyfer TTS lleol. Lapio fel gwasanaeth systemd, tiwnio sain, a gwifrau mewn gweithredoedd MQTT neu HTTP. Mae'n rhatach nag yr ydych chi'n meddwl, ac yn rhyfedd o hyfryd byw gydag ef. [1][2][3][4][5]
Cyfeiriadau
-
Meddalwedd ac Oeri Raspberry Pi – Gwybodaeth am gynnyrch Delweddydd Raspberry Pi (lawrlwytho a defnyddio) ac Oerydd Gweithredol Pi 5
-
Delweddydd Raspberry Pi: darllen mwy
-
Oerydd Gweithredol (Pi 5): darllen mwy
-
-
Gair Deffro Porcupine – SDK a chychwyn cyflym (geiriau allweddol, sensitifrwydd, casgliad lleol)
-
Whisper (model ASR) – ASR amlieithog, cadarn wedi'i hyfforddi ar ~680k awr
-
Radford et al., Adnabyddiaeth Lleferydd Cadarn drwy Oruchwyliaeth Wan ar Raddfa Fawr (Sibrydiad): darllen mwy
-
-
whisper.cpp – Casgliad Whisper sy'n gyfeillgar i'r CPU gyda CLI a chamau adeiladu
-
Piper TTS – TTS niwral lleol, cyflym gyda lleisiau/ieithoedd lluosog