La Red de Conocimientos Pedagógicos - Conocimientos para el examen de postgrado - Proceso de construcción del sistema de reconocimiento de voz chino

Proceso de construcción del sistema de reconocimiento de voz chino

Etiquetas: ASR, Python, Keras, CTC

Recientemente comencé a construir un sistema de reconocimiento de voz chino. Debido a que todavía estaba en su infancia, fue difícil hasta que encontré un proyecto de código abierto que ya estaba en marcha. hecho en GitHub y descubrí cómo hacerlo. Motivación para continuar. Adjuntamos la dirección de GitHub del proyecto del autor original: sistema de reconocimiento de voz chino basado en aprendizaje profundo.

Este autor es muy amable y me ha inspirado mucho. Luego adjunto aquí la dirección de mi proyecto: ASR.

El proyecto aún está en sus inicios. Si bien se lograron algunos resultados, no fueron excelentes. Todavía estamos haciendo algunos ajustes. Actualizaremos GitHub cuando haya buenos resultados. Ahora, usaremos este artículo para ordenar las ideas de construcción.

Primero, permítanme presentarles el conjunto de datos que utilicé.

El conjunto de datos que utilicé es el conjunto de datos Pinyin chino THCHS30 de la Universidad de Tsinghua.

Data_thchs30.tgz Imágenes nacionales de OpenSLR Imágenes extranjeras de OpenSLR

Para obtener una introducción a este conjunto de datos, consulte THCHS-30: Corpus chino gratuito.

En este conjunto de datos, se han dividido el conjunto de entrenamiento, el conjunto de verificación y el conjunto de prueba (en las carpetas de train, dev y test respectivamente. El conjunto de entrenamiento tiene 10000 muestras y el conjunto de verificación tiene 893 muestras). Muestras, el conjunto de prueba tiene 2495 muestras, cada muestra tiene aproximadamente 10 segundos de segmento de voz.

La carpeta thchs30 contiene archivos de índice (cv y dev parecen ser iguales).

Wav.txt es la ruta relativa del archivo de audio.

En términos generales, las características comunes del reconocimiento de voz son MFCC, Fbank y espectrograma.

Este proyecto utiliza temporalmente funciones de Fbank de 80 dimensiones, utiliza la biblioteca python_speech_features para extraer funciones y guarda las funciones extraídas como archivos npy.

La extracción de funciones se presentó en detalle en el artículo anterior: uso de python_speech_features para extraer funciones de archivos de audio.

Convierta el pinyin de la etiqueta en números, por ejemplo: a1 es 0, a2 es 1, etc.

Tome los primeros datos como ejemplo:

Yang Chun 65438+Yang 65438+Zhang 65438+Li 65438+Zhang

La lista de números correspondiente es:

597 910 1126 159 1121 451 191 505 1051 1209 208 215 874 939 1 168 208 570 599 325 910 597 208 1072 420 1099 634 907 40 14 829

Del mismo modo, la etiqueta También guardado al archivo npy.

El modelo de aprendizaje profundo que utilizamos en este sistema se llama red neuronal convolucional profunda propuesta por iFlytek.

Modelo de red neuronal (DFCNN), dirección del artículo: Progreso de la investigación y perspectivas de la tecnología de reconocimiento de voz.

Su diagrama de estructura es el siguiente:

Para la función de pérdida, aquí se selecciona CTCLoss.

Por actualizar....