|
# 数字人智能对话系统 - Linly-Talker — “数字人交互,与虚拟的自己互动” |
|
|
|
<div align="center"> |
|
<h1>Linly-Talker WebUI</h1> |
|
|
|
|
|
[![madewithlove](https://img.shields.io/badge/made_with-%E2%9D%A4-red?style=for-the-badge&labelColor=orange)](https://github.com/Kedreamix/Linly-Talker) |
|
|
|
<img src="https://github.com/Kedreamix/Linly-Talker/raw/main/docs/linly_logo.png" /><br> |
|
|
|
[![Open In Colab](https://img.shields.io/badge/Colab-F9AB00?style=for-the-badge&logo=googlecolab&color=525252)](https://colab.research.google.com/github/Kedreamix/Linly-Talker/blob/main/colab_webui.ipynb) |
|
[![Licence](https://img.shields.io/badge/LICENSE-MIT-green.svg?style=for-the-badge)](https://github.com/Kedreamix/Linly-Talker/blob/main/LICENSE) |
|
[![Huggingface](https://img.shields.io/badge/🤗%20-Models%20Repo-yellow.svg?style=for-the-badge)](https://huggingface.co/Kedreamix/Linly-Talker) |
|
|
|
[**English**](https://github.com/Kedreamix/Linly-Talker/blob/main/README.md) | [**中文简体**](https://github.com/Kedreamix/Linly-Talker/blob/main/README_zh.md) |
|
|
|
</div> |
|
|
|
**2023.12 更新** 📆 |
|
|
|
**用户可以上传任意图片进行对话** |
|
|
|
**2024.01 更新** 📆 |
|
|
|
- **令人兴奋的消息!我现在已经将强大的GeminiPro和Qwen大模型融入到我们的对话场景中。用户现在可以在对话中上传任何图片,为我们的互动增添了全新的层面。** |
|
- **更新了FastAPI的部署调用方法。** |
|
- **更新了微软TTS的高级设置选项,增加声音种类的多样性,以及加入视频字幕加强可视化。** |
|
- **更新了GPT多轮对话系统,使得对话有上下文联系,提高数字人的交互性和真实感。** |
|
|
|
**2024.02 更新** 📆 |
|
|
|
- **更新了Gradio的版本为最新版本4.16.0,使得界面拥有更多的功能,比如可以摄像头拍摄图片构建数字人等。** |
|
- **更新了ASR和THG,其中ASR加入了阿里的FunASR,具体更快的速度;THG部分加入了Wav2Lip模型,ER-NeRF在准备中(Comming Soon)。** |
|
- **加入了语音克隆方法GPT-SoVITS模型,能够通过微调一分钟对应人的语料进行克隆,效果还是相当不错的,值得推荐。** |
|
- **集成一个WebUI界面,能够更好的运行Linly-Talker。** |
|
|
|
--- |
|
|
|
<details> |
|
<summary>目录</summary> |
|
|
|
|
|
<!-- TOC --> |
|
|
|
- [数字人对话系统 - Linly-Talker —— “数字人交互,与虚拟的自己互动”](#数字人对话系统---linly-talker--数字人交互与虚拟的自己互动) |
|
- [介绍](#介绍) |
|
- [TO DO LIST](#to-do-list) |
|
- [示例](#示例) |
|
- [创建环境](#创建环境) |
|
- [ASR - Speech Recognition](#asr---speech-recognition) |
|
- [Whisper](#whisper) |
|
- [FunASR](#funasr) |
|
- [TTS - Edge TTS](#tts---edge-tts) |
|
- [Voice Clone](#voice-clone) |
|
- [GPT-SoVITS(推荐)](#gpt-sovits推荐) |
|
- [XTTS](#xtts) |
|
- [THG - Avatar](#thg---avatar) |
|
- [SadTalker](#sadtalker) |
|
- [Wav2Lip](#wav2lip) |
|
- [ER-NeRF(Comming Soon)](#er-nerfcomming-soon) |
|
- [LLM - Conversation](#llm---conversation) |
|
- [Linly-AI](#linly-ai) |
|
- [Qwen](#qwen) |
|
- [Gemini-Pro](#gemini-pro) |
|
- [LLM 多模型选择](#llm-多模型选择) |
|
- [优化](#优化) |
|
- [Gradio](#gradio) |
|
- [启动WebUI](#启动webui) |
|
- [文件夹结构](#文件夹结构) |
|
- [参考](#参考) |
|
- [Star History](#star-history) |
|
|
|
<!-- /TOC --> |
|
|
|
</details> |
|
|
|
|
|
|
|
## 介绍 |
|
|
|
Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术。这个系统通过Gradio平台提供了一个交互式的Web界面,允许用户上传图片与AI进行个性化的对话交流。 |
|
|
|
系统的核心特点包括: |
|
|
|
1. **多模型集成**:Linly-Talker整合了Linly、GeminiPro、Qwen等大模型,以及Whisper、SadTalker等视觉模型,实现了高质量的对话和视觉生成。 |
|
2. **多轮对话能力**:通过GPT模型的多轮对话系统,Linly-Talker能够理解并维持上下文相关的连贯对话,极大地提升了交互的真实感。 |
|
3. **语音克隆**:利用GPT-SoVITS等技术,用户可以上传一分钟的语音样本进行微调,系统将克隆用户的声音,使得数字人能够以用户的声音进行对话。 |
|
4. **实时互动**:系统支持实时语音识别和视频字幕,使得用户可以通过语音与数字人进行自然的交流。 |
|
5. **视觉增强**:通过数字人生成等技术,Linly-Talker能够生成逼真的数字人形象,提供更加沉浸式的体验。 |
|
|
|
Linly-Talker的设计理念是创造一种全新的人机交互方式,不仅仅是简单的问答,而是通过高度集成的技术,提供一个能够理解、响应并模拟人类交流的智能数字人。 |
|
|
|
![The system architecture of multimodal human–computer interaction.](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/HOI.png) |
|
|
|
> 查看我们的介绍视频 [demo video](https://www.bilibili.com/video/BV1rN4y1a76x/) |
|
|
|
|
|
###### 模型文件和权重,请浏览“模型文件”页面获取。 |
|
|
|
|
|
**HuggingFace下载** |
|
|
|
如果速度太慢可以考虑镜像,参考[简便快捷获取 Hugging Face 模型(使用镜像站点)](https://kedreamix.github.io/2024/01/05/Note/HuggingFace/?highlight=镜像) |
|
|
|
```bash |
|
# 从huggingface下载预训练模型 |
|
git lfs install |
|
git clone https://huggingface.co/Kedreamix/Linly-Talker |
|
``` |
|
|
|
**ModelScope下载** |
|
|
|
```bash |
|
# 从modelscope下载预训练模型 |
|
# 1. git 方法 |
|
git lfs install |
|
git clone https://www.modelscope.cn/Kedreamix/Linly-Talker.git |
|
|
|
# 2. Python 代码下载 |
|
pip install modelscope |
|
from modelscope import snapshot_download |
|
model_dir = snapshot_download('Kedreamix/Linly-Talker') |
|
``` |
|
|
|
**移动所有模型到当前目录** |
|
|
|
如果百度网盘下载后,可以参考文档最后目录结构来移动 |
|
|
|
```bash |
|
# 移动所有模型到当前目录 |
|
# checkpoint中含有SadTalker和Wav2Lip |
|
mv Linly-Talker/chechpoints/* ./checkpoints/ |
|
|
|
# SadTalker的增强GFPGAN |
|
# pip install gfpgan |
|
# mv Linly-Talker/gfpan ./ |
|
|
|
# 语音克隆模型 |
|
mv Linly-Talker/GPT_SoVITS/pretrained_models/* ./GPT_SoVITS/pretrained_models/ |
|
|
|
# Qwen大模型 |
|
mv Linly-Talker/Qwen ./ |
|
``` |
|
|
|
|
|
|