Отказ от ответственности: Это вопрос разработки системы.Я гуглил, где публиковать вопросы по проектированию системы, и нашел поток обмена мета-стека, в котором предлагалось переполнение стека.Не стесняйтесь перенаправить меня, если это не так.
Я пытаюсь выполнить речевую передачу текста в реальном времени с помощью django + websockets.Я использую Nexmo, чтобы сделать звонок + потоковое аудио обратно на мой сервер.Затем я передаю звук в речь Уотсона в текст, чтобы получить стенограммы.Затем я передаю транскрипты обратно в интерфейс через веб-сокеты.Мне удалось сделать это с торнадо, но я хотел бы использовать каналы Django.
Я спотыкаюсь о том, как создать / сохранить соединение веб-сокета клиента с watson внутри потребителя.Вот упрощенная версия моей проблемы:
В методе приема потребителя django:
- Я ловлю конкретное сообщение, чтобы открыть клиентское веб-сокет-соединение с watson
- Я транслирую аудио с nexmo -> мой сервер -> watson
def receive(self, text_data):
text_data_json = json.loads(text_data)
message = text_data_json['message']
if message == “open”:
self.watson = openWatsonWebsocket()
if message == “audio”:
sendAudioToWatson(self.watson)
Мне было трудно открывать / сохранять вызов веб-сокета watson.В основном нет документации о том, как совершать звонки через веб-сокет от потребителя.
Является ли выполнение звонков через интернет-сокет потребителем антипаттерном?Если нет, то есть ли для меня лучшие способы сделать это?Я бы хотел пример.