roboticsbydev Claude Opus 4.6 commited on
Commit
fed42c7
·
0 Parent(s):

Initial commit: Supertonic2 QNN quantized TTS pipeline

Browse files

Add complete Qualcomm QNN-optimized TTS pipeline including:
- ONNX models (text encoder, vector estimator, vocoder, duration predictor)
- QNN HTP compiled models and shared libraries
- Calibration data for quantization
- Inference scripts and pipeline runner
- Architecture documentation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .claude/settings.local.json +12 -0
  2. .gitattributes +5 -0
  3. .gitignore +7 -0
  4. HUGGINGFACE_UPLOAD.md +51 -0
  5. QNN_Model_lib/aarch64-oe-linux-gcc11.2/libduration_predictor_htp.so +3 -0
  6. QNN_Model_lib/aarch64-oe-linux-gcc11.2/libtext_encoder_htp.so +3 -0
  7. QNN_Model_lib/aarch64-oe-linux-gcc11.2/libvector_estimator_htp.so +3 -0
  8. QNN_Model_lib/aarch64-oe-linux-gcc11.2/libvocoder_htp.so +3 -0
  9. QNN_Models/duration_predictor_htp.bin +3 -0
  10. QNN_Models/duration_predictor_htp.cpp +0 -0
  11. QNN_Models/duration_predictor_htp_net.json +0 -0
  12. QNN_Models/text_encoder_htp.bin +3 -0
  13. QNN_Models/text_encoder_htp.cpp +0 -0
  14. QNN_Models/text_encoder_htp_net.json +0 -0
  15. QNN_Models/vector_estimator_htp.bin +3 -0
  16. QNN_Models/vector_estimator_htp.cpp +0 -0
  17. QNN_Models/vector_estimator_htp_net.json +0 -0
  18. QNN_Models/vocoder_htp.bin +3 -0
  19. QNN_Models/vocoder_htp.cpp +0 -0
  20. QNN_Models/vocoder_htp_net.json +0 -0
  21. README.md +229 -0
  22. Step1_Supertonic2_QNN_Porting.ipynb +289 -0
  23. board_outputs/samples/final_reference_output.wav +3 -0
  24. calibration_data/calibration_summary.json +102 -0
  25. calibration_data/duration_predictor_input_list.txt +10 -0
  26. calibration_data/sample_001/duration_predictor/input_style_dp.raw +3 -0
  27. calibration_data/sample_001/duration_predictor/input_style_dp.shape.json +9 -0
  28. calibration_data/sample_001/duration_predictor/input_text_ids.raw +3 -0
  29. calibration_data/sample_001/duration_predictor/input_text_ids.shape.json +8 -0
  30. calibration_data/sample_001/duration_predictor/input_text_mask.raw +3 -0
  31. calibration_data/sample_001/duration_predictor/input_text_mask.shape.json +9 -0
  32. calibration_data/sample_001/duration_predictor/output_duration.raw +3 -0
  33. calibration_data/sample_001/duration_predictor/output_duration.shape.json +7 -0
  34. calibration_data/sample_001/metadata.json +8 -0
  35. calibration_data/sample_001/text_encoder/input_style_ttl.raw +3 -0
  36. calibration_data/sample_001/text_encoder/input_style_ttl.shape.json +9 -0
  37. calibration_data/sample_001/text_encoder/input_text_ids.raw +3 -0
  38. calibration_data/sample_001/text_encoder/input_text_ids.shape.json +8 -0
  39. calibration_data/sample_001/text_encoder/input_text_mask.raw +3 -0
  40. calibration_data/sample_001/text_encoder/input_text_mask.shape.json +9 -0
  41. calibration_data/sample_001/text_encoder/output_text_emb.raw +3 -0
  42. calibration_data/sample_001/text_encoder/output_text_emb.shape.json +9 -0
  43. calibration_data/sample_001/vector_estimator/step_000/input_current_step.raw +3 -0
  44. calibration_data/sample_001/vector_estimator/step_000/input_current_step.shape.json +7 -0
  45. calibration_data/sample_001/vector_estimator/step_000/input_latent_mask.raw +3 -0
  46. calibration_data/sample_001/vector_estimator/step_000/input_latent_mask.shape.json +9 -0
  47. calibration_data/sample_001/vector_estimator/step_000/input_noisy_latent.raw +3 -0
  48. calibration_data/sample_001/vector_estimator/step_000/input_noisy_latent.shape.json +9 -0
  49. calibration_data/sample_001/vector_estimator/step_000/input_style_ttl.raw +3 -0
  50. calibration_data/sample_001/vector_estimator/step_000/input_style_ttl.shape.json +9 -0
.claude/settings.local.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git -C \"d:/Projects/personal/supertonic2-qualcomm-quantized\" remote -v)",
5
+ "Bash(scp:*)",
6
+ "Bash(du -sh:*)",
7
+ "Bash(/dev/null -exec ls -lh {} ;)",
8
+ "Bash(git lfs track:*)",
9
+ "Bash(git add:*)"
10
+ ]
11
+ }
12
+ }
.gitattributes ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ *.onnx filter=lfs diff=lfs merge=lfs -text
2
+ *.bin filter=lfs diff=lfs merge=lfs -text
3
+ *.so filter=lfs diff=lfs merge=lfs -text
4
+ *.raw filter=lfs diff=lfs merge=lfs -text
5
+ *.wav filter=lfs diff=lfs merge=lfs -text
.gitignore ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ __pycache__/
2
+ *.pyc
3
+ *.pyo
4
+ .env
5
+ *.egg-info/
6
+ .venv/
7
+ venv/
HUGGINGFACE_UPLOAD.md ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Files to Upload to HuggingFace
2
+
3
+ This document lists all large files that should be uploaded to HuggingFace model repository.
4
+
5
+ ## Directory Structure for HuggingFace
6
+
7
+ ```
8
+ supertonic2-qcs6490/
9
+ ├── README.md (copy from main repo)
10
+ ├── QNN_Model_lib/
11
+ │ └── aarch64-oe-linux-gcc11.2/
12
+ │ ├── libduration_predictor_htp.so (1.0 MB)
13
+ │ ├── libtext_encoder_htp.so (7.5 MB)
14
+ │ ├── libvector_estimator_htp.so (34 MB)
15
+ │ └── libvocoder_htp.so (25 MB)
16
+ │
17
+ ├── QNN_Models/
18
+ │ ├── duration_predictor_htp.cpp (1.5 MB)
19
+ │ ├── duration_predictor_htp.bin (460 KB)
20
+ │ ├── duration_predictor_htp_net.json (722 KB)
21
+ │ ├── text_encoder_htp.cpp (2.1 MB)
22
+ │ ├── text_encoder_htp.bin (6.7 MB)
23
+ │ ├── text_encoder_htp_net.json (1.1 MB)
24
+ │ ├── vector_estimator_htp.cpp (4.7 MB)
25
+ │ ├── vector_estimator_htp.bin (32 MB)
26
+ │ ├── vector_estimator_htp_net.json (2.3 MB)
27
+ │ ├── vocoder_htp.cpp (1.2 MB)
28
+ │ ├── vocoder_htp.bin (25 MB)
29
+ │ └── vocoder_htp_net.json (581 KB)
30
+ │
31
+ ├── model/ (ONNX models and configs)
32
+ ├── calibration_data/ (10 samples)
33
+ └── samples/ (example outputs)
34
+ ```
35
+
36
+ ## Total Size: ~400 MB
37
+
38
+ ## Upload Using HuggingFace CLI
39
+
40
+ ```bash
41
+ pip install huggingface_hub
42
+ huggingface-cli login
43
+ huggingface-cli repo create supertonic2-qcs6490 --type model
44
+
45
+ # Upload directories
46
+ huggingface-cli upload <username>/supertonic2-qcs6490 QNN_Model_lib
47
+ huggingface-cli upload <username>/supertonic2-qcs6490 QNN_Models
48
+ huggingface-cli upload <username>/supertonic2-qcs6490 model
49
+ huggingface-cli upload <username>/supertonic2-qcs6490 calibration_data
50
+ huggingface-cli upload <username>/supertonic2-qcs6490 board_outputs/samples
51
+ ```
QNN_Model_lib/aarch64-oe-linux-gcc11.2/libduration_predictor_htp.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b6a67f108b8fb487e9b6e50d65b708d3d1d70254fe01e517f4b76fe19974bfff
3
+ size 1043368
QNN_Model_lib/aarch64-oe-linux-gcc11.2/libtext_encoder_htp.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3fed0c8a9d1d1a5d60850a4c4c57b3adbebf6ae99a535cfbfc86733f24ac9d11
3
+ size 7852664
QNN_Model_lib/aarch64-oe-linux-gcc11.2/libvector_estimator_htp.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fecf2c23097d8ee55985cf6e271c8352669f416161566591f42fa385b9fce0c7
3
+ size 34938704
QNN_Model_lib/aarch64-oe-linux-gcc11.2/libvocoder_htp.so ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:02626a5cd900c547785a504656d7901ab280269aa8ee12fb63a23c6a1b78a73d
3
+ size 25839920
QNN_Models/duration_predictor_htp.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:225c9835d8cc3bd4a81aca5d9995b7e81fca6a7fd5c67668683cfc3788c49948
3
+ size 471040
QNN_Models/duration_predictor_htp.cpp ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/duration_predictor_htp_net.json ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/text_encoder_htp.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:224e9771ea52658e2b447daec5a579fc9da5a03520e6a4e37e3acf7624a018d6
3
+ size 7024640
QNN_Models/text_encoder_htp.cpp ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/text_encoder_htp_net.json ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/vector_estimator_htp.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8ad4f4c5fbb42ca0cb744911f6c2da4c66209ea86e5b9434403a06284e2b87a9
3
+ size 32993280
QNN_Models/vector_estimator_htp.cpp ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/vector_estimator_htp_net.json ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/vocoder_htp.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d9fa5dc1598affedb87e2a2b404c8800299394ef8ee2b3ca18980a9afde4c924
3
+ size 25395200
QNN_Models/vocoder_htp.cpp ADDED
The diff for this file is too large to render. See raw diff
 
QNN_Models/vocoder_htp_net.json ADDED
The diff for this file is too large to render. See raw diff
 
README.md ADDED
@@ -0,0 +1,229 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Supertonic-2 ONNX Inference
2
+
3
+ High-quality Text-to-Speech synthesis using Supertonic-2 ONNX models.
4
+
5
+ ## Quick Start
6
+
7
+ ```bash
8
+ # Basic usage
9
+ python supertonic_inference.py --text "Hello world" --voice M1 -o output.wav
10
+
11
+ # With specific seed for reproducibility
12
+ python supertonic_inference.py \
13
+ --text "Your text here" \
14
+ --voice F1 \
15
+ --seed 42 \
16
+ --output output.wav
17
+ ```
18
+
19
+ ## Features
20
+
21
+ - ✅ **High Quality**: Matches official Supertonic library behavior
22
+ - ✅ **Reproducible**: Use `--seed` for consistent outputs
23
+ - ✅ **Multilingual**: Supports 5 languages (EN, KO, ES, PT, FR)
24
+ - ✅ **Multiple Voices**: 10 voice styles (5 female, 5 male)
25
+ - ✅ **Customizable**: Adjust quality, speed, and more
26
+
27
+ ## QCS6490 Deployment
28
+
29
+ This repository includes complete resources for porting to **Qualcomm QCS6490** (Hexagon HTP V68):
30
+
31
+ - **[QCS6490 Porting Guide](QCS6490_PORTING_GUIDE.md)** - Step-by-step deployment guide
32
+ - **[Architecture Deep Dive](supertonic_architecture.md)** - Complete model architecture documentation
33
+ - **[Calibration Data Guide](CALIBRATION_DATA.md)** - Quantization and validation workflow
34
+
35
+ ### Generate Calibration Data
36
+
37
+ ```bash
38
+ # Generate 10 calibration samples for quantization and accuracy validation
39
+ python generate_calibration_data.py
40
+
41
+ # Validate QNN model accuracy against ONNX reference
42
+ python validate_qnn_accuracy.py \
43
+ --calibration-dir calibration_data \
44
+ --qnn-dir qnn_outputs \
45
+ --report accuracy_report.json
46
+ ```
47
+
48
+ **Expected Performance on QCS6490:**
49
+ - 100-150× real-time inference speed
50
+ - ~75ms latency for 2-second audio (5 diffusion steps)
51
+ - ~70-100 MB total model size (after INT8/FP16 quantization)
52
+
53
+ ## Requirements
54
+
55
+ ```bash
56
+ pip install numpy onnxruntime
57
+ ```
58
+
59
+ ## Model Files
60
+
61
+ Required directory structure:
62
+ ```
63
+ model/
64
+ ├── onnx/
65
+ │ ├── text_encoder.onnx
66
+ │ ├── duration_predictor.onnx
67
+ │ ├── vector_estimator.onnx
68
+ │ ├── vocoder.onnx
69
+ │ ├── tts.json
70
+ │ └── unicode_indexer.json
71
+ └── voice_styles/
72
+ ├── F1.json ... F5.json (Female voices)
73
+ └── M1.json ... M5.json (Male voices)
74
+ ```
75
+
76
+ ## Command Line Options
77
+
78
+ | Option | Description | Default |
79
+ |--------|-------------|---------|
80
+ | `--text`, `-t` | Text to synthesize | **Required** |
81
+ | `--voice`, `-v` | Voice style (F1-F5, M1-M5) | M1 |
82
+ | `--lang`, `-l` | Language (en, ko, es, pt, fr) | en |
83
+ | `--output`, `-o` | Output WAV file path | output/output.wav |
84
+ | `--steps` | Diffusion steps (more = better) | 10 |
85
+ | `--speed` | Speech speed multiplier | 1.0 |
86
+ | `--seed` | Random seed (for reproducibility) | None |
87
+ | `--quiet`, `-q` | Suppress progress messages | False |
88
+
89
+ ## Examples
90
+
91
+ ### Basic Synthesis
92
+ ```bash
93
+ python supertonic_inference.py \
94
+ --text "The weather is nice today." \
95
+ --voice F1 \
96
+ --output weather.wav
97
+ ```
98
+
99
+ ### High Quality with Reproducible Output
100
+ ```bash
101
+ python supertonic_inference.py \
102
+ --text "Important announcement." \
103
+ --voice M1 \
104
+ --steps 20 \
105
+ --seed 42 \
106
+ --output announcement.wav
107
+ ```
108
+
109
+ ### Faster Speech
110
+ ```bash
111
+ python supertonic_inference.py \
112
+ --text "Quick update message." \
113
+ --voice F2 \
114
+ --speed 1.2 \
115
+ --output quick.wav
116
+ ```
117
+
118
+ ### Spanish Language
119
+ ```bash
120
+ python supertonic_inference.py \
121
+ --text "Hola mundo" \
122
+ --lang es \
123
+ --voice M3 \
124
+ --output spanish.wav
125
+ ```
126
+
127
+ ## Voice Styles
128
+
129
+ | Code | Type | Description |
130
+ |------|------|-------------|
131
+ | F1-F5 | Female | 5 distinct female voices |
132
+ | M1-M5 | Male | 5 distinct male voices |
133
+
134
+ ## Supported Languages
135
+
136
+ - `en` - English
137
+ - `ko` - Korean
138
+ - `es` - Spanish
139
+ - `pt` - Portuguese
140
+ - `fr` - French
141
+
142
+ ## Python API
143
+
144
+ ```python
145
+ from supertonic_inference import SupertonicTTS, save_wav
146
+
147
+ # Initialize
148
+ tts = SupertonicTTS(model_dir="model/onnx")
149
+
150
+ # Synthesize
151
+ waveform, duration = tts.synthesize(
152
+ text="Hello world",
153
+ voice_name="M1",
154
+ lang="en",
155
+ diffusion_steps=10,
156
+ speed=1.0,
157
+ seed=42
158
+ )
159
+
160
+ # Save
161
+ save_wav("output.wav", waveform, tts.sample_rate)
162
+ ```
163
+
164
+ ## Performance
165
+
166
+ - **Speed**: ~25× faster than real-time on CPU
167
+ - **Quality**: Matches official Supertonic library
168
+ - **Sample Rate**: 44.1 kHz
169
+ - **Variance**: ~5% duration variance due to diffusion randomness
170
+
171
+ ## Parameters Guide
172
+
173
+ ### Diffusion Steps
174
+ - **5-10 steps**: Fast, good quality (default: 10)
175
+ - **15-20 steps**: Higher quality, slower
176
+ - **Trade-off**: Each step improves quality but increases compute time
177
+
178
+ ### Speed
179
+ - **0.8-1.0**: Slower, more natural
180
+ - **1.0**: Normal speed (default)
181
+ - **1.1-1.5**: Faster, still intelligible
182
+
183
+ ### Seed
184
+ - **None**: Different output each run (random)
185
+ - **Integer**: Reproducible output with same seed
186
+ - **Use case**: Testing, demos, consistent results
187
+
188
+ ## Project Structure
189
+
190
+ ```
191
+ supertonic2-qualcomm/
192
+ ├── supertonic_inference.py # Main inference script
193
+ ├── README.md # This file
194
+ ├── model/
195
+ │ ├── onnx/ # ONNX models
196
+ │ └── voice_styles/ # Voice embeddings
197
+ ├── inputs/ # Test inputs
198
+ └── output/ # Generated audio
199
+ ```
200
+
201
+ ## Notes
202
+
203
+ - Text is automatically preprocessed (normalization, punctuation)
204
+ - Periods are added automatically if missing
205
+ - Unicode characters are handled transparently
206
+ - Emoji are automatically removed
207
+
208
+ ## Troubleshooting
209
+
210
+ **No output generated:**
211
+ - Check that all model files exist in `model/onnx/`
212
+ - Ensure voice style file exists in `model/voice_styles/`
213
+
214
+ **Poor quality output:**
215
+ - Increase `--steps` to 15-20
216
+ - Try different voice styles
217
+ - Check that input text is properly formatted
218
+
219
+ **Different outputs each run:**
220
+ - Use `--seed` parameter for reproducibility
221
+ - Same seed = same output
222
+
223
+ ## License
224
+
225
+ This implementation uses models from [Supertone/supertonic-2](https://huggingface.co/Supertone/supertonic-2).
226
+
227
+ ## Reference
228
+
229
+ Official repository: https://github.com/supertone-inc/supertonic
Step1_Supertonic2_QNN_Porting.ipynb ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "markdown",
5
+ "metadata": {},
6
+ "source": [
7
+ "# Supertonic-2 QNN Porting Guide\n",
8
+ "\n",
9
+ "This notebook walks through the complete process of porting **Supertone/supertonic-2** TTS model to Qualcomm QNN for deployment on QCS6490.\n",
10
+ "\n",
11
+ "**Model**: [Supertone/supertonic-2](https://huggingface.co/Supertone/supertonic-2) (66M params, ONNX)\n",
12
+ "\n",
13
+ "## Pipeline Architecture\n",
14
+ "\n",
15
+ "```\n",
16
+ "Text Input → [Duration Predictor] → duration\n",
17
+ " → [Text Encoder] → text_emb \n",
18
+ " → [Vector Estimator x N steps] → denoised_latent\n",
19
+ " → [Vocoder] → Audio WAV (44.1kHz)\n",
20
+ "```\n",
21
+ "\n",
22
+ "## Model Specifications (Actual ONNX Shapes)\n",
23
+ "\n",
24
+ "| Model | Size | Key Inputs | Output |\n",
25
+ "|-------|------|------------|--------|\n",
26
+ "| Duration Predictor | 1.5 MB | text_ids [1,seq], style_dp [1,8,16], text_mask [1,1,seq] | duration [1] |\n",
27
+ "| Text Encoder | 27 MB | text_ids [1,seq], style_ttl [1,50,256], text_mask [1,1,seq] | text_emb [1,256,seq] |\n",
28
+ "| Vector Estimator | 132 MB | noisy_latent [1,144,lat], text_emb [1,256,seq], +5 more | denoised_latent [1,144,lat] |\n",
29
+ "| Vocoder | 101 MB | latent [1,144,lat] | wav_tts [1,samples] |\n",
30
+ "\n",
31
+ "Note: `seq` = text sequence length (dynamic), `lat` = latent length (dynamic)"
32
+ ]
33
+ },
34
+ {
35
+ "cell_type": "markdown",
36
+ "metadata": {},
37
+ "source": [
38
+ "## Step 0: Environment Setup"
39
+ ]
40
+ },
41
+ {
42
+ "cell_type": "code",
43
+ "execution_count": 9,
44
+ "metadata": {},
45
+ "outputs": [],
46
+ "source": [
47
+ "import os\n",
48
+ "import json\n",
49
+ "import numpy as np\n",
50
+ "import onnxruntime as ort"
51
+ ]
52
+ },
53
+ {
54
+ "cell_type": "markdown",
55
+ "metadata": {},
56
+ "source": [
57
+ "## Step 1: Generate Calibration Data\n",
58
+ "\n",
59
+ "Run the ONNX models with representative inputs to create calibration data for QNN quantization."
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "code",
64
+ "execution_count": 1,
65
+ "metadata": {},
66
+ "outputs": [
67
+ {
68
+ "name": "stdout",
69
+ "output_type": "stream",
70
+ "text": [
71
+ "[INFO] QAIRT_SDK_ROOT=/opt/qcom/aistack/qairt/2.37.1.250807\n",
72
+ "[WARN] QNN_SDK_ROOT/SNPE_ROOT set to QAIRT_SDK_ROOT for backwards compatibility and will be deprecated in a future release.\n",
73
+ "[INFO] QAIRT SDK environment setup complete\n"
74
+ ]
75
+ }
76
+ ],
77
+ "source": [
78
+ "%%bash\n",
79
+ "unset PYTHONPATH\n",
80
+ "unset LD_LIBRARY_PATH\n",
81
+ "source /opt/qcom/aistack/qairt/2.37.1.250807/bin/envsetup.sh"
82
+ ]
83
+ },
84
+ {
85
+ "cell_type": "markdown",
86
+ "metadata": {},
87
+ "source": [
88
+ "## Step 2: ONNX → QNN Conversion\n",
89
+ "\n",
90
+ "Convert each ONNX model to QNN format with HTP (Hexagon Tensor Processor) optimization and 8-bit quantization."
91
+ ]
92
+ },
93
+ {
94
+ "cell_type": "code",
95
+ "execution_count": null,
96
+ "metadata": {},
97
+ "outputs": [],
98
+ "source": [
99
+ "%%bash\n",
100
+ "# Convert Duration Predictor\n",
101
+ "unset PYTHONPATH\n",
102
+ "unset LD_LIBRARY_PATH\n",
103
+ "source /opt/qcom/aistack/qairt/2.37.1.250807/bin/envsetup.sh\n",
104
+ "\n",
105
+ "qnn-onnx-converter \\\n",
106
+ " --input_network ./model/onnx/duration_predictor.onnx \\\n",
107
+ " --input_dim text_ids 1,128 \\\n",
108
+ " --input_dim style_dp 1,8,16 \\\n",
109
+ " --input_dim text_mask 1,1,128 \\\n",
110
+ " --output_path ./QNN_Models/duration_predictor_htp.cpp \\\n",
111
+ " --input_list ./calibration_data/duration_predictor_input_list.txt \\\n",
112
+ " --param_quantizer tf \\\n",
113
+ " --act_quantizer tf \\\n",
114
+ " --weights_bitwidth 8 \\\n",
115
+ " --act_bitwidth 16 "
116
+ ]
117
+ },
118
+ {
119
+ "cell_type": "code",
120
+ "execution_count": null,
121
+ "metadata": {},
122
+ "outputs": [],
123
+ "source": [
124
+ "%%bash\n",
125
+ "# Compile all 4 models for aarch64 target\n",
126
+ "unset LD_LIBRARY_PATH\n",
127
+ "source /opt/qcom-sdk/environment-setup-armv8-2a-qcom-linux\n",
128
+ "source /opt/qcom/aistack/qairt/2.37.1.250807/bin/envsetup.sh\n",
129
+ "\n",
130
+ "MODELS=(\"duration_predictor_htp\" \"text_encoder_htp\" \"vector_estimator_htp\" \"vocoder_htp\")\n",
131
+ "\n",
132
+ "for MODEL in \"${MODELS[@]}\"; do\n",
133
+ " echo \"=== Compiling $MODEL ===\"\n",
134
+ " qnn-model-lib-generator \\\n",
135
+ " -c ./QNN_Models/${MODEL}.cpp \\\n",
136
+ " -b ./QNN_Models/${MODEL}.bin \\\n",
137
+ " -o ./QNN_Model_lib/ \\\n",
138
+ " -t aarch64-oe-linux-gcc11.2\n",
139
+ "done\n",
140
+ "\n",
141
+ "echo \"=== All models compiled ===\"\n",
142
+ "ls -lh QNN_Model_lib/aarch64-oe-linux-gcc11.2/*.so"
143
+ ]
144
+ },
145
+ {
146
+ "cell_type": "markdown",
147
+ "metadata": {},
148
+ "source": [
149
+ "## Key Configuration Notes\n",
150
+ "\n",
151
+ "**Quantization Settings:**\n",
152
+ "- Weights: 8-bit (w8)\n",
153
+ "- Activations: 8-bit (a8)\n",
154
+ "- Float operations: 32-bit\n",
155
+ "- Quantizers: TensorFlow (tf) for both params and activations\n",
156
+ "\n",
157
+ "**Critical Requirement:**\n",
158
+ "- QNN automatically converts INT64 inputs to INT32\n",
159
+ "- All `text_ids` inputs in calibration data must be INT32 (not INT64)\n",
160
+ "- Other inputs (FP32) remain unchanged\n",
161
+ "\n",
162
+ "**Fixed Input Dimensions:**\n",
163
+ "- text_ids: [1, 128]\n",
164
+ "- style_dp: [1, 8, 16]\n",
165
+ "- style_ttl: [1, 50, 256]\n",
166
+ "- noisy_latent: [1, 144, 192]\n",
167
+ "- latent: [1, 144, 192]\n",
168
+ "\n",
169
+ "## Step 3: Compile to Shared Libraries\n",
170
+ "\n",
171
+ "Compile all QNN models into `.so` shared libraries for ARM64 deployment."
172
+ ]
173
+ },
174
+ {
175
+ "cell_type": "code",
176
+ "execution_count": null,
177
+ "metadata": {},
178
+ "outputs": [],
179
+ "source": [
180
+ "%%bash\n",
181
+ "# Convert Vector Estimator\n",
182
+ "unset PYTHONPATH\n",
183
+ "unset LD_LIBRARY_PATH\n",
184
+ "source /opt/qcom/aistack/qairt/2.37.1.250807/bin/envsetup.sh\n",
185
+ "\n",
186
+ "qnn-onnx-converter \\\n",
187
+ " --input_network ./model/onnx/vector_estimator.onnx \\\n",
188
+ " --input_dim noisy_latent 1,144,192 \\\n",
189
+ " --input_dim text_emb 1,256,128 \\\n",
190
+ " --input_dim style_ttl 1,50,256 \\\n",
191
+ " --input_dim latent_mask 1,1,192 \\\n",
192
+ " --input_dim text_mask 1,1,128 \\\n",
193
+ " --input_dim current_step 1 \\\n",
194
+ " --input_dim total_step 1 \\\n",
195
+ " --output_path ./QNN_Models/vector_estimator_htp.cpp \\\n",
196
+ " --input_list ./calibration_data/vector_estimator_input_list.txt \\\n",
197
+ " --param_quantizer tf \\\n",
198
+ " --act_quantizer tf \\\n",
199
+ " --weights_bitwidth 8 \\\n",
200
+ " --act_bitwidth 8 \\\n",
201
+ " --float_bitwidth 32"
202
+ ]
203
+ },
204
+ {
205
+ "cell_type": "code",
206
+ "execution_count": null,
207
+ "metadata": {},
208
+ "outputs": [],
209
+ "source": [
210
+ "%%bash\n",
211
+ "# Convert Text Encoder\n",
212
+ "unset PYTHONPATH\n",
213
+ "unset LD_LIBRARY_PATH\n",
214
+ "source /opt/qcom/aistack/qairt/2.37.1.250807/bin/envsetup.sh\n",
215
+ "\n",
216
+ "qnn-onnx-converter \\\n",
217
+ " --input_network ./model/onnx/text_encoder.onnx \\\n",
218
+ " --input_dim text_ids 1,128 \\\n",
219
+ " --input_dim style_ttl 1,50,256 \\\n",
220
+ " --input_dim text_mask 1,1,128 \\\n",
221
+ " --output_path ./QNN_Models/text_encoder_htp.cpp \\\n",
222
+ " --input_list ./calibration_data/text_encoder_input_list.txt \\\n",
223
+ " --param_quantizer tf \\\n",
224
+ " --act_quantizer tf \\\n",
225
+ " --weights_bitwidth 8 \\\n",
226
+ " --act_bitwidth 8 \\\n",
227
+ " --float_bitwidth 32"
228
+ ]
229
+ },
230
+ {
231
+ "cell_type": "code",
232
+ "execution_count": 8,
233
+ "metadata": {},
234
+ "outputs": [
235
+ {
236
+ "name": "stdout",
237
+ "output_type": "stream",
238
+ "text": [
239
+ "SDK environment now set up; additionally you may now run devtool to perform development tasks.\n",
240
+ "Run devtool --help for further details.\n",
241
+ "[INFO] QAIRT_SDK_ROOT=/opt/qcom/aistack/qairt/2.37.1.250807\n",
242
+ "[WARN] QNN_SDK_ROOT/SNPE_ROOT set to QAIRT_SDK_ROOT for backwards compatibility and will be deprecated in a future release.\n",
243
+ "[INFO] QAIRT SDK environment setup complete\n",
244
+ "2026-02-15 23:04:47,744 - INFO - qnn-model-lib-generator: Model cpp file path : QNN_Models/duration_predictor_htp.cpp\n",
245
+ "2026-02-15 23:04:47,744 - INFO - qnn-model-lib-generator: Model bin file path : QNN_Models/duration_predictor_htp.bin\n",
246
+ "2026-02-15 23:04:47,744 - INFO - qnn-model-lib-generator: Library target : [['aarch64-oe-linux-gcc11.2']]\n",
247
+ "2026-02-15 23:04:47,744 - INFO - qnn-model-lib-generator: Library name : duration_predictor_htp\n",
248
+ "2026-02-15 23:04:47,744 - INFO - qnn-model-lib-generator: Output directory : QNN_Model_lib\n",
249
+ "2026-02-15 23:04:47,744 - INFO - qnn-model-lib-generator: Output library name : duration_predictor_htp\n",
250
+ "2026-02-15 23:04:58,370 - INFO - qnn-model-lib-generator: Target: aarch64-oe-linux-gcc11.2\tLibrary: /mnt/nunnari3/devansh/supertonic2-qualcomm/QNN_Model_lib/aarch64-oe-linux-gcc11.2/libduration_predictor_htp.so\n"
251
+ ]
252
+ }
253
+ ],
254
+ "source": [
255
+ "%%bash\n",
256
+ "unset LD_LIBRARY_PATH\n",
257
+ "source /home/advantech/qcom-wayland_sdk/environment-setup-armv8-2a-qcom-linux\n",
258
+ "source /opt/qcom/aistack/qairt/2.37.1.250807/bin/envsetup.sh\n",
259
+ "\n",
260
+ "qnn-model-lib-generator \\\n",
261
+ " -c ./QNN_Models/duration_predictor_htp.cpp \\\n",
262
+ " -b ./QNN_Models/duration_predictor_htp.bin \\\n",
263
+ " -o ./QNN_Model_lib/ \\\n",
264
+ " -t aarch64-oe-linux-gcc11.2"
265
+ ]
266
+ }
267
+ ],
268
+ "metadata": {
269
+ "kernelspec": {
270
+ "display_name": "Python 3",
271
+ "language": "python",
272
+ "name": "python3"
273
+ },
274
+ "language_info": {
275
+ "codemirror_mode": {
276
+ "name": "ipython",
277
+ "version": 3
278
+ },
279
+ "file_extension": ".py",
280
+ "mimetype": "text/x-python",
281
+ "name": "python",
282
+ "nbconvert_exporter": "python",
283
+ "pygments_lexer": "ipython3",
284
+ "version": "3.10.12"
285
+ }
286
+ },
287
+ "nbformat": 4,
288
+ "nbformat_minor": 4
289
+ }
board_outputs/samples/final_reference_output.wav ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0da80426dd249ac18147756a29f4f2833083ceecff09a59cfdab17679306eb09
3
+ size 1179692
calibration_data/calibration_summary.json ADDED
@@ -0,0 +1,102 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "num_samples": 10,
3
+ "samples": [
4
+ {
5
+ "sample_id": "sample_001",
6
+ "text": "Hello world, this is a test.",
7
+ "voice": "F1",
8
+ "lang": "en",
9
+ "category": "short",
10
+ "diffusion_steps": 10,
11
+ "seed": 42
12
+ },
13
+ {
14
+ "sample_id": "sample_002",
15
+ "text": "Good morning everyone.",
16
+ "voice": "F1",
17
+ "lang": "en",
18
+ "category": "short",
19
+ "diffusion_steps": 10,
20
+ "seed": 100
21
+ },
22
+ {
23
+ "sample_id": "sample_003",
24
+ "text": "The weather is nice today.",
25
+ "voice": "F1",
26
+ "lang": "en",
27
+ "category": "short",
28
+ "diffusion_steps": 10,
29
+ "seed": 150
30
+ },
31
+ {
32
+ "sample_id": "sample_004",
33
+ "text": "The quick brown fox jumps over the lazy dog. This sentence contains every letter of the alphabet.",
34
+ "voice": "F1",
35
+ "lang": "en",
36
+ "category": "medium",
37
+ "diffusion_steps": 10,
38
+ "seed": 200
39
+ },
40
+ {
41
+ "sample_id": "sample_005",
42
+ "text": "Machine learning models require careful calibration to ensure accuracy on edge devices.",
43
+ "voice": "F1",
44
+ "lang": "en",
45
+ "category": "medium",
46
+ "diffusion_steps": 10,
47
+ "seed": 300
48
+ },
49
+ {
50
+ "sample_id": "sample_006",
51
+ "text": "Text to speech synthesis has improved dramatically with the advent of neural networks and deep learning.",
52
+ "voice": "F1",
53
+ "lang": "en",
54
+ "category": "medium",
55
+ "diffusion_steps": 10,
56
+ "seed": 350
57
+ },
58
+ {
59
+ "sample_id": "sample_007",
60
+ "text": "Artificial intelligence has revolutionized many aspects of our daily lives, from smartphone assistants to recommendation systems. The deployment of neural networks on edge devices requires careful optimization, including quantization and calibration, to maintain accuracy while meeting strict latency and power constraints.",
61
+ "voice": "F1",
62
+ "lang": "en",
63
+ "category": "long",
64
+ "diffusion_steps": 10,
65
+ "seed": 400
66
+ },
67
+ {
68
+ "sample_id": "sample_008",
69
+ "text": "Qualcomm's Hexagon processor provides dedicated hardware acceleration for neural network inference. By leveraging the tensor processing units and optimized kernels, developers can achieve real-time performance for complex models like text-to-speech systems on mobile and edge devices.",
70
+ "voice": "F1",
71
+ "lang": "en",
72
+ "category": "long",
73
+ "diffusion_steps": 10,
74
+ "seed": 450
75
+ },
76
+ {
77
+ "sample_id": "sample_009",
78
+ "text": "Numbers: 1, 2, 3, 4, 5. Dates: January 1st, 2024. Time: 3:45 PM.",
79
+ "voice": "F1",
80
+ "lang": "en",
81
+ "category": "numbers",
82
+ "diffusion_steps": 10,
83
+ "seed": 500
84
+ },
85
+ {
86
+ "sample_id": "sample_010",
87
+ "text": "Dr. Smith's presentation at 9:00 AM covered topics including: AI, ML, NLP, and TTS. The conference runs from Mon. to Fri.",
88
+ "voice": "F1",
89
+ "lang": "en",
90
+ "category": "abbreviations",
91
+ "diffusion_steps": 10,
92
+ "seed": 600
93
+ }
94
+ ],
95
+ "model_info": {
96
+ "sample_rate": 44100,
97
+ "base_chunk_size": 512,
98
+ "chunk_compress_factor": 6,
99
+ "latent_dim": 24,
100
+ "effective_chunk_size": 3072
101
+ }
102
+ }
calibration_data/duration_predictor_input_list.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ calibration_data/sample_001/duration_predictor/input_text_ids.raw calibration_data/sample_001/duration_predictor/input_style_dp.raw calibration_data/sample_001/duration_predictor/input_text_mask.raw
2
+ calibration_data/sample_002/duration_predictor/input_text_ids.raw calibration_data/sample_002/duration_predictor/input_style_dp.raw calibration_data/sample_002/duration_predictor/input_text_mask.raw
3
+ calibration_data/sample_003/duration_predictor/input_text_ids.raw calibration_data/sample_003/duration_predictor/input_style_dp.raw calibration_data/sample_003/duration_predictor/input_text_mask.raw
4
+ calibration_data/sample_004/duration_predictor/input_text_ids.raw calibration_data/sample_004/duration_predictor/input_style_dp.raw calibration_data/sample_004/duration_predictor/input_text_mask.raw
5
+ calibration_data/sample_005/duration_predictor/input_text_ids.raw calibration_data/sample_005/duration_predictor/input_style_dp.raw calibration_data/sample_005/duration_predictor/input_text_mask.raw
6
+ calibration_data/sample_006/duration_predictor/input_text_ids.raw calibration_data/sample_006/duration_predictor/input_style_dp.raw calibration_data/sample_006/duration_predictor/input_text_mask.raw
7
+ calibration_data/sample_007/duration_predictor/input_text_ids.raw calibration_data/sample_007/duration_predictor/input_style_dp.raw calibration_data/sample_007/duration_predictor/input_text_mask.raw
8
+ calibration_data/sample_008/duration_predictor/input_text_ids.raw calibration_data/sample_008/duration_predictor/input_style_dp.raw calibration_data/sample_008/duration_predictor/input_text_mask.raw
9
+ calibration_data/sample_009/duration_predictor/input_text_ids.raw calibration_data/sample_009/duration_predictor/input_style_dp.raw calibration_data/sample_009/duration_predictor/input_text_mask.raw
10
+ calibration_data/sample_010/duration_predictor/input_text_ids.raw calibration_data/sample_010/duration_predictor/input_style_dp.raw calibration_data/sample_010/duration_predictor/input_text_mask.raw
calibration_data/sample_001/duration_predictor/input_style_dp.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:29e4e81fc88383a584874cb7a228697eaf6447d0b043415dcd1fd34427e7bdec
3
+ size 512
calibration_data/sample_001/duration_predictor/input_style_dp.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 8,
5
+ 16
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 512
9
+ }
calibration_data/sample_001/duration_predictor/input_text_ids.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb44d944e1589f9fe1361fe633dd9af6c708c1a2b4a7b49835dc6465ab446d4c
3
+ size 512
calibration_data/sample_001/duration_predictor/input_text_ids.shape.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 128
5
+ ],
6
+ "dtype": "int64",
7
+ "size_bytes": 1024
8
+ }
calibration_data/sample_001/duration_predictor/input_text_mask.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1d4e653f366878929e48d8bdef353484ad32ddfe6afe9114e410d648065fd641
3
+ size 512
calibration_data/sample_001/duration_predictor/input_text_mask.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 1,
5
+ 128
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 512
9
+ }
calibration_data/sample_001/duration_predictor/output_duration.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:81a63a40052325815b9f6a1aa660dde1ecb7f4c1b700912e38a88c40a39fbe7c
3
+ size 4
calibration_data/sample_001/duration_predictor/output_duration.shape.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1
4
+ ],
5
+ "dtype": "float32",
6
+ "size_bytes": 4
7
+ }
calibration_data/sample_001/metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "text": "Hello world, this is a test.",
3
+ "voice": "F1",
4
+ "lang": "en",
5
+ "steps": 10,
6
+ "seed": 42,
7
+ "category": "short"
8
+ }
calibration_data/sample_001/text_encoder/input_style_ttl.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba4cccfeb373f92b7124290fdf35136085c0e4c91fe4b8c6d0010d360af25249
3
+ size 51200
calibration_data/sample_001/text_encoder/input_style_ttl.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 50,
5
+ 256
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 51200
9
+ }
calibration_data/sample_001/text_encoder/input_text_ids.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fb44d944e1589f9fe1361fe633dd9af6c708c1a2b4a7b49835dc6465ab446d4c
3
+ size 512
calibration_data/sample_001/text_encoder/input_text_ids.shape.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 128
5
+ ],
6
+ "dtype": "int64",
7
+ "size_bytes": 1024
8
+ }
calibration_data/sample_001/text_encoder/input_text_mask.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1d4e653f366878929e48d8bdef353484ad32ddfe6afe9114e410d648065fd641
3
+ size 512
calibration_data/sample_001/text_encoder/input_text_mask.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 1,
5
+ 128
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 512
9
+ }
calibration_data/sample_001/text_encoder/output_text_emb.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c2f1502e1f35030bb38ae46be3ffa9b0583832d109c84f461c45398fbf93113e
3
+ size 131072
calibration_data/sample_001/text_encoder/output_text_emb.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 256,
5
+ 128
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 131072
9
+ }
calibration_data/sample_001/vector_estimator/step_000/input_current_step.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:df3f619804a92fdb4057192dc43dd748ea778adc52bc498ce80524c014b81119
3
+ size 4
calibration_data/sample_001/vector_estimator/step_000/input_current_step.shape.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1
4
+ ],
5
+ "dtype": "float32",
6
+ "size_bytes": 4
7
+ }
calibration_data/sample_001/vector_estimator/step_000/input_latent_mask.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2819331d90a416c644b161b28b30415dace23b2184f56659f2dec82c014e16ab
3
+ size 768
calibration_data/sample_001/vector_estimator/step_000/input_latent_mask.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 1,
5
+ 192
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 768
9
+ }
calibration_data/sample_001/vector_estimator/step_000/input_noisy_latent.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2cf56269c3d938b6ceef88966e93251ea2fd8f31cf1b80f9afae21e774561b2a
3
+ size 110592
calibration_data/sample_001/vector_estimator/step_000/input_noisy_latent.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 144,
5
+ 192
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 110592
9
+ }
calibration_data/sample_001/vector_estimator/step_000/input_style_ttl.raw ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba4cccfeb373f92b7124290fdf35136085c0e4c91fe4b8c6d0010d360af25249
3
+ size 51200
calibration_data/sample_001/vector_estimator/step_000/input_style_ttl.shape.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "shape": [
3
+ 1,
4
+ 50,
5
+ 256
6
+ ],
7
+ "dtype": "float32",
8
+ "size_bytes": 51200
9
+ }