pocketphinx est un module qui permet la reconnaissance vocale anglaise hors ligne. Cliquez ici pour savoir comment installer pocketphinx et comment l'utiliser La construction de l'environnement sera également confirmée sur cette page, vous pouvez donc l'ignorer (?).
ubuntu 18.04 python3
J'ai rassemblé un échantillon dans git, alors veuillez le cloner et l'utiliser. "https://github.com/hir-osechi/pocketsphinx_sample"
python
git clone https://github.com/hir-osechi/pocketsphinx_sample.git
Il contient le code qui utilise pockethinx et svoxpico, donc S'ils ne sont pas installés, procédez comme suit:
python
cd pocketsphinx_sample/
sh setup.sh
Si vous souhaitez savoir comment utiliser svoxpico
Pocketshinx sans rien à définir peut être implémenté avec le code suivant.
pocket_test.py
from pocketsphinx import LiveSpeech
for phrase in LiveSpeech():
print(phrase)
De là, vous pouvez ajouter des options à l'intérieur des crochets LiveSpeech (). Lorsque vous utilisez votre propre dictionnaire
lm = False dic = chemin (fichier .dict) du dictionnaire original créé jsgf = chemin (fichier .gram) du dictionnaire original créé
Ajouter.
pocketphinx a un dictionnaire de mots appelé ".dict" qui contient des dizaines de milliers de mots et leurs énoncés.
Exemple weather W EH DH ER were W ER what W AH T what(2) HH W AH T where W EH R where(2) HH W EH R
Tous les mots sont stockés dans le fichier dict avec le chemin suivant. /usr/local/share/pocketsphinx/model/en-us/cmudict-en-us.dict
Par défaut, il recherche les mots reconnus dans ces dizaines de milliers de dictionnaires, donc Si vous réduisez le nombre de mots, la précision de la reconnaissance s'améliorera.
Dans le fichier gramme, vous pouvez spécifier la grammaire ou la grammaire. Par exemple, si vous créez le fichier gramme suivant,
What food do you like ? Where do you live in ?
Seules les deux phrases de seront reconnues.
#JSGF V1.0;
grammar test;
public <rule> = <command>;
<command> = what food do you like | where do you live in;
À propos, il est difficile de créer des fichiers dict et gramme à la main à chaque fois. J'ai créé un code qui crée automatiquement un fichier dict et gramme en saisissant des phrases. C'est sur git.
cd pocketsphinx_sample/tools
python3 gram_maker_by_input.py
Veuillez saisir comme suit.
Saisissez le nom du dictionnaire que vous souhaitez créer:test
Veuillez saisir le texte+ Enter
(Ctrl pour quitter-C)
===============================================================
do you like apple
i want to play tennis
please tell me the way to the kyoto station
let me know what i can do for you
Vous pouvez désormais effectuer une reconnaissance vocale qui ne répond qu'à 4 phrases. Cependant, si cela reste tel quel, même une petite quantité de bruit peut être attribuée à l'un de ces quatre, alors ajoutez du bruit.
cd pocketsphinx_sample/tools
python3 gram_noise_changer.py
Veuillez saisir comme suit.
Saisissez le nom du dictionnaire dont vous souhaitez modifier le bruit:test
Veuillez saisir le nom de fichier txt du champ noise 1 que vous souhaitez modifier(.txt non inclus):noise_sample
===============================================================
Modifiez le bruit dans ce dictionnaire.
===============================================================
Fin du changement
===============================================================
Si vous êtes curieux de savoir ce que vous faites, jetez un œil à test.gram. (le bruit contient des mots qui étaient faciles à reconnaître lorsque vous ne faisiez rien, jouez simplement avec eux)
Ceci termine la préparation!
Si vous pouvez confirmer que seule la phrase spécifiée précédemment est reconnue par la commande suivante, elle réussit.
cd pocketsphinx_sample/
python3 dic_test.py
À titre d'exemple d'utilisation, nous avons créé un programme qui vous permet de poser et de répondre à des questions. Le texte de la question et la réponse sont séparés par "," et sont inclus dans pocketphinx_sample / dictionary / QandA / QandA.txt.
Pour créer votre propre dictionnaire à partir de QandA.txt, exécutez gram_maker_from_txt.py.
cd pocketsphinx_sample/tools
python3 gram_maker_from_txt.py
Veuillez entrer comme suit.
Saisissez le nom du dictionnaire que vous souhaitez créer:QA_sample
Entrez le nom du fichier txt que vous souhaitez utiliser comme dictionnaire(.txt non inclus):QandA
Veuillez saisir le nom de fichier txt de la colonne noise 1 que vous souhaitez ajouter(.txt non inclus):noise_sample
Fin de dictionnaire
Si vous le faites, vous devriez être en mesure de mettre en œuvre une session de questions et réponses.
cd pocketsphinx_sample/
python3 QA_test.py
Résultat de l'exécution ↓
[*] START RECOGNITION
----------------------------------
are you happy ?
[*] SPEAK : yes
----------------------------------
[*] START RECOGNITION
----------------------------------
what food do you like ?
[*] SPEAK : I like apples.
----------------------------------
Lors de l'amélioration de la précision de la reconnaissance, le bruit doit être spécifié strictement. Par exemple, si "quelle nourriture aimez-vous" est facilement mal reconnu,
what what food what food do what food do you
En ajoutant à noise_sample.txt, vous pouvez empêcher la sortie à moins qu'il n'y ait une correspondance exacte.
Échantillon officiel de pocketphinx "https://pypi.org/project/pocketsphinx/"
Recommended Posts