
Amir
03.04.2019
13:06:31
#работа #job #вакансия #офис #Москва #Python #fulltime
Город: Казань, ул Щапова
Компания: Делион
Формат: Полная занятость, офис, в дальнейшем можно удаленно
ЗП вилка: 80 - 120 на руки(все обсуждается)
Друзья, компания Делион запустила новый проект и срочно разыскивает себе в команду страстного до красивого кода Mid или Senior Python разработчика!
Технологии и инструменты:
Backend: Python 3, Django, Nginx, Postgresql, REST
Что нужно будет делать:
✔️ Участвовать в проектировании архитектуры сервисов и серверного приложения
✔️ Работать в команде с бизнес-аналитиком
✔️ Проводить Code-review
Основные требования:
✔️ Опыт в разработке не менее 2х лет
Мы готовы предложить:
✔️ Полную атмосферу комфорта
✔️ Дружную и адекватную команду специалистов, любящих свое дело
Прием вопросов и CV открыт здесь: @Amirogramm
Буду рад обсудить подробнее!+7 903 388 65 63

Tishka17
03.04.2019
13:07:43

Amir
03.04.2019
13:08:39

Pavel
03.04.2019
13:28:31

Google

Tigran
03.04.2019
13:33:10

Pavel
03.04.2019
13:33:32

Tigran
03.04.2019
13:33:44
у меня трудности с считыванием из файла, который записывается в реал-тайме
текущая реализация алгоритма такая, что она получает на вход некий wav и начинает что-то там считать
трудность в том, что wav постоянно записывается

Soare
03.04.2019
13:35:28
Swaroop Chitlur — Укус Питона (2013) я так понимаю не актуальна книга?

Tigran
03.04.2019
13:36:03
читаю я wav следующим образом
sample_rate, samples = input_data=wavfile.read(filename=input_filename, mmap=True)
думаю тут понятно, почему оно не будет работать в реал-тайме)

Pavel
03.04.2019
13:40:30

Tigran
03.04.2019
13:41:08

Pavel
03.04.2019
13:41:24
а почему вообще wav-файлы, откуда они взялись? доступа к сырым данным rtp нет?

Tigran
03.04.2019
13:42:14
Астериск их отдает

Google

ivan
03.04.2019
13:42:49
У меня есть список корутинов
Как мне вызвать в бэкграунде новую корутину, когда завершатся все из списка
По-другому, как сделать callback для списка корутин?

Pavel
03.04.2019
13:43:16

Tigran
03.04.2019
13:43:35

Aram
03.04.2019
13:46:01
Когда in используется в return --contains-- не вызывается?
Как тогда реализован in , если по определению он вызывает --contains--

Tishka17
03.04.2019
13:48:18

Aram
03.04.2019
13:49:11
Да, но что в таком случае делает in?
Он вызывает какой-то другой -- contains--?

Tishka17
03.04.2019
13:49:42
да, метод конейнс у даты, а не у себя

Aram
03.04.2019
13:51:09
И когда он доходит до return что будет?
Получается так ?
Def --contains--(self.data, x):
Return x in self.data

Pavel
03.04.2019
13:52:06
вот это я понимаю, икона стиля

Tishka17
03.04.2019
13:52:54
это примерно то же самое что
class C:
def __contains__(self, x):
data = self.data
return data.__contains__(x)

Pavel
03.04.2019
13:54:27
Астериск их отдает
кстати, да. Тишка хороший вопрос поднял. Какую задачу ты вообще решаешь (кроме детектирования речи)?

Tishka17
03.04.2019
13:54:47
то есть a in c будеь в случае этого класса аналогичен c.data.__contains__(a)

Aram
03.04.2019
13:57:47
То есть для c.data этот contains другой? Какой-то базовый? Который возвращает true или false?

Google

Tigran
03.04.2019
13:58:13

Pavel
03.04.2019
13:58:31

Tigran
03.04.2019
13:58:51
ответы клиента

Pavel
03.04.2019
13:59:06
потому что вообще ничто не мешает через старый добрый agi заставить астериска самого кинуть голос в гуглёвый stt
без каких либо питонов
как я понимаю, это потом как-то отражается на дайлпланах?

Aram
03.04.2019
14:00:51
Перегруженный contains для self возвращает contains для data, ток что делает этот последний возвращает true/false?

Tigran
03.04.2019
14:00:54
текущую реализацию не знаю, знаю, что оно работает в синхронно
клиент договорил, отправили на stt, получили ответ
это задержка в среднем на 2-3 секунды
хочется отправлять на stt в реал-тайме

Tishka17
03.04.2019
14:02:46

Pavel
03.04.2019
14:02:56

Tishka17
03.04.2019
14:03:09

Pavel
03.04.2019
14:03:34

Tishka17
03.04.2019
14:03:52
ну и я о том
вот уж agi или rgi или что там нынче - хз

Tigran
03.04.2019
14:04:08

Pavel
03.04.2019
14:04:18
ответ
но ведь он еще говорит

Google

Tigran
03.04.2019
14:04:32
поэтапно
я нуб в этом, первая задача на новом рабочем месте

Pavel
03.04.2019
14:04:50
как то очень упорото поставлена задача, кмк

Tigran
03.04.2019
14:05:14
да, я пока исследую вопрос, нежели что-то делаю

Pavel
03.04.2019
14:05:59
короче, хочется чего? чтобы астериск реагировал на голосовой ввод с минимальной задержкой?

Tigran
03.04.2019
14:06:19
именно

Ilya
03.04.2019
14:06:32
Всем привет! Я руководитель тренд-аналитической компании Tralytics. Мы предлагаем услуги аналитики трендов в приложениях. Хочешь узнать подробности - пиши в личку!

Pavel
03.04.2019
14:06:44
тогда чтение записываемого wav из питона - заведомо провальный вариант
даже если писать в рам

Tigran
03.04.2019
14:07:03
сейчас оно реагирует после некой длительности тишины
отправляет в stt и получает ответ
в средней сложности это длится 2-3 секунды
что много (типа)

Aram
03.04.2019
14:07:50
переформалирую,
'self.data.__contains__(x)'
Как приходит к true или false в конце? Короче как работает сам contains?

Pavel
03.04.2019
14:09:22

Tishka17
03.04.2019
14:09:48

Pavel
03.04.2019
14:09:56
у сета своя реализация
у дикта еще своя

Tishka17
03.04.2019
14:10:01
ну например пробегается по всем элементам и смотрит чему равны
в сете - по хэшу вытаскивает адрес памяти и проверяет

Google

Alex
03.04.2019
14:11:42

Aram
03.04.2019
14:12:36

Alex
03.04.2019
14:14:39

Pavel
03.04.2019
14:14:56
сейчас оно реагирует после некой длительности тишины
вообще говоря, если я правильно понимаю, тебе нужно поймать один из множества заранее определенных токенов из распознанного голосового ввода.
вообще говоря, у спич ту текста гуглячьего есть потоковая обработка, которая yield'ит тебе респонзы, пока поток не кончится.
поэтому ты мог бы завернуть голос сразу в распознавалку, а уж она там сама разберется, тишина там или нет
PS. такой метод может не подойти в силу огромного множества причин