Skip to content

Commit

Permalink
整理b站程序到独立文件夹
Browse files Browse the repository at this point in the history
  • Loading branch information
Ikaros-521 committed Jun 3, 2023
1 parent a3f4f7c commit 1cb5987
Show file tree
Hide file tree
Showing 21 changed files with 204 additions and 172 deletions.
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -157,13 +157,20 @@ out/*.mp3
log/*.txt
log.txt
output.txt

1.py
db.sqlite3

config2.json
config3.json

bilibili/out/*.mp3
bilibili/log/*.txt
bilibili/log.txt
bilibili/output.txt
bilibili/1.py
bilibili/db.sqlite3
bilibili/config2.json
bilibili/config3.json

kuaishou.py

douyin/config2.json
Expand Down
176 changes: 6 additions & 170 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,181 +2,17 @@

AI Vtuber是一个由`ChatterBot/GPT/Claude`驱动的虚拟主播,可以在`Bilibili/抖音`直播中与观众实时互动。它使用自然语言处理和文本转语音技术(Edge-TTS/VITS-Fast)生成对观众问题的回答。

魔改后的2为VITS版本,可以做复读,也可以沿用原版的ChatterBot进行聊天。

版本3为AI Vtuber Kun的VITS大融合版本(主要更新的版本)。
`bilibili`文件夹,哔哩哔哩版本,含原始项目版本,vits改版,大融合版本。

`douyin`文件夹,抖音版的大融合功能(删了chatterbot)。

## 运行环境

### main.py
- Python 3.6+
- Windows操作系统

### main2.py
- Python 3.8+

### main3.py
- Python 3.10+

### 抖音版(类似main3的版本)
- Python 3.10+

## 抖音版 dy.py (ChatGPT/claude + Edge-TTS/VITS-Fast)
具体说明请参考 [**douyin路径下的README.md**](./douyin/README.md)

## main3.py (chatterbot/ChatGPT/claude + Edge-TTS/VITS-Fast)
在命令行中使用以下命令安装所需库:
```bash
pip install -r requirements3.txt
```
chatterbot相关安装参考main.py的说明。
如果想用chatterbot相关功能,可以直接注释相关部分代码。

配置都在`config.json`
```
{
// 例如:123
"room_display_id": "你的直播间号",
// 选用的聊天类型:chatterbot/gpt/claude/none 其中none就是复读机模式
"chat_type": "none",
// 弹幕语言筛选,none就是全部语言,en英文,jp日文,zh中文
"need_lang": "none",
// 请求gpt/claude时,携带的字符串头部,用于给每个对话追加固定限制
"before_promet": "请简要回复:",
// 请求gpt/claude时,携带的字符串尾部
"after_promet": "",
// 本地违禁词数据路径(你如果不需要,可以清空文件内容)
"badwords_path": "data/badwords.txt",
// 最长阅读的英文单词数(空格分隔)
"max_len": 30,
// 最长阅读的字符数,双重过滤,避免溢出
"max_char_len": 50,
"openai": {
"api": "https://api.openai.com/v1",
"api_key": [
"你的api key"
]
},
// claude相关配置
"claude": {
// claude相关配置
// 参考:https://github.com/bincooo/claude-api#readme
"slack_user_token": "",
"bot_user_id": ""
},
// 语音合成类型选择 edge-tts/vits
"audio_synthesis_type": "edge-tts",
// vits相关配置
"vits": {
"vits_config_path": "E:\\GitHub_pro\\VITS-fast-fine-tuning\\inference\\finetune_speaker.json",
"vits_api_ip_port": "http://127.0.0.1:7860",
"character": "ikaros"
},
// edge-tts选定的说话人
"tts_voice": "zh-CN-XiaoyiNeural",
// chatterbot相关配置
"chatterbot": {
// 机器人名
"name": "bot",
// bot数据库路径
"db_path": "db.sqlite3"
},
// chatgpt相关配置
"chatgpt": {
"model": "gpt-3.5-turbo",
"temperature": 0.9,
"max_tokens": 2048,
"top_p": 1,
"presence_penalty": 0,
"frequency_penalty": 0,
"preset": "请扮演一个AI虚拟主播。不要回答任何敏感问题!不要强调你是主播,只需要回答问题!"
},
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42"
}
```

运行`python main3.py`

## main2.py(vits魔改版)

### 安装依赖
在命令行中使用以下命令安装所需库:
```bash
pip install -r requirements2.txt
```
此外,还需要[下载并安装mpv](https://mpv.io/installation/)。在Windows操作系统上,也需要将 `mpv.exe` 添加到环境变量中。对于其他操作系统,请将其路径添加到系统 `PATH` 环境变量中。

如果ChatterBot安装报错,请前往 https://github.com/RaSan147/ChatterBot_update 安装新版本。下载下来输入`python setup.py install`即可
2个平台的使用说明在各自文件夹内的README.md中有写。

### 前期准备
- live2d模型(可选)
- 第三方库(装个):pip install aiohttp langid pypinyin pykakasi pyautogui
- VITS-Fast(合成语音,注意API请求内容,自行适配)

#### live2d模型
伊卡洛斯模型:[https://www.bilibili.com/video/av672172794](https://www.bilibili.com/video/av672172794)

### 使用
修改main2.py的内容,尤其是vits-fast部分的内容,比如`speakers`,配置完毕后运行`python main2.py`即可。


## main.py(原版程序)

### 安装依赖
在命令行中使用以下命令安装所需库:
```bash
pip install -r requirements.txt
```
此外,还需要[下载并安装mpv](https://mpv.io/installation/)。在Windows操作系统上,也需要将 `mpv.exe` 添加到环境变量中。对于其他操作系统,请将其路径添加到系统 `PATH` 环境变量中。

如果ChatterBot安装报错,请前往 https://github.com/RaSan147/ChatterBot_update 安装新版本。下载下来输入`python setup.py install`即可

### 配置
1. 打开 `main.py` 文件并修改 `database_uri` 变量的值以指定用于存储对话历史的SQLite数据库文件的路径。

### 使用
1. 在命令行中运行以下命令启动程序:
```bash
python main.py
```
2. 输入要连接的B站直播间编号。
3. 按下`Enter`键开始监听弹幕流。

当有观众发送弹幕消息时,机器人将自动生成回复并将其转换为语音。声音文件将被保存并立即播放。

### 如何训练自己的AI?
- 打开`db.txt`,写入你想要训练的内容,格式如下
```
```
- 将文件重命名为`db.txt`
- 在命令行中运行以下命令启动程序:
```bash
python train.py
```
- 训练完的模型名叫`db.sqlite3`,直接双击`main.py`即可使用
- 没有语料?快来加群下载吧![745682833](https://jq.qq.com/?_wv=1027&k=IO1usMMj)

### 常见问题
1. 提示缺少en-core-web-sm,打开终端输入
```bash
python -m spacy download en_core_web_sm
```
2. 报错:no module named ‘spacy’解决办法
```bash
pip install spacy
```

### TODO
- [ ] 优化ChatterBot
- [ ] 重写ChatterBot
## 运行环境
python:3.10
依赖的库在 requirements.txt 中,请自行安装。

### 许可证
## 许可证
MIT许可证。详情请参阅LICENSE文件。

## 扩展
Expand Down
Loading

0 comments on commit 1cb5987

Please sign in to comment.