StreamSpeech 项目介绍
StreamSpeech 是一个为多任务学习而设计的同时语音到语音翻译系统,由张少磊、方青凯、郭首涛、马政瑞、张敏和冯洋几位作者共同开发。该项目将在即将召开的ACL 2024会议上发表论文,论文题为“StreamSpeech: Simultaneous Speech-to-Speech Translation with Multi-task Learning”。
项目亮点
- 状态的艺术表现:在离线和同时语音到语音的翻译领域都达到了最先进的表现。
- 无缝模型整合:通过“多合一”无缝模型实现流式的自动语音识别(ASR),同时语音到文本翻译(S2TT)以及同时语音到语音翻译(S2ST)。
- 低延迟沟通体验:在同时翻译过程中可以提供中间结果(即ASR或翻译结果),为用户提供更全面的低延时沟通体验。
项目的特色
支持的任务
StreamSpeech 支持八项任务:
- 离线模式:语音识别(ASR)、语音到文本翻译(S2TT)、语音到语音翻译(S2ST)、语音合成(TTS)
- 同时模式:流式ASR、同时S2TT、同时S2ST、实时TTS,这些都可以通过一个模型在任何延迟下实现。
图形用户界面(GUI)演示
StreamSpeech 提供了一个Web GUI演示,使用户能够在本地浏览器中体验项目的实际应用效果。在演示中,可以看到系统如何同时提供ASR、翻译和合成的结果。
典型案例
以下是StreamSpeech项目的实际应用场景:
- 语音输入:一段法语音频。
- 文字识别结果(参考事实):法语字符串。
- 翻译结果(参考事实):翻译成对应的英语句子。
在同时和离线模式下,StreamSpeech均能准确进行语音识别和翻译,体现了它在实际应用中的卓越性能。
安装与使用
StreamSpeech 的环境需求:
- Python 3.10
- PyTorch 2.0.1
- 需要安装fairseq和SimulEval库
用户可以通过简单的安装命令来设置项目的环境,并下载必要的模型文件,为项目的推理和测试做好准备。
快速开始
模型下载
StreamSpeech 提供多种语言的模型,包括法语-英语、西班牙语-英语和德语-英语的翻译模型。用户可以选择在Huggingface或百度网盘上下载相应的模型文件。
数据准备和配置
用户需要根据SimulEval的格式准备测试数据,设置配置文件以开始推理。
开发您的StreamSpeech
StreamSpeech项目中提供了一整套工具和脚本,帮助开发者训练和评估自己的模型。用户可以根据项目中的指导文档,处理数据,训练模型,并通过各种评估脚本来测试模型的性能。
项目成果
StreamSpeech项目网站提供了用于展示的翻译音频样例,感兴趣的用户可以访问该网站聆听这些样例,亲身体验StreamSpeech的翻译效果。
引用
如果StreamSpeech项目对您的工作有帮助,欢迎引用该项目。作者也非常欢迎大家提交问题或通过邮件联系以获取更多帮助。