Kabooks es un acrónimo recursivo para "Kabooks Audiobooks DataSet Creator", que es una herramienta para automatizar el proceso de creación de conjuntos de datos para capacitar a los modelos de texto a voz (TTS) y de voz a texto (STT). Se basa en el trabajo de Pansori [https://arxiv.org/abs/1812.09798].
Recibiendo un archivo de audio y el texto correspondiente como entrada, Kabooks limpiará el texto, dividiéndolo en oraciones, transcribirá cada segmento y encontrará el texto de la verdad en el libro de texto completo.
Use bajo su propio riesgo.
Asegúrese de instalar FFMPEG:
$ apt-get update
$ apt install ffmpeg$ conda create -n kabooks python=3.9 pip
$ conda activate kabooksInstalar pytorch:
pip3 install torch torchvision torchaudioInstale los requisitos de Kabooks:
$ pip install -r requirements.txtEste paso recibe el archivo JSON del paso anterior y realiza la segmentación del archivo de audio. Este script se basa en el script proporcionado por Keith Ito, quien lo proporcionó amablemente por correo electrónico. En este paso, se crea por primera vez una lista lógica de segmentos, almacenando el nombre de archivo, los horarios de inicio y finalización. Luego, revise esta lista lógica, dividiendo el audio original, guardando cada segmento en el disco.
Esta funcionalidad es proporcionada por el script llamado "audio_segmentation.py" y puede usarse por separado. Ejecute el script usando como argumento de entrada La ruta del archivo de audio (mp3) se segmentará.
$ python segment_tools.py La entrada debe ser un archivo MP3, que debe estar dentro de la carpeta de entrada. Después de ejecutar el script, los segmentos de audio se generarán en la carpeta WAVS, y los segmentos tendrán los mismos nombres que el archivo original.
Aquí hay un script para usar WAV2VEC2. Esta funcionalidad es proporcionada por el script llamado "transcribe_audios.py" y puede usarse por separado. Ejecute el script usando como argumento de entrada del directorio de entrada de los archivos WAVS, el archivo de salida de la transcripción. Por ejemplo:
$ python transcription_tools.pyLa entrada predeterminada del script es el contenido de la carpeta WAVS. El resultado será un archivo .csv (transcription.csv) que contiene la transcripción de cada uno de los archivos de audio presentes en la carpeta WAVS.
En este paso, cada transcripción del paso anterior se comparará con el texto completo que se refiere al audiolibro de entrada. Para cada transcripción, el script devolverá una oración con la mayor similitud, que se encontró en el texto completo.
El resultado será un .csv (resultado.csv) que contiene la transcripción, la oración original y un valor de similitud, para cada uno de los segmentos de audio presentes en la carpeta WAVS.
$ python search_substring.pyTambién puede usar la misma versión de este script, pero usando hilos:
$ python search_substring_with_threads.py --number_threads=16