海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

Kyutai Labs的delayed-streams-modeling项目是一个开源的语音与文本转换框架,核心基于延迟流建模(DSM)技术。它支持实时语音转文本(STT)和文本转语音(TTS)功能,适用于构建高效的语音交互应用。项目提供PyTorch、Rust和MLX等多种实现方式,满足研究、开发和生产环境的需求。模型支持英语和法语,延迟低至0.5秒,适合实时对话、语音助手和翻译场景。项目代码托管在GitHub,文档清晰,易于上手。

 

功能列表

  • 实时语音转文本(STT):支持英语和法语,延迟低至0.5秒,带语义语音活动检测(VAD)。
  • 实时文本转语音(TTS):生成自然语音,延迟约220毫秒,支持长文本生成。
  • 语音克隆:仅需10秒音频即可克隆语音(功能未完全开源)。
  • 多语言支持:提供英语和法语模型,部分支持其他语言的实验性功能。
  • 高效批处理:Rust服务器支持高并发,L40S GPU上可处理64个实时音频流。
  • 跨平台部署:支持PyTorch(研究)、Rust(生产)、MLX(苹果设备)。
  • 时间戳输出:STT模型返回单词级时间戳,便于字幕生成或交互控制。

 

使用帮助

安装流程

delayed-streams-modeling项目支持多种部署方式,具体取决于使用场景。以下是详细的安装和使用指南:

1. PyTorch(研究和实验)

适合研究人员和开发者在本地测试模型。

  • 环境准备
    • 确保安装Python 3.8+和PyTorch(建议使用GPU版本)。
    • 克隆仓库:
      git clone https://github.com/kyutai-labs/delayed-streams-modeling.git
      cd delayed-streams-modeling
      
    • 安装依赖:
      pip install -r requirements.txt
      
  • 运行STT模型
    • 下载预训练模型,如kyutai/stt-1b-en_fr(Hugging Face仓库)。
    • 运行推理示例:
      python -m moshi_mlx.run_inference --hf-repo kyutai/stt-2.6b-en-mlx audio/sample.wav --temp 0
      
    • 结果将输出转录文本和时间戳。
  • 运行TTS模型
    • 使用类似命令调用TTS模型,输入文本文件生成音频。

2. Rust(生产环境)

适合高并发生产环境,性能优越。

  • 环境准备
    • 安装Rust(通过rustup)。
    • 克隆moshi仓库:
      git clone https://github.com/kyutai-labs/moshi.git
      cd moshi
      
    • 安装moshi-server
      cargo install moshi-server
      
  • 配置服务器
    • 编辑配置文件(位于moshi/config),设置批处理大小(L40S GPU建议64)。
    • 启动服务器:
      cargo run --release -- --config config.toml
      
    • 服务器通过WebSocket提供流式访问,支持多用户并发。
  • 使用方法
    • 通过WebSocket客户端发送音频流,接收转录文本或生成语音。

3. MLX(苹果设备)

适合在iPhone或Mac上运行,优化硬件加速。

  • 环境准备
    • 安装MLX框架(苹果官方机器学习框架)。
    • 克隆仓库并安装moshi-mlx
      pip install moshi-mlx
      
  • 运行推理
    • 麦克风实时转录:
      python -m moshi_mlx.run_inference --hf-repo kyutai/stt-1b-en_fr-mlx --mic
      
    • 文件转录:
      python -m moshi_mlx.run_inference --hf-repo kyutai/stt-2.6b-en-mlx audio/sample.mp3 --temp 0
      
    • 1B模型在iPhone 16 Pro上运行流畅。

功能操作流程

实时语音转文本(STT)

  1. 输入音频:支持麦克风实时输入或上传音频文件(如WAV、MP3)。
  2. 模型选择
    • kyutai/stt-1b-en_fr:适合英语和法语,低延迟(0.5秒),带语义VAD。
    • kyutai/stt-2.6b-en:英语专用,2.5秒延迟,精度更高。
  3. 语义VAD:自动检测用户是否结束说话,动态调整暂停时间,避免误判。
  4. 输出结果:返回转录文本和单词级时间戳,可用于字Subtitle生成或交互控制。
  5. 优化延迟:使用“flush trick”技术,检测到语音结束时加速处理,延迟从500毫秒降至125毫秒。

实时文本转语音(TTS)

  1. 输入文本:支持逐句输入或流式输入,适合实时对话。
  2. 生成音频:模型在220毫秒内生成自然语音,支持长文本(超30秒)。
  3. 语音克隆:输入10秒参考音频,生成相似语音(需额外配置,未完全开源)。
  4. 输出格式:生成WAV格式音频,可直接播放或保存。

生产环境部署

  • Rust服务器:支持高并发,H100 GPU可处理400个实时音频流。
  • 批处理优化:通过DSM架构,无需额外代码即可高效批处理。
  • WebSocket接口:客户端通过WebSocket发送音频或文本,服务器实时返回结果。

注意事项

  • 模型选择:根据硬件和需求选择适合的模型(1B参数适合轻量设备,2.6B参数适合高精度场景)。
  • 网络要求:生产环境需要稳定网络以支持WebSocket流式传输。
  • 文档参考:详细配置和API文档见GitHub仓库README.md

 

应用场景

  1. 语音助手开发
    • 场景描述:开发者使用STT和TTS模型构建智能语音助手,支持实时对话。语义VAD确保准确检测用户意图,适合客服机器人或智能家居设备。
  2. 实时字幕生成
    • 场景描述:STT模型为视频会议或直播生成实时字幕,单词级时间戳便于精确对齐,适用于教育、会议和媒体行业。
  3. 语音翻译
    • 场景描述:结合Hibiki模型,实现实时语音翻译,适合跨语言会议或旅游场景,支持流式输出翻译结果。
  4. 移动设备语音交互
    • 场景描述:MLX实现让iPhone用户通过语音操作应用,如语音笔记或实时转录,适合移动办公和个人助理。

 

QA

  1. 如何选择适合的模型实现?
    • PyTorch适合研究和测试,Rust适合生产环境的高并发,MLX适合苹果设备。参考硬件和场景选择。
  2. 语音克隆功能是否完全开源?
    • 目前语音克隆功能未完全开源,需额外配置,官方建议参考Hugging Face文档。
  3. 如何优化服务器性能?
    • 调整Rust服务器配置文件中的批处理大小(如64),确保GPU内存充足。H100 GPU可支持更高并发。
  4. 支持哪些语言?
    • 主要支持英语和法语,实验性支持其他语言,需参考官方文档测试。
  5. 延迟流建模(DSM)有什么优势?
    • DSM通过时间对齐的音频和文本流降低延迟,支持高效批处理,优于传统模型如Whisper。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

邮箱

联系我们

回顶部

zh_CN简体中文