AI SeedbankHelp preserve open and free AI for humanity's future

← All models

MYZY-AI_Muyan-TTS

MYZY-AI · View on Hugging Face ↗

Get this model

Download TorrentMagnet Link

Seeders: 1 · Leechers: 0

Observed 2026-09-02T13:56:39Z via announce.aitorrent.org:7070.

Model card

The complete upstream card, rendered from this payload's README.md — the same hash-verified bytes the torrent distributes. Images and off-site links are removed; the original card on Hugging Face carries them.


tags:

  • text-to-speech license: apache-2.0

Muyan-TTS is a trainable TTS model designed for podcast applications within a $50,000 budget, which is pre-trained on over 100,000 hours of podcast audio data, enabling zero-shot TTS synthesis with high-quality voice generation. Furthermore, Muyan-TTS supports speaker adaptation with dozens of minutes of target speech, making it highly customizable for individual voices.

Install

Clone & Install

git clone https://github.com/MYZY-AI/Muyan-TTS.git
cd Muyan-TTS

conda create -n muyan-tts python=3.10 -y
conda activate muyan-tts
make build

You need to install FFmpeg. If you're using Ubuntu, you can install it with the following command:

sudo apt update
sudo apt install ffmpeg

Additionally, you need to download the weights of chinese-hubert-base.

Place all the downloaded models in the pretrained_models directory. Your directory structure should look similar to the following:

pretrained_models
├── chinese-hubert-base
├── Muyan-TTS
└── Muyan-TTS-SFT

Quickstart

python tts.py

This will synthesize speech through inference. The core code is as follows:

async def main(model_type, model_path):
    tts = Inference(model_type, model_path, enable_vllm_acc=False)
    wavs = await tts.generate(
        ref_wav_path="assets/Claire.wav",
        prompt_text="Although the campaign was not a complete success, it did provide Napoleon with valuable experience and prestige.",
        text="Welcome to the captivating world of podcasts, let's embark on this exciting journey together."
    )
    output_path = "logs/tts.wav"
    with open(output_path, "wb") as f:
        f.write(next(wavs))  
    print(f"Speech generated in {output_path}")

You need to specify the prompt speech, including the ref_wav_path and its prompt_text, and the text to be synthesized. The synthesized speech is saved by default to logs/tts.wav.

Additionally, you need to specify model_type as either base or sft, with the default being base.

When you specify the model_type to be base, you can change the prompt speech to arbitrary speaker for zero-shot TTS synthesis.

When you specify the model_type to be sft, you need to keep the prompt speech unchanged because the sft model is trained on Claire's voice.

API Usage

python api.py

Using the API mode automatically enables vLLM acceleration, and the above command will start a service on the default port 8020. Additionally, LLM logs will be saved in logs/llm.log.

You can send a request to the API using the example below:

import time
import requests
TTS_PORT=8020
payload = {
    "ref_wav_path": "assets/Claire.wav",
    "prompt_text": "Although the campaign was not a complete success, it did provide Napoleon with valuable experience and prestige.",
    "text": "Welcome to the captivating world of podcasts, let's embark on this exciting journey together."
}
start = time.time()

url = f"http://localhost:{TTS_PORT}/get_tts"
response = requests.post(url, json=payload)
audio_file_path = "logs/tts.wav"
with open(audio_file_path, "wb") as f:
    f.write(response.content)
    
print(time.time() - start)

By default, the synthesized speech will be saved at logs/tts.wav.

Similarly, you need to specify model_type as either base or sft, with the default being base.

Training

We use LibriSpeech as an example. You can use your own dataset instead, but you need to organize the data into the format shown in data_process/examples.

If you haven't downloaded LibriSpeech yet, you can download the dev-clean set using:

wget --no-check-certificate https://www.openslr.org/resources/12/dev-clean.tar.gz

After uncompressing the data, specify the librispeech_dir in prepare_sft_dataset.py to match the download location. Then run:

./train.sh

This will automatically process the data and generate data/tts_sft_data.json.

Note that we use a specific speaker ID of "3752" from dev-clean of LibriSpeech (which can be specified in data_process/text_format_conversion.py) as an example because its data size is relatively large. If you organize your own dataset for training, please prepare at least a dozen of minutes of speech from the target speaker.

If an error occurs during the process, resolve the error, delete the existing contents of the data folder, and then rerun train.sh.

After generating data/tts_sft_data.json, train.sh will automatically copy it to llama-factory/data and add the following field to dataset_info.json:

"tts_sft_data": {
    "file_name": "tts_sft_data.json"
}

Finally, it will automatically execute the llamafactory-cli train command to start training. You can adjust training settings using training/sft.yaml.

By default, the trained weights will be saved to pretrained_models/Muyan-TTS-new-SFT.

After training, you need to copy the sovits.pth of base/sft model to your trained model path before inference:

cp pretrained_models/Muyan-TTS/sovits.pth pretrained_models/Muyan-TTS-new-SFT

You can directly deploy your trained model using the API tool above. During inference, you need to specify the model_type to be sft and replace the ref_wav_path and prompt_text with a sample of the speaker's voice you trained on.

Magnet link

Opens the swarm directly in your torrent client — no file download needed. Copy-paste works too:

magnet:?xt=urn:btih:5a48444a5efbd394fd92102926dea49f72bfd773&dn=MYZY-AI_Muyan-TTS

Open magnet in torrent client · infohash 5a48444a5efbd394fd92102926dea49f72bfd773

Files & hashes

PathSizesha1sha256
README.md5.5 KB (5,582 B)787bb68481e77d7dea23f1ddd3b61f7204bf5126d48f13dcc777e9c18ff63f1dd53f533a429d8b174a7eb3beefd0215e7f7eff5b
config.json874 B (874 B)05dfdf73430ca546615f8c8db5add4e7ad7ebefe2854785bdd225403260fba9f8eaeb80c6656c46e8269453538aaedf7550a622a
generation_config.json184 B (184 B)0484b997a9ea9b5b6d711db644716bfd32d5470ecb5da0fc37a4c2c65a10c44806a67c9eef81af99b5b756fd5d2e802c317c45b9
model-00001-of-00002.safetensors4.63 GB (4,972,483,768 B)b95ab3b22245f317a8cb46550d70584d66067d50b69679b3417a8eb2cfbdb528dbc339914cbc7dbbeb1803aa41f94007cfd28464
model-00002-of-00002.safetensors2.10 GB (2,254,419,664 B)89cabf79703a5b9641358317c47ec31956c02c39fe85b5a1f3f4da016cf82cbfd2a1585193da91f960af7652cb79938a9e410059
model.safetensors.index.json20.5 KB (20,977 B)cffd72e2a6583ebe40249f2144e72e8b540e0cb28ae0afc84e93e98f3b308ac0a55350e3b67de6515cee19e1b2ff7df0adc9a61d
special_tokens_map.json153.4 KB (157,101 B)cbb3cb7d8d4e581e70aee637fd5f369a07b699d692156cb6248bb963f7f36fdac81c328fcab6ccfa021d485e32d417cf7739aeab
tokenizer.json16.6 MB (17,410,734 B)022543ed1da47fd294b40de6b9b7b4c863ee11c363073cea824329b6a7c8735dd147d86e5655bcef2b1dda93c034d1709560f565
tokenizer_config.json262.9 KB (269,240 B)3cfb7177252e95d51910215fa76e453696b23c82dbf495810d2a06df91196576ed42e61d7c210b862ea1c2cb7fa89d36b03bdbe8

Cite this release

Canonical URL
https://aiseedbank.org/models/MYZY-AI_Muyan-TTS/
Slug
MYZY-AI_Muyan-TTS
Infohash
5a48444a5efbd394fd92102926dea49f72bfd773
License
apache-2.0
Signing key fingerprint
85a3b32c3712427b

Every file carries a locally computed sha256 — verify a download against the signed sums: MYZY-AI_Muyan-TTS.SHA256SUMS (+ minisign signature).

Provenance

Upstream repositoryMYZY-AI/Muyan-TTS
Revision (pinned)64cd5c9ddf0e7f06d556bd94fac4afa8c30d47ed
Fetched at2026-09-02T11:59:55Z
License at fetchapache-2.0
Snapshot toolhuggingface · seedbank 0.1.0

Trackers

✓ verified · rehash-vs-hf-metadata at 2026-09-02T12:01:02Z

apache-2.06.75 GB (7,244,768,124 bytes)safetensorsllamatext-to-speech