Raspberry Pi ашиглан өөрийн гараар хиймэл оюун ухааны туслахыг хэрхэн бүтээх вэ

Raspberry Pi ашиглан өөрийн гараар хиймэл оюун ухааны туслахыг хэрхэн бүтээх вэ

Таныг үнэхээр дагадаг, таны өөрийн техник хангамж дээр ажилладаг, таныг буруу сонссон гээд санамсаргүйгээр арван хоёр хан боргоцой захиалахгүй жижиг дуут туслах хүсч байна уу? Raspberry Pi-тэй өөрөө хийх хиймэл оюун ухааны туслах нь гайхалтай боломжтой, хөгжилтэй, уян хатан юм. Та сэрүүн үг, яриа таних (ASR = автомат яриа таних), байгалийн хэлний тархи (дүрэм эсвэл LLM), текстээс ярианд хувиргах (TTS) функцийг холбох болно. Хэд хэдэн скрипт, нэг эсвэл хоёр үйлчилгээ, зарим болгоомжтой аудио тохируулга нэмснээр та таны дүрмийг дагаж мөрддөг халаасандаа авч явах боломжтой ухаалаг чанга яригчтай болно.

Ердийн үсээ зулгаахгүйгээр тэгээс эхлээд Пи-тэйгээ ярилцах боломжтой болцгооё. Бид эд ангиуд, тохиргоо, код, харьцуулалт, олж авсан зүйлс... бүхэл бүтэн бурритогийн талаар авч үзэх болно. 🌯

Үүний дараа таны унших дуртай нийтлэлүүд:

🔗 Хиймэл оюун ухааныг хэрхэн үр дүнтэй судлах вэ
Судалгааны замын зураг гаргаж, төслүүдийг дадлагажуулж, ахиц дэвшлийг хяна.

🔗 Хиймэл оюун ухааны компанийг хэрхэн эхлүүлэх вэ
Асуудлыг баталгаажуулах, MVP бүрдүүлэх, баг бүрдүүлэх, анхны үйлчлүүлэгчдийг хамгаалах.

🔗 Илүү бүтээмжтэй байхын тулд хиймэл оюун ухааныг хэрхэн ашиглах вэ
Ердийн ажлуудыг автоматжуулж, ажлын урсгалыг оновчтой болгож, бүтээлч гарцыг нэмэгдүүл.

🔗 Бизнестээ хиймэл оюун ухааныг хэрхэн нэвтрүүлэх вэ
Өндөр нөлөө бүхий үйл явцыг тодорхойлох, туршилтын хөтөлбөрүүдийг хэрэгжүүлэх, хөрөнгө оруулалтын өгөөжийг хэмжих, цар хүрээг өргөжүүлэх.


Raspberry Pi-тэй сайн хиймэл оюун ухааны туслахыг юу болгодог вэ ✅

  • Анхдагчаар хувийн – боломжтой бол аудиог орон нутагт хадгална. Төхөөрөмжөөс юу гарахыг та өөрөө шийднэ.

  • Модульчлагдсан – Lego гэх мэт бүрэлдэхүүн хэсгүүдийг солих: wake word engine, ASR, LLM, TTS.

  • Боломжийн үнэтэй – ихэвчлэн нээлттэй эх үүсвэртэй, өргөн хэрэглээний микрофон, чанга яригч болон Pi.

  • Хакердах боломжтой – гэрийн автоматжуулалт, хяналтын самбар, горим, захиалгат ур чадвар хүсч байна уу? Хялбар.

  • Найдвартай – үйлчилгээгээр удирддаг, ачаалж, автоматаар сонсож эхэлдэг.

  • Хөгжилтэй - та аудио, үйл явц, үйл явдалд суурилсан дизайны талаар ихийг сурах болно.

Жижиг зөвлөгөө: Хэрэв та Raspberry Pi 5 ашиглаж, илүү хүнд орон нутгийн загваруудыг ажиллуулахаар төлөвлөж байгаа бол хавчаартай хөргөгч нь удаан ачааллын үед тусалдаг. (Эргэлзэж байвал Pi 5-д зориулсан албан ёсны Active Cooler-г сонгоорой.) [1]


Танд хэрэгтэй эд анги, багаж хэрэгсэл 🧰

  • Raspberry Pi : Толгой зай багатай үед Pi 4 эсвэл Pi 5-г санал болгож байна.

  • microSD карт : 32 ГБ+ санал болгож байна.

  • USB микрофон : энгийн USB хурлын микрофон гайхалтай.

  • Чанга яригч : USB эсвэл 3.5 мм-ийн чанга яригч, эсвэл I2S өсгөгч HAT.

  • Сүлжээ : Ethernet эсвэл Wi-Fi.

  • Нэмэлт давуу талууд: гэр, идэвхтэй хөргөгч , түлхэж ярих товчлуур, LED цагираг. [1]

Үйлдлийн систем ба үндсэн тохиргоо

  1. Raspberry Pi үйлдлийн системийг флэшлээрэй . Энэ бол хүссэн тохиргоотой ачаалах боломжтой microSD авах энгийн арга юм. [1]

  2. Ачаалах, сүлжээнд холбогдох, дараа нь багцуудыг шинэчлэх:

sudo apt update && sudo apt upgrade -y
  1. Аудиогийн үндсэн ойлголтууд : Raspberry Pi үйлдлийн систем дээр та анхдагч гаралт, түвшин болон төхөөрөмжүүдийг ширээний хэрэглэгчийн интерфэйс эсвэл raspi-config . USB болон HDMI аудиог бүх загварууд дэмждэг; Bluetooth гаралт нь Bluetooth-тэй загварууд дээр байдаг. [1]

  2. Төхөөрөмжүүдийг баталгаажуулах:

arecord -l aplay -l

Дараа нь бичлэг болон тоглуулахыг туршина уу. Хэрэв түвшин хачин санагдаж байвал микрофоныг буруутгахаасаа өмнө миксер болон анхдагч тохиргоог шалгана уу.

 

Хиймэл оюун ухаант бөөрөлзгөнө пи

Архитектурыг товчхон авч үзье 🗺️

Raspberry Pi ухаалаг иймэрхүү харагдаж байна:

Сэрэх үг → шууд аудио бичлэг → ASR транскрипц → зорилго боловсруулах эсвэл LLM → хариу текст → TTS → аудио тоглуулах → MQTT эсвэл HTTP-ээр дамжуулан нэмэлт үйлдлүүд.

  • Сэрэх үг : Porcupine нь жижиг, нарийвчлалтай бөгөөд түлхүүр үг бүрийн мэдрэмжийн хяналттайгаар орон нутагт ажилладаг. [2]

  • ASR : Whisper нь ~680 мянган цагийн турш сургагдсан олон хэлтэй, ерөнхий зориулалттай ASR загвар юм; энэ нь өргөлт/арын шуугианд тэсвэртэй. Төхөөрөмж дээр ашиглахад whisper.cpp нь C/C++-ийн багахан дүгнэлтийн замыг өгдөг. [3][4]

  • Тархи : Таны сонголт – морины хүчнээс хамааран API, дүрмийн хөдөлгүүр эсвэл орон нутгийн дүгнэлтээр дамжуулан үүлэн LLM.

  • TTS : Piper нь орон нутгийн хэмжээнд байгалийн яриаг үүсгэдэг бөгөөд энэ нь энгийн техник хангамж дээр хурдан хариу үйлдэл үзүүлэхэд хангалттай хурдан юм. [5]


Шуурхай харьцуулах хүснэгт 🔎

Багаж хэрэгсэл Хамгийн сайн нь Үнэтэй Яагаад ажилладаг вэ
Зэрлэг гахайн сэрүүлгийн үг Үргэлж сонсох триггер Үнэгүй түвшин + Бага CPU, нарийвчлалтай, холболт хийхэд хялбар [2]
Шивнэх.cpp Pi дээрх орон нутгийн ASR Нээлттэй эх сурвалж Сайн нарийвчлалтай, CPU-д ээлтэй [4]
Илүү хурдан шивнэх CPU/GPU дээрх илүү хурдан ASR Нээлттэй эх сурвалж CTranslate2 оновчлолууд
Пайпер ТТС Орон нутгийн ярианы гаралт Нээлттэй эх сурвалж Хурдан дуу хоолой, олон хэл [5]
Үүлэн LLM API Баялаг үндэслэл Хэрэглээнд суурилсан Хүнд тооцооллыг хөнгөвчилдөг
Зангилаа-RED Үйлдлүүдийг зохион байгуулах Нээлттэй эх сурвалж Харааны урсгал, MQTT-д ээлтэй

Алхам алхмаар бүтээх: Таны анхны дуут давталт 🧩

Бид сэрүүлгийн үгэнд Porcupine, транскрипцид Whisper, хариултанд хөнгөн “тархины” функц (сонгосон LLM-ээр солино уу), ярианд Piper ашиглана. Хамгийн бага байлгаад дараа нь давтана.

1) Хамааралтай зүйлсийг суулгах

sudo apt install -y python3-pip portaudio19-dev sox ffmpeg pip3 install sounddevice 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-base.en.bin -f your.wav -otxt

Дээрх нь төслийн хурдан эхлэлийг харуулж байна. [4]

Python-г илүүд үзэж байна уу? faster-whisper (CTranslate2) нь энгийн CPU дээр ваниль Python-оос илүү хурдан байдаг.

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 хэл дээрх хамгийн бага туслах давталт

Санаатайгаар нягтруулсан: сэрүүлгийн хэллэгийг хүлээж (stub), бичиж, whisper.cpp , хариу үүсгээд (орлуулагч), дараа нь Piper-ээр дамжуулан ярина. Орлуулагчийг өөрийн дуртай LLM эсвэл дүрмийн логикоор солино.

импортлох os, дэд процесс, wave импортлох sounddevice as sd WAKE_WORD = "hey computer" # үйлдвэрлэлд 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] 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(секунд * SAMPLE_RATE), samplerate=SAMPLE_RATE, channels=CHANNELS, dtype='int16') sd.wait() нь wave.open(path, 'wb') функцийг ашиглан 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 "Би үүлийг харж чадахгүй байна, гэхдээ зүгээр байж магадгүй. Боломжтой гэж үзээд хүрэм авчир." return "Та хэлсэн: " + 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("Туслах бэлэн. Тестлэхийн тулд сэрүүлгийн хэллэгийг бичнэ үү.") 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("Хэрэглэгч:", text); print("Туслах:", хариулах) speak(хариулах) else: print("Давталтыг шалгахын тулд сэрүүлгийн хэллэгийг бичнэ үү.")

Жинхэнэ сэрүүлэгтэй үг илрүүлэхийн тулд Porcupine-ийн урсгал илрүүлэгчийг нэгтгээрэй (бага CPU, түлхүүр үг бүрийн мэдрэг чанар). [2]


Үнэхээр чухал аудио тохируулга 🎚️

Туслагчийг тань 10 дахин ухаалаг болгох хэдэн жижиг засвар:

  • Микрофоны зай : 30-60 см нь олон USB микрофонуудын хувьд хамгийн тохиромжтой зай юм.

  • Түвшин raspi-config ашиглан удирдах боломжтой . [1]

  • Өрөөний акустик : хатуу хана цуурай үүсгэдэг; микрофоны доор зөөлөн дэвсгэр тавих нь тусалдаг.

  • Сэрүүн үгийн босго : хэт мэдрэмтгий → сүнс өдөөгч; хэт хатуу → та хуванцар руу хашгирах болно. Porcupine нь түлхүүр үг бүрийн мэдрэмтгий байдлыг тохируулах боломжийг танд олгоно. [2]

  • Дулааны : Pi 5 дээрх урт транскрипцүүд нь тогтвортой ажиллагааг хангахын тулд албан ёсны идэвхтэй хөргөгчөөс ашиг тус хүртдэг. [1]


Тоглоомоос цахилгаан хэрэгсэл рүү шилжих нь: Үйлчилгээ, Автоматаар асаах, Эрүүл мэндийн үзлэг 🧯

Хүмүүс скрипт ажиллуулахаа мартдаг. Компьютерууд ч сайхан сэтгэлтэй байхаа мартдаг. Давтлагаа удирдлагатай үйлчилгээ болгон хувирга:

  1. Systemd нэгж үүсгэх:

[Нэгж] Тайлбар=DIY Дуут Туслагч After=network.target sound.target [Үйлчилгээ] User=pi WorkingDirectory=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Restart=always RestartSec=3 [Суулгах] WantedBy=multi-user.target
  1. Үүнийг идэвхжүүлнэ үү:

sudo cp assistant.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now assistant.service
  1. Модон сүүл:

journalctl -u туслах -f

Одоо энэ нь ачаалахад эхэлж, гацах үед дахин ачаалж, ерөнхийдөө төхөөрөмж шиг ажилладаг болсон. Бага зэрэг уйтгартай, хамаагүй дээр.


Ур чадварын систем: Гэртээ үнэхээр хэрэгтэй болгоорой 🏠✨

Дуу хоолойгоор оруулах болон гаргах ажиллагаа сайн болсны дараа дараах үйлдлүүдийг нэмнэ үү:

  • Зорилтот чиглүүлэгч : нийтлэг даалгавруудад зориулсан энгийн түлхүүр үгийн чиглүүлэлтүүд.

  • Ухаалаг гэр : үйл явдлуудыг MQTT дээр нийтлэх эсвэл Home Assistant-ын HTTP төгсгөлийн цэгүүд рүү залгах.

  • Нэмэлтүүд set_timer , what_is_the_time , play_radio , run_scene зэрэг хурдан Python функцууд .

Үүлэн LLM давталттай байсан ч хурд болон найдвартай байдлын үүднээс илэрхий локал командуудыг эхлээд чиглүүлээрэй.


Зөвхөн орон нутгийн болон үүлэн тусламжийн сонголт: Таны мэдрэх зүйлс 🌓

Зөвхөн орон нутагт
ашиглах боломжтой. Давуу талууд: хувийн, офлайн, урьдчилан таамаглах боломжтой зардал.
Сул талууд: хүнд загварууд жижиг самбар дээр удаан байж магадгүй. Whisper-ийн олон хэлний сургалт нь төхөөрөмж дээр эсвэл ойролцоох сервер дээр хадгалбал бат бөх байдалд тусалдаг. [3]

Үүлэн дэмжлэг
Давуу талууд: хүчирхэг үндэслэл, илүү том контекст цонх.
Сул талууд: төхөөрөмжөөс өгөгдөл гарах, сүлжээнээс хамааралтай байдал, хувьсах зардал.

Холимог нь ихэвчлэн хождог: сэрүүлгийн үг + ASR локал → үндэслэл гаргах API дуудах → TTS локал. [2][3][5]


Алдааг олж засварлах: Хачин Гремлин ба хурдан засварууд 👾

  • Худал үгийг сэрээх нь : мэдрэг чанарыг бууруулах эсвэл өөр микрофон ашиглаж үзээрэй. [2]

  • ASR хоцрогдол : жижиг Whisper загварыг ашиглах эсвэл whisper.cpp файлыг хувилбарын тугуудтай ( -j --config Release ) бүтээх. [4]

  • Тасархай TTS : нийтлэг хэллэгүүдийг урьдчилан үүсгэх; аудио төхөөрөмж болон түүврийн хурдаа баталгаажуулна уу.

  • Микрофон илэрсэнгүй : arecord -l болон холигчийг шалгана уу.

  • Дулааны тохируулга : тогтвортой ажиллагааг хангахын тулд Pi 5 дээрх албан ёсны Идэвхтэй Хөргөгчийг ашиглаарай. [1]


Таны унших ёстой аюулгүй байдал ба нууцлалын тэмдэглэлүүд 🔒

  • APT-ээр Pi-гээ шинэчилж байгаарай.

  • Хэрэв та ямар нэгэн үүлэн API ашигладаг бол илгээсэн зүйлээ бүртгэж, хувийн хэсгүүдийг эхлээд орон нутагтаа устгах талаар бодож үзээрэй.

  • Хамгийн бага эрхтэй үйлчилгээнүүдийг ажиллуулах; шаардлагатай бол ExecStart дээр sudo-г

  • зөвхөн орон нутгийн горим эсвэл чимээгүй цагийг хангах


Хувилбаруудыг бүтээх: Сэндвич шиг хольж, тохируул 🥪

  • Хэт орон нутгийн : Поркупин + шивнэх дуучин + Усан хоолой + энгийн дүрэм. Хувийн бөгөөд бат бөх. [2][4][5]

  • Хурдан үүлэн туслалцаа : Porcupine + (жижиг орон нутгийн шивнээ эсвэл үүлэн ASR) + TTS орон нутгийн + үүлэн LLM.

  • Гэрийн автоматжуулалтын төв : Хэвшмэл үйлдлүүд, үзэгдлүүд болон мэдрэгчүүдэд зориулж Node-RED эсвэл Home Assistant урсгалуудыг нэмнэ үү.


Жишээ ур чадвар: MQTT-ээр дамжуулан гэрэл асаах 💡

import paho.mqtt.client as mqtt MQTT_HOST = "192.168.1.10" TOPIC = "home/livingroom/light/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 if "гэрэл асаах" in text: set_light("on")

“Зочны өрөөний дэнлүүг асаа” гэх мэт дуут мөр нэмбэл та өөрийгөө илбэчин шиг мэдрэх болно.


Энэ стек яагаад практик дээр ажилладаг вэ 🧪

  • Жижиг самбар дээр сэрэмжлүүлэх үгийг илрүүлэхдээ Porcupine нь үр дүнтэй бөгөөд нарийвчлалтай тул үргэлж сонсох боломжтой болгодог. [2]

  • Whisper-ийн өргөн хүрээтэй, олон хэлний сургалт нь янз бүрийн орчин болон аялгад тэсвэртэй болгодог. [3]

  • whisper.cpp нь уг хүчийг зөвхөн CPU-тэй төхөөрөмжүүд дээр, тухайлбал Pi дээр ашиглах боломжтой байлгадаг. [4]

  • Piper нь үүлэн TTS руу аудио илгээхгүйгээр хариултуудыг хурдан байлгадаг. [5]


Хэтэрхий урт байна, уншаагүй байна

Raspberry Pi ашиглан Porcupine-г сэрүүлэгт, Whisper ( wiss.cpp- модульчлагдсан, хувийн DIY хиймэл оюун ухааны туслахыг бүтээгээрэй. Үүнийг системийн үйлчилгээ болгон оруулж, аудиог тохируулж, MQTT эсвэл HTTP үйлдлүүдээр холбоно уу. Энэ нь таны бодож байгаагаас хямд бөгөөд амьдрахад хачин сайхан юм. [1][2][3][4][5]


Лавлагаа

  1. Raspberry Pi програм хангамж ба хөргөлт – Raspberry Pi Imager (татаж авах ба ашиглах) болон Pi 5 Active Cooler бүтээгдэхүүний мэдээлэл

  2. Porcupine Wake Word – SDK & хурдан эхлүүлэх (түлхүүр үгс, мэдрэмж, орон нутгийн дүгнэлт)

  3. Шивнээ (ASR загвар) – Олон хэлний, ​​бат бөх ASR-ийг ~680 мянган цагийн турш сургасан

    • Радфорд нар, Том хэмжээний сул хяналтаар дамжуулан бат бөх яриа таних (шивнэх): дэлгэрэнгүй унших

  4. whisper.cpp – CLI болон бүтээх алхмуудтай CPU-д ээлтэй Whisper дүгнэлт

  5. Piper TTS – Олон дуу хоолой/хэлтэй хурдан, орон нутгийн мэдрэлийн TTS

Албан ёсны хиймэл оюун ухааны туслах дэлгүүрээс хамгийн сүүлийн үеийн хиймэл оюун ухааныг олоорой

Бидний тухай


Блог руу буцах