Sobre el proyecto
Haqumei (薄明/拍命) es una biblioteca japonesa de grafema a fonema (G2P) implementada en Rust, con enlaces para Python y una interfaz de línea de comandos. Convierte texto japonés en secuencias de fonemas, proporcionando un análisis lingüístico preciso y detallado para frontends de síntesis de voz y texto a voz.
**Capacidades principales**
La biblioteca ofrece varias API clave:
- `g2p`: Conversión básica de texto a fonemas
- `g2k`: Conversión de texto a lectura katakana
- `g2p_prosody`: Secuencias de fonemas anotadas con símbolos prosódicos (subida/bajada de tono, límites de frases, pausas)
- `g2p_mapping`: Mapeo palabra-fonema con detección de palabras desconocidas
- `g2p_mapping_detailed`: Mapeo detallado que incluye información de parte del discurso y acento
- `g2p_mapping_prosody`: Mapeo estructurado con información de prosodia, tono y morfología
- `g2p_candidates`: Múltiples candidatos de lectura para texto ambiguo
**Precisión**
Haqumei logra una tasa de error de fonemas (PER) del 0.83% en el benchmark jsut-label y una tasa de error de katakana (KER) del 0.78% en ROHAN, superando a pyopenjtalk (1.31% PER, 5.02% KER) y pyopenjtalk-plus (1.09% PER, 1.60% KER). Las mejoras de precisión se basan en el diccionario y las técnicas de pyopenjtalk-plus.
**Características**
- **Mapeo palabra-fonema**: Proporciona mapeo entre palabras y fonemas, incluyendo detección de palabras desconocidas (`unk`) y espacios (`sp`), permitiendo una pérdida mínima de información del texto de entrada.
- **Información de prosodia**: Soporta múltiples formatos de prosodia (Predeterminado, Prefijo, Numérico) con anotaciones de tono alto/bajo, límites de frases de acento y símbolos prosódicos.
- **Resolución de alófonos**: Maneja nasales moraicas (撥音) y consonantes geminadas (促音) con etiquetas de fonemas dedicadas.
- **Alternativas para palabras desconocidas**: Estimación de lectura para palabras en inglés mediante haqumei-kanalizer, alternativa on'yomi para kanji y corrección de acento para palabras solo en katakana.
- **Concurrencia**: Métodos de procesamiento por lotes para operaciones G2P multihilo.
- **Opciones personalizadas**: Configuración flexible para etiquetas de alófonos, normalización Unicode y comportamiento de lectura.
- **Diccionarios personalizados**: Soporte para compilación con diccionarios integrados personalizados.
**Instalación**
- Rust: `cargo add haqumei`
- Python: `pip install haqumei` (ruedas precompiladas para Linux x86_64/aarch64, macOS aarch64, Windows x86_64)
- CLI: `cargo install haqumei-cli`
**Detalles técnicos**
La biblioteca utiliza MeCab para el análisis morfológico y extiende el formato de etiquetas de contexto completo HTS. Integra un diccionario durante el proceso de compilación (descargado de la red a menos que se proporcione un diccionario personalizado). Los enlaces de Python usan ruedas precompiladas que incluyen el diccionario, sin requerir acceso a la red durante la instalación.
**Licencia**
Apache-2.0
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.