From c261413759f752c3e6b4a4d1659c144d0beb2c2b Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Mon, 15 May 2023 19:40:58 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E9=9C=80=E6=B1=82=E6=96=87=E4=BB=B6=EF=BC=8C=E7=9B=91?= =?UTF-8?q?=E5=90=AC=E6=94=B9=E4=B8=BA=E5=85=A8=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + SocketServer.py | 3 +- environment.yaml | 105 +++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | Bin 2792 -> 1320 bytes run-gpt3.5-api.bat | 17 ++++---- 5 files changed, 117 insertions(+), 10 deletions(-) create mode 100644 .gitignore create mode 100644 environment.yaml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e11a054 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +__pycache__/* +models/* \ No newline at end of file diff --git a/SocketServer.py b/SocketServer.py index 0e5145d..ecc12b0 100644 --- a/SocketServer.py +++ b/SocketServer.py @@ -62,7 +62,8 @@ def __init__(self, args): self.addr = None self.conn = None logging.info('Initializing Server...') - self.host = socket.gethostbyname(socket.gethostname()) + # self.host = socket.gethostbyname(socket.gethostname()) + self.host = "0.0.0.0"# 所有地址上面监听 self.port = 38438 self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.s.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 10240000) diff --git a/environment.yaml b/environment.yaml new file mode 100644 index 0000000..aa6a913 --- /dev/null +++ b/environment.yaml @@ -0,0 +1,105 @@ +name: dlife +channels: + - defaults +dependencies: + - _libgcc_mutex=0.1=main + - _openmp_mutex=5.1=1_gnu + - ca-certificates=2023.01.10=h06a4308_0 + - ld_impl_linux-64=2.38=h1181459_1 + - libffi=3.4.4=h6a678d5_0 + - libgcc-ng=11.2.0=h1234567_1 + - libgomp=11.2.0=h1234567_1 + - libstdcxx-ng=11.2.0=h1234567_1 + - ncurses=6.4=h6a678d5_0 + - openssl=1.1.1t=h7f8727e_0 + - pip=23.0.1=py38h06a4308_0 + - python=3.8.16=h7a1cb2a_3 + - readline=8.2=h5eee18b_0 + - setuptools=66.0.0=py38h06a4308_0 + - sqlite=3.41.2=h5eee18b_0 + - tk=8.6.12=h1ccaba5_0 + - wheel=0.38.4=py38h06a4308_0 + - xz=5.4.2=h5eee18b_0 + - yaml=0.2.5=h7b6447c_0 + - zlib=1.2.13=h5eee18b_0 + - pip: + - aiohttp==3.8.4 + - aiosignal==1.3.1 + - anyio==3.6.2 + - appdirs==1.4.4 + - async-timeout==4.0.2 + - async-tio==1.3.2 + - attrs==23.1.0 + - audioread==3.0.0 + - certifi==2022.12.7 + - cffi==1.15.1 + - charset-normalizer==2.1.1 + - cmake==3.25.0 + - cn2an==0.5.19 + - coloredlogs==15.0.1 + - cython==0.29.34 + - decorator==5.1.1 + - filelock==3.9.0 + - flatbuffers==23.5.9 + - frozenlist==1.3.3 + - fsspec==2023.5.0 + - h11==0.14.0 + - httpcore==0.17.0 + - httpx==0.24.0 + - huggingface-hub==0.14.1 + - humanfriendly==10.0 + - idna==3.4 + - importlib-metadata==6.6.0 + - jieba==0.42.1 + - jinja2==3.1.2 + - joblib==1.2.0 + - lazy-loader==0.2 + - librosa==0.10.0.post2 + - lit==15.0.7 + - llvmlite==0.40.0 + - markupsafe==2.1.2 + - mpmath==1.2.1 + - msgpack==1.0.5 + - multidict==6.0.4 + - networkx==3.0 + - numba==0.57.0 + - numpy==1.24.1 + - onnxruntime==1.14.1 + - openai==0.27.6 + - openaiauth==0.3.6 + - packaging==23.1 + - pillow==9.3.0 + - pooch==1.6.0 + - proces==0.1.4 + - prompt-toolkit==3.0.38 + - protobuf==4.23.0 + - pycparser==2.21 + - pypinyin==0.49.0 + - pysocks==1.7.1 + - pyyaml==6.0 + - regex==2023.5.5 + - requests==2.28.1 + - revchatgpt==5.0.2 + - scikit-learn==1.2.2 + - scipy==1.10.1 + - sniffio==1.3.0 + - socksio==1.0.0 + - soundfile==0.12.1 + - soxr==0.3.5 + - sympy==1.11.1 + - threadpoolctl==3.1.0 + - tiktoken==0.4.0 + - tokenizers==0.13.3 + - torch==2.0.1+cu118 + - torchaudio==2.0.2+cu118 + - torchvision==0.15.2+cu118 + - tqdm==4.65.0 + - transformers==4.29.1 + - triton==2.0.0 + - typeguard==2.13.3 + - typing-extensions==4.4.0 + - urllib3==1.26.13 + - wcwidth==0.2.6 + - yarl==1.9.2 + - zipp==3.15.0 +prefix: /home/sean/anaconda3/envs/dlife diff --git a/requirements.txt b/requirements.txt index a14d969f837dcbffcfe237a425d304fe175cca6e..a124164e5107ecb2808c6232cf543165f0fe6833 100644 GIT binary patch literal 1320 zcmYjR%Z}VO5WMqOf+0lBYv-WD!UrRP4KLtaaxyp)rQr@m(j>LJ+OJO)H3)L-Wib=>vk6P-x`S*O z^Kc@G72qg^DJ`nWM(Aa*AsIceW&=lWQn8~&K-0ETwel?bk+zcR2mt*}r)$e-iaER~ z?;+hm2c#hUGH=+AfYub~rwKg*N&0rUCK=Y{PXEaoKG zTa#X(qm*B)bK$+~uzWO#A@mg~d5bCZ21>z_fD6_f%dUjr?wp@O-9OP?0`x$oqad=@ zK2n@jk*$IqEzYG%>_7p%tUn>AdM{@JSpRwc{;f_gl9>z!hv+GqBkbRc$%Tg^+b0Ak z^Y-PY%h#8`DNk-F_ZDz=&gg^|Tx0cZG+}2-WN&dgkIQRBX7kPDx^h_jK#kWqDUcjK z>h=La--H z-~8?W{cjckYe9(Yzn9;`Op;H$rjoSJBaXke0rMBaOSUkLeGsxnGc7vdPr+0b1~)PN vG9SfwHUL0;SO{H`gV6Vtz7t}_d;e~SO*1Vtv+7j8z6-ehw6Xq+l)v~FR$zv# literal 2792 zcmZ{mOK%fF5QOK9#4kZccOD?R)01R-Ew5E7_1`9ZhO*-~Y<$Y}7;*CX zbJ>ctou~AXUDzxwa%7lmIgwwPTRB)o}<1K3%?h=Sf{>K8xJfwAC=@>MT3$k zuI3n6DtRna%{(G-nk@F2$+8bDOW^@UAxohb_40WUv1Vzhmp$NPn9kypJToym2^0%O z8mK-pZiByd`WYDdabRRzOx-_Nrys1-7m;M6puf{+ntXwhRtWELOSeTJ(G_TEux0 zezex&B*Iagu7t1D=TfzymVt5}Rb%dmbDC)^^u3h#UgsA2MsFU&dl)@2S8M&wgb~FR zQO#|fnKr+>-&P{lw}IqV)}lQJW1fXuF**%4jm?(a8#?n-IKIlG(sw$(k0@ku1UfN| z&eS~w8TE5@qKZys?@hW_wVXOATIOTitMa|#?4^~X&VJN)G~rHq5*%qOE3BbWtQomE z-74ow9QAk^ zwui8V{)~>9Div|B7-gVfr{ya8+Ne|mdSJ(9u8PRxdH&GYuhW}!t!SAIssO9KG7pnh zm*x`>Bf3%iO?3Go@_5d3HT01A?U*)Gu(XTbqj66ync>=ZgRS(69mkenL)|Hx88@F` zy^OxtA3yH{aKf8+t7G1XRcfVk-tXkJ;=KdleWsjwzgn|+6ivN&>~!9@QnyXVaj&_< z_~bhPy`qOvumkF@o8b8fA1OZ-jie!WhO=K(&HMB&EFG_8Ug>S! z`F6J-j&wEzHYiQP=C1h_No`G zd9FNl_N1b0^Q1dltut%QD_j5c=FNFBOMN@t>+DR#JR*RDELK#v(Q3tJcCyW^phfO} zwAM!lexqYHazCx;jp{zAULq02JAz1ThC6*$`egq4xva6ymT&96{)yK4?Ul!~Llv&) znSMJe Date: Mon, 15 May 2023 20:17:06 +0800 Subject: [PATCH 2/9] =?UTF-8?q?cython=E5=BE=97=E5=88=B0so?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 5 ++++- readme.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index e11a054..62ae50e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ __pycache__/* -models/* \ No newline at end of file +models/* +/tmp/* +/TTS/vits/* +*.log \ No newline at end of file diff --git a/readme.md b/readme.md index 07090f1..7618aa7 100644 --- a/readme.md +++ b/readme.md @@ -24,7 +24,7 @@ git clone https://github.com/zixiiu/Digital_Life_Server.git --recursive cd "TTS/vits/monotonic_align" mkdir monotonic_align python setup.py build_ext --inplace - cp monotonic_align/*.pyd . + cp monotonic_align/*.so . ``` 4. Download models From ca854b750d7c0810f5aaff25d493088fef3261d9 Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Mon, 15 May 2023 20:27:01 +0800 Subject: [PATCH 3/9] =?UTF-8?q?tmp=5Frecv=5Ffile=E7=9A=84=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E6=96=87=E4=BB=B6=E5=A4=B9=E6=94=B9=E4=B8=BA=E6=A0=B9?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SocketServer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SocketServer.py b/SocketServer.py index ecc12b0..812ada8 100644 --- a/SocketServer.py +++ b/SocketServer.py @@ -68,8 +68,8 @@ def __init__(self, args): self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.s.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 10240000) self.s.bind((self.host, self.port)) - self.tmp_recv_file = 'tmp/server_received.wav' - self.tmp_proc_file = 'tmp/server_processed.wav' + self.tmp_recv_file = '/tmp/server_received.wav'# 改为根目录 + self.tmp_proc_file = '/tmp/server_processed.wav' ## hard coded character map self.char_name = { From 3284c4c558727b2f53a458fe806efbb55e564511 Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Mon, 15 May 2023 21:02:50 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86linux=E7=9A=84?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 1 + readme_detail.md | 53 ++++++++++++++---------------------------------- 2 files changed, 16 insertions(+), 38 deletions(-) diff --git a/readme.md b/readme.md index 7618aa7..fcbe772 100644 --- a/readme.md +++ b/readme.md @@ -10,6 +10,7 @@ For other part of the project, please refer to: git clone https://github.com/zixiiu/Digital_Life_Server.git --recursive ``` ### Install prerequisites +建议看[readme_detail.md](readme_detail.md) 1. install pytorch ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 diff --git a/readme_detail.md b/readme_detail.md index 2459aab..4f2eb63 100644 --- a/readme_detail.md +++ b/readme_detail.md @@ -1,60 +1,37 @@ ## 搭建”数字生命“服务: > ⚠ 注意: -> 如果不知道你在干什么(纯小白),请在**需要存放该项目的位置**打开终端(Win11)或Powershell(win10),然后**按照下述说明逐步操作**即可 -> 在进行以下操作前,请确保电脑中有Git和Python>=3.8 +> 现在是linux(ubuntu)的配置。使用python3.8 ### 克隆仓库 ```bash git clone https://github.com/zixiiu/Digital_Life_Server.git --recursive cd Digital_Life_Server ``` -### 保姆式配置环境 -1. 使用virtualvenv建立python虚拟环境 +### 配置环境 +1. 使用conda建立python虚拟环境 ```bash -python -m venv venv +conda env create -f environment.yaml ``` -2. 安装pytorch于venv +这样会自动创建一个名字叫dlife的环境 -> 你可以在终端(或Powershell)输入`nvcc --version`,找到输出中`Cuda compilation tools`一行来查看cuda版本 +requirements.txt是pip的,没有anaconda可以一试,不过yaml这个包好像是用conda装的 +到时候自己注意点。 -对于cuda11.8: - -(默认地址,下载可能较慢) -```bash -.\venv\Scripts\python.exe -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -``` -(国内加速地址,下载可能较快) -```bash -.\venv\Scripts\python.exe -m pip install torch==2.0.0+cu118 torchvision torchaudio -f https://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html -``` - -对于没有Nvidia显卡的电脑: - -(默认地址,下载可能较慢) -```bash -.\venv\Scripts\python.exe -m pip install torch torchvision torchaudio -``` -(国内加速地址,下载可能较快) -```bash -.\venv\Scripts\python.exe -m pip install torch==2.0.0+cpu torchvision torchaudio -f https://mirror.sjtu.edu.cn/pytorch-wheels/torch_stable.html -``` -其余版本组合可以从[这个页面](https://pytorch.org/get-started/locally)获取具体的下载指令 - -3. 安装项目所需其它依赖项 - ```bash -.\venv\Scripts\python.exe -m pip install -r requirements_out_of_pytorch.txt -i https://pypi.tuna.tsinghua.edu.cn/simple - ``` -4. Build `monotonic_align` +2. Build `monotonic_align` ```bash cd "TTS/vits/monotonic_align" mkdir monotonic_align python setup.py build_ext --inplace -cp monotonic_align/*.pyd . +cp monotonic_align/*.so . ``` > 到这里,项目构建完毕🥰 -5. 下载项目所需模型 -[百度网盘](https://pan.baidu.com/s/1EnHDPADNdhDl71x_DHeElg?pwd=75gr) +3. 下载项目所需模型 +[百度网盘](https://pan.baidu.com/s/1EnHDPADNdhDl71x_DHeElg?pwd=75gr) +视频简介下面也有别的网盘的链接。在里面找对应的目录就行。 +注意TTS的一个模型名字应该是paimon6k_390k.pth +如果下载的是paimon6k_390000.pth请把名字修改为paimon6k_390k.pth + ASR Model: to `/ASR/resources/models` Sentiment Model: From 5dd2554565b2e5f66957d204d4ae16c7fd992d91 Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Mon, 15 May 2023 21:11:58 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BA=86linux=E7=9A=84?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme_detail.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme_detail.md b/readme_detail.md index 4f2eb63..b32dae2 100644 --- a/readme_detail.md +++ b/readme_detail.md @@ -7,6 +7,7 @@ git clone https://github.com/zixiiu/Digital_Life_Server.git --recursive cd Digital_Life_Server ``` ### 配置环境 +**需要显卡,且需要cuda11.8** 1. 使用conda建立python虚拟环境 ```bash conda env create -f environment.yaml From de6637648f8ec3fee36aa84eb098bd979a8b1a5f Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Mon, 15 May 2023 21:13:38 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84=E5=91=BD=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run-gpt3.5-api.bat | 1 - 1 file changed, 1 deletion(-) diff --git a/run-gpt3.5-api.bat b/run-gpt3.5-api.bat index b252c09..12b0476 100644 --- a/run-gpt3.5-api.bat +++ b/run-gpt3.5-api.bat @@ -4,6 +4,5 @@ PROXY=http://127.0.0.1:7890 STREAM=False CHARACTER=paimon MODEL=gpt-3.5-turbo -echo $SCRIPT_NAME python $SCRIPT_NAME --chatVer $CHATVER --stream $STREAM --character $CHARACTER --model $MODEL From 584aa7c46ce64f8573db1c3f59093c621c62d22a Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Wed, 17 May 2023 22:48:57 +0800 Subject: [PATCH 7/9] edit readme --- readme.md | 2 +- readme_detail.md | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index fcbe772..10f03f1 100644 --- a/readme.md +++ b/readme.md @@ -7,7 +7,7 @@ For other part of the project, please refer to: ## Getting stuffs ready to roll: ### Clone this repo ```bash -git clone https://github.com/zixiiu/Digital_Life_Server.git --recursive +git clone https://github.com/seanxpw/Digital_Life_Server.git -b linux_ver_python3.8 --recursive ``` ### Install prerequisites 建议看[readme_detail.md](readme_detail.md) diff --git a/readme_detail.md b/readme_detail.md index b32dae2..80dbbf3 100644 --- a/readme_detail.md +++ b/readme_detail.md @@ -3,7 +3,7 @@ > 现在是linux(ubuntu)的配置。使用python3.8 ### 克隆仓库 ```bash -git clone https://github.com/zixiiu/Digital_Life_Server.git --recursive +git clone https://github.com/seanxpw/Digital_Life_Server.git -b linux_ver_python3.8 --recursive cd Digital_Life_Server ``` ### 配置环境 @@ -13,6 +13,10 @@ cd Digital_Life_Server conda env create -f environment.yaml ``` 这样会自动创建一个名字叫dlife的环境 +如果报错的话先下载pytorch就好。 +```bash +pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 +``` requirements.txt是pip的,没有anaconda可以一试,不过yaml这个包好像是用conda装的 到时候自己注意点。 @@ -45,4 +49,8 @@ to `/TTS/models` > 启动前,不要忘记根据实际情况修改bat文件中的具体配置 ```bash run-gpt3.5-api.bat -``` \ No newline at end of file +``` + +实测python3.8会报一个版本检查的错误 +在lib/python3.8/site-packages/revChatGPT/__init__.py,line 23 +把数字9改成8就行 \ No newline at end of file From 2fa297ffd8e1e31cdd68674f4448b30e4ab43934 Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Wed, 17 May 2023 22:52:39 +0800 Subject: [PATCH 8/9] edit readme --- readme_detail.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/readme_detail.md b/readme_detail.md index 80dbbf3..7b3f4f3 100644 --- a/readme_detail.md +++ b/readme_detail.md @@ -13,7 +13,11 @@ cd Digital_Life_Server conda env create -f environment.yaml ``` 这样会自动创建一个名字叫dlife的环境 -如果报错的话先下载pytorch就好。 +如果已经有了dlife +```bash +conda env update dlife -f environment.yaml +``` +如果安装包的时候报错的话先运行下面的命令下载pytorch就好。 ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 ``` From e6a1630fb7a73fa4640c80dbeaf7071701c0864f Mon Sep 17 00:00:00 2001 From: seanxpw <1215711652@QQ.com> Date: Wed, 17 May 2023 22:59:10 +0800 Subject: [PATCH 9/9] edit readme --- readme_detail.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/readme_detail.md b/readme_detail.md index 7b3f4f3..777c2c4 100644 --- a/readme_detail.md +++ b/readme_detail.md @@ -56,5 +56,8 @@ run-gpt3.5-api.bat ``` 实测python3.8会报一个版本检查的错误 -在lib/python3.8/site-packages/revChatGPT/__init__.py,line 23 +在 +```bash +dlife/lib/python3.8/site-packages/revChatGPT/__init__.py, line 23 +``` 把数字9改成8就行 \ No newline at end of file