J'ai essayé d'exécuter le système de reconnaissance vocale hors ligne Julius avec python dans l'environnement virtuel Docker

Je publierai mon premier article.

Julius

Julius est un système de reconnaissance vocale développé par l'Université de Kyoto, et bien que sa précision soit médiocre, il a l'avantage d'être gratuit et peut être utilisé hors ligne.

Dans l'article actuel, je me suis senti ennuyé car il n'y avait que des choses qui ne pouvaient pas être faites sans utiliser la communication par socket pour analyser Julius avec python, alors j'ai appuyé sur la commande pour déplacer Julius directement de python et le code pour analyser le résultat Je l'ai résumé en classe.

Sous le code source de github https://github.com/rirma/JuliusVoiceAnalyzer.git

Veuillez noter que les bibliothèques inutiles seront également installées. Si vous n'en avez pas besoin, supprimez l'installation pip3 en bas.

Flow pour déplacer Julius

① Créez un conteneur Docker en appuyant sur la commande suivante dans le dossier téléchargé.

$ docker-compose up -d --build

② Entrez le conteneur créé.

$ docker-compose exec python bash

③ Accédez au dossier où se trouve VoiceAnalyzer.py et exécutez le programme.

# cd opt/public/src
# python3 VoiceAnalyzer.py

④ Si vous dites quelque chose et obtenez le résultat d'exécution suivant, vous réussissez.

start record
Saved.
20201005220733.wav
enter filename->...........................................................................................................................................................................................................enter filename->1 files processed
Bonjour.

Programme d'analyse vocale

Une classe est définie dans VoiceAnalyzer.py pour faciliter l'analyse vocale avec Julius.

Initialisation

def __init__(self, chunk = 1024, format = pyaudio.paInt16, channels = 1, rate = 44100, record_seconds = 2, threshold = 0.1)

Paramètres à modifier au besoin

bloc: bloc de fichier audio canaux: canaux de fichiers audio rate: taux d'échantillonnage record_seconds: durée d'enregistrement (secondes) seuil: Le volume du son pour commencer l'enregistrement (0 à 1), pour empêcher l'enregistrement de démarrer en raison du bruit

Commencer l'enregistrement

def start_record(self, dir_name = '../sound/')

dir_name: nom du répertoire dans lequel le fichier audio est enregistré Valeur de retour: nom de fichier enregistré (nom de répertoire omis)

Analyse vocale

def analyze_voice(self, file_path)

file_path: fichier à analyser (par exemple '../ sound / 20201005220733.wav') Valeur de retour: chaîne de résultat de reconnaissance vocale de fichier

finalement

Julius n'est pas très précis, mais je pense que c'est utile lorsque vous voulez créer votre propre son de démarrage, comme "Hey Siri". J'ai prononcé les sons de démarrage que je voulais que Julius reconnaisse plusieurs fois et j'ai absorbé l'erreur en les énumérant. Nous espérons que vous le trouverez utile pour les applications interactives.

Recommended Posts

J'ai essayé d'exécuter le système de reconnaissance vocale hors ligne Julius avec python dans l'environnement virtuel Docker
J'ai défini des variables d'environnement dans Docker et je les ai affichées en Python.
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé le mouvement Python3 qui change la direction dans le système de coordonnées
Maintenance de l'environnement réalisée avec Docker (je souhaite post-traiter GrADS en Python
Préparer l'environnement d'exécution de Python3 avec Docker
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé la méthode des moindres carrés en Python
Créer un environnement virtuel avec conda avec Python
Installez le package python dans un environnement hors ligne
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé d'exécuter faiss avec python, Go, Rust
Travaillez dans un environnement virtuel avec Python virtualenv.
J'ai essayé d'exécuter Deep Floor Plan avec Python 3.6.10.
J'ai installé Pygame avec Python 3.5.1 dans l'environnement de pyenv sur OS X
Quand j'ai essayé de créer un environnement virtuel avec Python, cela n'a pas fonctionné
Reconnaissance vocale avec Python
environnement virtuel en Python
Environnement virtuel avec Python 3.6
Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
J'ai essayé de représenter graphiquement les packages installés en Python
Pour pouvoir utiliser le japonais avec Python dans l'environnement Docker
J'ai essayé d'utiliser TradeWave (commerce du système BitCoin en Python)
J'ai essayé de résoudre Soma Cube avec python
J'ai essayé d'exécuter TensorFlow dans l'environnement AWS Lambda: Préparation
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai essayé de frapper l'API avec le client python d'echonest
[New Corona] Le prochain pic est-il en décembre? J'ai essayé l'analyse des tendances avec Python!
Le 15e temps réel hors ligne, j'ai essayé de résoudre le problème de l'écriture avec python
J'ai essayé de trouver l'entropie de l'image avec python
J'ai essayé fp-growth avec python
J'ai essayé de gratter avec Python
Essayez d'exécuter python dans l'environnement Django créé avec pipenv
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
J'ai essayé de simuler la propagation de l'infection avec Python
J'ai essayé d'utiliser la bibliothèque Python de Ruby avec PyCall
J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows
J'ai essayé de résoudre le problème de F02 comment écrire en temps réel hors ligne avec Python
J'ai essayé d'exécuter Movidius NCS avec python de Raspberry Pi3
J'ai évalué la stratégie de négociation du système boursier avec Python.
Refléter l'environnement virtuel créé par Miniconda dans le notebook Jupyter
Préparer l'environnement python3 avec Docker
J'ai essayé de reconnaître le visage de la vidéo (OpenCV: version python)
J'ai essayé de programmer le test du chi carré en Python et Java.
Exécutez le fichier python après avoir activé l'environnement virtuel python avec le fichier de commandes
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
J'ai aussi essayé d'imiter la fonction monade et la monade d'état avec le générateur en Python
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
L'environnement sans serveur est-il plus de 600 fois plus lent? ~ J'ai essayé l'analyse comparative avec Go, Node.js et Python! ~
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python
J'ai essayé de gratter le classement du calendrier de l'avent Qiita avec Python
J'ai essayé de décrire le trafic en temps réel avec WebSocket
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
J'ai essayé d'exécuter le référentiel de packages Python (entrepôt) qui prend en charge PyPI
[Compris dans la figure] Gestion de l'environnement virtuel Python par Pipenv
[Commerce système] J'ai essayé de jouer avec décomposer l'oscillateur stochastique avec python ♬
J'ai essayé de traiter l'image en "style croquis" avec OpenCV