Skip to content

Commit

Permalink
fetch audio in parallel
Browse files Browse the repository at this point in the history
  • Loading branch information
knowsuchagency committed Jun 10, 2024
1 parent 65bdaaf commit f99f8d2
Showing 1 changed file with 16 additions and 13 deletions.
29 changes: 16 additions & 13 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import concurrent.futures as cf
import io
import os
from typing import List, Literal
from pathlib import Path
from typing import List, Literal

import gradio as gr
from loguru import logger
from openai import OpenAI
from promptic import llm
from pydantic import BaseModel
from pydantic import BaseModel, ValidationError
from pypdf import PdfReader
from tenacity import retry, retry_if_exception_type
from pydantic import ValidationError


class DialogueItem(BaseModel):
Expand Down Expand Up @@ -95,16 +95,19 @@ def generate_audio(file: str, openai_api_key: str = None) -> bytes:

characters = 0

for line in llm_output.dialogue:
transcript_line = f"{line.speaker}: {line.text}"

logger.info(transcript_line)

audio_chunk = get_mp3(line.text, line.voice, openai_api_key)

audio += audio_chunk
characters += len(line.text)
transcript += transcript_line + "\n\n"
with cf.ThreadPoolExecutor() as executor:
futures = []
for line in llm_output.dialogue:
transcript_line = f"{line.speaker}: {line.text}"
logger.info(transcript_line)
future = executor.submit(get_mp3, line.text, line.voice, openai_api_key)
futures.append((future, transcript_line))
characters += len(line.text)

for future, transcript_line in futures:
audio_chunk = future.result()
audio += audio_chunk
transcript += transcript_line + "\n\n"

logger.info(f"Generated {characters} characters of audio")

Expand Down

0 comments on commit f99f8d2

Please sign in to comment.