Présentation détaillée du projet PaddleSpeech
Aperçu du projet
PaddleSpeech est une boîte à outils vocale open source développée sur la plateforme Baidu PaddlePaddle, axée sur diverses tâches vocales et audio essentielles. Le projet a remporté le prix de la meilleure démonstration à NAACL2022 grâce à ses conceptions de modèles les plus récentes et les plus influentes.
Caractéristiques principales
🚀 Facile à utiliser
- Installation à faible seuil : Fournit une méthode d'installation simple
- Outils en ligne de commande : Prend en charge CLI, Server et Streaming Server pour une prise en main rapide
- Interfaces multiples : Prend en charge les modes d'utilisation en ligne de commande et API Python
🏆 Technologie de pointe
- Alignement sur les dernières technologies : Fournit des modèles à haute vitesse et ultra-légers ainsi que des technologies de pointe
- Système de streaming : Fournit des systèmes ASR et TTS en streaming prêts pour la production
- Apprentissage auto-supervisé : Intègre des modèles d'apprentissage auto-supervisé
💯 Front-end vocal chinois
- Traitement de la régularisation : Comprend la normalisation du texte et la conversion graphème-phonème (G2P)
- Traitement des caractères polyphoniques : Prend en charge le traitement des caractères polyphoniques et des changements de tons
- Règles linguistiques : Utilise des règles linguistiques personnalisées pour s'adapter au contexte chinois
Principaux modules fonctionnels
1. Reconnaissance vocale (ASR)
- Modèles pris en charge : DeepSpeech2, Transformer, Conformer, U2, etc.
- Prise en charge multilingue : Chinois, anglais, mélange chinois-anglais
- Reconnaissance en temps réel : Prend en charge la reconnaissance vocale en streaming
- Restauration de la ponctuation : Ajoute automatiquement la ponctuation
2. Synthèse vocale (TTS)
- Modèles acoustiques : Tacotron2, FastSpeech2, SpeedySpeech, VITS, etc.
- Vocodeurs : WaveFlow, PWGAN, HiFiGAN, Multi Band MelGAN, etc.
- Prise en charge multilingue : Chinois, anglais, mélange chinois-anglais, cantonais
- Clonage vocal : Prend en charge le clonage vocal et le fine-tuning
3. Vérification du locuteur (VPR)
- Identification du locuteur : Basée sur le modèle ECAPA-TDNN
- Extraction d'empreintes vocales : Extraction de caractéristiques d'empreintes vocales de qualité industrielle
- Séparation des locuteurs : Prend en charge la tâche de séparation des locuteurs
4. Traduction vocale (ST)
- Traduction de bout en bout : Traduction vocale anglais-chinois
- Pré-entraînement multimodal : Combine les caractéristiques acoustiques et textuelles
5. Classification audio (CLS)
- Classification en domaine ouvert : Classification audio de 527 classes basée sur l'ensemble de données AudioSet
- Modèle PANN : Utilise des réseaux neuronaux audio pré-entraînés
6. Reconnaissance de mots-clés (KWS)
- Détection de mots de réveil : Prend en charge les mots de réveil personnalisés
- Modèles légers : Convient au déploiement sur les appareils mobiles
Architecture technique
Prise en charge des modèles
- Apprentissage auto-supervisé : Wav2vec2.0, HuBERT, WavLM, etc.
- Mécanisme d'attention : Architectures Transformer, Conformer
- Entraînement de bout en bout : Modèles unifiés U2, U2++, etc.
- Entraînement contradictoire : Modèles génératifs VITS, StarGAN, etc.
Prise en charge des ensembles de données
- Ensembles de données ASR : Aishell, LibriSpeech, CommonVoice, etc.
- Ensembles de données TTS : LJSpeech, CSMSC, VCTK, etc.
- Données multilingues : Prend en charge les ensembles de données mixtes chinois-anglais
Installation et utilisation
Configuration requise
- Système d'exploitation : Linux (recommandé), Windows, Mac OSX
- Version de Python : ≥ 3.8
- Compilateur : gcc ≥ 4.8.5
- Framework de dépendance : PaddlePaddle
Méthodes d'installation
1. Installation via pip
pip install paddlespeech
2. Installation à partir des sources (recommandé)
git clone https://github.com/PaddlePaddle/PaddleSpeech.git
cd PaddleSpeech
pip install pytest-runner
pip install .
Expérience rapide
Exemple de reconnaissance vocale
# En ligne de commande
paddlespeech asr --lang zh --input zh.wav
# Via l'API Python
from paddlespeech.cli.asr.infer import ASRExecutor
asr = ASRExecutor()
result = asr(audio_file="zh.wav")
Exemple de synthèse vocale
# En ligne de commande
paddlespeech tts --input "你好,欢迎使用百度飞桨深度学习框架!" --output output.wav
# Via l'API Python
from paddlespeech.cli.tts.infer import TTSExecutor
tts = TTSExecutor()
tts(text="今天天气十分不错。", output="output.wav")
Déploiement de services
Serveur vocal
PaddleSpeech fournit une solution serveur complète :
Démarrer le service
paddlespeech_server start --config_file ./demos/speech_server/conf/application.yaml
Appel client
# Service ASR
paddlespeech_client asr --server_ip 127.0.0.1 --port 8090 --input input_16k.wav
# Service TTS
paddlespeech_client tts --server_ip 127.0.0.1 --port 8090 --input "您好,欢迎使用百度飞桨语音合成服务。"
Service de streaming
Prend en charge la reconnaissance vocale et la synthèse vocale en streaming en temps réel :
# ASR en streaming
paddlespeech_client asr_online --server_ip 127.0.0.1 --port 8090 --input input_16k.wav
# TTS en streaming
paddlespeech_client tts_online --server_ip 127.0.0.1 --port 8092 --input "您好,欢迎使用百度飞桨语音合成服务。"
Cas d'utilisation
Applications industrielles
- Service client intelligent : Reconnaissance vocale + Synthèse vocale
- Assistant vocal : Détection de mots de réveil + Système de dialogue
- Création de contenu : Clonage vocal + Synthèse multilingue
- Services d'accessibilité : Parole en texte + Texte en parole
Recherche académique
- Pré-entraînement multimodal : Modèles ERNIE-SAT, etc.
- Traduction vocale : Traduction anglais-chinois de bout en bout
- Identification du locuteur : Reconnaissance et vérification d'empreintes vocales
- Analyse audio : Classification audio et reconnaissance de scènes
Avantages techniques
1. Performance du modèle
- Effet SOTA : Atteint des niveaux de pointe dans l'industrie pour de nombreuses tâches
- Déploiement léger : Prend en charge les appareils mobiles et périphériques
- Traitement en temps réel : Répond aux besoins d'interaction en temps réel
2. Facilité d'utilisation
- Déploiement en un clic : Processus d'installation et de configuration simplifiés
- Documentation riche : Instructions d'utilisation et exemples complets
- Support communautaire : Communauté de développeurs active
3. Extensibilité
- Conception modulaire : Prend en charge les modèles et les tâches personnalisés
- Prise en charge multilingue : Extension continue de la couverture linguistique
- Déploiement multiplateforme : Prend en charge plusieurs environnements de déploiement
Communauté et écosystème
Communauté open source
- GitHub Stars : Plus de 10k étoiles
- Contributeurs : Développeurs du monde entier
- Projets communautaires : Projets dérivés basés sur PaddleSpeech
Projets connexes
- PaddleBoBo : Génération vocale d'avatars virtuels
- VTuberTalk : Outil de clonage vocal vidéo
- FastASR : Implémentation d'inférence C++
- VoiceTyping : Outil de saisie vocale en temps réel
Conclusion
PaddleSpeech est une boîte à outils vocale complète et facile à utiliser, couvrant la reconnaissance vocale, la synthèse vocale, la vérification du locuteur, la traduction vocale et de nombreuses autres tâches essentielles. Grâce à une conception modulaire et à de riches modèles pré-entraînés, il fournit aux développeurs et aux chercheurs de puissantes solutions d'IA vocale. Que ce soit pour la recherche académique ou les applications industrielles, PaddleSpeech peut fournir un support technique de haute qualité et des solutions complètes.