Чӣ тавр сохтани Ёрдамчии AI-и DIY бо Raspberry Pi

Чӣ тавр сохтани Ёрдамчии AI-и DIY бо Raspberry Pi

Мехоҳед ёвари овозии ночизе, ки воқеан ба роҳбарии шумо пайравӣ мекунад, дар сахтафзори шахсии шумо кор мекунад ва тасодуфан дувоздаҳ ананас фармоиш намедиҳад, зеро он шуморо нодуруст шунидааст? Ёрдамчии DIY AI бо Raspberry Pi ба таври ҳайратангез дастрас, шавқовар ва чандир аст. Шумо як калимаи бедор, шинохти нутқ (ASR = шинохти автоматии нутқ), майна барои забони табиӣ (қоидаҳо ё LLM) ва матн ба сухан (TTS) месозед. Якчанд скрипт, як ё ду хидмат ва баъзе твиктҳои бодиққат аудио илова кунед ва шумо як баландгӯяки интеллектуалии кисавӣ доред, ки ба қоидаҳои шумо итоат мекунад.

Биёед шуморо аз сифр ба сӯҳбат бо худ-Pi бидуни мӯи муқаррарӣ бардорем. Мо қисмҳо, танзимот, рамз, муқоисаҳо, гетчаҳо... тамоми бурриторо фаро хоҳем гирифт. 🌯

Мақолаҳоеро, ки пас аз ин мақола хондан мехоҳед:

🔗 Чӣ тавр омӯзиши самараноки AI
Харитаи роҳро таҳия кунед, лоиҳаҳоро амалӣ кунед ва пешрафтро пайгирӣ кунед.

🔗 Чӣ тавр як ширкати AI-ро оғоз кардан мумкин аст
Мушкилотро тасдиқ кунед, MVP созед, даста ҷамъ кунед, мизоҷони аввалияро эмин кунед.

🔗 Чӣ тавр истифода бурдани AI барои самараноктар шудан
Вазифаҳои муқаррариро автоматӣ кунед, ҷараёнҳои корро ба тартиб дароред ва натиҷаи эҷодиро афзун кунед.

🔗 Чӣ тавр AI-ро ба тиҷорати худ дохил кардан мумкин аст
Процессҳои таъсирбахшро муайян кунед, пилотҳоро татбиқ кунед, ROI, миқёсро чен кунед.


Чӣ як ёрдамчии хуби DIY AI бо Raspberry Pi месозад ✅

  • Бо нобаёнӣ хусусӣ - то ҳадди имкон аудиоро маҳаллӣ нигоҳ доред. Шумо қарор медиҳед, ки кадом дастгоҳро тарк мекунад.

  • Модулӣ - иваз кардани ҷузъҳои монанди Lego: муҳаррики калимаи бедор, ASR, LLM, TTS.

  • Арзиш - асосан манбаи кушода, микрофонҳои молӣ, баландгӯякҳо ва Pi.

  • Hackable - мехоҳед автоматикунонии хона, панелҳои идоракунӣ, реҷаҳо, малакаҳои фармоишӣ? Осон.

  • Эътимоднок - аз ҷониби хидмат идора карда мешавад, ба таври худкор оғоз мекунад ва гӯш карданро оғоз мекунад.

  • Шавқовар - шумо дар бораи аудио, равандҳо ва тарҳрезии рӯйдодҳо бисёр чизҳоро меомӯзед.

Маслиҳати ночиз: Агар шумо Raspberry Pi 5-ро истифода баред ва нақша доред, ки моделҳои вазнинтари маҳаллиро иҷро кунед, сардкунандаи клип дар зери бори устувор кӯмак мекунад. (Вақте ки шубҳа доред, Active Cooler-и расмии барои Pi 5 тарҳрезӣшударо интихоб кунед.) [1]


Қисмҳо ва асбобҳое, ки ба шумо лозиманд 🧰

  • Raspberry Pi : Pi 4 ё Pi 5 барои ҷойгоҳ тавсия дода мешавад.

  • корти microSD : 32 ГБ+ тавсия дода мешавад.

  • Микрофони USB : микрофони оддии USB конфронси олӣ аст.

  • Баландгӯяк : USB ё баландгӯяки 3,5 мм, ё як I2S амп HAT.

  • Шабака : Ethernet ё Wi-Fi.

  • Хусусиятҳои ихтиёрӣ: корпус, сардкунандаи фаъол барои Pi 5, тугмаи пахш барои гуфтугӯ, ҳалқаи LED. [1]

OS & Танзимоти ибтидоӣ

  1. Flash Raspberry Pi OS бо Raspberry Pi Imager. Ин роҳи осони ба даст овардани microSD-и пурборшаванда бо танзимоти пешакии шумост. [1]

  2. Бор кунед, ба шабака пайваст шавед ва бастаҳоро навсозӣ кунед:

sudo apt update && sudo apt upgrade -y
  1. Асосҳои аудио : Дар Raspberry Pi OS шумо метавонед баромади пешфарз, сатҳҳо ва дастгоҳҳоро тавассути интерфейси мизи корӣ ё raspi-config . Аудио USB ва HDMI дар тамоми моделҳо дастгирӣ карда мешавад; Баромади Bluetooth дар моделҳои дорои Bluetooth дастрас аст. [1]

  2. Таҷҳизотро тасдиқ кунед:

arecord -l aplay -l

Сипас сабт ва бозиро санҷед. Агар сатҳҳо аҷиб ба назар расанд, пеш аз айбдор кардани микрофон миксерҳо ва пешфарзҳоро тафтиш кунед.

 

Пи-и малинаи сунъӣ

Архитектура дар як нигоҳ 🗺️

оқилонаи DIY AI бо ҷараёни Raspberry Pi чунин менамояд:

Калимаи бедор → сабти зиндаи аудио → транскрипсияи ASR → коркарди ният ё LLM → матни посух → TTS → бозикунии аудио → амалҳои ихтиёрӣ тавассути MQTT ё HTTP.

  • Калимаи бедоршавӣ : Porcupine хурд, дақиқ аст ва ба таври маҳаллӣ бо назорати ҳассосияти ҳар як калимаи калидӣ кор мекунад. [2]

  • ASR : Whisper як модели бисёрзабона ва умумӣ барои ASR аст, ки дар давоми ~ 680 ҳазор соат таълим дода мешавад; он ба аксентҳо / садои замина устувор аст. Барои истифода дар дастгоҳ, whisper.cpp роҳи хулосабарории C/C++-ро таъмин мекунад. [3][4]

  • Майна : Интихоби шумо - абри LLM тавассути API, муҳаррики қоидаҳо ё хулосаи маҳаллӣ вобаста ба қувваи асп.

  • TTS : Piper нутқи табииро ба таври маҳаллӣ тавлид мекунад, ки барои посухҳои фаврӣ дар сахтафзори хоксор кофӣ аст. [5]


Ҷадвали муқоисаи зуд 🔎

Восита Беҳтарин Барои Нархдор Чаро он кор мекунад
Каломи бедории Porcupine Ҳамеша - триггер гӯш кардан Сатҳи ройгон + CPU паст, пайвастҳои дақиқ, осон [2]
Whisper.cpp ASR маҳаллӣ дар Pi Манбаи кушода Дақиқии хуб, барои CPU дӯстона [4]
Тезтар - Пичиррос ASR тезтар дар CPU/GPU Манбаи кушода Оптимизатсияи CTranslate2
Пайпер ТТС Баромади нутқи маҳаллӣ Манбаи кушода Овозҳои тез, забонҳои зиёд [5]
API Cloud LLM Тафаккури бой Дар асоси истифода Ҳисобкунии вазнинро бор мекунад
Гирех-СУРХ Ташкили амалҳо Манбаи кушода Ҷараёнҳои визуалӣ, MQTT дӯстона

Сохтани қадам ба қадам: Давраи аввалини овозии шумо 🧩

Мо Porcupine -ро барои калимаи бедор, Whisper барои транскрипсия, функсияи сабуки "мағзи сар" барои посух (бо LLM интихобкардаатон иваз кунед) ва Piper барои сухан истифода хоҳем кард. Онро ҳадди аққал нигоҳ доред, сипас такрор кунед.

1) Вобастагӣ насб кунед

sudo apt install -y python3-pip portaudio19-dev sox ffmpeg pip3 насби дастгоҳи садоӣ numpy
  • Porcupine: SDK/пайвандҳоро барои забони худ гиред ва оғози зудро риоя кунед (калиди дастрасӣ + рӯйхати калимаҳои калидӣ + чаҳорчӯбаҳои аудиоӣ → .process ). [2]

  • Whisper (ба CPU-дӯстона): сохтани 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.

Дар боло оғози зуди лоиҳа инъикос меёбад. [4]

Python-ро бартарӣ медиҳед? тезтар пичиррос (CTranslate2) одатан назар ба ванили Python дар CPU-ҳои хоксор тезтар аст.

2) Piper TTS -ро насб кунед

git clone https://github.com/rhasspy/piper cd piper make # Модели овози ба шумо маъқулро зеркашӣ кунед, масалан, en_US-amy echo "Салом." | ./piper --model voices/en/en_US-amy-medium.onnx --output_file hello.wav aplay hello.wav

Piper барои TTS дар дастгоҳ бо имконоти сершумори овозӣ/забон тарҳрезӣ шудааст. [5]

3) Ҳадди ақали ҳалқаи ёрдамчӣ дар Python

Баръакс паймон: мунтазири ибораи бедор (стуб), сабт мекунад, бо whisper.cpp , ҷавоб тавлид мекунад (ҷонишин), сипас тавассути Пайпер сухан мегӯяд. Ҷойгиркунакро бо LLM ё мантиқи қоидаи дӯстдоштаи худ иваз кунед.

воридоти система, зерпроцесс, дастгоҳи садои воридоти мавҷ ҳамчун sd WAKE_WORD = "эй компютер" # иваз барои Porcupine дар истеҳсол [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] PIPERV "/home/pi/piper/voices/en/en_US-amy-medium.onnx" os.makedirs(WORKDIR, exist_ok=True) def record_wav(роҳ, сонияҳо=RECORD_SECONDS): аудио = sd.rec (int(сонияҳо * SAMPLE_SAMPLE), канал = NE,Sample_RATE,Sample=NER dtype = 'int16') sd.wait() бо wave.open(роҳ, 'wb') ҳамчун w: w.setnchannels(CHANNELS); w.setsampwidth(2); w.setframerate(SAMPLE_RATE) w.writeframes(audio.tobytes()) def транскрипт(роҳ): cmd = [ASR_BIN, "-m", ASR_MODEL, "-f", роҳ, "-otxt"] subprocess.run(cmd, check=Ҳақиқат, cwd=коркуни(.")ҷои "." "r", encoding = "utf-8") ҳамчун f: return f.read().strip() defgener_reply(prompt): агар "обу ҳаво" дар prompt.lower(): баргардонед "Ман абрҳоро дида наметавонам, аммо ин хуб аст. Ба ҳар сурат, курта биёред." баргаштан "Шумо гуфтед: " + prompt def speak(матн): proc = subprocess.Popen([PIPER_BIN, "--model", PIPER_VOICE, "--output_file", f"{WORKDIR}/reply.wav"], stdin=subprocess.PIPE) proc.stdin.wri()(матн). proc.stdin.close(); proc.wait() subprocess.run(["aplay", f"{WORKDIR}/reply.wav"], check=True) print("Ёрдамчӣ омода аст. Ибораи бедорро барои санҷиш ворид кунед.") дар ҳоле ки True: typed = input("> ").strip().lower() агар чоп карда шавад == WAKE_ORD =:wake_W f"{WORKDIR}/input.wav" record_wav(wav_path) text = transscribe(wav_path) reply =generate_reply(matn) print("Истифодабаранда:", матн); print("Ёрдамчӣ:", ҷавоб додан) гап задан(ҷавоб додан) else: print("Барои санҷидани давра ибораи бедорро нависед.")

Барои дарёфти воқеии калимаи бедор, детектори ҷараёнҳои Porcupine -ро муттаҳид кунед (CPU паст, ҳассосияти ҳар як калимаи калидӣ). [2]


Танзими аудио, ки воқеан муҳим аст 🎚️

Якчанд ислоҳи хурд ёрдамчии шуморо 10 маротиба оқилтар ҳис мекунад:

  • Масофаи микрофон : 30-60 см барои бисёр микрофонҳои USB ҷои ширин аст.

  • Сатҳҳо : аз буридани вуруд худдорӣ кунед ва бозиро солим нигоҳ доред; пеш аз таъқиби арвоҳҳои код масирро ислоҳ кунед. Дар Raspberry Pi OS, шумо метавонед дастгоҳи баромад ва сатҳҳоро тавассути асбобҳои система ё raspi-config . [1]

  • Акустикаи ҳуҷра : деворҳои сахт боиси акси садо; матои нарм дар зери микрофон ёрй мерасонад.

  • Ҳадди бедории калима : аз ҳад ҳассос → триггерҳои арвоҳ; хеле сахт → шумо ба пластикӣ дод мезанед. Porcupine ба шумо имкон медиҳад, ки ҳассосиятро дар як калимаи калидӣ тағир диҳед. [2]

  • Термҳо : транскриптҳои дароз дар Pi 5 аз хунуккунандаи расмии фаъол барои иҷрои устувор баҳра мебаранд. [1]


Гузариш аз бозича ба асбоб: Хизматрасониҳо, Автостарт, Санҷиши саломатӣ 🧯

Одамон иҷро кардани скриптҳоро фаромӯш мекунанд. Компютерҳо хуб буданро фаромӯш мекунанд. Доираи худро ба хидмати идорашаванда табдил диҳед:

  1. Воҳиди системавӣ эҷод кунед:

[Воҳид] Тавсифи=Ёрдамчии овозии DIY After=network.target sound.target [Хизмат] User=pi WorkingDirectory=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Бозоғоз=ҳамеша RestartSecll=3-Wstastart.
  1. Онро фаъол кунед:

sudo cp assistant.service /etc/systemd/system/ sudo systemctl демон-аз нав бор кунед sudo systemctl фаъол --now assistant.service
  1. Думҳои журнал:

journalctl -u ёрдамчй -ф

Ҳоло он ҳангоми боркунӣ оғоз мешавад, ҳангоми садама аз нав оғоз мешавад ва умуман мисли дастгоҳ рафтор мекунад. Каме дилгиркунанда, хеле беҳтар.


Системаи маҳорат: Онро воқеан дар хона муфид созед 🏠✨

Вақте ки овози воридотӣ ва овоздиҳӣ устуворанд, амалҳоро илова кунед:

  • Роутер ният : масирҳои оддии калидӣ барои вазифаҳои умумӣ.

  • Хонаи интеллектуалӣ : рӯйдодҳоро дар MQTT нашр кунед ё ба нуқтаҳои ниҳоии HTTP Home Assistant занг занед.

  • Плагинҳо : функсияҳои зуди Python ба монанди set_timer , what_is_the_time , play_radio , run_scene .

Ҳатто бо абри LLM дар ҳалқа, барои суръат ва эътимод аввал фармонҳои возеҳи маҳаллиро равона кунед.


Танҳо маҳаллӣ ва Cloud Assist: Мубодилаҳое, ки шумо эҳсос хоҳед кард 🌓

танҳо маҳаллӣ
: хароҷоти хусусӣ, офлайнӣ, пешбинишаванда.
Камбудиҳо: моделҳои вазнин метавонанд дар тахтаҳои хурд суст бошанд. Омӯзиши бисёрзабони Whisper ба устуворӣ кӯмак мекунад, агар шумо онро дар дастгоҳ ё сервери ҳамсоя нигоҳ доред. [3]

кӯмаки абрӣ
: далелҳои пурқувват, тирезаҳои контексти калонтар.
Камбудиҳо: маълумот аз дастгоҳ, вобастагии шабака, хароҷоти тағирёбанда.

Гибрид аксар вақт ғолиб меояд: калимаи бедор + ASR local → занги API барои мулоҳиза → TTS маҳаллӣ. [2][3][5]


Бартараф кардани мушкилот: Гремлинҳои аҷиб ва ислоҳи зуд 👾

  • Триггерҳои калимаи бардурӯғро бедор кунед : ҳассосиятро паст кунед ё микрофони дигарро санҷед. [2]

  • ASR lag : модели хурдтари Whisper-ро истифода баред ё бо парчамҳои озод whisper.cpp -j --config Release ). [4]

  • Choppy TTS : пеш аз тавлиди ибораҳои умумӣ; дастгоҳи аудиоии худ ва суръати намунаро тасдиқ кунед.

  • Микрофон ошкор нашуд : arecord -l ва миксерҳоро тафтиш кунед.

  • Танзими гармидиҳӣ : барои иҷрои устувори расмии Active Cooler дар Pi 5 истифода баред. [1]


Қайдҳои амниятӣ ва махфият шумо бояд воқеан хонед 🔒

  • Pi худро бо APT навсозӣ кунед.

  • Агар шумо ягон API абрро истифода баред, он чизеро, ки мефиристед, сабт кунед ва аввал дар бораи таҳрири битҳои шахсии маҳаллӣ фикр кунед.

  • Хидматҳоро бо имтиёзҳои камтарин иҷро кунед; sudo дар ExecStart канорагирӣ кунед,

  • режими танҳо маҳаллиро таъмин кунед .


Вариантҳоро созед: Мисли сандвич омехта кунед ва мувофиқ кунед 🥪

  • Ultra-маҳаллӣ : Porcupine + whisper.cpp + Piper + қоидаҳои оддӣ. Хусусий ва мустаҳкам. [2][4][5]

  • Кӯмаки босуръати абрӣ : Porcupine + (хурдтар Whisper маҳаллӣ ё абрии ASR) + TTS маҳаллӣ + абрии LLM.

  • Маркази автоматикунонии хона : Ҷараёни Node-RED ё Home Assistant -ро барои реҷаҳо, саҳнаҳо ва сенсорҳо илова кунед.


Намунаи маҳорат: Чароғҳо тавассути MQTT 💡 фурӯзон мешаванд

ворид кардани paho.mqtt.client ҳамчун mqtt MQTT_HOST = "192.168.1.10" MAVZU = "хона/меҳмонхона/нур/маҷмӯа" def set_light(ҳолат: str): муштарӣ = mqtt.Client() client.connect(MQTT_HOST, 1883, агар пардохт) "60" state.lower().startswith("on") else "OFF" client.publish(TOPIC, payload, qos=1, retain=False) client.disconnect() # агар "чароғҳоро фурӯзон" дар матн: set_light("on")

Хатти овозиро илова кунед: "чароғи меҳмонхонаро фурӯзон кунед" ва шумо худро ҷодугар ҳис хоҳед кард.


Чаро ин стек дар амал кор мекунад 🧪

  • Porcupine ҳангоми муайян кардани калимаи бедор дар тахтаҳои хурд самаранок ва дақиқ аст, ки ҳамеша гӯш кардани онро имконпазир месозад. [2]

  • Омӯзиши калон ва бисёрзабоии Whisper онро ба муҳитҳо ва аксентҳои гуногун устувор мегардонад. [3]

  • whisper.cpp ин қудратро дар дастгоҳҳои танҳо CPU истифодашаванда ба монанди Pi нигоҳ медорад. [4]

  • Пайпер посухҳоро бе интиқоли аудио ба абрии TTS нигоҳ медорад. [5]


Хеле дароз, онро нахондам

модулӣ ва хусусии DIY AI бо Raspberry Pi тавассути муттаҳид кардани Porcupine барои калимаи бедор, Whisper (тавассути whisper.cpp ) барои ASR, интихоби майнаи шумо барои посухҳо ва Piper барои TTS маҳаллӣ созед. Онро ҳамчун хидмати системавӣ печонед, аудио ва симро дар амалҳои MQTT ё HTTP танзим кунед. Он аз он ки шумо фикр мекунед, арзонтар аст ва зиндагӣ бо он аҷиб аст. [1][2][3][4][5]


Иқтибосҳо

  1. Нармафзори Raspberry Pi & Cooling - Raspberry Pi Imager (зеркашӣ ва истифода) ва Pi 5 Active Cooler маълумот дар бораи маҳсулот

  2. Word Wake Porcupine - SDK ва оғози зуд (калимаҳои калидӣ, ҳассосият, хулосаи маҳаллӣ)

  3. Whisper (модели ASR) - ASR-и бисёрзабона ва мустаҳкам дар давоми ~ 680 ҳазор соат таълим дода шудааст

    • Рэдфорд ва дигарон, Шинохти устувори нутқ тавассути назорати заиф миқёси калон (пичиррос): бештар хонед

  4. whisper.cpp - Хулосаи Whisper бо CPU-дӯстона бо CLI ва сохтани қадамҳо

  5. Piper TTS - TTS зуд, нейронҳои маҳаллӣ бо овозҳо/забонҳои сершумор

Дар Дӯкони расмии AI Assistant AI-и навтаринро пайдо кунед

Дар бораи мо


Бозгашт ба блог