-
git clone
git clone git@github.com: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.serverEnter 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.shPort: 5000
- GPT-Audio (depends on GPT-SoVITS-Inference)
bash ./scripts/services/GPT-Audio.shPort: 7998
- MuseTalk
bash ./scripts/services/MuseTalk.shPort:7999
- Real3DPortrait
bash ./scripts/services/Real3DPortrait.shPort: 8001
- LivePortrait
bash ./scripts/services/LivePortrait.shPort: 8000
- Bucket
bash ./scripts/services/bucket.shPort: 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 pushgit switch main
git pull
git submodule update --recursiveor (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 --listRemember 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 andrew1mail@gmail.com
git config --local user.name andrewhsugithub
git config --local user.email h0920185003@gmail.com
git config --local user.name h44343880Real3DPortrait:
cd Real3DPortrait/
bash ./start.shGPT-SoVITS-Inference:
cd GPT-SoVITS-Inference/
bash ./start.shLivePortrait:
cd LivePortrait/
bash ./start.shGPT-Audio:
cd GPT-Audio
bash ./start.sh- add env variables
cp ./scripts/.env.sh.template ./scripts/.env.shbash ./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)