- 2025年2月17日: 👋 发布推理代码和模型权重,其中包含Step-Audio-Chat, Step-Audio-TTS-3B 和 Step-Audio-Tokenizer。
- 2025年2月17日: 👋 发布多轮音频交互基准测试StepEval-Audio-360。
- 2025年2月17日: 👋 发布了技术报告Step-Audio-Report。
Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤),方言(如 粤语,四川话),可控制语速及韵律风格,支持RAP和哼唱等。其核心技术突破体现在以下四大技术亮点:
-
1300亿多模态模型: 单模型能实现理解生成一体化完成语音识别、语义理解、对话、语音克隆、语音生成等功能,开源千亿参数多模态模型 Step-Audio-Chat。
-
高效数据生成链路: 基于130B 突破传统 TTS 对人工采集数据的依赖,生成高质量的合成音频数据,并同步开源首个基于大规模合成数据训练,支持 RAP 和哼唱的指令加强版语音合成模型 Step-Audio-TTS-3B 。
-
精细语音控制: 支持多种情绪(如生气,高兴,悲伤)、方言(包括粤语、四川话等)和唱歌(包括 RAP、干声哼唱)的精准调控,满足用户对多样化语音生成的需求。
-
扩展工具调用: 通过 ToolCall 机制和角色扮演增强,进一步提升其在 Agents 和复杂任务中的表现。
在Step-Audio系统中,音频流采用Linguistic tokenizer(码率16.7Hz,码本大小1024)与Semantice tokenizer(码率25Hz,码本大小4096)并行的双码本编码器方案,双码本在排列上使用了2:3时序交错策略。通过音频语境化持续预训练和任务定向微调强化了130B参数量的基础模型(Step-1),最终构建了强大的跨模态语音理解能力。为了实现实时音频生成,系统采用了混合语音解码器,结合流匹配(flow matching)与神经声码技术。
我们通过token级交错方法实现Linguistic token与Semantic token的有效整合。Linguistic tokenizer的码本大小是1024,码率16.7Hz;而Semantic tokenizer则使用4096的大容量码本来捕捉更精细的声学细节,码率25Hz。鉴于两者的码率差异,我们建立了2:3的时间对齐比例——每两个Linguistic token对应三个Linguistic token形成时序配对。
为了提升Step-Audio有效处理语音信息的能力,并实现精准的语音-文本对齐,我们在Step-1(一个拥有1300亿参数的基于文本的大型语言模型LLM)的基础上进行了音频持续预训练。
Step-Audio语音解码器主要是将包含语义和声学信息的离散标记信息转换成连续的语音信号。该解码器架构结合了一个30亿参数的语言模型、流匹配模型(flow matching model)和梅尔频谱到波形的声码器(mel-to-wave vocoder)。为优化合成语音的清晰度(intelligibility)和自然度(naturalness),语音解码器采用双码交错训练方法(dual-code interleaving),确保生成过程中语义与声学特征的无缝融合。
为了实现实时的语音交互,我们对推理管线进行了一系列优化。其中最核心的是控制模块(Controller),该模块负责管理状态转换、协调响应生成,并确保关键子系统间的无缝协同。这些子系统包括:
-
语音活动检测(VAD):实时检测用户语音起止
-
流式音频分词器(Streaming Audio Tokenizer):实时音频流处理
-
Step-Audio语言模型与语音解码器:多模态回复生成
在后训练阶段,我们针对自动语音识别(ASR)与文本转语音(TTS)任务进行了专项监督微调(Supervised Fine-Tuning, SFT)。对于音频输入-文本输出(Audio Question Text Answer, AQTA)任务,我们采用多样化高质量数据集进行SFT,并采用了基于人类反馈的强化学习(RLHF)以提升响应质量,从而实现对情感表达、语速、方言及韵律的细粒度控制。
模型 | 链接 |
---|---|
Step-Audio-Tokenizer | 🤗huggingface |
Step-Audio-Chat | 🤗huggingface |
Step-Audio-TTS-3B | 🤗huggingface |
模型 | 链接 |
---|---|
Step-Audio-Tokenizer | modelscope |
Step-Audio-Chat | modelscope |
Step-Audio-TTS-3B | modelscope |
下表列出了运行Step-Audio模型(batch size=1)所需的配置要求:
模型 | Setting (采样率) |
GPU最低显存 |
---|---|---|
Step-Audio-Tokenizer | 41.6Hz | 1.5GB |
Step-Audio-Chat | 41.6Hz | 265GB |
Step-Audio-TTS-3B | 41.6Hz | 8GB |
- 需要支持CUDA的NVIDIA显卡.
- 模型在4块显存为80GB的A800系列NVIDIA显卡上进行测试.
- 推荐: 为确保最佳生成质量,建议使用4块显存为80GB的A800/H800系列NVIDIA显卡.
- 测试采用的操作系统: Linux
- Python >= 3.10.0 (推荐使用 Anaconda or Miniconda)
- PyTorch >= 2.3-cu121
- CUDA Toolkit
git clone https://github.com/stepfun-ai/Step-Audio.git
conda create -n stepaudio python=3.10
conda activate stepaudio
cd Step-Audio
pip install -r requirements.txt
git lfs install
git clone https://huggingface.co/stepfun-ai/Step-Audio-Tokenizer
git clone https://huggingface.co/stepfun-ai/Step-Audio-Chat
git clone https://huggingface.co/stepfun-ai/Step-Audio-TTS-3B
下载模型后,where_you_download_dir应包含以下结构:
where_you_download_dir
├── Step-Audio-Tokenizer
├── Step-Audio-Chat
├── Step-Audio-TTS-3B
使用 docker
创建 Step-Audio
运行时所需要的环境
# 构建 docker 镜像
docker build . -t step-audio
# 运行 docker
docker run --rm -ti --gpus all \
-v /your/code/path:/app -v /your/model/path:/model \
-p 7860:7860 \
step-audio \
-- bash
# 构建 vLLM docker 镜像
docker build -f Dockerfile-vllm -t step-audio-vllm .
# 运行 vLLM docker
docker run --rm -ti --gpus all \
-v /your/code/path:/app -v /your/model/path:/model \
-p 7860:7860 \
-p 8000:8000 \
step-audio-vllm \
-- bash
支持端到端音频/文本输入与音频/文本输出的推理流程。
python offline_inference.py --model-path where_you_download_dir
使用默认音色进行语音合成推理或使用新音色进行克隆
python tts_inference.py --model-path where_you_download_dir --output-path where_you_save_audio_dir --synthesis-type use_tts_or_clone
克隆模式需要音色信息字典,格式如下:
{
"speaker": "speaker id",
"prompt_text": "content of prompt wav",
"wav_path": "prompt wav path"
}
启动本地服务器以进行在线推理。 假设您已配备4块GPU且已完成所有模型的下载。
# Step-Audio-Chat demo
python app.py --model-path where_you_download_dir
# Step-Audio-TTS-3B demo
python tts_app.py --model-path where_you_download_dir
Step-Audio-Chat是130B大语言模型,推荐使用支持张量并行的vLLM进行推理。
* 由于vLLM没有加载 Tokenizer
和 TTS
,所以模型不支持输入语音进行推理
当前官方vLLM暂未支持Step 1模型架构,建议通过我们的开发分支进行本地安装。
由于对话模型中 Attention 机制是基于 ALIBI 的变种实现,所以官方 flash attention 库并不兼容。我们已在Step-Audio-Chat仓库提供定制版 flash attention 库,运行模型前请确保将定制库路径添加至环境变量。
export OPTIMUS_LIB_PATH=where_you_download_dir/Step-Audio-Chat/lib
vllm serve where_you_download_dir/Step-Audio-Chat --dtype auto -tp $tp --served-model-name step-audio-chat --trust-remote-code
# vLLM chat 调用示例
python call_vllm_chat.py
隐层特征建模 | 离散标记建模 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Whisper Large-v3 | Qwen2-Audio | MinMo | LUCY | Moshi | GLM-4-voice Base | GLM-4-voice Chat | Step-Audio Pretrain | Step-Audio-Chat | |
Aishell-1 | 5.14 | 1.53 | - | 2.4 | - | 2.46 | 226.47 | 0.87 | 1.95 |
Aishell-2 ios | 4.76 | 3.06 | 2.69 | - | - | - | 211.3 | 2.91 | 3.57 |
Wenetspeech test-net | 9.68 | 7.72 | 6.64 | 8.78 | - | - | 146.05 | 7.62 | 8.75 |
Wenet test-meeting | 18.54 | 8.4 | 7.6 | 10.42 | - | - | 140.82 | 7.78 | 9.52 |
Librispeech test-clean | 1.9 | 1.6 | 1.6 | 3.36 | 5.7 | 2.82 | 75.39 | 2.36 | 3.11 |
Librispeech test-other | 3.65 | 3.6 | 3.82 | 8.05 | - | 7.66 | 80.3 | 6.32 | 8.44 |
AVG | 7.28 | 4.32 | - | - | - | - | 146.74 | 4.64 | 5.89 |
Model | test-zh | test-en |
---|---|---|
CER (%) ↓ | WER (%) ↓ | |
GLM-4-Voice | 2.19 | 2.91 |
MinMo | 2.48 | 2.90 |
Step-Audio | 1.53 | 2.71 |
- StepAudio-TTS-3B-Single 表示采用双码本主干网络与单码本声码器的组合架构。
Model | test-zh | test-en | ||
---|---|---|---|---|
CER (%) ↓ | SS ↑ | WER (%) ↓ | SS ↑ | |
FireRedTTS | 1.51 | 0.630 | 3.82 | 0.460 |
MaskGCT | 2.27 | 0.774 | 2.62 | 0.774 |
CosyVoice | 3.63 | 0.775 | 4.29 | 0.699 |
CosyVoice 2 | 1.45 | 0.806 | 2.57 | 0.736 |
CosyVoice 2-S | 1.45 | 0.812 | 2.38 | 0.743 |
Step-Audio-TTS-3B-Single | 1.37 | 0.802 | 2.52 | 0.704 |
Step-Audio-TTS-3B | 1.31 | 0.733 | 2.31 | 0.660 |
Step-Audio-TTS | 1.17 | 0.73 | 2.0 | 0.660 |
Token | test-zh | test-en | ||
---|---|---|---|---|
CER (%) ↓ | SS ↑ | WER (%) ↓ | SS ↑ | |
Groundtruth | 0.972 | - | 2.156 | - |
CosyVoice | 2.857 | 0.849 | 4.519 | 0.807 |
Step-Audio-TTS-3B | 2.192 | 0.784 | 3.585 | 0.742 |
我们发布全新基准测试StepEval-Audio-360,该数据集包含137个源自真实用户的多轮中文提示,旨在系统性评估生成式语音交互系统在以下维度的表现:语音指令遵循、语音理解、逻辑推理、角色扮演、创作能力、唱歌、语言能力、语音情绪控制、游戏。
Model | Factuality (% ↑) | Relevance (% ↑) | Chat Score ↑ |
---|---|---|---|
GLM4-Voice | 54.7 | 66.4 | 3.49 |
Qwen2-Audio | 22.6 | 26.3 | 2.27 |
Moshi* | 1.0 | 0 | 1.49 |
Step-Audio-Chat | 66.4 | 75.2 | 4.11 |
- 注意:带有“*”标记的内容仅供参考。
Model | Llama Question | Web Questions | TriviaQA* | ComplexBench | HSK-6 |
---|---|---|---|---|---|
GLM4-Voice | 64.7 | 32.2 | 39.1 | 66.0 | 74.0 |
Moshi | 62.3 | 26.6 | 22.8 | - | - |
Freeze-Omni | 72.0 | 44.7 | 53.9 | - | - |
LUCY | 59.7 | 29.3 | 27.0 | - | - |
MinMo | 78.9 | 55.0 | 48.3 | - | - |
Qwen2-Audio | 52.0 | 27.0 | 37.3 | 54.0 | - |
Step-Audio-Chat | 81.0 | 75.1 | 58.0 | 74.0 | 86.0 |
- 注意:在 TriviaQA 数据集上,带有“*”标记的结果仅供参考。
Category | Instruction Following | Audio Quality | ||
---|---|---|---|---|
GLM-4-Voice | Step-Audio | GLM-4-Voice | Step-Audio | |
Languages | 1.9 | 3.8 | 2.9 | 3.3 |
Role-playing | 3.8 | 4.2 | 3.2 | 3.6 |
Singing / RAP | 2.1 | 2.4 | 2.4 | 4 |
Voice Control | 3.6 | 4.4 | 3.3 | 4.1 |
Step-Audio 的在线版本可以通过跃问 的应用程序访问,其中还可以找到一些惊喜的示例。
role | prompt wav | clone wav |
---|---|---|
于谦 | google drive audio file |
google drive audio file |
李雪琴 | google drive audio file |
google drive audio file |
prompt | response |
---|---|
Human: 说一个绕口令 Assistant: 吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮 Human: 哎,你能把这个绕口令说的再快一点吗? |
google drive audio file |
Human: 说一个绕口令 Assistant: 吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮 Human: 哎,你能把这个绕口令说的再快一点吗? Assistant: 吃葡萄不吐葡萄皮,不吃葡萄倒吐葡萄皮 Human: 呃,你再用非常非常慢的速度说一遍的。 |
google drive audio file |
prompt | response |
---|---|
Human: 你这语气又不撒娇又不卖萌的,要不你撒个娇卖个萌吧。 | google drive audio file |
Human: 怎么办?我感觉我的人生很失败。 | google drive audio file |
Human: 小跃。你真的是。特别厉害。 | google drive audio file |
prompt | response |
---|---|
Human: What did the speaker mean when they said, it's raining cats and dogs? Assistant: When they say "It's raining cats and dogs," it just means it's raining really hard. The speaker isn't literally saying cats and dogs are falling from the sky! It's just a fun way to describe heavy rain. |
google drive audio file |
Human: こんにちは。(你好) Assistant:こんにちは!何か手伝いましょうか?(您好!我可以帮你做点什么吗?) |
google drive audio file |
prompt | response |
---|---|
Human: 唱一段rap | google drive audio file |
本项目的部分代码来自:
感谢以上所有开源项目对本项目开源做出的贡献!
-
Step-Audio 相关模型的权重使用协议请分别需要按照Step-Audio-Chat, Step-Audio-Tokenizer 和 Step-Audio-TTS-3B 里面的协议进行遵守
-
本开源仓库的代码则遵循 Apache 2.0 协议。
@misc{huang2025stepaudiounifiedunderstandinggeneration,
title={Step-Audio: Unified Understanding and Generation in Intelligent Speech Interaction},
author={Ailin Huang and Boyong Wu and Bruce Wang and Chao Yan and Chen Hu and Chengli Feng and Fei Tian and Feiyu Shen and Jingbei Li and Mingrui Chen and Peng Liu and Ruihang Miao and Wang You and Xi Chen and Xuerui Yang and Yechang Huang and Yuxiang Zhang and Zheng Gong and Zixin Zhang and Brian Li and Changyi Wan and Hanpeng Hu and Ranchen Ming and Song Yuan and Xuelin Zhang and Yu Zhou and Bingxin Li and Buyun Ma and Kang An and Wei Ji and Wen Li and Xuan Wen and Yuankai Ma and Yuanwei Liang and Yun Mou and Bahtiyar Ahmidi and Bin Wang and Bo Li and Changxin Miao and Chen Xu and Chengting Feng and Chenrun Wang and Dapeng Shi and Deshan Sun and Dingyuan Hu and Dula Sai and Enle Liu and Guanzhe Huang and Gulin Yan and Heng Wang and Haonan Jia and Haoyang Zhang and Jiahao Gong and Jianchang Wu and Jiahong Liu and Jianjian Sun and Jiangjie Zhen and Jie Feng and Jie Wu and Jiaoren Wu and Jie Yang and Jinguo Wang and Jingyang Zhang and Junzhe Lin and Kaixiang Li and Lei Xia and Li Zhou and Longlong Gu and Mei Chen and Menglin Wu and Ming Li and Mingxiao Li and Mingyao Liang and Na Wang and Nie Hao and Qiling Wu and Qinyuan Tan and Shaoliang Pang and Shiliang Yang and Shuli Gao and Siqi Liu and Sitong Liu and Tiancheng Cao and Tianyu Wang and Wenjin Deng and Wenqing He and Wen Sun and Xin Han and Xiaomin Deng and Xiaojia Liu and Xu Zhao and Yanan Wei and Yanbo Yu and Yang Cao and Yangguang Li and Yangzhen Ma and Yanming Xu and Yaqiang Shi and Yilei Wang and Yinmin Zhong and Yu Luo and Yuanwei Lu and Yuhe Yin and Yuting Yan and Yuxiang Yang and Zhe Xie and Zheng Ge and Zheng Sun and Zhewei Huang and Zhichao Chang and Zidong Yang and Zili Zhang and Binxing Jiao and Daxin Jiang and Heung-Yeung Shum and Jiansheng Chen and Jing Li and Shuchang Zhou and Xiangyu Zhang and Xinhao Zhang and Yibo Zhu},
year={2025},
eprint={2502.11946},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2502.11946},
}