Персона
Персонаж канала, с именем, характером и голосом, который отвечает в чате через ИИ-модель с вашим собственным ключом.
Настройка
Интеграции, ИИ, хранят ключи провайдеров на этом компьютере, одни и те же для всех профилей, и говорят, что включает каждый; Настройки, Персона, задают провайдера, имя, характер, модель и голос. Если ключа выбранного провайдера нет, его просят прямо под провайдером, а остальная часть персоны выключена, пока он не появится.
Голоса
Голоса Windows бесплатны, а другие языки добавляются в Параметрах Windows › Время и язык › Речь. Голоса Piper тоже бесплатны и звучат естественнее; они создаются на этом компьютере (ниже). Голосам OpenAI нужен его ключ, в Интеграциях › ИИ. Действие может назвать свой голос через vovo.say(текст, { voice }).
Piper
Piper создаёт голоса на этом компьютере, ничего никуда не отправляя. Vovó не несёт его с собой: «Открыть папку» под голосом открывает папку Piper (%LOCALAPPDATA%\Vovo\piper), и в неё кладутся две вещи, в любое место внутри:
- Piper для Windows (
piper_windows_amd64.zip), распакованный как есть, сpiper.exeрядом с его папкойespeak-ng-data. - Голос: два его файла,
<голос>.onnxи<голос>.onnx.json. Для русского — например,ru_RU-irina-mediumилиru_RU-denis-medium.
Вернувшись в Vovó, вы найдёте голоса в каждом списке голосов, как «Piper · …». Действие называет один из них так: vovo.say(текст, { voice: "piper:ru_RU-irina-medium" }). Piper читает каждую строку за долю секунды.
Когда она отвечает
Когда кто-то называет её имя в чате или получает выбранную для неё награду за баллы канала. Один ответ на человека в минуту и один вообще раз в несколько секунд, чтобы оживлённый чат не тратил ваши деньги.
Одобрение
По умолчанию ответ ждёт вашего одобрения: в колокольчике или в «ИИ» на боковой панели. Одобренный, он идёт в чат, произносится на стриме и доходит до действий как persona.answer.
Свой аккаунт
В чате ответы персоны пишутся от вашего имени, если только у неё нет своего аккаунта Twitch: в Интеграциях, у Twitch, «Аккаунт персоны» входит в этот аккаунт по коду, как ваш. Откройте ссылку в приватном окне, где Twitch вошёл в аккаунт персоны, иначе код снова подключит ваш собственный. С этого момента её строки — её собственные, и она никогда на них не отвечает. Сделайте этот аккаунт модератором своего канала, чтобы медленный режим и чат только для фолловеров его не задерживали. Он только пишет: ничего не читает и ничем не управляет. Действие, которое даёт персоне голос, тоже может писать через этот аккаунт то, что персона говорит не в ответ, например набранную для неё строку; пока аккаунт не подключён, такая строка не пишется.
Память
Персона ведёт разговор: последние реплики идут с каждым вопросом. Это всё, что она знает, и только пока Vovó открыта, если вы не включите «Помнить между стримами» в Настройках > Персона. Тогда разговор хранится на этом компьютере, и по мере роста модель персоны ещё раз читает самые старые реплики и вынимает из них долговечные факты: кто заходил, прозвище, прижившуюся шутку. Это чтение — ещё один вызов модели, примерно на каждый третий ответ, оплачиваемый вашим ключом. То, что повторяется, крепнет и остаётся; сказанное один раз выцветает чуть больше чем за месяц. Закрепите факт — и он останется навсегда; введите факт сами — и он придёт закреплённым; во вкладке ИИ булавка у ответа сохраняет то, что сказала персона. Всё, что она помнит, перечислено в Настройках > Персона, чтобы забывать по одному или всё сразу, и ничего из этого не покидает этот компьютер, кроме как в её модель, с каждым вопросом. Ответ, который вы отклонили, не запоминается. Она хранит не больше 40 фактов.
Награды Vovó
В Интеграциях, при подключённом Twitch, создавайте награды за баллы канала прямо из Vovó: название, стоимость и просят ли они текст. Она может приостанавливать, возобновлять и удалять созданные ею. Их получения ждут в очереди награды: когда персона отвечает или текст прочитан, получение подтверждается; когда это отклонено, баллы возвращаются тому, кто получил награду. Twitch позволяет менять награду только приложению, которое её создало, а у канала их не больше 50.
Читать награду вслух
В Настройках, «Голос», выберите награду за баллы канала по названию: то, что зритель в ней напишет, читается на стриме голосом профиля. Это всегда сначала ждёт одобрения в колокольчике (здесь или с устройства с правом одобрять), а веб-адреса при чтении пропускаются. Сообщение чата читается так же — динамиком рядом с ним, в Чате боковой панели или на телефоне с правом читать чат: ваш щелчок и есть его одобрение, поэтому ничего не читается само. Строка, написанная собственным аккаунтом персоны, принадлежит персоне, и действие, дающее персоне голос, произносит её; действия слышат каждое чтение как tts.spoken.
Речь в текст
То, что вы говорите в микрофон, становится текстом: для субтитров, которые показывает действие (speech.text, по фразе, через секунду-другую после того, как её сказали), и, со включённым «Слышать меня» в настройках персоны, чтобы персона отвечала, когда вы называете её имя. Микрофон открывается, только пока он кому-то нужен, и строка состояния показывает это, как и другие считывания; ничего не сохраняется.
Записывают это два движка, выбираемых в Настройках, «Голос»:
- Whisper, на этом компьютере: ваш голос никуда не уходит. Vovó не несёт его с собой: «Открыть папку» открывает его папку (
%LOCALAPPDATA%\Vovo\whisper), и в неё кладутся две вещи, в любое место внутри: whisper.cpp для Windows, распакованный как есть (в нём естьwhisper-server.exe), и модель,ggml-<имя>.bin.smallхорошо пишет по-русски на процессоре;large-v3-turboпишет лучше и хочет видеокарту, со сборкой whisper.cpp для неё. Автоматически использует Whisper, как только он появится, и никогда сам не отправляет ваш голос никуда. - OpenAI, с вашим ключом: ваш голос уходит в OpenAI, примерно по 0,003 доллара США в минуту, пока он слушает. Только если вы это выберете.
«Слова стрима» — это имена, которые использует ваш стрим (канал, персона, игры, друзья), через запятую: они возвращаются написанными правильно. Держите это списком, а не фразой: Whisper читает их как только что сказанные слова, а фраза приглашает его её продолжить. Фраза, которая возвращает только эти слова, отбрасывается, как и строки, которые движки придумывают, когда не слышат слов.
Персона слышит своё имя размеренно: не чаще одного ответа в 15 секунд и не больше 30 в час. Её ответы ждут одобрения, как любые другие, а её собственный голос, услышанный обратно через микрофон, для неё не вопрос. Говорите в наушниках, чтобы микрофон слышал вас, а не стрим.