Асинхронное отображение транскриптов Amazon Transcribe speech2text с помощью Django
Я пытаюсь создать веб-приложение на основе сервиса AWS Transcribe, Django и Python. То, чего я хочу достичь, это что-то вроде отображения транскриптов от диктора в реальном времени слово за словом.
Демо-версию можно найти здесь: https://www.loom.com/share/f49e8d2b264a4c9b8803a7b0612d103f?t=0 Код примера AWS Transcribe можно найти здесь: https://github.com/awslabs/amazon-transcribe-streaming-sdk/blob/develop/examples/simple_mic.py
Но у меня возникают проблемы с отображением текста построчно. Пока что я могу добиться того, что пользователь может говорить в течение 10 секунд, а затем отобразить всю расшифровку на веб-странице.
Смотрите мой код ниже:
# Create your views here.
def home(request):
return render(request, 'aws_transcribe_model/home.html')
def startVideoChat(request):
t1 = threading.Thread(target=startTranscribing)
t1.start()
t1.join(10.0)
print("\n ------------------------------------ \n")
print("transcribing finished")
print(CONSTS.transcript)
return render(request, 'aws_transcribe_model/startvideochat.html', {'transcript': CONSTS.transcript})
def startTranscribing():
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(sample_Amazon_Transcribe_simple_mic.basic_transcribe())
loop.close()
Я изучал вопрос, но не нашел решения, как вывести текст построчно. Как вы можете видеть в методе startVideoChat я могу вернуться только один раз с html файлом. Есть ли простой способ сделать это?