/ Модель

Характеристики

Лицензия
Apache 2.0
Опубликована
20 июл 2026

ahsoka-piper-voice

Синтез речиТекст → аудио

Дообученная модель Piper синтезирует английскую речь голосом Асоки Тано из «Звёздных войн: Войны клонов».

0скачиваний за 30 дней2лайкавеса обновлены23 июл 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

ahsoka-piper-voice — дообученная модель Piper TTS, созданная для синтеза речи голосом Асоки Тано из мультсериала «Звёздные войны: Войны клонов». Она принимает текст и создаёт аудио; репозиторий содержит ONNX-модель для инференса и контрольную точку PyTorch Lightning для дальнейшего обучения. Карточка также описывает параметры управления вариативностью фонем и скоростью речи.

Модель предназначена для озвучивания текста и создания голосовых реплик в стиле персонажа. Указан английский язык. Для работы с моделью используется Piper; аудиоданные для обучения описаны как монофонические WAV с частотой 22050 Гц и глубиной 16 бит. Репозиторий распространяется по лицензии Apache-2.0.

Сценарии применения

  • озвучивание английского текста голосом Асоки Тано
  • создание голосовых реплик персонажа для фанатских проектов
  • синтез речи для видеороликов и аудиосцен
  • эксперименты с параметрами скорости и вариативности речи

Ограничения

Модель ориентирована на английскую речь и голос конкретного персонажа; качество и разборчивость могут зависеть от входного текста и параметров синтеза.

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Ahsoka Tano Voice (Piper TTS)

A fine-tuned Piper TTS model that clones the voice of Ahsoka Tano from Star Wars: The Clone Wars.

Files

FileDescription
ahsoka-final.onnxONNX model for inference
ahsoka-final.jsonModel config (sample rate, phoneme map, inference params)
ahsoka-final.ckptPyTorch Lightning checkpoint (for continued training)
dataset.jsonlTraining dataset (1019 samples)
dataset.jsonl.gzCompressed dataset

Quick Start (Piper CLI)

Install Piper

# Clone and build from source
git clone https://github.com/rhasspy/piper.git
cd piper
./build.sh

Or use a pre-built binary from Piper Releases.

Download Model

mkdir -p ~/.local/share/piper-voices/ahsoka
cd ~/.local/share/piper-voices/ahsoka

# Download from HuggingFace
wget https://huggingface.co/crazygiscool/ahsoka-piper-voice/resolve/main/ahsoka-final.onnx
wget https://huggingface.co/crazygiscool/ahsoka-piper-voice/resolve/main/ahsoka-final.json

Synthesize Speech

# Pipe text in
echo "Hello, I am Ahsoka Tano" | piper --model ~/.local/share/piper-voices/ahsoka/ahsoka-final.onnx --output_file output.wav

# Or specify text directly
piper --model ~/.local/share/piper-voices/ahsoka/ahsoka-final.onnx --text "The force is strong with this one" --output_file output.wav

Python Usage

Install Dependencies

pip install piper-tts piper-phonemize torch soundfile

Synthesize with ONNX Model

import soundfile as sf
import piper_phonemize
import onnxruntime as ort
import numpy as np

# Load model
session = ort.InferenceSession("ahsoka-final.onnx")

# Phonemize text
text = "I am Ahsoka Tano"
phonemes = piper_phonemize.phonemize_espeak(text, "en-us")
phoneme_ids = piper_phonemize.phoneme_ids_espeak([p for seq in phonemes for p in seq])

# Add padding (required format: [BOS, 0, phoneme, 0, phoneme, ..., EOS])
ids = [0] + [p for pid in phoneme_ids for p in [0, pid]] + [0]

# Inference
x = np.array([ids], dtype=np.int64)
x_len = np.array([len(ids)], dtype=np.int64)
scales = np.array([0.667, 1.0, 0.8], dtype=np.float32)

audio = session.run(None, {
    "input": x,
    "input_lengths": x_len,
    "noise_scale": scales[:1],
    "length_scale": scales[1:2],
    "noise_w": scales[2:],
})[0]

# Save
sf.write("output.wav", audio[0, 0], 22050)

Synthesize with PyTorch Checkpoint (for development)

import torch
from piper_train.vits.lightning import VitsModel

model = VitsModel.load_from_checkpoint("ahsoka-final.ckpt", dataset=None)
model_g = model.model_g
model_g.eval()

with torch.no_grad():
    model_g.dec.remove_weight_norm()
    # (same phonemize + inference code as above)

Inference Parameters

ParameterDefaultRangeDescription
noise_scale0.6670.0 - 1.0Phoneme noise (variation)
length_scale1.00.5 - 2.0Speaking speed (lower = faster)
noise_w0.80.0 - 1.0Phoneme width noise

Training Details

  • Base model: Piper English (en-us)
  • Training data: 1019 audio samples (22050 Hz, mono, 16-bit PCM WAV)
  • Fine-tuning LR: 1e-5 (20x lower than default for gentle adaptation)
  • Epochs trained: ~7000
  • Hardware: CPU only

Dataset Format

Each line in dataset.jsonl contains:

{"text": "Transcription text", "audio_filename": "relative/path/to/audio.wav"}

All audio must be: 22050 Hz, mono, 16-bit PCM WAV.

License

Apache 2.0

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

В репозитории нет config.json: не понять архитектуру модели.

Ревизия весов
30d5634

0 моделей