Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeskBot

Raspberry Pi ve Ollama ile yerel bir desk robot. Mikrofonla konuşursunuz, ses metne çevrilir, Ollama’daki model cevap üretir ve TTS ile sesli yanıt verilir.

Özellikler

  • Yerel STT: faster-whisper ile Türkçe konuşma tanıma
  • Yerel LLM: Ollama (örn. gemma3:1b) ile masaüstünde çalışan sohbet
  • TTS: pyttsx3 ile metin okuma
  • Basit arayüz: Tkinter ile mikrofon aç/kapa ve sohbet geçmişi

Gereksinimler

  • Python 3.10+
  • Ollama kurulu ve çalışır durumda (ollama.com)
  • Raspberry Pi (veya x86/ARM masaüstü), mikrofon ve hoparlör

Kurulum

1. Depoyu klonla

git clone https://github.com/ismailcankaratas/desk-robot.git
cd desk-bot

2. Sanal ortam ve bağımlılıklar

python3 -m venv robotenv
source robotenv/bin/activate   # Windows: robotenv\Scripts\activate
pip install -r requirements.txt

3. Ollama ve model

Ollama’yı kurup bir model indirin (Türkçe için hafif modeller önerilir):

# Ollama kurulumu: https://ollama.com/download
ollama pull gemma3:1b
# veya: ollama pull llama3.2:3b

4. Whisper modeli

İlk çalıştırmada faster-whisper small modelini otomatik indirir. Raspberry Pi’de bellek kısıtlıysa app.py içinde WhisperSTT("base") veya WhisperSTT("tiny") kullanabilirsiniz.

Çalıştırma

source robotenv/bin/activate
python app.py
  • Mikrofonu Aç ile dinlemeyi başlatın, konuşun; sessizlik sonrası kayıt biter, cevap üretilir ve sesli okunur.
  • Mikrofonu Kapat ile dinlemeyi durdurun.

Proje yapısı

desk-bot/
├── app.py              # Giriş noktası, STT/LLM/TTS/Recorder bağlantısı
├── core/
│   └── robot_service.py # Dinleme döngüsü, hafıza, LLM çağrısı
├── infra/
│   ├── whisper_stt.py  # faster-whisper STT
│   ├── ollama_llm.py   # Ollama chat API
│   ├── tts_engine.py   # pyttsx3 TTS
│   └── audio_recorder.py # Ses kaydı (sessizlik algılamalı)
├── ui/
│   └── gui.py          # Tkinter arayüzü
├── models/             # (Opsiyonel) Piper TTS ONNX modelleri
├── requirements.txt
└── README.md

Yapılandırma

app.py içinde şunları değiştirebilirsiniz:

  • Whisper: WhisperSTT("small")"base" veya "tiny" (daha az RAM)
  • Ollama modeli: OllamaLLM("gemma3:1b") → kullandığınız model adı
  • Kayıt: AudioRecorder parametreleri (sessizlik süresi, max saniye vb.)

Raspberry Pi notları

  • Ollama’yı Pi’de çalıştırıyorsanız küçük modeller (gemma3:1b, phi, vb.) tercih edin.
  • Whisper için tiny veya base daha az bellek kullanır.
  • Ses kartı/mikrofon için sounddevice listesinden doğru cihazı seçebilirsiniz (AudioRecorder(device=...)).

Lisans

MIT

About

Raspberry Pi ve Ollama ile yerel bir desk robot. Mikrofonla konuşursunuz, ses metne çevrilir, Ollama’daki model cevap üretir ve TTS ile sesli yanıt verilir.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages