Speaker - CLI narzędzie do czytania tekstu i podsumowywania z pomocą AI

Właśnie opublikowałem Speaker – narzędzie wiersza poleceń, które zamienia tekst i treści webowe w mowę, z opcjonalnym streszczaniem i tłumaczeniem przez AI.

🎯 Co to robi?

Speaker to prosty skrypt w Pythonie, który:

  • Czyta tekst na głos – wspiera 55+ języków z automatyczną detekcją
  • Streszcza długie treści – używając Gemini, OpenAI, DeepSeek lub Ollama
  • Tłumaczy streszczenia – jednym przełącznikiem -t (np. angielski artykuł → polskie streszczenie na głos)
  • Pobiera treści z internetu – podaj URL, a Speaker pobierze i przeczyta zawartość

💡 Praktyczne zastosowania

Czytanie artykułów podczas jazdy:

speak -s -t https://techcrunch.com/ai-article

# Pobierze artykuł, streszcza po polsku, przeczyta na głos

Szybkie streszczenie dokumentacji:

speak -s https://docs.python.org/3/tutorial/

# Streszczenie w języku oryginału

Czytanie własnych notatek:

speak "To jest długi tekst który chcę usłyszeć"

🚀 Kluczowe funkcje

Wielojęzyczność bez konfiguracji

  • Automatyczna detekcja języka (55+ języków dzięki langdetect)
  • Mapowanie kodów ISO 639-1 na pełne nazwy dla lepszego rozumienia przez AI
  • Inteligentne TTS: używa języka tłumaczenia gdy -t, w przeciwnym razie wykrywa automatycznie

Elastyczne AI Backend

  • LLM: Gemini, OpenAI, DeepSeek, Ollama (konfigurowalna kolejność fallback)
  • TTS: Google Cloud TTS lub gTTS (lokalny, bez API) – jeśli chcesz lepszą jakość mowy, zamień kolejność wykorzystywania tych mechanizmów w konfiguracji
  • Cache ostatnio działającego modelu per-terminal (szybsze kolejne wywołania)

Uniwersalna instalacja

Obsługuje większość dystrybucji Linux:

  • Debian/Ubuntu/Mint (apt-get)
  • Fedora/RHEL 8+ (dnf)
  • CentOS/RHEL 7 (yum)
  • Arch/Manjaro (pacman)

Instalator automatycznie wykrywa package manager i instaluje zależności.

🛠️ Instalacja

git clone https://github.com/nocnystroz/speaker.git
cd speaker
cp .env.example .env
# Edytuj .env i dodaj swoje API keys
nano .env

# Instalacja
bash installator/install.sh

# Gotowe!
speak „Witaj świecie”

Po instalacji, speak jest dostępny globalnie jako funkcja shell (bash/zsh).

📖 Przykłady użycia

Podstawowe czytanie:

speak "Tekst do przeczytania"

Streszczanie + czytanie:

speak -s "Bardzo długi tekst który zostanie podsumowany..."

Streszczanie + tłumaczenie (np. en → pl):

# W .env ustaw: TRANSLATE_TO_LANG="pl"
speak -s -t https://example.com/english-article
# Artykuł po angielsku → streszczenie po polsku → czytanie po polsku

Czytanie z URL:

speak https://wikipedia.org/wiki/Python

🔧 Konfiguracja

Wszystko konfigurowane przez ~/.local/share/speaker/.env:

# Kolejność prób LLM
LLM_FALLBACK_ORDER="gemini,openai,deepseek,ollama"

# Lista modeli Gemini (próbuje kolejno)
GEMINI_MODELS=”gemini-pro-latest,gemini-2.5-flash”

# Język docelowy dla tłumaczeń (ISO 639-1)
TRANSLATE_TO_LANG=”pl”

# API Keys
GEMINI_API_KEY=”twój_klucz”
OPENAI_API_KEY=”twój_klucz”

🎁 Dodatkowe smaczki

  • Per-TTY cache – zapamiętuje działający model per sesja terminala
  • Inteligentna diagnostyka – wykrywa zepsute PPA, problemy z siecią
  • Instalator z pytaniem o sudo – bezpieczna instalacja bez root lub z root
  • Man page – man (dokumentacja pomocy) speak po instalacji  wywoływana poleceniem „man speak” lub „speak -h”

🌐 Open Source

Projekt jest dostępny na licencji GPLv3:

🔗 GitHub: https://github.com/nocnystroz/speaker

Jeśli znajdziesz buga lub masz pomysł na nową funkcję – zapraszam do Issues/PR!

case studies

Bezpłatna konsultacja

Testimoniale

Opinie i rekomendacje otrzymane od innych specjalistów:

PORTFOLIO:

Realizowałem skuteczne działania e-marketingowe dla kilkudziesięciu marek. Niżej wybrane spośród nich:

Formularz kontaktowy / bezpłatnej konsultacji:

Możesz także napisać na [email protected] lub zadzwonić 607-387-142:

    Wprowadź imię i nazwisko i nazwę firmy

    Wprowadź swój adres e-mail

    Załącznik

    Opcjonalnie załącz plik zawierający więcej informacji o projekcie

    Wpisz wiadomość. Jakiego typu usługi Cię interesują? Możesz też podać szacunkowy budżet.

    Copyright 2022 © „ION” Michał Sławiński, NIP: 732-198-98-86, Regon: 100706412 | Logotypy wykorzystane jedynie w celach informacyjnych

    ion301
    Przegląd prywatności

    Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.