Как стать автором
Обновить

Комментарии 37

Ребята, вы - большие молодцы, вторая статья тоже получилась отличной, а прогресс радует!

А кто мы-то? В тегах не нашёл.

я что-то не подумал, что будет читать кто-то, кто не читал первую часть — https://habr.com/ru/post/549480/

Мы — компания Open Data Science?

Я публиковал одну из статей в блоге ODS на хабре, просил удалить админа меня из членов, но он вероятно забыл


Мы — компания Силеро — https://www.silero.ai/

С вас прям клещами надо всё тянуть )


Ах вы шалунишки!

Это всё Диляра

Кстати, я уж думал, вы ссылку на этот проект оставите. Из текста вроде как подразумевается, что кто угодно может начать наговаривать, но где?

Открытую регистрацию мы by design не делали
Обычно заинтересованные люди просто напрямую находят и пишут
Запись работает по УРЛ-у, но всегда нужно что-то немного подкрутить, т.к. языки все сильно разные

Кто не знает татарский:


Я тебя люблю, какашкой козьей накормлю.
Вы слишком паритесь по поводу тех, кто не может в 30 строчках кода на питоне разобраться.

Это весьма противоречивый и холиворный вопрос. Если воспринимать все мнения буквально, то чтобы всех удовлетворить нужно:


  • Сделать CLI пакеты (или их аналоги) маленького размера, которые бы ставились одной строчкой на все платформы (Linux, Mac, Windows, ARM, iOS, Android);
  • Проинтегрироваться со всеми самыми популярными читалками;
  • Питон и фреймворки ни в коем случае использовать нельзя, все должно быть бинарем без зависимостей;
  • Пока качество хуже чем в Алисе а скорость ниже, чем у классических синтезаторов (например espeak), то вообще ничего публиковать не надо;
  • Все кейсы (книги, чтение с экрана), нормализация и middleware должны уже быть включены в пакеты;

Довольно очевидно, что чтобы удовлетворить все эти критерии, нужно очень много денег, времени и ресурсов, которых у нас нет.


С другой стороны, при ускорении всего синтеза хотя еще бы раз в 10 и при наличии прогресса в Торче по упаковке дистрибутивов, вполне допускаю, что рано или поздно 80% этого даже может стать реальностью.

Под Linux и Windows использовать библиотеку в текущем виде в своих приложениях не считаю проблемой.

Вот из всего перечисленного я бы выделил именно интеграцию в ОС как функционал, который может оказаться сложноват, чтобы пользователи его сами реализовывали. С другой стороны, кому сильно надо и сам не может — пусть заплатит тому, кто может.

Для использования как экранных читалок — пока не хватает скорости

а нельзя ли просто использовать данные из Common Voice? Там уже есть интерфейс, оценка другими пользователями.

Как посмотреть на проект? Вы давайте в начале каждой статьи один абзац говорящий о том что за проект и где его найти, для тех то впервые видит.
а нельзя ли просто использовать данные из Common Voice? Там уже есть интерфейс, оценка другими пользователями.

Сам интерфейс в принципе там неплохой, но вот с подключением микрофонов к телефону у меня лично были проблемы (поэтому мы записываем просто через веб-страничку) — кодеки видимо грустят на телефоне, хз


А вообще по сообщениям людей, кто пробовал там записывать, там какой-то мрак так как проект явно пустили на самотек какое-то время назад
Но в любом случае там все настроено на сбор данных для распознавания а не синтеза


Насчет данных — там конечно можно провести некоторую работу по чистке, но


  • Там в среднем очень мало записей на 1 спикера
  • В среднем очень низкое качество

Так что наверное на популярные языки там можно несколько спикеров найти, но это не самый короткий путь. Да и языков СНГ там не очень много. А языки не-СНГ у нас основные и так вроде уже есть. Хотелось бы лучше конечно записать наши языки и найти датасеты для всех языков Индии. С точки зрения пользы для нас и людей в целом, это будет лучше.


Как посмотреть на проект? Вы давайте в начале каждой статьи один абзац говорящий о том что за проект и где его найти, для тех то впервые види

Да, наверное стоило поставить ссылку в самом начале (я поставил ссылку на первую статью)
Вот ссылка на репозиторий с моделями — https://github.com/snakers4/silero-models
Добавлю абзац в начало статьи

Спасибо, объем выполненной вами работы просто поражает.

Годнота! Интонации чуть добавить и будет бомба.
Жаль только, что самостоятельно нельзя обучить и пощупать как оно под капотом. Или хотя-бы покрутить исходный вектор, отвечающий за тембр голоса.

К тембру мы присматриваемся только, ничего пока не делали
Там скорее надо ускорить синтез на порядок еще
Интонации, эмоции, тембр, питч, скорость — это все уже сильно следующие итерации, я пока даже не знаю как часть этого делать

А в бою в каком-то ПО оно уже используется?

Да
Рано или поздно вывесим список интеграций / кейсов на сайт

Можете еще по лицензированию просветить. Раньше как-то не задумывался на счёт лицензирования программ, работающих на нейронных сетях.

По ст. 1261 ГК РФ, программы защищаются как литературные произведения:

Авторские права на все виды программ для ЭВМ (в том числе на операционные системы и программные комплексы), которые могут быть выражены на любом языке и в любой форме, включая исходный текст и объектный код, охраняются так же, как авторские права на произведения литературы. Программой для ЭВМ является представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств в целях получения определенного результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения.


На сколько я понял (поправьте, если не прав), уже обученная модель исполняется PyTorch, т.е. в принципе исходники ваши вообще не используются, если есть обученная модель.

Возникает вопрос, является ли сама обученная модель программой для ЭВМ, чтобы попадать под действие авторского права и чтобы на неё распространялась лицензия. Или обученная модель — это просто данные, а не программа и потому на обученную модель авторское право не распространяется?

Кто может подсказать, как с этим дела в правовом смысле?

С одной стороны, обученная модель в каком-то смысле является инструкциями как работать нейронной сети и значит в каком-то смысле её можно считать программой, просто зависящей от PyTorch.

С другой стороны обученная модель в каком-то смысле является результатом работы программы, данными, которые сохранены и восстановлены в другой программе. В ст. 1261 ГК РФ есть слова про «порождаемые аудиовизуальные отображения», но это имеют в виду интерфейс программы. Условно говоря, на созданное видео в видеоредакторе лицензия видеоредактора не распространяется.

В репозитории указана AGPL, вы сами считаете, что она распространяется в том числе на обученные модели? Любой, кто использует уже обученные вами модели должен лицензировать свой продукт под AGPL либо купить лицензию, я правильно понимаю?
На сколько я понял (поправьте, если не прав), уже обученная модель исполняется PyTorch, т.е. в принципе исходники ваши вообще не используются, если есть обученная модель.

Если чуть более точно — в данном сама модель(-и, их там уже иногда несколько внутри пакетов), то есть ее код и веса, код пред- и пост-обработки — это все упаковано внутрь релиза. И потом нужен питон (стандартная библиотека) и PyTorch, чтобы это все работало. Там не используется каких-либо особых библиотек и в теории в будущем даже зависимость от PyTorch станет менее явной. Вообще по идее торч упаковывается в бинарь через libtorch, в кода на питоне там практически вне модели уже и нет.


Внезапно как оказалось TorchScript и встроенный компилятор торча творят чудеса, и за редкими исключениями (например он грустит от кириллицы) туда можно запихать почти все, что декомпозируется на стандартную библиотеку питона и собственно сам PyTorch.


Возникает вопрос, является ли сама обученная модель программой для ЭВМ, чтобы попадать под действие авторского права и чтобы на неё распространялась лицензия. Или обученная модель — это просто данные, а не программа и потому на обученную модель авторское право не распространяется?

Короткий ответ — никто не знает как лицензировать нейросети, причем не только в России. Это некоторая серая зона, ниже приведу некоторые контр-примеры, из которых по крайней мере для себя я давно сделал вывод, что право или не догнало реальность или оно работает только для тех, кто достаточно обеспечен, чтобы лоббировать свои карманные законы.


AGPL там стоит как самая подходящая из доступных лицензия для некоммерческой "демо-версии" (и отчасти для отпугивания инфо-цыган). В реальности в большинстве случаев в синтезе заказчики заинтересованы не столько в публичных моделях (которые мы поддерживаем чисто для комьюнити и общественно-полезных кейсов), а в ряде других вещей:


  • Свои голоса;
  • Какие-то особенные фичи;
  • Middleware под конкретный домен;
  • Какой-то глубокий кастом или извращения;

Список контр-примеров:


  • Оригинальный Imagenet тупо напарсили из интернета, но никого не смущает использование его деривативных работ повсеместно. Так сказать когда миллион раз его поматросили, он "прошел юридическую очистку";


  • В интернете в среднем де-факто отсутствуют механизмы копирайта. Но при этом, на YouTube существует абсолютно человеконенавистническая система, где за цитирование 15 секунд песни The Beatles на канале про образование без монетизации автору прилетает страйк. Да что далеко ходить, мне недавно в комментариях на Хабре CEO одной "более крупной компании" с интересными формулировками мне между строк угрожал в духе того, что fair use данных из Open STT это большое зло;


  • Есть не один десяток стартапов и компаний, кто даже привлекает десятки миллионов долларов от инвесторов… и их работа состоит в переупаковке публичных артефактов исследований того же Google (который жгет сотни миллионов долларов на "трансформеры", но публикует их "для галки" и неудобно) внутрь своих проектов. И никого особо не волнует эта ситуация, потому что все понимают, что Google от этого не теряет свои позиции (скорее интереснее мотивация этих инвесторов) и скорее еще сильнее создает эффект выжженной земли;


  • Насчет датасетов и кода — популярные лицензии там мягко говоря все устаревшие, все отражающие реалии или пары десятилетий назад или условные для галочки. Либо полный OSS и анархия, либо лицензии в духе "ну типа юзайте как есть";


  • Постоянная практика, когда корпорации берут независимые (но прорывные или уникальные) OSS репозитории (модели и код), приклеивают к ним свой красивый лейбл (или в случае Amazon тупо копируют даже не удаляя комментарии авторов) — и с этим ничего невозможно сделать. Вы не готовы потратить 10 миллионов долларов и 5 лет на суды в США?;


  • Полный мрак с ситуацией про распознавание лиц. По идее это большой ай-яй-яй уровня нарушения базовых прав на жизнь и свободу человека (можно бесконечно иронизировать на тему законов, которые принимают в РФ, но не будем). Но всем пофиг по 3 причинам (i) урон конкретному лицу тяжело оценить (типичная проблема дилеммы разбитых фонарей) (ii) государствам выгодно скатывание в казарменный полицейский тоталитаризм (iii) "сначала они пришли за X, но я не был X";



Список можно продолжать бесконечно.

Обновление — мы сделали сильно более простой интерфейс для батчей, люди стали его пробовать. При отправке текстов сильно разной длины возникает сильно больше артефактов. Вероятно стоит пока ограничиться отправкой по 1 файлу. В следующих версиях мы это поправим (или уже совсем откажемся от такотрона).

Вы делаете отличный проект! Но как сгенерировать свою модель?
Было бы здорово иметь пример тренировки своей модели на основе собственных текстов и звуковых записей соответственно.

По ряду очевидных причин, мы не публикуем свои пайплайны и код.

Не думаете использовать голоса уже ушедших из жизни актеров?

По ряду причин нет:


  • Родственники или дети вряд ли дадут согласие + нужно будет скорее всего лично со всеми ними говорить (это банально много времени);
  • С этической точки зрения, например в отличие от абстрактных в вакууме персонажей мультиков, советские актеры — это "конкретные" люди;
  • Не хочется уподобляться сбербанку и фонду кино, которые очень неумело и зачастую омерзительно присваивают себе советские символы (см. недавнюю рекламу сбера, омерзительные распильные патриотические фильмы, которые настолько омерзительны, что родственники тех, про кого снимали "историческое кино" подают в суд за диффамацию);
  • Даже если кто-то и заинтересуется, то скорее всего опять же будет шестизначная цифра в долларах за права, так как все например помнят суды Э. Успенского против молочной корпорации;

И ещё качественные записи найти

Я подразумевал относительно Недавно ушедших из жизни декламаторов, к примеру, Алексей Борзунов или Владимир Вихров. Оба актера занимались озвучкой аудиокниг, так что проблем, с поиском качественных записей (без фоновых звуков), не возникло бы.
А вот по поводу юридического вопроса, никаких контр-аргументов не дам:)
Не знаю, собираетесь ли еще расширять базу голосов, но как вариант обратиться к актерам из любительского дубляжа игр (RG MVO, gamesvoice, team raccoon), часть актеров не зарабатывают денег на своей деятельности и возможно не будут против использования их голосов.
НЛО прилетело и опубликовало эту надпись здесь

Так, мы опубликовали новую ультимативную версию нашего синтеза в нашей новой статье на Хабре - https://habr.com/ru/post/660565/, считайте это продолжение этой статьи


Краткое содержание:

  • Снизили размер модели в 2 раза;

  • Научили наши модели делать паузы;

  • Добавили один высококачественный голос (и бесконечное число случайных);

  • Ускорили наши модели где-то примерно в 10 раз (!);

  • Упаковали всех спикеров одного языка в одну модель;

  • Наши модели теперь могут принимать на вход даже целые абзацы текста;

  • Добавили функции контроля скорости и высоты речи через SSML;

  • Наш синтез работает сразу в трех частотах дискретизации на выбор — 8, 24 и 48 килогерц;

  • Решили детские проблемы наших моделей: нестабильность и пропуск слов, и добавили флаги для контроля ударения;

Статья почему пока собирает меньше, чем прошлые, хотя синтез там на порядок лучше, так что если вам были интересны прошлые версии синтеза, то прошу поддержать статью =)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории