페르소나
채널의 캐릭터입니다. 이름, 성격, 목소리가 있고, 내 키로 AI 모델을 써서 채팅에 답합니다.
설정하기
연동 › AI는 제공자의 키를 이 컴퓨터에 보관하고(모든 프로필 공통), 각 키로 무엇이 켜지는지 알려 줍니다. 설정 › 페르소나에서는 제공자, 이름, 성격, 모델, 목소리를 정합니다. 고른 제공자의 키가 없으면 제공자 바로 아래에서 입력을 요청하고, 키가 들어올 때까지 페르소나의 나머지는 꺼져 있습니다.
목소리
Windows의 목소리는 무료이며, 다른 언어는 Windows 설정 › 시간 및 언어 › 음성에서 추가할 수 있습니다. Piper의 목소리도 무료이고 더 자연스럽게 들립니다. 이 컴퓨터에서 만들어집니다(아래 참고). OpenAI의 목소리에는 연동 › AI에 넣은 키가 필요합니다. 액션은 vovo.say(텍스트, { voice })로 자기 목소리를 정할 수 있습니다.
Piper
Piper는 이 컴퓨터에서 목소리를 만들며, 아무 데도 아무것도 보내지 않습니다. Vovó에는 들어 있지 않습니다. 목소리 아래의 "폴더 열기"가 Piper의 폴더(%LOCALAPPDATA%\Vovo\piper)를 열면, 그 안 아무 곳에나 두 가지를 넣으세요.
- Windows용 Piper(
piper_windows_amd64.zip). 받은 그대로 압축을 풀어,piper.exe가espeak-ng-data폴더 옆에 있게 합니다. - 목소리: 그 두 파일,
<목소리>.onnx와<목소리>.onnx.json. Piper의 목소리 목록에서 언어별로 찾을 수 있으며, 예를 들어 영어라면en_US-lessac-medium입니다.
Vovó로 돌아오면 목소리가 모든 목소리 목록에 "Piper · …"로 나옵니다. 액션은 vovo.say(텍스트, { voice: "piper:en_US-lessac-medium" })처럼 정합니다. Piper는 한 줄을 1초도 안 되어 읽습니다.
언제 답하나
누군가 채팅에서 이름을 부르거나, 페르소나용으로 고른 채널 포인트 보상을 교환할 때입니다. 한 사람당 1분에 한 번, 전체로도 몇 초에 한 번만 답하므로, 붐비는 채팅이 돈을 쓰지 않습니다.
승인
기본으로 답은 내 승인을 기다립니다. 벨이나 사이드바의 AI에서 승인합니다. 승인되면 채팅에 올라가고, 방송에서 말해지며, persona.answer로 액션에 도착합니다.
자기 계정
채팅에서 페르소나의 답은 나로서 쓰입니다. 페르소나에게 자기 Twitch 계정이 있으면 다릅니다. 연동의 Twitch 아래 "페르소나의 계정"이 내 계정처럼 코드로 그 계정에 로그인합니다. 링크는 Twitch에 페르소나 계정으로 로그인된 시크릿 창에서 여세요. 그렇지 않으면 코드가 내 계정을 다시 연결합니다. 그때부터 그 줄은 페르소나의 것이 되고, 페르소나는 거기에 답하지 않습니다. 저속 모드나 팔로워 전용 채팅에 막히지 않도록 그 계정을 채널 매니저로 지정하세요. 쓰기만 하고, 아무것도 읽거나 관리하지 않습니다. 페르소나에게 목소리를 주는 액션도 이 계정으로, 답이 아닌 페르소나의 말(페르소나를 위해 입력한 한 줄 등)을 쓸 수 있습니다. 계정이 연결되어 있지 않은 동안에는 그런 줄을 쓰지 않습니다.
기억
페르소나는 대화를 이어 갑니다. 최근 몇 번의 주고받은 말이 질문마다 함께 갑니다. 페르소나가 아는 것은 그것뿐이고, 그것도 Vovó가 열려 있는 동안만입니다. 설정 › 페르소나에서 "방송 사이에도 기억"을 켜면 달라집니다. 그러면 대화가 이 컴퓨터에 보관되고, 길어질수록 페르소나의 모델이 오래된 대화를 다시 읽어 오래 남길 사실을 뽑아냅니다. 누가 왔는지, 별명, 자리 잡은 농담 같은 것입니다. 이 다시 읽기는 모델 호출이 한 번 더 드는 것으로, 대략 답 세 번에 한 번꼴이며 내 키로 지불됩니다. 다시 나오는 사실은 강해져 남고, 한 번만 나온 사실은 한 달 남짓이면 희미해집니다. 사실을 고정하면 영원히 남고, 직접 입력한 사실은 고정된 채로 들어옵니다. AI 탭에서는 답의 핀으로 페르소나가 한 말을 남길 수 있습니다. 기억하는 모든 것은 설정 › 페르소나에 목록으로 나와 하나씩 또는 한꺼번에 잊게 할 수 있으며, 질문마다 페르소나의 모델로 가는 것 말고는 이 컴퓨터를 떠나지 않습니다. 버린 답은 기억하지 않습니다. 사실은 최대 40개까지입니다.
Vovó의 보상
연동에서 Twitch를 연결하면 Vovó에서 바로 채널 포인트 보상을 만들 수 있습니다. 제목, 비용, 텍스트를 요구할지입니다. Vovó는 자기가 만든 보상을 일시 중지, 재개, 삭제할 수 있습니다. 교환은 보상의 대기열에서 기다립니다. 페르소나가 답하거나 텍스트가 읽히면 교환이 승인되고, 버리면 포인트가 교환한 사람에게 돌아갑니다. Twitch는 보상을 만든 앱만 그 보상을 바꿀 수 있게 하며, 채널 하나에 최대 50개입니다.
보상을 소리 내어 읽기
설정의 "음성"에서 채널 포인트 보상을 제목으로 고르세요. 시청자가 거기에 입력한 내용이 프로필의 목소리로 방송에서 읽힙니다. 언제나 먼저 벨에서 승인을 기다리며(여기서나 승인을 허용한 기기에서), 웹 주소는 읽지 않습니다. 채팅 메시지도 옆의 스피커로 같은 방식으로 읽힙니다. 사이드바의 채팅이나 채팅 읽기를 허용한 휴대폰에서입니다. 내 클릭이 곧 승인이므로, 저절로 읽히는 것은 없습니다. 페르소나 자신의 계정이 쓴 줄은 페르소나의 것이며, 페르소나에게 목소리를 주는 액션이 그것을 말합니다. 액션은 읽을 때마다 tts.spoken을 받습니다.
음성을 텍스트로
마이크에 말한 것이 텍스트가 됩니다. 액션이 보여 주는 자막(speech.text, 한 구절씩, 말하고 1~2초 뒤)에 쓰이고, 페르소나 설정에서 "내 말 듣기"를 켜면 이름을 불렀을 때 페르소나가 답하는 데도 쓰입니다. 마이크는 무언가 필요로 할 때만 열리며, 상태 표시줄이 다른 읽기처럼 보여 줍니다. 아무것도 저장하지 않습니다.
받아 적는 엔진은 둘이며, 설정의 "음성"에서 고릅니다.
- Whisper(이 컴퓨터에서): 내 목소리는 어디에도 가지 않습니다. Vovó에는 들어 있지 않습니다. "폴더 열기"가 그 폴더(
%LOCALAPPDATA%\Vovo\whisper)를 열면, 그 안 아무 곳에나 두 가지를 넣으세요. 받은 그대로 압축을 푼 Windows용 whisper.cpp(whisper-server.exe가 들어 있음)와 모델ggml-<이름>.bin입니다.small은 CPU로도 한국어를 잘 받아 적고,large-v3-turbo는 더 잘 받아 적지만 그래픽 카드와 그에 맞는 whisper.cpp 빌드가 필요합니다. 자동은 Whisper가 있으면 바로 쓰고, 내 목소리를 저절로 어디에 보내지 않습니다. - OpenAI(내 키로): 내 목소리가 OpenAI로 가며, 듣는 동안 1분에 약 0.003달러가 듭니다. 내가 골랐을 때만 씁니다.
"방송 용어"는 방송에서 쓰는 이름(채널, 페르소나, 게임, 친구)을 쉼표로 나눈 것입니다. 바른 표기로 돌아옵니다. 문장이 아니라 목록으로 두세요. Whisper는 그것을 방금 한 말로 읽기 때문에, 문장이면 그 뒤를 이어 쓰려고 합니다. 그 말만 그대로 돌려준 구절은 버리며, 엔진이 말소리를 듣지 못했을 때 지어낸 줄도 마찬가지입니다.
페르소나는 이름을 절도 있게 듣습니다. 답과 답 사이는 최소 15초, 한 시간에 최대 30번입니다. 답은 다른 답처럼 승인을 기다리고, 마이크로 되돌아온 자기 목소리는 질문으로 여기지 않습니다. 마이크가 방송이 아니라 내 목소리를 듣도록 헤드폰을 쓰고 말하세요.