Extraer audio del video

ffmpeg -i video.mp4 audio.wav

Extraer voz con UVR

Puedes descarga la versión más reciente de Ultimate Vocal Remover en GitHub (dmg o zip)

https://github.com/anjok07/ultimatevocalremovergui

Al separar voz/música con IA, la música puede quedar con picos y bajones de volumen donde antes había voz.

Revisa que no esté activado algo como:

  1. Remove Silence
  2. Trim Silence
  3. Auto Trim
  4. Split by silence

Para crear pistas sin eliminación de silencios.

Transcribir audio a texto

A) Básico con marcas de tiempo.

whisper voz–av –model medium

Instalación:

pip install -U openai-whisper

B) Avanzado con detección los hablantes.

  1. Crear una cuenta gratuita en Hugging Face.
  2. Aceptar las condiciones de uso del modelo de diarización de pyannote (pyannote/speaker-diarization). Y de pyannote/segmentation si lo pide.
  3. Crear un token de acceso tipo READ.
  4. Usar ese token en WhisperX.
  5. Abre en Hugging Face pyannote/speaker-diarization-community-1 1.1. Busca un botón parecido a "Agree and access repository"

whisperx voz–av \ –model medium \ –language en \ –diarize \ –hf_token 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 \ –output_format srt

Puedes cambiar a large-v3 para mejor precisión.

Instalación:

pip install whisperx

Información:

La diarización de hablantes es detectar:

  1. Cuántas voces distintas hay en el audio,
  2. En qué momento habla cada una,

Muy útil para crear un guion de doblaje.

Extraer muestras de cada hablante

py extraer_muestras_hablantes.py

Comparar voces

py comparar_voces.py

Usa SpeechBrain (un modelo preentrenado spkrec-ecapa-voxceleb que sirve para verificación de hablante y extracción de embeddings) Para hacer una comparación de timbre, rango, textura, presencia, características del hablante.

Instalación:

pip install torch torchaudio speechbrain

Traducir el .vtt:

python traducir_vtt.py

Instalación:

pip install deep-translator

Edición

  • Donde no hay diálogo, conserva el audio original.
  • Donde si hay diálogo, usa la pista instrumental separada.

– OPCIONAL

Partir el audio:

ffmpeg -i audio.wav -ss 00:00:00 -to 00:07:00 -c copy parte1.wav ffmpeg -i audio.wav -ss 00:07:00 -to 00:14:00 -c copy parte2.wav ffmpeg -i audio.wav -ss 00:14:00 -to 00:21:00 -c copy parte3.wav ffmpeg -i audio.wav -ss 00:21:00 -to 00:28:00 -c copy parte4.wav

Unir 4 resultados:

ffmpeg “[0:a][1:a][2:a][3:a]concat=n=4:v=0:a=1[out]”“[0:a][1:a][2:a][3:a]concat=n=4:v=0:a=1[out]”_vocals“[0:a][1:a][2:a][3:a]concat=n=4:v=0:a=1[out]”oncat=n=4:v=0:a=1[out]" \ “[out]”out]" fondo.wav