Синтез устной речи - это преобразование заранее не известной текстовой информации в речь. Речевой вывод информации - это реализация речевого интерфейс, для упрощения использования системы. Фактически, благодаря синтезу речи предоставляется еще один канал передачи данных от компьютера, мобильного телефона к человеку, аналогично монитору. Конечно, передать рисунок голосом невозможно, но вот прослушать электронную почту или расписание на день в ряде случаев довольно удобно, особенно если в это время взгляд занят чем-либо другим. Например, придя утром на работу, готовясь к переговорам, Вы могли бы поправлять у зеркала галстук или прическу, в то время как компьютер читает вслух последние новости, почту или напоминает важную информацию для переговоров.
Рисунок 2.2 - Акустическая обработка сигнала
Технология синтеза устной речи нашла широкое применение для людей, имеющих проблемы со зрением. Для всех остальных она создает новое измерение удобства пользования техникой и значительно снижает нагрузку на зрение, на нервную систему, позволяет задействовать слуховую память.
Рисунок 2.3 - Синтез речи
Любой текст состоит из слов, разделенных пробелами и знаками препинания. Произнесение слов зависит от их расположения в предложении, а интонация фразы - от знаков препинания. Наконец, произнесение зависит и от смысла слова! Соответственно, для того чтобы синтезированная речь звучала натурально, необходимо решить целый комплекс задач, связанных как с обеспечением естественности голоса на уровне плавности звучания и интонации, так и с правильной расстановкой ударений, расшифровкой сокращений, чисел, аббревиатур и специальных знаков с учетом особенностей грамматики русского языка.
Существует несколько подходов к решению поставленных задач:
1) системы аллофонного синтеза - обеспечивают стабильное, но недостаточно естественное, роботизированное звучание;
2) системы, основанные на подходе Unit Selection - обеспечивают гораздо более естественное звучание, однако могут содержать фрагменты речи с резкими провалами качества, вплоть до потери разборчивости;
3) гибридная технология, основанная на подходе Unit Selection и дополненная единицами аллофонного синтеза.
На основе этой технологии была создана система VitalVoice, которая обеспечивает стабильное и естественное звучание на акустическом уровне.
Речевое общение является естественным и удобным для человека. Задача распознавания речи состоит в том, что бы убрать посредника в общении человека и компьютера. Управление машиной голосом в реальном времени, а также ввод информации посредством человеческой речи намного упростит жизнь современного человека. Научить машину понимать без посредника тот язык, на котором говорят между собой люди - задачи распознавания речи.
Ученые и инженеры уже много лет решают проблему речевого общения человека и машины. Первое устройство для распознавания речи появилось в 1952 году, оно могло распознавать произнесённые человеком цифры. Коммерческие программы по распознаванию речи появились в начале девяностых годов.
Все системы распознавания речи можно разделить на два класса:
1) Системы, зависимые от диктора - настраиваются на речь диктора в процессе обучения. Для работы с другим диктором такие системы требуют полной перенастройки.
Рисунок 2.4 - Распознавание речи
2) Системы, не зависимые от диктора - работа которых не зависит от диктора. Такие системы не требуют предварительного обучения и способны распознавать речь любого диктора.
Изначально на рынке появились системы первого вида. В них звуковой образ команды хранился в виде целостного эталона. Для сравнения неизвестного произнесения и эталона команды использовались методы динамического программирования. Эти системы хорошо работали при распознавании небольших наборов из 10-30 команд и понимали только одного диктора. Для работы с другим диктором эти системы требовали полной перенастройки.
Для того чтобы понимать слитную речь, необходимо было перейти к словарям гораздо больших размеров, от нескольких десятков до сотен тысяч слов. Методы, использовавшиеся в системах первого вида, не подходили для решения этой задачи, так как просто невозможно создать эталоны для такого количества слов.
Кроме этого, существовало желание сделать систему, не зависящую от диктора. Это весьма сложная задача, поскольку у каждого человека индивидуальная манера произнесения: темп речи, тембр голоса, особенности произношения. Такие различия называются вариативностью речи. Чтобы ее учесть, были предложены новые статистические методы, опирающиеся в основном на математические аппараты Скрытых Марковских Моделей (СММ) или Искусственных Нейронных сетей. Вместо создания эталонов для каждого слова, создаются эталоны отдельных звуков, из которых состоят слова, так называемые акустические модели. Акустические модели формируются путём статистической обработки больших речевых баз данных, содержащих записи речи сотен людей.
В существующих системах распознавания речи используются два принципиально разных подхода:
Распознавание лексических
Отметим, что создание систем распознавания речи представляет собой чрезвычайно сложную задачу.
Сегодня синтезаторы речи, применяемые в стационарных компьютерных системах или мобильных устройствах, чем-то необычным уже не кажутся. Технологии шагнули далеко вперед и позволили воспроизвести человеческий голос. Как все это работает, где применяется, каков лучший речевой синтезатор и с какими потенциальными проблемами может столкнуться пользователь, смотрите ниже.
Синтезаторы речи представляют собой специальные программы, состоящие из нескольких модулей, которые позволяют переводить набранный на клавиатуре текст в обычную человеческую речь в виде звукового сопровождения.
Было бы наивно полагать, что сопутствующие библиотеки содержат абсолютно все слова или возможные фразы, записанные в студиях реальными людьми. Это просто физически невозможно. К тому же библиотеки фраз имели бы такой размер, что установить их даже на современные винчестеры большого объема, не говоря уже о мобильных девайсах, просто не представлялось бы возможным.
Для этого была разработана технология, получившая название Text-to-Speech (перевод текста в речь).
Наиболее широкое распространение синтезаторы речи получили в нескольких областях, к которым можно отнести самостоятельное изучение иностранных языков (программы нередко имеют поддержку в 50 языков и более), кода нужно услышать правильное произношение слова, прослушивание текстов книг вместо чтения, создание речевых и вокальных партий в музыке, использование их людьми с ограниченными возможностями, выдача поисковых запросов в виде озвученных слов и фраз и т. д.
В зависимости от области применения, все программы можно разделить на два основных типа: стандартные, непосредственно преобразующие текст в речь, и речевые или вокальные модули, применяемые в музыкальных приложениях.
Для более полного понимания картины рассмотрим оба класса, но больший упор будет сделан все-таки на синтезаторы речи в их непосредственном назначении.
Что же касается преимуществ и недостатков программ такого типа, сначала рассмотрим все-таки недостатки.
Прежде всего нужно четко понимать, что компьютер - он и есть компьютер, который на данном этапе развития человеческую речь может синтезировать весьма приблизительно. В простейших программах зачастую наблюдаются проблемы с постановкой ударений в словах, пониженное качество звука, а в мобильных устройствах - повышенное энергопотребление, а иногда и несанкционированная загрузка речевых модулей.
Но и преимуществ хватает, ведь очень многие звуковую информацию воспринимают гораздо лучше, нежели визуальную. Удобство восприятия налицо.
Теперь несколько слов об основных принципах использования программ такого типа. Установить синтезатор речи любого типа можно без особых проблем. В стационарных системах используется стандартный инсталлятор, где основной задачей станет выбор поддерживаемых языковых модулей. Для мобильных девайсов установочный файл можно скачать из официального магазина или хранилища вроде Google Play или AppStore, после чего приложение инсталлируется в автоматическом режиме.
Как правило, при первом запуске никаких настроек, кроме установки языка по умолчанию, производить не нужно. Правда, иногда программа может предложить выбрать качество звучания (в стандартном варианте, применяемом повсеместно, частота дискретизации 4410 Гц, глубина 16 бит и битрейт 128 кбит/с). В мобильных устройствах эти показатели ниже. Тем не менее за основу берется определенный голос. С использованием стандартного шаблона произношения путем применения фильтров и эквалайзеров достигается звучание именно такого тембра.
В использовании можно выбрать несколько вариантов перевода вручную, озвучивание уже имеющего текста из файла, интеграция в другие приложения (например, веб-браузеры) с активацией выдачи поисковых результатов или прочтения текстового содержимого на страницах онлайн. Достаточно выбрать нужный вариант действий, язык и голос, которым все это будет произноситься. Многие программы имеют несколько разновидностей голосов: как мужских, так и женских. Для активации процесса воспроизведения обычно используется кнопка старта.
Если говорить о том, как отключить синтезатор речи, тут может быть несколько вариантов. В самом простом случае используется кнопка остановки воспроизведения в самой программе. В случае интеграции в браузер деактивация производится в настройках расширений или полным удалением плагина. А вот с мобильными устройствами, несмотря на непосредственное отключение, могут быть проблемы, о которых будет сказано отдельно.
В музыкальных программах настройки и ввод текста намного сложнее. Например, в приложении FL Studio есть свой речевой модуль, в котором можно выбрать несколько изменить настройки тональности, скорости воспроизведения и т. д. Для постановки ударений перед слогом используется символ «_». Но и такой синтезатор годится только для создания роботизированных голосов.
Но вот пакет Vocaloid от Yamaha относится к программам профессионального типа. Технология Text-to-Speech здесь реализована в наиболее полном объеме. В настройках, помимо стандартных параметров, можно выставить артикуляцию, глиссандо, использовать библиотеки с вокалом профессиональных исполнителей, составлять слова и фразы, подгоняя их под ноты, и еще кучу всего. Неудивительно, что пакет только с одним вокалом занимает порядка 4 Гб и более в установочном дистрибутиве, а после распаковки - вдвое-втрое больше.
Но вернемся к самым простым приложениям и рассмотрим самые популярные из них.
RHVoice - по мнению большинства экспертов, лучший синтезатор речи, являющийся российской разработкой авторства В стандартном варианте доступно три голоса (Александр, Ирина, Елена). Настройки просты. А само приложение может использоваться и как самостоятельная программа, совместимая с SAPI5, и как экранный модуль.
Acapela - достаточно интересное приложение, главной особенностью которого является почти идеальная озвучка текста более чем на 30 языках мира. В обычной версии, правда, доступен только один голос (Алена).
Vocalizer - мощное приложение с женским голосом Milena. Очень часто эта программа применяется в call-центрах. Имеется множество настроек постановки ударения, громкости, скорости чтения и установки дополнительных словарей. Главное отличие состоит в том, что речевой движок может встраиваться в программы вроде Cool Reader, Moon+ Reader Pro или Full Screen Caller ID.
Festival - мощнейшая утилита синтеза и распознавания речи, созданная для систем Linux и Mac OS X. Приложение поставляется с открытым исходным кодом и, помимо стандартных языковых пакетов, имеет поддержку даже финского языка и хинди.
eSpeak - речевое приложение, поддерживающее более 50 языков. Главным недостатком считается сохранение файлов с синтезированной речью исключительно в формате WAV, который занимает уж очень много места. Зато программа является кроссплатформенной и может использоваться даже в мобильных системах.
При установке «родного» синтезатора речи от Google, пользователи постоянно жалуются на то, что он самопроизвольно включает загрузку дополнительных языковых модулей, что может не только занимать достаточно длительный промежуток времени, но еще и расходует трафик.
Избавиться от этого в Android-системах можно очень просто. Для этого используем меню настроек, далее переходим в раздел языка и голосового ввода, выбираем голосовой поиск и на параметре распознавания речи оффлайн нажимаем на крестик (отключение). Дополнительно рекомендуется почистить кэш приложений и перезагрузить устройство. Иногда может потребоваться в самом приложении отключить показ уведомлений.
Поводя некий итог, можно сказать, что в большинстве случаев рядовым пользователям подойдут самые простые программы. Во всех рейтингах лидирует RHVoice. Но для музыкантов, которые хотят добиться естественного звучания голоса, чтобы разница между живым вокалом и компьютерным синтезом не ощущалась на слух, лучше отдать предпочтение программам типа Vocaloid, тем более что для них выпускается множество дополнительных голосовых библиотек, а настройки имеют столько возможностей, что примитивные приложения, как говорится, и рядом не стояли.
Синтез речи на сегодняшний день применяется в самых разных областях. Это и голосовые ассистенты, и IVR-системы, и умные дома, и еще много чего. Сама по себе задача, на мой вкус, очень наглядная и понятная: написанный текст должен произноситься так, как это бы сделал человек.
Некоторое время назад в область синтеза речи, как и во многие другие области, пришло машинное обучение. Выяснилось, что целый ряд компонентов всей системы можно заменить на нейронные сети, что позволит не просто приблизиться по качеству к существующим алгоритмам, а даже значительно их превзойти.
На запрос end2end tts Google выдает целую массу результатов. Во главе - реализация Tacotron от самого Google. Самым простым мне показалось идти от конкретных людей на Github, которые занимаются исследованиям в этой области и выкладывают свои реализации различных архитектур.
Я бы выделил троих:
Загляните к ним в репозитории, там целый кладезь информации. Архитектур и подходов к задаче E2E-синтеза довольно много. Среди основных:Автор выложил результаты работы синтеза по трем различным базам и на разных стадиях обучения. На мой вкус, как не носителя языка, они звучат весьма прилично. Последняя из баз на английском языке (Kate Winslet"s Audiobook) содержит всего 5 часов речи, что для меня тоже является большим преимуществом, так как моя база содержит примерно сопоставимое количество данных.
Через некоторое время после того, как я обучил свою систему, в репозитории появилась информация о том, что автор успешно обучил модель для корейского языка. Это тоже довольно важно, так как языки могут сильно разниться и робастность по отношению к языку - это приятное дополнение. Можно ожидать, что в процессе обучения не потребуется особого подхода к каждому набору обучающих данных: языку, голосу или еще каким-то характеристикам.
Еще один важный момент для такого рода систем - это время обучения. Tacotron на том железе, которое у меня есть, по моим оценкам учился бы порядка 2 недель. Для прототипирования на начальном уровне мне показалось это слишком ресурсоемким. Педали, конечно, крутить не пришлось бы, но на создание какого-то базового прототипа потребовалось бы очень много календарного времени. DCTTS в финальном варианте учится за пару дней.
У каждого исследователя есть набор инструментов, которыми он пользуется в своей работе. Каждый подбирает их себе по вкусу. Я очень люблю PyTorch. К сожалению, на нем реализации DCTTS я не нашел, и пришлось использовать TensorFlow. Возможно в какой-то момент выложу свою реализацию на PyTorch.
У меня на руках была база порядка 8 часов, записанная профессиональным диктором. Сейчас мы с коллегами обсуждаем возможность выложить этот голос в свободный доступ для некоммерческого использования. Если все получится, то дистрибутив с голосом помимо самих записей будет включать в себя точные текстовки для каждой из них.
Основные параметры системы обычно называют гиперпараметрами и выносят в отдельный файл, который называется соответствующим образом: hparams.py или hyperparams.py , как в нашем случае. В гиперпараметры выносится все, что можно покрутить, не трогая основной код. Начиная от директорий для логов, заканчивая размерами скрытых слоев. После этого гиперпараметры в коде используются примерно вот так:
From hyperparams import Hyperparams as hp
batch_size = hp.B # размер батча берем из гиперпараметров
Далее по тексту все переменные имеющие префикс hp.
берутся именно из файла гиперпараметров. Подразумевается, что эти параметры не меняются в процессе обучения, поэтому будьте осторожны перезапуская что-то с новыми параметрами.
Для примера возьмем простой алфавит:
["a", "b", "c"]
В процессе обучения мы выяснили, что оптимальные значения каждого их символов вот такие:
{
"a": ,
"b": ,
"c":
}
Тогда для строчки aabbcc
после прохождения embedding-слоя мы получим следующую матрицу:
[, , , , , ]
Эта матрица дальше подается на другие слои, которые уже не оперируют понятием символ.
В этот момент мы видим первое ограничение, которое у нас появляется: набор символов, который мы можем отправлять на синтез, ограничен. Для каждого символа должно быть какое-то ненулевое количество примеров в обучающих данных, лучше с разным контекстом. Это значит, что нам нужно быть осторожными в выборе алфавита.
В своих экспериментах я остановился на варианте:
# Алфавит задается в файле с гиперпараметрами
vocab = "E абвгдеёжзийклмнопрстуфхцчшщъыьэюя-"
Это алфавит русского языка, дефис, пробел и обозначение конца строки. Тут есть несколько важных моментов и допущений:
Считаются они следующим образом (код из этого листинга и всех последующих взят из реализации DCTTS, но видоизменен для наглядности):
# Получаем сигнал фиксированной частоты дискретизации
y, sr = librosa.load(wavename, sr=hp.sr)
# Обрезаем тишину по краям
y, _ = librosa.effects.trim(y)
# Pre-emphasis фильтр
y = np.append(y, y - hp.preemphasis * y[:-1])
# Оконное преобразование Фурье
linear = librosa.stft(y=y,
n_fft=hp.n_fft,
hop_length=hp.hop_length,
win_length=hp.win_length)
# Амплитудный спектр
mag = np.abs(linear)
# Мел-спектр
mel_basis = librosa.filters.mel(hp.sr, hp.n_fft, hp.n_mels)
mel = np.dot(mel_basis, mag)
# Переводим в децибелы
mel = 20 * np.log10(np.maximum(1e-5, mel))
mag = 20 * np.log10(np.maximum(1e-5, mag))
# Нормализуем
mel = np.clip((mel - hp.ref_db + hp.max_db) / hp.max_db, 1e-8, 1)
mag = np.clip((mag - hp.ref_db + hp.max_db) / hp.max_db, 1e-8, 1)
# Транспонируем и приводим к нужным типам
mel = mel.T.astype(np.float32)
mag = mag.T.astype(np.float32)
# Добиваем нулями до правильных размерностей
t = mel.shape
num_paddings = hp.r - (t % hp.r) if t % hp.r != 0 else 0
mel = np.pad(mel, [, ], mode="constant")
mag = np.pad(mag, [, ], mode="constant")
# Понижаем частоту дискретизации для мел-спектра
mel = mel[::hp.r, :]
Для вычислений почти во всех проектах E2E-синтеза используется библиотека LibROSA (https://librosa.github.io/librosa/). Она содержит много полезного, рекомендую заглянуть в документацию и посмотреть, что в ней есть.
Теперь давайте посмотрим как амплитудный спектр (magnitude spectrum) выглядит на одном из файлов из базы, которую я использовал:
Мел-спектр - это амплитудный спектр, но взятый на мел-шкале с определенным шагом и окном. Количество шагов мы задаем заранее, в большинстве реализаций для синтеза используется значение 80 (задается параметром hp.n_mels ). Переход к мел-спектру позволяет сильно сократить количество данных, но этом сохранить важные для речевого сигнала характеристики. Мел-спектрограмма для того же файла выглядит следующим образом:
Хорошо, мы можем получить спектрограмму по звуку, но послушать мы ее не можем. Соответственно нам нужно уметь восстанавливать сигнал обратно. Для этих целей в системах часто используется алгоритм Гриффина-Лима и его более современные интерпретации (к примеру, RTISILA, ссылка). Алгоритм позволяет восстановить сигнал по его амплитудным спектрам. Реализация, которую использовал я:
Def griffin_lim(spectrogram, n_iter=hp.n_iter):
x_best = copy.deepcopy(spectrogram)
for i in range(n_iter):
x_t = librosa.istft(x_best,
hp.hop_length,
win_length=hp.win_length,
window="hann")
est = librosa.stft(x_t,
hp.n_fft,
hp.hop_length,
win_length=hp.win_length)
phase = est / np.maximum(1e-8, np.abs(est))
x_best = spectrogram * phase
x_t = librosa.istft(x_best,
hp.hop_length,
win_length=hp.win_length,
window="hann")
y = np.real(x_t)
return y
А сигнал по амплитудной спектрограмме можно восстановить вот так (шаги, обратные получению спектра):
# Транспонируем
mag = mag.T
# Денормализуем
mag = (np.clip(mag, 0, 1) * hp.max_db) - hp.max_db + hp.ref_db
# Возвращаемся от децибел к аплитудам
mag = np.power(10.0, mag * 0.05)
# Восстанавливаем сигнал
wav = griffin_lim(mag**hp.power)
# De-pre-emphasis фильтр
wav = signal.lfilter(, , wav)
Давайте попробуем получить амплитудный спектр, восстановить его обратно, а затем послушать.
Оригинал:
SSRN восстанавливает из мел-спектра полноценный амплитудный спектр, учитывая пропуски кадров и восстанавливая частоту дискретизации.
Последовательность вычислений довольно подробно описана в оригинальной статье. К тому же есть исходный код реализации, так что всегда можно отладиться и вникнуть в тонкости. Обратите внимание, что автор реализации отошел в некоторых местах от статьи. Я бы выделил два момента:
$ python prepro.py
$ python train.py 1
$ python train.py 2
Обратите внимание, что в оригинальном репозитории prepro.py
именуется как prepo.py
. Мой внутренний перфекционист не смог этого терпеть, так что я его переименовал.
DCTTS содержит только сверточные слои, и в отличие от RNN реализаций, вроде Tacotron, учится значительно быстрее.
На моей машине с Intel Core i5-4670, 16 Gb RAM и GeForce 1080 на борту 50 тыс. шагов для Text2Mel учится за 15 часов, а 75 тыс. шагов для SSRN - за 5 часов. Время требуемое на тысячу шагов в процессе обучения у меня почти не менялось, так что можно легко прикинуть, сколько потребуется времени на обучение с большим количеством шагов.
Размер батча можно регулировать параметром hp.B . Периодически процесс обучения у меня валился с out-of-memory, так что я просто делил на 2 размер батча и перезапускал обучение с нуля. Полагаю, что проблема кроется где-то в недрах TensorFlow (я использовал не самый свежий) и тонкостях реализации батчинга. Я с этим разбираться не стал, так как на значении 8 все падать перестало.
$ python synthesize.py
Я немного поправил реализацию, чтобы генерировать фразы из нужного файла.
Результаты в виде WAV-файлов будут сохранены в директорию samples . Вот примеры синтеза системой, которая получилась у меня:
Остаются вопросы по управляемости таким синтезом. Пока невозможно даже исправить ударение в слове, если оно неверное. Мы жестко завязаны на максимальную длину фразы и размер мел-спектрограммы. Нет возможности управлять интонацией и скоростью воспроизведения.
Я не выкладывал мои изменения в коде оригинальной реализации. Они коснулись только загрузки обучающих данных и фраз для синтеза уже по готовой системе, а также значений гиперпараметров: алфавит (hp.vocab ) и размер батча (hp.B ). В остальном реализация осталась оригинальная.
В рамках рассказа я совсем не коснулся темы продакшн реализации таких систем, до этого полностью E2E-системам синтеза речи пока очень далеко. Я использовал GPU c CUDA, но даже в этом случае все работает медленнее реального времени. На CPU все работает просто неприлично медленно.
Все эти вопросы будут решаться в ближайшие годы крупными компаниями и научными сообществами. Уверен, что это будет очень интересно.
Теги: Добавить метки
Иногда нам нужно озвучить печатный текст голосом. Чаще всего такие программы используют те, кто учит иностранные языки для определения правильной интонации и ударения, также для чтения книг, да и просто для развлечения и розыгрыша друзей. Чтобы воспользоваться озвучкой текста нет необходимости скачивать программы на свой компьютер, ведь их достаточное количество в онлайн версии (в отличии от ). В этой статье будут рассмотрены наилучшие синтезаторы человеческой речи, которыми вы сможете воспользоваться в режиме онлайн.
Гугл переводчик является одним из самых популярных и наилучших сервисов, который предоставляет комплекс самых разных услуг. Например, всем известный переводчик имеет функцию озвучивания веденного текста, причем на всех поддерживаемых языках. Качество озвучки местами низкое, но в целом приемлемое. Если вы переводите печатный текст в речь для изучения языка, то синтезатор Google Translate подойдет вам идеально. Самое важное в этом сервисе то, что он является простым и доступным каждому пользователю в сети Интернет.
Для того, чтобы воспользоваться сервисом от Гугл:
Недостатком его является отсутствие возможности скачать воспроизведенный синтез речи в файле на свой компьютер. Также нет каких-либо настроек голоса или выбора исполнителя.
Acapela – самый популярный и один из лучших речевых синтезаторов, позволяющих работать в режиме онлайн. Сервис поддерживает более 30 языков, а также большое количество исполнителей на выбор, как мужских, так и женских. Для английского есть аж 20 тембров на выбор – женский, мужской, подросток, ребенок, грубый мужской, мягкий женский и т.д. Программа легко настраивается и проста в использовании. На сайте доступна программа для оффлайн применения. У вас есть возможность попробовать дэмо-версию синтезатора речи, нажав в строке меню соответствующий пункт.
Для настройки синтеза устной речи в режиме онлайн используйте блок с левой стороны на странице http://www.acapela-group.com/voices/demo/ .
Итак, как это работает:
Озвучка через данный сервис среднего качества. Интонации практически во всех словах правильные. Продукт доступен для всех платформ.
Онлайн сервис Next.2yxa.mobi является простым и доступным синтезатором для воспроизведения напечатанного текста. Сайт разрабатывался для мобильных устройств, поэтому войдя в него через web-браузер, мы будем иметь легкий и быстрый инструмент для синтеза текста. В связи с этим сайт имеет некоторые ограничения в работе. Например, если вам нужно «прочитать» закаченный текст, то размер файла не должен превышать 100 kb. Вы можете напечатать текст и сразу озвучить его.
Для этого вам необходимо:
Еще одним среди лучших речевых синтезаторов по озвучке теста онлайн, созданный иностранными разработчиками является Vocalizer. Доступен он по ссылке http://www.nuance.com/landing-pages/playground/Vocalizer_Demo2/vocalizer_modal.html . Это простой и понятный сервис. Меню и интерфейс полностью на английском, но разобраться будет очень просто. Онлайн сервисом мы можем воспользоваться в качестве Demo-версии. В системе вам доступно 100 различных голосовых вариантов озвучивания и 47 языков.
Синтезировать речь в режиме онлайн с помощью этой программы очень просто. Для этого:
На сегодняшний день синтезаторы речи, которые используются в стационарных компьютерных системах или мобильных устройствах, уже не кажутся чем-то необычным. Технологии уже шагнули далеко вперед и дали возможность воспроизводить человеческий голос. Ниже мы рассмотрим, как это все работает, где используется речевой синтезатор, как выбирать подобное устройство, а также с какими потенциальными проблемами может столкнуться пользователь при приобретении такого устройства. Что же собой представляют речевые синтезаторы? Где они могут быть использованы? Синтезаторы речи представляют собой специальные программы, которые состоят из нескольких модулей. Данные программы позволяют переводить набранный на клавиатуре текст в обычную человеческую речь в виде звукового сопровождения. Наивно было бы полагать, что сопутствующие библиотеки содержат совершенно все слова или возможные фразы, которые записаны в студиях реальными людьми. Это невозможно просто на физическом уровне. Библиотеки фраз к тому же имели бы такой размер, что их просто нельзя было бы установить даже на современные жесткие диски большого объема, не говоря уже о мобильных устройствах. Кроме того была разработана технология, которая получила название Text-to-Speech,что в переводе означает «текст в речь». Синтезаторы речи получили наибольшее распространение в нескольких областях. К одной из таких областей можно отнести самостоятельное изучение иностранных языков, когда пользователю необходимо слышать правильное произношение слова. Также синтезаторы речи используются для прослушивания книг вместо чтения, создания локальных и речевых партий при записи музыки, для выдачи поисковых запросов в виде озвученных фраз или слов. Подобные устройства также могут использоваться людьми с ограниченными возможностями.
Синтезаторы речи: типы программ
Все синтезаторы речи в зависимости от области использования можно условно разделить на два основных типа: стандартные программы, которые используются для непосредственного преобразования речи в текст, и речевые или вокальные модули, которые применяются в музыкальных приложениях. Чтобы более подробно рассмотреть данный вопрос, мы рассмотрим оба класса программ, однако упор в большей степени все-таки будет сделан на синтезаторы речи в их непосредственном назначении.
Преимущества и недостатки простейших речевых приложений. Что касается преимуществ и недостатков программ данного типа, то для начала давайте рассмотрим недостатки. Прежде всего, стоит сказать, что компьютер это все-таки техническое устройство. На данном этапе развития он может весьма приблизительно синтезировать человеческую речь. Зачастую в простейших программах наблюдаются проблемы с постановкой ударений в словах, низкое качество звука. На мобильных устройствах обычно наблюдается повышенное энергопотребление. В некоторых случаях наблюдается также несанкционированная загрузка речевых модулей. Однако и преимуществ здесь также хватает. Многие лучше воспринимают звуковую информацию, а не визуальную. Так что, явным преимуществом является удобство восприятия. Как же правильно использовать синтезатор речи? Скажем еще немного об основных принципах использования такого типа программ. Во-первых, устанавливается синтезатор речи любого типа безо всяких проблем. В стационарных системах применяется стандартный инсталлятор, основной задачей которого будет выбор поддерживаемых языковых модулей. Для мобильных устройств можно скачать установочный файл из официального магазина или хранилища типа AppStore или Google Play.
После этого приложение будет установлено в автоматическом режиме. При первом запуске, как правило, никаких настроек, кроме выбора языка, используемого по умолчанию, выполнять не нужно. Однако в некоторых случаях программа может предложить выбрать качество звучания. Повсеместно применяется стандартный вариант с частотой дискретизации 4410 Гц, глубиной 16 бит и битрейтом 128 кбит/с. В мобильных устройствах аналогичные показатели немного ниже. За основу берется определенный голос. При использовании стандартного шаблона произношения путем использования эквалайзеров и фильтров можно достичь звучания именно такого тембра. При использовании можно выбрать несколько вариантов перевода текста: перевод текста в ручном режиме, озвучивание из файла уже имеющегося текста, интеграция в другие приложения с возможностью активации выдачи поисковых результатов или прочтения на страницах онлайн текстового содержимого. Здесь достаточно будет выбрать нужный вариант действий, голос и язык, на котором будет произноситься текст. У многих программ есть сразу несколько разновидностей голосов, как женских, так и мужских. Чтобы активировать процесс воспроизведения, можно использовать кнопку старта.
Если говорить о том, как отключить синтезатор речи, то здесь может быть несколько вариантов. В простейшем случае можно использовать в самой программе кнопку остановки воспроизведения. В том случае, если синтезатор интегрирован в браузер, деактивация осуществляется в настройках расширений путем полного удаления плагина. С мобильными устройствами, несмотря на непосредственное отключение, могут возникнуть некоторые проблемы, о которых речь пойдет далее. Так, например, ввод текста и настройки осуществляются более сложным путем. Рассмотрим приложение FLStudio. Тут имеется собственный речевой модуль, в котором можно выбрать несколько типов голосов, изменить скорость воспроизведения или настройки тональности. Чтобы поставить ударение, перед слогом необходимо использовать символ «_». Однако такой синтезатор подойдет только для создания роботизированных голосов. Пакет Vocaloid от компании Yamaha уже можно отнести к программам профессионального уровня. Здесь в наиболее полном объеме реализована технология Text-to-Speech.
Помимо стандартных параметров в настройках можно выставить глиссандо и артикуляцию. Также можно использовать библиотеки с вокалом профессиональных исполнителей, составлять отдельные слова и целые фразы, подгонять их под различные ноты, и еще много всего другого. Вовсе не удивительно, что с одним только вокалом данный программный пакет занимает более 4 Гб в установочном дистрибутиве. После его распаковки объем увеличивается еще в два-три раза.
В данном обзоре мы уделим внимание только простым приложениям. Рассмотрим самые популярные из них. По мнению большинства пользователей RH Voice является лучшим синтезатором речи. Эта российская разработка была создана Ольгой Яковлевой. В стандартном варианте программы доступно всего три голоса – Елена, Александр, Ирина. Настройка программы выполняется достаточно просто. Само по себе приложение может использоваться и как самостоятельная программа, совместимая с SAPi5,икак экранный модуль.
Еще одним интересным приложением является Acapеla. Его основной особенностью является практически идеальная озвучка текста более чем на 30 языках мира. В простой версии приложения доступен только один вариант голоса – Алена. Еще одно мощное приложение с женским голосом – Milena. Эта программа очень часто используется в call-центрах. Существует множество настроек постановки ударения, настройки громкости, скорости чтения, а также установки дополнительных словарей. Основное отличие данной программы состоит в том, что речевой движок должен встраиваться в программе наподобие Cool Reader, Full Screen Caller ID, Moon+ Reader Pro. Мощнейшей утилитой для синтеза и распознавания речи является программа Festival. Она предназначена для систем Mac OSX и Linux. Поставляется это приложение с открытым исходным кодом. Помимо стандартных языковых пакетов он обладает поддержкой финского языка и хинди. Еще одно речевое приложение – eSpeak. Оно поддерживает более 50 языков. Главный недостаток данной программы состоит в том, что файлы с синтезированной речью оно сохраняет исключительно в формате WAV. Данный формат, как известно, занимает очень много места. Данная программа является кроссплатформенной и может применяться даже в мобильных системах.
Google Android: проблемы с синтезатором речи
Пользователи при установке «родного» синтезатора речи от компании Google очень часто жалуются на то, что он самопроизвольно включает загрузку дополнительных языковых модулей. Это не только занимает длительный промежуток времени, но и серьезно расходует трафик. Избавиться от этой проблемы в системах Android очень просто. Для этого необходимо использовать меню настроек. Здесь переходим в раздел языка и голосового ввода. Тут нужно выбрать голосовой поиск на параметре распознавания речи в режиме оффлайн и нажать на крестик (отключение). Также рекомендуется дополнительно почистить кэш приложений и выполнить перезагрузку устройства. В некоторых случаях в самом приложении может потребоваться отключить показ уведомлений.
Что же получается в конечном итоге? Если подводить некий итог, то можно сказать, что рядовым пользователям подойдут самые простые программы. Лидером во многих рейтингах оказывается программа RHVoice.Однако для музыкантов, которым необходимо добиться естественного звучания голоса, чтобы не ощущалась разница между живым и компьютерным синтезом, лучше отдавать предпочтение программам типа Vocaloid.Для подобных программ сегодня выпускается множество дополнительных голосовых библиотек. Настройки данных приложений имеют столько возможностей, то примитивные приложения и рядом не стоят.