malek-messaoudii commited on
Commit
27ee35f
·
1 Parent(s): 587fe4f

Uodate stt tts

Browse files
Files changed (2) hide show
  1. routes/stt_routes.py +7 -0
  2. routes/tts_routes.py +8 -2
routes/stt_routes.py CHANGED
@@ -8,13 +8,20 @@ router = APIRouter(prefix="/stt", tags=["Speech To Text"])
8
 
9
  @router.post("/", response_model=STTResponse)
10
  async def convert_stt(file: UploadFile = File(...)):
 
 
 
 
11
  temp_name = f"audio/temp/{uuid.uuid4()}_{file.filename}"
12
 
 
13
  with open(temp_name, "wb") as f:
14
  f.write(await file.read())
15
 
 
16
  text = speech_to_text(temp_name)
17
 
 
18
  os.remove(temp_name)
19
 
20
  return STTResponse(text=text)
 
8
 
9
  @router.post("/", response_model=STTResponse)
10
  async def convert_stt(file: UploadFile = File(...)):
11
+ # dossier temporaire
12
+ os.makedirs("audio/temp", exist_ok=True)
13
+
14
+ # nom temporaire unique
15
  temp_name = f"audio/temp/{uuid.uuid4()}_{file.filename}"
16
 
17
+ # save file
18
  with open(temp_name, "wb") as f:
19
  f.write(await file.read())
20
 
21
+ # STT conversion
22
  text = speech_to_text(temp_name)
23
 
24
+ # cleanup
25
  os.remove(temp_name)
26
 
27
  return STTResponse(text=text)
routes/tts_routes.py CHANGED
@@ -2,14 +2,20 @@ from fastapi import APIRouter
2
  from fastapi.responses import FileResponse
3
  from models.tts import TTSRequest
4
  from services.tts_service import text_to_speech
 
5
 
6
  router = APIRouter(prefix="/tts", tags=["Text To Speech"])
7
 
8
  @router.post("/")
9
  async def generate_tts(request: TTSRequest):
10
- output_path = text_to_speech(
11
  text=request.text,
12
  voice=request.voice,
13
  fmt=request.format
14
  )
15
- return FileResponse(output_path, filename=output_path.name)
 
 
 
 
 
 
2
  from fastapi.responses import FileResponse
3
  from models.tts import TTSRequest
4
  from services.tts_service import text_to_speech
5
+ from pathlib import Path
6
 
7
  router = APIRouter(prefix="/tts", tags=["Text To Speech"])
8
 
9
  @router.post("/")
10
  async def generate_tts(request: TTSRequest):
11
+ output_path: Path = text_to_speech(
12
  text=request.text,
13
  voice=request.voice,
14
  fmt=request.format
15
  )
16
+
17
+ return FileResponse(
18
+ output_path,
19
+ filename=output_path.name,
20
+ media_type="audio/wav"
21
+ )