Вопросы, которые приходят.
Ответы прямые, без обиняков.
деньги и свобода
Бесплатно, и правда.
Правда, это бесплатно?
Да. Yappy — открытый код под лицензией MIT. Слушать то, что читаешь, — это вопрос доступности, а средства доступности не должны требовать банковскую карту. На компьютере нет ни платной версии, ни рекламы. На iPhone пробный попугай держит у себя на насесте сразу три документа — без ограничения по времени; если нужен бездонный насест, станок для аудиокниг и мост с компьютером, заводите его через Yappy Parlanchín: по подписке или одним платежом на всю жизнь. В любом случае — без аккаунта и без рекламы.
В чём подвох? Как это финансируется?
Никакого подвоха: серверов нет, значит, и платить за них не нужно. Синтез речи выполняется прямо на вашем устройстве, поэтому у Yappy нет расходов на пользователя. Это личный проект автора, опубликованный потому, что он уже существовал и мог бы пригодиться ещё кому-то.
А бесплатная пробная версия есть?
Нет, и это намеренно. Пробной версией служит насест на три документа: у неё нет срока давности, и на седьмой день она не превращается в списание денег. Если Yappy вам подходит, вы поймёте это и без секундомера перед носом.
Можно ли публиковать сгенерированный звук в подкасте или в видео?
Код Yappy — под лицензией MIT, и условий он не ставит. У голосовой модели, Supertonic 3, своя лицензия: открытая, типа OpenRAIL-M, с оговорками по использованию. Изучите её на странице модели перед коммерческим использованием: эта часть от Yappy не зависит, и ручаться за неё мы не можем.
ваши тексты никуда не уходят
Конфиденциальность — поимённо.
Мои тексты отправляются на сервер?
Нет. Синтез речи, расшифровка и извлечение статей происходят прямо на вашем устройстве. Всё, что вы передаёте Yappy, никуда не отправляется: ни учётных записей, ни копий, да и серверов Yappy, где их можно было бы хранить, просто не существует. С сетью работают четыре конкретные вещи, и все они перечислены в политике конфиденциальности.
Собирает ли Yappy статистику использования?
Да, собирает, и лучше сказать без обиняков. Мобильное приложение отправляет анонимную статистику использования: включена она по умолчанию, а отключается в закромах настроек. Уходит только название события из закрытого списка (что запустили приложение, какой шаг первого знакомства открыт, какой тариф просмотрен, завершилось ли чтение), случайный идентификатор установки, язык и версия. Ни имени, ни почты, ни текста, который вы читаете, ни названия документа, ни ссылки, и никаких рекламных идентификаторов. И идут они не в Google, не в Firebase и не к аналитикам, а в Worker и базу данных D1 на Cloudflare, принадлежащие самому автору. В настольной версии статистики нет никакой.
А мост между телефоном и компьютером?
Это прямое соединение двух ваших устройств со сквозным шифрованием на базе QUIC и протокола iroh. Для сопряжения наводите камеру на QR-код, который показывает компьютер, а полученный ключ можно в любой момент отозвать там же. Сервера Yappy между ними нет, потому что серверов Yappy не существует.
Работает ли приложение без интернета?
Да, и навсегда. После первичной загрузки модели — около 200 МБ на телефоне и около 398 МБ на компьютере — Yappy работает в режиме полёта: вставляйте текст, открывайте документы, синтезируйте и экспортируйте. Сеть нужна только для передачи новых ссылок, по понятным причинам. Облачной синхронизации тоже нет: библиотека живёт на вашем устройстве, а мост — самое близкое к перекладыванию чего-то с одной машины на другую.
то, что звучит
Голос и языки.
Какая модель голоса используется?
Supertonic 3. Открытая модель от Supertone, примерно на 99 миллионов параметров: на компьютере занимает 398 МБ, на телефоне — 200 МБ, а синтезирует быстрее реального времени на любом ноутбуке последних лет. Модель работает на уровне символов — потому и существует сценарист: он превращает числа, аббревиатуры и символы в слова до того, как их увидит голос.
На каких языках он говорит?
Немецкий, арабский, болгарский, чешский, корейский, хорватский, датский, словацкий, словенский, испанский, эстонский, финский, французский, греческий, хинди, венгерский, индонезийский, английский, итальянский, японский, латышский, литовский, нидерландский, польский, португальский, румынский, русский, шведский, турецкий, украинский и вьетнамский. Тридцать один. И все десять голосов — полиглоты: один и тот же голос читает любой из них, не меняя тембра.
А если в документе смешаны языки?
Yappy определяет язык документа, а дальше, абзац за абзацем, язык каждого фрагмента: английская цитата внутри эссе на русском прозвучит по-английски, тем же голосом, и трогать ничего не нужно. А если определение ошибётся, язык можно задать вручную.
Чем Yappy отличается от VoiceOver или «Экрана вслух»?
Системные скринридеры читают экран как есть: системная просодия и никакой памяти. Yappy готовит текст, прежде чем его произнести (вычищает статью, превращает числа и аббревиатуры в слова, расставляет паузы), читает его естественным голосом, помнит, где вы остановились, экспортирует аудиокниги и продолжает звучать при заблокированном экране. Родственные инструменты, разные ремёсла — и пользоваться обоими можно одновременно, они друг другу не мешают. Yappy не заменяет скринридер и не пытается.
то, что на входе
Документы.
Какие форматы он принимает?
Веб-статьи (страница вычищает себя сама), видео — по опубликованной расшифровке, PDF, EPUB, Word, ODT, RTF, Markdown, обычный текст, .pptx, .xlsx, .csv и голосовые заметки. На телефоне всё через меню «Поделиться»; на компьютере ещё и перетаскиванием или горячими клавишами. А если на компьютере установлен pandoc, список расширяется до LaTeX, reStructuredText, Org и ещё нескольких.
А отсканированные PDF, без текста внутри?
На компьютере они перед чтением проходят через локальный OCR, и даже там ничего не покидает ваш компьютер. На iPhone пока нет: если PDF — фотография бумажной страницы, телефон не находит текста для чтения. Кривой или размытый скан даст то, что может дать любой OCR, а приличный читается целиком.
Может ли приложение читать книги, купленные в магазине?
Только те, которые вы можете открыть. EPUB без защиты читается целиком, вместе со своими главами. Книги с DRM из магазина не прочитать — ни здесь, ни где-либо ещё: замок поставил не Yappy, и притворяться, будто у нас есть ключ, мы не будем.
Как удалить что-нибудь из библиотеки?
Прямо в библиотеке: у каждого документа есть пункт «Забыть», и вместе с ним уходит и его аудио. Экспортированные файлы (.m4b, .mp3, .wav) — ваши, они лежат там, куда вы их сохранили; удалять и перемещать их — дело Finder или приложения «Файлы».
когда что-то ломается
Неполадки и помощь.
Почему первый синтез занимает на несколько секунд больше?
В первый раз модель загружается в память. Потом она уже разогрета, и следующие фразы выходят на лету. Если вы только что установили приложение на компьютер, к первому ожиданию добавится ещё и скачивание голосовой модели.
Слово произносится неправильно. Можно его научить?
Словаря произношения для пользователя нет, так что быстрый путь такой: напишите слово в редакторе так, как оно звучит, — модель читает буквы и вас послушается. Если это общий случай (сокращение, аббревиатура, единица измерения), расскажите о нём в issues на GitHub: таблицы нормализатора пополняются такими случаями.
Видео отправлено, а оно молчит.
Yappy берёт опубликованную расшифровку видео, а не расшифровывает его звук. Если у видео расшифровки нет, читать нечего. А если видео ваше и оно лежит у вас файлом, отправьте файл: тогда его расшифрует уже локальное ухо.
Нашлась ошибка. Куда сообщить?
В issues на GitHub или письмом на [email protected]. Если приложите текст, на котором случился сбой (если можете им поделиться), и укажете вашу систему, всё починят быстрее.