Страница 3 из 5
Yandex TTS. Словари. Обсуждение
Добавлено: 27 авг 2019 00:50
tonio_k
Выборочно тоже прослушал, действительно, Ваша практика использования Яндекса показала, что в словарях есть кривые правила-которые лишние и без них, возможно было бы даже лучше и универсально для любого голосового движка. История возникновения этих правил мне не известна. У меня ivona Максим читает нормально - значит менять ничего не надо. А если что и всплывает, то рисковать не хочется - лучше добавлять правила под кривизну начальных правил, чем что-то пакетно в словарях менять, а потом через пару недель сожалеть об этом, так как после изменений всплыли какие-то болячки голосового движка и становится понятно, почему писались эти правила в таком "кривом виде", а вернуть назад уже невозможно...
Лично Яндекс голос не слушаю вообще. Словари для Яндекс составлялись waska под Балаболку. Из-за некоторых ограничений Демагога, словари мне приходилось перекраивать на свой лад, что бы как-то сохранить логику последовательности срабатывания правил.
Скорее всего, эта сборка будет последней. Скрипты работают, скорость хорошая.
Словари должны составлять те, кто ими пользуется. Так что берите сборку в свои руки, и выкладывайте свои словари здесь, пока Яндекс голос ещё доступен. Или мне скидывайте - сборку обновлю.
Yandex TTS. Словари. Обсуждение
Добавлено: 27 авг 2019 15:48
tonio_k
Не давало мне покоя мне эта тема с "ТОЪ"
Сделал ревизию правил на эту тему.
Пришёл к такому выводу,
(\w+)-то\b=$1-тоъ это ничто иное, как резервирование дефиса перед тем, как будут удалены все дефисы во всём тексте (не тире).
Зачем вообще удалять дефисы? Дело в быстром алгоритме, применяемом в Балаболке и Демагоге. Тот же словарь Ё-фикации может содержать, например,правило:
радехонек=радёхонек
Но из за особенности этого алгоритма, в слове "рад-радехонек" замены не произойдет, потому что быстрый алгоритм будет считать два слова через дефис как одно целое. А такого слова в словаре нет...
Все возможные словосочетания с дефисами невозможно сгенерировать и заранее прописать в словаре. Проще удалить все дефисы и разбить на простые слова, которые уже более вероятно, что есть в словаре.
Сразу после удаления всех дефисов, их можно благополучно вернуть для "то", как было одной строкой:
(\w+)\s+тоъ\b=$1-то
Далее, сделать ревизию во всех словарях (включая rex), найти правила Где применяется слово "то" и проверить, надо ли к нему добавлять правила с дефисом.
Мне было удобнее вместо дефиса применять связку "тоъ" непосредственно в самих правилах.
При этом желательно создание дубликатов правил в двух вариантах с использованием "то" и "тоъ" и вот почему: Не факт что книга или текст была составлена грамотным автором. По какой-то причине этот дефис мог быть не поставлен в тексте книги. Соответственно многие правила из-за отсутствия дефиса не сработают.
Yandex TTS. Словари. Обсуждение
Добавлено: 27 авг 2019 16:11
AndOSjZ
tonio_k
а что означает это сообщение
- demagog.png (209.2 КБ) 29075 просмотров
Yandex TTS. Словари. Обсуждение
Добавлено: 27 авг 2019 18:26
tonio_k
это означает, что функция, которая разбивает большие абзацы захлебнулась на абзаце начинающийся со слов: И тут Маргерит захлестнула теплая волна. Такое чувство она испытывала,
Спасибо за пример! Буду искать как решить проблему.
А пока, попробуйте вручную разбить этот абзац на несколько.
Yandex TTS. Словари. Обсуждение
Добавлено: 27 авг 2019 18:43
tonio_k
Поправил. Перезалил.
Yandex TTS. Словари. Обсуждение
Добавлено: 28 авг 2019 17:16
tonio_k
Напоминаю, в сборке есть скрытые словари!
При любой работе со редактированием словарей, необходимо предварительно к текущему окну применить 00_первичная обработка. Только тогда вы увидите С каким "по-настоящему" текстом работают ваши словари, отмеченные галочкой.
У себя я попробовал, "т.е." превращается в "т. е." (между точкой и буквой вставляется пробел)
Могу предложить записать так:
Тогда это правило будет срабатывать на:
"т. е."
и не будет ошибочно срабатывать на:
"Иванов Т. Е."
* Запятую В приведённом примере можете убрать. Проверьте сначала Как звучит.
Yandex TTS. Словари. Обсуждение
Добавлено: 28 авг 2019 23:26
Sylvia
tonio_k писал(а): ↑26 авг 2019 01:02
Демагог+Yandex TTS - сборка от 2019-08-26 для подготовки книг и озвучивания Яндекс голосом на базе программы Демагог.
Попробовала записать пару книг. Одна записалась нормально, вторая отказалась записываться, в логе такое
► Показать
СВЕД.: ===================================
СВЕД.: Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient."
СВЕД.: 0001 не получен
СВЕД.: ===================================
СВЕД.: ===================================
СВЕД.: Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient."
СВЕД.: 0009 не получен
СВЕД.: ===================================
СВЕД.: ===================================
СВЕД.: Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient."
СВЕД.: 0017 не получен
СВЕД.: ===================================
СВЕД.: ===================================
СВЕД.: Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient."
СВЕД.: 0025 не получен
СВЕД.: ===================================
СВЕД.: ===================================
СВЕД.: Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient." Исключение при вызове "DownloadFile" с "2" аргументами: "Исключение во время запроса WebClient."
СВЕД.: 0033 не получен
Обнаглею и выскажу несколько пожеланий:
- удобно было бы, если б запоминался путь для сохранения аудиофайлов (напрягает каждый раз после ошибки его указывать)
- еще напрягает, что по умолчанию всегда выскакивает окно со статистикой, машинально тыкаю "Повторную запись", и облом...
- нельзя ли по умолчанию поставить "выключить компьютер ? - Нет" . Каждый раз боюсь, что забуду эту настройку и комп вырубится.
Тоже заметила, что теперь говорит "кто тэ", "что тэ" - такого не было в прошлой версии.
Yandex TTS. Словари. Обсуждение
Добавлено: 29 авг 2019 00:17
tonio_k
Sylvia писал(а): ↑28 авг 2019 23:26
в логе такое
с этим обращаться
сюда к balaamster. Сборка только "применяет" его скрипт "как есть".
Sylvia писал(а): ↑28 авг 2019 23:26
- удобно было бы, если б запоминался путь для сохранения аудиофайлов (напрягает каждый раз после ошибки его указывать)
Единственное что могу предложить - жестко прописать путь, куда ВСЕГДА будут выгружаться аудио.
Для этого найдите в скрипте повторного запуска строку:
Код: Выделить всё
dofile (HomeFolder('_Tests_')..'YaTTS.lua')
И перед этой строкой добавьте строку:
т.е. укажите СВОЙ путь к папке (двойной слеш и кавычки обязателены!)
Sylvia писал(а): ↑28 авг 2019 23:26
- еще напрягает, что по умолчанию всегда выскакивает окно со статистикой, машинально тыкаю "Повторную запись", и облом...
Если вы про окно:
Код: Выделить всё
# Script>
powershell.exe -executionpolicy bypass -file ......
это к к balaamster
- нельзя ли по умолчанию поставить "выключить компьютер ? - Нет" . Каждый раз боюсь, что забуду эту настройку и комп вырубится.
Найдите и удалите строку
Вообще, выключение наступит только через 10 минут - у вас хватит время на его отмену.
Вот скрипт его отменяющий - поместите его с другими скриптами и запустите, если выйдет предупреждение об отложенном выключении.
tonio_k писал(а): ↑29 авг 2019 00:17
Тоже заметила, что теперь говорит "кто тэ", "что тэ" - такого не было в прошлой версии.
как это исправить - обсуждалось выше. Зато у вас есть Хороший повод научиться работать со словарями и понять как все устроено
Yandex TTS. Словари. Обсуждение
Добавлено: 29 авг 2019 16:36
tonio_k
Sylvia писал(а): ↑28 авг 2019 23:26
теперь говорит "кто тэ", "что тэ" - такого не было в прошлой версии.
Эти 2 правила исправят проблему с звучанием "ТЭ"
правила добавить в конце словаря 58_Яндекс+пост обработка или 59_МОЙ СЛОВАРЬ
Yandex TTS. Словари. Обсуждение
Добавлено: 29 авг 2019 17:16
Sylvia
tonio_k, Большое спасибо! Про выключение компа не спрашивает, и путь для мр3 после сбоя - тоже:) А то, что теперь не мелькает черное окно при склейке выходных файлов - это замечательно! Спасибо Вам за эту сборку!
Yandex TTS. Словари. Обсуждение
Добавлено: 29 авг 2019 17:32
tonio_k
Sylvia писал(а): ↑29 авг 2019 17:16
не мелькает черное окно
это не моя заслуга, а balaamster - это он добавил эту фишку "по просьбе трудящихся". Из моего - это разбитие больших абзацев на маленькие в пределах лимита что бы Яндекс не браковал файлы из-за их большого размера.
Yandex TTS. Словари. Обсуждение
Добавлено: 30 авг 2019 09:23
AndOSjZ
По вопросу тоъ -то,создал словарь
57. Rex,в нём запись по возвращению тоъ к - то ,ну и конечно в словарь 20... добавил дубли
Yandex TTS. Словари. Обсуждение
Добавлено: 30 авг 2019 10:47
tonio_k
AndOSjZ писал(а): ↑30 авг 2019 09:23
создал словарь
57. Rex
имейте в виду, при проверке работы (Ctrl+T) словарь 57.rex будет срабатывать раньше чем 40dic и в панеле словарей будет не по порядку нумерации. На счёт дублей, убедитесь, что дубли срабатывают! У себя глянул, оказалась, не все так просто. Поэтому оставил тоъ и в словаре 20. Прописал дубли именно с тоъ! Позже примеры выложу
Yandex TTS. Словари. Обсуждение
Добавлено: 30 авг 2019 14:38
AndOSjZ
А я был уверен что стоиого по порядку прописи,,ну работает же
Yandex TTS. Словари. Обсуждение
Добавлено: 30 авг 2019 15:06
tonio_k
По порядку нумерации будут работать словари DIC ТОЛЬКО между словарями dic. Словари rex имеют высший приоритет и как не нумеруй, нумерация rex повлияет на порядок срабатывания ТОЛЬКО между словарями rex.
Автор программы Демагог обещал попробовать сделать последовательность привязки к нумерации (алфавитному порядку) Но это дело будущего...
С другой стороны такое ограничение, в своё время, и дало большой толчок к развитию скриптов.
Yandex TTS. Словари. Обсуждение
Добавлено: 30 авг 2019 17:41
flegont
С другой стороны такое ограничение, в своё время, и дало большой толчок к развитию скриптов
Да. Скрипты (как показала практика) оказались хорошим средством, для расширения функциональных возможностей программы под те или иные потребности пользователей
Yandex TTS. Словари. Обсуждение
Добавлено: 30 авг 2019 20:48
wasyaka
flegont писал(а): ↑30 авг 2019 17:41
Скрипты (как показала практика) оказались хорошим средством, для расширения функциональных возможностей программы под те или иные потребности пользователей
Да, но только для очень-очень узкого круга пользователей.
AndOSjZ писал(а): ↑30 авг 2019 09:23
По вопросу тоъ -то,создал словарь
А зачем?
У
tonio_k почему
-то отсутствует словарь исключений, который должен быть в
dic и обрабатыватся самым первым, впереди словаря
00_REX_подготовка текста.rex из папки
dic2
Вроде такого
А в словаре
00_REX_подготовка текста.rex строку 67
(\w+)-то\b=$1-тоъ
заменить на
(\w+)\-\b(а|е|и|н|с|у)\b=$1$2
-ТО и многие другие подобные в основном лучше без дефиса, а которые читаются лучше слитно, прописываются в вышеуказанном словаре и никакого шаманства
Словари для Яндекса (для уменьшения путаницы, т.к. они финишные) также можно вложить в отдельную папку dic3
или заменить словари из папки
dic 58, 59, 60, 70, 71, 72, 73, 74 на словари из dic3 в соответствующей последовательности - по номеру - уменьшит ошибки.
А свои правила добавлять в словарь
2.1_Яндекс+ОМО ошибки.dic, причём ударение можно проставлять как знаком
+ так и заглавной буквой.
МОЙ СЛОВАРЬ из папки
dic2 будет опять обрабатыватся последущими словарями из папки
dic, и не факт что не вернёт правило в исходное ошибочное состояние...
Соответственно внести изменения в списке словарей и скриптах.
А чтоб было универсально - фонемы для ивоны добавить в папку
dic4
Yandex TTS. Словари. Обсуждение
Добавлено: 31 авг 2019 22:09
balaamster
Sylvia писал(а): ↑28 авг 2019 23:26
Попробовала записать пару книг. Одна записалась нормально, вторая отказалась записываться, в логе такое
Добавил в скрипт подробное логирование ошибок скачивания.
Необходимо распаковать файл из архива в папку lib, которая в корневой папке Demagog (с заменой уже существующего файла "ya_dl.ps1")
При ошибках скачивания, на рабочем столе, появится файл "yatts.txt"
Нужно его отправить мне, попробую посмотреть, что можно исправить.
Yandex TTS. Словари. Обсуждение
Добавлено: 05 сен 2019 16:44
wasyaka
tonio_k писал(а): ↑26 авг 2019 16:57
40_ПОВТОРНО (при сбое) ЗАПИСАТЬ В MP3 YaTTS
20_ПАКЕТНАЯ ОБРАБОТКА СЛОВАРЯМИ И ЗАПИСАТЬ В MP3 YaTTS
Запустил скрипт, процес пошёл - ушёл надолго - прихожу надеясь, что всё записано, а на мониторе
- 2019-09-05_154932.png (7.13 КБ) 28730 просмотров
И это на ПЕРВОМ файле!!!
Ну и зачем то сообщение останавливающее процес?
По идее вместо уведомления должна включится перезапись или следующий файл, ауж по окончании пакета доложить какие сбились и автоматом перезапись...
Yandex TTS. Словари. Обсуждение
Добавлено: 05 сен 2019 22:40
tonio_k
wasyaka писал(а): ↑05 сен 2019 16:44
По идее вместо уведомления должна включится перезапись или следующий файл, ауж по окончании пакета доложить какие сбились и автоматом перезапись...
Ничего менять не стал. Сделал костыль Вроде работает, но надо тестировать. Содержимое архива поместить в папку _Tests_
Принцип работы: После обращения к Яндексу, проверяется папка назначения на наличие файлов *.mp3 (появились или нет). Если их нет, то запускается повтор обращения к Яндексу. Количество повторов заложил 10 раз. Если надо больше/меньше повторов, то в скрипте 20_EXP_ПАКЕТНАЯ ОБРАБОТКА СЛОВАРЯМИ И ЗАПИСАТЬ В MP3 YaTTS найти строку:
Код: Выделить всё
-- При отсутствии аудио файлов, повторный запуск:
for i = 1,10 do
где
10 - количество повторов - меняем на нужное
В конце работы скрипта в окне статистики выйдет дополнительная информация:
Наименование книги и (Количество попыток обращения к Яндексу:).
Если количество окажется больше 1, значит костыль сработал
Yandex TTS. Словари. Обсуждение
Добавлено: 06 сен 2019 12:48
S-a-b
tonio_k писал(а): ↑27 авг 2019 00:50
Принцип работы: После обращения к Яндексу, проверяется папка назначения на наличие файлов *.mp3
Файлы могут формироваться, но "битыми". Необходимо анализировать логи скачивания файлов.
Yandex TTS. Словари. Обсуждение
Добавлено: 06 сен 2019 13:15
tonio_k
S-a-b писал(а): ↑06 сен 2019 12:48
Необходимо анализировать логи скачивания файлов.
проверка на появление фалов mp3 в папке назначения - это не файлы от Яндекса, а от ffmpeg который конвертирует эти файлы от Яндекса и кидает в папку назначения. Что касается битых mp3 файлов, что с ними YaTTS.lua делает и как он с Яндексом работает в целом, я не знаю
. Я только применяю этот скрипт с маленькими изменениями под мои скрипты, но в саму работу с Яндексом я не лезу. PayerShell это темный лес для меня
YaTTS.lua настроен так, что в случае сбоя, его нужно повторно применить ко временным файлам. И сбойные файлы txt будут повторно отправлены на Яндекс. Пока есть сбойные txt файлы, mp3 файлы в папке назначения не появятся - до ffmpeg скрипт не доходит.
Именно этот принцип я заложил в костыль критерий выбора: надо ли повторить запуск? Но повторы должны быть ограничены что бы не привести к вечному циклу если файл Яндекс бракует из-за к.либо символа, например, "&" внутри слова. Кстати именно этот символ мне помог тестировать скрипт что бы он вызвал гарантированную ошибку.
Yandex TTS. Словари. Обсуждение
Добавлено: 07 сен 2019 21:34
wasyaka
tonio_k писал(а): ↑06 сен 2019 13:15
Но повторы должны быть ограничены что бы не привести к вечному циклу
tonio_k писал(а): ↑06 сен 2019 13:15
Именно этот принцип я заложил в костыль критерий выбора: надо ли повторить запуск?
Пакетная обработка (включил и ушёл,забыл и т.д) - а тут в процесе, не контролируем, вопрос надо ли??? - в смысле засомневатся, отложить все.... вернутся - решить вопрос - А надо ли?
А добавить в настройки?...
Где указана причина сбоя? файл №???
Выше писал: не получилось - повтор - следущий...
Такое возможно ? без всяких утверждений кнопкой
ОК
Всё упростить...
Yandex TTS. Словари. Обсуждение
Добавлено: 07 сен 2019 22:04
tonio_k
wasyaka писал(а): ↑07 сен 2019 21:34
Такое возможно ? без всяких утверждений кнопкой ОК
я вроде убрал окно подтверждение?. В случае, если какой либо временный текстовый файл не получил приставку _done, автоматом запускается повтор. Если опять остался файл, - автоматом запускается повтор. И так 10 раз. Если все равно остался необработанный файл, скрипт переходит к другой книге по очереди. Никаких диалогов не вскакивает
Yandex TTS. Словари. Обсуждение
Добавлено: 07 сен 2019 22:12
wasyaka
S-a-b писал(а): ↑06 сен 2019 12:48
Файлы могут формироваться, но "битыми". Необходимо анализировать логи скачивания файлов.
А
Play A пакетом?
Yandex TTS. Словари. Обсуждение
Добавлено: 07 сен 2019 22:22
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::
Yandex TTS. Словари. Обсуждение
Добавлено: 07 сен 2019 23:14
S-a-b
wasyaka писал(а): ↑07 сен 2019 22:12
А Play A пакетом?
Там, вроде, все просто было, как болт, я все таки слесарь-ремонтник по одной из профессии. Нажал на кнопку - минут через десять книга готова. Словарь там, конечно, хреновый, но править что-то уже, наверное, незачем.
Yandex TTS. Словари. Обсуждение
Добавлено: 07 ноя 2019 18:47
AndOSjZ
Подскажите,пож-та,что означает символ @ перед строкой регекса в словарях rex
Yandex TTS. Словари. Обсуждение
Добавлено: 07 ноя 2019 18:51
tonio_k
означает, что данное правило чувствительно к регистру букв.
Вообще на тему регулярных выражений можно тут глянуть:
http://i91650e3.beget.tech/viewforum.php?f=50
Обратите внимание на шпаргалку - полезная штука на первых порах.
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 19:31
AndOSjZ
В словаре 15_REX_ВСЕ_ВСЁ.rex,в предложении "потребовалось потратить весь ресурс массы и энергии за много лет и задействовать все свои связи." происходит замена и получается потребовалось потратить весь ресурс массы и энергии за много лет и задействовать всё и связи.почему так?
строка словаря 108
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 19:49
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
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 20:35
AndOSjZ
tonio_k
Если не затруднит,поподробней о замене
Такое уже попадалось и с другими правилами,пропускал,а тут решил разобраться(по мере своего понимания),но знаний не хватает
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 21:20
tonio_k
Тут происходит ложное срабатывание. Второй вариант правила это переписанное (разбитое на части) первое, в котором была неточность:
([\S]+(ать|ерни|льно|сить)\b[^\.,!?-]{0,5})\s(\bвс)е\b\s([^\.,!?-]{0,5
}(и|мокрым|назад|поймут|это|я)\b)
Не хватает \b - ограничение слова. Без него буква
и начинает считаться не союзом, а буквой на которую может оканчиваться любое слово в диапозоне {0,5} символов. В этот диапазон попало слово
свои, поэтому правило сработало на этом предложении - получается ошибочное срабатывание. Плюс, возможно, есть неточность с захватами. Поэтому, я стараюсь избегать или разбивать такие ёмкие правила с регулярными выражениями на предмет захвата (когда скобки находятся внутри других скобок).
Если будут подобные ошибки в словарях - сообщайте всем пригодиться.
Если вас интересуют общие вопросы составления правил с регулярными выражениями, то давайте пообщаемся здесь:
Секреты регулярных выражений
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 21:48
AndOSjZ
А ещё вот что,скачал книгу в fb2,в ней проставлены ударения такие а́ е́
при обработке скриптом 10... получается такое вместо (например) на́чал на? чал,самого́ самог? о
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 22:48
flegont
Можно заранее удалить (или заменить) в тексте надстрочные знаки ударения.
Например, заменим надстрочные знаки ударения на +
Текст должен быть открыт в окне Демагога, пусть например, это текст из двух вышеупомянутых букв:
а́ е́
Правка - Найти/Заменить
Заменить
Шаблон поиска: расширенный ( с кодами #nnnn)
Текст для поиска: #769
Текст для замены: +
Заменить все
Результат:
а+ е+
P.S. 769 - это код символа "надстрочный знак ударения". Хотя он и виден над гласной буквой, в действительности находится после нее
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 22:59
tonio_k
flegont писал(а): ↑19 дек 2019 22:48
Можно заранее удалить (или заменить) в тексте надстрочные знаки ударения.
тут ситуация немного другая. Эту ошибку генерирует скрипт входящий в сборку. Дело в том, что разбитие больших абзацев на маленькие абзацы средствами lua в скрипте происходят
раньше, чем сработают словари. Это lua делает замену на ? А в словарях правила присутствуют, но не успевают срабатывать.
► Показать
\у`|\у́=ЪЪУ
\ы`|\ы́=ЪЪЫ
\э`|\э́=ЪЪЭ
\ю`|\ю́=ЪЪЮ
\е`|\е́=ЪЪЕ
\ё`=Ё
\и`|\и́=ЪЪИ
\я`|\я́=ЪЪЯ
У меня есть черновик сборки, которую я начал но забросил. Она исправляет эту ошибку, но может плодить новые. Я ее сейчас выложу как черновик.
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 23:09
flegont
Я знаю, что это Lua не понимает знака ударения и превращает его в знак вопроса. Поэтому скрипт должен получать уже исправленный текст. Согласен - вручную, через Найти/Заменить править текст неудобно. Хорошо бы это дело тоже поручить скрипту - так сказать, предобработка текста.
Теоретически это возможно. Практически... завтра подумаю над этим
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 23:09
tonio_k
Демагог+Yandex TTS - сборка
2019-08-26+ для подготовки книг и озвучивания Яндекс голосом на базе программы Демагог.
Это черновик который я благополучно начал, но забросил. В нём есть некоторые исправления ошибок разбития больших абзацев на маленькие абзацы в том числе и проблема с проставленными в источнике ударения такие а́ е́.
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 23:12
tonio_k
flegont писал(а): ↑19 дек 2019 23:09
Хорошо бы это дело тоже поручить скрипту - так сказать, предобработка текста.
Теоретически это возможно. Практически... завтра подумаю над этим
думаю, это лишнее
. Тут на лицо моя ошибка. Я ее уже поправил
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 23:21
flegont
вы упоминали, что решение проблемы с ударениями плодит новые ошибки (???)
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 23:56
tonio_k
flegont, похоже я не так выразился. Это черновик сборки может создать проблему, которой не было в предыдущих сборках. Я в черновик добавлял некоторые находки, которые использовал для максима. Но не проверял как они работают под Яндексом. Когда мне сказали об ошибке я проверил у себя, проблема не воспроизводится. Открыл архив со старой сборкой, действительно, проблема есть. Получается, в черновике я что то поправил и это косвенно решило проблему, хотя это и не было в моих планах. А поправил я в скрипте только последовательность - сначала чистка словарями, и лишь потом текст в переменную lua
Yandex TTS. Словари. Обсуждение
Добавлено: 19 дек 2019 23:59
flegont
Спасибо, понял. Т.о. проблема ударений решена
Yandex TTS. Словари. Обсуждение
Добавлено: 01 янв 2020 19:48
Sylvia
tonio_k, Подскажите, пожалуйста, можно ли уменьшить паузы по точке в конце предложений? В каком-то из словарей это прописано?
Yandex TTS. Словари. Обсуждение
Добавлено: 01 янв 2020 20:24
tonio_k
Sylvia, Попробуйте в словаре 80_Паузы.dic
Добавить знак решетки перед правилом:
#*.*= /.
Или просто удалить это правило.
Но лучше через знак решетки - так будет проще вернуть обратно изменения.
Yandex TTS. Словари. Обсуждение
Добавлено: 06 янв 2020 09:45
Sylvia
Пользуюсь сборкой от 26-08-2019, почему-то не добавляет название книги к названию файла, хотя каждый раз выбираю эту опцию. Это только у меня?
Yandex TTS. Словари. Обсуждение
Добавлено: 06 янв 2020 11:45
tonio_k
Sylvia, добавление имени книги к названию файла в скриптах сделан очень грубо:
после того как будут созданы все файлы 0001.mp3, 0002.mp3 и т.д., в конце скрипта запускается команда: "добавить название текущей книги ко всем *.mp3 файлам, находящимся в текущей в папке" - т.е. если в папке будут другие mp3 файлы - то они так же попадут под переименование. Проверил оба скрипта - у меня работают.
Могу сварганить скрипт, который будет добавлять любой текст (сами вводите) к названию файлов в указанной папке. Или такой вариант: к открытой книге в Демагоге запускаете скрипт, указываете папку с mp3-файлами и скрипт добавит название открытой книги к файлам в указанной папке.
Yandex TTS. Словари. Обсуждение
Добавлено: 06 янв 2020 11:53
Sylvia
возможно, проблема в том, что название книги кириллицей?
tonio_k писал(а): ↑06 янв 2020 11:45
Могу сварганить скрипт
Не, не нужно, спасибо. Проще пачкой в TC переименовать, если возникнет необходимость. А тэги правлю в Aimp, т.к. плееры в основном показывают по тэгам
Yandex TTS. Словари. Обсуждение
Добавлено: 06 янв 2020 12:03
tonio_k
Sylvia, в кириллице с названием на русском проблем не было, а вот в других спец символах-вроде возможно. Скиньте мне в личку архив с книгой - посмотрю
Yandex TTS. Словари. Обсуждение
Добавлено: 08 фев 2020 02:34
tonio_k
Демагог+Yandex TTS - сборка от
2020-02-07 -для подготовки книг и озвучивания Яндекс голосом на базе программы Демагог.
Словари любезно предоставленные ув. wasyaka
Получение mp3 от Яндекса через скрипт от ув. balaamster
Изменения:
► Показать
+обновление Демагога до вер. 381
+исправлена проблема с превышением лимита символов в текстовых файлах, отправляемых для озвучивания на Яндекс TTS
+в скрипт 10_ОКНО ОБРАБОТАТЬ СЛОВАРЯМИ И ЗАПИСАТЬ В MP3 YaTTS - добавлен пункт БЕЗ СЛОВАРЕЙ - СРАЗУ ЗАПИСАТЬ В АУДИО MP3 - отправляет содержимое активного окна на озвучивание в Яндекс "как есть" - без предварительной обработки словарями
+в скрипты 10_ и 20_ в шапке добавлен параметр hide_cmd = nil - по умолчанию чёрные окна CMD отображают прогресс выполнения задач. Если поставить hide_cmd = true то процессы будут отображаться в свернутом виде.
Yandex TTS. Словари. Обсуждение
Добавлено: 08 фев 2020 23:28
Fabe
Привет
а как подклЮчить к голосу яндекс
никак не найду