Скрипты для Demagog

Говорящий текстовый редактор с открытым кодом, предназначенный для чтения вслух и записи в аудиофайл текстовых файлов с использованием пакетов речевых функций SAPI4\SAPI5.

Модератор: flegont

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

Скрипты для Demagog

#451

Сообщение flegont » 26 дек 2019 14:51

Да, это было бы удобно. Сделаю :smile1:

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

Скрипты для Demagog

#452

Сообщение flegont » 05 янв 2020 12:38

Версия 381. Пример скрипта для записи русско-английского аудио
Текст

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

Упражнение номер один, начали

Кто там, вдалеке? Who is there, far away? Who is there, far away?
Это - ковбой Неуловимый Джо. This is the cowboy Elusive Joe. This is the cowboy Elusive Joe.
Неужели никто не может поймать его? Can no one catch him? Can no one catch him?
Да, его никто не может поймать. Yes, no one can catch him. Yes, no one can catch him.
Но, почему? But why? But why?
Потому что он - никому не нужен! Because nobody needs him! Because nobody needs him!

Конец упражнения
Скрипт

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

-- ЗАПИСЬ РУССКО-АНГЛИЙСКОГО АУДИО ДЛЯ ТЕКСТА В АКТИВНОЙ ВКЛАДКЕ
-- Дано: русские фразы чередуются с их английским переводом; английский
-- перевод повторяется дважды с 2-х секундной паузой; перед произнесением
-- перевода необходима пауза 4 секунды - чтобы ученик успел предложить
-- свой вариант перевода, а затем услышал правильный

-- запоминаем параметры первоначально активного голоса
vName, vRate, vPitch, vVolume = Voice()

k = WActive()  -- номер активного окна

-- на время работы скрипта включить многоязычный режим
o = {}
o.Reading_Multilingva = true
Settings(o)

-- настройка голосов (скорость, тембр, громкость не указаны, по умолчанию 0,0,100)
ru = 'Pavel'
en = 'Zira'

-- временные словари для пауз (их можно создать где угодно, не обязательно в папке dic)
h = HomeFolder('dic')
SaveToFile({[[([\.\?\!]+)=<silence msec="4000"/>$1]]},h..'tmp_pause4.rex')
SaveToFile({[[([\.\?\!]+)=<silence msec="2000"/>$1]]},h..'tmp_pause2.rex')

-- привязать словари к голосам (если путь не указан, то подразумевается стандартная папка ..\dic)
d = {}
d[Voice('Pavel')] = {'tmp_pause4.rex'}
d[Voice('Zira')] = {'tmp_pause2.rex'}

-- копию текста в активной вкладке разметить и поместить в Статистику 
WMarkup(k,0,ru,en)

-- словарные замены во вкладке Статистика
WFilter(0,0,d)
--WActive(0) -- для просмотра во время отладки!

-- запись двуязычного аудио по тексту в Статистике
-- т.к. измененный текст не был сохранен, то имя аудиофайла 
-- генерируется автоматически из даты и времени)
WAudio(0)

-- удалить временные словари
os.remove(h..'tmp_pause4.rex')
os.remove(h..'tmp_pause2.rex')

-- восстановить активность первоначального голоса
SetVoice(vName,vRate,vPitch,vVolume)
Русско-английское аудио

Ответить

Вернуться в «Demagog»