Debian 12 Linux Servidor de transcripción (Python, VOSK, Script)
![]() |
Para tareas en las que necesita procesar una gran cantidad de archivos de audio para convertir la información en texto, existe un modelo VOSK escrito en Python y que contiene la mayoría de los idiomas del mundo. Esta acción se llama transcripción. Dado que los buscadores indexan los archivos de audio y video por descripción y etiquetas, y no por su contenido, surge la tarea de publicar otra versión de texto. En esta guía, instalamos como root, si tiene uno normal, use el comando sudo .
|
Preguntas más frecuentes:
-
Queremos que todos los datos estén con nosotros. ¿Puedes hacer todo este ajuste en nuestro equipo?
Sí, puedes solicitar la instalación y configuración de esta configuración en tu equipo mediante el enlace.
1. Instalar los paquetes necesarios
apt update
apt install python3 python3-pip ffmpeg unzip rename
apt install python3.11-venv
python3 -m venv .venv
2. Instale la utilidad Vosk
source .venv/bin/activate
pip3 install vosk
3. Descargando el modelo
cd /opt
wget https://alphacephei.com/vosk/models/vosk-model-ru-0.42.zip
unzip vosk-model-ru-0.42.zip
Nota 1: En nuestro caso, elegimos el modelo completo, si la configuración del servidor tiene menos de 8 GB de RAM, entonces este modelo no funcionará y dará un error:
En este caso, descargue la versión mínima del modelo, ya que es menos exigente con los recursos del servidor:
cd /opt
wget https://alphacephei.com/vosk/models/vosk-model-small-ru-0.22.zip
unzip vosk-model-small-ru-0.22.zip
4. Utilice la siguiente sintaxis de comando para verificar si funciona
vosk-transcriber -i audio_file -o text_file -m path_to_model
vosk-transcriber -i /root/test.mp3 -o /root/test.txt -m /opt/vosk-model-ru-0.42
For the minimum model, respectively:
vosk-transcriber -i /root/test.mp3 -o /root/test.txt -m /opt/vosk-model-small-ru-0.22
Si tiene varios archivos, encontramos y utilizamos el siguiente script en Internet, que le permite procesar toda la carpeta con archivos de audio y traducirlos todos a texto automáticamente, solo tiene que esperar a que se complete el procesamiento:
touch transcribe.sh
chmod +x transcribe.sh
nano transcribe.sh
#!/bin/bash
errmsg="USAGE: sh transcribe.sh SRCPATH DSTPATH VOSKMODELPATH"
if [ $1 ]; then
srcpath=$1
echo "SOURCE PATH: $srcpath"
else
echo "No source path entered" >&2
echo $errmsg
exit 2
fi
if [ $2 ]; then
dstpath=$2
echo "DESTINATION PATH: $dstpath"
else
echo "No destination path entered" >&2
echo $errmsg
exit 2
fi
if [ $3 ]; then
modelpath=$3
echo "VOSK MODEL PATH: $modelpath"
else
echo "No VOSK language model path entered" >&2
echo $errmsg
exit 2
fi
startdate=$(date)
find $srcpath -name "* *" -type f | rename 's/ /_/g'
## remove spaces from filenames in target directory
famount=$(find $srcpath -type f | wc -l) ## counting the number of files
echo "Found $famount files"
i=0;
for f in $srcpath/*; do
i=$(( $i + 1 ))
echo "Transcribing ${f##*/} ($i/$famount)"
vosk-transcriber -m $modelpath -i $srcpath/${f##*/} -o $dstpath/${f##*/}.txt >/dev/null 2>&1 ;
## remove >/dev/null 2>&1 to display recognition status
## rm $srcpath/${f##*/} ## uncomment to remove the original file
done
fready=$(find $dstpath -type f | wc -l)
echo "DONE. Transcribed $fready of $famount files"
enddate=$(date)
echo STARTED AT: ${startdate}
echo ENDED AT: ${enddate}
Sintaxis para utilizar el script:
sh transcribe.sh path_to_sources_files path_to_result path_to_model
sh transcribe.sh /root/audio/ /root/text/ /opt/vosk-model-ru-0.42/
Nota 2: Si volvió a iniciar sesión en el servidor a través de ssh, el comando vosk-transcriber estará disponible después de activar el entorno virtual de Python, por lo que la secuencia de inicio de la transcripción será la siguiente:
source .venv/bin/activate
vosk-transcriber -i /root/test.mp3 -o /root/test.txt -m /opt/vosk-model-ru-0.42/
Para procesar una carpeta completa:
sh transcribe.sh /root/audio/ /root/text/ /opt/vosk-model-ru-0.42/
Hay más modelos de lenguaje disponibles para enlace, es necesario descargar y descomprimir por analogía se describe en el párrafo 3.
El servidor para traducir archivos de audio a texto está listo para usar. La calidad de la traducción depende de la claridad de la pronunciación y de la calidad de la propia grabación, por ejemplo, cuando se procesa un fragmento de audio de una entrevista, es notablemente más alta que cuando se procesa una canción musical.