AI Powered Voice Chat
Eng | 繁中 | 日本語 | 한국어 | 简中 |
AI Powered Voice Chat
주요 기능
- OpenAI, 로컬 또는 원격 텍스트 생성 웹UI를 사용할 수 있는 옵션
- AI가 생성한 메시지를 음성으로 변환하는 내장 TTS 엔진
- 대화하는 동안 캐릭터의 얼굴을 자동으로 애니메이션하는 내장 립싱크
- 음성을 텍스트로 변환하고 AI에게 전송하는 내장 음성 인식
- 선택할 수 있는 900개 이상의 영어 음성, 각 캐릭터마다 고유한 음성을 가질 수 있음
제한 사항
- 음성 엔진은 Windows 전용입니다. 다른 플랫폼에서는 음성 인식을 사용하여 대화할 수 있지만 응답은 텍스트만 됩니다.
## AI 서비스
캐릭터에 지능을 부여하기 위해 사용할 수 있는 다양한 AI 서비스 옵션이 있습니다. 각 옵션의 장단점에 대해 아래에서 논의하겠습니다.
OpenAI (ChatGPT)
현재 가장 지능적인 옵션입니다.
장점:
- 스마트
- 빠름
- 다른 원격 옵션과 비교하여 비용 효율적
단점:
- 검열됨
설정: DanceXR에서 OpenAI 서비스를 사용하려면 OpenAI API 키가 필요합니다.
- OpenAI 계정에 등록하고 로그인합니다.
- 페이지 오른쪽 상단의 프로필 아이콘을 클릭합니다.
- API 페이지를 열려면 “API 키 보기”를 선택합니다.
- “새 비밀 키 생성”을 클릭하고 키가 표시되면 키를 복사합니다. 키는 여기서 한 번만 표시되므로 나중에 전체 키를 검색할 수 없으니 분실하지 마십시오.
- DanceXR을 열고 채팅 메뉴에서 구성 아이콘을 클릭합니다.
- AI 서비스로 이동하여 “OpenAI API 키” 상자에 키를 붙여넣습니다.
- 그런 다음 “AI 서비스” 드롭다운에서 “OpenAI (ChatGPT)”를 선택하면 됩니다.
- 채팅 설정에서 사용할 모델을 선택할 수 있습니다.
OobaBooga 텍스트 생성 WebUI
이 옵션을 사용하면 PC가 충분히 강력한 경우 로컬에서 대형 언어 모델 (LLM)을 실행할 수 있습니다. 7b 또는 13b 모델은 채팅에 충분합니다.
장점:
- 개인 정보 보호, 아무것도 전송되지 않고 모든 것이 로컬에서 처리됩니다.
- NSFW 콘텐츠에 대해 검열되지 않은 모델을 사용할 수 있습니다.
- 무료
단점:
- OpenAI 모델만큼 스마트하지 않음
- 약간의 설정이 필요함
- VRAM이 충분하지 않으면 매우 느려질 수 있습니다. 특히 DanceXR을 동시에 실행할 때 시스템이 LLM을 가상 VRAM으로 밀어 넣을 수 있으며 이는 성능을 파괴할 것입니다.
설정:
- 여기의 지침을 따라 다운로드하고 설치하십시오. https://github.com/oobabooga/text-generation-webui
- WebUI가 DanceXR과 작동하도록하려면 API를 켜야합니다. 이를 위해 CMD_FLAGS.txt 파일을 열고 거기에 “–listen –api”를 추가한 다음 다시 시작하십시오.
- 실행 중이면 모델 탭으로 이동하여 모델을 다운로드하십시오.
- 다음 2개 모델 중 하나를 사용하는 것이 좋습니다: https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GPTQ (7b, 더 쉽게 실행) https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GPTQ (13b, 더 똑똑함)
- 모델 목록을 새로 고치고로드하십시오.
- DanceXR에서 AI 서비스 -> 서비스 선택에서 “로컬 WebUI”를 선택하십시오.
- 기본 URL (http://127.0.0.1:5000)은 설정에 따라 다른 포트 또는 URL이 필요하지 않는 한 작동해야합니다.
Runpod와 같은 원격 서비스 사용하여 WebUI 실행
GPU를 빌릴 수 있게 해주는 서비스가 있습니다. Runpod가 그 중 하나입니다. 그들은 WebUI에 대한 템플릿을 가지고 있으며 로컬에서 실행하는 것보다 쉽습니다.
장점:
- 빠르고 쉬움
- 로컬 GPU에서 실행할 수 없는 모델을 선택할 수 있음
단점:
- OpenAI보다 약간 더 비싸지만
- 실행할 때마다 모델을 다운로드해야 합니다. 그러나 몇 분 정도 소요될 것입니다.
설정:
- “커뮤니티 클라우드”에서 GPU를 선택하고 “배포”를 클릭하십시오. 3080ti는 13b 모델을 실행하는 데 충분합니다. 시간당 26센트가 듭니다.
- 템플릿 드롭다운에서 “RunPod TheBloke LLMs”를 선택하십시오.
- 실행 중이면 연결을 클릭하고 WebUI 및 API에 대한 링크를 제공하며 API의 URL을 복사하여 DanceXR의 “원격 WebUI URL” 상자에 붙여넣으십시오.
- WebUI 링크를 클릭한 다음 모델 탭으로 이동하여 모델을 다운로드하십시오.
- 다음 2개 모델 중 하나를 사용하는 것이 좋습니다: https://huggingface.co/TheBloke/Luna-AI-Llama2-Uncensored-GPTQ (7b, 더 쉽게 실행) https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GPTQ (13b, 더 똑똑함)
- 모델 목록을 새로 고치고로드하십시오.
## 채팅 제어
템플릿
템플릿은 AI 모델이 각 캐릭터에 대한 채팅 메시지를 생성하는 데 사용되는 것입니다. 복잡하다고 생각할 수 있지만 실제로는 매우 간단합니다. 기본 템플릿을 열어서 어떻게 작동하는지 확인하려면 채팅/템플릿 폴더를 열 수 있습니다.
기본 템플릿을 수정하고 다른 이름으로 저장하여 채팅 내용에 어떤 영향을 미치는지 확인할 수 있습니다. 예를 들어, 거기에 환경의 설명을 추가하여 채팅의 시나리오를 설정할 수 있습니다.
DanceXR에서 채팅 설정 -> 템플릿으로 이동하여 생성한 템플릿을 선택할 수 있습니다.
캐릭터
캐릭터는 배우 모델의 이름에서 파생됩니다. 예를 들어 “Koharu Bouquet Cattleya Hair B Side Ponytail”에서 “Koharu”는 캐릭터 이름으로 해석되고 나머지 “Bouquet Cattleya Hair B Side Ponytail”은 그녀의 의상에 대한 설명으로 사용됩니다.
언어 모델은 잘 알려진 경우 캐릭터에 대한 지식을 가질 수 있으므로 때로는 그들이 누구인지, 어떻게 행동하는지를 알고 있을 수 있습니다. 특히 OpenAI를 사용할 때입니다.
캐릭터 설정에서 캐릭터에 대한 설명과 성격을 입력할 수 있으며, 이것은 채팅에서 그들이 어떻게 행동하는지에 큰 영향을 미칠 것입니다. 예를 들어, 자랑스럽고 거만한 캐릭터를 “순종적이고 기꺼이 도와주는” 것으로 묘사함으로써 순종적으로 바꿀 수 있습니다.
“플레이어” 또한 기술적으로 캐릭터이며, 자신에 대한 이름, 설명 및 성격을 변경하여 원하는 누구든지 될 수 있습니다.
페르소나
캐릭터 설정에는 페르소나 드롭다운이 있습니다. 이를 사용하면 TavernAI와 같은 AI 롤플레이 프로그램에서 다운로드한 캐릭터를 사용할 수 있습니다. 이들은 일반적으로 PNG 형식으로 제공됩니다. PNG 이미지의 메타데이터에는 캐릭터에 대한 설명이 포함되어 있습니다.
이 온라인 캐릭터 편집기를 사용하여 PNG 캐릭터를 json 형식으로 변환하십시오. https://zoltanai.github.io/character-editor/
그런 다음 json을 “채팅/페르소나” 폴더에 넣으면 캐릭터 설정의 페르소나 드롭다운에 나타날 것입니다. 이렇게 하면 페르소나의 설명이 캐릭터 설명을 덮어쓸 것입니다.
채팅 기록
채팅 기록은 새로운 콘텐츠를 생성할 때마다 AI에게 전송되어 컨텍스트를 유지합니다. 다른 시나리오나 주제로 전환하려면 먼저 기록을 지워서 이전 채팅 컨텍스트에 영향을 받지 않도록 해야 합니다. 또한 이를 사용하여 환경을 조작하고 채팅을 이끌 수 있습니다. 메시지에서 일어난 일을 설명하면 AI가 해당 컨텍스트에서 계속됩니다.
프롬프트 한도에 도달하면 가장 오래된 메시지는 무시되고 컨텍스트에 포함되지 않을 것입니다. 따라서 AI는 기록에서 너무 먼 것을 잊을 수 있습니다.
채팅 인터페이스에서 채팅 메시지 옆의 아이콘을 클릭하여 채팅 기록을 조작할 수 있습니다. 옵션으로는 다음이 있습니다.
- 재생성: 아래의 모든 메시지를 삭제하고 AI에게 이 메시지를 재생성하도록 함
- 다시 작성: 메시지를 가져와 직접 다시 작성합니다. 이렇게 하면 메시지 앞의 이름과 콜론을 그대로 유지해야 합니다. 그렇지 않으면 시스템이 이 메시지가 누구의 것인지 알 수 없습니다.
- 재생: 이 메시지에서부터 채팅 기록을 재생합니다
- 항목 삭제: 이 메시지를 삭제합니다
- 위 삭제: 이 메시지 위의 모든 메시지를 삭제합니다
- 아래 삭제: 이 메시지 아래의 모든 메시지를 삭제합니다
온도
이 값은 AI 모델이 채팅 메시지를 생성할 때 얼마나 자유롭게 할 수 있는지를 제어합니다. 이미지 생성과 마찬가지로 동일한 입력으로도 각 생성마다 약간 다를 수 있으며, 온도는 그 변동폭을 제어합니다.
존재 패널티 및 빈도 패널티
이 값을 높여서 AI가 반복 콘텐츠를 생성할 확률을 줄일 수 있습니다.
최대 생성 토큰 및 최대 프롬프트 길이
LLM에는 토큰 제한이 있으며, 이 제한을 초과하는 콘텐츠는 올바르게 생성되지 않을 것입니다.
자동 생성 및 플레이어용 생성
“다음 자동 생성”을 켜면 타이머가 끝나면 AI가 자동으로 다음 메시지를 생성할 수 있습니다.
“플레이어용 생성”을 켜면 AI가 플레이어를 위해 메시지를 생성할 수 있습니다.
## 텍스트 음성 변환
추가 음성
DanceXR은 Piper라는 TTS 엔진을 사용합니다. 여기에서 DanceXR에서 사용할 수 있는 추가 음성 모델을 듣고 다운로드할 수 있습니다.
https://rhasspy.github.io/piper-samples/
다운로드한 후에는 chat\voices\piper 폴더에 넣으십시오. onnx 및 onnx.json 파일이 모두 필요하다는 점을 명심하십시오.
음성 관리자
내장 음성 모델에는 900가지 이상의 다른 음성이 포함되어 있습니다. 기본적으로 처음 20가지만 활성화되어 있습니다. 사용자가 선택할 수 있는 음성이 너무 많기 때문에 900가지 모두를 활성화하는 것은 불가능합니다. 다른 음성을 활성화하려면 채팅 설정에서 Voice -> Voice Manager로 이동하여 목록에서 음성을 선택하고 듣고 “선택됨”을 선택하여 음성 목록에 추가할 수 있습니다.
시스템, 플레이어 및 각 캐릭터에 대해 다른 음성을 선택할 수 있습니다.
언어 일치 및 대체
AI 모델은 다른 언어 메시지를 생성할 수 있지만 음성 모델은 그렇지 않습니다. DanceXR은 메시지의 언어가 무엇인지를 판단하려고 시도하고 선택된 음성 언어와 일치하지 않으면 음성 설정에서 “대체”를 활성화하여 언어와 일치하는 다른 음성을 선택할 수 있도록 합니다.
1.5.1 업데이트에서 도입된 새로운 설정을 통해 기본 “자동” 모드 위에 채팅 언어를 선택할 수 있습니다. 자동 모드는 이전과 정확히 같이 작동하며 텍스트 내용에서 언어를 결정하려고 시도합니다. 그러나 채팅 언어 설정에서 언어를 선택하면 채팅 메시지와 음성에 모두 사용됩니다.
프롬프트 메시지는 응답을 생성할 때 GPT 모델이 어떤 언어를 사용할지 결정하는 데 더 큰 영향을 미칩니다. 영어 이외의 언어를 선택하는 경우 해당 언어의 원문 텍스트로 프롬프트 템플릿을 업데이트하는 것이 좋습니다.
음성을 텍스트로 변환
내장된 Whisper 모델은 음성을 텍스트로 변환한 후 AI에 전송할 수 있습니다. 수동 및 자동 모드가 있습니다.
수동 모드
수동 모드는 마이크 버튼을 클릭하여 녹음을 시작하고, 끝날 때 다시 클릭하여 오디오를 처리하고 결과를 AI에 전송하는 것을 의미합니다.
자동 모드
자동 모드는 채팅이 비활성 상태일 때 (캐릭터가 말하지 않을 때) 자동으로 녹음을 시작하고, 오디오를 실시간으로 처리한 후 말을 마치면 전송합니다. 그러나 때로는 그리 똑똑하지 않을 수도 있습니다.
하위 기기의 경우, 오디오를 텍스트로 처리하는 데 시간이 걸릴 수 있습니다. 따라서 자동 모드는 Android, Quest 및 Pico에 권장되지 않습니다.
키 바인딩
입력 설정에서 마이크 상태를 전환할 버튼을 할당하여 UI에 들어가지 않고도 녹음을 제어할 수 있습니다. 기본적으로 오른쪽 핸드 컨트롤러 메뉴 버튼에 할당되어 있습니다.
구성 및 캐릭터 설정 재설정
모든 것은 콘텐츠 라이브러리의 chat 폴더에 저장됩니다. 모든 것을 기본값으로 재설정하려면 chat 폴더를 삭제하십시오.