微信扫码
与创始人交个朋友
我要投稿
语音是人类最自然便捷的沟通方式,语音交互大幅降低与 AI 对话的门槛。人们只需说出需求,AI 就能快速理解并反应,无需复杂的操作,都在简单的话语中。越来越多的AI智能助手应用在发展语音实时交流方面有显著成效。
诸多领域出现 AI 实时语音创新应用,如 AI 社交陪伴、AI 口语学习、游戏 AI NPC 及 AI 呼叫中心等。这些应用既展现 AI 技术潜力,也体现人们对更自然、更丰富的 AI 交流体验的期望。
我们与 AI 交互的流畅度和效率,不仅取决于大模型毫秒级的理解生成能力,还依赖于所选择的网络传输技术。起初,开发者鉴于 WebSocket 广泛的应用及普及性,常常选用它来构建语音对话。但随着方案的演进以及用户需求的提升,其局限性也逐渐展露:
为了提供更流畅自然的用户体验,适应大模型向多模态方向的快速发展,AI 实时语音方案采用实时通信(RTC)技术更为合适。RTC 技术能够更好地适应用户网络条件的变化,提供更优的实时传输性能。
之前我收集的好多文章也多次提到类似的应用。
世界上最快的语音聊天机器人
一款快速低延迟的本地AI语音聊天系统:voicechat2
ChatTTS:用于对话场景的文本转语音
开源TalkWithGemini: 一键免费部署您的私人 Gemini 应用,支持图片识别和语音对话
Hume AI 带着情感感知实时语音对话
WhisperFusion: 超低延迟的实时语音对话
SpeechGPT-Gen: 实现语音跟语音的对话?
今天介绍两款新的类似应用。
豆包在上一周的时候推出了对话式 AI 实时交互解决方案。
搭载火山方舟大模型服务平台,通过火山引擎 RTC 实现语音数据的高效采集、处理和传输,并深度整合豆包·语音识别模型和豆包·语音合成模型,简化语音到文本和文本到语音的转换过程,提供卓越的智能对话和自然语言处理能力,帮助应用快速实现用户和云端大模型的实时语音通话。
对话式 AI 实时交互服务方案架构
开箱即用快速搭建,只需调用标准的 OpenAPI 接口即可配置所需的语音识别(ASR)、大语言模型(LLM)、语音合成(TTS)类型和参数。而火山引擎 AIGC RTC-Server 负责边缘用户接入、云端资源调度、文本与语音转换处理以及数据订阅传输等环节。整体简化开发流程,让企业应用更专注在对大模型核心能力的训练及调试,加速 AI 实时语音场景创新。
要让与 AI 的交流像和朋友一样自然,随时打断甚至直接插话,关键在于:当用户和 AI 同时说话时,如何解决互相干扰的音频“双讲”现象。火山引擎 RTC 基于成熟的音频 3A 处理技术,针对“双讲”通过传统回声消除算法和深度学习算法的结合,不仅有效去除回声,还能避免用户语音被过度处理,确保云端语音识别(ASR)能准确捕捉和识别用户的语音信息。此外,火山引擎 RTC 通过简化算法提高处理速度,避免因算法复杂性带来的额外延时。
不受限于 AI 服务部署区域,用户无论身处何地,是语音交流还是文字对话,都可以享受无延迟、流畅的 AI 交互体验。
再介绍另一个开源项目:
Speech To Speech
语音到语音:一个开源和模块化的 GPT-4-o 项目
https://github.com/eustlb/speech-to-speech
该项目实现了一个语音到语音的级联管道,包含以下部分:
语音活动检测 (VAD):使用 Silero VAD v5
语音转文本 (STT):使用 Whisper 模型检查点(包括简化版本)
语言模型 (LM):使用任何 Hugging Face Hub 上可用的 instruct 模型!?
文本到语音 (TTS):使用 Parler-TTS ?
该管道旨在提供一个完全开放和模块化的方法,利用 Transformers 库中可用的模型,通过 Hugging Face Hub 实现。每个部分的模块化程度如下:
VAD:使用 Silero 的实现。
STT:仅使用 Whisper 模型,不过可以使用任何 Whisper 检查点,支持选项包括 Distil-Whisper 和法语 Distil-Whisper。
LM:这一部分完全模块化,可以通过简单修改 Hugging Face Hub 模型 ID 来更换。用户需要选择一个 instruct 模型,因为此处涉及与其交互。
TTS:Parler-TTS 的微型架构是标准的,但可以使用不同的检查点,包括微调的多语言检查点。
git clone https://github.com/eustlb/speech-to-speech.gitcd speech-to-speechpip install -r requirements.txt
该管道可以通过两种方式运行:
服务器/客户端方法:模型在服务器上运行,音频输入/输出从客户端流式传输。
本地方法:使用相同的客户端/服务器方法,但使用环回地址。
在服务器上运行管道:
python s2s_pipeline.py --recv_host 0.0.0.0 --send_host 0.0.0.0
然后在本地运行客户端以处理麦克风输入和接收生成的音频:
python listen_and_play.py --host <服务器的IP地址>
只需使用环回地址:
python s2s_pipeline.py --recv_host localhost --send_host localhost
python listen_and_play.py --host localhost
为 Whisper 和 Parler-TTS 启用 Torch Compile:
python s2s_pipeline.py \
--recv_host 0.0.0.0 \
--send_host 0.0.0.0 \
--lm_model_name microsoft/Phi-3-mini-4k-instruct \
--init_chat_role system \
--stt_compile_mode reduce-overhead \
--tts_compile_mode default
目前,捕获 CUDA Graphs 的模式不兼容 Parler-TTS 的流式传输(reduce-overhead, max-autotune)。
model_name、torch_dtype 和 device 可用于每个利用 Transformers 实现的部分:语音转文本、语言模型和文本到语音。使用相应的前缀指定目标管道部分:
stt(语音转文本)
lm(语言模型)
tts(文本到语音)
--lm_model_name google/gemma-2b-it
可以使用部分的前缀+_gen_ 来设置模型生成方法的其他生成参数,例如 --stt_gen_max_new_tokens 128。这些参数可以添加到管道部分的参数类中,如果尚未暴露的话(例如 LanguageModelHandlerArguments)。
--thresh:触发语音活动检测的阈值。
--min_speech_ms:被认为是语音活动的最小检测时长。
--min_silence_ms:用于分割语音的最短静默时间间隔,平衡句子切割和延迟减少。
--init_chat_role:默认为 None。设置聊天模板中的初始角色(如适用)。参考模型卡片设置该值(例如对于 Phi-3-mini-4k-instruct,必须设置 --init_chat_role system)。
--init_chat_prompt:默认为 "You are a helpful AI assistant." 设置 --init_chat_role 时需要此参数。
--description:设置 Parler-TTS 生成语音的描述。默认为:"A female speaker with a slightly low-pitched voice delivers her words quite expressively, in a very confined sounding environment with clear audio quality. She speaks very fast."
--play_steps_s:指定 Parler-TTS 流式输出时发送的第一块的持续时间,影响准备和解码步骤。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-01-15
大模型训练和推理阶段为什么需要GPU、TPU等硬件加速?
2025-01-15
AI+硬件底层拆解整理(含AI陪伴,AI眼镜,AR眼镜,AI耳机)及产业链梳理
2025-01-13
LG计划推出AI智能体,切入人形机器人赛道了
2025-01-13
先出圈的AI玩具,解锁主动陪伴新方式
2025-01-13
iPhone Air 来了!支持 GPT,苹果折叠手机布局曝光!
2025-01-13
Google Chrome AI转型大揭秘:你的上网体验将惊艳升级吗?
2025-01-12
2025,AI Agents和AI玩具谁先会爆发呢?
2025-01-12
智能眼镜的今天、明天、后天
2024-03-30
2024-05-09
2024-07-07
2024-06-23
2024-07-23
2024-07-01
2024-06-24
2024-06-08
2024-10-20
2024-06-05
2025-01-15
2025-01-13
2025-01-12
2024-12-30
2024-12-26
2024-12-20
2024-12-15
2024-11-12