eSpeak
![]() | |
Оригинальный автор(ы) | Джонатан Даддингтон |
---|---|
Разработчик(и) | Александр Епанешников и др. |
Первоначальный выпуск | февраль 2006 г |
Стабильная версия | 1.51 [1] ![]() |
Репозиторий | github |
Написано в | С |
Операционная система | Линукс Окна macOS FreeBSD |
Тип | Синтезатор речи |
Лицензия | лицензия GPLv3 |
Веб-сайт | github |
eSpeak — это открытым исходным кодом бесплатный кроссплатформенный с компактный программный синтезатор речи . Он использует метод формантного синтеза , обеспечивая множество языков в относительно небольшом размере файла. eSpeakNG (Next Generation) — это продолжение оригинального проекта разработчика с большим количеством отзывов носителей языка.
Из-за своего небольшого размера и большого количества языков eSpeakNG включен в NVDA. [2] с открытым исходным кодом программа чтения с экрана для Windows, а также Android, [3] Убунту [4] и другие дистрибутивы Linux. Его предшественник eSpeak был рекомендован Microsoft в 2016 году. [5] и использовался Google Translate для 27 языков в 2010 году; [6] 17 из них впоследствии были заменены собственными голосами. [7]
Качество языковых голосов сильно различается. В предшественнике eSpeakNG, eSpeak, первоначальные версии некоторых языков были основаны на информации, найденной в Википедии . [8] Некоторые языки получили больше работы или отзывов от носителей языка, чем другие. Большинство людей, которые помогли улучшить различные языки, являются слепыми пользователями преобразования текста в речь.
История
[ редактировать ]В 1995 году Джонатан Даддингтон выпустил синтезатор речи Speak для компьютеров с ОС RISC , поддерживающих британский английский. [9] 17 февраля 2006 года Speak 1.05 был выпущен под лицензией GPLv2 , первоначально для Linux , а Windows SAPI 5 . в январе 2007 года была добавлена версия [10] Разработка Speak продолжалась до версии 1.14, когда она была переименована в eSpeak.
Разработка eSpeak продолжалась с версии 1.16 (выпуска 1.15 не было) [10] с добавлением программы eSpeakEdit для редактирования и создания голосовых данных eSpeak. Они были доступны только в виде отдельных исходных кодов и двоичных файлов до eSpeak 1.24. Версия eSpeak 1.24.02 была первой версией eSpeak, версия которой контролировалась с помощью Subversion . [11] с отдельными исходными и двоичными загрузками, доступными на SourceForge. [10] Начиная с 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 OF
[ редактировать ]25 июня 2010 г. [15] Рис Данн запустил форк eSpeak на GitHub, используя версию 1.43.46. Это началось с попытки упростить сборку eSpeak на Linux и других платформах POSIX .
4 октября 2015 года (через шесть месяцев после выпуска eSpeak 1.48.15) этот форк начал более существенно отличаться от исходного 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 «Hello [[w3:ld]]» скажет «
по-английски.Метод синтеза
[ редактировать ]eSpeakNG можно использовать в качестве переводчика текста в речь по-разному, в зависимости от того, какой этап перевода текста в речь хочет использовать пользователь.
1. шаг — перевод текста в фонему
[ редактировать ]Есть много языков (особенно английского ), в которых нет однозначных правил между письмом и произношением; поэтому первым шагом в преобразовании текста в речь должен быть перевод текста в фонему.
- вводимый текст переводится в фонемы произношения (например, вводимый текст ксерокса переводится в zi@r0ks за произношение).
- фонемы произношения синтезируются в звук, например, zi@r0ks озвучивается как
Для интонации речи необходимы просодические данные (например, ударение слога, понижение или повышение тона основной частоты, пауза и т. д.) и другая информация, позволяющая синтезировать более человечную, немонотонную речь. Например, в формате eSpeakNG ударный слог добавляется с помощью апострофа: z'i@r0ks , который обеспечивает более естественную речь:
Для сравнения два образца с просодическими данными и без них:
- [[DIs Iz m0noUntoUn spi:tS]] пишется
- [[DIs Iz 'Int@n,eItI2d sp'i:tS]] пишется
Если eSpeakNG используется только для генерации просодических данных, то просодические данные можно использовать в качестве входных данных для MBROLA дифонных голосов .
2. шаг — синтез звука из просодических данных.
[ редактировать ]eSpeakNG обеспечивает два разных типа синтеза формантной речи, используя два разных подхода. Со своим собственным синтезатором eSpeakNG и синтезатором Klatt : [22]
- Синтезатор eSpeakNG создает звонкие звуки речи, такие как гласные и сонорные согласные, путем аддитивного синтеза, складывая синусоидальные волны для получения общего звука. Глухие согласные, например /s/, образуются при воспроизведении записанных звуков. [23] поскольку они богаты гармониками, что делает аддитивный синтез менее эффективным. Звонкие согласные, такие как /z/, образуются путем смешивания синтезированного звонкого звука с записанным образцом глухого звука.
- Синтезатор Klatt в основном использует те же формантные данные, что и синтезатор eSpeakNG. Но он также производит звуки путем субтрактивного синтеза , начиная с генерируемого шума, богатого гармониками, а затем применяя цифровые фильтры и огибающую для фильтрации необходимого частотного спектра и звуковой огибающей для определенного согласного (s, t, k) или сонорного ( л, м, н) звук.
Для голосов MBROLA eSpeakNG преобразует текст в фонемы и соответствующие контуры высоты тона. Он передает это в программу MBROLA, используя формат файла PHO, записывая звук, созданный на выходе MBROLA. Затем этот звук обрабатывается eSpeakNG.
Языки
[ редактировать ]eSpeakNG выполняет синтез речи для следующих языков: [24]
- Африканский [25]
- албанский [26]
- амхарский
- Древнегреческий
- арабский 1
- Арагонский [27]
- Армянский ( Восточноармянский )
- Армянский ( Западноармянский )
- Ассамский
- азербайджанский
- Башкирский
- Баскский
- белорусский
- Бенгальский
- Бишнуприя Манипури
- Боснийский
- болгарский [27]
- бирманский
- Кантонский диалект [27]
- каталонский [27]
- Чероки
- Китайский ( Мандарин )
- хорватский [27]
- чешский
- чувашский
- датский [27]
- Голландский [27]
- английский ( американский ) [27]
- английский ( британский )
- Английский ( Карибский )
- английский ( ланкастерский )
- английский ( Нью-Йорк ) 5
- Английский ( полученное произношение )
- английский ( шотландский )
- Английский ( Уэст-Мидлендс )
- эсперанто [27]
- эстонский [27]
- финский [27]
- Французский ( Бельгийский ) [27]
- Французский ( Канада )
- Французский ( Франция )
- грузинский [27]
- немецкий [27]
- Греческий ( современный ) [27]
- гренландский
- Гуарани
- Гуджарати
- Хакка китайский 3
- гаитянский креольский
- гавайский
- иврит
- Неа [27]
- венгерский [27]
- исландский [27]
- индонезийский [27]
- Глаз
- Интерлингва
- ирландский [27]
- итальянский [27]
- японский 4 [28]
- Каннада [27]
- казахский
- клингонский
- Кухня
- Конкани [29]
- корейский
- курдский [27]
- киргизский
- кечуа
- латинский
- латгальский
- латышский [27]
- Лингва Франка Нова
- литовский
- в Лодже [27]
- Люксембургский
- македонский
- малайский [27]
- малаялам [27]
- мальтийский
- Манипури
- Маори
- Маратхи [27]
- Науатль ( Классический )
- непальский [27]
- Норвежский ( букмол ) [27]
- Ногай
- Оромо
- Папьяменто
- персидский [27]
- Персидский ( латинский алфавит ) 2
- Польский [27]
- Португальский ( Бразильский ) [27]
- Португальский ( Португалия )
- панджаби [30]
- Пяш ( искусственный язык )
- Квенья
- румынский [27]
- Русский [27]
- Русский ( Латвия )
- Шотландский гэльский
- сербский [27]
- Английский
- Мясо (Тай Яй)
- Синдарин
- Синдхи
- сингальский
- словацкий [27]
- словенский
- Испанский ( Испания ) [27]
- Испанский ( Латиноамериканский )
- суахили [25]
- Шведский [27]
- тамильский [27]
- татарский
- телугу
- тайский
- туркменский
- турецкий [27]
- уйгурский
- Украинский
- Урарина
- Урду
- Узбекский
- Вьетнамский ( Центральный Вьетнамский ) [27]
- Вьетнамский ( Северный Вьетнамский )
- Вьетнамский ( южный вьетнамский )
- валлийский
- только полностью диакритизированный арабский язык . В настоящее время поддерживается
- Персидский язык , написанный английскими (латинскими) буквами .
- только Pha̍k-fa-sṳ . В настоящее время поддерживается
- только хирагана и катакана . В настоящее время поддерживаются
- В настоящее время не издан; он должен быть построен из последней версии исходного кода.
См. также
[ редактировать ]- Система синтеза фестивальной речи
- PlainTalk
- Гугл переводчик
- Голоса Microsoft для преобразования текста в речь
- Речь
Ссылки
[ редактировать ]- ^ «Релиз 1.51» .
- ^ «Перейти на eSpeak NG в дистрибутиве NVDA · Проблема № 5651 · nvaccess/nvda» . Гитхаб .
- ^ «eSpeak TTS для Android» .
- ^ «Пакет espeak-ng: Ubuntu» . Панель запуска . 21 декабря 2023 г.
- ^ «Загрузка голосов для иммерсивного чтения, режима чтения и чтения вслух» .
- ^ Блог Google, Предоставление голоса большему количеству языков в Google Translate , май 2010 г.
- ^ Блог Google, Послушайте нас сейчас , декабрь 2010 г.
- ^ «Синтезатор речи eSpeak» . espeak.sourceforge.net .
- ^ «eSpeak: Синтезатор речи» . espeak.sourceforge.net .
- ^ Jump up to: а б с «ESpeak: синтез речи — просмотрите /Espeak на SourceForge.net» .
- ^ Jump up to: а б «eSpeak: синтез речи/Код/Просмотр коммитов» . sourceforge.net .
- ^ «Espeak: Загрузки» .
- ^ http://espeak.sourceforge.net/test/latest.html
- ^ ван Леуссен, Ян-Вилем; Тромп, Мартен (26 июля 2007 г.). «Латинская речь». п. 6. CiteSeerX 10.1.1.396.7811 .
- ^ «Сборка: позволяет легко переключать порты 18 и 19. · rhdunn/Espeak@63daaec» . Гитхаб .
- ^ «Espeakedit: исправлена обработка аргументов для типов argv в Юникоде · rhdunn/Espeak@61522a1» . Гитхаб .
- ^ «Перейти на eSpeak NG в дистрибутиве NVDA · Проблема № 5651 · nvaccess/Nvda» . Гитхаб .
- ^ «[Espeak-general] Берем на себя ответственность за проект espeak и его будущее | eSpeak: синтез речи» . sourceforge.net .
- ^ «[Espeak-general] Голосуйте за нового главного разработчика espeak | eSpeak: синтез речи» . sourceforge.net .
- ^ Переименуйте программу espeak в espeak-ng.
- ^ «Выпуск 1.49.0 · espeak-ng/espeak-ng» . Гитхаб .
- ^ Клатт, Деннис Х. (1979). «Программное обеспечение для синтезатора каскадных/параллельных формант» (PDF) . Дж. Акустическое общество Америки, 67 (3), март 1980 г.
- ^ "говорить-нг" . Гитхаб .
- ^ «ESpeak NG Преобразование текста в речь» . Гитхаб . 13 февраля 2022 г.
- ^ Jump up to: а б Бутгерайт Л. и Бота А. (май 2009 г.). Хадеда: Шумный способ попрактиковаться в правописании с помощью мобильного телефона . На конференции IST-Africa 2009, Кампала, Уганда .
- ^ Хамити М. и Кастрати Р. (2014). Адаптация eSpeak для преобразования текста в речь на албанском языке . Международный журнал по проблемам компьютерных наук (IJCSI) , 11 (4), 21.
- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа аб и объявление но из в ах есть также и аль являюсь а к ап Кайте С. и Гавали Д.Б. (2015). Синтез речи маратхи: обзор. Международный журнал последних и инновационных тенденций в области вычислений и коммуникаций, 3 (6), 3708-3711.
- ^ Пронк, Р. (2013). Добавление поддержки синтеза японского языка в систему eSpeak . Университет Амстердама.
- ^ Моханан С., Салкар С., Найк Г., Дессаи Н.Ф. и Наик С. (2012). Читатель текста для языка конкани. Автоматизация и автономные системы , 4(8), 409-414.
- ^ Каур Р. и Шарма Д. (2016). Улучшенная система преобразования текста в речь для языка пенджаби с использованием eSpeak . Международный исследовательский журнал техники и технологий , 3 (4), 500-504.