• Speech AI с Python & Google API

      Speech AI с Python & Google API


      image


      Добрый день!


      Совсем недавно пришла в голову идея сделать "говорилку" на русском языке. В голове была простенькая схема наподобие:


      1) Распознать речь с микрофона
      2) Придумать более — менее разумный ответ.
      В этом пункте можно сделать много интересного.
      Например реализовать управление чем — нибудь физическим и не очень.
      3) Преобразовать этот самый ответ в речь и воспроизвести.


      Самое интересное, что для всех этих пунктов нашлись библиотеки под Python, чем я и воспользовался.


      В итоге получилась связка, практически не зависящая от выбранного в качестве разговорного языка.

      Читать дальше →
    • SIP URI и URL. Часть 2 (Схема SIP URI)


        Предыдущие статьи по SIP:
        1. Взаимодействие клиентов SIP. Часть 1 (Простое взаимодействие)
        2. Взаимодействие клиентов SIP. Часть 2 (Взаимодействие с использованием Proxy-сервера)
        3. SIP URI и URL. Часть 1 (URI, URL и URN)

        В первой части статьи мы разобрались, что такое URL, URN и URN. Пришло время поговорить о URI и URL, используемых в SIP.
        Поехали
      • Коротко и просто о сложном – сервис «8-800» (Freephone)

          image

          Сервис «8-800» или «бесплатный вызов» или Freephone (Toll-free) известен каждому. Мы часто выбираем номер 800-й серии для вызова, зная, что этот вызов будет бесплатен для нас.

          Но как это работает?

          Желающих подробнее почитать об истории возникновения и развития сервиса «8-800» осмелюсь отправить на википедию или, что еще лучше, к классическому изданию Б.С Гольдштейн и др. «Интеллектуальные сети».

          А мы попробуем коротко и просто разобраться, как работает этот сервис.
          Подробности
        • Обзор Asterisk REST Interface (ARI)

          • Tutorial

          В начале времен единственным "поставщиком" функционала Asterisk были модули, многие из которых расширяли арсенал приложений и функций плана набора.


          Тогда, в начале времен, все эти команды и функции далеко опережали свое время, и благодаря им Asterisk "уделывал" по функционалу многие коммерческие продукты.


          Если возникала какая-нибудь необходимость в выходе за пределы имеющихся приложений и функций, можно было написать свой собственный модуль на языке С, и это был единственный способ расширения функционала и выхода из имеющейся "клетки", какой бы просторной она ни была.


          Но разработку модуля Астериск на языке С сложно назвать тривиальной задачей. Это весьма тернистый путь, к тому же весьма рискованный, ведь критическая ошибка в своем модуле запросто приводила к полному падению Asterisk в core.


          Нужны были более "мягкие" и простые способы для расширения функций и интеграции с другими системами.


          Так появились интерфейсы AGI и AMI.


          Читать дальше →
        • Как на самом деле работает mod_rewrite. Пособие для продолжающих

            image
            Эта статья выросла из идеи продвинутого обучения наших сотрудников технической поддержки работе с mod_rewrite. Практика показала, что после изучения имеющихся в большом количестве учебников на русском языке саппортам хорошо дается решение шаблонных задач, но вот самостоятельное составление правил происходит методом проб и большого количества ошибок. Проблема заключается в том, что для хорошего понимания работы mod_rewrite требуется изучение оригинальной англоязычной документации, после чего — либо дополнительные разъяснения, либо часы экспериментов с RewriteLog.

            В статье изложен механизм работы mod_rewrite. Понимание принципов его работы позволяет четко осознавать действие каждой директивы и ясно представлять себе, что происходит в тот или иной момент внутри mod_rewrite при обработке директив.

            Я предполагаю, что читатель уже знаком с тем, что такое mod_rewrite, и не буду описывать его основы, которые легко найти в интернете. Также нужно отметить, что в статье освещается работа mod_rewrite при использовании его директив в файле .htaccess. Отличия при работе в контексте <VirtualHost> изложены в конце статьи.

            Итак, вы изучили mod_rewrite, составили несколько RewriteRule и успели столкнуться с бесконечными перенаправлениями, со случаем, когда правило почему-то не ловит ваш запрос, а также с непредсказуемой работой группы правил, когда последующее правило неожиданно изменяет запрос, кропотливо подготовленный правилами предыдущими.

            Почему так происходит?
            Читать дальше →
          • VoIP зоопарк — Provisioning

            Вступление


            Однажды руководство одобрило эксперимент по внедрению IP телефонии в нашей конторе. Так как мой опыт в данной области был мизерным, задача пробудила во мне огромный интерес и я погрузился в изучение различных аспектов вопроса. По окончании погружения решил поделиться приобретенными знаниями — в надежде, что кому-то они пригодятся. Итак…

            Исходные данные


            В качестве IP-АТС выбран и развернут Asterisk. Парк телефонов состоит из аппаратов Cisco 7906g, Panasonic UT-KX123B, Grandstream GXP1400 и Dlink DPH-150S(E)/F3, Yealink T19 и T21. Такой разброс обусловлен тем, что в рамках эксперимента было принято решение попробовать всего понемногу, чтобы составить своё мнение о соотношении цена/качество/удобство.

            Задача


            Максимально упростить и унифицировать процесс настройки новых аппаратов. Все телефоны должны быть синхронизированы по времени, иметь телефонную книгу, подгружаемую с сервера и предоставлять доступ к настройкам для администратора.

            Решение этой задачи простое — реализовать автоматическую настройку телефонов, т.н. Provisioning. Собственно, о моей реализации этой замечательной функции и пойдет речь.
            Читать дальше →
          • SSH-туннели — пробрасываем порт

              Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

              Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
              Читать дальше →
            • Система облачной телефонии 2600hz KAZOO

              image

              Введение


              Телекоммуникационный проект KAZOO молодой компании под названием 2600hz (США) уже успел собрать несколько отраслевых наград и используется многими крупными операторами связи.

              Эта статья — краткий авторский обзор возможностей и архитектуры проекта от человека, посвятившего последние полтора года его изучению и применению на практике.

              KAZOO — быстро развивающаяся открытая (open-source) платформа виртуальной облачной телефонии, на основе которой можно строить сервисы виртуальных АТС, виртуальные мобильные сети и другие масштабные облачные телекоммуникационные решения операторского класса.
              Читать дальше →
            • HTC Desire за ~16К — реальность! Но как?!

                HTC DesireНаверное, многие из вас, как и я, были «приятно» удивлены официальной рекомендуемой ценой (RRP) HTC Desire в России. 25990 руб — немаленькая сумма для телефона на базе молодой, развивающейся свободной ОС.

                Рекомендуемая цена на Nexus One подсказывала, что и HTC Desire должен был стоить на порядок меньше. Беглый осмотр иностранных интернет-магазинов показал, что цена на HTC Desire колеблется в районе 18-20К у таких монстров, как Amazon.de, и 16-17К в онлайн e-Tailer'ах. Вот уж поистине — привет российские налоги и жадность локальных ритейлеров…

                Поразмыслив о гарантии и итоговой сумме телефона, я решилась на покупку.
                Читать дальше →
              • Компьютер вашей мечты. Часть 2: Реальность и фикция

                  Продолжению быть!
                  Часть 1


                  Задачи поставлены, и вроде бы самое время перейти к чтению различных обзоров и тестов, но…
                  С чего начать? В какую сторону вообще смотреть?
                  image

                  Вторая часть опуса будет посвящена ключевым компонентам современной системы — центральному процессору, оперативной памяти и видеокарте. В том, что эти компоненты основные, вряд ли кто-то сомневается, вопрос стоит в другом — кто из них главнее? На что следует обратить внимание в первую очередь при сборке машины под определенные задачи? На какой девайс и какие его характеристики?
                  Читать дальше →
                • Call Center который построил…

                    Имеем — строго американские телефоны для кастомеров, несколько команд саппорта разбросанных буквально по всему миру, и совсем не имеем времени («вчера!»). Нужно срочно привести гору к Магомедам.

                    На самом деле всё не так просто, как (сейчас) выглядит со стороны. Вот представьте — звонит клиент в колцентр, желательно на бесплатный номер, который никогда не занят, надеется что-то полезное услышать, наверное, какие-то кнопочки понажимать, и, если повезёт, попасть к тому человеку, который таки поможет, а если не поможет, всяко бывает — или нет этого человека, или не понимает — тогда в карму, или рейтинг, как повезёт.
                    Читать дальше →
                  • Мобильное приложения для управления умным домом на базе Z-Wave с помощью OpenRemote


                      Не так давно был представлен Z-Wave модуль для Raspberry Pi — RaZBerry, который превращает мини-компьютер в полноценный контроллер умного дома. Управление Z-Wave сетью осуществляется с помощью web-интерфейса, использующего HTTP/JavaScript API. Используя JavaScript можно создать набор функций для автоматизации (включение/выключение света, проверка температуры, опрос датчика движения и др.), которые затем можно выполнить, послав HTTP запрос.

                      Продукт компании OpenRemote с одноименным названием позволяет создавать мобильные приложения для умного дома без программирования, при этом в одном приложении могут использоваться разные технологии: Z-Wave, KNX, X10, ZigBee, управление компьютером по ssh и др.

                      OpenRemote это сервер выполняющий любые команды и конструктор интерфейсов в котором вы создаете кнопки, переключатели, надписи и др. и этим элементам уже назначаете команды, в нашем случае это HTTP запросы на выполнение JavaScript функций на сервере Z-Wave.

                      Далее я по пунктам расскажу как создать пульт управления умным домом для iPhone и Android! А вот так будет выглядеть наше приложения, когда мы закончим:


                      Под катом много картинок.
                      Будет интересно!
                    • Умный дом, как я до такого докатился. Часть 1-я


                        Пару лет назад, когда стоял вопрос отделки новой квартиры, возникла тривиальная, казалось бы, задача.
                        Дано:
                        • Кухня-студия (кухня совмещенная с холлом/коридором), три точки освещения.
                        • Необходимо управлять освещением из двух точек. У входа в квартиру и на кухне.

                        Варианты решения:
                        • Покупаем, так называемые, проходные выключатели, ставим три штуки на кухню, три в коридоре — вот оно счастье. Вот только получилось, что от коридора на кухню нужно вести 9 жил кабеля, некрасиво, спрятать некуда.
                        • Покупаем готовые решения по управлению одним источником с нескольких точек.
                          Точных чисел не помню, но получалось что-то около 10000р за точку освещения + 1000р за каждый выключатель, итого 36000р. Жаба.
                        • Как это ни странно, но эту идею высказала жена, в общем-то далекая от IT: “ А помнишь, ты светофор в Яндексе делал? Может тут тоже что-то сам сообразишь?”
                          В самом деле, а почему бы и нет, подумал я?

                        Но я не электронщик, я программист, причем контроллеры никогда не программировал, только полноценные сервера. Значит мозгом должен быть сервер. А раз ставить сервер, то управлять тремя лампочками — это из пушки по воробьям (даже, ядерным зарядом по мухам). Значит можно еще функций навешать.
                        Тут Остапа понесло (с), столица перемещается в Васюки. Три лампочки с выключателями превращаются в систему управления, мониторинга, видеонаблюдения и т. д.
                        Читать дальше →
                      • Полоумный дом на Siemens Logo

                          Попался на глаза пост, почитал… решил написать о своем варианте.

                          В общем, в 3х-комнатной квартире у меня «полоумное» освещение давным-давно. Основная его цель — поменьше жать выключатель. Изначально я в коридоре прямо в полу разместил четыре 12-вольтовых цветных точечных светильника. Потом добавил еще 2 в маленьком коридоре, потом еще 2 вставил в потолок (точнее в низ антресоли) у кухни. В полу, кстати, светильники устанавливать просто (полы то на деревянных лагах): взял насадку для дрели, которой сверлят дверные полотна под ручку. Ей и наделал аккуратные дырки прямо сквозь ламинат. Получилось как-то так:




                          Читать дальше →
                        • Защита Asterisk при атаке на номер 8-800

                            После прочтения этой статьи с ужасом для себя понял, что мы никак не защищены от такой атаки. И легко можем попасть на 10-20 тысяч рублей в день. Решил это дело исправить. Накидал на коленке защитный скриптик — возможно кому-то пригодится…
                            Читать дальше →
                          • PHP: фрактал плохого дизайна

                            • Translation

                            Предисловие


                            Я капризный. Я жалуюсь о многих вещах. Многое в мире технологий мне не нравится и это предсказуемо: программирование — шумная молодая дисциплина, и никто из нас не имеет ни малейшего представления, что он делает. Учитывая закон Старджона, у нас достаточно вещей для постижения на всю жизнь.

                            Тут другое дело. PHP не просто неудобен в использовании, плохо мне подходит, субоптимален или не соответствует моим религиозным убеждениям. Я могу рассказать вам много хороших вещей о языках, которых я стараюсь избегать, и много плохих вещей о языках, которые мне нравятся. Вперёд, спрашивайте! Получаются интересные обсуждения.

                            PHP — единственное исключение. Фактически каждая деталь PHP в какой-то мере поломана. Язык, структура, экосистема: всё плохо. И даже нельзя указать на одну убийственную вещь, настолько дефект систематичный. Каждый раз, когда я пытаюсь систематизировать недостатки PHP, я теряюсь в поиске в глубину обнаруживая всё больше и больше ужасных мелочей(отсюда фрактал).

                            PHP — препятствие, отрава моего ремесла. Я схожу с ума от того, насколько он сломан и насколько воспеваем каждым уполномоченным любителем нежелающим научиться чему-либо ещё. У него ничтожно мало оправдывающих положительных качеств и я бы хотел забыть, что он вообще существует.
                            Читать дальше →
                          • Удаленная замена корневой ФС в GNU/linux

                            image
                            Иногда мне приходится сталкиваться с заменой корневой файловой системы. Имея загрузочный диск и доступ к серверу, это не сложно. Однако, я хочу поделиться опытом замены корневой ФС удаленно, через ssh, без перезагрузки.

                            Причины для замены коневой ФС бывают разные:
                            • перевод / в LVM
                            • перевод / в mdraid
                            • замена типа файловой системы (ext3 => btrfs)
                            • уменьшение размера ФС (resize2fs)

                            Читать дальше →
                          • jQuery File Upload

                              Ура! Еще один, свеженький… чем он лучше других?



                              а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
                              б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
                              в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
                              г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
                              д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

                              blueimp.github.com/jQuery-File-Upload

                              Поддержка браузеров:

                              github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

                              Читать дальше →
                            • Интеграция Skype и Google Talk с Lync

                                В Ти Ай Системс мы всегда стремимся к упрощению коммуникаций. Специально для Вас мы подготовили статью, в которой расскажем, как объединить Skype и GTalk с Lync, для удобства Вашего общения.
                                Данная статья поможет Вам установить Asterisk, настроить совместную работу Asterisk-Skype, Asterisk-GTalk, а так же интегрировать Asterisk в существующую архитектуру Lync.

                                Читать дальше →
                                • +2
                                • 14.8k
                                • 2