Model reference · open weights

neutts-2e

Available as managed deployment Licence fee Audio suryatmodulus · community Text→speech 1 variants 518 dl/mo

neutts-2e is an open-weight audio or speech model from suryatmodulus. 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 bysuryatmodulus
TypeAudio & music
TaskText→speech
Parameters (lead)236M
Context32k tokens
Released2026-07-23
Popularity518 downloads / month
LicenceCommercial licence needed

About

What neutts-2e is

🚀 Spaces Demo, 🔧 Github

Q8 GGUF version, Q4 GGUF version

Created by Neuphonic - building faster, smaller, on-device voice AI

Read the full model card

NeuTTS-2E is a super-fast, highly realistic, on-device emotional TTS speech language model. It is an early alpha release, English-only model, supporting six emotions plus neutral (angry, disgusted, fearful, happy, sad, surprised and neutral) across four fixed speakers (emily, paul, sophie, steven). With a compact backbone and an efficient LM + codec design, NeuTTS-2E delivers strong naturalness and expressive control at a fraction of the compute, making it ideal for embedded voice agents, assistants, toys, and privacy-sensitive applications.

[!NOTE] This model is English only with fixed speakers: for other languages and instant voice cloning, see the NeuTTS Nano Multilingual Collection.

Key Features

  • ⚡️ Ultra-fast for on-device — built for real-time or better-than-real-time generation on laptop-class CPUs
  • 😠😁😭 Emotional control — six emotions plus neutral, selected with a single argument
  • 🗣 High realism for its size — natural, expressive speech in a compact footprint
  • 📦 GGUF/GGML-friendly deployment — easy to run locally via CPU-first tooling
  • 🔒 Local-first + compliance-friendly — keep audio and text on-device

[!CAUTION] Websites like neutts.com are popping up and they're not affliated with Neuphonic, our github or this repo.

We are on neuphonic.com only. Please be careful out there! 🙏

Model Details

NeuTTS-2E is designed for maximum speed per parameter while retaining strong naturalness and expressive control:

  • Backbone: compact LM backbone tuned for emotional TTS token generation
  • Input Format: text — no phonemizer or system dependencies required
  • Speakers: four fixed speakers (emily, paul, sophie, steven)
  • Emotions: angry, disgusted, fearful, happy, sad, surprised and neutral
  • Audio Codec: NeuCodec - our open-source neural audio codec that achieves exceptional audio quality at low bitrates using a single codebook
  • Format: quantisations available in GGUF format for efficient on-device inference
  • Responsibility: Watermarked outputs
  • Inference Speed: Optimised for real-time generation on CPUs
  • Power Consumption: Designed for mobile and embedded devices

Parameter Count

  • Active params (backbone only): ~125M
  • Total params (backbone + tied embeddings/head): ~236M

Get Started with NeuTTS

  1. Install NeuTTS

    pip install neutts
    

    Or for a local editable install, clone the neutts repository and run in the base folder:

    pip install -e .
    

    Alternatively to install all dependencies, including onnxruntime and llama-cpp-python (equivalent to steps 2 and 3 below):

    pip install neutts[all]
    

    or for an editable install:

    pip install -e .[all]
    
  2. (Optional) Install llama-cpp-python to use .gguf models.

    pip install "neutts[llama]"
    

    Note that this installs llama-cpp-python without GPU support. To install with GPU support (e.g., CUDA, MPS) please refer to: https://pypi.org/project/llama-cpp-python/

  3. (Optional) Install onnxruntime to use the .onnx decoder.

    pip install "neutts[onnx]"
    

Examples

To get started with the example scripts, clone the neutts repository and navigate into the project directory:

git clone https://github.com/neuphonic/neutts.git
cd neutts

Basic Example

Run the emotional example script to synthesize speech:

python -m examples.basic_example_emotions \
  --input_text "I can't believe it's finally here!" \
  --speaker emily \
  --emotion happy

Simple One-Code Block Usage

from neutts import NeuTTS2E
import soundfile as sf

tts = NeuTTS2E()

wav = tts.infer(
    "I can't believe it's finally here!",
    speaker="emily",
    emotion="happy",
)
sf.write("test.wav", wav, 24000)

Responsibility

Every audio file generated by NeuTTS-2E includes by default a Perth (Perceptual Threshold) Watermark.

Disclaimer

Don't use this model to do bad things… please.

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

Using it via the API

Call it like any OpenAI endpoint

Once AxForge deploys suryatmodulus-neutts-2e for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (suryatmodulus-neutts-2e 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="suryatmodulus-neutts-2e" -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