Model reference · open weights

piper-turkish-tts

Available as managed deployment Audio 99eren99 · community Text→speech 1 variants 550 dl/mo

piper-turkish-tts is an open-weight audio or speech model from 99eren99. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.

Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.

What it is

Released by99eren99
TypeAudio & music
TaskText→speech
Released2026-06-30
Popularity550 downloads / month
LicenceUnknown

About

What piper-turkish-tts is

# 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")

From the published model card. Full card on the HuggingFace links in the sidebar.

How it works

How audio & music work

Audio or textinputAudio modelrecognise / synthesiseText or audiooutputSpeech-to-text turns audio into text; text-to-speech and music models turn text into audio.

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys piper-turkish-tts for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (piper-turkish-tts below is illustrative; you get the exact model name on deployment.)

$ curl -sS https://api.axforge.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AXFORGE_API_KEY" \
  -F model="piper-turkish-tts" -F file=@audio.mp3

Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms