zerk1 commited on
Commit
5649b92
·
verified ·
1 Parent(s): ec46e25

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -20
app.py CHANGED
@@ -1,31 +1,27 @@
1
- import gradio as gr
 
2
  from func import detect_language_local, transcribe_and_diarize_audio
3
 
4
- def transcribe(file):
5
- # # Сохраняем загруженный файл временно
6
- # file_location = f"temp_{file.name}"
7
 
8
- # # Читаем содержимое файла и записываем его на диск
9
- # with open(file_location, "wb") as f:
10
- # f.write(file.read())
 
 
 
 
 
 
11
 
12
  # Детектируем язык
13
- language = detect_language_local(file)
14
 
15
  # Обрабатываем файл (транскрипция и сегментация)
16
- text, diarized = transcribe_and_diarize_audio(filename=file, language=language)
17
 
18
- return diarized
19
 
20
- # Создаем интерфейс с загрузкой файла и функцией обработки
21
- iface = gr.Interface(
22
- fn=transcribe,
23
- inputs=gr.Audio(type="filepath"), # используем тип Audio для загрузки аудиофайлов
24
- outputs="text", # результатом будет текст
25
- title="Audio Transcription and Diarization",
26
- description="Upload an audio file for transcription and speaker diarization."
27
- )
28
 
29
- # Запускаем приложение
30
  if __name__ == "__main__":
31
- iface.launch()
 
1
+ import uvicorn
2
+ from fastapi import FastAPI, File, UploadFile
3
  from func import detect_language_local, transcribe_and_diarize_audio
4
 
5
+ app = FastAPI(docs_url="/")
 
 
6
 
7
+
8
+ @app.post("/transcribe/")
9
+ async def transcribe(file: UploadFile = File(...)):
10
+ # Сохраняем загруженный файл временно
11
+ file_location = f"temp_{file.filename}"
12
+
13
+ # Читаем содержимое файла и записываем его на диск
14
+ with open(file_location, "wb") as f:
15
+ f.write(await file.read())
16
 
17
  # Детектируем язык
18
+ language = detect_language_local(file_location)
19
 
20
  # Обрабатываем файл (транскрипция и сегментация)
21
+ text, diarized = transcribe_and_diarize_audio(filename=file_location, language=language)
22
 
23
+ return {"diarized": diarized}
24
 
 
 
 
 
 
 
 
 
25
 
 
26
  if __name__ == "__main__":
27
+ uvicorn.run(app, host="0.0.0.0", port=8000)