Skip to content

JorgeHewstone/Conectaideas_Whisper

Repository files navigation

Proyecto de transcripción de audio

Este proyecto consiste en un programa que permite transcribir audios y dar un output en un formato de dataframe determinado.

Instalación

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

Uso

Sigue los siguientes pasos:

  1. Importa los módulos necesarios de la carpeta Transcriptor del archivo Transcriptor.py:
from Transcriptor import *
  1. A partir del archivo mp4 puedes crear el archivo wav con la función
create_wav("\video_path.mp4","\audio_path.wav")
  1. Define la variable 'modelo' según alguno de los modelos de Whisper y carga el modelo con la función run_model
Imagen de ejemplo
modelo = "base"
model = run_model(modelo)
  1. 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)
  1. Finalmente con la función json_to_dataframe crea el dataframe que resume la información del json:
dataframe = json_to_dataframe(results) 
  1. Guarda el dataframe
dataframe.to_csv(f"{results[1]}_S{supress_s}_P{previous}.csv")
  1. Dataframe a excel de evaluacion
dataframe_to_xlsx(df=dataframe, name =f"{results[1]}_S{supress_s}_P{previous}")

Tests

En la carpeta audio_de_prueba está el archivo de audio que con modelo ="base" entregó el siguiente dataframe

Imagen de ejemplo
En la misma carpeta se encuentran archivos csv de algunos audios transcritos para ejemplificar el resultado.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages