TouchDesigner - OpenAI API (CHAT-GPT4, DALL·E 3, TTS-1)

 
 

TouchDesigner에서 OpenAI API를 사용하기 위한 .tox assets

 
현재 다음 세 가지의 모델에 대한 패치를 구현하였다.
- Chat Completion(Chat GPT4)
- Image Generation(DALL·E 3)
- Text to Speech(TTS-1)
 
모든 기능 공통사항
- 터치디자이너 2023.11340 버전
- 파이썬 3.11 버전 
 

1. OpenAI 모듈 설치하기

- mac os > terminal.app
- windows > cmd

pip install openai #macOS의 경우 pip가 아니라 pip3으로 해야하는 경우도 있음

 

2. TouchDesigner에서의 설정

TouchDesigner 실행 > Settings (or Preference) > Python 64-bit Module Path
 
- mac OS

/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages

 
- windows (*USERNAME*에는 각 컴퓨터의 user name을 작성)

C:\Users\*USERNAME*\AppData\Local\Programs\Python\Python311\Lib\site-packages

 

3. API-Key

위 파일에는 API-Key가 없기 때문에 개별 OpenAI API(https://openai.com/blog/openai-api)에서 회원가입 후 settings > billing에서 유료 plan을 시작하면 활성화 할 수 있다.
 

4. 개별 파일 

Chat Completion은 ChatGPT-4 모델을 기반으로 제작하였으며 Max Token과 Temperature을 설정할 수 있다. Max Token은 응답의 길이와 관련이 있으며 짧은 대답을 원할 경우 숫자를 줄이면 답변의 길이도 짧아진다. 물론 프롬프트에서 글자 수 제한을 줄 수도 있다. Temperature은 응답의 다양성과 연관되는데 숫자가 낮을수록 일관된 답변이, 높을수록 다양한 답변이 나온다. 범위는 0~2 사이로 설정할 수 있다.
 
Image Generation은 DALL·E 3 모델을 기반으로 제작하였으며 2와 달리 편집 기능이 없는 대신 조금 더 고퀄리티의 이미지를 생성하는것이 가능하다. 사이즈는 1024x1024, 1024x1792, 1792x1024 픽셀 세 가지만 가능하다. image generation은 이미지를 저장하는 것이 아니라 웹 서버에 이미지가 생성되고 그것을 Web Render TOP으로 가져오는 구조인데 이미지를 생성할 때마다 대기 시간이 조금 걸리는 문제가 있다.
 
Text to Speech는 텍스트를 음성합성을 통해 mp3 파일로 변환해주는 기능이다. TTS-1 모델을 사용하고 있으며 Voice를 선택할 수 있으며 한글도 지원한다. text 파라미터에 읽고자 하는 문자를 작성하고 Folder에 해당 .mp3파일이 저장될 경로를 지정해주면 된다. 파일 제목은 text_voice type의 조합으로 저장되기 때문에 중복이름이 있을 경우 자동으로 대체(replace)한다.  base의 output에 audio device out 을 연결해주면 들을 수 있고 play관련 속성을 변경하고자 하면 베이스 내부의 'TTS' audio file in CHOP을 변경해주면 된다.
 
각 Parameter를 올바르게 지정한 후 send request 파라미터의 Pulse를 누르면 생성되는 결과를 확인할 수 있다.
 
 🔗dowunload
https://github.com/imehlee/TouchDesigner-OpenAI-API