Kaggle haftada 30 saatlik bir taban belirtir; talep ve mevcut kaynaklara göre daha yüksek olabilir. Kota cumartesi 00:00 UTC itibarıyla sıfırlanır.
UYGULAMALI REHBER · PIPER TTS
Kayıtlardan
sese.
Ses verilerinizi hazırlamak ve bir Piper modeli eğitmek için temel adımlar. Kaggle limitleri değişebilir: uzun bir eğitimden önce kotanızı kontrol edin.
Piper TTS için LJSpeech veri seti oluşturun
LJSpeech, Piper tarafından beklenen standart biçimdir. Her cümle ayrı bir WAV dosyasıdır ve metadata.csv dosyasındaki transkripsiyonuyla eşleşir.
data.zip
├── metadata.csv # nom_du_fichier|transcription
└── wavs/
├── 000001.wav
└── ...- 01
Ses dosyalarını alın
İşleyip yeniden dağıtma hakkına sahip olduğunuz kayıtları kullanın. Kaynaklar oyun vikileri, sahip olduğunuz medya veya herkese açık veri setleri olabilir.
Hugging Face üzerinde LJSpeech veri setleri arayın ↗yt-dlp ile kaynak video indirin - 02
Cümlelere bölün
Cümle başına bir WAV dosyası hazırlayın. Otomatik bölme veya hizalama için şunları kullanabilirsiniz:
- audiosplitter · otomatik bölme
- Montreal Forced Aligner (MFA) · zorlamalı hizalama
- faster-whisper + VAD · transkripsiyon ve zaman damgaları
- Audacity · küçük hacimler için manuel bölme
- 03
metadata.csv oluşturun
Dosya başına bir satır. Ayırıcı dikey çizgidir; ad, wavs/ klasöründeki dosyayla birebir eşleşmelidir.
000001.wav|Ceci est une phrase d'exemple. 000002.wav|Voici une autre phrase pour l'entraînement. - 04
Arşivi sıkıştırın
metadata.csv dosyasını ve wavs/ klasörünü arşivin köküne yerleştirin.
zip -r data.zip metadata.csv wavs/ - 05
Hugging Face üzerine yükleyin
Örneğin user/wheatley-english-ljspeech adında bir veri seti deposu oluşturun. data.zip dosyasını ve şu yapılandırmayı içeren bir README.md ekleyin:
--- configs: - config_name: default data_files: - split: train path: data.zip --- - 06
Piper forumunda yayınlayın
Hugging Face bağlantısı ve uygun etiketle veri setleri ve eğitim kanalında bir konu açın.
Discord kanalını açın ↗
Kaggle üzerinde ses eğitin
GPU kotası Kaggle tarafından hesabınıza atanır ve kullanılabilirliğe göre değişebilir. Uzun bir oturum başlatmadan önce sayacı kontrol edin.
Kaggle belgeleri CPU ve GPU oturumları için 12 saatlik kesintisiz bir sınır belirtir. Yalnızca CPU kullanan bir not defteri GPU kotasını tüketmez, ancak oturum süresi yine de sınırlıdır.
Kaggle, Tesla P100 modelini 15 Eylül 2026 tarihinde kullanımdan kaldırdı. T4 x2 not defterlerinde sunulmaya devam ediyor; Piper eğitimi için eski P100 rehberlerini değil, bunu seçin.
Kesintiden sonra devam edin
Tam bir eğitim genellikle 12 saatlik oturumu aşar. Bu projenin Piper not defteri bir Hugging Face kontrol noktasından devam eder: kesinti veya tükenen kotadan sonra, kaydedilen son kontrol noktasından devam etmek için not defterini yeniden çalıştırın.
Uzun bir eğitimden önce
- Kalan kotayı not defteri ayarlarında, profilinizde veya hızlandırıcı kullanımı sayfasında kontrol edin.
- Kullanmadığınız GPU oturumlarını durdurun.
- T4 x2 kullanın; P100 artık Kaggle üzerinde mevcut değildir.
Kaggle kotaları, hızlandırıcıları ve arayüzleri değişebilir. Eğitimden önce hesabınızda gösterilen bilgileri her zaman kontrol edin.
Piper sesi kullanın
Piper uygulamasını kurun, seçtiğiniz sesin iki dosyasını alın ve yerel olarak bir WAV üretin. Aşağıdaki komutlar Open Home Foundation tarafından bakımı yapılan sürümü kullanır.
- 01
Piper kurun
Piper bir Python paketi olarak dağıtılır. rhasspy/piper deposunu veya ikili arşivini kullanan eski rehberler tarihsel sürüme aittir.
python -m pip install piper-ttspython -m piper.download_voices en_US-lessac-medium - 02
Ses indirin
Katalogdan bir ses seçin ve ONNX modelini ile ilişkili JSON yapılandırma dosyasını indirin. İki dosyayı bir arada tutun; JSON yolu, model yolunun sonuna .json eklenmiş halidir.
voice.onnx
voice.onnx.json - 03
WAV dosyası üretin
Önce Piper kataloğundan bir ses indirin veya aşağıdaki adı .onnx dosyanızın yoluyla değiştirin.
python -m piper -m ./voice.onnx -f output.wav -- "Bonjour, ceci est un test." - 04
Metni dosyadan okuyun
python -m piper -m ./voice.onnx -f output.wav --input-file mon_texte.txtSesi doğrudan çıkışa okuyun
Örnekleme frekansı sese bağlıdır. voice.onnx.json dosyasını kontrol edin ve gerekirse 22050 değerini değiştirin.
echo "Bonjour." | python -m piper -m ./voice.onnx --output-raw | aplay -r 22050 -f S16_LE -c 1 -t raw - 05
Python ile
import wave from piper import PiperVoice voice = PiperVoice.load("./voice.onnx") with wave.open("output.wav", "wb") as wav_file: voice.synthesize_wav("Bonjour le monde.", wav_file) - 06
Home Assistant ile
Piper, Wyoming aracılığıyla Home Assistant ile bütünleşir. Ayarlar → Cihazlar ve hizmetler bölümünde Piper uygulamasını ekleyin, ardından Piper TTS varlığıyla tts.speak eylemini kullanın.
Home Assistant içinde Piper kurulumu yapın ↗Node-RED ile
Bazı rehberlerde geçen node-red-contrib-piper-tts paketi herkese açık katalogda doğrulanamadı. Bir seçenek, Piper komutunu yerleşik Exec düğümünden çağırmaktır; yolları ve erişim izinlerini kurulumunuza uyarlayın.
- 07
Çıktıyı ayarlayın
Kalite, diğerlerinin yanı sıra eğitim verilerine ve seçilen sese bağlıdır. Daha yüksek bir length-scale değeri konuşmayı yavaşlatır; daha düşük bir değer hızlandırır. noise-scale ve noise-w üretimin çeşitliliğini değiştirir.
python -m piper -m ./voice.onnx --length-scale 1.5 --noise-scale 0.667 --noise-w 0.8 -f lent.wav -- "Texte lent." python -m piper -m ./voice.onnx --length-scale 0.7 --noise-scale 0.667 --noise-w 0.8 -f rapide.wav -- "Texte rapide."
pipertts ile Node.js projesinde Piper kullanın
pipertts, Piper uygulamasını Node.js ortamına taşır; dosya yazma veya bellek içi ses destekler. Önerilen mod PiperNativeTTS olur: %100 yerel süreç içi çıkarım (ONNX ve derlenmiş espeak köprüsü), Python gerektirmez, sarmalayıcıdan yaklaşık 10 kat daha hızlıdır. Sesler (.onnx + .onnx.json) ayrı dosyalar olarak kalır.
- 01
Bağımlılıkları kurun
Belgeler Node.js 18+ ve TypeScript 5+ gerektirir. Yerel mod başka bir şey istemez: normal bir npm install yeterlidir. Klasik sarmalayıcı modu (python3 -m piper üzerinden PiperTTS) ayrıca Python ve Piper modülünü gerektirir. Katalog kimliğine göre seçim, modeli ve yapılandırmasını models/ klasörüne indirebilir.
npm install pipertts # mode wrapper uniquement : python3 -m pip install piper-tts - 02
Katalog sesiyle hızlı başlangıç
import { PiperNativeTTS, resolveModelPathFromOptions } from "pipertts"; import * as fs from "node:fs"; const modelPath = await resolveModelPathFromOptions({ model: "en_US-lessac-medium", modelsDir: "./models", }); const tts = await PiperNativeTTS.load({ modelPath }); const { audio } = await tts.synthesize("Hello from Piper."); fs.writeFileSync("./hello.wav", audio); - 03
Yerel model kullanın
Manuel olarak indirdiğiniz bir ses için ONNX dosyasının yolunu verin. İlişkili .onnx.json dosyası yanında olmalıdır; konumu farklıysa configPath belirtebilirsiniz.
import { PiperNativeTTS } from "pipertts"; const tts = await PiperNativeTTS.load({ modelPath: "./models/my-voice.onnx", }); const { audio, sampleRate } = await tts.synthesize("Hello.", { speakerId: 0 }); - 04
API ve biçimler
synthesize() audio (Buffer), sampleRate ve text döndürür; outputFile ayrıca diske yazar. Seçenekler: speakerId (çok sesli ve çok tarzlı), lengthScale (> 1 yavaşlatır, < 1 hızlandırır), noiseScale, noiseWScale, sentenceSilence, normalizeAudio, volume ve outputFormat (wav, raw, mp3, ogg veya opus). mp3 ve opus için saf JS çözümleri vardır; ogg için FFmpeg gerekir. phonemize() ve synthesizeChunks() cümle cümle düşük seviyeli erişim sağlar.
- 05
Eski sarmalayıcı (PiperTTS)
PiperTTS, sentez başına bir işlemle python3 -m piper çalıştırır: yaklaşık 10 kat daha yavaştır, yalnızca yerel motorun çalışmadığı ortamlara ayrılmalıdır. Python ve Piper modülünü gerektirir.
import { PiperTTS } from "pipertts"; const tts = await PiperTTS.create({ modelPath: "./models/en_US-lessac-medium.onnx", }); await tts.synthesizeToFile("Hello from the legacy wrapper.", "./hello.wav");
