Raspberry Pi ilə DIY süni intellekt köməkçisini necə qurmaq olar

Raspberry Pi ilə DIY süni intellekt köməkçisini necə qurmaq olar

Həqiqətən də sizinlə eyni anda gedən, öz aparatınızda işləyən və sizi səhv eşitdiyinə görə təsadüfən on iki ananas sifariş verməyən kiçik bir səs köməkçisi istəyirsiniz? Raspberry Pi ilə hazırlanmış DIY süni intellekt köməkçisi təəccüblü dərəcədə əlçatan, əyləncəli və çevikdir. Siz oyandıran söz, nitq tanıma (ASR = avtomatik nitq tanıma), təbii dil üçün beyni (qaydalar və ya LLM) və mətndən nitqə (TTS) qoşulacaqsınız. Bir neçə skript, bir və ya iki xidmət və bəzi diqqətli səs tənzimləmələri əlavə edin və qaydalarınıza tabe olan cibinizə uyğun ağıllı dinamik əldə edəcəksiniz.

Gəlin adi saç yolmadan sıfırdan Pi-nizlə danışmağa keçək. Hissələri, quraşdırmanı, kodu, müqayisələri, əldə edilənləri... bütün burritonu əhatə edəcəyik. 🌯

Bundan sonra oxumaq istəyə biləcəyiniz məqalələr:

🔗 Süni intellektini necə effektiv şəkildə öyrənmək olar
Tədqiqat yol xəritəsi yaradın, layihələr həyata keçirin və irəliləyişi izləyin.

🔗 Süni intellekt şirkətini necə qurmaq olar
Problemi təsdiqləyin, MVP qurun, komanda toplayın, ilkin müştəriləri təmin edin.

🔗 Daha məhsuldar olmaq üçün süni intellektdən necə istifadə etməli
Gündəlik tapşırıqları avtomatlaşdırın, iş axınlarını sadələşdirin və yaradıcı çıxışı artırın.

🔗 Süni intellekt biznesinizə necə daxil edilir
Yüksək təsirli prosesləri müəyyən edin, pilot layihələri həyata keçirin, investisiya gəlirliliyini ölçün, miqyaslandırın.


Raspberry Pi ilə yaxşı bir DIY süni intellekt köməkçisini nə yaradır ✅

  • Varsayılan olaraq, gizlidir – mümkün olduqda səsi lokal saxlayın. Cihazdan nəyin çıxacağına siz qərar verirsiniz.

  • Modulyar – Lego kimi komponentləri dəyişdirin: wake word engine, ASR, LLM, TTS.

  • Əlverişli qiymətə – əsasən açıq mənbəli, əmtəə mikrofonları, dinamiklər və Pi.

  • Hackable – ev avtomatlaşdırması, idarəetmə panelləri, rutinlər, xüsusi bacarıqlar istəyirsiniz? Asandır.

  • Etibarlı – xidmət tərəfindən idarə olunur, avtomatik olaraq işə düşür və dinləməyə başlayır.

  • Əyləncəli – audio, proseslər və hadisəyə əsaslanan dizayn haqqında çox şey öyrənəcəksiniz.

Kiçik məsləhət: Əgər Raspberry Pi 5 istifadə edirsinizsə və daha ağır yerli modelləri işlətməyi planlaşdırırsınızsa, klipli soyuducu davamlı yük altında kömək edir. (Şübhəniz varsa, Pi 5 üçün hazırlanmış rəsmi Active Cooler seçin.) [1]


Lazım Olacaq Ehtiyat Hissələri və Alətlər 🧰

  • Moruq Pi : Baş boşluğu üçün Pi 4 və ya Pi 5 tövsiyə olunur.

  • microSD kartı : 32 GB+ tövsiyə olunur.

  • USB mikrofonu : sadə bir USB konfrans mikrofonu əladır.

  • Dinamik : USB və ya 3.5 mm dinamik və ya I2S gücləndirici HAT.

  • Şəbəkə : Ethernet və ya Wi-Fi.

  • Əlavə xüsusiyyətlər: korpus, aktiv soyuducu , "danışmaq üçün düymə", LED halqa. [1]

ƏS və Əsas Quraşdırma

  1. Raspberry Pi OS-ni Flash edin . İstədiyiniz əvvəlcədən ayarlanmış yüklənə bilən microSD əldə etməyin ən asan yoludur. [1]

  2. Yükləyin, şəbəkəyə qoşulun və sonra paketləri yeniləyin:

sudo apt yeniləmə və sudo apt yeniləmə -y
  1. Audio əsasları raspi-config vasitəsilə təyin edə bilərsiniz . USB və HDMI audio bütün modellərdə dəstəklənir; Bluetooth çıxışı Bluetooth olan modellərdə mövcuddur. [1]

  2. Cihazları təsdiqləyin:

arecord -l aplay -l

Daha sonra səsyazmanı və oxutmanı sınaqdan keçirin. Səviyyələr qəribə görünürsə, mikrofonu günahlandırmadan əvvəl mikserləri və standart parametrləri yoxlayın.

 

Süni intellekt moruq pi

Memarlığa Bir Baxış 🗺️

ağıllı bir DIY süni intellekt köməkçisi belə görünür:

Oyanış sözü → canlı audio yazısı → ASR transkripsiyası → niyyətin idarə olunması və ya LLM → cavab mətni → TTS → audio oxutma → MQTT və ya HTTP vasitəsilə isteğe bağlı hərəkətlər.

  • Wake word : Porcupine kiçik, dəqiqdir və hər açar söz üçün həssaslıq nəzarəti ilə lokal olaraq işləyir. [2]

  • ASR : Whisper, təxminən 680 min saat ərzində təlim keçmiş çoxdilli, ümumi təyinatlı ASR modelidir; vurğu/fon səs-küyünə qarşı davamlıdır. Cihazda istifadə üçün whisper.cpp arıq C/C++ nəticə yolu təmin edir. [3][4]

  • Beyin : Sizin seçiminiz – API, qaydalar mühərriki və ya at gücündən asılı olaraq lokal nəticə çıxarma vasitəsilə bulud LLM.

  • TTS : Piper, yerli olaraq təbii nitq yaradır və sadə aparatlarda sürətli cavablar üçün kifayət qədər sürətlidir. [5]


Tez Müqayisə Cədvəli 🔎

Alət Ən Yaxşısı Qiymətə uyğun Niyə işləyir
Kirpi Oyanış Sözü Həmişə dinləyən tetikleyici Pulsuz səviyyə + Aşağı CPU, dəqiq, asan bağlanmalar [2]
Whisper.cpp Pi üzərində Yerli ASR Açıq mənbə Yaxşı dəqiqlik, CPU dostu [4]
Daha Sürətli Pıçıltı CPU/GPU-da daha sürətli ASR Açıq mənbə CTranslate2 optimallaşdırmaları
Piper TTS Yerli nitq çıxışı Açıq mənbə Sürətli səslər, bir çox dildə [5]
Bulud LLM API Zəngin mülahizə İstifadəyə əsaslanan Ağır hesablamaları azaldır
Düyün-QIRMIZI Hərəkətlərin təşkili Açıq mənbə Vizual axınlar, MQTT dostu

Addım-addım Quraşdırma: İlk Səs Döngəniz 🧩

Oyanış üçün Porcupine, transkripsiya üçün Whisper, cavab üçün yüngül "beyin" funksiyası (seçdiyiniz LLM ilə əvəz edin) və nitq üçün Piper-dən istifadə edəcəyik. Minimal saxlayın, sonra təkrarlayın.

1) Asılılıqları quraşdırın

sudo apt install -y python3-pip portaudio19-dev sox ffmpeg pip3 install sounddevice numpy
  • Porcupine: diliniz üçün SDK/bağlantıları götürün və sürətli başlanğıc təlimatını izləyin (giriş açarı + açar söz siyahısı + audio kadrlar → .process ). [2]

  • Whisper (CPU üçün uyğun): 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

Yuxarıda qeyd olunanlar layihənin tez başlamasını əks etdirir. [4]

Python-a üstünlük verirsiniz? faster-whisper (CTranslate2) adətən təvazökar CPU-larda vanil Python-dan daha sürətli olur.

2) Piper TTS-i qurun

git clone https://github.com/rhasspy/piper cd piper make # Bəyəndiyiniz səs modelini yükləyin, məs., en_US-amy echo "Salam." | ./piper --model voices/en/en_US-amy-medium.onnx --output_file hello.wav aplay hello.wav

Piper, çoxsaylı səs/dil seçimləri olan cihazda TTS üçün hazırlanmışdır. [5]

3) Pythonda minimal köməkçi döngə

Qəsdən kompakt: oyanma ifadəsini gözləyir (stub), qeyd edir, whisper.cpp , cavab yaradır (yer tutucu), sonra Piper vasitəsilə danışır. Yer tutucunu sevdiyiniz LLM və ya qayda məntiqi ilə dəyişdirin.

import os, subprocess, wave import sounddevice as sd WAKE_WORD = "hey computer" # istehsalda Porcupine üçün dəyişdirmə [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(saniyə * SAMPLE_RATE), samplerate=SAMPLE_RATE, channels=CHANNELS, dtype='int16') sd.wait() funksiyası wave.open(path, 'wb') funksiyası ilə aşağıdakı kimidir: 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 "Buludları görə bilmirəm, amma yaxşı ola bilər. Ehtimal üçün gödəkçə gətirin." return "Sən dedin: " + 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("Assistent hazırdır. Test etmək üçün oyandırma ifadəsini yazın.") 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("İstifadəçi:", text); print("Köməkçi:", cavab ver) speak(cavab ver) else: print("Dövrü sınamaq üçün oyandırma ifadəsini yazın.") }

Həqiqi oyanış sözünün aşkarlanması üçün Porcupine-nin axın detektorunu (aşağı CPU, hər açar sözə həssaslıq) inteqrasiya edin. [2]


Əslində Əhəmiyyətli Olan Audio Tüninq 🎚️

Bir neçə kiçik düzəliş köməkçinizin özünü 10 dəfə daha ağıllı hiss etməsinə kömək edir:

  • Mikrofon məsafəsi : 30-60 sm bir çox USB mikrofon üçün ideal seçimdir.

  • Səviyyələr : girişdə kəsilmədən çəkinin və oynatmanı sağlam saxlayın; kod xəyallarını təqib etməzdən əvvəl marşrutlaşdırmanı düzəldin. Raspberry Pi OS-də çıxış cihazını və səviyyələrini sistem alətləri və ya raspi-config . [1]

  • Otaq akustikası : sərt divarlar əks-səda yaradır; mikrofonun altındakı yumşaq bir döşək kömək edir.

  • Oyanış sözü həddi : çox həssas → xəyal tetikleyiciləri; çox sərt → plastikə qışqıracaqsınız. Porcupine, açar sözə görə həssaslığı tənzimləməyə imkan verir. [2]

  • Termallar : Pi 5-də uzun transkripsiyalar davamlı performans üçün rəsmi aktiv soyuducudan faydalanır. [1]


Oyuncaqdan Məişət Texnikasına Keçid: Xidmətlər, Avtomatik Başlatma, Sağlamlıq Yoxlamaları 🧯

İnsanlar skriptləri işlətməyi unudurlar. Kompüterlər isə xoş davranmağı unudurlar. Döngənizi idarə olunan bir xidmətə çevirin:

  1. Sistemli bir vahid yaradın:

[Bölmə] Təsvir=Özün hazırla Səs Köməkçisi Sonra=network.target sound.target [Xidmət] İstifadəçi=pi WorkingDirectory=/home/pi/assistant ExecStart=/usr/bin/python3 /home/pi/assistant/assistant.py Restart=always RestartSec=3 [Quraşdır] WantedBy=multi-user.target
  1. Aktivləşdirin:

sudo cp assistant.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now assistant.service
  1. Quyruqlar:

journalctl -u köməkçisi -f

İndi o, açıldıqda başlayır, qəza baş verdikdə yenidən başlayır və ümumiyyətlə cihaz kimi davranır. Bir az darıxdırıcı, daha yaxşıdır.


Bacarıq Sistemi: Evdə Həqiqətən Faydalı Edin 🏠✨

Səs girişi və çıxışı möhkəmləndikdən sonra hərəkətlər əlavə edin:

  • Niyyət yönləndiricisi : ümumi tapşırıqlar üçün sadə açar söz marşrutları.

  • Ağıllı ev : tədbirləri MQTT-yə dərc edin və ya Home Assistant-ın HTTP son nöqtələrinə zəng edin.

  • Pluginlər set_timer , what_is_the_time , play_radio , run_scene kimi sürətli Python funksiyaları .

Döngədə bir bulud LLM olsa belə, sürət və etibarlılıq üçün əvvəlcə aşkar yerli əmrləri yönləndirin.


Yalnız Yerli və Bulud Köməkçisi: Hiss Edəcəyiniz Güzəştlər 🌓

Yalnız yerli
Müsbət cəhətləri: özəl, oflayn, proqnozlaşdırıla bilən xərclər.
Mənfi cəhətləri: daha ağır modellər kiçik lövhələrdə yavaş ola bilər. Whisper-in çoxdilli təlimi, cihazda və ya yaxınlıqdakı serverdə saxlasanız, möhkəmliyə kömək edir. [3]

Bulud dəstəyi
Müsbət cəhətləri: güclü məntiq, daha böyük kontekst pəncərələri.
Mənfi cəhətləri: cihazdan məlumat çıxması, şəbəkə asılılığı, dəyişkən xərclər.

Hibrid tez-tez qalib gəlir: wake word + ASR local → məntiq üçün API çağırın → TTS lokal. [2][3][5]


Problemlərin Həlli: Qəribə Qremlinlər və Tez Düzəlişlər 👾

  • Oyanış sözünün yalançı tetikleyiciləri : həssaslığı azaldın və ya fərqli bir mikrofon sınayın. [2]

  • ASR gecikməsi : daha kiçik bir Whisper modeli istifadə edin və ya buraxılış bayraqları ( -j --config Release whisper.cpp . [4]

  • Qırıntılı TTS : ümumi ifadələri əvvəlcədən yaradın; audio cihazınızı və nümunə sürətlərinizi təsdiqləyin.

  • Mikrofon aşkarlanmadı : arecord -l və mikserləri yoxlayın.

  • İstilik dondurulması : davamlı performans üçün Pi 5-də rəsmi Aktiv Soyuducudan istifadə edin. [1]


Təhlükəsizlik və Məxfilik Qeydləri 🔒

  • Pi-nizi APT ilə yeniləyin.

  • Əgər hər hansı bir bulud API istifadə edirsinizsə, göndərdiklərinizi qeyd edin və əvvəlcə şəxsi bitləri lokal olaraq redaktə etməyi düşünün.

  • Ən az imtiyazla xidmətləri işə salın; lazım olmadıqda ExecStart-da sudo

  • yalnız yerli rejim və ya sakit saatlar təmin edin


Variantlar Yaradın: Sendviç Kimi Qarışdırın və Uyğunlaşdırın 🥪

  • Ultra-lokal : Kirpi + pıçıltı.cpp + Çubuqçu + sadə qaydalar. Özəl və möhkəm. [2][4][5]

  • Sürətli bulud köməyi : Kirpi + (daha kiçik yerli Pıçıltı və ya bulud ASR) + TTS yerli + bulud LLM.

  • Ev avtomatlaşdırma mərkəzi : Rutinlər, səhnələr və sensorlar üçün Node-RED və ya Ev köməkçisi axınları əlavə edin.


Nümunə Bacarıq: MQTT vasitəsilə işıqların yanması 💡

import paho.mqtt.client as mqtt MQTT_HOST = "192.168.1.10" MÖVZU = "ev/qonaq otağı/işıq/təyin" 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(MÖVZU, payload, qos=1, retain=False) client.disconnect() # if if "işıqları yandırın" in text: set_light("on")

“Qonaq otağının lampasını yandır” kimi bir səs cümləsi əlavə edin və özünüzü sehrbaz kimi hiss edəcəksiniz.


Niyə bu yığın praktikada işləyir 🧪

  • Porcupine kiçik lövhələrdə uydurma sözləri aşkarlamaqda səmərəli və dəqiqdir ki, bu da həmişə dinləməyi mümkün edir. [2]

  • Whisper-in geniş və çoxdilli təlimi onu müxtəlif mühitlərə və aksentlərə davamlı edir. [3]

  • whisper.cpp bu gücü yalnız CPU ilə işləyən cihazlarda, məsələn, Pi-də istifadəyə yararlı saxlayır. [4]

  • Piper, səsi bulud TTS-ə göndərmədən cavabları sürətli saxlayır. [5]


Çox uzundur, oxumadım

Raspberry Pi ilə modulyar, özəl wiss.cpp vasitəsilə) və yerli TTS üçün Piper-i birləşdirərək . Onu sistem xidməti kimi istifadə edin, səsi tənzimləyin və MQTT və ya HTTP əməliyyatlarında naqilləri birləşdirin. Düşündüyünüzdən daha ucuzdur və yaşamaq qəribə dərəcədə xoşdur. [1][2][3][4][5]


İstinadlar

  1. Raspberry Pi Proqram Təminatı və Soyutma – Raspberry Pi Imager (yükləyin və istifadə edin) və Pi 5 Active Cooler məhsulu haqqında məlumat

  2. Porcupine Wake Word – SDK və sürətli başlanğıc (açar sözlər, həssaslıq, yerli nəticə)

  3. Pıçıltı (ASR modeli) – Çoxdilli, güclü ASR təxminən 680 min saat ərzində təlim keçib

    • Radford və digərləri, Genişmiqyaslı Zəif Nəzarət (Pıçıltı) Vasitəsilə Güclü Nitq Tanıma: daha ətraflı oxuyun

  4. whisper.cpp – CLI və qurma addımları ilə CPU dostu Whisper nəticəsi

  5. Piper TTS – Çoxsaylı səslər/dillərlə sürətli, lokal neyron TTS

Ən son süni intellekt texnologiyalarını rəsmi süni intellekt köməkçisi mağazasında tapın

Haqqımızda


Bloqa qayıt