Logo

Whisper Streaming: 将Whisper模型转化为实时语音转录系统

whisper_streaming

Whisper Streaming:实现实时语音转录的突破性技术

在自然语言处理领域,实时语音转录一直是一个具有挑战性的任务。OpenAI的Whisper模型虽然在语音识别和翻译方面表现出色,但并不是为实时转录而设计的。然而,一个名为Whisper Streaming的创新项目改变了这一现状,它成功地将Whisper转变为一个高效的实时转录系统。本文将深入探讨Whisper Streaming项目的各个方面,包括其背景、实现原理、安装使用方法以及性能评估等。

项目背景与概述

Whisper Streaming项目由Dominik Macháček、Raj Dabre和Ondřej Bojar于2023年提出。该项目的核心目标是将Whisper模型改造成一个能够进行实时语音转录和翻译的系统。研究团队在Whisper的基础上进行了创新,开发出了Whisper-Streaming实现。

Whisper-Streaming采用了本地一致性策略(local agreement policy)和自适应延迟机制,使得流式转录成为可能。根据研究结果,Whisper-Streaming在长篇未分段语音转录测试集上实现了高质量输出,平均延迟仅为3.3秒。此外,该系统还在多语言会议的实时转录服务中展现出了卓越的稳定性和实用性。

Whisper Streaming架构图

安装与配置

要使用Whisper Streaming,需要按照以下步骤进行安装和配置:

  1. 安装音频处理库:

    pip install librosa soundfile
    
  2. 选择并安装Whisper后端。推荐使用支持GPU的faster-whisper:

    pip install faster-whisper
    
  3. 安装语音活动控制器(可选但推荐):

    pip install torch torchaudio
    
  4. 根据需要安装句子分割器(可选)。

值得注意的是,Whisper Streaming支持多种后端,包括faster-whisper、whisper-timestamped和OpenAI Whisper API。用户可以根据自己的需求和硬件条件选择合适的后端。

使用方法

Whisper Streaming提供了多种使用模式,包括:

  1. 从音频文件模拟实时处理:

    python3 whisper_online.py en-demo16.wav --language en --min-chunk-size 1 > out.txt
    
  2. 作为Python模块使用:

    from whisper_online import *
    
    asr = FasterWhisperASR("en", "large-v2")
    online = OnlineASRProcessor(asr)
    
    while audio_has_not_ended:
        a = # 接收新的音频块
        online.insert_audio_chunk(a)
        o = online.process_iter()
        print(o) # 处理当前部分输出
    
  3. 作为服务器从麦克风实时获取音频:

    whisper_online_server.py [options]
    

技术原理

Whisper Streaming的核心思想是解决Whisper模型在处理长音频时的局限性。传统的Whisper模型设计用于处理最长30秒且包含完整句子的音频片段。对于更长的音频,需要将其分割成短片段并使用"初始提示"进行合并。然而,这种简单的固定窗口分割方法在低延迟的实时流式模式下效果不佳,可能会在单词中间进行切分。

为了解决这个问题,Whisper Streaming引入了LocalAgreement-n策略:如果n个连续的更新(每个更新都有新可用的音频流块)在前缀转录上达成一致,则该前缀被确认。此外,项目还采用了以下技术:

  • 使用初始提示
  • 处理不准确的时间戳
  • 重新处理已确认的句子前缀并跳过它们
  • 确保已确认的句子不重叠
  • 限制处理缓冲区窗口

这些技术的综合应用使得Whisper Streaming能够连续处理新的音频块,输出由两次迭代确认的转录,并在确认完整句子的时间戳上滚动音频处理缓冲区。

性能评估

根据研究论文的结果,Whisper Streaming在长篇未分段语音转录测试集上表现优异,达到了高质量输出和低延迟的双重目标。具体性能指标包括:

  • 平均延迟: 3.3秒
  • 转录质量: 与原始Whisper模型相当
  • 稳定性: 在多语言会议实时转录中表现稳定

这些数据充分证明了Whisper Streaming在实际应用中的潜力和优势。

项目贡献与未来展望

Whisper Streaming是一个开源项目,欢迎社区贡献。目前,项目已经收到了许多有价值的贡献,包括新功能的拉取请求和错误修复。此外,还有一些值得关注的相关资源:

  • 详细的解释视频(2024年3月31日发布)
  • 项目的中文翻译版本

展望未来,Whisper Streaming项目有望在以下方面继续发展:

  1. 支持更多语言和方言
  2. 进一步降低延迟
  3. 优化资源占用,使其能在更多设备上运行
  4. 与其他自然语言处理技术的集成,如情感分析和说话人识别

结论

Whisper Streaming项目成功地将Whisper模型转化为一个强大的实时语音转录系统。通过创新的技术方案,该项目解决了长音频处理和低延迟要求之间的矛盾,为实时语音转录和翻译领域带来了新的可能性。无论是学术研究还是商业应用,Whisper Streaming都展现出了巨大的潜力。

随着项目的不断发展和完善,我们可以期待看到更多基于Whisper Streaming的创新应用,如实时会议转录、多语言直播翻译等。对于开发者和研究者而言,深入研究和贡献Whisper Streaming项目不仅可以提升个人技能,还能为推动语音识别技术的进步做出贡献。

最后,我们鼓励读者亲自尝试Whisper Streaming项目,体验其强大的实时转录能力。无论是用于个人学习、研究还是开发实际应用,Whisper Streaming都是一个值得关注和探索的优秀工具。

🔗 项目链接: Whisper Streaming GitHub仓库

📧 联系方式: 如有任何问题或建议,请联系项目负责人Dominik Macháček (machacek@ufal.mff.cuni.cz)

让我们共同期待Whisper Streaming项目在实时语音处理领域带来的更多突破和创新!

相关项目

Project Cover
whisper
Whisper是一个通用语音识别模型,支持多种语言处理任务,如语音翻译和语言识别。该模型基于大规模多样化音频数据集进行训练,利用Transformer技术实现高效的序列到序列学习。用户可以通过简单的命令或Python代码实现快速准确的语音识别与翻译,是一个适用于多种应用场景的强大工具。支持多个模型大小和语言选项,用户可根据需求选择合适的模型。
Project Cover
ruby-openai
ruby-openai,一款专为 Ruby 开发者设计的开源库,支持 OpenAI API 的多种功能,包括文本生成、语音转写和图像生成。此库使开发者能够简单地集成 GPT、Whisper 等多种模型,无需深入掌握底层技术,便可提升应用程序的智能化程度。适合于快速开发和部署,为现代 Ruby 应用提供强大支持。
Project Cover
ollama-voice-mac
Ollama-voice-mac是一个离线语音助手,利用Ollama和Whisper语音识别模型工作。通过安装Ollama、Mistral 7b和OpenAI Whisper Model,即可在Mac上运行。该项目基于maudoin的工作进行了改进,兼容Mac,适用于macOS 14 Sonoma及以上版本。通过下载更高质量的系统语音,如'Zoe (Premium)',可提升语音质量。用户也可以通过修改assistant.yaml文件来支持其他语言,方便多语言使用。
Project Cover
LiveWhisper
LiveWhisper项目利用OpenAI的Whisper模型,通过sounddevice库采集声音,实现句子到句子的实时语音转录。该项目可以在一定条件下替代SpeechRecognition工具。它还包括一个语音命令助手,类似于Siri和Alexa,能够执行多种语音命令,如查询天气、时间、讲笑话及执行Wikipedia搜索等。适用于技术爱好者和开发人员,帮助实现高效的语音交互系统。
Project Cover
awesome-whisper
Whisper是OpenAI开发的开源AI语音识别系统,支持多种语言和平台,具备高精度和实时处理能力,并适用于开发者和企业进行高效集成。
Project Cover
LLMtuner
LLMTuner 提供类 scikit-learn 接口,让用户便捷微调如 Llama、Whisper 等大型语言模型。通过 LoRA 和 QLoRA 等技术实现高效微调,内置推理功能和一键启动的交互式 UI,简化模型展示和共享。此外,LLMTuner 还支持未来在 AWS 和 GCP 等平台上的部署。欢迎加入 PromptsLab 社区,探索和讨论最新的开源模型调优技术。
Project Cover
local-talking-llm
本教程详细介绍如何在本地构建和运行功能齐全的语音助理,集成语音识别(Whisper)、语言模型对话生成(Langchain和Ollama)、语音合成(Bark)等技术。使用Python实现,适合初学者。提供了关键技术堆栈的使用方法及性能优化和用户界面开发建议。
Project Cover
whisper
Whisper是OpenAI开发的开源项目,使用whisper.cpp和FFMPEG将音频转换为WAV格式并提取文本。项目支持客户端和服务器端运行,无需互联网。目前代码和文档正在优化,接受捐赠以支持持续更新。适用于Android、Linux、Windows、iOS和macOS系统,安装和使用便捷,提供详尽文档和丰富资源。
Project Cover
buzz
Buzz是一款运行于个人电脑上的离线音频转录与翻译工具,使用OpenAI的Whisper技术,能够高效地转录并翻译音频内容。该应用提供Mac App Store专用版本,具有更清晰的界面和更丰富的功能,如音频回放、拖放导入、转录编辑和搜索等。对于不同操作系统,Buzz提供了简便的安装方式,包括Windows, macOS和Linux。Buzz旨在提供无缝和高效的用户体验,以满足广泛的个人和专业需要。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号