Страница 1 из 2
как научить алису правильно произносить окончания
Добавлено: Чт янв 10, 2013 9:02 pm
adzam
как научить алису правильно произносить окончания
она каждый раз произносит по разному
19:00 Alice: На улице-7 градуса
13:59 Alice: На улице+1 градусов
Re: как научить алису правельно произносить окончания
Добавлено: Чт фев 14, 2013 11:53 pm
NioFBI
Сделал так:
Код: Выделить всё
$w=round(strip_tags(gg("TempOutside"))); //Переводим погоду в переменную
if($w < "0"){ // Задаем условие - если погода минусовая то:
$w=abs($w); // Выводим в плюс
$minusw="Минус"; // Ежу понятно)))
}
say(' На улице '.$minusw.' '.$w.''); // Результат
В итоге Алиса проговаривает:
Если -15 градусов - "На улице Минус 15"
Если 15 градусов - "На улице 15"
На мой взгляд, самый адекватный вариант произношения.
Re: как научить алису правельно произносить окончания
Добавлено: Пт фев 15, 2013 10:32 am
sergejey
да, отличны вариант. надо принять на вооружение

с окончаниями беда конечно, тут надо делать какой-то словарик для цифр.
Re: как научить алису правельно произносить окончания
Добавлено: Пт фев 15, 2013 9:20 pm
NioFBI
Сегодня написал функцию для такого случая, должно работать
Код: Выделить всё
$w=round(strip_tags(gg("TempOutside")));
$tempw=$w;
if($w < "0"){
$tempw=abs($w);
}
if($tempw >= 11 and $tempw <= 14){
$tempcels="градусов";
}
else{
while ($tempw > 9){
$tempw=$tempw-10;
}
if($tempw == 0 or $tempw >= 5 and $tempw <= 9){
$tempcels=градусов; }
if($tempw == 1){
$tempcels=градус; }
if($tempw >= 2 and $tempw <= 4){
$tempcels=градуса; }
}
say(' '.$w.' '.$tempcels.'');
Re: как научить алису правельно произносить окончания
Добавлено: Ср фев 20, 2013 9:52 pm
rock40
Интересная особенность Алисы:
фразу "Баланс 98 рублей" она читает как "Баланс девяносто восьми рублей",
а фразу "Баланс 98" читает как "Баланс девяносто восемь".
Как ей объяснить, что в первом случае не родительный падеж?))
(код сценария -
http://smartliving.ru/Main/ScSMSGate)
Re: как научить алису правельно произносить окончания
Добавлено: Ср фев 20, 2013 11:15 pm
sergejey
Это особенность синтезатора речи -- кто его знает, что у него на уме. В данном случае, мне кажется, что он считает, что "рублей" в родительном падеже.
Re: как научить алису правельно произносить окончания
Добавлено: Ср фев 20, 2013 11:38 pm
rock40
Похоже, пока придется подбирать конструкцию фраз под падежи выдаваемые движком - "Баланс около девяносто восьми рублей" ))
Re: как научить алису правельно произносить окончания
Добавлено: Чт фев 21, 2013 1:24 pm
NioFBI
Не обязательно. Попробуй так:
Код: Выделить всё
say("Баланс ".round(gg("ThisComputer.Balance")).". рублей");
или
Код: Выделить всё
say("Баланс ".round(gg("ThisComputer.Balance")).", рублей");
еще может проканать
Код: Выделить всё
say("Баланс ".round(gg("ThisComputer.Balance"))." руб.");
Re: как научить алису правельно произносить окончания
Добавлено: Чт фев 21, 2013 6:28 pm
rock40
Код: Выделить всё
say("Баланс ".round(gg("ThisComputer.Balance")).", рублей");
- меняется только интонация, падеж все равно неправильный...
вариант с "руб." - вообще не звучит...
сделал:
Код: Выделить всё
say("Баланс ".round(gg("ThisComputer.Balance")).". рублей");
осталась только пауза на точке...
Re: как научить алису правельно произносить окончания
Добавлено: Чт фев 21, 2013 8:42 pm
NioFBI
Прошу прощения за дурной совет. Не было возможности проверить.
Вот этот вариант работает.
Код: Выделить всё
say("Баланс - ".round(gg("ThisComputer.Balance"))." рублей");
Баланс - 98 рублей. Проговаривает как надо.