低延迟小智AI服务端搭建-TTS篇

前几篇,分享了低延迟小智AI服务端搭建的 ASR 和 LLM 部分:

从实测来看:

  1. 当采用音频流式输入,VAD + ASR 部分的延时几乎可忽略。

  2. LLM 采用流式推理,延时在 0.3-0.5s。

接下来,压力给到 TTS 部分。

本篇,继续实测 TTS 流式推理,聊聊如何把延时降到最低。

1. 技术方案选型

和 LLM 一样,TTS 也有两种方案:

  • 本地部署支持流式推理的开源模型,相比 LLM,对 GPU 要求没那么高,成本可控。
  • 在线 API:音色丰富,按需付费,不过价格并不便宜(下文测算)。

对于本地部署而言,笔者之前分享过两款支持流式推理的开源模型:

  • fishspeech-1.5:速度超快,显存占用低(性价比之王)。
  • cosyvocie-2:音质更优,显存占用高。

其中,cosyvocie-2 经过一定优化,同样可以做到 rtf < 1,不过首帧延时依然是硬伤。

关于更多支持流式推理的开源模型,欢迎评论区聊!


本篇,重点聊两款 在线 API,并实测首帧延时!

  • 阿里百炼-cosyvoice
  • 火山引擎-大模型语音合成

其中,小智火爆出圈的台湾腔-湾湾小何,正是来自火山引擎!

2. 流式推理实现

上述两款 API 均支持 websocket 协议调用,支持流式输出。

在测试之前,你需要申请对应的 API key。

阿里云https://bailian.console.aliyun.com/?tab=model#/api-key

火山引擎https://console.volcengine.com/speech/app

然后,了解对应的交互逻辑,可参考官方文档:

小智官方仓库也已实现两款 API 的交互逻辑,在此不再赘述。

这里提供一个测试方法:

  static test() {
    const client = new DashscopeTtsClient();
    client.on('ready', () => {
      console.log(new Date(), 'TTS服务器就绪。');

      const session = client.newSession();
      session.on('started', async () => {
        console.log(new Date(), 'TTS会话已开始。');

        session.write('你好');
        session.write('今天的天气真的不错啊');
        session.finish();
        console.log(new Date(), '已发送 finish');
      });

      let t = Buffer.alloc(0);
      session.on('audio', (audio) => {
        console.log(new Date(), '收到', audio.length, '字节');
        t = Buffer.concat([t, audio]);
      });

      session.on('finished', () => {
        console.log(new Date(), 'TTS会话已结束。');
        client.finishConnection();

        const fs = require('fs');
        fs.writeFileSync('tts.pcm', t);
        console.log('音频数据已写入 tts.pcm,大小:', t.length);
        console.log('要播放音频,请运行: ffplay -f s16le -ar 24000 -ac 1 tts.pcm');
      });

      session.on('sentence_start', (text) => {
        console.log('句子开始', text);
      });

      session.on('sentence_end', (text) => {
        console.log('句子结束', text);
      });
    });

    client.on('error', (err) => console.error(new Date(), 'TTS客户端错误:', err));
    client.on('close', () => console.log('TTS客户端已关闭'));
  }
}

3. 延时实测和成本对比

阿里云-cosyvoice 实测:首个包 0.4-0.5s

火山引擎-大模型语音合成 实测:首个包 0.3s

再看成本呢?

两家的定价策略还不一样。

  • 阿里百炼-cosyvoice:¥2/万字符

  • 火山引擎-大模型语音合成:更贵!

简单讲:充值越多越便宜,但打包出售,设置 1 年有效期!

万字符什么概念?

根据1s=5个字符的计算规则,万字符大约是 0.5 小时的音频输出。

因此,想要自建服务端的朋友,单 TTS 这笔费用,你可省的了?

写在最后

本文分享了小智AI服务端 TTS的实现,对在线 API的延时进行了实测,并简单测算了成本。

综合这两篇:LLM 0.5s + TTS 0.3s。

因此,平均语音响应延迟低于 0.8s 完全没问题

如果对你有帮助,欢迎点赞收藏备用。

后续,我们将实测几款支持流式推理的 TTS 模型-本地部署,下篇见。


为方便大家交流,新建了一个 AI 交流群,公众号后台「联系我」,拉你进群。

### 小智AI服务端部署教程与配置指南 #### 一、硬件环境评估 为了成功部署小智AI助手,需先确认个人电脑的硬件性能是否满足需求。通常情况下,AI模型对CPU、内存以及显卡的要求较高。具体可参考以下标准[^1]: - **处理器(CPU)**:建议至少配备Intel i7或AMD Ryzen 7级别的多核心处理器。 - **内存(RAM)**:推荐8GB以上;如果计划加载大型语言模型,则需要16GB甚至更高。 - **图形处理单元(GPU)**:对于涉及深度学习推理的任务,NVIDIA系列显卡能够显著加速运算过程。 #### 二、软件依赖安装 完成初步的硬件检测之后,进入实际操作阶段前还需准备必要的开发工具链及框架库文件。以下是几个重要环节描述[^2]: - 安装Docker引擎版本号应不低于v20.10.x,通过命令`docker --version`验证当前状态; - 使用官方文档指导创建自定义镜像项目目录结构并编写对应的Dockerfile脚本示例如下所示: ```dockerfile FROM python:3.9-slim-buster WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["python", "server.py"] ``` 上述代码片段展示了如何构建一个基础Python应用容器化流程. #### 三、启动参数设置 当所有前期准备工作就绪后,可以利用下面这条典型指令来初始化后台进程模式下的实例运行状况监控机制[-d选项表示分离前台显示界面]: ```bash docker run -d \ --name qwen-deepseek-instance \ -p 5000:5000 \ -v $(pwd)/data:/app/data \ your_custom_image_tag ``` 此部分特别强调了端口映射(-p标记)的重要性以便外部客户端访问内部API接口资源. --- #### 四、注意事项 尽管本地化方案提供了诸多便利之处,但仍存在一些潜在风险因素需要注意规避。例如数据安全防护措施不足可能导致敏感信息泄露等问题发生。因此,在整个实施过程中始终要把加强访问控制策略放在首位考虑范围之内. ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值