Creación del conjunto de datos de voz
Este repositorio describe los pasos y scripts necesarios para crear su propio conjunto de datos de texto a voz para capacitar a un modelo de voz. La salida final está en formato ljspeech.

Tabla de contenido
- Crea tus propias grabaciones de voz
- Crear un conjunto de datos de voz sintético
- Crear transcripciones para grabaciones de voz existentes
- Otras utilidades
Crea tus propias grabaciones de voz
Requisitos
- Software de grabación de voz
- Micrófono omni-direccional montado en la cabeza
- Tarjeta de audio de buena calidad
Crear un corpus de texto de oraciones
- Crear oraciones que sean unos 3-10 segundos cuando se hablen
- Utilice el formato LJSPEECH
- "|" valores separados, ID de archivo WAV y luego texto de oración
-
100|this is an example sentence
Habla y registra oraciones
- Habla cada oración como está escrito
- La frecuencia de muestreo debe ser de 22050 o más
Longitudes de oración
Ejecute scripts/wavdurations2csv.sh para trazar la longitud de la oración y verifique que tenga una buena distribución de las longitudes de archivo WAV.
Crear un conjunto de datos de voz sintético
Requisitos
- Instancia de motor de cómputo de la plataforma de Google Cloud
-
Cloud API access scopes Seleccione Allow full access to all Cloud APIs
- Condición
Instalación
Crear entorno de condena en la instancia de GCP
conda create -n tts python=3.7
conda activate tts
pip install google-cloud-texttospeech==2.1.0 tqdm pandas
Crear un corpus de texto de oraciones
- Crear oraciones que sean unos 3-10 segundos cuando se hablen
- Utilice el formato LJSPEECch
- "|" valores separados, ID de archivo WAV y luego texto de oración
-
100|this is an example sentence
Generar un conjunto de datos de voz sintética
-
python text_to_wav.py tts_generate
Longitudes de oración
Ejecute scripts/wavdurations2csv.sh para trazar la longitud de la oración y verifique que tenga una buena distribución de las longitudes de archivo WAV.
Crear transcripciones para grabaciones de voz existentes
Requisitos
- Audición de Adobe o Audacity
- Instancia de motor de cómputo de la plataforma de Google Cloud
-
Cloud API access scopes Seleccione Allow full access to all Cloud APIs
- Condición
Instalación
Crear entorno de condena en la instancia de GCP
conda create -n stt python=3.7
conda activate stt
pip install google-cloud-speech tqdm pandas
Complete una hoja de datos para el conjunto de datos de voz
- Revise las hojas de datos para conjuntos de datos de Gebru et al.: Https://arxiv.org/pdf/1803.09010.pdf
- Markdown Dataheet: https://github.com/jrmeyer/markdown-datasheet-for-datasets/blob/master/datasheet.md
Marcar el discurso
En Adobe Audition , abra el archivo de audio:
- Seleccionar
Diagnostics -> Mark Audio - Seleccione la
Mark the Speech - Haga clic en
Scan - Haga clic
Find Levels - Haga clic
Scan nuevamente - Haga clic en
Mark All - Ajuste la señal de audio y silencio dB y longitud hasta que los clips estén entre 3-10 segundos
O, en audacia , abra el archivo de audio:
- Seleccione
Analyze -> Sound Finder - Ajuste la señal de audio y silencio dB y longitud hasta que los clips estén entre 3-10 segundos
Ajustar marcadores o límites de etiqueta
En la audición :
- Pestaña
Markers abiertos - Ajuste los marcadores, eliminando el silencio y el ruido para hacer la longitud del clip entre 3 y 10 segundos de largo
En la audición :
- Ajuste los límites de la etiqueta, eliminando el silencio y el ruido para hacer una longitud del clip entre 3 y 10 segundos de largo
Marcadores de exportación/etiquetas y wavs
En la audición :
- Seleccione todos los marcadores en la lista
- Seleccione
Export Selected Markers to CSV y guardar como marcadores.csv - Seleccione
Preferences -> Media & Disk Cache y desanimado Save Peak Files - Seleccione
Export Audio of Selected Range Markers con las siguientes opciones:- Verifique
Use marker names in filenames - Formato de actualización para
WAV PCM - Actualización de muestra Tipo
22050 Hz Mono, 16-bit - Use
wavs_export de carpetas
O, en audacia :
- Seleccione
Export multiple...- Formato: WAV
- Opciones: PCM firmado de 16 bits
- Dividir archivos basados en etiquetas
- Nombre de los archivos usando el nombre de la etiqueta/pista
- Use
wavs_export de carpetas
- Seleccione
Export labels para Label Track.txt
Analizar Wavs con relación señal / ruido colab
- Ejecute Colabs/Voice_Dataset_Snr.ipynb
- Limpiar o eliminar archivos ruidosos
Crear transcripciones iniciales con STT
Para la audición , utilizando los Markers.csv exportados.csv y la carpeta WAVS ejecutada:
cd scripts
python wav_to_text.py audition
El script genera un nuevo archivo, Markers_STT.csv .
Para Audacity , utilizando la Label Track.txt exportada.
cd scripts
python wav_to_text.py audacity
El script genera un nuevo archivo, Label Track STT.csv .
Transcripciones de ajuste fino
Para la audición :
- Eliminar todos los marcadores
- Seleccione
Import Markers from File y seleccione Archivo con Transcripciones STT: Markers_STT.CSV - Tane fino el campo Descripción en marcadores para que coincidan exactamente con las palabras pronunciadas
Para la audacia :
- Abra
Label Track STT.txt en un editor de texto. - Atrae el campo de etiquetas en el archivo de texto para que coincida exactamente con las palabras pronunciadas
Marcadores de exportación (solo audición) y Wavs
Para la audición :
- Seleccione todos los marcadores en la lista
- Seleccione
Export Selected Markers to CSV y guardar como marcadores.csv - Seleccione
Export Audio of Selected Range Markers con las siguientes opciones:- Verifique
Use marker names in filenames - Formato de actualización para
WAV PCM - Actualización de muestra Tipo
22050 Hz Mono, 16-bit - Use
wavs_export de carpetas
Para la audacia :
- Seleccione
Export multiple...- Formato: WAV
- Opciones: PCM firmado de 16 bits
- Dividir archivos basados en etiquetas
- Nombre de los archivos usando el nombre de la etiqueta/pista
- Use
wavs_export de carpetas
Convertir marcadores (audición) o etiquetas (audacia) en formato LJSPEECch
Utilizando los Markers.csv exportados.csv (audición) o Label Track STT.txt (audacity) y wavs en wavs_export, scripts/markersfile_to_metadata.py creará un metadata.csv y una carpeta de wavs para entrenar su modelo TTS:
Para la audición :
python markersfile_to_metadata.py audition
Para la audacia :
python markersfile_to_metadata.py audacity
Longitudes de oración
Ejecute scripts/wavdurations2csv.sh para trazar la longitud de la oración y verifique que tenga una buena distribución de las longitudes de archivo WAV.
Otras utilidades
Archivo wav upsample
ffmpeg:
Renaming:
Probamos tres métodos para mejorar los archivos WAV de 16,000 a 22,050 Hz. Después de revisar los espectrogramas, seleccionamos FFMPEG para un muestreo ascendente, ya que incluye otros 2 kHz de información de alta gama en comparación con Renampy. scripts/resamplewav.sh
Referencias
- Mozilla TTS: https://github.com/mozilla/tts
- Automatización de la alineación, incluye audio de segmento sobre silencio, API del discurso de Google y alineación de reconocimiento: https://github.com/carpedm20/multi-speaker-tacotron-tensorflow#2-2-generate- korean-datasets
- Pretenerse en grandes corpuses sintéticos y ajuste fino en los específicos https://twitter.com/garygarywang
- Hojas de datos para conjuntos de datos https://arxiv.org/abs/1803.09010