Datawhale干货
作者:邓恺俊,Datawhale成员
随着人工智能时代的到来,大模型的技术日新月异,我们不仅仅满足于文字之间的交互,希望能够有更近一步的交流。既然现在文字已经能够很好的模拟人类了,那随之而来的,是不是我们能够通过模拟人类交流的方式来交互。
在前段时间,OpenAI 更新了 GPT-4o,拥有了能够进行实时语音对话的功能,低延时的反应与极其真实的声音极大的提高了交流的真实感。
随着技术的发展,那我们能不能以数字人作为媒介来进行一个面对面交互呢,这样我们就不仅仅可以通过文字交流,通过语音交流,还能以自然流畅的语音进行回应,同时结合数字人,增强交流的真实感,就好像一个人真切的站在我们前面进行对话,这是多么有意思的一件事情呀!
在大模型出现之前,这样的技术是受限的,因为还是基于简单的 QA 来设定对话,并没有智能的感觉,但是,随着 ChatGPT 的出现,为数字人赋能成为可能,大家认为这样的一件事情是可以实现,人们认为 AI 数字人可以实现虚拟陪伴,智能数字人助手等功能。
因此在人工智能时代,带来了一种新的人机交互的范式,可称为“数字人智能对话系统”,根据其功能,整个系统大概需要五大块组成:
💡 自动语音识别(ASR):将用户的语音输入转换为文本,能够更流畅的进行语音对话。
💡 大型语言模型(LLM):作为系统的语言处理中枢为数字人赋能,负责理解用户的输入并生成合适的回应。
💡 文本到语音转换(TTS)/ 语音克隆 (Voice Clone):将系统生成的文本回应转换为语音,使用户听到流畅自然的语音输出。
💡 数字人生成(TFG):结合语音特征与数字人技术生成数字人的形象和动作,提升交流的互动性。
💡 音视频流式服务(streaming):利用流式服务提高交互体验,能够达到实时的效果。
数字人智能对话系统
本文将详细介绍数字人智能对话系统,包括:
🔹 ASR:语音识别技术(第1节)——同数字人沟通的桥梁
🔹 LLM:大语言模型(第2节)——大语言模型为数字人赋能
🔹 TTS:语音合成技术(第3节)——赋予数字人真实的语音交互能力
🔹 Voice Clone:声音克隆技术(第4节)——在对话中模仿用户的声音
🔹 THG:智能数字人构建(第5节)——打造智能数字人
🔹 Streaming:音视频流服务(第6节)——提供流式音视频服务
🔹 总结(第7节)——综合回顾
🔹 未来展望(第8节)——探讨未来的发展方向
与此同时,基于此简单的想法,结合现有的较为不错的多个领域类的开源模型,我实现了一个数字人智能对话系统 Linly-Talker,融合了最新的人工智能技术,包括大型语言模型(LLM)🤖、自动语音识别(ASR)🎙️、文本到语音转换(TTS)🗣️和语音克隆技术🎤。这个系统通过 Gradio 平台提供了一个交互式的 Web 界面,允许用户上传图片📷与 AI 进行个性化的对话交流💬。
系统的核心特点包括:
1. 多模型集成:Linly-Talker 整合了 Linly、OpenAI、Gemini Pro、Qwen、ChatGPT 等大模型,以及 Whisper、FunASR 等语音识别模型和 SadTalker、ER-NeRF 等数字人生成模型,实现了高质量的对话和视觉生成。
2. 多轮对话能力:通过 GPT 模型的多轮对话能力,Linly-Talker 能够理解并维持上下文相关的连贯对话,极大地提升了交互的真实感。
3. 语音克隆:利用 GPT-SoVITS 等语音克隆技术,用户可以上传一分钟的语音样本进行微调,系统将克隆用户的声音,使得数字人能够以用户的声音进行对话。
4. 实时互动:系统支持实时语音识别和视频字幕,使得用户可以通过语音与数字人进行自然的交流。
5. 视觉增强:通过数字人生成等技术,Linly-Talker 能够生成逼真的数字人形象,提供更加沉浸式的体验。
Linly-Talker 的设计理念是创造一种全新的人机交互方式,不仅仅是简单的问答,而是通过高度集成的技术,提供一个能够理解、响应并模拟人类交流的智能数字人。
现已完成多个模型的集成,并且有对应的部署教程,小白易上手,点击访问项目地址即可查看项目详情,一键运行 Linly-Talker WebUI,欢迎 Star~~~
https://github.com/Kedreamix/Linly-Talker(或点击阅读原文直达)
更加详细的信息和 demo 可以查看 bilibili 演示视频:
跟着 Kedreamix 探索 Linly-Talker
01
ASR - 同数字人沟通的桥梁
在数字人智能对话系统中,自动语音识别(ASR)是与数字人沟通的重要桥梁。用户通过语音进行对话,我们需要将语音转成文字,以便后续的大语言模型(大脑)能够理解和学习,从而实现更好的沟通和交流。
在现有开源 ASR 模型中,比较好的分别是 OpenAI 的 Whisper 模型[1]以及阿里达摩院的 FunASR 模型[2]。
参考地址:
Whisper:
https://github.com/openai/whisper
FunASR:
https://github.com/alibaba-damo-academy/FunASR
通过这些 ASR 模型,我们能够实时将语音转换为文字。在 GPT4o 的语音对话系统中,可能使用的就是 Whisper 模型。我们也可以使用 Whisper 模型或 FunASR 模型来搭建自己的智能语音助手。
Whisper 和 FunASR 都提供了良好的 API 接口,使我们能够快速搭建系统。以下是关于 Whisper 和 FunASR 的两个演示,只需安装相应的环境,即可快速使用这些强大的开源语音识别模型。
''' Reference: https://github.com/alibaba-damo-academy/FunASR pip install funasr pip install modelscope pip install -U rotary_embedding_torch ''' from funasr import AutoModel class FunASR: def __init__(self) -> None: self.model = AutoModel(model="paraformer-zh", model_revision="v2.0.4", vad_model="fsmn-vad", vad_model_revision="v2.0.4", punc_model="ct-punc-c", punc_model_revision="v2.0.4", # spk_model="cam++", spk_model_revision="v2.0.2", ) def transcribe(self, audio_file): res = self.model.generate(input=audio_file, batch_size_s=300) print(res) return res[0]['text'] ''' https://github.com/openai/whisper pip install -U openai-whisper ''' import whisper class WhisperASR: def __init__(self, model_path): self.LANGUAGES = { "en": "english", "zh": "chinese", } self.model = whisper.load_model(model_path) def transcribe(self, audio_file): result = self.model.transcribe(audio_file) return result["text"]
02
LLM - 大语言模型为数字人赋能
通过语音识别(ASR)将语音转化为文本后,智能数字人对话系统会将文本输入到大语言模型中。大语言模型可以视为数字人的大脑,利用大语言模型为数字人赋能。随着人工智能的发展,大语言模型的发展的速度也是越来越快,因此在 LLM(大语言模型)部分有很多选择,在 Datawhale 的课程中也能看到许许多多有关于大语言模型使用和学习的教程。
可以利用 OpenAI 和 Google 的 API 直接调用 LLM,也可以使用诸如百度和 kimi 等开放平台提供的接口。在资源允许的情况下,还可以在本地部署开源大语言模型,如 Llama[3]、Qwen[4]、Linly[5]、ChatGLM[6] 等,以确保对话过程中个人信息的安全。此外,还可以采用 langchain 等方法来扩充知识库,甚至定制适用于自身需求的大语言模型。在 Linly-Talker 项目中,已经集成了多个大语言模型,用户可以选择使用适合自己需求的大语言模型来与数字人进行对话,从而充分利用大语言模型为数字人赋能,实现更加优质的对话体验。
03
TTS - 赋予数字人真实的语音交互能力
在大语言模型生成文本结果后,需要通过 TTS(文本转语音)技术将文字转化为语音,从而赋予数字人真实的语音交互能力。这正是 GPT-4o 所在进行的工作。通过整合文本生成、语音合成和数字人驱动技术,GPT-4o 能够将大语言模型的反馈转化为语音,并使用先进的语音生成模型提高交互的真实性。
在现有的 TTS 技术中,有几个值得关注的模型和平台。开源领域中,微软的 TTS 是一个优秀的选择。在 https://github.com/rany2/edge-tts 项目中,作者利用 Edge 浏览器接口实现了微软 TTS 的语音生成。该项目支持多种声音,并允许调节语速和音调,不仅免费且速度快。此外,OpenAI 也开放了语音合成接口(https://platform.openai.com/docs/guides/text-to-speech),可以通过 API 方式接入 OpenAI 的语音合成,生成更具质感和情感的声音。
除此之外,在huggingface上有一个开源TTS的排行榜(https://huggingface.co/spaces/TTS-AGI/TTS-Arena),可以关注优秀的语音合成模型来赋予数字人更加真实的语音交互能力。
04
Voice Clone - 对话时悄悄偷走你的声音
除语音合成之外,大家还非常关注克隆声音的技术,不过这个也是一个充满风险的事情。在现有的开源方法中已经有一些相当不错的成果了,能够通过 10 s中的少样本语音来克隆声音,这是相当难以置信的,并且这样在未来会衍生出定制数字人的方案。通过克隆语音加上克隆数字人形象来定制一个完整的数字人,这个数字人不仅仅带有真实的面孔还有真实的声音。
参考地址:
XTTS:
https://huggingface.co/spaces/coqui/xtts
GPT-GoVITS:
https://github.com/RVC-Boss/GPT-SoVITS
OpenVoice2:
https://github.com/myshell-ai/OpenVoice
接下来介绍一下现有语言克隆模型中比较好的一部分,实际上还有火山克隆等 API 的方式,效果也是比较不错的。
这些技术的应用不仅能够在对话中提供更加个性化和真实的语音体验,还为未来的数字人定制方案提供了强有力的技术支持。
05
THG - 打造智能数字人
在数字人智能对话系统中,最为重要的一环是构建智能数字人。Talking Head Generation(语音驱动人脸生成)一直是人工智能领域的热门研究方向,并且在近期取得了显著进展。简而言之,这项技术通过输入语音和图片/视频,让静态图像或视频中的人物“动起来”,使得数字人能够进行真实的表达。这一步骤的关键在于数字人能否精准对口型,并且达到高质量的生成效果。实际上,数字人的概念非常广泛,凡是通过数字技术创造出的人类形象接近的虚拟人物都可以称为数字人,而 TFG(Talking Head Generation)则是其中一种基于语音驱动的人脸技术。
我同时打造了一个数字人知识库,专注于有关于TFG技术的跟进和学习,能够第一时间学习最新的论文和方法,也可以多多关注:
https://github.com/Kedreamix/Awesome-Talking-Head-Synthesis
现有的语音驱动人脸技术已有较多的方法和方案,整体来说分为三种:
▪️ 单图输入驱动数字人
▪️ 视频输入驱动数字人
▪️ 定制数字人进行驱动
前两种方法一般采用基于卷积神经网络(CNN)和生成对抗网络(GAN)的方法,最火的是就是 2020 的 Wav2Lip[7],它能够将语音与静态图像或视频结合,生成逼真的数字人视频,同样有趣的还有 CVPR2023 的 SadTalker[8],可以通过单图生成数字人。
第三种方法在 NeRF(神经辐射场)技术出现后取得了突破,以 AD-NeRF[9] 为范式,通过五分钟的视频训练即可重建一个高度逼真的数字人。最新的 CVPR2024 的 SyncTalk[10] 技术更是能达到每秒 40 帧的生成速度,几乎实现了实时效果。
此外,近期广受关注的还有阿里的 EMO[11] 和微软 VASA-1[12],不仅生成效果逼真,而且在多个方面表现优异。这些方法基于强大的扩散模型的能力(diffusion-based),进一步提升了数字人生成的质量和速度。此外,腾讯也开源了 MuseV 和 MuseTalk 的数字人生成技术解决方案,能够在实时条件下生成高质量的数字人视频。
通过这些先进的技术,数字人智能对话系统可以提供更加沉浸式和自然的人机交互体验,使得数字人不仅能“听”懂和“理解”用户,还能以逼真的语音和形象进行互动。
视频来源,侵删:
https://humanaigc.github.io/emote-portrait-alive/
06
Streaming 音视频流式服务
在数字人智能对话系统中,音视频流式服务是确保实现实时交互的关键技术之一。通过这项技术,用户的语音和图像数据可以实时传输到系统,同时系统生成的音视频内容也能即时反馈给用户,从而保证了对话的连贯性和互动的自然性。
这一技术模块的主要目标是实现对话的即时性,使得用户能够与数字人进行流畅的交流。通过音视频流式服务,用户可以享受到更加沉浸式和真实的人机交互体验,从而提升了整体对话系统的用户体验。
音视频流式服务需要依赖高效的实时传输技术,如 WebRTC 和 RTMP。这些技术能够确保在低延迟、高带宽环境下传输音视频数据,从而实现实时的交互体验。
以下是一个来源于 VASA-1 的一个 demo 演示,能够低延时利用数字人反馈,完成了音视频流式服务:
视频来源,侵删:
https://www.microsoft.com/en-us/research/project/vasa-1/
07
总结
本文介绍了一种在人工智能时代带来的新型人机交互范式——数字人智能对话系统。通过整合自动语音识别(ASR)、大型语言模型(LLM)、文本到语音转换(TTS)、语音克隆(Voice Clone)以及数字人生成(TFG)等多项技术,该系统实现了高度逼真的语音和视觉交互。
我们探讨了各个技术模块的功能和实现方式,展示了如何通过高效的音视频流式服务来实现实时、自然的人机对话。Linly-Talker 作为一个融合了最新人工智能技术的数字人对话系统,为用户提供了一个创新的交流范式,不仅能够理解和回应用户,还能通过逼真的数字人形象和语音增强互动的真实感。
08
未来展望
随着人工智能技术的不断发展,数字人智能对话系统将迎来更加广阔的发展前景,如以下几个方面:
🔸 更加智能的对话体验:随着大型语言模型的不断进步和优化,数字人智能对话系统将能够实现更加智能、自然的对话体验。系统将能够更好地理解用户的意图和情感,从而提供更加个性化、贴近用户需求的回应。
🔸 更加沉浸式的交互方式:随着语音克隆技术和数字人生成技术的不断发展,数字人将能够以更加逼真的语音和形象与用户进行交互,从而提供更加沉浸式、真实感的交互体验。
🔸 多模态交互的普及:未来的数字人智能对话系统将更加注重多模态交互,不仅支持语音和文字输入,还将结合图像、视频等多种输入方式,为用户提供更加丰富多样的交互体验。
🔸 个性化定制服务:数字人智能对话系统将根据用户的偏好和习惯,提供个性化定制的服务。系统将能够学习用户的喜好和行为模式,从而为用户提供更加个性化、贴心的服务和建议。
🔸 社交互动与情感陪伴:数字人智能对话系统将不仅仅是简单的工具,还将成为用户的情感伙伴和社交伙伴。系统将能够理解用户的情感和情绪,与用户进行情感交流和互动,为用户提供情感上的支持和陪伴。
总的来说,数字人智能对话系统将在未来成为人们生活中不可或缺的一部分,未来,我们将继续优化和完善这一系统,推动人机交互进入一个新的时代,为用户提供更加智能、个性化、沉浸式的交互体验,成为人们生活和工作中的重要助手和伙伴。
参考文献
[1] Radford A, Kim J W, Xu T, et al. Robust speech recognition via large-scale weak supervision[C]//International Conference on Machine Learning. PMLR, 2023: 28492-28518.
[2] Gao Z, Li Z, Wang J, et al. Funasr: A fundamental end-to-end speech recognition toolkit[J]. arXiv preprint arXiv:2305.11013, 2023.
[3] Touvron H, Lavril T, Izacard G, et al. Llama: Open and efficient foundation language models[J]. arXiv preprint arXiv:2302.13971, 2023.
[4] Bai J, Bai S, Chu Y, et al. Qwen technical report[J]. arXiv preprint arXiv:2309.16609, 2023.
[5] Li Y, Zhang Y, Zhao Z, et al. CSL: A large-scale Chinese scientific literature dataset[J]. arXiv preprint arXiv:2209.05034, 2022.
[6] Du Z, Qian Y, Liu X, et al. Glm: General language model pretraining with autoregressive blank infilling[J]. arXiv preprint arXiv:2103.10360, 2021.
[7] Prajwal K R, Mukhopadhyay R, Namboodiri V P, et al. A lip sync expert is all you need for speech to lip generation in the wild[C]//Proceedings of the 28th ACM international conference on multimedia. 2020: 484-492.
[8] Zhang W, Cun X, Wang X, et al. Sadtalker: Learning realistic 3d motion coefficients for stylized audio-driven single image talking face animation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 8652-8661.
[9] Guo Y, Chen K, Liang S, et al. Ad-nerf: Audio driven neural radiance fields for talking head synthesis[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021: 5784-5794.
[10] Peng Z, Hu W, Shi Y, et al. SyncTalk: The Devil is in the Synchronization for Talking Head Synthesis[J]. arXiv preprint arXiv:2311.17590, 2023.
[11] Tian L, Wang Q, Zhang B, et al. EMO: Emote Portrait Alive-Generating Expressive Portrait Videos with Audio2Video Diffusion Model under Weak Conditions[J]. arXiv preprint arXiv:2402.17485, 2024.
[12] Xu S, Chen G, Guo Y X, et al. VASA-1: Lifelike Audio-Driven Talking Faces Generated in Real Time[J]. arXiv preprint arXiv:2404.10667, 2024.
[13] https://developer.nvidia.com/blog/how-to-build-domain-specific-automatic-speech-recognition-models-on-gpus