/ Модель

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

Лицензия
MIT
Архитектура
mio_tts · dense
Библиотека
transformers
Опубликована
7 окт 2026

MioTTS-BG-EN-64M

Генерация аудиоТекст → аудио

Авторегрессионная модель синтеза болгарской и английской речи из текста с отдельным декодером MioCodec, рассчитанная в том числе на локальный запуск на CPU.

0скачиваний за 30 дней0лайковвеса обновлены7 окт 2026

Бенчмарки

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

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

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

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

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

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

MioTTS BG/EN 64M — авторегресивная модель синтеза речи из текста, разработанная автором репозитория и обученная с нуля на случайно инициализированных весах. Она преобразует текст в последовательность аудиотокенов, а отдельный декодер MioCodec превращает их в звук; сама модель не принимает референсное аудио и не использует фонемы или идентификатор языка. Базовый чекпойнт содержит 63 027 586 параметров. Доступны веса эпох 8 и 11; для локального развертывания также подготовлен INT8-вариант ONNX с декодером и голосами F5, F7 и M1.

Модель предназначена для синтеза болгарской и английской речи, в том числе локально на CPU, в проектах Raspberry Pi и Home Assistant через Wyoming Protocol. Автор сообщает о проверке на Raspberry Pi 5 и интеграции с Home Assistant Container; измеренная скорость относится к конкретной конфигурации и не гарантирует такой же результат на другом оборудовании. Качество экспериментальное: возможны ошибки ударения и произношения, замены или пропуски слов и неестественные паузы. Общая лицензия проекта — MIT; внешние зависимости, кодек и исходные корпусы имеют собственные лицензии.

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

  • озвучивание болгарского текста локально на Raspberry Pi
  • синтез английской речи из текста
  • озвучивание ответов и объявлений в Home Assistant
  • создание WAV-файлов с выбранным голосом F5, F7 или M1

Ограничения

Качество экспериментальное: модель может ошибаться в ударениях и произношении, заменять или пропускать слова и создавать неестественные паузы. Нет оценки MOS или крупного независимого тестирования; опубликованные скорость и WER относятся к ограниченным тестам и конкретным условиям.

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

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

Открыть на Hugging Face

MioTTS BG/EN 64M — обучен модел, епохи 8 и 11

Малък авторегресивен TTS модел за български и английски, обучен от случайни начални тегла. Това хранилище съдържа обучени тегла, пълната реализация на модела, код за генериране, оригиналния код за обучение и тестови записи. Името 64M е запазено от проекта; точният брой параметри на основния модел е 63 027 586.

Основният модел получава само текст. Генерира един поток от аудиотокени. Отделният MioCodec декодер превръща токените в звук и получава избрания глас. В основния модел няма референтно аудио, speaker embedding, езиков токен, фонеми или дифузия.

This is a trained Bulgarian/English character-to-audio-token model. Epoch 8 is the default checkpoint; epoch 11 is provided for comparison. The original PyTorch workflow downloads the codec separately; the new CPU deployment archive includes its ONNX decoder. Training corpora are not bundled. Quality remains experimental: listen to the examples and evaluate on your own text.

Готов пакет за Raspberry Pi и Home Assistant

Нов релийз 0.2.0: локална българска реч върху CPU, с INT8 модел от епоха 8, включен MioCodec, гласове F5 / F7 / M1 и поправен български нормализатор за числа, часове, температури и мерни единици. Не са нужни GPU, PyTorch, токен или облачна услуга. След инсталацията работи без интернет.

Свали пълния пакет — около 426 MB · SHA256

Инсталиране стъпка по стъпка на български · English installation guide · Пълен код и ONNX файлове

  1. Свалете и разархивирайте пакета — теглата и гласовете вече са вътре.
  2. На 64-битов Raspberry Pi OS / Debian пуснете bash script/install.sh след описаните зависимости; за Docker използвайте docker compose up -d --build.
  3. В Home Assistant добавете Wyoming Protocol, въведете IP адреса на TTS машината и порт 10250. В Voice assistants изберете MioTTS → Bulgarian → F5/F7/M1.

Не е нужен HACS. Можете да генерирате и обикновен WAV без Home Assistant чрез включената команда script/synthesize.py. Пакетът предоставя TTS; разпознаване на реч и wake word се добавят отделно.

ПроверкаИзмерен резултат
Pi 5, 8 GB, Debian 12 ARM64, четири нишкиRTF 0,339 — около 2,95 пъти по-бързо от реалното време, 12 текста × 3 повторения
Памет на процесаОколо 649 MiB в изчислителния тест; около 666 MiB за услугата при мрежовия тест
Истински Home Assistant Container 2026.10.0Три гласа, WAV/MP3, Assist TTS и запазена конфигурация след рестарт
Дълъг текст през Home Assistant27,62 секунди аудио за 11,03 секунди
ARM64 Docker и native услугаЕднакви PCM данни при четири проверочни заявки; проверено стартиране след рестарт на контейнера

RTF 0,339 е измерено изчисление при зареден модел, без мрежа и запис на файл; не е време до първи звук. Синтезът е на фрази, а Home Assistant може да буферира целия запис. Първата HA заявка е по-бавна и остава в пълния отчет. Home Assistant OS / Supervisor и Linux AMD64 Docker не са изпитани; готовият проверен път е Linux/Pi услуга и вградената Wyoming интеграция. Няма публикуван App Store пакет с един бутон.

Чуйте INT8 варианта от Raspberry Pi

Библиотека с приказки — F5:

Сутрешен обзор с часове, числа и температура — F5:

Всички нови записи: библиотека, рецепта, домашни обзори и трите гласа през HA · Нормализатор — отделен пакет и изходен код

English: a complete CPU-only Bulgarian deployment is now available, with INT8 epoch-8 weights, the FP32 codec decoder, three voices and Bulgarian normalization bundled. Tested on Raspberry Pi 5 and with real Home Assistant Container integration. Use the English guide; no HF login or cloud inference is required. The original bilingual PyTorch checkpoints and examples remain below.

Кой checkpoint да използвам?

ВерсияСтъпкаTrain loss за епохатаПълна validation lossБългарскиАнглийски
Епоха 880 3445.7045615.9949655.5517816.438149
Епоха 11110 4735.5867456.0081445.5283266.487963

Епоха 8 има най-ниската обща загуба върху пълния проверочен набор сред завършените епохи. При епоха 11 българската проверочна загуба е малко по-ниска, а английската е по-висока. Тези числа измерват предсказване на токени при teacher forcing, не са MOS, WER или пряка оценка на произношението. Не е правена независима оценка върху голям отделен test набор. По-долу са публикувани измерени RTF и автоматичен WER върху малкия набор с аудиопримери.

  • Коренът на хранилището и epoch-08/ съдържат едни и същи тегла от епоха 8.
  • epoch-11/ съдържа теглата след точно единадесет завършени епохи.
  • Оригиналните тегла са FP32 safetensors; PyTorch примерът изтегля кодека отделно. Готовият CPU пакет по-горе съдържа INT8 ONNX модел и включен FP32 MioCodec декодер.

Обучението е планирано за максимум двадесет епохи и спряно на стъпка 111 238: единадесет завършени епохи и 7.62% от дванадесетата. Последният частичен checkpoint не е публикуван като „епоха 11“. AdamW състоянието и корпусите не са част от този пакет.

Прослушване

Разговор с два гласа

Същите 52 реплики, еднакво разделяне на 59 части, еднакви F5/M1 гласови вектори и greedy генериране. F5 е женската, M1 — мъжката референция. Изборът на глас се подава само към кодека. Текстът включва „дъски“, „дърва“, „дърво“, имена, географски названия, дати и числителни, изписани с думи.

Епоха 8:

Епоха 11:

MP3 — епоха 8 · MP3 — епоха 11 · Текст

В съответните папки има WAV, отделни реплики, субтитри с времеви отметки и страница listen.html за локално прослушване след изтегляне.

Общ тест с български и английски текст

Дванадесет еднакви текста: осем български и четири английски, с фиксиран F7 глас. Общият запис преминава от български към английски между тестовете; това не е измерване на смяна на езика вътре в една дума или изречение.

Епоха 8:

Епоха 11:

Общ тест — епоха 8 · Общ тест — епоха 11 · Всички текстове

Отделните записи са в examples/tests/epoch-08/ и examples/tests/epoch-11/. Няма предоставени истински аудиотокени при генерирането на тези тестове. Не са подбирани само успешно произнесени думи.

Измерени RTF и WER; статус на MOS

Пилотна оценка от 7 октомври 2026 г. върху публикуваните по-горе примери. Това е малък предварително избран набор, а не голям независим benchmark. По-ниски RTF и WER са по-добри.

ПоказателЕпоха 8Епоха 11Обхват
RTF — RTX 50900.1890.18812 текста × 3 повторения на устройство и епоха
RTF — CPU, шест нишки0.4310.42912 текста × 3 повторения на устройство и епоха
WER — кратки български изречения14.12%9.41%8 записа / 85 думи на епоха
WER — български разговор8.66%12.05%52 записа / 531 думи на епоха
WER — кратки английски изречения0.00%0.00%4 записа / 55 думи на епоха

RTF е общото време за генериране, разделено на общата продължителност на произведеното аудио. На RTX 5090 резултатът е приблизително 5.3 пъти по-бързо от реалното време; на CPU — 2.3 пъти. Измерени са основният модел, MioCodec и трансферите, след две загряващи проби, с batch 1, FP32 и изключен TF32. CPU: AMD Ryzen Threadripper PRO 5975WX, шест нишки. Зареждането на моделите, предварително извлеченият гласов вектор F7 и файловият запис са извън измерването. Това не измерва забавянето до първи звук при streaming; резултатите са за тази работна станция и конфигурация.

WER е автоматична проверка с Whisper large-v3 / faster-whisper, а не човешка транскрипция. Използвани са CUDA FP16, beam 5, температура нула и зададен език, без очаквания текст като подсказка. Таблицата показва резултата след нормализация на регистър, пунктуация и част от изписването на числата. Базовият WER и всички преписи са запазени отделно.

Разпознавачът също греши: „в къщи“ / „вкъщи“ и „след обед“ / „следобед“ се броят като разлики. В реплика dialogue-04-e11 той връща повтаряща се безсмислица; този резултат не е изключен. Повторен проход върху всички 128 записа с beam 1 променя 13 преписа. Затова тези данни не установяват сигурен общ победител между епохите. Нулевият английски WER важи само за четирите изречения / 55 думи, не за английския език като цяло.

MOS: още няма резултат. Подготвен е локален сляп тест с 24 записа (16 български и 8 английски), скрита епоха, разбъркан ред и оценки за естественост от едно до пет. Към тази публикация няма събрани човешки оценки. Не се публикува автоматично предсказан MOS като човешки резултат.

Подробен протокол и двата ASR прохода · Обобщение JSON · RTF измервания · WER и преписи

English summary: measured steady-state RTF is about 0.19 on an RTX 5090 and 0.43 on a six-thread CPU run, including the codec. WER is an ASR-based diagnostic on a small selected set, with documented transcription and normalization limitations. Human MOS is pending; no MOS score is claimed.

Архитектура

КомпонентНастройка
Текстов речник147 символа и служебни токени: BG/EN букви, пунктуация, интервали; без цифри
Text encoder5 блока, ширина 384, 8 attention heads, SwiGLU 1280
ПродължителностДве свертки; предсказване на обща дължина; мек монотонен attention prior
Audio decoder11 causal блока, ширина 512, 8 heads, cross-attention, SwiGLU 1280, KV cache
Изход12 800 възможни кода на кадър и отделен stop head
АудиотокениЕдин поток, 25 кадъра/секунда
Ограничения256 текстови токена с BOS/EOS; при генериране до 300 аудиокадъра, приблизително 12 секунди
Звук44.1 kHz, отделен MioCodec v2; няма включен diffusion модел

Audio BOS е 12800; редовете на изходната матрица се споделят с embedding таблицата. Архитектурата има 384 аудиопозиции, но публикуваният inference ограничава изхода до обучавания диапазон от 300 кадъра. При обучение се подават предишните истински кодове чрез teacher forcing; при генериране — само собствените предишни предсказания.

PyTorch: инсталиране и генериране

Изтегли хранилището с hf download beleata74/MioTTS-BG-EN-64M --local-dir mio-tts и влез в папката. Инсталирай съвместими torch и torchaudio за своя CPU/CUDA, след това:

pip install -r requirements.txt
python inference.py --model . --epoch 8 --voice F7 --text "Здравей, Наско! Днес времето е хубаво и можем да се разходим в парка." --output example-08.wav
python inference.py --model . --epoch 11 --voice F7 --text "Good morning! It is a lovely day for a walk." --output example-11.wav

По подразбиране се използва CPU. --device cuda избира GPU. Публикуваните аудиопримери и проверките за равенство на токените са направени на CPU в FP32. Числени разлики между устройства/версии могат да променят авторегресивното генериране.

Собствена референция за външния кодек:

python inference.py --model . --epoch 8 --reference reference.wav --text "Това е тест с друга гласова референция." --output custom-voice.wav

От референцията се взема до 3.8 секунди. В пакета са включени синтетичните референции/вектори F5, M1 и F7, използвани за примерите. Етикетите им са имена на гласови стилове, а не обучение на главния модел със speaker ID. Подобие на гласа и естественост не са гарантирани.

Директно зареждане с Transformers:

from transformers import AutoModel
from tokenization_mio_tts import encode_text
import torch

model = AutoModel.from_pretrained(
    "beleata74/MioTTS-BG-EN-64M", subfolder="epoch-11", trust_remote_code=True
).eval()
ids = torch.tensor([encode_text("Здравей, свят!")])
codes = model.generate_tokens(ids, max_new_tokens=300)

trust_remote_code=True зарежда публикуваните тук Python реализации; прегледай кода и при нужда фиксирай Hub commit чрез revision. За звук използвай inference.py, който зарежда и външния кодек. Това не е стандартен AutoTokenizer/готов Transformers TTS pipeline.

Обучение и данни

Обучаващият набор съдържа 1 285 440 сегмента: 648 813 български, приблизително 1336.38 часа, и 636 627 английски, приблизително 679.39 часа. Българският корпус е подготвен от автора; английската част е от LibriTTS-R и Hi-Fi TTS. Сегментите за тази версия са до дванадесет секунди, без цифри в транскрипциите. Български и английски се обучават смесено, без езиков вход към модела.

Пълна проверка: 1324 BG и 9913 EN сегмента. Общата загуба е равнопоставено средно между двете езикови средни, а не средно, доминирано от броя английски записи. Между епохите има отделна фиксирана проверка с 1024 записа на език.

  • AdamW: betas (0.9, 0.95), weight decay 0.01, gradient clipping 1.0.
  • Batch 128; BF16 autocast и FP32 параметри/AdamW състояние.
  • Dropout и frame masking: 0.
  • Warmup: 2000 стъпки до learning rate 0.0004; cosine decay към 0.00004 за първоначално планираните двадесет епохи.
  • Loss: средна по изказвания token CE + 0.1 × stop BCE + 0.2 × log-length MSE.
  • Основният модел е обучен от случайна инициализация; MioCodec е отделен предварително обучен модел.

Крива на обучението

training/ съдържа оригиналния Python код за подготовка, обучение, checkpoint-и, наблюдение и аудиотестове. Това е архив на използваната Windows среда; подготовката на данните съдържа локални пътища и очаква външните корпуси/manifest-и. Не е самодостатъчен пакет с обучаващите данни. Виж инструкциите за кода и резултатите по епохи.

Ограничения и произход

Моделът може да заменя гласни, да греши ударения, имена, произношение, паузи или да пропуска/повтаря части. По-ниска token loss не гарантира по-добро изговорено изречение. Дългият разговор е сглобен от кратки части, а не генериран наведнъж. Публикувани са RTF измервания за конкретен хардуер и пилотен автоматичен WER. Те не са обща гаранция за скорост или качество; човешки MOS и голям независим benchmark още няма.

Основният проект е под MIT. Външните зависимости и първичните корпуси запазват собствените си лицензи; тук не се преиздават права върху тях. Външният MioCodec v2 е на Aratako; изходният код се инсталира от фиксиран commit. Codec weights revision: 67faba34153fe74e6665991c432a7327e23c5c1c.

Първични английски корпуси: LibriTTS-R и Hi-Fi TTS. Тестовите разговори и кратките изречения са синтетично генерирани примери от този модел.

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

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

GPU в ailist

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

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

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
MioTTSModel
Ревизия весов
f4eaec4

0 моделей