FastAPI — при последовательной потоковой передаче WAV-файлов воспроизводится только первая звуковая дорожкаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 FastAPI — при последовательной потоковой передаче WAV-файлов воспроизводится только первая звуковая дорожка

Сообщение Anonymous »

У меня есть приложение, которое использует модель TTS для генерации звука по каждому предложению, а затем передает поток вывода (wav) клиенту. Проблема в том, что в выходном файле воспроизводится только первое предложение.
Я уже пробовал удалить из заголовка все wav-файлы после первого (см. ниже). Я подозреваю, что проблема может быть связана с полем «размер файла» в заголовке, но я не могу предсказать, насколько большим будет конечный wav-файл со стороны сервера.
Это самый близкий ответ, который я нашел, но они объединяют весь выходной wav на стороне сервера перед возвратом клиенту. Я не хочу, чтобы мой клиент ждал, пока будет сгенерирован весь звук статьи.
Вот соответствующий код:
async def get_all_sources_summary_audios(lang: str):
first_sentence = True

async for sentence in get_all_sources_summary_sentences(lang):
if not sentence:
continue

# Get binary audio data for the current sentence
audio = await tts.text_to_audio(sentence, lang)
audio_data = io.BytesIO(audio)

# If it's the first sentence, yield the full WAV (header + data)
if first_sentence:
yield audio_data.read() # Yield full WAV with header
first_sentence = False
else:
# For subsequent sentences, skip the 44-byte header
audio_data.seek(44)
yield audio_data.read() # Yield only audio data frames

# ...

@app.get("/get-audio")
async def get_audio():
return StreamingResponse(get_all_sources_summary_audios(lang), media_type="audio/wav")


Подробнее здесь: https://stackoverflow.com/questions/791 ... ck-to-back
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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