Yandex TTS. Словари. Обсуждение

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#101

Сообщение tonio_k »

Выборочно тоже прослушал, действительно, Ваша практика использования Яндекса показала, что в словарях есть кривые правила-которые лишние и без них, возможно было бы даже лучше и универсально для любого голосового движка. История возникновения этих правил мне не известна. У меня ivona Максим читает нормально - значит менять ничего не надо. А если что и всплывает, то рисковать не хочется - лучше добавлять правила под кривизну начальных правил, чем что-то пакетно в словарях менять, а потом через пару недель сожалеть об этом, так как после изменений всплыли какие-то болячки голосового движка и становится понятно, почему писались эти правила в таком "кривом виде", а вернуть назад уже невозможно...
Лично Яндекс голос не слушаю вообще. Словари для Яндекс составлялись waska под Балаболку. Из-за некоторых ограничений Демагога, словари мне приходилось перекраивать на свой лад, что бы как-то сохранить логику последовательности срабатывания правил.

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

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#102

Сообщение tonio_k »

Не давало мне покоя мне эта тема с "ТОЪ"
Сделал ревизию правил на эту тему.
Пришёл к такому выводу,
(\w+)-то\b=$1-тоъ это ничто иное, как резервирование дефиса перед тем, как будут удалены все дефисы во всём тексте (не тире).
Зачем вообще удалять дефисы? Дело в быстром алгоритме, применяемом в Балаболке и Демагоге. Тот же словарь Ё-фикации может содержать, например,правило:
радехонек=радёхонек
Но из за особенности этого алгоритма, в слове "рад-радехонек" замены не произойдет, потому что быстрый алгоритм будет считать два слова через дефис как одно целое. А такого слова в словаре нет...
Все возможные словосочетания с дефисами невозможно сгенерировать и заранее прописать в словаре. Проще удалить все дефисы и разбить на простые слова, которые уже более вероятно, что есть в словаре.

Сразу после удаления всех дефисов, их можно благополучно вернуть для "то", как было одной строкой:
(\w+)\s+тоъ\b=$1-то
Далее, сделать ревизию во всех словарях (включая rex), найти правила Где применяется слово "то" и проверить, надо ли к нему добавлять правила с дефисом.

Мне было удобнее вместо дефиса применять связку "тоъ" непосредственно в самих правилах.

При этом желательно создание дубликатов правил в двух вариантах с использованием "то" и "тоъ" и вот почему: Не факт что книга или текст была составлена грамотным автором. По какой-то причине этот дефис мог быть не поставлен в тексте книги. Соответственно многие правила из-за отсутствия дефиса не сработают.

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#103

Сообщение AndOSjZ »

tonio_k
а что означает это сообщение
demagog.png
demagog.png (209.2 КБ) 29074 просмотра
Уилсон. Слепое Озеро.txt
(579.81 КБ) 476 скачиваний

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#104

Сообщение tonio_k »

это означает, что функция, которая разбивает большие абзацы захлебнулась на абзаце начинающийся со слов: И тут Маргерит захлестнула теплая волна. Такое чувство она испытывала,
Спасибо за пример! Буду искать как решить проблему.
А пока, попробуйте вручную разбить этот абзац на несколько.

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#105

Сообщение tonio_k »

Поправил. Перезалил.

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#106

Сообщение tonio_k »

Напоминаю, в сборке есть скрытые словари!
При любой работе со редактированием словарей, необходимо предварительно к текущему окну применить 00_первичная обработка. Только тогда вы увидите С каким "по-настоящему" текстом работают ваши словари, отмеченные галочкой.
У себя я попробовал, "т.е." превращается в "т. е." (между точкой и буквой вставляется пробел)
Могу предложить записать так:

Код: Выделить всё

$т. е.=то есть,
$Т. е.=то есть,
Тогда это правило будет срабатывать на:
"т. е."
и не будет ошибочно срабатывать на:
"Иванов Т. Е."

* Запятую В приведённом примере можете убрать. Проверьте сначала Как звучит.

Аватара пользователя
Sylvia
Постоялец

Yandex TTS. Словари. Обсуждение

#107

Сообщение Sylvia »

tonio_k писал(а):
26 авг 2019 01:02
Демагог+Yandex TTS - сборка от 2019-08-26 для подготовки книг и озвучивания Яндекс голосом на базе программы Демагог.
Попробовала записать пару книг. Одна записалась нормально, вторая отказалась записываться, в логе такое
► Показать
Обнаглею и выскажу несколько пожеланий:
- удобно было бы, если б запоминался путь для сохранения аудиофайлов (напрягает каждый раз после ошибки его указывать)
- еще напрягает, что по умолчанию всегда выскакивает окно со статистикой, машинально тыкаю "Повторную запись", и облом...
- нельзя ли по умолчанию поставить "выключить компьютер ? - Нет" . Каждый раз боюсь, что забуду эту настройку и комп вырубится.
Тоже заметила, что теперь говорит "кто тэ", "что тэ" - такого не было в прошлой версии.

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#108

Сообщение tonio_k »

Sylvia писал(а):
28 авг 2019 23:26
в логе такое
с этим обращаться сюда к balaamster. Сборка только "применяет" его скрипт "как есть".
Sylvia писал(а):
28 авг 2019 23:26
- удобно было бы, если б запоминался путь для сохранения аудиофайлов (напрягает каждый раз после ошибки его указывать)
Единственное что могу предложить - жестко прописать путь, куда ВСЕГДА будут выгружаться аудио.
Для этого найдите в скрипте повторного запуска строку:

Код: Выделить всё

dofile (HomeFolder('_Tests_')..'YaTTS.lua')
И перед этой строкой добавьте строку:

Код: Выделить всё

destination = "D:\\MP3\\Мои книги" 
т.е. укажите СВОЙ путь к папке (двойной слеш и кавычки обязателены!)
Sylvia писал(а):
28 авг 2019 23:26
- еще напрягает, что по умолчанию всегда выскакивает окно со статистикой, машинально тыкаю "Повторную запись", и облом...
Если вы про окно:

Код: Выделить всё

# Script>

powershell.exe -executionpolicy bypass -file ...... 
это к к balaamster
- нельзя ли по умолчанию поставить "выключить компьютер ? - Нет" . Каждый раз боюсь, что забуду эту настройку и комп вырубится.
Найдите и удалите строку

Код: Выделить всё

confirm = ShutdownDialog() 
Вообще, выключение наступит только через 10 минут - у вас хватит время на его отмену.
Вот скрипт его отменяющий - поместите его с другими скриптами и запустите, если выйдет предупреждение об отложенном выключении.
Отменить ВЫКЛючение ПК.zip
(327 байт) 445 скачиваний
tonio_k писал(а):
29 авг 2019 00:17
Тоже заметила, что теперь говорит "кто тэ", "что тэ" - такого не было в прошлой версии.
как это исправить - обсуждалось выше. Зато у вас есть Хороший повод научиться работать со словарями и понять как все устроено :wink:

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#109

Сообщение tonio_k »

Sylvia писал(а):
28 авг 2019 23:26
теперь говорит "кто тэ", "что тэ" - такого не было в прошлой версии.

Код: Выделить всё

* тоъ=-то
* тэ=-то
Эти 2 правила исправят проблему с звучанием "ТЭ"
правила добавить в конце словаря 58_Яндекс+пост обработка или 59_МОЙ СЛОВАРЬ

Аватара пользователя
Sylvia
Постоялец

Yandex TTS. Словари. Обсуждение

#110

Сообщение Sylvia »

tonio_k, Большое спасибо! Про выключение компа не спрашивает, и путь для мр3 после сбоя - тоже:) А то, что теперь не мелькает черное окно при склейке выходных файлов - это замечательно! Спасибо Вам за эту сборку!

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#111

Сообщение tonio_k »

Sylvia писал(а):
29 авг 2019 17:16
не мелькает черное окно
это не моя заслуга, а balaamster - это он добавил эту фишку "по просьбе трудящихся". Из моего - это разбитие больших абзацев на маленькие в пределах лимита что бы Яндекс не браковал файлы из-за их большого размера.

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#112

Сообщение AndOSjZ »

По вопросу тоъ -то,создал словарь
57. Rex,в нём запись по возвращению тоъ к - то ,ну и конечно в словарь 20... добавил дубли

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#113

Сообщение tonio_k »

AndOSjZ писал(а):
30 авг 2019 09:23
создал словарь
57. Rex
имейте в виду, при проверке работы (Ctrl+T) словарь 57.rex будет срабатывать раньше чем 40dic и в панеле словарей будет не по порядку нумерации. На счёт дублей, убедитесь, что дубли срабатывают! У себя глянул, оказалась, не все так просто. Поэтому оставил тоъ и в словаре 20. Прописал дубли именно с тоъ! Позже примеры выложу

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#114

Сообщение AndOSjZ »

А я был уверен что стоиого по порядку прописи,,ну работает же

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#115

Сообщение tonio_k »

По порядку нумерации будут работать словари DIC ТОЛЬКО между словарями dic. Словари rex имеют высший приоритет и как не нумеруй, нумерация rex повлияет на порядок срабатывания ТОЛЬКО между словарями rex.
Автор программы Демагог обещал попробовать сделать последовательность привязки к нумерации (алфавитному порядку) Но это дело будущего...
С другой стороны такое ограничение, в своё время, и дало большой толчок к развитию скриптов.

Аватара пользователя
flegont
V.I.P.

Yandex TTS. Словари. Обсуждение

#116

Сообщение flegont »

С другой стороны такое ограничение, в своё время, и дало большой толчок к развитию скриптов
Да. Скрипты (как показала практика) оказались хорошим средством, для расширения функциональных возможностей программы под те или иные потребности пользователей

Аватара пользователя
wasyaka
V.I.P.

Yandex TTS. Словари. Обсуждение

#117

Сообщение wasyaka »

flegont писал(а):
30 авг 2019 17:41
Скрипты (как показала практика) оказались хорошим средством, для расширения функциональных возможностей программы под те или иные потребности пользователей
Да, но только для очень-очень узкого круга пользователей. :tongue2:
AndOSjZ писал(а):
30 авг 2019 09:23
По вопросу тоъ -то,создал словарь
А зачем?
У tonio_k почему-то :big_smile: отсутствует словарь исключений, который должен быть в dic и обрабатыватся самым первым, впереди словаря 00_REX_подготовка текста.rex из папки dic2
Вроде такого
000_предподготовка текста.rar
(4.29 КБ) 393 скачивания
А в словаре 00_REX_подготовка текста.rex строку 67
(\w+)-то\b=$1-тоъ
заменить на
(\w+)\-\b(а|е|и|н|с|у)\b=$1$2

-ТО и многие другие подобные в основном лучше без дефиса, а которые читаются лучше слитно, прописываются в вышеуказанном словаре и никакого шаманства :big_smile:

Словари для Яндекса (для уменьшения путаницы, т.к. они финишные) также можно вложить в отдельную папку dic3
dic3.rar
(76.19 КБ) 377 скачиваний
или заменить словари из папки dic 58, 59, 60, 70, 71, 72, 73, 74 на словари из dic3 в соответствующей последовательности - по номеру - уменьшит ошибки.
А свои правила добавлять в словарь 2.1_Яндекс+ОМО ошибки.dic, причём ударение можно проставлять как знаком + так и заглавной буквой.

МОЙ СЛОВАРЬ из папки dic2 будет опять обрабатыватся последущими словарями из папки dic, и не факт что не вернёт правило в исходное ошибочное состояние... :wall:

Соответственно внести изменения в списке словарей и скриптах.

А чтоб было универсально - фонемы для ивоны добавить в папку dic4 :thinking: :suspect:

Аватара пользователя
balaamster
Обыватель

Yandex TTS. Словари. Обсуждение

#118

Сообщение balaamster »

Sylvia писал(а):
28 авг 2019 23:26
Попробовала записать пару книг. Одна записалась нормально, вторая отказалась записываться, в логе такое
Добавил в скрипт подробное логирование ошибок скачивания.
Необходимо распаковать файл из архива в папку lib, которая в корневой папке Demagog (с заменой уже существующего файла "ya_dl.ps1")
При ошибках скачивания, на рабочем столе, появится файл "yatts.txt"
Нужно его отправить мне, попробую посмотреть, что можно исправить.
ya_dl.zip
(758 байт) 344 скачивания

Аватара пользователя
wasyaka
V.I.P.

Yandex TTS. Словари. Обсуждение

#119

Сообщение wasyaka »

tonio_k писал(а):
26 авг 2019 16:57
40_ПОВТОРНО (при сбое) ЗАПИСАТЬ В MP3 YaTTS
20_ПАКЕТНАЯ ОБРАБОТКА СЛОВАРЯМИ И ЗАПИСАТЬ В MP3 YaTTS
Запустил скрипт, процес пошёл - ушёл надолго - прихожу надеясь, что всё записано, а на мониторе
2019-09-05_154932.png
2019-09-05_154932.png (7.13 КБ) 28729 просмотров
И это на ПЕРВОМ файле!!!
Ну и зачем то сообщение останавливающее процес?
По идее вместо уведомления должна включится перезапись или следующий файл, ауж по окончании пакета доложить какие сбились и автоматом перезапись... :tongue2: :thinking: :scratch: :suspect:

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#120

Сообщение tonio_k »

wasyaka писал(а):
05 сен 2019 16:44
По идее вместо уведомления должна включится перезапись или следующий файл, ауж по окончании пакета доложить какие сбились и автоматом перезапись...
Ничего менять не стал. Сделал костыль Вроде работает, но надо тестировать. Содержимое архива поместить в папку _Tests_
_Tests_.zip
(4.76 КБ) 375 скачиваний
Принцип работы: После обращения к Яндексу, проверяется папка назначения на наличие файлов *.mp3 (появились или нет). Если их нет, то запускается повтор обращения к Яндексу. Количество повторов заложил 10 раз. Если надо больше/меньше повторов, то в скрипте 20_EXP_ПАКЕТНАЯ ОБРАБОТКА СЛОВАРЯМИ И ЗАПИСАТЬ В MP3 YaTTS найти строку:

Код: Выделить всё

-- При отсутствии аудио файлов, повторный запуск:

for i = 1,10 do
где 10 - количество повторов - меняем на нужное
В конце работы скрипта в окне статистики выйдет дополнительная информация:
Наименование книги и (Количество попыток обращения к Яндексу:).
Если количество окажется больше 1, значит костыль сработал :thumbs_up:

Аватара пользователя
S-a-b
Обыватель

Yandex TTS. Словари. Обсуждение

#121

Сообщение S-a-b »

tonio_k писал(а):
27 авг 2019 00:50
Принцип работы: После обращения к Яндексу, проверяется папка назначения на наличие файлов *.mp3
Файлы могут формироваться, но "битыми". Необходимо анализировать логи скачивания файлов.

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#122

Сообщение tonio_k »

S-a-b писал(а):
06 сен 2019 12:48
Необходимо анализировать логи скачивания файлов.
проверка на появление фалов mp3 в папке назначения - это не файлы от Яндекса, а от ffmpeg который конвертирует эти файлы от Яндекса и кидает в папку назначения. Что касается битых mp3 файлов, что с ними YaTTS.lua делает и как он с Яндексом работает в целом, я не знаю :pardon: . Я только применяю этот скрипт с маленькими изменениями под мои скрипты, но в саму работу с Яндексом я не лезу. PayerShell это темный лес для меня :tongue2:

YaTTS.lua настроен так, что в случае сбоя, его нужно повторно применить ко временным файлам. И сбойные файлы txt будут повторно отправлены на Яндекс. Пока есть сбойные txt файлы, mp3 файлы в папке назначения не появятся - до ffmpeg скрипт не доходит.
Именно этот принцип я заложил в костыль критерий выбора: надо ли повторить запуск? Но повторы должны быть ограничены что бы не привести к вечному циклу если файл Яндекс бракует из-за к.либо символа, например, "&" внутри слова. Кстати именно этот символ мне помог тестировать скрипт что бы он вызвал гарантированную ошибку.

Аватара пользователя
wasyaka
V.I.P.

Yandex TTS. Словари. Обсуждение

#123

Сообщение wasyaka »

tonio_k писал(а):
06 сен 2019 13:15
Но повторы должны быть ограничены что бы не привести к вечному циклу
tonio_k писал(а):
06 сен 2019 13:15
Именно этот принцип я заложил в костыль критерий выбора: надо ли повторить запуск?
Пакетная обработка (включил и ушёл,забыл и т.д) - а тут в процесе, не контролируем, вопрос надо ли??? - в смысле засомневатся, отложить все.... вернутся - решить вопрос - А надо ли?
А добавить в настройки?...
YaTTS_log.txt
(5.93 КБ) 422 скачивания
YaTTS_log 1.txt
(6.02 КБ) 385 скачиваний
Где указана причина сбоя? файл №???
Выше писал: не получилось - повтор - следущий...
Такое возможно ? без всяких утверждений кнопкой ОК
Всё упростить...

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#124

Сообщение tonio_k »

wasyaka писал(а):
07 сен 2019 21:34
Такое возможно ? без всяких утверждений кнопкой ОК
я вроде убрал окно подтверждение?. В случае, если какой либо временный текстовый файл не получил приставку _done, автоматом запускается повтор. Если опять остался файл, - автоматом запускается повтор. И так 10 раз. Если все равно остался необработанный файл, скрипт переходит к другой книге по очереди. Никаких диалогов не вскакивает

Аватара пользователя
wasyaka
V.I.P.

Yandex TTS. Словари. Обсуждение

#125

Сообщение wasyaka »

S-a-b писал(а):
06 сен 2019 12:48
Файлы могут формироваться, но "битыми". Необходимо анализировать логи скачивания файлов.
А Play A пакетом? :thank:

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#126

Сообщение tonio_k »

tonio_k писал(а):
07 сен 2019 22:04
я вроде убрал окно подтверждение?.
оказывается, не убрал до конца. Надо еще в файле YaTTS.lua в самом конце найти строки:

Код: Выделить всё

    local msg = string.format("Внимание!!!\nКоличество полученных аудиофайлов (%s) отличается от количества файлов в сериале(%s)\nЗапустите скрипт заново!", num_mp3, num_txt)
ShowMessage(msg)
    os.execute('echo | chcp 1251 | explorer "'..source..'"')
end

::HALT::
и добавить ремарку перед ShowMessage(msg):

Код: Выделить всё

    local msg = string.format("Внимание!!!\nКоличество полученных аудиофайлов (%s) отличается от количества файлов в сериале(%s)\nЗапустите скрипт заново!", num_mp3, num_txt)
--ShowMessage(msg)
    os.execute('echo | chcp 1251 | explorer "'..source..'"')
end

::HALT::

Аватара пользователя
S-a-b
Обыватель

Yandex TTS. Словари. Обсуждение

#127

Сообщение S-a-b »

wasyaka писал(а):
07 сен 2019 22:12
А Play A пакетом?
Там, вроде, все просто было, как болт, я все таки слесарь-ремонтник по одной из профессии. Нажал на кнопку - минут через десять книга готова. Словарь там, конечно, хреновый, но править что-то уже, наверное, незачем.

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#128

Сообщение AndOSjZ »

Подскажите,пож-та,что означает символ @ перед строкой регекса в словарях rex

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#129

Сообщение tonio_k »

означает, что данное правило чувствительно к регистру букв.
Вообще на тему регулярных выражений можно тут глянуть:
http://i91650e3.beget.tech/viewforum.php?f=50
Обратите внимание на шпаргалку - полезная штука на первых порах.

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#130

Сообщение AndOSjZ »

В словаре 15_REX_ВСЕ_ВСЁ.rex,в предложении "потребовалось потратить весь ресурс массы и энергии за много лет и задействовать все свои связи." происходит замена и получается потребовалось потратить весь ресурс массы и энергии за много лет и задействовать всё и связи.почему так?
строка словаря 108

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#131

Сообщение tonio_k »

Выделяете этот текст в окне Демагога. (В панели словарей оставляете активным только словарь 15_REX_ВСЕ_ВСЁ.rex) нажимаете: Правая клавиша мыши "Показать измененный текст Ctrl+T "
В открывшемся окне видно что сработало правило:

Код: Выделить всё

([\S]+(ать|ерни|льно|сить)\b[^\.,!?-]{0,5})\s(\bвс)е\b\s([^\.,!?-]{0,5}(и|мокрым|назад|поймут|это|я)\b)=$1 $3<:yo:> $5$6
Встаем на это правило, нажимаем кнопку "Найти" (биноколь внизу окна), щелкаете по словарю и вас переносит на это правило в словаре 15_REX_ВСЕ_ВСЁ.rex
замените выделенное правило на такую строку:

Код: Выделить всё

\b(\w+)(ать|ерни|льно|сить)\b(\s*\w*\s*)\b(\bвс)е\s(\s*\w*\s*)\b(и|мокрым|назад|поймут|это|я)\b=$1$2$3$4<:yo:> $5$6

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#132

Сообщение AndOSjZ »

tonio_k
Если не затруднит,поподробней о замене
Такое уже попадалось и с другими правилами,пропускал,а тут решил разобраться(по мере своего понимания),но знаний не хватает

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#133

Сообщение tonio_k »

Тут происходит ложное срабатывание. Второй вариант правила это переписанное (разбитое на части) первое, в котором была неточность:
([\S]+(ать|ерни|льно|сить)\b[^\.,!?-]{0,5})\s(\bвс)е\b\s([^\.,!?-]{0,5}(и|мокрым|назад|поймут|это|я)\b)
Не хватает \b - ограничение слова. Без него буква и начинает считаться не союзом, а буквой на которую может оканчиваться любое слово в диапозоне {0,5} символов. В этот диапазон попало слово свои, поэтому правило сработало на этом предложении - получается ошибочное срабатывание. Плюс, возможно, есть неточность с захватами. Поэтому, я стараюсь избегать или разбивать такие ёмкие правила с регулярными выражениями на предмет захвата (когда скобки находятся внутри других скобок).
Если будут подобные ошибки в словарях - сообщайте всем пригодиться.
Если вас интересуют общие вопросы составления правил с регулярными выражениями, то давайте пообщаемся здесь: Секреты регулярных выражений

Аватара пользователя
AndOSjZ
Постоялец

Yandex TTS. Словари. Обсуждение

#134

Сообщение AndOSjZ »

А ещё вот что,скачал книгу в fb2,в ней проставлены ударения такие а́ е́
при обработке скриптом 10... получается такое вместо (например) на́чал на? чал,самого́ самог? о

Аватара пользователя
flegont
V.I.P.

Yandex TTS. Словари. Обсуждение

#135

Сообщение flegont »

Можно заранее удалить (или заменить) в тексте надстрочные знаки ударения.

Например, заменим надстрочные знаки ударения на +
Текст должен быть открыт в окне Демагога, пусть например, это текст из двух вышеупомянутых букв:
а́ е́

Правка - Найти/Заменить
Заменить
Шаблон поиска: расширенный ( с кодами #nnnn)
Текст для поиска: #769
Текст для замены: +
Заменить все


Результат:
а+ е+

P.S. 769 - это код символа "надстрочный знак ударения". Хотя он и виден над гласной буквой, в действительности находится после нее

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#136

Сообщение tonio_k »

flegont писал(а):
19 дек 2019 22:48
Можно заранее удалить (или заменить) в тексте надстрочные знаки ударения.
тут ситуация немного другая. Эту ошибку генерирует скрипт входящий в сборку. Дело в том, что разбитие больших абзацев на маленькие абзацы средствами lua в скрипте происходят раньше, чем сработают словари. Это lua делает замену на ? А в словарях правила присутствуют, но не успевают срабатывать.
► Показать

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

Аватара пользователя
flegont
V.I.P.

Yandex TTS. Словари. Обсуждение

#137

Сообщение flegont »

Я знаю, что это Lua не понимает знака ударения и превращает его в знак вопроса. Поэтому скрипт должен получать уже исправленный текст. Согласен - вручную, через Найти/Заменить править текст неудобно. Хорошо бы это дело тоже поручить скрипту - так сказать, предобработка текста.
Теоретически это возможно. Практически... завтра подумаю над этим

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#138

Сообщение tonio_k »

Демагог+Yandex TTS - сборка 2019-08-26+ для подготовки книг и озвучивания Яндекс голосом на базе программы Демагог.

Это черновик который я благополучно начал, но забросил. В нём есть некоторые исправления ошибок разбития больших абзацев на маленькие абзацы в том числе и проблема с проставленными в источнике ударения такие а́ е́.

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#139

Сообщение tonio_k »

flegont писал(а):
19 дек 2019 23:09
Хорошо бы это дело тоже поручить скрипту - так сказать, предобработка текста.
Теоретически это возможно. Практически... завтра подумаю над этим
думаю, это лишнее :thank: . Тут на лицо моя ошибка. Я ее уже поправил

Аватара пользователя
flegont
V.I.P.

Yandex TTS. Словари. Обсуждение

#140

Сообщение flegont »

вы упоминали, что решение проблемы с ударениями плодит новые ошибки (???)

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#141

Сообщение tonio_k »

flegont, похоже я не так выразился. Это черновик сборки может создать проблему, которой не было в предыдущих сборках. Я в черновик добавлял некоторые находки, которые использовал для максима. Но не проверял как они работают под Яндексом. Когда мне сказали об ошибке я проверил у себя, проблема не воспроизводится. Открыл архив со старой сборкой, действительно, проблема есть. Получается, в черновике я что то поправил и это косвенно решило проблему, хотя это и не было в моих планах. А поправил я в скрипте только последовательность - сначала чистка словарями, и лишь потом текст в переменную lua :smile1:

Аватара пользователя
flegont
V.I.P.

Yandex TTS. Словари. Обсуждение

#142

Сообщение flegont »

Спасибо, понял. Т.о. проблема ударений решена :smile1:

Аватара пользователя
Sylvia
Постоялец

Yandex TTS. Словари. Обсуждение

#143

Сообщение Sylvia »

tonio_k, Подскажите, пожалуйста, можно ли уменьшить паузы по точке в конце предложений? В каком-то из словарей это прописано?

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#144

Сообщение tonio_k »

Sylvia, Попробуйте в словаре 80_Паузы.dic
Добавить знак решетки перед правилом:
#*.*= /.
Или просто удалить это правило.
Но лучше через знак решетки - так будет проще вернуть обратно изменения.

Аватара пользователя
Sylvia
Постоялец

Yandex TTS. Словари. Обсуждение

#145

Сообщение Sylvia »

Пользуюсь сборкой от 26-08-2019, почему-то не добавляет название книги к названию файла, хотя каждый раз выбираю эту опцию. Это только у меня?

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#146

Сообщение tonio_k »

Sylvia, добавление имени книги к названию файла в скриптах сделан очень грубо:
после того как будут созданы все файлы 0001.mp3, 0002.mp3 и т.д., в конце скрипта запускается команда: "добавить название текущей книги ко всем *.mp3 файлам, находящимся в текущей в папке" - т.е. если в папке будут другие mp3 файлы - то они так же попадут под переименование. Проверил оба скрипта - у меня работают.

Могу сварганить скрипт, который будет добавлять любой текст (сами вводите) к названию файлов в указанной папке. Или такой вариант: к открытой книге в Демагоге запускаете скрипт, указываете папку с mp3-файлами и скрипт добавит название открытой книги к файлам в указанной папке.

Аватара пользователя
Sylvia
Постоялец

Yandex TTS. Словари. Обсуждение

#147

Сообщение Sylvia »

возможно, проблема в том, что название книги кириллицей?
tonio_k писал(а):
06 янв 2020 11:45
Могу сварганить скрипт
Не, не нужно, спасибо. Проще пачкой в TC переименовать, если возникнет необходимость. А тэги правлю в Aimp, т.к. плееры в основном показывают по тэгам

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#148

Сообщение tonio_k »

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

Аватара пользователя
tonio_k
V.I.P.

Yandex TTS. Словари. Обсуждение

#149

Сообщение tonio_k »

Демагог+Yandex TTS - сборка от 2020-02-07 -для подготовки книг и озвучивания Яндекс голосом на базе программы Демагог.

Словари любезно предоставленные ув. wasyaka
Получение mp3 от Яндекса через скрипт от ув. balaamster
Изменения:
► Показать

Аватара пользователя
Fabe
Постоялец

Yandex TTS. Словари. Обсуждение

#150

Сообщение Fabe »

Привет
а как подклЮчить к голосу яндекс
никак не найду

Ответить

Вернуться в «Онлайн-сервисы для синтеза речи»