Воспроизведение двух аудио файлов по порядку без задержки - PullRequest
0 голосов
/ 17 марта 2019

Я создаю программу для преобразования текста в речь (TTS).

То, что я до сих пор делал, - это разбил данное слово на слоги, а затем проиграл все предварительно записанные слоги.

Например:

INPUT:[ТЕЛЕВИДЕНИЕ]

ВЫХОД: [ ТЕЛ - E - VI - SION ]

А затем программа воспроизводит каждый звук в следующем порядке:

First:   play TEL.wav
Second:  play E.wav
Third:   play VI.wav
Fourth:  play SION.wav

Я использую wave и PyAudio для воспроизведения каждого файла WAV:

wf = wave.open("sounds/%s.wav" %(ss), 'rb')
p = pyaudio.PyAudio()
stream = p.open(...)
data = wf.readframes(CHUNK)
stream.write(data)
... etc.

Теперь проблемазаключается в том, что во время воспроизведения существует задержка между каждым аудиофайлом, и произнесенное слово звучит неестественно.

Возможно ли смешивать эти аудиофайлы без создания нового файла и воспроизводить их с задержкой 0,2 с между каждым аудиофайлом?

Редактировать: я попробовал решение Нулмана, и оно работало лучше, чем просто вызывать новую wf для каждого звука.Я также попытался поставить кроссфейд, следуя этим инструкциям .

...