Usar Faster Whisper en Windows
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}")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.")Ćltima actualización