이거 하기 전에 주의사항이 보안 관련인데, PC 포트를 외부에 공유하는 것이기 때문에 사용에 각별히 주의하길 바란다.


Risu를 나처럼 한 PC에 서버로 돌려서 사용하는 사람, Node Risu, 모바일 Risu 사용자 모두 도움이 되지 않을까 싶어 작성한다.


바로 설명 들어간다.


1. VOICEVOX를 구동할 PC에서 아래 주소를 통해 VOICEVOX Engine을 설치한다. 
(PC는 vram 2gb 정도 잡아먹는데, 그 이상 사양 추천)
https://github.com/VOICEVOX/voicevox_engine/releases/tag/0.19.0


내려가다보면 다운로드 링크가 있는 패키지 안내 창이 존재한다.

본인은 엔비디아와 윈도우를 사용하므로 Windows(GPU/CUDA 버전)을 다운로드했다.


대략 압축파일로 1.8GB 정도 한다.



2. 설치 받은 압축파일을 해제해서 원하는 폴더에 저장한다.

압축파일을 해제하면 windows-nvidia 폴더가 나올텐데, 여기서 run.exe 파일을 찾아 실행한다.


해당 화면이 나왔다면 Engine은 잘 설치된 것이다. 다시 종료해주자.


3. win + r 키 -> cmd 입력해 명령어 프롬프트 창을 연다.

이후 아래 명령어를 입력한다. 

npm install -g localtunnel

(참고로 npm 실행이 안되는 경우 node.js 파일을 설치해야 한다.)

https://nodejs.org/en/download/package-manager


localtunnel은 이후 Voicevox를 사용할 외부 기기에게 내 PC의 포트를 열어주기 위한 프로그램이다.

ngrok 쓸 줄 아는 똑똑한 사람이라면 이걸 사용해도 좋다.


4. 아무 폴더에다 메모장을 만들고 메모장 이름을 VoicevoxServerOpen.bat으로 저장한다. 

(사실 이름은 상관없고 뒤에 .bat만 추가하면 된다).

그리고 아래 내용을 메모장에 추가한다.


@echo off

start \run.exe --allow_origin --use_gpu --cors_policy_mode all & lt --p 50021 -s voicevox99


여기서 \run.exe 은 아까 1번 때 열었던 run.exe 파일의 위치를 입력하면 된다.

만약 C:\windows-nvidia\run.exe 일 경우 


@echo off

start C:\windows-nvidia\run.exe --allow_origin --use_gpu --cors_policy_mode all & lt --p 50021 -s voicevox99


이 된다.


참고로 .bat파일은 메모장 파일이 아닌 실행 파일로 잡히기 때문에, 우클릭 후 메모장에서 편집하기로 내용을 수정하자.


5.  만든 VoicevoxServerOpen.bat을 더블 클릭하면 창 2개가 활성화 된다.

그 중 your url is: 이라는 글씨가 나오는 CMD 창이 있을 것이다.

그 뒤에 나오는 주소가 이제 Risu에 입력할 TTS 주소가 되는 것이다.

 (대부분은 https://voicevox99.loca.lt 가 뜰텐데, 일부 인원 또는  종료 후 다시 키면 바뀔 수도 있으니 주의 바람.)


6. 마지막 단계다. 이제 모바일 Risu에 적용하면 된다.

Risu ai에 기타봇 - TTS - VOICEVOX URL에 방금 확인한 주소를 입력한다


그 다음 원하는 챗봇에게 목소리를 부여해주면 된다.



안될 시에 참고할 사항들


Q1. 기타봇 TTS에 URL을 적용했는데, 챗봇에 공급자를 VOICEVOX로 설정해도 Speaker에 아무것도 안 나온다. 날 속인거니?

많은 사람이 문의해서 추가한다. Speaker에 아무것도 나오지 않는 것은 VOICEVOX가 적용되지 않았기 때문이다.
그렇다면 VOICEVOX가 적용되지 않은 이유가 무엇일까?

사실 가장 유력한 이유는 인증 문제로 추측된다.


이 문제를 만난 사람들은 슬퍼하지 말고 순서대로 따라와라. 1분안에 해결된다.


1. VOICEVOX를 켠 PC에서 명령 프롬프트(CMD)를 켜고, 아래의 명령어를 입력한다.
curl https://loca.lt/mytunnelpassword


2. 명령어를 치면 요상한 IP 같은게 나올건데, 이게 여러분 PC의 인증 번호라고 보면 된다.

이제 Risu를 사용할 모바일, 또는 다른 기기에서 아무 브라우저(크롬, 삼성 인터넷)를 켜고, 전에 작성한 VOICEVOX url을 입력한다.

(전에 만들었던 url을 브라우저 주소창에 입력하자.)


3. 아래의 화면이 나왔다면, Tunnel Passward  창에 방금 받았던 IP를 입력하면 인증이 끝난다.
만약 아래 창이 나오지 않고, 이상한 에러 문구가 나온다면 이미 인증이 완료된 것이다.

(Tunnel Passward 창에 PC에서 본 IP를 입력.)


(이런 화면이 나온 경우, 이미 인증된 것이다.)


이 설정을 했는데도 불구하고 공급자를 VOICEVOX로 설정했는데 Speaker가 아무도 나오지 않는다면, TTS가 적용되지 않은 것이다.

다시 순서대로 놓친 부분이 있는지 찾아보자.



Q2. 너가 하란대로 했더니 TTS Error가 뜨잖아 빡빡이야.


나도 이거 해결하고 싶은데 잘 모르겠다.

가장 확실한 해결 방법은 챗봇 - tts 설정 아래에 있는 "따옴표 안 텍스트만 읽기"를 체크하는 것이다.

TTS 요청 내용이 너무 많으면 발생하는 문제인 것 같다.


모르는 것, 또는 안되는 것 있으면 공유해주면 나도 많은 공부가 된다. 많관부


또한 추가 정보 주면 감사히 받도록 하겠다.


이상. 즐거운 챗 하시길.