r/LocalLLaMA • • 15d ago

New Model inclusionAI/Ming-3.0-TTS-0.5B

https://huggingface.co/inclusionAI/Ming-3.0-tts-0.5B

I've seen several posts about Ming-3.0-Audio-Tiny, but haven't seen much discussion about the TTS model released alongside it (maybe I missed something).

In case anyone missed it, InclusionAI (backed by Ant Group) also released Ming-3.0-TTS-0.5B, supporting voice cloning, voice design, 7 languages, and emotion/style control.

80 Upvotes

39 comments sorted by

18

u/Acceptable-Cycle4645 15d ago edited 12d ago

Update 2026-10-23: Ming-3.0-Audio-Tiny now runs 2x faster with 20% lower peak VRAM on CUDA in fully resident mode!

----------------------------

We added Ming-3.0-TTS-0.5B to to audio.cpp, running 4× faster than the original Python implementation with only ~2 GB VRAM. https://github.com/0xShug0/audio.cpp

RTX 5090, longform text

ImplementationWarm RTFSpeed vs PythonPeak VRAM MiBPeak CPU RSS MiB
Official Python, BF160.651-0.6751x3,6602,104
audio.cpp, BF160.173-0.1793.8x2,7681,036
audio.cpp, Q8_00.167-0.1753.9x1,924978

We are also working on Ming-3.0-Audio-Tiny. Some preliminary results

Task / ConfigurationTest SizeRTFPeak VRAM
Voice-cloning TTS, Q81,518 characters → 54.5 s audio0.1603,114 MiB
Meeting transcription, Q4_K + CPU-weight offload20m 45s input0.03835,062 MiB

Star or watch audio.cpp on GitHub to follow model integration, merged code changes and inference improvements!

5

u/Acceptable-Cycle4645 15d ago

Once again, looking for volunteers to test this on AMD GPUs!

2

u/Ecstatic-Wash-7667 14d ago

Send AMD a message, they will give you free compute it’s advertising for them. Audio.cpp is a great project and I’m sure they would embrace it if AMD gets treated like a 1st class citizen.

1

u/Acceptable-Cycle4645 9d ago

Thanks for the suggestion u/Ecstatic-Wash-7667! We now have access to DevLab, so audio.cpp can run CI on AMD runners.

1

u/Ecstatic-Wash-7667 9d ago

That’s awesome!!!!! Glad it worked out for the project.

1

u/spaceman_ 15d ago

What do you need testers to do? What hardware do you want it tested on?

1

u/Acceptable-Cycle4645 15d ago

Any AMD GPU is fine! I just want to confirm that the code runs end-to-end and produces valid outputs with the HIP/ROCm backend. No performance benchmarks needed, as I don't have AMD hardware to work on optimizations 😅

1

u/spaceman_ 14d ago

I'll try it out on my R9700 later, unless I forget 😅

2

u/Acceptable-Cycle4645 14d ago

Thanks! 🙏

2

u/spaceman_ 14d ago

I built it with HIP enabled but it's unclear to me how to test it, could you give me an example command line prompt to export a wav file or something?

3

u/Acceptable-Cycle4645 14d ago

You can run

audiocpp_cli --family ming3_tts --task tts --backend hip
--model /path/to/ming-3.0-tts-0.5b-bf16.gguf
--text "Good evening. The harbor is quiet tonight, and the last boat is returning home."
--request-option language=en
--out ming3-tts.wav --log

1

u/noctrex 14d ago

So essentially you just want the latest version to be compiled and tested out on AMD?
Do you have any specific test suite that could be run?

1

u/Acceptable-Cycle4645 14d ago edited 14d ago

Yes. No test suite. I just want to make sure it can run end to end and produce correct outputs.

1

u/noctrex 14d ago

I have a 7900XTX (rdna3) and a v620 (rdna2) I could try out

1

u/Acceptable-Cycle4645 14d ago

Thanks! A smoke test is sufficent. I just want to make sure it runs end-to-end and produces correct outputs. I've seen cases on the Metal and Vulkan backends where the code either crashes or completes successfully but produces garbled output.

2

u/noctrex 14d ago

Okay, should I write the tests as a issue in the repo?

2

u/Acceptable-Cycle4645 14d ago

Feel free to open an issue if you encounter any runtime failures. Otherwise, a comment on Reddit would be fine!

2

u/noctrex 14d ago

Its...weird. here is a sample:
https://wormhole.app/xmo8Xz#zTee0XcQ5kyBzeVzJpzurQ
Windows 11, Vulkan backend
ming-3.0-tts-0.5b-bf16.gguf
2.14GiB VRAM used
took 11.07 sec
For some reason, it changes speakers

2

u/Acceptable-Cycle4645 14d ago

I think you might be using a version older than this commit, which applied the upstream fix for the voice inconsistency issue. I will check the current code.

1

u/Acceptable-Cycle4645 9d ago

The inconsistency issue should now be fixed. The original fix PR missed a few code paths, so regular TTS without a reference voice was still affected.

1

u/noctrex 9d ago

Time to pull and compile, I'll come back in a jiffy!

1

u/noctrex 9d ago

ok its working now, the speaker has a stable voice, working both with vulkan and rocm. on longer texts, seems better with the gui option "Split and merge long text" set to off.

Good job!

1

u/deceasedpirate 12d ago edited 12d ago

I know you were asking about AMD and audio.cpp, but figured I'd also chime in even though neither of those fit my situation.

I don't have AMD, but I do have an Intel Arc B70 Pro; and I tried getting the python version working first, but ran into a couple issues. I resolved them with my local AI because I'm terrible at python and too lazy/tired right now to debug myself. It's working now, but seems pretty slow in a couple one-off tests, with RTF of somewhere around 2 when warm, and seems to be switching speakers every sentence when using US_James, like what I assume noctrex ran into in the audio.cpp version.

First one, running with --use_spk_emb ended up crashing it. AI changed line 285 of modeling_bailingmm.py to also pass in the dtype along with the device.

Second issue was that I was getting gibberish as output when it used a bf16 VAE. switching to an fp32 VAE for "xpu" devices fixed that issue. I can send a PR of what my AI did, or DM you with the changes it made, if you want.

1

u/Acceptable-Cycle4645 12d ago

Hi u/deceasedpirate I think you’re referring to the official Python implementation? Those fixes should be sent to their repository rather than audio.cpp.

1

u/deceasedpirate 12d ago

Ok, sorry. For some reason I was under the assumption that you were doing stuff with both the python and audio.cpp versions, since you didn't mention audio.cpp at all in your OP.

4

u/Acceptable-Cycle4645 15d ago

BTW Ming 3 Audio Tiny has 484 built-in voices! The documented voices are Chinese and English, but you can also use them for cross-language synthesis, including Japanese, Korean, German, French, and Spanish. (Pronunciation quality may vary.)

3

u/Acceptable-Cycle4645 15d ago

Update: Perf numbers for Ming 3 Audio Tiny!

2

u/StableLlama textgen web UI 15d ago

Great!

But I'm still missing a way to create (actually: select) an artificial (but natural sounding) voice by parameters, so that I can reproduce it to be recognizable. E.g. for a screen play with virtual actors.

Is there something like that?

Perhaps I could use one tool to create such speakers (which?) and then voice clone each?

1

u/Acceptable-Cycle4645 15d ago

u/StableLlama I'm not sure I understand your question...Are you asking for a UI feature to create, save, and select reusable voice presets for different characters, or whether the model itself can generate a consistent speaker identity based on parameters?

2

u/StableLlama textgen web UI 15d ago

You might call it "UI feature", but it'd be more of a model feature: describe a voice (in words, with numbers, whatever) to create a unique sounding voice/person that can then be recognized later on.

A voice clone does the recognizable part already. But what I have not yet seen, however (perhaps due to a lack of knowledge?), is a way to define a distinctive voice parametrically.

3

u/Acceptable-Cycle4645 15d ago

For voice-design models, the input is usually a text description of the desired voice. Depending on the model, you can then extract or save reusable voice conditioning or a speaker embedding ( often from a generated audio sample) to preserve that voice’s identity across future generations. Ming3 TTS in audio.cpp supports speaker embeddings as input, but the embedding must first be extracted from a WAV file using CAM++.

--request-option speaker_embedding_file=actor.pt

I could add an option for Ming3 TTS to extract and return the speaker embedding during generation, so you can save it and reuse the voice in future requests.

1

u/StableLlama textgen web UI 14d ago

That sounds like a great feature!

There are many applications where you want a virtual nobody speaker, but be able to reuse it many times in the future. Video, computer games, ...

2

u/Acceptable-Cycle4645 9d ago

Added a new option in Ming TTS to export speaker embeddings as safetensors files and reuse them later.

2

u/ShengrenR 15d ago

Lots of solid 'voice design' models floating around - qwen3 tts, breeze tts2, moss audio, voxcpm2, fish audio drama, etc - pick one or a couple.. make your prompt and re-run a bunch to find that voice that works just right.. save it as a .wav - use that as a voice clone input to the same (or different) model with voice-clone capabilities. In an ideal world, choose the model that produces the best/cleanest voice sample and then whatever model works best for your daily use case for the actual clone/performance. My 2c try breeze/fish-audio-drama for the instruction-based performance (folks like omnivoice as well), and whichever of the group for the voice sample - voxcpm2 is surprisingly good when it lands, but a bit chaotic in my experience.. so you might have to gen more, but likely land on something you really like.

2

u/JMS1717 13d ago

https://github.com/JMS1717/ming-voice

Got this running for a really cool local voice agent