Usar Faster Whisper en Windows

0. Crear archivo para script en archivo de notas, guardar como ā€œtranscribe.pyā€ seleccionando "todos los archivos" al momento de guardar en el tipo de archivo, no txt.

1.1. Editar script si se requiere transcripción desde audio, editar script ā€œtranscribe.pyā€ (tamaƱo del modelo (Ln 7) y/o ruta y nombre del audio (Ln 4))

transcribe.py
from faster_whisper import WhisperModel

# Ruta del archivo de audio
audio_path = r"C:\Users\User\Music\Audio.ogg"

# TamaƱo del modelo (puedes cambiar a "base", "medium", "large-v2", etc.)
model = WhisperModel("small")

# Transcribe el audio
segments, info = model.transcribe(audio_path)

# Muestra el idioma detectado y el texto
print("Idioma detectado:", info.language)

for segment in segments:
    print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")

1.2. Editar script si se requiere transcripción desde video, editar script ā€œtranscribe.pyā€ (tamaƱo del modelo (Ln 37) y/o ruta y nombre del video (Ln 8))

transcribe.py
import os
import subprocess
from faster_whisper import WhisperModel
from pathlib import Path

# === Configuración ===
# Ruta del video
video_path = r"C:\Users\User\Videos\video.mp4"

# Carpeta temporal para el audio extraĆ­do
temp_audio_path = "temp_audio.wav"

# Carpeta Escritorio del usuario actual
desktop_folder = str(Path.home() / "Desktop")
output_text_file = os.path.join(desktop_folder, "transcripcion.txt")

# === Paso 1: Extraer audio del video usando ffmpeg ===
print(" Extrayendo audio del video...")
ffmpeg_command = [
    "ffmpeg", "-y",  # -y para sobrescribir sin preguntar
    "-i", video_path,
    "-vn",           # No video
    "-acodec", "pcm_s16le",  # Audio sin compresión (WAV)
    "-ar", "16000",  # Sample rate
    "-ac", "1",      # Mono
    temp_audio_path
]

try:
    subprocess.run(ffmpeg_command, check=True)
except subprocess.CalledProcessError:
    print(" Error al extraer el audio con ffmpeg.")
    exit(1)

# === Paso 2: Transcribir con Faster-Whisper  (puedes cambiar a "base", "medium", "large-v2", etc.) ===
print(" Transcribiendo audio...")
model = WhisperModel("large-v2")

segments, info = model.transcribe(temp_audio_path)

# === Paso 3: Guardar transcripción ===
print("Guardando transcripción...")
with open(output_text_file, "w", encoding="utf-8") as f:
    f.write(f"Idioma detectado: {info.language}\n\n")
    for segment in segments:
        f.write(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}\n")

print(f"Transcripción guardada en: {output_text_file}")

# === Paso 4: Eliminar archivo temporal ===
os.remove(temp_audio_path)
print(" Audio temporal eliminado.")

2. Abrir terminal en la carpeta del archivo

I. Abre el Explorador de archivos y navega a la carpeta donde guardaste transcribe.py.

II. Haz clic derecho sobre un espacio en blanco dentro de la carpeta (no sobre un archivo).

III. Selecciona: ā€œAbrir en Terminalā€ (En versiones anteriores de Windows puede aparecer como ā€œAbrir ventana de PowerShell aquĆ­ā€).

3. Ejecutar script

python transcribe.py

4. Obtención de resultado

  • Transcripción en terminal

  • Archivo txt guardado en escritorio llamado transcripcion.txt

Last updated