ZWID_Pierwszy film AI za darmo - 5 kredytów na start, potem od 3 zł. Bez abonamentu.1. film za 0 złZrób film →
✨ Świeża dostawa•nowe kody na kinetyka.pl: Gemini Pro 18 mies. 170 zł•Cursor, ElevenLabs, Lovable i więcej, roczne plany AI w ułamku ceny Zobacz →
Przejdź do treści
Artykuły

Syntezator mowy po polsku offline: Piper, XTTS i Chatterbox - test

Piper, Chatterbox Multilingual v3 i XTTS-v2 przeczytały te same polskie teksty. Proza bez błędów, łamańce i liczby już nie. Wyniki, próbki audio, licencje i skrypt czytaj-tekst.py.

12 min czytania
Napis Syntezator mowy po polsku offline - Piper, XTTS-v2 i Chatterbox w moim teście

👁 120 przeczytań

// w skrócie
  • Spośród trzech testowanych syntezatorów offline najlepszą wymowę polską osiągnął XTTS-v2 z głosem Ana Florence - tylko 8% błędów na łamańcu i 0% na prozie.
  • Piper 1.8.0 jest jedynym z trojki działającym bez karty graficznej i generuje mowę kilkakrotnie szybciej niż czas rzeczywisty (0,12-0,21 s na 1 s mowy).
  • Liczby zapisane cyframi psują wszystkie trzy modele - Chatterbox generuje bełkot, XTTS-v2 czyta skróty dosłownie, a Piper rozkłada datę na oddzielne słowa.

Darmowy syntezator mowy po polsku, który działa bez internetu, to w październiku 2026 w praktyce trzy programy: Piper (lekki, chodzi na zwykłym procesorze), Chatterbox Multilingual v3 (licencja MIT, potrzebuje karty graficznej) i XTTS-v2 (najlepsza wymowa, ale tylko do użytku niekomercyjnego). Każdy przeczytał u mnie te same trzy polskie teksty, a wymowę sprawdziłem, puszczając nagrania z powrotem przez rozpoznawanie mowy Whisper. W zwykłej prozie Chatterbox i XTTS-v2 nie zgubiły ani jednego słowa, a Piper z głosem gosia jedno. Na łamańcu językowym wygrał XTTS-v2 (8% błędnych słów), a liczby zapisane cyframi popsuły wszystkie trzy. To część serii o lokalnym AI.

Stan na 17 października 2026

  • Piper 1.8.0 (pakiet piper-tts, projekt OHF-Voice/piper1-gpl, licencja GPL-3.0). Stare repozytorium rhasspy/piper jest zarchiwizowane. 5 polskich głosów: gosia, darkman, mc_speech (CC0), bass (Apache 2.0), mls_6892 (CC BY 4.0).
  • Chatterbox Multilingual v3 (Resemble AI, MIT, także komercyjnie): 23 języki z polskim, każde nagranie ma niesłyszalny znak wodny Perth.
  • XTTS-v2 (Coqui): 17 języków z polskim, licencja CPML tylko do użytku niekomercyjnego. Firma Coqui zakończyła działalność, więc licencji komercyjnej nie ma od kogo kupić. Kod rozwija dalej Idiap (coqui-tts 0.27.5, MPL-2.0).
  • Bez polskiego na oficjalnej liście: Kokoro, Qwen3-TTS, Magpie TTS. F5-TTS ma tylko społecznościowe wersje polskie.
  • Mój test: 3 października (Piper) i 17 października 2026 (Chatterbox, XTTS-v2), RTX 4090, i9-14900KF, tylko głosy wbudowane, bez klonowania.
0,0%błędnych słów w prozie: Chatterbox i XTTS-v2 (głos Ana Florence)
8,0%błędów w łamańcu: najlepszy XTTS-v2
0,15 sna 1 s mowy: Piper na samym procesorze
4,8 GBpamięci karty dla Chatterboxa

Jak testowałem

Trzy teksty, te same dla każdego modelu:

  • Proza (71 słów): zwykły opis jesiennej wsi, sprawdza płynność i akcent.
  • Łamaniec (25 słów): „Źdźbło trzciny drżało nad Wisłą, a pszczoła w Szczebrzeszynie…”, Brzęczyszczykiewicz i Chrząszczyżewoszyce.
  • Liczby i skróty: data 17.03.2027 r., godz. 9:45, ul. Żeromskiego 12, 1249,99 zł, 15%, „Dr”, numer telefonu.

Każde nagranie przepisał Whisper large-v3 (lokalnie, język polski). Dla prozy i łamańca policzyłem odsetek błędnych słów względem tekstu (WER). Liczb tak nie policzysz (Whisper sam zamienia słowa na cyfry), więc tu oceniałem tylko, czy da się je rozpoznać. Chatterbox dostał dwa podejścia, XTTS-v2 dwa głosy (Ana Florence, Damien Black), Piper 5 polskich głosów. To miara zrozumiałości, nie urody głosu.

To inny test niż moje porównanie lektorów AI z 8 października. Tam 8 lektorów przeczytało jeden tekst z 15 punktami kontrolnymi (daty, kwoty, łamańce, intonacja pytania): XTTS-v2 10/15, Piper gosia 6/15, Chatterbox 4/15, Eleven v4 z chmury 15/15. Oba testy wskazują tego samego lidera wśród modeli lokalnych.

Wyniki: ile słów przeczytał poprawnie każdy model

Model i głosBłędne słowa: prozaBłędne słowa: łamaniecCzas na 1 s mowy
XTTS-v2, Ana Florence0,0%8,0%0,60 s (karta)
XTTS-v2, Damien Black2,8%16,0%0,62 s (karta)
Chatterbox v3 (2 podejścia)0,0% i 0,0%20,0% i 24,0%1,08-1,25 s (karta)
Piper, gosia1,4%24,0%0,15 s (procesor)
Piper, mc_speech5,6%16,0%0,21 s (procesor)
Piper, darkman4,2%32,0%0,15 s (procesor)
Piper, bass (high)11,3%44,0%0,57 s (procesor)
Piper, mls_6892 (low)21,1%40,0%0,12 s (procesor)

„Czas na 1 s mowy” to czas generowania podzielony przez długość nagrania: 0,15 s oznacza, że 28 sekund mowy powstaje w ok. 4 sekundy. Wartość powyżej 1 znaczy, że model generuje wolniej, niż mówi.

Co z tego wynika:

  • Proza to dziś żaden problem. Chatterbox w obu podejściach i XTTS-v2 z głosem Ana Florence przeczytały 71 słów bez błędu. XTTS-v2 z głosem Damien Black dorzucił na końcu nieistniejące słowo („monogię”), to typowy dla tego modelu dopisek po ostatnim zdaniu.
  • Łamańce rozdzielają stawkę. XTTS-v2 (Ana) pomylił tylko 2 z 25 słów. Chatterbox mówił „Lisłą” zamiast „Wisłą”, „żlirem” zamiast „żwirem” i „Grzęczyszczykiewicz”. Piper z głosem gosia zrobił z „Źdźbła” „Ziębło”.
  • Liczby i skróty psują wszystko. Chatterbox na zdaniu z cyframi zaczyna bełkotać: w transkrypcji zamiast daty i kwoty są słowa, których nie ma w żadnym słowniku, a numer telefonu zamienia się w zlepek sylab. XTTS-v2 czyta liczby, ale skróty dosłownie („ogoc” zamiast „o godzinie”), a jeden z głosów zgubił „zł”. Piper rozpisuje 17.03.2027 r. jako „siedemnaście zero trzy dwa tysiące dwadzieścia siedem er”.
  • Szybkość: Piper bez konkurencji. Na samym procesorze generuje kilka razy szybciej, niż mówi. XTTS-v2 na RTX 4090 robi 1 s mowy w ok. 0,6 s, a Chatterbox 17 października był wolniejszy od czasu rzeczywistego (8 października na dłuższym tekście: 26,4 s na 33 s nagrania).

Posłuchaj: ta sama proza w każdym modelu

XTTS-v2, głos Ana Florence: 0 błędnych słów, 41,7 s (czyta wolno).
Chatterbox Multilingual v3, głos domyślny: 0 błędnych słów, 22,0 s.
Piper, głos gosia: 1 błędne słowo („młodzie” zamiast „łodzie”), 28,1 s, na procesorze.
Piper, głos mc_speech: 4 błędne słowa, ale najlepszy z Piperów na łamańcu.

I zdanie z liczbami, gdzie różnica jest największa:

XTTS-v2: liczby czyta, skróty dosłownie.
Chatterbox: na cyfrach generuje bełkot.

Głośność wyrównana do -16 LUFS, bez innej obróbki.

Piper: polski lektor na każdym komputerze

Piper to syntezator zbudowany pod Home Assistanta: mały model (60-115 MB na głos), który działa na zwykłym procesorze, także na Raspberry Pi. Instalacja na Windowsie:

  1. Zainstaluj Pythona 3.9 lub nowszego z python.org (zaznacz „Add to PATH”).
  2. W wierszu poleceń: pip install piper-tts.
  3. Zapisz skrypt czytaj-tekst.py (niżej) i plik tekst.txt z tekstem w UTF-8.
  4. Uruchom: python czytaj-tekst.py tekst.txt. Przy pierwszym użyciu skrypt pobierze głos z oficjalnego repozytorium rhasspy/piper-voices, potem działa bez internetu.
  5. Inny głos albo tempo: --glos mc_speech, --tempo 1.15 (wolniej). Z --mp3 zrobi też plik MP3, jeśli masz ffmpeg.

Najlepiej wypadła gosia (proza) i mc_speech (łamańce). Głos bass („high”) brzmi pełniej, ale myli więcej słów, a mls_6892 ma najniższą jakość (16 kHz). Wszystkie głosy Pipera korzystają z tego samego przetwarzania tekstu (eSpeak), więc liczby i skróty czytają identycznie: „godz.” jako „goc”, „zł” jako „zet eł”, numer telefonu jako jedną liczbę („sześćset jeden milionów…”). Dobrze radzą sobie z „Dr” („doktor”) i „15%” („piętnaście procent”).

Gotowy skrypt: czytaj-tekst.py

Skrypt sprawdziłem 17 października 2026 na czystym folderze: nowe środowisko Pythona 3.13, pip install piper-tts (1.8.0), pobranie głosu gosia (63 MB) i synteza. Krótki akapit (7,9 s mowy): wczytanie głosu 3,1 s, synteza 3,5 s na procesorze. Licencja MIT, możesz go zmieniać i używać w firmie. Zanim uruchomisz kod z internetu, przeczytaj go. Pobierz czytaj-tekst.py.

"""
czytaj-tekst.py - polski lektor offline (Piper) z pliku tekstowego do WAV/MP3.
Autor: Piotr Olszewski, promptowy.com. Licencja skryptu: MIT.
Sprawdzone 17.10.2026: Windows 11, Python 3.13, piper-tts 1.8.0, czysty folder.

Instalacja (raz):
  pip install piper-tts

Użycie:
  python czytaj-tekst.py tekst.txt                 -> tekst.wav (głos gosia)
  python czytaj-tekst.py tekst.txt --glos darkman  -> inny głos: gosia, darkman, mc_speech, bass, mls_6892
  python czytaj-tekst.py tekst.txt --tempo 1.15    -> wolniej (1.0 = normalnie, 0.9 = szybciej)
  python czytaj-tekst.py tekst.txt --mp3           -> dodatkowo MP3 (wymaga ffmpeg w PATH)

Głos pobiera się przy pierwszym użyciu z oficjalnego repozytorium rhasspy/piper-voices
na Hugging Face do folderu "glosy" (60-115 MB na głos). Potem wszystko działa bez internetu.
Licencje głosów: gosia, darkman, mc_speech - CC0; bass - Apache 2.0; mls_6892 - CC BY 4.0.
Silnik Piper (piper1-gpl) jest na licencji GPL-3.0.

Liczby i skróty (17.03.2027 r., godz., zł) rozpisz słownie przed czytaniem - Piper czyta je dosłownie.
"""
import argparse, os, sys, time, wave, shutil, subprocess, urllib.request
from pathlib import Path

GLOSY = {'gosia': 'medium', 'darkman': 'medium', 'mc_speech': 'medium', 'bass': 'high', 'mls_6892': 'low'}
HF = 'https://huggingface.co/rhasspy/piper-voices/resolve/main/pl/pl_PL/{g}/{q}/pl_PL-{g}-{q}.onnx{ext}'


def pobierz_glos(glos, katalog):
    q = GLOSY[glos]
    katalog.mkdir(parents=True, exist_ok=True)
    model = katalog / f'pl_PL-{glos}-{q}.onnx'
    for ext in ('', '.json'):
        cel = Path(str(model) + ext)
        if cel.exists() and cel.stat().st_size > 0:
            continue
        url = HF.format(g=glos, q=q, ext=ext)
        print(f'Pobieram {cel.name} z Hugging Face (rhasspy/piper-voices)...', flush=True)
        tmp = Path(str(cel) + '.part')
        with urllib.request.urlopen(url, timeout=60) as r, open(tmp, 'wb') as f:
            shutil.copyfileobj(r, f)
        tmp.replace(cel)
    return model


def main():
    ap = argparse.ArgumentParser(description='Polski lektor offline (Piper): plik .txt -> .wav')
    ap.add_argument('plik', help='plik tekstowy UTF-8')
    ap.add_argument('--glos', default='gosia', choices=sorted(GLOSY))
    ap.add_argument('--tempo', type=float, default=1.0, help='1.0 normalnie, >1 wolniej, <1 szybciej')
    ap.add_argument('--wyjscie', help='nazwa pliku WAV (domyślnie jak plik tekstowy)')
    ap.add_argument('--glosy', default='glosy', help='folder na pobrane głosy')
    ap.add_argument('--mp3', action='store_true', help='zrób też MP3 (ffmpeg)')
    x = ap.parse_args()

    from piper import PiperVoice, SynthesisConfig

    tekst = Path(x.plik).read_text(encoding='utf-8').strip()
    if not tekst:
        sys.exit('Plik jest pusty.')
    wyj = Path(x.wyjscie) if x.wyjscie else Path(x.plik).with_suffix('.wav')

    model = pobierz_glos(x.glos, Path(x.glosy))
    t0 = time.time()
    glos = PiperVoice.load(str(model))
    t1 = time.time()
    with wave.open(str(wyj), 'wb') as w:
        glos.synthesize_wav(tekst, w, syn_config=SynthesisConfig(length_scale=x.tempo))
    t2 = time.time()
    with wave.open(str(wyj)) as w:
        dlugosc = w.getnframes() / w.getframerate()
    print(f'Gotowe: {wyj} | {dlugosc:.1f} s nagrania | głos {x.glos} wczytany w {t1 - t0:.1f} s | '
          f'synteza {t2 - t1:.1f} s ({(t2 - t1) / max(dlugosc, 0.01):.2f} s na 1 s mowy)')

    if x.mp3:
        if not shutil.which('ffmpeg'):
            print('Brak ffmpeg w PATH - pomijam MP3 (Windows: winget install Gyan.FFmpeg).')
        else:
            mp3 = wyj.with_suffix('.mp3')
            subprocess.run(['ffmpeg', '-y', '-loglevel', 'error', '-i', str(wyj), '-b:a', '96k', str(mp3)], check=True)
            print('MP3:', mp3)


if __name__ == '__main__':
    main()

Chatterbox Multilingual v3: bez błędów w prozie, jeśli tekst nie ma cyfr

Nie przepłacaj za te subskrypcje

Prowadzę sklep z rocznymi dostępami do narzędzi AI - te same konta, o których piszę wyżej, tylko taniej niż w cenniku producenta.

Zobacz, co jest dostępne

Chatterbox od Resemble AI w prozie dał zero błędnych słów w obu podejściach, a w teście z 8 października był jednym z niewielu lektorów, które czytały pytanie z wznoszącą intonacją. Wymaga jednak karty graficznej i tekstu bez cyfr: data, kwota albo numer telefonu w zapisie cyfrowym zamieniają się w bełkot. Rozpisz je słownie, a problem znika.

  • Instalacja: pip install chatterbox-tts (wersja 0.1.7), w kodzie ChatterboxMultilingualTTS.from_pretrained(device="cuda", t3_model="v3") i language_id="pl".
  • Pamięć karty: 4,7-4,8 GB całej karty (sam PyTorch 3,4-3,6 GB), ładowanie 30,7 s z dysku USB.
  • Licencja MIT, także komercyjnie. Każdy plik dostaje niesłyszalny znak wodny Perth, który pozwala wykryć, że głos jest syntetyczny.
  • Potrafi sklonować głos z kilkusekundowej próbki. Tego nie testowałem.

XTTS-v2: najlepsza wymowa, zła licencja

XTTS-v2 z 2023 roku wciąż najlepiej radzi sobie z polskimi łamańcami i najmniej psuje liczby. Ma 58 wbudowanych głosów (wielojęzycznych; w teście z 8 października głos Damien Black miał wyraźny obcy akcent) i klonowanie z 6-sekundowej próbki. Czyta wolniej od innych: ta sama proza zajęła 34-42 s, u Chatterboxa 21-22 s.

  • Instalacja: pip install coqui-tts (wersja 0.27.5 z Idiap), model tts_models/multilingual/multi-dataset/xtts_v2, language="pl".
  • Pamięć karty: 2,5-3,4 GB, ładowanie 24,5 s, generowanie ok. 0,6 s na 1 s mowy (17 października 2026).
  • Licencja Coqui Public Model License: tylko użytek niekomercyjny. Nie nadaje się do lektora w płatnym kursie, reklamie ani aplikacji na sprzedaż.

Których modeli nie testowałem i dlaczego

  • Kokoro, Qwen3-TTS i Magpie TTS: brak polskiego na oficjalnej liście języków (szczegóły o Kokoro w pytaniach niżej).
  • F5-TTS i OmniVoice: wagi na licencji niekomercyjnej CC BY-NC, a klonowanie głosu to podstawowy tryb pracy. F5-TTS po polsku istnieje tylko w dostrojeniach społeczności.

Lokalny syntezator czy usługa w chmurze

W rankingu najlepszy lektor AI po polsku sprawdziłem 14 modeli w chmurze. Eleven v4 i Gemini 3.1 Flash TTS przeczytały bezbłędnie wszystkie 18 punktów kontrolnych, łącznie z datami, kwotami i skrótami, czego nie zrobił żaden model lokalny. Różnicę słychać też w ekspresji.

  • Lokalnie wybierz, gdy: czytasz dużo tekstu (audiobooki, kursy, notatki), dane są poufne, potrzebujesz pracy offline albo lektora w aplikacji bez opłat za znak.
  • W chmurze wybierz, gdy: liczy się ekspresja i bezbłędne liczby od pierwszego podejścia, a tekstu jest niewiele.

Prawne granice klonowania głosu i oznaczania nagrań opisałem w tekście AI lektor. Lektor to zwykle tylko część projektu: obraz, wideo i muzykę do tego samego filmu zrobisz lokalnie w Hangarze (moje narzędzie, sam syntezatora mowy nie ma), a napisy według poradnika napisy do filmu.

Dla kogo który syntezator

  • Piper (gosia): słaby laptop, Raspberry Pi, Home Assistant, długie teksty, użytek komercyjny (głos CC0).
  • Chatterbox v3: lektor do filmów i rolek na karcie z kilkoma GB pamięci, tekst bez cyfr, komercyjnie wolno.
  • XTTS-v2: prywatne projekty, gdzie liczy się wymowa trudnych słów.

Najczęstsze pytania

Jaki jest najlepszy darmowy syntezator mowy po polsku?

Do użytku prywatnego XTTS-v2: w moim teście 0% błędnych słów w prozie i 8% w łamańcu (głos Ana Florence). Do zastosowań komercyjnych Chatterbox Multilingual v3 (MIT, 0% błędów w prozie, ale tekst bez cyfr). Bez karty graficznej Piper z głosem gosia (1,4% błędów w prozie).

Jak zamienić tekst na mowę za darmo, bez internetu?

Najprościej Piperem: pip install piper-tts, potem skrypt czytaj-tekst.py z tego tekstu zamienia plik .txt na .wav lub .mp3. Głos pobiera się raz (ok. 63 MB), później wszystko działa offline, także na komputerze bez karty graficznej.

Czy Piper TTS działa bez karty graficznej?

Tak, to jego główna zaleta. Na procesorze i9-14900KF głosy „medium” generowały mowę zwykle w 0,13-0,21 s na każdą sekundę nagrania, czyli kilka razy szybciej, niż się jej słucha (pomiar z 3 października 2026). Działa też na Raspberry Pi 4 i 5, dlatego używa go Home Assistant.

Czy XTTS v2 można używać komercyjnie?

Nie. Wagi XTTS-v2 są na licencji Coqui Public Model License, która dopuszcza tylko użytek niekomercyjny, a firmy Coqui już nie ma, więc licencji komercyjnej nie da się kupić. Kod biblioteki (coqui-tts od Idiap) jest na MPL-2.0, ale to nie zmienia licencji modelu.

Czy Kokoro TTS mówi po polsku?

Nie. Według oficjalnej listy głosów Kokoro-82M (stan na 17 października 2026) obsługuje 8 języków: angielski (amerykański i brytyjski), japoński, chiński mandaryński, hiszpański, francuski, hindi, włoski i portugalski brazylijski. Polski tekst przeczyta najwyżej z obcą fonetyką.

Czy F5-TTS i Chatterbox TTS mają polski?

Chatterbox tak, polski jest jednym z 23 języków wersji Multilingual v3. Oficjalny F5-TTS zna tylko angielski i chiński (wagi CC BY-NC 4.0), polski istnieje wyłącznie w dostrojeniach społeczności.

Ile pamięci karty potrzebuje Chatterbox?

W moim teście 17 października 2026 na RTX 4090 Chatterbox Multilingual v3 zajął 4,7-4,8 GB pamięci karty (8 października: 5,3 GB), a sam PyTorch 3,4-3,6 GB. Karta z 6 GB powinna wystarczyć (tego nie sprawdzałem), z 8 GB jest zapas. XTTS-v2 potrzebował 2,5-3,4 GB, Piper zero.

Google · Twoje źródłaPromptowy wyżej w Twoim Google - jednym kliknięciemDodaj do preferowanych źródeł →

Źródła i data sprawdzenia

Sprawdzone 17 października 2026.

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.
// czytaj też

Podobne tematy na Promptowym

Piotr Olszewski

Piotr Olszewski

AUTOR I WYDAWCA

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony

🛒 Sklep Kinetyka Google AI Gemini Pro 170 zł CapCut Pro 460 zł/rok Lovable Pro 450 zł/rok Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× ‹ powiększenie ›