This project demonstrate how to use custom ML model in the TouchDesigner. The solution consists from two components:
- Script TOP in the TouchDesigner.
- External process to process data.
sequenceDiagram
participant T as TouchDesigner
participant S as Shared memory
participant P as Python external process
T->>S: Send frame to shared memory
S->>P: Read frame from shared memory
P->>S: Process frame and write to shared memory
S->>T: Read processed frame from shared memory
- Python 3.9 or higher. It is more preferable to have same version as in the TouchDesigner.
For GPU:
pip install -r. /requirements.gpu.txt
For CPU:
pip install -r. /requirements.cpu.txt
For development:
pip install -r ./requirements.dev.txt
You need C compiler to compile extension.
pip install -e .
To compile binary distribution:
python -m cibuildwheel --platform <your_platform>
Install binary distribution:
pip install ./dist/*.whl
Run:
python ./main.py -c <checkpoint_path> -i <video_path> -o <video_path>
Run server processing:
python ./processing.py -p <path_to_model>
Open touch_designer.py
in the TouchDesigner as script TOP.