Что меня удивило в передаче текста в речь на нашем собственном оборудовании, так это то, насколько мала модель. Один файл, 78 МБ, вмещающий 904 отдельных динамика. Это меньше, чем фотовспышка телефона и примерно десятая часть того, что весит одна языковая модель среднего класса, и из нее выходит голос, который вы не сразу поместите в синтетический. Я измерил три из восьми голосов, которые выдает инструмент: их средние частоты: 103 Гц, 184 Гц и 242 Гц, что является подлинным диапазоном от низкого мужского до женского, из одного и того же файла с другим числом.
TL;DR: Двигатель работает на собственном ящике на площадке, использующего модель Libritts-R. Измерено: 113 символов производят от 5,8 до 6,1 секунды аудио за 3-4 секунды стенки, поэтому синтезируется быстрее, чем вы можете слушать. Вы получаете моноволну 22 050 Гц, которая составляет около 2,6 МБ в минуту. Контроль скорости работает, но сжат: полный диапазон от 0,7 до 1,5 дает длительность спреда 1,61x, а не 2,14x Цифры подразумевают, а 0,85 неотличима от 1,0. Один и тот же текст никогда не бывает одним и тем же звуком дважды. выше Инструмент текста в речь Ввод пределов 3000 символов.
Что делает речь?
Piper, нейронный движок с текстом в речи, работает как собственный контейнер рядом с веб-приложением, с моделью, обученной на Либрит-R, йо-
Об этом корпусе стоит знать, потому что он объясняет как качество, так и характер выхода. Прочитано 585 часов английской речи, родом из записей Librivox AudioBook, а затем прошла модель восстановления речи, чтобы очистить качество записи исходного материала. Спикеры — волонтеры, читающие книги в общественных местах.
Таким образом, голоса звучат как люди, читающие вслух, потому что именно это они и делали. Модель хороша в декларативных предложениях и абзацах прозы, что она и слышала. Он менее убедителен в чем-либо разговорном, потому что никто в обучающих данных не разговаривал.
Файл модели содержит 904 динамика, и инструмент предоставляет восемь из них. Идентификаторы в коде принадлежат модели, выбранные для охвата диапазона, а не восьмерки, что стоит иметь в виду, если ни один из восьми вам не подходит.
Отличаются ли восемь голосов друг от друга?
Да, измерительно. Я сгенерировал одно и то же предложение в трех из них и вычислил основную основную частоту звонких кадров:
| голос | Идентификатор с | медиана f0 |
|---|---|---|
| Голос 2 | 3 | 103,3 Гц |
| Голос 5 | 45 | 183,8 Гц |
| Голос 8 | 150 | 242,3 Гц |
Это не вариации на тему. Речь взрослых мужчин обычно сосредоточена на частоте около 85–155 Гц, а взрослая женская речь — около 165–255 Гц, поэтому эти три находятся внизу, в середине и в верхней части нормального диапазона человека.
Продолжительность была почти идентична, от 2,07 до 2,08 секунды для одного и того же предложения, поэтому изменение голоса меняет тембр и высоту тона без изменения темпа. Это делает восемь действительно взаимозаменяемыми для данного скрипта, что имеет значение, если вы создаете набор клипов и хотите перезаписать их.
Насколько быстро?
быстрее, чем слушать, это число, которое имеет значение.
| Мера | стоимость |
|---|---|
| Ввод | 113 символов |
| Аудио | 5,77–6,08 секунды |
| Время стены | 2994-3929 мс |
| отношение | Примерно в 1,5–1,9 раза больше реального времени |
Таким образом, минута аудиозаписи занимает от тридцати до сорока секунд, а максимум в 3000 символов работает примерно за две или три четверти минут речи для чего-то менее чем за две минуты ожидания.
Предостережение в том, что одна просьба подается одновременно. Сервер запускается один слот синтеза преднамеренно: измеренный на коробке один только текст занимает около 2,2 секунды, а три сразу — около 9 секунд, поэтому параллелизм ничего не покупает в общей пропускной способности и стоит первому человеку в очереди семь секунд. До двадцати запросов могут подождать; после этого инструмент говорит, что он занят, а не заставляет вас ждать несколько минут.
Существует также бюджет на одного посетителя в двадцать поколений каждые десять минут, что достаточно высоко, чтобы нормальное использование никогда не соответствовало ему, и настолько низко, чтобы никто не превращал коробку в бесплатную фабрику аудиокниг.
Что вы получаете взамен?
WAV-файл, несжатый, и размер стоит знать, прежде чем сделать длинный.
codec pcm_s16le
sample rate 22,050 Hz
channels 1 (mono)
bit depth 16
Это 44,1 КБ в секунду аудио, так что примерно 2,6 МБ в минуту, а полный 3000 символов приземляются около 7 МБ. Вышеприведенный образец из 113 символов составлял 254 508 байтов в течение 5,77 секунды.
Uncompressed — это правильный вариант по умолчанию для того, что вы собираетесь редактировать или конвертировать, поскольку это формат, который каждый редактор принимает без жалоб, и он не может добавить потерю генерации. Это неправильный параметр по умолчанию для того, что вы собираетесь загрузить или отправить по электронной почте, и исправление — это один шаг: запустите WAV через аудио конвертер и возьмите MP3 или M4A. его руководство Обложки, которые выбрать, и краткий ответ на речь таков: все, что на 128 кбит/с, — это нормально.
Скорость 22 050 Гц принадлежит модели, и она составляет половину скорости CD. Стоит отметить, что Libritts-R распределен на частоте 24 кГц, поэтому модель выводит ниже того, что у нее выучили корпуса, а это собственная конфигурация Пайпера, а не что-то здесь утеряно. Для голоса это ничем не примечательно, так как речевая энергия находится ниже 11 кГц, что несет 22 050 Гц. Это означает, что вывод не будет передаваться как студийная запись, а пересадка вверх ничего не добавляет.
Делает ли управление скоростью то, что он говорит?
Он меняет скорость, а не так сильно, как предполагает число. Это измеренная кривая:
| Настройка скорости | длительность | отношение к 1,0 | линейный даст |
|---|---|---|---|
| 0,7 | 7,268 с | 1.195 | 1.429 |
| 0,85 | 6,142 с | 1.010 | 1.176 |
| 1,0 | 6,084 с | 1.000 | 1.000 |
| 1.25 | 5.271 с | 0,866 | 0,800 |
| 1,5 | 4,516 с | 0,742 | 0,667 |
монотонно, поэтому управление работает в ожидаемом направлении и сжато на обоих концах. Полный диапазон от 0,7 до 1,5 должен быть 2,14x спреда по продолжительности и 1,61x. Настройка 0,85 находится в пределах 1% от 1,0, то есть она ничего не слышит.
Механизм заключается в том, что настройка передается модели в виде шкалы длительности, и собственный предиктор длительности зависит от того, как долго будет каждая фонема. Он рассматривает шкалу как серьезную подсказку, а не множитель.
Практическое чтение: используйте 0,7 или 1,5, если хотите заметно отличаться темпом, и не ждите, что промежуточные настройки дадут вам прекрасный контроль. Если вам нужна точная продолжительность, сгенерируйте 1.0 и измените темп в аудиоредакторе, где номер означает то, что он говорит.
Почему один и тот же текст никогда не один и тот же звук дважды?
Потому что модель принимает новое решение о времени на каждом забеге.
Я отправил один идентичный запрос дважды, тот же текст, тот же голос, та же скорость. Результаты составили 6,084 секунды и 6,002 секунды, а байты файлов отличаются для байта. Ничто не кэшируется и ничего не засеяно.
Это присуще этому семейству моделей: предиктор длительности стохастический, поэтому длина фонема незначительно различается между прогонами даже при фиксированном входе. Измерение здесь составляет около 1,4%, что не слышно как разница в темпе и хорошо видно как разница в длине файла.
Два последствия. Если в дубле есть неловкая пауза или слово, которое приземлилось странно, генерация его снова — это скорее настоящее исправление, а не суеверие. И если вы создаете набор клипов, которые должны совпадать, сгенерировать их за один сеанс и сохранить то, что вы получите, потому что возвращение завтра для одной строки замены дает вам строку, которая составляет доли секунды.
Почему ограничение в 3000 символов?
Из-за того, что сидит за ним, а не что-либо в тексте.
Три тысячи символов — это примерно две с половиной минуты речи и около 7 МБ WAV, созданных в одном слоте для синтеза, который все разделяют. Глава из 30 000 символов займет этот слот в течение двадцати минут и при этом будет держать в памяти буфер на 70 МБ.
Для чего-то более длинного разделите границы абзацев и присоединяйтесь к частям. В любом случае это лучше: ошибка в девятом пункте стоит вам девятый пункт, а не всю главу, и аудио конвертер После этого присоединятся и преобразуют набор.
Разделение наполовину предложения — это единственное, чего следует избегать, потому что модель определяет интонацию на высказывание. В предложении, разрезанном пополам, выдаются два фрагмента, которые звучат как полные предложения, с падающим тоном в середине мысли.
Чем он хорош, а что нет?
Хорошо для всего, что написано для чтения вслух, что является более узкой категорией, чем кажется.
| работает хорошо | плохо работает |
|---|---|
| повествование над видео или слайдами | Диалог между персонажами |
| аудиоверсия статьи | все, что нуждается в эмоциях или акценте |
| Доступность: прослушивание собственного проекта | Имена и места за пределами общего английского |
| Голос-заполнитель для прототипа | Точное время для видеорежущей |
| произношение предложения, которое вы написали | пение или что-нибудь музыкальное |
Шаблон в правом столбце — это контроль. Модель дает вам голос, скорость и место, чтобы слушать. Невозможно подчеркнуть конкретное слово, вставить паузу заданной длины, изменить интонацию в вопросе или произнести аббревиатуру. Это то, что профессиональный TTS API предоставляет через разметку, и в этом нет ничего.
Первая строка левой колонки — это то место, где она зарабатывает свое место. Голос, читающий ваше собственное письмо в ответ, — это самый быстрый инструмент корректуры, потому что предложение, которое не работает, становится очевидным в тот момент, когда кто-то другой произносит это.
Вы слышите голос, прежде чем совершить его?
Нет, и это одна часть интерфейса, которую я бы изменил.
Восемь голосов являются выпадающим списком ярлыков: голос 1 через Voice 8, и ни к одному из них нет сэмплы. Единственный способ узнать, как звучит Voice 6, — это сгенерировать с помощью него, который занимает общий слот синтеза, занимает несколько секунд и считается вашим двадцати поколений за десять минут.
Для разового, что нормально. Для выбора голоса для проекта это означает прослушивание восьми дублей одной и той же строки перед тем, как начать, что составляет большую часть вашего бюджета, потраченного на принятие решения.
Практический подход заключается в прослушивании с короткой очередей, а не с вашим сценарием. Предложение дюжины слов возвращается примерно через две секунды и говорит вам высоту тона и характер, и это все, что вы выбираете. Затем переключитесь на реальный текст, как только вы выбрали.
Таблица ранее в этом руководстве является частичным ярлыком: голос 2 низкий, голос 5 — средний, голос 8 — высокий. Пятерку я не измерял, где-то среди них сидел.
Как это соотносится с облаком?
Не в пользе на польском языке, и это не то, что имеет значение здесь.
Коммерческий API дает вам лучшую прозоди, десятки языков, контроль над разметкой и упор, а также обучающие голоса для вещания. Если вы производите что-то для публикации, это стоит своих денег.
Вместо этого вам это дает то, что текст никогда не покидает собственное оборудование сайта, а результат — ваш, без счета за символ и без учетной записи. Для использования в левом столбце выше, особенно если вы слушаете, что ваш собственный черновик считывался, разница в польском языке не стоит облачной учетной записи и ключа API.
Честное резюме состоит в том, что это эквивалент TTS приличного встроенного микрофона. Достаточно того, что вы перестанете замечать, что он есть, а не то, что вы бы использовали для записи альбома.
Можно ли использовать звук в коммерческих целях?
Вероятно, с атрибуцией, и лицензия заслуживает внимательного взгляда, а не «да».
Двигатель Piper имеет лицензию MIT. Модель здесь обучается на Libritts-R, которая OpenSLR распространяет как "лицензию: CC на 4,0", а CC BY 4.0 разрешает коммерческое использование при предоставлении атрибуции.
Уход оправдан, потому что собственные метаданные цитирования Libritts-R содержат другую строку лицензии, некоммерческий вариант без производных. Скорее всего, это остатки в шаблоне цитирования, а не заявление о намерениях, а страница распределения является более сильным сигналом, но они не согласны, и я не в состоянии решить это за вас.
Итак: для чего-то случайного, это не тот вопрос, который задаст кто-нибудь. Для коммерческого продукта, построенного на аудио, прочитайте лицензию на конкретную модель голоса самостоятельно и прислушайтесь к совету, а не читайте мою страницу набора данных.
Что нужно проверить перед публикацией аудио?
Четыре вещи, в том порядке, в которых они идут не так.
- Слушай все это. Это звучит очевидно и регулярно пропускается, и это единственный способ поймать неправильно произносимое имя.
- Любое собственное имя, аббревиатура или единица. В модели нет словаря, который вы можете редактировать. Если "osei" или "gdpr" выходит неверно, то исправление пишут фонетически во входном тексте и признают, что ввод теперь уродлив.
- Длина, напротив прорези, которую она должна заполнить. Помните, что темп можно лишь легко контролируемым, поэтому оставьте место, а не планируйте второй.
- Конвертировать перед загрузкой. 2,6 МБ в минуту WAV — это не то, что вам нужно на веб-странице.
Почему он работает на собственном сервере сайта?
Потому что тексты, которые люди читали вслух, часто являются их собственными неопубликованными произведениями.
Черновик, сценарий, сопроводительное письмо, речь, сообщение, которое они не уверены в отправке. Обычная альтернатива публикует его в службу, которая выставляет счет за символ, сохраняет текст в терминах, которые никто не читает, и требует учетную запись перед первым словом.
Здесь он переходит в контейнер рядом с веб-приложением, синтезируется и возвращается в виде файла. Затраты видны в каждом выше измерении: по одному слоту за раз, потолке 3000 символов, моно 22 кГц и голосе, который скорее хорош, чем транслируется. В обмене текст был прочитан машиной, которой вы уже доверяли.



