Денис Ревега:

ДР> И вот буквально толькочто, подумал, что можно создать 2 конфига, в одном
ДР> из которых на eng прописать mbrolу, а во втором - ru_tts. Плюс к этому
ДР> создать скрипт, который будет создавать симлинки на нужный из них,
ДР> взависимости от параметров, переданых из терминала. И потом, например,
ДР> для чтения всего текста ru_tts вызывать например так:
ДР> usr/bin/chvoice -all ru ,
ДР> а когда нужно, чтоб английский текст читался mbrola, а русский ru_tts,
ДР> например, так:
ДР> /usr/bin/chvoice -all default .
ДР> Если есть какие-то рекомендации или другие решения этого способа, с
ДР> удовольствием выслушаю.

Да, такое нетрудно сделать. Вот, например, скрипт:

#!/bin/sh
ln -sf voiceman-"$1".conf /usr/local/etc/voiceman.conf
killall voicemand
/usr/local/bin/voicemand -d

Только без ключа -all, который здесь не нужен. Просто передаёте ru или
default первым аргументом, и скрипт создаёт соответствующую ссылку на
voiceman-ru.conf или voiceman-default.conf. Правда, придётся этот скрипт
выполнять через sudo. Но можно будет собрать Voiceman для установки в $HOME,
тогда sudo не понадобится. Ещё одна проблема - перезагрузка сервера
реализована не лучшим образом. killall прибьёт все работающие копии
voicemand. Обычно такие вещи делаются более адресно. Например, работает
демон $DAEMON, а его pid хранится в файле /var/run/$DAEMON.pid. Тогда можно
прочитать оттуда pid и прибить только этот процесс. Михаил говорил, что в
следующей версии Voiceman будет реализована возможность перезагрузки
конфигурации по специальному сигналу. Тогда можно будет сделать так же
просто, как в примере: отправлять killall'ом этот сигнал всем работающим
копиям voicemand.

-- 
Дмитрий Падучих
-- 
Blinux-rus mailing list
[email protected]
http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus

Ответить