# pip install piper-tts huggingface_hub pydub nltk imageio-ffmpeg
import imageio_ffmpeg
from pydub import AudioSegment
AudioSegment.converter = imageio_ffmpeg.get_ffmpeg_exe()
import time
from huggingface_hub import hf_hub_download
from pydub import AudioSegment
from piper import PiperVoice, SynthesisConfig
import nltk
nltk.download('punkt')
nltk.download('punkt_tab')
from nltk.tokenize import sent_tokenize
MODEL_PATH = hf_hub_download(
repo_id="99eren99/piper-turkish-tts",
filename="model.onnx"
)
CONFIG_PATH = hf_hub_download(
repo_id="99eren99/piper-turkish-tts",
filename="config.json"
)
MODEL = PiperVoice.load(MODEL_PATH,config_path=CONFIG_PATH, use_cuda=False)
# ==============================
# TTS FUNCTION
# ==============================
def generate(text, save_path, volume=1, length_scale=1.2, noise_scale=0.4, noise_w_scale=0.3,
silence_ms_duration_between_setences=400, normalize_audio=False):
if not text or not text.strip():
return None
text = text.replace("...",". ").replace(",",", ")
syn_config = SynthesisConfig(
volume=volume,
length_scale=length_scale,
noise_scale=noise_scale,
noise_w_scale=noise_w_scale,
normalize_audio=normalize_audio,
)
t0 = time.time()
first = True
combined = AudioSegment.silent(duration=0)
fade_ms = 5
silence = AudioSegment.silent(duration=silence_ms_duration_between_setences)
combined += silence
for sentence in sent_tokenize(text, language="turkish"):
for audio_chunk in MODEL.synthesize(sentence, syn_config=syn_config):
if first:
time_to_audio = "Time To First Bytes(seconds): " + str(time.time() - t0)
first = False
segment = AudioSegment(
data=audio_chunk.audio_int16_bytes,
sample_width=2,
frame_rate=22050,
channels=1
)
segment = segment.fade_in(fade_ms).fade_out(fade_ms)
combined += segment + silence
real_time_factor = "Real Time Factor: " + str((time.time() - t0) / combined.duration_seconds)
time_to_generate = "Total Time To Generate(seconds): "+str(time.time() - t0)
metrics = "\n".join([real_time_factor,time_to_audio,time_to_generate])
print(metrics)
combined.export(save_path, format="mp3", bitrate="320k")
generate("fanfinfon","out.mp3")
piper-turkish-tts
Модель преобразует текст на турецком языке в речь и представлена в формате ONNX.
Бенчмарки
Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды
Публичные оценки
Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.
В подключённых источниках результатов для этой модели пока нет.
Что умеет модель
Описание составлено по карточке модели и метаданным Hugging Face
99eren99/piper-turkish-tts — модель синтеза речи для преобразования текста в турецкую речь. В метаданных Hugging Face указаны задача text-to-speech, поддержка турецкого языка и формат ONNX.
Модель подходит для озвучивания турецких текстов в приложениях и других сценариях синтеза речи. Карточка модели не содержит сведений об архитектуре, размере, длине контекста или условиях лицензии.
Сценарии применения
- озвучивание турецких текстов
- генерация турецкой речи для приложений
- создание голосовых объявлений на турецком языке
Ограничения
Сведения о качестве и характеристиках голоса, архитектуре и лицензии в доступных данных отсутствуют.
Для каких профессий подходит3
Разделы каталога профессий, в задачах которых используется эта модель
Карточка модели
README от автора на Hugging Face, как он его опубликовал
Как запустить
На своей GPU в ailist. Цена — по текущим предложениям провайдеров
GPU в ailist
Универсальный рантайм
В репозитории нет весов в формате PyTorch/safetensors.
- Ревизия весов
- 885d69c