Je cherche à utiliser les données de la release 0.6 de CommonVoice FR dans le cadre d’un projet personnel d’assistant vocal offline.
Je suis très peu familier avec le monde de la DataScience, j’ai quelques doutes sur mon usage car j’ai pas mal de difficultés pour réussir à obtenir un résultat satisfaisant.
J’ai implémenté un serveur Node.js avec le client JavaScript DeepSpeech.
Depuis les fichier de la release, j’ai récupéré le fichier .pbmm et .scorer qui se trouvent dans l’archive model_tensorflow_fr.tar.xz.
Du côté du code, je créais mon modèle à partir de ces deux fichierd, puis j’ajoute le scorer et les hyperparamètres:
const model = new DeepSpeech.Model(modelPath);
model.enableExternalScorer(scorerPath);
model.setScorerAlphaBeta(lmAlpha, lmBeta);
Enfin, j’utilise le micro d’un PS Eye pour générer un fichier .wav afin de le lire et le transmettre à DeepSpeech. J’enregistre via une commande SoX:
J’ai donc plusieurs questions que j’aimerais vous partager
Sur la release, j’ai constaté qu’il y a d’autres paramètres:
EPOCHS=32
LEARNING_RATE=0.0001
DROPOUT=0.3
BATCH_SIZE=64
Est-il nécessaire de les utiliser ? Si oui, savez-vous comment ?
Il y a t-il quelque chose dans la configuration de SoX qui pourrait perturber les résultats ?
Est-ce que les temps de blanc peuvent perturber l’obtention de bons résultats ?
Merci d’avance pour vos retours
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
2
Non, c’est des paramètres pour l’entraînement
Tu devrais plutôt utiliser l’interface streaming et pas dépendre d’un binaire sox externe
ça, ça va pas, le modèle est entraîné sur du 16kHz 16 bits mono, donc pas 4 canaux.
le reste me parait ok
ça dépend, des fois oui, des fois non, c’est pour ça qu’on suggère de brancher du VAD pour éviter
En vrai, si tu changes pas les paramètres lm alpha et beta, t’as pas besoin de faire un setScorerAlphaBeta, on le fait automatiquement avec les valeurs par défaut
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
3
J’ai pu avancer en travaillant sur la détection de la voix et en “retouchant” l’audio via SoX.
J’ai de très bons résultats lorsque je parle bien dans le micro du PS Eye. Et pourtant, lorsque je m’éloigne un peu, les résultats deviennent très mauvais.
Est-ce “normal” que ces résultats soient mauvais lorsqu’il y a un peu de réverbération ou que la voix est moins clair ?
Est-ce une limite du modèle ?
lissyx
((slow to reply) [NOT PROVIDING SUPPORT])
5
Oui, c’est pas surprenant. Sur le modèle anglais, on a commencé à entraîner avec des “augmentations” pour justement, générer du bruit, de la reverb, etc. Mais j’ai pas fait ça sur le modèle français (pas le temps, malheuresement).