À propos du projet

Haqumei (薄明/拍命) est une bibliothèque japonaise de conversion graphème-phonème (G2P) implémentée en Rust, avec des liaisons Python et une interface en ligne de commande. Elle convertit le texte japonais en séquences de phonèmes, fournissant une analyse linguistique précise et détaillée pour la synthèse vocale et les frontends de synthèse de la parole. Capacités clés La bibliothèque fournit plusieurs API principales : - g2p : conversion texte-phonème de base - g2k : conversion texte-lecture katakana - g2p_prosody : séquences de phonèmes annotées avec symboles prosodiques (montée/descente de hauteur, limites de syntagme, pauses) - g2p_mapping : correspondance mot-phonème avec détection de mots inconnus - g2p_mapping_detailed : correspondance détaillée incluant informations sur la partie du discours et l'accent - g2p_mapping_prosody : correspondance structurée avec informations prosodiques, de hauteur et morphologiques - g2p_candidates : multiples candidats de lecture pour texte ambigu Précision Haqumei atteint un taux d'erreur de phonèmes (PER) de 0,83 % sur le benchmark jsut-label et un taux d'erreur de katakana (KER) de 0,78 % sur ROHAN, surpassant pyopenjtalk (1,31 % PER, 5,02 % KER) et pyopenjtalk-plus (1,09 % PER, 1,60 % KER). Les améliorations de précision s'appuient sur le dictionnaire et les techniques de pyopenjtalk-plus. Fonctionnalités - Correspondance mot-phonème : fournit une correspondance entre mots et phonèmes, y compris la détection des mots inconnus (unk) et des espaces (sp), permettant une perte d'information minimale à partir du texte d'entrée. - Informations prosodiques : prend en charge plusieurs formats de prosodie (Default, Prefix, Numeric) avec annotations de hauteur haute/basse, limites de syntagmes accentués et symboles prosodiques. - Résolution d'allophones : gère les nasales moraïques (撥音) et les consonnes géminées (促音) avec des étiquettes de phonèmes dédiées. - Repli pour mots inconnus : estimation de lecture pour les mots anglais via haqumei-kanalizer, repli sur les on'yomi pour les kanji, et correction d'accent pour les mots uniquement en katakana. - Concurrence : méthodes de traitement par lot pour les opérations G2P multi-threadées. - Options personnalisées : configuration flexible pour les étiquettes d'allophones, la normalisation Unicode et le comportement de lecture. - Dictionnaires personnalisés : prise en charge de la construction avec des dictionnaires intégrés personnalisés. Installation - Rust : cargo add haqumei - Python : pip install haqumei (wheels préconstruits pour Linux x86_64/aarch64, macOS aarch64, Windows x86_64) - CLI : cargo install haqumei-cli Détails techniques La bibliothèque utilise MeCab pour l'analyse morphologique et étend le format d'étiquettes full-context au format HTS. Elle intègre un dictionnaire pendant le processus de construction (téléchargé depuis le réseau sauf si un dictionnaire personnalisé est fourni). Les liaisons Python utilisent des wheels préconstruits qui incluent le dictionnaire, ne nécessitant aucun accès réseau lors de l'installation. Licence Apache-2.0