Kedreamix commited on
Commit
dca1f25
1 Parent(s): 7a9f647

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +199 -2
README.md CHANGED
@@ -16,6 +16,7 @@
16
 
17
  </div>
18
 
 
19
  **2023.12 更新** 📆
20
 
21
  **用户可以上传任意图片进行对话**
@@ -34,6 +35,12 @@
34
  - **加入了语音克隆方法GPT-SoVITS模型,能够通过微调一分钟对应人的语料进行克隆,效果还是相当不错的,值得推荐。**
35
  - **集成一个WebUI界面,能够更好的运行Linly-Talker。**
36
 
 
 
 
 
 
 
37
  ---
38
 
39
  <details>
@@ -93,11 +100,41 @@ Linly-Talker的设计理念是创造一种全新的人机交互方式,不仅
93
  ![The system architecture of multimodal human–computer interaction.](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/HOI.png)
94
 
95
  > 查看我们的介绍视频 [demo video](https://www.bilibili.com/video/BV1rN4y1a76x/)
96
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
  ###### 模型文件和权重,请浏览“模型文件”页面获取。
99
 
100
 
 
 
 
 
 
 
101
  **HuggingFace下载**
102
 
103
  如果速度太慢可以考虑镜像,参考[简便快捷获取 Hugging Face 模型(使用镜像站点)](https://kedreamix.github.io/2024/01/05/Note/HuggingFace/?highlight=镜像)
@@ -129,7 +166,7 @@ model_dir = snapshot_download('Kedreamix/Linly-Talker')
129
  ```bash
130
  # 移动所有模型到当前目录
131
  # checkpoint中含有SadTalker和Wav2Lip
132
- mv Linly-Talker/chechpoints/* ./checkpoints/
133
 
134
  # SadTalker的增强GFPGAN
135
  # pip install gfpgan
@@ -142,4 +179,164 @@ mv Linly-Talker/GPT_SoVITS/pretrained_models/* ./GPT_SoVITS/pretrained_models/
142
  mv Linly-Talker/Qwen ./
143
  ```
144
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
  </div>
18
 
19
+
20
  **2023.12 更新** 📆
21
 
22
  **用户可以上传任意图片进行对话**
 
35
  - **加入了语音克隆方法GPT-SoVITS模型,能够通过微调一分钟对应人的语料进行克隆,效果还是相当不错的,值得推荐。**
36
  - **集成一个WebUI界面,能够更好的运行Linly-Talker。**
37
 
38
+ **2024.04 更新** 📆
39
+
40
+ - **更新了除 Edge TTS的 Paddle TTS的离线方式。**
41
+ - **更新了ER-NeRF作为Avatar生成的选择之一。**
42
+ - **更新了app_talk.py,在不基于对话场景可自由上传语音和图片视频生成。**
43
+
44
  ---
45
 
46
  <details>
 
100
  ![The system architecture of multimodal human–computer interaction.](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/HOI.png)
101
 
102
  > 查看我们的介绍视频 [demo video](https://www.bilibili.com/video/BV1rN4y1a76x/)
103
+ >
104
+ > 在B站上我录了一系列视频,也代表我更新的每一步与使用方法,详细查看[数字人智能对话系统 - Linly-Talker合集](https://space.bilibili.com/241286257/channel/collectiondetail?sid=2065753)
105
+ >
106
+ > - [🔥🔥🔥数字人对话系统 Linly-Talker🔥🔥🔥](https://www.bilibili.com/video/BV1rN4y1a76x/)
107
+ > - [🚀数字人的未来:Linly-Talker+GPT-SoVIT语音克隆技术的赋能之道](https://www.bilibili.com/video/BV1S4421A7gh/)
108
+ > - [AutoDL平台部署Linly-Talker (0基础小白超详细教程)](https://www.bilibili.com/video/BV1uT421m74z/)
109
+ > - [Linly-Talker 更新离线TTS集成及定制数字人方案](https://www.bilibili.com/video/BV1Mr421u7NN/)
110
+
111
+ ## TO DO LIST
112
+
113
+ - [x] 基本完成对话系统流程,能够`语音对话`
114
+ - [x] 加入了LLM大模型,包括`Linly`,`Qwen`和`GeminiPro`的使用
115
+ - [x] 可上传`任意数字人照片`进行对话
116
+ - [x] Linly加入`FastAPI`调用方式
117
+ - [x] 利用微软`TTS`加入高级选项,可设置对应人声以及音调等参数,增加声音的多样性
118
+ - [x] 视频生成加入`字幕`,能够更好的进行可视化
119
+ - [x] GPT`多轮对话`系统(提高数字人的交互性和真实感,增强数字人的智能)
120
+ - [x] 优化Gradio界面,加入更多模型,如Wav2Lip,FunASR等
121
+ - [x] `语音克隆`技术,加入GPT-SoVITS,只需要一分钟的语音简单微调即可(语音克隆合成自己声音,提高数字人分身的真实感和互动体验)
122
+ - [x] 加入离线TTS以及NeRF-based的方法和模型
123
+ - [ ] `实时`语音识别(人与数字人之间就可以通过语音进行对话交流)
124
+
125
+ 🔆 该项目 Linly-Talker 正在进行中 - 欢迎提出PR请求!如果您有任何关于新的模型方法、研究、技术或发现运行错误的建议,请随时编辑并提交 PR。您也可以打开一个问题或通过电子邮件直接联系我。📩⭐ 如果您发现这个Github Project有用,请给它点个星!🤩
126
+
127
+ > 如果在部署的时候有任何的问题,可以关注[常见问题汇总.md](https://github.com/Kedreamix/Linly-Talker/blob/main/常见问题汇总.md)部分,我已经整理了可能出现的所有问题,另外交流群也在这里,我会定时更新,感谢大家的关注与使用!!!
128
 
129
  ###### 模型文件和权重,请浏览“模型文件”页面获取。
130
 
131
 
132
+ 接下来还需要安装对应的模型,有以下下载方式,下载后安装文件架结构放置,文件夹结构在本文最后有说明。
133
+
134
+ - [Baidu (百度云盘)](https://pan.baidu.com/s/1eF13O-8wyw4B3MtesctQyg?pwd=linl) (Password: `linl`)
135
+ - [huggingface](https://huggingface.co/Kedreamix/Linly-Talker)
136
+ - [modelscope](https://www.modelscope.cn/models/Kedreamix/Linly-Talker/summary)
137
+
138
  **HuggingFace下载**
139
 
140
  如果速度太慢可以考虑镜像,参考[简便快捷获取 Hugging Face 模型(使用镜像站点)](https://kedreamix.github.io/2024/01/05/Note/HuggingFace/?highlight=镜像)
 
166
  ```bash
167
  # 移动所有模型到当前目录
168
  # checkpoint中含有SadTalker和Wav2Lip
169
+ mv Linly-Talker/checkpoints/* ./checkpoints
170
 
171
  # SadTalker的增强GFPGAN
172
  # pip install gfpgan
 
179
  mv Linly-Talker/Qwen ./
180
  ```
181
 
182
+ 为了大家的部署使用方便,更新了一个`configs.py`文件,可以对其进行一些超参数修改即可
183
+
184
+ ```bash
185
+ # 设备运行端口 (Device running port)
186
+ port = 7860
187
+ # api运行端口及IP (API running port and IP)
188
+ mode = 'api' # api 需要先运行Linly-api-fast.py,暂时仅仅适用于Linly
189
+
190
+ # 本地端口localhost:127.0.0.1 全局端口转发:"0.0.0.0"
191
+ ip = '127.0.0.1'
192
+ api_port = 7871
193
+
194
+ # L模型路径 (Linly model path)
195
+ mode = 'offline'
196
+ model_path = 'Qwen/Qwen-1_8B-Chat'
197
+
198
+ # ssl证书 (SSL certificate) 麦克风对话需要此参数
199
+ # 最好调整为绝对路径
200
+ ssl_certfile = "./https_cert/cert.pem"
201
+ ssl_keyfile = "./https_cert/key.pem"
202
+ ```
203
+
204
+ ## 启动WebUI
205
+
206
+ 之前我将很多个版���都是分开来的,实际上运行多个会比较麻烦,所以后续我增加了变成WebUI一个界面即可体验,后续也会不断更新
207
+
208
+ 现在已加入WebUI的功能如下
209
+
210
+ - [x] 文本/语音数字人对话(固定数字人,分男女角色)
211
+ - [x] 任意图片数字人对话(可上传任意数字人)
212
+ - [x] 多轮GPT对话(加入历史对话数据,链接上下文)
213
+ - [x] 语音克隆对话(基于GPT-SoVITS设置进行语音克隆,内置烟嗓音,可根据语音对话的声音进行克隆)
214
+
215
+ ```bash
216
+ # WebUI
217
+ python webui.py
218
+ ```
219
+
220
+ ![](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/WebUI.png)
221
+
222
+
223
+
224
+ 现在的启动一共有几种模式,可以选择特定的场景进行设置
225
+
226
+ 第一种只有固定了人物问答,设置好了人物,省去了预处理时间
227
+
228
+ ```bash
229
+ python app.py
230
+ ```
231
+
232
+ ![](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/UI.png)
233
 
234
+ 最近更新了第一种模式,加入了Wav2Lip模型进行对话
235
+
236
+ ```bash
237
+ python appv2.py
238
+ ```
239
+
240
+ 第二种是可以任意上传图片进行对话
241
+
242
+ ```bash
243
+ python app_img.py
244
+ ```
245
+
246
+ ![](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/UI2.png)
247
+
248
+ 第三种是在第一种的基础上加入了大语言模型,加入了多轮的GPT对话
249
+
250
+ ```bash
251
+ python app_multi.py
252
+ ```
253
+
254
+ ![](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/UI3.png)
255
+
256
+ 现在加入了语音克隆的部分,可以自由切换自己克隆的声音模型和对应的人图片进行实现,这里我选择了一个烟嗓音和男生图片
257
+
258
+ ```bash
259
+ python app_vits.py
260
+ ```
261
+
262
+ 加入了第四种方式,不固定场景进行对话,直接输入语音或者生成语音进行数字人生成,内置了Sadtalker,Wav2Lip,ER-NeRF等方式
263
+
264
+ > ER-NeRF是针对单独一个人的视频进行训练的,所以需要替换特定的模型才能进行渲染得到正确的结果,内置了Obama的权重,可直接用
265
+
266
+ ```bash
267
+ python app_talk.py
268
+ ```
269
+
270
+ ![](https://github.com/Kedreamix/Linly-Talker/raw/main/docs/UI4.png)
271
+
272
+ ## 文件夹结构
273
+
274
+ 所有的权重部分可以从这下载
275
+
276
+ - [Baidu (百度云盘)](https://pan.baidu.com/s/1eF13O-8wyw4B3MtesctQyg?pwd=linl) (Password: `linl`)
277
+ - [huggingface](https://huggingface.co/Kedreamix/Linly-Talker)
278
+ - [modelscope](https://www.modelscope.cn/models/Kedreamix/Linly-Talker/files) comming soon
279
+
280
+ 权重文件夹结构如下
281
+
282
+ ```bash
283
+ Linly-Talker/
284
+ ├── checkpoints
285
+ │   ├── hub
286
+ │   │   └── checkpoints
287
+ │   │   └── s3fd-619a316812.pth
288
+ │   ├── lipsync_expert.pth
289
+ │   ├── mapping_00109-model.pth.tar
290
+ │   ├── mapping_00229-model.pth.tar
291
+ │   ├── SadTalker_V0.0.2_256.safetensors
292
+ │   ├── visual_quality_disc.pth
293
+ │   ├── wav2lip_gan.pth
294
+ │   └── wav2lip.pth
295
+ ├── gfpgan
296
+ │   └── weights
297
+ │   ├── alignment_WFLW_4HG.pth
298
+ │   └── detection_Resnet50_Final.pth
299
+ ├── GPT_SoVITS
300
+ │   └── pretrained_models
301
+ │   ├── chinese-hubert-base
302
+ │   │   ├── config.json
303
+ │   │   ├── preprocessor_config.json
304
+ │   │   └── pytorch_model.bin
305
+ │   ├── chinese-roberta-wwm-ext-large
306
+ │   │   ├── config.json
307
+ │   │   ├── pytorch_model.bin
308
+ │   │   └── tokenizer.json
309
+ │   ├── README.md
310
+ │   ├── s1bert25hz-2kh-longer-epoch=68e-step=50232.ckpt
311
+ │   ├── s2D488k.pth
312
+ │   ├── s2G488k.pth
313
+ │   └── speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch
314
+ ├── Qwen
315
+ │   └── Qwen-1_8B-Chat
316
+ │   ├── assets
317
+ │   │   ├── logo.jpg
318
+ │   │   ├── qwen_tokenizer.png
319
+ │   │   ├── react_showcase_001.png
320
+ │   │   ├── react_showcase_002.png
321
+ │   │   └── wechat.png
322
+ │   ├── cache_autogptq_cuda_256.cpp
323
+ │   ├── cache_autogptq_cuda_kernel_256.cu
324
+ │   ├── config.json
325
+ │   ├── configuration_qwen.py
326
+ │   ├── cpp_kernels.py
327
+ │   ├── examples
328
+ │   │   └── react_prompt.md
329
+ │   ├── generation_config.json
330
+ │   ├── LICENSE
331
+ │   ├── model-00001-of-00002.safetensors
332
+ │   ├── model-00002-of-00002.safetensors
333
+ │   ├── modeling_qwen.py
334
+ │   ├── model.safetensors.index.json
335
+ │   ├── NOTICE
336
+ │   ├── qwen_generation_utils.py
337
+ │   ├── qwen.tiktoken
338
+ │   ├── README.md
339
+ │   ├── tokenization_qwen.py
340
+ │   └── tokenizer_config.json
341
+ └── README.md
342
+ ```