Este proyecto consiste en un programa que permite transcribir audios y dar un output en un formato de dataframe determinado.
Para utilizar este programa, se utilizaron las siguientes librerías y sus versiones:
- Python 3.9.13
- ffmpeg 2022-06-16-git-5242ede48d-full_build
- Pandas 1.4.4
- stable-whisper 2.0.1
- openai-whisper 20230314
Estas versiones son solo referencias, es probable que funcione simplemente con las últimas versiones de cada librería.
Para instalar Whisper
pip install -U openai-whisper
para la última versión
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
Más información en La página de Whisper-OpenAI
y para instalar Stable Whisper
pip install -U stable-ts
para la última versión
pip install -U git+https://github.com/jianfch/stable-ts.git
Más información en La página de Stable Whisper
Sigue los siguientes pasos:
- Importa los módulos necesarios de la carpeta Transcriptor del archivo Transcriptor.py:
from Transcriptor import *
- A partir del archivo mp4 puedes crear el archivo wav con la función
create_wav("\video_path.mp4","\audio_path.wav")
- Define la variable 'modelo' según alguno de los modelos de Whisper y carga el modelo con la función run_model
modelo = "base"
model = run_model(modelo)
- Ejecuta la función transcribir con los parámetros definidos anteriormente: a. Ejecutar para cada audio de prueba para las combinaciones (supress_s = True, previous =True), (supress_s = False, previous =True) ,(supress_s = True, previous =False), (supress_s = False, previous =False)
# a. Ejecutar para cada audio de prueba para las combinaciones:
#(supress_s = True, previous =True), (supress_s = False, previous =True), (supress_s = True, previous =False), (supress_s = False, previous =False)
transcribir(audio_path, model , supress_s = True, previous = False)
- Finalmente con la función json_to_dataframe crea el dataframe que resume la información del json:
dataframe = json_to_dataframe(results)
- Guarda el dataframe
dataframe.to_csv(f"{results[1]}_S{supress_s}_P{previous}.csv")
- Dataframe a excel de evaluacion
dataframe_to_xlsx(df=dataframe, name =f"{results[1]}_S{supress_s}_P{previous}")
En la carpeta audio_de_prueba está el archivo de audio que con modelo ="base" entregó el siguiente dataframe
En la misma carpeta se encuentran archivos csv de algunos audios transcritos para ejemplificar el resultado.