Асинхронное отображение транскриптов 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 файлом. Есть ли простой способ сделать это?

Вернуться на верх