Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Проблемы с файлом say.conf (числительные и существительные в queue). Решено

2

Кусок файла say.conf

_mi[n]uta:0             => num:${SAY}, digits/minutes
_mi[n]uta:1             => digits/1f, digits/minute
_mi[n]uta:2             => digits/2f, digits/minutes-i
_mi[n]uta:[3-4]         => num:${SAY}, digits/minutes-i
_mi[n]uta:[5-9]         => num:${SAY}, minutes
_mi[n]uta:0X            => minuta:${SAY:1}
_mi[n]uta:1X            => num:${SAY}, minutes
_mi[n]uta:[2-5]0        => num:${SAY}, minutes
_mi[n]uta:[2-5][1-9]    => num:${SAY:0:1}0, minuta:${SAY:1}

_seku[n]da:0            => num:${SAY}, seconds
_seku[n]da:1            => digits/1f, second
_seku[n]da:2            => digits/2f, secondsy
_seku[n]da:[3-4]        => num:${SAY}, secondsy
_seku[n]da:[5-9]        => num:${SAY}, seconds
_seku[n]da:0X           => sekunda:${SAY:1}
_seku[n]da:1X           => num:${SAY}, seconds
_seku[n]da:[2-5]0       => num:${SAY}, seconds
_seku[n]da:[2-5][1-9]   => num:${SAY:0:1}0, sekunda:${SAY:1}

_date:[hH]:.                => chas:${SAY:8:2}              ; hour
_date:[M]:.                  => minuta:${SAY:10:2}          ; minute
_date:[S]:.                  => sekunda:${SAY:13:2}         ; seconds

_datetime::.                => date:AdBY HMS:${SAY}

Упорно не хочет произносить минутЫ (файл minutes-i), произносит минуТ (файл minutes). Не пойму где может быть ошибка

Ответ: Для правильной работы речевого модуля с русским языком в очереди, проишлось произвести следующие действия: 1. Изменения в файле app_queue.c

    ~>diff Desktop/app_queue\ copy.c Desktop/app_queue.c
27a28,29
>  * \note 2013-09-19: Say "odna minuta, dwe minuty, piat' minut"  by Dmitry Litvinenko
>  *
3173c3175
<           res = ast_say_number(qe->chan, avgholdmins, AST_DIGIT_ANY, ast_channel_language(qe->chan), NULL);
---
>           res = ast_say_number(qe->chan, avgholdmins, AST_DIGIT_ANY, ast_channel_language(qe->chan), "f");
3178,3187c3180,3182
<           if (avgholdmins == 1) {
<               res = play_file(qe->chan, qe->parent->sound_minute);
<               if (res) {
<                   goto playout;
<               }
<           } else {
<               res = play_file(qe->chan, qe->parent->sound_minutes);
<               if (res) {
<                   goto playout;
<               }
---
>           res = ast_say_counted_noun(qe->chan, avgholdmins, qe->parent->sound_minute);
>           if (res) {
>               goto playout;
  1. В файле say.conf выставить режим old если он там уже не стоит.
  2. Файл "минутА" queue-minute
  3. Файл "минутЫ" queue-minutex1
  4. Файл "минут" queue-minutex2

Версия Asterisk-а 11.5.1

удалить закрыть спам изменить тег редактировать

спросил 2013-09-11 16:02:17 +0400

bandys Gravatar bandys
284 9 11

обновил 2013-09-20 18:32:17 +0400

Comments

Если Вы используете это для app_queue.so , то это не работает .

zzuz ( 2013-09-11 17:39:59 +0400 )редактировать

да. использую как раз для очереди. выходит только лезть в исходники или есть какой то вариант?

bandys ( 2013-09-12 13:07:19 +0400 )редактировать

Лезть в исходники.

zzuz ( 2013-09-12 13:30:59 +0400 )редактировать

странно, но файл say.conf таки влияет на произношение в очереди. только вот никак в толк не возьму логику влияния.

bandys ( 2013-09-17 11:18:37 +0400 )редактировать

Будьте первым, кто ответит на этот вопрос!

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2013-09-11 16:02:17 +0400

Просмотрен: 1,674 раз

Обновлен: Sep 20 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.