ESpeak - ESpeak
Оригинальный автор (ы) | Джонатан Даддингтон |
---|---|
Разработчики) | Рис Данн |
изначальный выпуск | Февраль 2006 г. |
Стабильный выпуск | 1.50 / 30 октября 2020 |
Репозиторий | github |
Написано в | C |
Операционная система | Linux Windows macOS FreeBSD |
Тип | Синтезатор речи |
Лицензия | GPLv3 |
Интернет сайт | github |
eSpeakNG компактный, Открытый исходный код, программного обеспечения синтезатор речи для Linux, Windows, и другие платформы. Он использует формантный синтез метод, предоставляющий много языков в небольшом размере. Большая часть программирования для языковой поддержки eSpeakNG выполняется с использованием файлов правил с отзывами от носителей языка.
Из-за своего небольшого размера и большого количества языков он включен в качестве синтезатора речи по умолчанию в NVDA [1] Открытый исходный код читатель экрана для Windows, а также для Android,[2] Ubuntu[3] и другие дистрибутивы Linux. Его предшественник eSpeak был рекомендован Microsoft в 2016 году.[4] и использовался Гугл переводчик для 27 языков в 2010 г .;[5] 17 из них впоследствии были заменены коммерческими голосами.[6]
Качество языковых голосов сильно различается. В предшественнике eSpeakNG, eSpeak, первоначальные версии некоторых языков основывались на информации, найденной на Википедия.[7] Некоторые языки получили больше работы или отзывов от носителей языка, чем другие. Большинство людей, которые помогли улучшить различные языки, являются слепыми пользователями преобразования текста в речь.
История
В 1995 году Джонатан Даддингтон выпустил синтезатор речи Speak для ОС RISC компьютеры с поддержкой британского английского.[8] 17 февраля 2006 года Speak 1.05 был выпущен под лицензией GPLv2 лицензия, первоначально для Linux, с Windows SAPI 5 версия добавлена в январе 2007 года.[9] Разработка Speak продолжалась до версии 1.14, когда она была переименована в eSpeak.
Разработка eSpeak продолжалась с версии 1.16 (версии 1.15 не было)[9] с добавлением программы eSpeakEdit для редактирования и создания голосовых данных eSpeak. Они были доступны только как отдельный исходный код и двоичные загрузки до eSpeak 1.24. Версия 1.24.02 eSpeak была первой версией eSpeak, версия которой контролировалась с помощью подрывная деятельность,[10] с отдельным исходным кодом и двоичными загрузками, доступными на Sourceforge.[9] Начиная с eSpeak 1.27, eSpeak был обновлен для использования GPLv3 лицензия.[11] Последним официальным выпуском eSpeak был 1.48.04 для Windows и Linux, 1.47.06 для RISC OS и 1.45.04 для macOS.[12] Последний выпуск eSpeak в разработке - 1.48.15 16 апреля 2015 года.[13]
eSpeak использует Схема Usenet представлять фонемы с символами ASCII.[14]
eSpeak NG
25 июня 2010 г.[15] Рис Данн начал вилка eSpeak на GitHub используя версию 1.43.46. Это началось как попытка упростить создание eSpeak в Linux и других POSIX платформы.
4 октября 2015 года (через 6 месяцев после выпуска 1.48.15 eSpeak) этот форк начал более существенно отличаться от исходного eSpeak.[16][17]
8 декабря 2015 года в списке рассылки eSpeak обсуждалось отсутствие активности со стороны Джонатана Даддингтона за предыдущие 8 месяцев с момента последней разработки eSpeak. Это переросло в обсуждение продолжения разработки eSpeak в отсутствие Джонатана.[18][19] Результатом этого стало создание вилки espeak-ng (Next Generation), использующей версию eSpeak для GitHub в качестве основы для будущего развития.
11 декабря 2015 года был запущен форк espeak-ng.[20] Первый выпуск espeak-ng был 1.49.0 10 сентября 2016 г.[21] содержащие значительную очистку кода, исправления ошибок и языковые обновления.
особенности
eSpeakNG можно использовать как программу командной строки или как разделяемую библиотеку.
Он поддерживает Язык разметки синтеза речи (SSML).
Языковые голоса идентифицируются по языку ISO 639-1 код. Их можно модифицировать «голосовыми вариантами». Это текстовые файлы, которые могут изменять такие характеристики, как диапазон высоты тона, добавлять эффекты, такие как эхо, шепот и хриплый голос, или вносить систематические корректировки в частоты формант для изменения звучания голоса. Например, «af» - это голос африкаанс. «af + f2» - это голос африкаанс, модифицированный вариантом голоса «f2», который изменяет форманты и диапазон высоты тона для придания женскому звучанию.
eSpeakNG использует представление имен фонем в формате ASCII, которое в значительной степени основано на Система Usenet.
Фонетические представления могут быть включены в текстовый ввод, заключив их в двойные квадратные скобки. Например: espeak-ng -v en "Привет [[w3: ld]]" скажет Привет мир по-английски.
Метод синтеза
eSpeakNG можно использовать в качестве переводчика текста в речь по-разному, в зависимости от того, какой шаг преобразования текста в речь пользователь хочет использовать.
1. шаг - перевод текста в фонемы
Есть много языков (особенно английский ) в которых нет однозначных правил написания и произношения; поэтому первым шагом в преобразовании текста в речь должен быть преобразование текста в фонемы.
- вводимый текст переводится на фонемы произношения (например, вводимый текст ксерокопия переводится на zi @ r0ks для произношения).
- фонемы произношения синтезируются в звук, например, zi @ r0ks озвучивается как zi @ r0ks монотонно
Чтобы добавить интонации к речи, т.е. просодия необходимы данные (например, ударение слога, падающая или повышающаяся высота основной частоты, пауза и т. д.) и другая информация, которая позволяет синтезировать более человечную, немонотонную речь. Например. в формате eSpeakNG ударный слог добавляется с использованием апострофа: z'i @ r0ks что обеспечивает более естественную речь: z'i @ r0ks с интонацией
Для сравнения два образца с данными просодии и без них:
- [[DIs Iz m0noUntoUn spi: tS]] пишется монотонно
- [[DIs Iz 'Int @ n, eItI2d sp'i: tS]] пишется интонационно
Если eSpeakNG используется только для генерации данных просодии, тогда данные просодии могут использоваться как входные для MBROLA голоса дифонов.
2. шаг - синтез звука из просодических данных
ESpeakNG предоставляет два разных типа формант синтез речи используя два разных подхода. С собственным синтезатором eSpeakNG и Клатт синтезатор:[22]
- Синтезатор eSpeakNG создает озвученные звуки речи, такие как гласные и сонорные согласные от аддитивный синтез сложение синусоидальных волн для получения общего звука. Глухие согласные например / с / производятся воспроизведением записанных звуков,[23] потому что они богаты гармониками, что делает аддитивный синтез менее эффективным. Звонкие согласные, такие как / z /, получаются путем смешивания синтезированного вокализованного звука с записанным образцом невокализованного звука.
- Синтезатор Klatt в основном использует те же формантные данные, что и синтезатор eSpeakNG. Но он также производит звуки субтрактивный синтез начав с генерируемого шума, богатого гармониками, а затем применив цифровые фильтры и обволакивающий отфильтровать необходимый частотный спектр и звуковую огибающую для конкретного согласного (s, t, k) или сонорного (l, m, n) звука.
Для MBROLA голоса, eSpeakNG преобразует текст в фонемы и связанные с ними контуры высоты тона. Он передает это в программу MBROLA, используя формат файла PHO, захватывая аудио, созданное на выходе MBROLA. Затем этот звук обрабатывается eSpeakNG.
Языки
eSpeakNG выполняет синтез текста в речь для следующих языков:[24][25]
- Абаза
- африкаанс[26]
- албанский[27]
- Амхарский
- Древнегреческий
- арабский1
- Арагонский[28]
- Армянский (Восточноармянский )
- Армянский (Западноармянский )
- Ассамский
- Азербайджанский
- Башкирский
- Баскский
- Белорусский
- Бенгальский
- Бходжпури
- Бишнуприя Манипури
- Боснийский
- болгарский[28]
- Бирманский
- Кантонский[28]
- Каталонский[28]
- Себуано
- Чероки
- Чичева
- Китайский (Мандарин )
- Корсиканский
- хорватский[28]
- Чешский
- Чувашский
- Датский[28]
- Голландский[28]
- Дзонгка
- английский (Американец )[28]
- английский (Британский )
- английский (Карибский бассейн )
- английский (Ланкастерский )
- английский (Полученное произношение )
- английский (Шотландский )
- английский (западное Средиземье )
- эсперанто[28]
- эстонский[28]
- Финский[28]
- Французский (бельгийский )[28]
- Французский (Франция )
- Французский (Швейцарский )
- фризский
- Галицкий
- Грузинский[28]
- Немецкий[28]
- Греческий (Современный )[28]
- Гренландский
- Гуарани
- Гуджарати
- Хакка китайский
- Гаитянский креольский
- Хауса
- Гавайский
- иврит
- хинди[28]
- Хмонг
- венгерский язык[28]
- исландский[28]
- Игбо
- индонезийский[28]
- Я делаю
- Интерлингва
- Ирландский[28]
- Итальянский[28]
- Японский3[29]
- Каннада[28]
- Казахский
- Кхмерский
- Клингон
- Kʼicheʼ
- Конкани[30]
- Корейский
- Курдский[28]
- Кыргызский
- кечуа
- Лаосский
- латинский
- Латгальский
- латышский язык[28]
- Lingua Franca Nova
- Лепча
- Лимбу
- Литовский
- Ложбан[28]
- Люксембургский
- македонский
- Майтхили
- Малагасийский
- малайский[28]
- Малаялам[28]
- Мальтийский
- Маори
- Маратхи,[28]
- Монгольский
- Науатль (Классический )
- Навахо
- Непальский[28]
- Норвежский (Букмол )[28]
- Ногайский
- Одиа
- Оромо
- Папьяменто
- Пушту
- Персидский[28]
- Персидский (Латинский алфавит )2
- Польский[28]
- португальский (Бразильский )[28]
- португальский (Португалия )
- Пенджаби[31]
- Пяш (искусственный язык)
- румынский[28]
- русский[28]
- русский (Латвия )
- Самоанский
- санскрит
- Шотландский гэльский
- сербский[28]
- Шан (Тай Яй),
- Шарда
- Сесото
- Шона
- Синдхи
- Сингальский
- словацкий[28]
- словенский
- Сомалийский
- испанский (Испания )[28]
- испанский (Латиноамериканская )
- суахили[26]
- Шведский[28]
- Таджикский
- Тамильский[28]
- Татарский
- телугу
- Тсвана
- Тайский
- туркменский
- турецкий[28]
- Татарский
- Уйгурский
- украинец
- Урду
- Узбекский
- вьетнамский (Центрально-вьетнамский )[28]
- вьетнамский (Северный Вьетнам )
- вьетнамский (Южный Вьетнам )
- Валирийский
- валлийский
- Волоф
- Коса
- идиш
- Йоруба
- Зулусский
- В настоящее время только полностью диакритический арабский поддерживается.
- Персидский написано с использованием Английские (латинские) символы.
- В настоящее время только Хирагана и Катакана поддерживаются.
Смотрите также
использованная литература
- ^ Переключиться на eSpeak NG в раздаче NVDA # 5651
- ^ eSpeak TTS для Android
- ^ пакет espeak-ng в Ubuntu
- ^ https://support.office.com/en-us/article/download-voices-for-immersive-reader-read-mode-and-read-aloud-4c83a8d8-7486-42f7-8e46-2b0fdf753130
- ^ Блог Google, Голосование на других языках в Переводчике Google, Май 2010 г.
- ^ Блог Google, Послушайте нас сейчас, Декабрь 2010 г.
- ^ Синтезатор речи eSpeak 3. ЯЗЫКИ
- ^ http://espeak.sourceforge.net/
- ^ а б c https://sourceforge.net/projects/espeak/files/espeak/
- ^ История Subversion (редакция 1)
- ^ История Subversion (редакция 56)
- ^ http://espeak.sourceforge.net/download.html
- ^ http://espeak.sourceforge.net/test/latest.html
- ^ ван Леуссен, Ян-Вилем; Тромп, Маартен (26 июля 2007 г.). «От латыни к речи»: 6. CiteSeerX 10.1.1.396.7811. Цитировать журнал требует
| журнал =
(Помогите) - ^ https://github.com/rhdunn/espeak/commit/63daaecefccde34b700bd909d23c6dd2cac06e20
- ^ https://github.com/rhdunn/espeak/commit/61522a12a38453a4e854fd9c9e0994ad80420243
- ^ https://github.com/nvaccess/nvda/issues/5651#issuecomment-170288487
- ^ Принятие ответственности за проект eSpeak и его будущее
- ^ Проголосуйте за нового главного разработчика eSpeak
- ^ Измените название программы espeak на espeak-ng.
- ^ espeak-ng 1.49.0
- ^ Деннис Х. Клатт (1979). «Программное обеспечение для синтезатора каскадных / параллельных формант» (PDF). Дж. Акустическое общество Америки, 67 (3) март 1980 г.
- ^ Список записанных фрикативов в eSpeakNG
- ^ https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md
- ^ https://github.com/espeak-ng/espeak-ng/blob/master/CHANGELOG.md
- ^ а б Бутгерайт, Л., и Бота, А. (2009, май). Хадеда: шумный способ попрактиковаться в правописании с помощью мобильного телефона.. В Конференция IST-Africa 2009, Кампала, Уганда.
- ^ Хамити, М., и Кастрати, Р. (2014). Адаптация eSpeak для преобразования текста в речь на албанском языке. Международный журнал проблем компьютерных наук (IJCSI), 11(4), 21.
- ^ а б c d е ж г час я j k л м п о п q р s т ты v ш Икс y z аа ab ac объявление ае аф аг ах ай aj ак аль я ан ао ap Кайте, С., и Гавали, Д. Б. (2015). Синтез речи маратхи: обзор. Международный журнал о последних и инновационных тенденциях в вычислениях и коммуникациях, 3 (6), 3708-3711.
- ^ Пронк, Р. (2013). Добавление поддержки синтеза японского языка в систему eSpeak. Амстердамский университет.
- ^ Моханан, С., Салкар, С., Наик, Г., Дессай, Н. Ф., и Найк, С. (2012). Читатель текста для языка конкани. Автоматизация и автономная система, 4(8), 409-414.
- ^ Каур, Р., и Шарма, Д. (2016). Улучшенная система преобразования текста в речь для языка панджаби с использованием eSpeak. Международный научно-исследовательский журнал техники и технологий, 3(4), 500-504.