# ChatTTS changelog > A generative speech model for daily dialogue. - Vendor: 2noise - Category: AI - Official site: https://2noise.com/ - Tracked by: What's New (https://whatsnew.fyi/product/chattts) - Harvested from: GitHub (2noise/ChatTTS) - Entries below: 7 (newest first) What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## Releases ### v0.2.5 - Date: 2026-04-10 - Version: v0.2.5 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.2.5 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.2.5 - **added** — Partial dml support - **fixed** — RuntimeError: narrow(): length must be non-negative - **fixed** — Add missed dep requests in requirements.txt - **fixed** — Keep tracking with latest transformers ###### Added - Partial dml support (31ed623) by @fumiama ###### Fixed - RuntimeError: narrow(): length must be non-negative (#955) by @fumiama - Add missed dep requests in requirements.txt (cc212db) by @faalkor - Keep tracking with latest transformers (857d3b7) by @fumiama ### v0.2.4 - Date: 2025-05-23 - Version: v0.2.4 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.2.4 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.2.4 - **added** — FastAPI-based OpenAI-compatible Text-to-Speech API and Audio Format Conversion Tools in examples/api - **added** — Numpy 2+ support - **fixed** — Module 'torch.serialization' has no attribute 'FILE_LIKE' ###### Added - FastAPI-based OpenAI-compatible Text-to-Speech API and Audio Format Conversion Tools to `examples/api` (d582fd5) by @yueguobin - Numpy 2+ support (1092c1f) by @BBC-Esq ###### Fixed - Module 'torch.serialization' has no attribute 'FILE_LIKE'' (8c0707b) by @aibaoku --- ###### 新增 * 在 `examples/api` 中添加了基于 FastAPI、兼容 OpenAI 的文本转语音 API 及音频格式转换工具 (d582fd5) by @yueguobin * 支持 Numpy 2+ (1092c1f) by @BBC-Esq ###### 修复 * 'torch.serialization' 模块中无属性 'FILE_LIKE' 的问题 (8c0707b) by @aibaoku ### v0.2.3 - Date: 2025-02-18 - Version: v0.2.3 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.2.3 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.2.3 - **fixed** — Drop deprecated transformers API get_max_length() ###### Fixed - Drop deprecated transformers API get_max_length() (a500911) by @fumiama --- ###### 修复 - 停止使用废弃的 transformers API get_max_length() (a500911) by @fumiama ### v0.2.2 - Date: 2025-01-25 - Version: v0.2.2 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.2.2 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.2.2 - **added** — Support downloading HuggingFace models to custom path - **added** — Allow examples/api to refine text without parameters and load normalizers to handle Chinese numbers - **added** — Support custom local download path - **added** — Keep speaker in long-sentence infer - **fixed** — Missing module name tools.audio - **changed** — Optimized load_audio performance ###### New - Support downloading HuggingFace models to custom path (#863) by @BBC-Esq - `examples/api` allow not params refine text, and load normalizers to handle Chinese numbers (#865) by @JaysonAlbert - Support custom local download path (fefc931) by @fumiama - Keep speaker in long-sentence infer (8d7bcf0) by @fumiama ###### Fixed - Missing module name "tools.audio" (#880) by @benknam ###### Optimized - `load_audio` performance (c3948c8) by @fumiama --- ###### 新增 - 支持将 HuggingFace 模型下载到自定义路径 (#863) by @BBC-Esq - `examples/api` 允许在不传入参数的情况下修正文本,并加载正则化器以处理中文数字 (#865) by @JaysonAlbert - 支持自定义本地下载路径 (fefc931) by @fumiama - 在长句推理中保持同一音色 (8d7bcf0) by @fumiama ###### 修复 - 缺少模块名 "tools.audio" (#880) by @benknam ###### 优化 - `load_audio` 性能 (c3948c8) by @fumiama ### v0.2.1 - Date: 2024-11-05 - Version: v0.2.1 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.2.1 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.2.1 - **added** — NPU support - **fixed** — Add remove_interjections to Chinese normalizer - **changed** — Change gamma to weight in DVAE for compatibility - **changed** — Migrate all models to safetensors ###### New - NPU support (#777) by @shen-shanshan ###### Fixed - No `remove_interjections` in Chinese normalizer (#783) by @IrisSally ###### Optimized - Change gamma to weight in DVAE for compatibility (#733) by @zly-idleness - Migrate all models to safetensors (b9b007ef) by @fumiama --- ###### 新增 - NPU 支持 (#777) by @shen-shanshan ###### 修复 - 中文正则化器中缺少`remove_interjections` (#783) by @IrisSally ###### 优化 - 为了兼容性,将 DVAE 中的 gamma 改为 weight (#733) by @zly-idleness - 将所有模型迁移到 safetensors (b9b007ef) by @fumiama ### v0.2.0 - Date: 2024-10-09 - Version: v0.2.0 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.2.0 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.2.0 - **added** — Simple HTTP API example - **added** — Command-line streaming inference example - **added** — Batch Vocos decoding that generates matrix by longest token and fills the rest with 0 - **added** — Adaptation to new VQ Encoder - **added** — ZeroShot support - **added** — Initial support for vLLM - **added** — Added --source and --custom_path parameters to command-line examples - **added** — Added inplace parameter to Speaker class for fine-tuning - **added** — Added experimental parameter to Chat.load function - **fixed** — Intermittent glitches in streaming inference audio - **fixed** — Different accent per generation even under the same parameters in WebUI - **fixed** — normalizer changed tag format, causing model to read out the tag - **fixed** — Replaced unaccessible GitCode mirror - **fixed** — Error in handling repetition penalty idx - **changed** — Completely removed pretrain_models dictionary - **changed** — Made tokenizer a standalone class - **changed** — normalizer will remove all unsupported characters to avoid inference errors - **changed** — Removed config folder and embedded settings directly into the code - **changed** — Removed extra whitespace at the end of streaming inference - **changed** — Added manual_seed parameter to directly provide generator to multinomial, avoiding impact on torch environment ###### New - Simple HTTP API example (#530) by @briancaffey - Command-line streaming inference example (#512) by @ZaymeShaw - Batch Vocos decoding (generate matrix by longest token, fill the rest with 0) (6e18575) by @fumiama - Adaptation to new VQ Encoder (9f0b7a0) by @fumiama - ZeroShot support (b4da237) by @fumiama - Initial support for vLLM (8e6184e) by @ylzz1997 - Added `--source` and `--custom_path` parameters to command-line examples (#669) by @weedge - Added `inplace` parameter to `Speaker` class for fine-tuning (#679) by @ain-soph - Added `experimental` parameter to `Chat.load` function (#682) by @ain-soph ###### Fixed - Intermittent glitches in streaming inference audio (7ee5426) by @fumiama - Different accent per generation even under the same parameters in WebUI (3edd47c) by @fumiama - `normalizer` changed tag format, causing model to read out the tag (c6bae90) by @fumiama - Replaced unaccessable GitCode mirror (c06f1d45) by @fumiama - Error in handling repetition penalty idx (#738) by @niuzheng168 ###### Optimized - Completely removed `pretrain_models` dictionary (77c7e20) by @fumiama - Made `tokenizer` a standalone class (77c7e20) by @fumiama - `normalizer` will remove all unsupported characters now to avoid inference errors (0f47a87) by @fumiama - Removed `config` folder, settings are now directly embedded into the code for easier changes (27331c3) by @fumiama - Removed extra whitespace at the end of streaming inference (#564) by @Ox0400 - Added `manual_seed` parameter, which directly provides `generator` to `multinomial`, avoiding impact on torch environment (e675a59) by @fumiama - `tokenizer` loading switched from `.pt` to the built-in `from_pretrained` method to eliminate potential malicious code loading (80b24e6) by @fumiama - Made `speaker` class standalone, placing `spk_stat` related content within it, and directly wrote its values into the settings class due to its small size (f3dcd97) by @fumiama - `Chat.load` will set `compile=False` now by default (7e33889) by @fumiama - Switched GPT to `safetensor` model (8a503fd) by @fumiama ###### Dependencies - Changed code license to open-source AGPL3.0 (9f402ba) --- ###### 新增 - 简单的 HTTP API 示例 (#530) by @briancaffey - 命令行流式推理实例 (#512) by @ZaymeShaw - 批量 Vocos 解码(按最长 token 生成矩阵,其余填0) (6e18575) by @fumiama - 适配新 VQ Encoder (9f0b7a0) by @fumiama - ZeroShot 支持 (b4da237) by @fumiama - 初步支持 vLLM (8e6184e) by @ylzz1997 - 命令行示例增加`--source`和`--custom_path`参数 (#669) by @weedge - 为引入微调,给`Speaker`类增加`inplace`参数 (#679) by @ain-soph - 给`Chat.load`函数增加`experimental`参数 (#682) by @ain-soph ###### 修复 - 流式推理的声音有间断性毛刺 (7ee5426) by @fumiama - WebUI 相同条件下音频生成每次不同 (3edd47c) by @fumiama - `normalizer`更改 tag 导致模型将 tag 读出 (c6bae90) by @fumiama - 更换已失效的 GitCode 镜像 (c06f1d45) by @fumiama - repetition penalty idx 处理错误 (#738) by @niuzheng168 ###### 优化 - 彻底移除`pretrain_models`字典 (77c7e20) by @fumiama - 将`tokenizer`独立为一个类 (77c7e20) by @fumiama - `normalizer`将所有不支持的字符删除以免推理出错 (0f47a87) by @fumiama - 取消`config`文件夹,直接把设置写入代码方便更改 (27331c3) by @fumiama - 删除流式推理末尾多余的空白 (#564) by @Ox0400 - 在调用前设置`manual_seed`改为直接给`multinomial`提供`generator`,避免影响 torch 环境 (e675a59) by @fumiama - 将`tokenizer`从直接加载`.pt`改为调用自带的`from_pretrained`方法,从而消除可能的恶意代码加载 (80b24e6) by @fumiama - 独立`speaker`类,放置`spk_stat`相关内容,同时因为该模型很小,所以直接将它的值写入了设置类 (f3dcd97) by @fumiama - `Chat.load`参数改为默认关闭编译 (7e33889) by @fumiama - GPT 切换到`safetensor`模型 (8a503fd) by @fumiama ###### 依赖 - 代码许可证更改为开源的 AGPL3.0 (9f402ba) ### v0.1.1 - Date: 2024-07-04 - Version: v0.1.1 - Original notes: https://github.com/2noise/ChatTTS/releases/tag/v0.1.1 - Permalink: https://whatsnew.fyi/product/chattts/releases/v0.1.1 - **added** — Apple MPS GPU support (experimental, off by default) - **added** — Replacement of rare Chinese characters - **added** — local loading mode, with original local renamed to custom - **added** — Core supports streaming inference - **added** — WebUI supports streaming inference - **added** — User customizable logger - **added** — CMD supports batch inference - **added** — Customizable DVAE coef parameter - **added** — download_models unload API - **added** — Normalizer changed to registration type for user-defined interfaces - **added** — Improved type annotations with all dict parameters changed to dataclass - **added** — Interruptable inference process that returns currently inferred part - **added** — NVIDIA TransformerEngine support (experimental) - **added** — Infer parameter show_tqdm - **added** — flash_attention_2 support (experimental) - **fixed** — Normalizer initialization error - **fixed** — Compile error handling - **fixed** — Possible addition of [spk_emb] when refining text - **fixed** — Inconsistent tone when inferring a list of texts - **fixed** — Possible return of None voice when inferring - **changed** — DVAE tensor operation process optimized - **changed** — MPS inference sound quality improved - **changed** — Added _ prefix for internal calls - **changed** — Renamed check_model to has_loaded - **changed** — Renamed load_model to load - **changed** — Verify file hash when customizing model loading path to prevent tampering - **changed** — Default output to mp3 format - **changed** — Changed spk_emb to str type for easy customization, copying, and sharing of tones - **changed** — Removed useless tensor dimension swap in DVAE - **changed** — Relaxed dependency restrictions for easier installation ###### New - Apple MPS GPU (Experimental, off by default) (#261, #472) by @rasonyang - Replacement of rare characters (Chinese characters) (#350) by @6drf21e - `local` loading mode, renamed original `local` to `custom` (#361) by @fumiama - Core supports streaming inference (#360) by @Ox0400 - WebUI supports streaming inference (#380) by @v3ucn - User customizable logger (#398) by @fumiama - CMD supports batch inference (#366) by @Ox0400 - Customizable DVAE coef parameter (#405) by @fumiama - `download_models` `unload` API (4dd1f88) by @fumiama - Normalizer changed to registration type, users can register interfaces that meet the requirements (#420) by @fumiama - Improved type annotations, all dict parameters changed to dataclass for easy auto-completion when calling (#422) by @fumiama - Interruptable inference process, which will return the currently inferred part (#433) by @fumiama - **Experimental**: NVIDIA TransformerEngine support (#496) by @fumiama - Infer parameter `show_tqdm` (3836db8) by @fumiama - **Experimental**: flash_attention_2 support (c109089) by @fumiama ###### Fixed - Normalizer initialization error (#343) by @fumiama - Compile error handling (#377, #413) by @asamaayako - Possible addition of `[spk_emb]` when refining text (#464) by @fumiama - Inconsistent tone when inferring a list of texts (#492) by @fumiama - Possible return of None voice when inferring (#511) by @fumiama ###### Optimized - DVAE tensor operation process (#273) by @ain-soph - MPS inference sound quality (#373) by @LeoN0425 - Added `_` prefix for internal calls (4dd1f88) by @fumiama - Renamed `check_model` to `has_loaded` (4dd1f88) by @fumiama - Renamed `load_model` to `load` (#432) by @fumiama - Verify file hash when customizing model loading path to prevent tampering (#453) by @fumiama - Default output to mp3 format (#449) by @fumiama - Changed spk_emb to str type for easy customization, copying, and sharing of tones (#463) by @fumiama - Removed useless tensor dimension swap in DVAE (#488) by @charSLee013 ###### Dependencies - Relaxed dependency restrictions for easier installation --- ###### 新增 - Apple MPS GPU (实验性, 默认不开启) (#261, #472) by @rasonyang - 替换生僻字(汉字) (#350) by @6drf21e - `local`加载模式,重命名原`local`到`custom` (#361) by @fumiama - core 支持流式推理 (#360) by @Ox0400 - webui 支持流式推理 (#380) by @v3ucn - 用户可自定义 logger (#398) by @fumiama - cmd 支持批量推理 (#366) by @Ox0400 - 可自定义 DVAE coef 参数 (#405) by @fumiama - `download_models` `unload` API (4dd1f88) by @fumiama - normalizer 改为注册式,用户可以自行注册符合要求的接口 (#420) by @fumiama - 完善类型注解,将所有dict传参改为dataclass,方便调用时自动补全 (#422) by @fumiama - 打断推理进程,返回当前已推理的部分 (#433) by @fumiama - **实验性**:NVIDIA TransformerEngine 支持 (#496) by @fumiama - infer 参数 `show_tqdm` (3836db8) by @fumiama - **实验性**:flash_attention_2 支持 (c109089) by @fumiama ###### 修复 - Normalizer 初始化错误 (#343) by @fumiama - compile 错误处理 (#377, #413) by @asamaayako - refine_text() 时可能加入 `[spk_emb]` (#464) by @fumiama - infer 传入文本列表时音色不统一 (#492) by @fumiama - infer 可能概率返回 None 语音 (#511) by @fumiama ###### 优化 - DVAE 张量运算流程 (#273) by @ain-soph - MPS推理音质 (#373) by @LeoN0425 - 为内部调用增加`_`前缀 (4dd1f88) by @fumiama - 重命名 `check_model` 为 `has_loaded` (4dd1f88) by @fumiama - 重命名 `load_model` 为 `load` (#432) by @fumiama - 自定义加载模型路径时校验文件哈希以免被篡改 (#453) by @fumiama - 默认输出 mp3 格式 (#449) by @fumiama - spk_emb 改成 str 类型方便自定义、拷贝、分享音色 (#463) by @fumiama - 移除 DVAE 中无用的张量维度交换 (#488) by @charSLee013 ###### 依赖 - 放宽依赖限制使安装更容易