-
git clone
git clone [email protected]:andrewhsugithub/SynthHead-Fusion.git --recursive git submodule update --recursive pnpm i
-
copy env files
cp ./scripts/.env.sh.template ./scripts/.env.sh cp ./scripts/services/.env.server ./scripts/services/.env.server
Enter the env values
-
update user db
cd packages/user docker compose up pnpm user:db docker compose down
-
copy env and paste your pubic key(.pem file) into keys folder for each microservice
- auth service
cd packages/auth/ cp .env.template .env
- bucket service
cd packages/bucket/ cp .env.template .env cp .env.server.template .env.server
- GPT-Audio
cd packages/GPT-Audio/ cp .env.template .env cp .env.server.template .env.server
- GPT-SoVITS-Inference
cd packages/GPT-SoVITS-Inference/ cp .env.server.template .env.server
- LivePortrait
cd packages/LivePortrait/ cp .env.server.template .env.server
- MuseTalk
cd packages/MuseTalk/ cp .env.template .env cp .env.server.template .env.server
- Real3DPortrait
cd packages/Real3DPortrait/ cp .env.server.template .env.server
Enter the env values
-
spin up servers
docker compose up pnpm dev:remote
Note: all env values can be found in discord
Run each service in an independent shell.
- GPT-SoVITS-Inference
bash ./scripts/services/GPT-SoVITS-Inference.sh
Port: 5000
- GPT-Audio (depends on GPT-SoVITS-Inference)
bash ./scripts/services/GPT-Audio.sh
Port: 7998
- MuseTalk
bash ./scripts/services/MuseTalk.sh
Port:7999
- Real3DPortrait
bash ./scripts/services/Real3DPortrait.sh
Port: 8001
- LivePortrait
bash ./scripts/services/LivePortrait.sh
Port: 8000
- Bucket
bash ./scripts/services/bucket.sh
Port: 3002
Note: to avoid sync errors I've temporarily put the repos that are not submodules in
.gitignore
, so if you've decided to add your repo to submodules remember to remove them from.gitignore
cd ml/
git submodule add <remote_url> <repo_name>
git status # (optional): see your repo is untracked or not
git add <repo_name>
git commit -m <commit_message>
git push
git switch main
git pull
git submodule update --recursive
or (WIP: need to wait for all submodules to be added)
cd ml/scripts/
bash sync_repo.sh <branch_name>
To see who's name is it now:
cd <the_repo_contributing>
git config --local --list
Remember to change your name when contributing
cd <the_repo_contributing>
git config --local user.email <your_email>
git config --local user.name <your_username>
example:
cd LivePortrait/
git config --local user.email [email protected]
git config --local user.name andrewhsugithub
git config --local user.email [email protected]
git config --local user.name h44343880
Real3DPortrait:
cd Real3DPortrait/
bash ./start.sh
GPT-SoVITS-Inference:
cd GPT-SoVITS-Inference/
bash ./start.sh
LivePortrait:
cd LivePortrait/
bash ./start.sh
GPT-Audio:
cd GPT-Audio
bash ./start.sh
- add env variables
cp ./scripts/.env.sh.template ./scripts/.env.sh
bash ./scripts/run_all.sh
- add logger, openapi, docs to every service
- add Read3D-Interface into submodule
- add videoCutting into submodule
- turn into web app
- make realtime
- use gfpgan to make higher resolution (can this be done in realtime though?)
- use frame interpolation methods to make video more smooth (for demo purposes, can't do this in realtime)