Последовательное воспроизведение звука в PythonPython

Программы на Python
Anonymous
Последовательное воспроизведение звука в Python

Сообщение Anonymous »

В моей программе я использую функцию для воспроизведения звука из файла:

Код: Выделить всё

import asyncio
import soundfile
import sounddevice
audio_device  = 'Audio Device'

async def play_audio(file):
data,fs = soundfile.read(file)
sounddevice.play(data,fs,device=audio_device)
#sounddevice.wait()

async def main():
while True:
user_input = input('>')
await play_audio(user_input)

asyncio.run(main())
Проблема в том, что когда файл воспроизводится и я даю другой user_input, звук немедленно перестает воспроизводиться и воспроизводится запрошенный файл. Мне бы хотелось, чтобы моя функция завершила воспроизведение первого аудиофайла перед воспроизведением следующего.
Я пробовал добавить строку sounddevice.wait(), но это не позволяет мне добавлять user_inputs во время воспроизведения звука. играется. В реальной программе я использую преобразование текста в речь для создания аудиофайлов и хочу, чтобы программа генерировала следующий ввод во время воспроизведения звука, чтобы сэкономить время, но я хочу, чтобы звук завершил воспроизведение перед воспроизведением следующего аудиофайла.

Подробнее здесь: https://stackoverflow.com/questions/788 ... -in-python

Вернуться в «Python»