По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Технология TTS (text-to-speech) служит для преобразования текстовой информации в голос. Проще говоря, вы пишите – система проговаривает. В системах телефонной связи такая технология может быть полезна, если необходимо произнести баланс клиента или для озвучивания прочих голосовых сообщений. О том, как настроить TTS в FreePBX 13 с помощью командной строки Asterisk расскажем в статье. Встроенный TTS В FreePBX предусмотрен встроенный движок для TTS, который носит название filte. Движок хорошо отрабатывает английскую речь, но не умеет работать с русской. Вкратце ознакомимся с его настройкой. Тут все достаточно тривиально, переходим в Applications -> Text to Speech Name - дайте имя для TTS механизма Text - укажите произносимый системой набор слов Choose an Engine - выберите движок для воспроизведения. По умолчанию, единственным доступным является filte Destination - куда будет отправлен звонок, после проговаривания фразы указанной в поле Text На этом этапе система произнесет набор слов по-английски. Писать методом транслитерации – плохая идея. Движок конечно произнесет указанные слова, но это вряд ли можно будет отправить в «продакшн». Итак, как же бесплатно настроить русскоговорящий TTS в FreePBX? Легко, с помощью системы синтеза речи festival Русский язык FreePBX Festival Установку будем производить на примере последней сборки FreePBX Distro на базе CentOS 6. Переходим к установке. Скачиваем исходные файлы cd /usr/src wget http://www.cstr.ed.ac.uk/downloads/festival/2.1/speech_tools-2.1-release.tar.gz wget http://www.cstr.ed.ac.uk/downloads/festival/2.1/festival-2.1-release.tar.gz Распаковываем архивы и инсталлируем необходимые файлы tar zxvf festival-2.1-release.tar.gz tar zxvf speech_tools-2.1-release.tar.gz cd speech_tools ./configure make make install cd .. cd festival ./configure make make install Система может потребовать установить пакет ncurses-devel. Сделайте это с помощью команды yum install ncurses-devel Создаем переменную PATH, которая описывает путь до исполняемых файлов в директории festival/bin/ export PATH=$PATH:/usr/src/festival/bin/ Создадим директорию для хранения русскоязычных файлов. Для этого, последовательно в директории festival/lib/ создадим папки /voices и /russian: mkdir /usr/src/festival/lib/voices/ mkdir /usr/src/festival/lib/voices/russian/ Скачиваем русскоязычный бандл: wget http://sourceforge.net/projects/festlang.berlios/files/msu_ru_nsh_clunits-0.5.tar.bz2 Далее, распаковываем скачанный архив в созданную директорию: tar xjf msu_ru_nsh_clunits-0.5.tar.bz2 -C ./festival/lib/voices/russian Открываем через редактор vim файл /usr/src/festival/lib/languages.scm vim /usr/src/festival/lib/languages.scm В самом начале файла вставляем следующие строки: (define (language_russian) "(language_russian) Set up language parameters for Russian." (set! male1 voice_msu_ru_nsh_clunits) (male1) (Parameter.set 'Language 'russian) ) В файле находим строки указанные ниже: (language_british_english)) ((equal? language 'british_english) После указанных выше строк, добавляем следующее: (language_russian)) ((equal? language 'russian) Далее открываем файл /usr/src/festival/lib/siteinit.scm и в самый конец добавляем строку ниже: (set! voice_default 'voice_msu_ru_nsh_clunits) Создаем кэш – директорию. Для этого, скопируйте команду ниже: mkdir /var/lib/asterisk/festivalcache/ && chown asterisk:asterisk /var/lib/asterisk/festivalcache/ Открываем файл /etc/asterisk/festival.conf и добавляем следующие строки: [main] host=localhost port=1314 usecache=yes cachedir=/var/lib/asterisk/festivalcache/ \созданный выше файл festivalcommand=(tts_textasterisk "%s" 'file)(quit) Запускаем сервер festival festival --server Если все успешно, то вы увидите строки ниже: [pbx@localhost ~]#festival --server server Fri Aug 12 13:00:32 2016 : Festival server started on port 1314 Приступаем к тестам. Открываем файл /etc/asterisk/extensions_custom.conf и создаем тестовый диал – план как указано ниже: [festival] exten => s,1,Answer exten => s,n,Festival('Привет. Все. работает.') exten => s,n,Hangup Сохраняем изменения. Для того, чтобы настроить воспроизведение из графического интерфейса FreePBX мы воспользуемся модулем Custom Destinations. Для его настройки перейдите во вкладку Admin -> Custom Destinations . Нажимаем на кнопку Add Destination Разберем каждую из опций: Target - укажите здесь festival,s,1, согласно созданному ранее диал-плану. Синтаксис заполнения следующий - [имя_контекста],[экстеншен],[приоритет] Description - описание создаваемого правила Notes - заметки. Если вы создаете много подобных правил, советуем создавать подробные заметки, чтобы избежать дальнейшей путаницы. Return - если ваш контекст заканчивается командой Return (команда возвращает вызов в родительский контекст), то в поле Destination укажите назначение для вызова после отработки TTS. По окончанию настроек нажмите Submit и затем Apply Config. Теперь необходимо настроить маршрутизацию на кастомный контекст, который мы только что создали в FreePBX. Например, можно настроить маршрутизацию из IVR меню по нажатию цифры 5 на телефоне, как указано ниже: Звоним на IVR и нажимаем 5 и слышим синтезированный голос. Параллельно смотрим на запущенный через CLI сервер Festival: client(1) Fri Aug 12 13:00:54 2016 : accepted from localhost client(1) Fri Aug 12 13:01:04 2016 : disconnected client(2) Fri Aug 12 13:01:20 2016 : accepted from localhost client(2) Fri Aug 12 13:01:20 2016 : disconnected Google TTS в FreePBX Еще пару лет назад можно было бы легко воспользоваться Google TTS для синтеза речи. Для этого надо было добавить движок во вкладке Settings -> Text To Speech Engines и отредактировать файл /var/lib/asterisk/agi-bin/propolys-tts.agi. Но, к сожалению, Google начал использовать капчу, чем перекрыл автоматизированный и бесплатный доступ к своему сервису. Дополнительно про настройку TTS от Festival вы можете прочитать здесь.
img
Понимать состояние ваших серверов с точки зрения их загрузки и производительности - крайне важная задача. В этой статье мы опишем несколько самых популярных методов для проверки и мониторинга загрузки ЦПУ на Linux хосте. Методы проверки Проверяем загрузку процессора с помощью команды top Отличным способом проверки загрузки является команда top. Вывод этой команды выглядит достаточно сложным, зато если вы в нем разберетесь, то точно сможете понять какие процессы занимают большую часть ваших вычислительных мощностей. Команда состоит всего из трех букв: top У вас откроется окно в терминале, которое будет отображать запущенные сервисы в реальном времени, долю системных ресурсов, которую эти сервисы потребляют, общую сводку по загрузке CPU и т.д Будем идти по порядку: первая строчка отображает системное время, аптайм, количество активных пользовательских сессий и среднюю загруженность системы. Средняя загруженность для нас особенно важна, т.к дает понимание о среднем проценте утилизации ресурсов за некоторые промежутки времени. Три числа показывают среднюю загрузку: за 1, 5 и 15 минут соответственно. Считайте, что эти числа - это процентная загрузка, т.е 0.2 означает 20%, а 1.00 - стопроцентную загрузку. Это звучит и выглядит достаточно логично, но иногда там могут проскакивать странные значения - вроде 2.50. Это происходит из-за того, что этот показатель не прямое значение загрузки процессора, а нечто вроде общего количества "работы", которое ваша система пытается выполнить. К примеру, значение 2.50 означает, что текущая загрузка равна 250% и ваша система на 150% перегружена. Вторая строчка достаточна понятна и просто показывает количество задач, запущенных в системе и их текущий статус. Третья строчка позволит вам отследить загрузку ЦПУ с подробной статистикой. Но здесь нужно сделать некоторые комментарии: us: процент времени, когда ЦПУ был загружен и которое было затрачено на user space (созданные/запущенные пользователем процессы) sy: процент времени, когда ЦПУ был загружен и которое было затрачено на на kernel (системные процессы) ni: процент времени, когда ЦПУ был загружен и которое было затрачено на приоритезированные пользовательские процессы (системные процессы) id: процент времени, когда ЦПУ не был загружен wa: процент времени, когда ЦПУ ожидал отклика от устройств ввода - вывода (к примеру, ожидание завершения записи информации на диск) hi: процент времени, когда ЦПУ получал аппаратные прерывания (например, от сетевого адаптера) si: процент времени, когда ЦПУ получал программные прерывания (например, от какого-то приложения адаптера) st: сколько процентов было "украдено" виртуальной машиной - в случае, если гипервизору понадобилось увеличить собственные ресурсы Следующие две строчки показывают сколько занято/свободно оперативно памяти и файла подкачки, и не так релевантны относительно задачи проверки нагрузки на процессор. Под информацией о памяти вы увидите список процессов и процент ЦПУ, который они тратят. Также вы можете нажимать на кнопку t, чтобы прокручивать между различными вариантами вывода информации и использовать кнопку q для выхода из top Немного более модный способ: htop Существует более удобная утилита под названием htop, которая предоставляет достаточно удобный интерфейс с красивым форматированием. Установка утилиты экстремально проста:Для Ubuntu и Debian: sudo apt-get install htop Для CentOS и Red Hat: yum install htop Для Fedora: dnf install htop После установки просто введите команду ниже: htop Как видно на скриншоте, htop гораздо лучше подходит для простой проверки степени загрузки процессора. Выход также осуществляется кнопкой q Прочие способы проверки степени загрузки ЦПУ Есть еще несколько полезных утилит, и одна из них (а точнее целый набор) называется sysstat.Установка для Ubuntu и Debian: sudo apt-get install sysstat Установка для CentOS и Red Hat: yum install sysstat Как только вы установите systat, вы сможете выполнить команду mpstat - опять же, практически тот же вывод, что и у top, но в гораздо лаконичнее. Следующая утилита в этом пакете это sar. Она наиболее полезна, если вы ее вводите вместе с каким-нибудь числом, например 6. Это определяет временной интервал, через который команда sar будет выводить информацию о загрузке ЦПУ. К примеру, проверяем загрузку ЦПУ каждые 6 секунд: sar 6 Если же вы хотите остановить вывод после нескольких итераций, например 10, добавьте еще одно число: sar 6 10 Так вы также увидите средние значения за 10 выводов. Как настроить оповещения о слишком высокой нагрузке на процессор Одним из самых правильных способов является написание простого bash скрипта, который будет отправлять вам алерты о слишком высокой степени утилизации системных ресурсов. #!/bin/bash CPU=$(sar 1 5 | grep "Average" | sed 's/^.* //') CPU=$( printf "%.0f" $CPU ) if [ "$CPU" -lt 20 ] then echo "CPU usage is high!" | sendmail admin@example.com fi Скрипт будет использовать обработчик sed и среднюю загрузку от команды sar. Как только нагрузка на сервер будет превышать 85%, администратор будет получать письмо на электронную почту. Соответственно, значения в скрипте можно изменить под ваши требования - к примеру поменять тайминги, выводить алерт в консоль, отправлять оповещения в лог и т.д. Естественно, для выполнения этого скрипта нужно будет запустить его по крону: crontab -e Для ежеминутного запуска введите: * * * * * /path/to/cpu-alert.sh Заключение Соответственно, лучшим способом будет комбинировать эти способы - например использовать htop при отладке и экспериментах, а для постоянного контроля держать запущенным скрипт.
img
Создание разделов диска позволяет разделить жесткий диск на несколько разделов, которые действуют независимо. В Linux пользователи должны структурировать устройства хранения (USB и жесткие диски) перед их использованием. Разбиение на разделы также полезно, когда вы устанавливаете несколько операционных систем на одном компьютере. В этом пошаговом руководстве вы узнаете, как создать раздел с помощью команды Linux parted или fdisk. Вариант 1: разбить диск на разделы с помощью команды parted Выполните следующие действия, чтобы разбить диск в Linux с помощью команды parted. Шаг 1. Список разделов Перед созданием раздела составьте список доступных запоминающих устройств и разделов. Это действие помогает определить устройство хранения, которое вы хотите разбить на разделы. Выполните следующую команду с sudo, чтобы вывести список устройств хранения и разделов: sudo parted -l Терминал распечатывает доступные устройства хранения с информацией о: Model - Модель запоминающего устройства. Disk - Имя и размер диска. Sector size - логический и физический размер памяти. Не путать с доступным дисковым пространством. Partition Table - тип таблицы разделов (msdos, gpt, aix, amiga, bsd, dvh, mac, pc98, sun и loop). Disk Flags - разделы с информацией о размере, типе, файловой системе и флагах. Типы разделов могут быть: Primary (Основной) - содержит файлы операционной системы. Можно создать только четыре основных раздела. Extended (Расширенный) - особый тип раздела, в котором можно создать более четырех основных разделов. Logical (Логический) - Раздел, созданный внутри расширенного раздела. В нашем примере есть два устройства хранения - /dev/sda и /dev/sdb Примечание. Первый диск хранения (dev/sda или dev/vda) содержит операционную систему. Создание раздела на этом диске может сделать вашу систему не загружаемой. Создавайте разделы только на дополнительных дисках (dev/sdb, dev/sdc, dev/vdb или dev/vdc). Шаг 2: Откройте диск для хранения Откройте диск хранения, который вы собираетесь разделить, выполнив следующую команду: sudo parted /dev/sdb Всегда указывайте запоминающее устройство. Если вы не укажете имя диска, он будет выбран случайным образом. Чтобы сменить диск на dev/sdb, выполните: select /dev/sdb Шаг 3: Создайте таблицу разделов Прежде чем разбивать диск, создайте таблицу разделов. Таблица разделов расположена в начале жесткого диска и хранит данные о размере и расположении каждого раздела. Типы таблиц разделов: aix, amiga, bsd, dvh, gpt, mac, ms-dos, pc98, sun и loop. Чтобы создать таблицу разделов, введите следующее: mklabel [partition_table_type] Например, чтобы создать таблицу разделов gpt, выполните следующую команду: mklabel gpt Введите Yes, чтобы выполнить: Примечание. Два наиболее часто используемых типа таблиц разделов - это gpt и msdos. msdos поддерживает до шестнадцати разделов и форматирует до 16 ТБ, а gpt форматирует до 9,4 ЗБ и поддерживает до 128 разделов. Шаг 4: проверьте таблицу Запустите команду print, чтобы просмотреть таблицу разделов. На выходе отображается информация об устройстве хранения: Примечание. Запустите команду help mkpart, чтобы получить дополнительную справку о том, как создать новый раздел. Шаг 5: Создайте раздел Давайте создадим новый раздел размером 1854 Мбайт, используя файловую систему ext4. Назначенное начало диска должно быть 1 МБ, а конец диска - 1855 МБ. Чтобы создать новый раздел, введите следующее: mkpart primary ext4 1MB 1855MB После этого запустите команду print, чтобы просмотреть информацию о вновь созданном разделе. Информация отображается в разделе Disk Flags: В таблице разделов gpt, тип раздела - это обязательное имя раздела. В нашем примере primary - это имя раздела, а не тип раздела. Чтобы сохранить свои действия и выйти, введите команду quit. Изменения сохраняются автоматически с помощью этой команды. Примечание. Сообщение «You may need to update /etc/fstab file» сигнализирует о том, что раздел может быть смонтирован автоматически во время загрузки. Вариант 2: разбить диск на разделы с помощью команды fdisk Выполните следующие действия, чтобы разбить диск в Linux с помощью команды fdisk. Шаг 1. Список существующих разделов Выполните следующую команду, чтобы вывести список всех существующих разделов: sudo fdisk -l Вывод содержит информацию о дисках и разделах хранилища: Шаг 2: Выберите диск для хранения Выберите диск для хранения, на котором вы хотите создать разделы, выполнив следующую команду: sudo fdisk /dev/sdb Диск /dev/sdbstorage открыт: Шаг 3: Создайте новый раздел Запустите команду n, чтобы создать новый раздел. Выберите номер раздела, набрав номер по умолчанию (2). После этого вас попросят указать начальный и конечный сектор вашего жесткого диска. Лучше всего ввести в этом разделе номер по умолчанию (3622912). Последний запрос связан с размером раздела. Вы можете выбрать несколько секторов или установить размер в мегабайтах или гигабайтах. Введите + 2 GB, чтобы установить размер раздела 2 ГБ. Появится сообщение, подтверждающее создание раздела. Шаг 4: запись на диск Система создала раздел, но изменения не записываются на диск. 1. Чтобы записать изменения на диск, выполните команду w: 2. Убедитесь, что раздел создан, выполнив следующую команду: sudo fdisk -l Как видите, раздел /dev/sdb2 создан. Отформатируйте раздел После создания раздела с помощью команды parted или fdisk отформатируйте его перед использованием. Отформатируйте раздел, выполнив следующую команду: sudo mkfs -t ext4 /dev/sdb1 Смонтировать раздел Чтобы начать взаимодействие с диском, создайте точку монтирования (mount point) и смонтируйте к ней раздел. 1. Создайте точку монтирования, выполнив следующую команду: sudo mkdir -p /mt/sdb1 2. После этого смонтируйте раздел, введя: sudo mount -t auto /dev/sbd1 /mt/sdb1 Терминал не распечатывает вывод, если команды выполнены успешно. 3. Убедитесь, что раздел смонтирован, с помощью команды df hT:
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59