CM588+RK182X组合布署Qwen3-TTS文字转语音模型Part1

一:模型介绍

Qwen3-TTS是阿里云通义千问团队开发的旗舰语音合成模型,支持多音色、多语种和多方言,目前可通过Qwen API访问。主要改进包括:更加丰富的音色支持,多语种多方言能力持续增强,以及韵律/语速更加自然、更拟人化。 [1]模型支持包括中文、英文在内的10种主流语言及多种方言。 [2] [8]2026年1月22日,Qwen3-TTS多码本全系列模型已开源

二:代码架构分析

        2-1): 整体架构

 Qwen3-TTS 原始 PyTorch 模型被拆成 5 个可独立部署的子模块,外加静态 embedding 表:

图片

设计思路:Talker 是 1.7B 级 LLM,走 RKNN3 LLM 接口(KV cache、异步推理);text_projector / speech_decoder 是小网络,走普通 RKNN;embedding 表直接 mmap 加载,避免重复计算。

        2-2): 目录结构

图片

        3-3):Python 导出

            3-3-1): 基础配置

源模型:CKPT/Qwen3-TTS-12Hz-1.7B-Base流程:PyTorch → ONNX → RKNN(rknn3-toolkit)目标平台:默认 rk1828量化:talker 用 GRQ + 校准集;code_predictor 量化无 dataset;text_projector / speech_decoder 默认不量化

            3-3-1): 各模块详情

                    embeds — export_embeds.py

图片

            text_projector — export_text_projector_onnx.py

子模块:model.talker.text_projection(ResizeMLP)输入:text_embed [1, 512, text_hidden_size]输出:text_projection [1, 512, 2048]RKNN:w4a16,do_quantization=False

         talker — export_talker_onnx.py

放在Part2了。

        code_predictor — export_code_predictor_onnx.py

放在Part2了

        speech_decoder — export_speech_decoder_onnx.py

放在Part2了

            特殊脚本 — export_speaker_embed_hpp.py

放在Part2了

3-4):C++ 板端运行时

(放在Part2了)

三:模型导出

    2-1):导出基础 Embeds

放在Part2了

四:转换结果

        4-1):听听

--------------Max new token reached-------------talker_output_callback: state = 3talker_output_callback: 处理 Tensor [0], Index = 0, Name = logits, Shape = [1, 1, 3072]talker_output_callback: 处理 Tensor [1], Index = 1, Name = past_hidden, Shape = [1, 1, 2048]
--------------------TALKER 123 New Tokens--------------------2150 
--------------------Finished-------------------- decoded chunk samples=42240, total_samples=232575saved wav to ./output/output.wav  #保存在板子端目录playing wav: ./output/output.wav  #直接在主板端播放出来

更多推荐