READ Me
READ Me
1. In Anaconda Prompt:
```
cd C:\path\to\avatarify
run_windows.bat
```
2. Run OBS Studio. It should automaitcally start streaming video from Avatarify to
`OBS-Camera`.
`cam` and `avatarify` windows will pop-up. The `cam` window is for controlling your
face position and `avatarify` is for the avatar animation preview. Please follow
these [recommendations](#driving-your-avatar) to drive your avatars.
**Note:** To reduce video latency, in OBS Studio right click on the preview window
and uncheck Enable Preview.
## Controls
Keys | Controls
--- | ---
1-9 | These will immediately switch between the first 9 avatars.
Q | Turns on StyleGAN-generated avatar. Every time you push the button – new avatar
is sampled.
0 | Toggles avatar display on and off.
A/D | Previous/next avatar in folder.
W/S | Zoom camera in/out.
U/H/J/K | Translate camera. `H` - left, `K` - right, `U` - up, `J` - Down by 5
pixels. Add `Shift` to adjust by 1 pixel.
Shift-Z | Reset camera zoom and translation
Z/C | Adjust avatar target overlay opacity.
X | Reset reference frame.
F | Toggle reference frame search mode.
R | Mirror reference window.
T | Mirror output window.
L | Reload avatars.
I | Show FPS
O | Toggle face detection overlay.
ESC | Quit
* Align your face in the camera window as closely as possible in proportion and
position to the target avatar. Use zoom in/out function (W/S keys) and camera left,
right, up, down translation (U/H/J/K keys). When you have aligned, hit 'X' to use
this frame as reference to drive the rest of the animation
* Use the image overlay function (Z/C keys) or the face detection overlay function
(O key) to match your and avatar's face expressions as close as possible
Alternatively, you can hit 'F' for the software to attempt to find a better
reference frame itself. This will slow down the framerate, but while this is
happening, you can keep moving your head around: the preview window will flash
green when it finds your facial pose is a closer match to the avatar than the one
it is currently using. You will see two numbers displayed as well: the first number
is how closely you are currently aligned to the avatar, and the second number is
how closely the reference frame is aligned.
You want to get the first number as small as possible - around 10 is usually a good
alignment. When you are done, press 'F' again to exit reference frame search mode.
You don't need to be exact, and some other configurations can yield better results
still, but it's usually a good starting point.
## Configure video meeting app
Avatarify supports any video-conferencing app where video input source can be
changed (Zoom, Skype, Hangouts, Slack, ...). Here are a few examples how to
configure particular app to use Avatarify.
### Skype
Go to Settings -> Audio & Video, choose `avatarify` (Linux), `CamTwist` (Mac) or
`OBS-Camera` (Windows) camera.
### Zoom
Go to Settings -> Video and choose `avatarify` (Linux), `CamTwist` (Mac) or `OBS-
Camera` (Windows) from Camera drop-down menu.
### Teams
Go to your profile picture -> Settings -> Devices and choose `avatarify` (Linux),
`CamTwist` (Mac) or `OBS-Camera` (Windows) from Camera drop-down menu.
### Slack
Make a call, allow browser using cameras, click on Settings icon, choose
`avatarify` (Linux), `CamTwist` (Mac) or `OBS-Camera` (Windows) in Video settings
drop-down menu.
## Uninstall
To remove Avatarify and its related programs follow the
[instructions](https://github.com/alievk/avatarify-python/wiki/Removing-Avatarify)
in the Wiki.
## Contribution
* ~~Add support for more platforms (Linux and Mac are already supported).~~
* ~~Remote GPU support. This is a work in progress.~~
* Porting to non-CUDA GPUs (Intel integrated GPUs, AMD GPUs, etc) and optimization.
The goal is to run Avatarify real-time (at least 10FPS) on modern laptops.
## FAQ
Q: **I have an ATI GPU (e.g. Radeon). Why does it work so slow?**
A: To run the neural network Avatarify uses PyTorch library, which is optimized for
CUDA. If PyTorch can’t find a CUDA-enabled GPU in your system it will fallback to
CPU. The performance on the CPU will be much worse.
## Troubleshooting