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