Mbonea commited on
Commit
6d3f287
1 Parent(s): f41c7f6

Descript transcript request file_extenstion

Browse files
Files changed (2) hide show
  1. App/TTS/Schemas.py +1 -0
  2. App/TTS/utils/Descript.py +6 -4
App/TTS/Schemas.py CHANGED
@@ -27,6 +27,7 @@ class DescriptSfxRequest(BaseModel):
27
  class DescriptTranscript(BaseModel):
28
  audio_url: List[str]
29
  text: str
 
30
 
31
 
32
  class DescriptRequest(BaseModel):
 
27
  class DescriptTranscript(BaseModel):
28
  audio_url: List[str]
29
  text: str
30
+ file_extenstion: str = ".wav"
31
 
32
 
33
  class DescriptRequest(BaseModel):
App/TTS/utils/Descript.py CHANGED
@@ -171,17 +171,19 @@ class DescriptTTS:
171
  f"Failed to load existing refresh token. Status code: {response.status}, Error: {await response.text()}"
172
  )
173
 
174
- async def download_and_store_file(self, access_url):
175
  temp_dir = tempfile.mkdtemp()
176
  # Generate a unique random filename
177
- random_filename = str(uuid.uuid4()) + ".wav"
178
  file_path = os.path.join(temp_dir, random_filename)
179
 
180
  if "https://pi.ai" in access_url:
181
  random_filename = str(uuid.uuid4()) + ".mp3"
182
  file_path = os.path.join(temp_dir, random_filename)
183
 
184
- self.download_with_wget(link=access_url,download_dir=temp_dir, filename=random_filename)
 
 
185
  else:
186
  async with aiohttp.ClientSession() as session:
187
  async with session.get(access_url) as response:
@@ -385,7 +387,7 @@ class DescriptTTS:
385
  audio_paths = []
386
  audio_path = ""
387
  for url in query.audio_url:
388
- audio_paths.append(self.download_and_store_file(url))
389
  audio_paths = await asyncio.gather(*audio_paths)
390
  audio_path = self.concatenate_wave_files(audio_paths)
391
  data.add_field("audio", open(audio_path, "rb"))
 
171
  f"Failed to load existing refresh token. Status code: {response.status}, Error: {await response.text()}"
172
  )
173
 
174
+ async def download_and_store_file(self, access_url, file_extension=".wav"):
175
  temp_dir = tempfile.mkdtemp()
176
  # Generate a unique random filename
177
+ random_filename = str(uuid.uuid4()) + file_extension
178
  file_path = os.path.join(temp_dir, random_filename)
179
 
180
  if "https://pi.ai" in access_url:
181
  random_filename = str(uuid.uuid4()) + ".mp3"
182
  file_path = os.path.join(temp_dir, random_filename)
183
 
184
+ self.download_with_wget(
185
+ link=access_url, download_dir=temp_dir, filename=random_filename
186
+ )
187
  else:
188
  async with aiohttp.ClientSession() as session:
189
  async with session.get(access_url) as response:
 
387
  audio_paths = []
388
  audio_path = ""
389
  for url in query.audio_url:
390
+ audio_paths.append(self.download_and_store_file(url, query.file_extenstion))
391
  audio_paths = await asyncio.gather(*audio_paths)
392
  audio_path = self.concatenate_wave_files(audio_paths)
393
  data.add_field("audio", open(audio_path, "rb"))