Hoanglinhn01 commited on
Commit
ba1304c
·
verified ·
1 Parent(s): 18c7b58

Upload 4 files

Browse files
Files changed (4) hide show
  1. README.md +285 -0
  2. pyproject.toml +70 -0
  3. requirements.txt +162 -0
  4. uv.lock +0 -0
README.md ADDED
@@ -0,0 +1,285 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # VieNeu-TTS
2
+
3
+ [![GitHub](https://img.shields.io/badge/GitHub-Repository-blue)](https://github.com/pnnbao97/VieNeu-TTS)
4
+ [![Hugging Face](https://img.shields.io/badge/Hugging%20Face-0.5B-yellow)](https://huggingface.co/pnnbao-ump/VieNeu-TTS)
5
+ [![Hugging Face](https://img.shields.io/badge/Hugging%20Face-0.3B-orange)](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B)
6
+ [![Hugging Face](https://img.shields.io/badge/Hugging%20Face-0.3B--GGUF-green)](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B-q8-gguf)
7
+ [![Discord](https://img.shields.io/badge/Discord-Join%20Us-5865F2?logo=discord&logoColor=white)](https://discord.gg/mQWr4cp3)
8
+ [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1V1DjG-KdmurCAhvXrxxTLsa9tteDxSVO?usp=sharing)
9
+
10
+ <img width="899" height="615" alt="Untitled" src="https://github.com/user-attachments/assets/7eb9b816-6ab7-4049-866f-f85e36cb9c6f" />
11
+
12
+ **VieNeu-TTS** is an advanced on-device Vietnamese Text-to-Speech (TTS) model with **instant voice cloning**.
13
+
14
+ > [!TIP]
15
+ > **Voice Cloning:** All model variants (including GGUF) support instant voice cloning with just **3-5 seconds** of reference audio.
16
+
17
+ This project features two core architectures trained on the [VieNeu-TTS-1000h](https://huggingface.co/datasets/pnnbao-ump/VieNeu-TTS-1000h) dataset:
18
+ - **VieNeu-TTS (0.5B):** An enhanced model fine-tuned from the NeuTTS Air architecture for maximum stability.
19
+ - **VieNeu-TTS-0.3B:** A specialized model **trained from scratch**, delivering 2x faster inference and ultra-low latency.
20
+
21
+ These represent a significant upgrade from the previous VieNeu-TTS-140h with the following improvements:
22
+
23
+ - **Enhanced pronunciation**: More accurate and stable Vietnamese pronunciation
24
+ - **Code-switching support**: Seamless transitions between Vietnamese and English
25
+ - **Better voice cloning**: Higher fidelity and speaker consistency
26
+ - **Real-time synthesis**: 24 kHz waveform generation on CPU or GPU
27
+ - **Multiple model formats**: Support for PyTorch, GGUF Q4/Q8 (CPU optimized), and ONNX codec
28
+
29
+ VieNeu-TTS delivers production-ready speech synthesis fully offline.
30
+
31
+ **Author:** Phạm Nguyễn Ngọc Bảo
32
+
33
+ ---
34
+
35
+ [<img width="600" height="595" alt="VieNeu-TTS" src="https://github.com/user-attachments/assets/6b32df9d-7e2e-474f-94c8-43d6fa586d15" />](https://github.com/user-attachments/assets/6b32df9d-7e2e-474f-94c8-43d6fa586d15)
36
+
37
+ ---
38
+
39
+ ## 🔬 Model Overview
40
+
41
+ - **Backbone:**
42
+ - **VieNeu-TTS (0.5B):** Qwen-0.5B fine-tuned from [NeuTTS Air](https://huggingface.co/neuphonic/neutts-air).
43
+ - **VieNeu-TTS-0.3B:** Custom 0.3B model **trained from scratch**, optimized for extreme speed (2x faster).
44
+ - **Audio codec:** NeuCodec (torch implementation; ONNX & quantized variants supported)
45
+ - **Context window:** 2,048 tokens shared by prompt text and speech tokens
46
+ - **Output watermark:** Enabled by default
47
+ - **Training data:** [VieNeu-TTS-1000h](https://huggingface.co/datasets/pnnbao-ump/VieNeu-TTS-1000h) — 443,641 curated Vietnamese samples (Used for both versions).
48
+
49
+ ### Model Variants
50
+
51
+ | Model | Format | Device | Quality | Speed |
52
+ | ----------------------- | ------- | ------- | ---------- | ----------------------- |
53
+ | VieNeu-TTS | PyTorch | GPU/CPU | ⭐⭐⭐⭐⭐ | Very Fast with lmdeploy |
54
+ | VieNeu-TTS-0.3B | PyTorch | GPU/CPU | ⭐⭐⭐⭐ | **Ultra Fast (2x)** |
55
+ | VieNeu-TTS-q8-gguf | GGUF Q8 | CPU/GPU | ⭐⭐⭐⭐ | Fast |
56
+ | VieNeu-TTS-q4-gguf | GGUF Q4 | CPU/GPU | ⭐⭐⭐ | Very Fast |
57
+ | VieNeu-TTS-0.3B-q8-gguf | GGUF Q8 | CPU/GPU | ⭐⭐⭐⭐ | **Ultra Fast (1.5x)** |
58
+ | VieNeu-TTS-0.3B-q4-gguf | GGUF Q4 | CPU/GPU | ⭐⭐⭐ | **Extreme Speed (2x)** |
59
+
60
+ **Recommendations:**
61
+
62
+ - **GPU users**: Use `VieNeu-TTS` (PyTorch) for best quality
63
+ - **CPU users**: Use `VieNeu-TTS-0.3B-q4-gguf` for fastest inference or `VieNeu-TTS-0.3B-q8-gguf` for best CPU quality.
64
+ - **Streaming**: Only GGUF models support streaming inference (Requires `llama-cpp-python >= 0.3.16`)
65
+
66
+ ---
67
+
68
+ ## ✅ Todo & Status
69
+
70
+ - [x] Publish safetensor artifacts
71
+ - [x] Release GGUF Q4 / Q8 models
72
+ - [x] Release datasets (1000h and 140h)
73
+ - [x] Enable streaming on GPU
74
+ - [x] Provide Dockerized setup
75
+ - [ ] Release fine-tuning code
76
+
77
+ ---
78
+
79
+ ## 🏁 Getting Started
80
+
81
+ ### 1. Clone the repository
82
+ ```bash
83
+ git clone https://github.com/pnnbao97/VieNeu-TTS.git
84
+ cd VieNeu-TTS
85
+ ```
86
+
87
+ ### 2. Install eSpeak NG (Required)
88
+ Phonemizer requires eSpeak NG to function.
89
+
90
+ - **Windows:** Download installer from [eSpeak NG Releases](https://github.com/espeak-ng/espeak-ng/releases) (Recommended: `.msi`).
91
+ - **macOS:** `brew install espeak`
92
+ - **Ubuntu/Debian:** `sudo apt install espeak-ng`
93
+ - **Arch Linux:** `paru -S aur/espeak-ng`
94
+
95
+ ---
96
+
97
+ ### 3. Environment Setup (Choose ONE method)
98
+
99
+ #### Method 1: Standard with `uv` (Recommended)
100
+ This is the fastest and most reliable way to manage dependencies.
101
+
102
+ **A. Install `uv`** (If you haven't already):
103
+ - **Windows:** `powershell -c "irm https://astral.sh/uv/install.ps1 | iex"`
104
+ - **Linux/macOS:** `curl -LsSf https://astral.sh/uv/install.sh | sh`
105
+
106
+ **B. Choose your hardware:**
107
+
108
+ **Option A: For GPU Users (NVIDIA 30xx/40xx/50xx)**
109
+
110
+ > [!IMPORTANT]
111
+ > **Update your NVIDIA Drivers & Install CUDA Toolkit!**
112
+ > This project uses **CUDA 12.8**. Please ensure your NVIDIA driver is up-to-date (support CUDA 12.8 or newer) to avoid compatibility issues, especially on RTX 30 series.
113
+ >
114
+ > To use `lmdeploy`, you **MUST** install the **NVIDIA GPU Computing Toolkit**: [https://developer.nvidia.com/cuda-downloads](https://developer.nvidia.com/cuda-downloads).
115
+
116
+ ```bash
117
+ uv sync
118
+ ```
119
+
120
+ **Option B: For CPU-only Users**
121
+
122
+ 1. Switch to CPU configuration:
123
+ ```bash
124
+ # Windows:
125
+ ren pyproject.toml pyproject.toml.bak
126
+ copy pyproject.toml.cpu pyproject.toml
127
+
128
+ # Linux/macOS:
129
+ mv pyproject.toml pyproject.toml.bak
130
+ cp pyproject.toml.cpu pyproject.toml
131
+ ```
132
+ 2. Install dependencies:
133
+ ```bash
134
+ uv sync
135
+ ```
136
+
137
+ **C. Run the Application:**
138
+ ```bash
139
+ uv run gradio_app.py
140
+ ```
141
+
142
+ Then access the Web UI at `http://127.0.0.1:7860`.
143
+
144
+ ---
145
+
146
+ #### Method 2: Automatic with Makefile (Alternative)
147
+ Best if you have `make` installed (standard on Linux/macOS, or via Git Bash on Windows). It handles configuration swaps automatically.
148
+
149
+ - **Setup GPU:** `make setup-gpu`
150
+ - **Setup CPU:** `make setup-cpu`
151
+ - **Run Demo:** `make demo`
152
+
153
+
154
+ Then access the Web UI at `http://127.0.0.1:7860`.
155
+
156
+ ---
157
+
158
+ ---
159
+
160
+ ## 🐋 Docker Deployment
161
+
162
+ For a quick start or production deployment without manually installing dependencies, use Docker.
163
+
164
+ ### Quick Start
165
+
166
+ Copy .env.example to .env
167
+
168
+ ```
169
+ cp .env.example .env
170
+ ```
171
+
172
+ Build and start container
173
+
174
+ ```bash
175
+ # Run with CPU
176
+ docker compose --profile cpu up
177
+
178
+ # Run with GPU (requires NVIDIA Container Toolkit)
179
+ docker compose --profile gpu up
180
+ ```
181
+
182
+ Access the Web UI at `http://localhost:7860`.
183
+
184
+ For detailed deployment instructions, including production setup, see [docs/Deploy.md](docs/Deploy.md).
185
+
186
+ ---
187
+
188
+ ## 📦 Project Structure
189
+
190
+ ```
191
+ VieNeu-TTS/
192
+ ├── examples/
193
+ │ ├── infer_long_text.py # CLI for long-form synthesis (chunked)
194
+ │ └── sample_long_text.txt # Example paragraph for testing
195
+ ├── gradio_app.py # Local Gradio web demo with LMDeploy support
196
+ ├── main.py # Basic batch inference script
197
+ ├── config.yaml # Configuration for models, codecs, and voices
198
+ ├── output_audio/ # Generated audio (created when running scripts)
199
+ ├── sample/ # Reference voices (audio + transcript + codes)
200
+ │ ├── Bình (nam miền Bắc).wav/txt/pt
201
+ │ ├── Đoan (nữ miền Nam).wav/txt/pt
202
+ │ ├── Dung (nữ miền Nam).wav/txt/pt
203
+ │ ├── Hương (nữ miền Bắc).wav/txt/pt
204
+ │ ├── Ly (nữ miền Bắc).wav/txt/pt
205
+ │ ├── Ngọc (nữ miền Bắc).wav/txt/pt
206
+ │ ├── Nguyên (nam miền Nam).wav/txt/pt
207
+ │ ├── Sơn (nam miền Nam).wav/txt/pt
208
+ │ ├── Tuyên (nam miền Bắc).wav/txt/pt
209
+ │ └── Vĩnh (nam miền Nam).wav/txt/pt
210
+ ├── utils/
211
+ │ ├── __init__.py
212
+ │ ├── core_utils.py # Text chunking utilities
213
+ │ ├── normalize_text.py # Vietnamese text normalization pipeline
214
+ │ ├── phonemize_text.py # Text to phoneme conversion
215
+ │ └── phoneme_dict.json # Phoneme dictionary
216
+ ├── vieneu_tts/
217
+ │ ├── __init__.py # Exports VieNeuTTS and FastVieNeuTTS
218
+ │ └── vieneu_tts.py # Core VieNeuTTS implementation (VieNeuTTS & FastVieNeuTTS)
219
+ ├── README.md
220
+ ├── requirements.txt # Basic dependencies (legacy)
221
+ ├── pyproject.toml # Project configuration with full dependencies (UV)
222
+ └── uv.lock # UV lock file for dependency management
223
+ ```
224
+
225
+ ---
226
+
227
+ ## 📚 References
228
+
229
+ - [GitHub Repository](https://github.com/pnnbao97/VieNeu-TTS)
230
+ - [Hugging Face Model (0.5B)](https://huggingface.co/pnnbao-ump/VieNeu-TTS)
231
+ - [Hugging Face Model (0.3B)](https://huggingface.co/pnnbao-ump/VieNeu-TTS-0.3B)
232
+ - [VieNeuTTS Fine-tuning Guide](https://github.com/pnnbao-ump/VieNeuTTS/blob/main/finetune.ipynb)
233
+ - [VieNeuCodec dataset](https://huggingface.co/datasets/pnnbao-ump/VieNeuCodec-dataset)
234
+
235
+ ---
236
+
237
+ ## 📄 License
238
+
239
+ - **VieNeu-TTS (0.5B):** Original terms (Apache 2.0).
240
+ - **VieNeu-TTS-0.3B:** Released under **CC BY-NC 4.0** (Non-Commercial).
241
+ - This version is currently **experimental**.
242
+ - **Commercial use is prohibited** without authorization. Please contact the author for commercial licensing.
243
+
244
+ ---
245
+
246
+ ## 📑 Citation
247
+
248
+ ```bibtex
249
+ @misc{vieneutts2026,
250
+ title = {VieNeu-TTS: Vietnamese Text-to-Speech with Instant Voice Cloning},
251
+ author = {Pham Nguyen Ngoc Bao},
252
+ year = {2026},
253
+ publisher = {Hugging Face},
254
+ howpublished = {\url{https://huggingface.co/pnnbao-ump/VieNeu-TTS}}
255
+ }
256
+ ```
257
+
258
+ ## 🤝 Contributing
259
+
260
+ Contributions are welcome!
261
+
262
+ 1. Fork the repository
263
+ 2. Create a feature branch: `git checkout -b feature/amazing-feature`
264
+ 3. Commit your changes: `git commit -m "Add amazing feature"`
265
+ 4. Push the branch: `git push origin feature/amazing-feature`
266
+ 5. Open a pull request
267
+
268
+ ---
269
+
270
+ ## 📞 Support
271
+
272
+ - GitHub Issues: [github.com/pnnbao97/VieNeu-TTS/issues](https://github.com/pnnbao97/VieNeu-TTS/issues)
273
+ - Hugging Face: [huggingface.co/pnnbao-ump](https://huggingface.co/pnnbao-ump)
274
+ - Discord: [Join with us](https://discord.gg/mQWr4cp3)
275
+ - Facebook: [Phạm Nguyễn Ngọc Bảo](https://www.facebook.com/bao.phamnguyenngoc.5)
276
+
277
+ ---
278
+
279
+ ## 🙏 Acknowledgements
280
+
281
+ This project builds upon [NeuTTS Air](https://huggingface.co/neuphonic/neutts-air) for the original 0.5B model. The 0.3B version is a custom architecture trained from scratch using the [VieNeu-TTS-1000h](https://huggingface.co/datasets/pnnbao-ump/VieNeu-TTS-1000h) dataset.
282
+
283
+ ---
284
+
285
+ **Made with ❤️ for the Vietnamese TTS community**
pyproject.toml ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [tool.uv]
2
+ index-strategy = "unsafe-best-match"
3
+ required-environments = [
4
+ "sys_platform == 'win32' and platform_machine == 'AMD64'",
5
+ "sys_platform == 'linux' and platform_machine == 'x86_64'",
6
+ "sys_platform == 'darwin' and platform_machine == 'arm64'",
7
+ ]
8
+ override-dependencies = [
9
+ "nvidia-nccl-cu12; sys_platform == 'linux'",
10
+ ]
11
+
12
+ [[tool.uv.index]]
13
+ name = "pytorch"
14
+ url = "https://download.pytorch.org/whl/cu128"
15
+ explicit = true
16
+
17
+ [[tool.uv.index]]
18
+ name = "pypi"
19
+ url = "https://pypi.org/simple"
20
+
21
+ [project]
22
+ name = "VieNeu-TTS"
23
+ version = "0.1.0"
24
+ description = "Advanced on-device Vietnamese TTS with instant voice cloning"
25
+ readme = "README.md"
26
+ requires-python = "==3.12.*"
27
+ dependencies = [
28
+ "phonemizer>=3.3.0",
29
+ "neucodec>=0.0.4",
30
+ "librosa>=0.11.0",
31
+ "gradio>=5.49.1",
32
+ "onnxruntime>=1.23.2",
33
+ "datasets>=3.2.0",
34
+ "lmdeploy; sys_platform != 'darwin'",
35
+ "triton-windows; sys_platform == 'win32'",
36
+ "triton; sys_platform == 'linux'",
37
+ "transformers; sys_platform == 'darwin'",
38
+ "accelerate; sys_platform == 'darwin'",
39
+ "torch",
40
+ "torchvision",
41
+ "torchaudio",
42
+ "perth>=0.2.0",
43
+ "llama-cpp-python==0.3.16",
44
+ ]
45
+
46
+ [tool.uv.sources]
47
+
48
+ torch = [
49
+ { index = "pytorch", marker = "sys_platform != 'darwin'" },
50
+ { index = "pypi", marker = "sys_platform == 'darwin'" }
51
+ ]
52
+ torchvision = [
53
+ { index = "pytorch", marker = "sys_platform != 'darwin'" },
54
+ { index = "pypi", marker = "sys_platform == 'darwin'" }
55
+ ]
56
+ torchaudio = [
57
+ { index = "pytorch", marker = "sys_platform != 'darwin'" },
58
+ { index = "pypi", marker = "sys_platform == 'darwin'" }
59
+ ]
60
+
61
+ lmdeploy = [
62
+ { url = "https://github.com/InternLM/lmdeploy/releases/download/v0.11.0/lmdeploy-0.11.0+cu128-cp312-cp312-win_amd64.whl", marker = "sys_platform == 'win32' and python_version == '3.12'" },
63
+ { url = "https://github.com/InternLM/lmdeploy/releases/download/v0.11.0/lmdeploy-0.11.0+cu128-cp312-cp312-manylinux2014_x86_64.whl", marker = "sys_platform == 'linux' and python_version == '3.12'" },
64
+ { index = "pypi", marker = "sys_platform == 'darwin'" }
65
+ ]
66
+
67
+ llama-cpp-python = [
68
+ { url = "https://github.com/pnnbao97/VieNeu-TTS/releases/download/wheels-v0.3.16/llama_cpp_python-0.3.16-cp312-cp312-win_amd64.whl", marker = "sys_platform == 'win32' and python_version == '3.12'" },
69
+ { index = "pypi", marker = "sys_platform != 'win32'" }
70
+ ]
requirements.txt ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ accelerate==1.12.0
2
+ addict==2.4.0
3
+ aiofiles==24.1.0
4
+ aiohappyeyeballs==2.6.1
5
+ aiohttp==3.13.1
6
+ aiosignal==1.4.0
7
+ annotated-doc==0.0.3
8
+ annotated-types==0.7.0
9
+ antlr4-python3-runtime==4.9.3
10
+ anyio==4.11.0
11
+ attrs==25.4.0
12
+ audioread==3.1.0
13
+ babel==2.17.0
14
+ blobfile==3.1.0
15
+ brotli==1.1.0
16
+ certifi==2025.10.5
17
+ cffi==2.0.0
18
+ charset-normalizer==3.4.4
19
+ click==8.3.0
20
+ cloudpickle==3.1.2
21
+ colorama==0.4.6
22
+ coloredlogs==15.0.1
23
+ csvw==3.7.0
24
+ datasets==4.3.0
25
+ decorator==5.2.1
26
+ dill==0.4.0
27
+ distro==1.9.0
28
+ dlinfo==2.0.0
29
+ einops==0.8.1
30
+ einx==0.3.0
31
+ fastapi==0.120.2
32
+ ffmpy==0.6.4
33
+ filelock==3.20.0
34
+ fire==0.7.1
35
+ flatbuffers==25.9.23
36
+ frozendict==2.4.6
37
+ frozenlist==1.8.0
38
+ fsspec==2025.9.0
39
+ gradio==5.49.1
40
+ gradio-client==1.13.3
41
+ groovy==0.1.2
42
+ h11==0.16.0
43
+ hf-transfer==0.1.9
44
+ httpcore==1.0.9
45
+ httpx==0.28.1
46
+ huggingface-hub==0.36.0
47
+ humanfriendly==10.0
48
+ hyper-connections==0.2.1
49
+ idna==3.11
50
+ inquirerpy==0.3.4
51
+ isodate==0.7.2
52
+ jinja2==3.1.6
53
+ jiter==0.12.0
54
+ joblib==1.5.2
55
+ jsonschema==4.25.1
56
+ jsonschema-specifications==2025.9.1
57
+ kagglehub==0.3.13
58
+ language-tags==1.2.0
59
+ lazy-loader==0.4
60
+ librosa==0.11.0
61
+ llvmlite==0.45.1
62
+ lmdeploy==0.11.0
63
+ local-attention==1.11.2
64
+ lxml==6.0.2
65
+ markdown-it-py==4.0.0
66
+ markupsafe==3.0.3
67
+ mdurl==0.1.2
68
+ mmengine-lite==0.10.7
69
+ mpmath==1.3.0
70
+ msgpack==1.1.2
71
+ multidict==6.7.0
72
+ multiprocess==0.70.16
73
+ networkx==3.5
74
+ neucodec==0.0.4
75
+ numba==0.62.1
76
+ numpy==2.3.4
77
+ omegaconf==2.3.0
78
+ onnxruntime==1.23.2
79
+ openai==2.12.0
80
+ openai-harmony==0.0.8
81
+ orjson==3.11.4
82
+ packaging==25.0
83
+ pandas==2.3.3
84
+ partial-json-parser==0.2.1.1.post7
85
+ peft==0.14.0
86
+ pfzy==0.3.4
87
+ phonemizer==3.3.0
88
+ pillow==11.3.0
89
+ platformdirs==4.5.0
90
+ pooch==1.8.2
91
+ prometheus-client==0.23.1
92
+ prompt-toolkit==3.0.52
93
+ propcache==0.4.1
94
+ protobuf==6.33.2
95
+ psutil==7.1.2
96
+ pyarrow==22.0.0
97
+ pycparser==2.23
98
+ pycryptodomex==3.23.0
99
+ pydantic==2.11.10
100
+ pydantic-core==2.33.2
101
+ pydub==0.25.1
102
+ pygments==2.19.2
103
+ pyparsing==3.2.5
104
+ pyreadline3==3.5.4
105
+ python-dateutil==2.9.0.post0
106
+ python-multipart==0.0.20
107
+ pytz==2025.2
108
+ pyyaml==6.0.3
109
+ pyzmq==27.1.0
110
+ ray==2.52.1
111
+ rdflib==7.3.0
112
+ referencing==0.37.0
113
+ regex==2025.10.23
114
+ requests==2.32.5
115
+ rfc3986==1.5.0
116
+ rich==14.2.0
117
+ rpds-py==0.28.0
118
+ ruff==0.14.2
119
+ safehttpx==0.1.7
120
+ safetensors==0.6.2
121
+ scikit-learn==1.7.2
122
+ scipy==1.16.2
123
+ segments==2.3.0
124
+ semantic-version==2.10.0
125
+ sentencepiece==0.2.1
126
+ setuptools==80.9.0
127
+ shellingham==1.5.4
128
+ shortuuid==1.0.13
129
+ six==1.17.0
130
+ sniffio==1.3.1
131
+ soundfile==0.13.1
132
+ soxr==1.0.0
133
+ starlette==0.49.1
134
+ sympy==1.14.0
135
+ termcolor==3.2.0
136
+ threadpoolctl==3.6.0
137
+ tiktoken==0.12.0
138
+ tokenizers==0.22.1
139
+ tomlkit==0.13.3
140
+ torch==2.7.1+cu118
141
+ torchao==0.14.1
142
+ torchaudio==2.7.1+cu118
143
+ torchdata==0.11.0
144
+ torchtune==0.6.1
145
+ torchvision==0.22.1+cu118
146
+ tqdm==4.67.1
147
+ transformers==4.57.1
148
+ triton-windows==3.5.1.post22
149
+ typer==0.20.0
150
+ typing-extensions==4.15.0
151
+ typing-inspection==0.4.2
152
+ tzdata==2025.2
153
+ uritemplate==4.2.0
154
+ urllib3==2.5.0
155
+ uvicorn==0.38.0
156
+ vector-quantize-pytorch==1.17.8
157
+ wcwidth==0.2.14
158
+ websockets==15.0.1
159
+ xgrammar==0.1.28
160
+ xxhash==3.6.0
161
+ yapf==0.43.0
162
+ yarl==1.22.0
uv.lock ADDED
The diff for this file is too large to render. See raw diff