Reconnaissance vocale avec Python

introduction

Je veux toujours abaisser le seuil de programmation et de production de CG, mais Maya veut aussi travailler avec la reconnaissance vocale, donc je fais beaucoup de recherches.

Cet article n'a pas atteint le point de travailler avec Maya.

Il s'agit simplement d'un test de l'API Microsoft Speech fournie en standard avec Windows.

procédure

Windows10 Python 2.7.12 pywin32==220

  1. python -m virtualenv venv
  2. venv\Scripts\activate.bat
  3. Installez win32com
  4. Vous devez peut-être installer Speech SDK
  5. Convertissez la bibliothèque d'objets Microsoft Speech 5.4 en code python avec python venv \ Lib \ site-packages \ win32com \ client \ makepy.py```

Lorsque le programme suivant est exécuté, il attend une entrée vocale avec le message «Prêt», et une chaîne de caractères est sortie vers la sortie standard en réponse aux voix «Un», «Deux», «Trois», «Quatre» et «Bonjour».

main.py


#!/usr/bin/env python
# coding=utf-8

from __future__ import absolute_import, division, print_function

from win32com.client import constants
import win32com.client
import pythoncom


class ContextEvents(win32com.client.getevents("SAPI.SpSharedRecoContext")):
    u"""Classe de rappel qui est appelée lorsqu'une phrase est reconnue

Enregistrez les mots à l'avance.
    """
    def OnRecognition(self, StreamNumber, StreamPosition, RecognitionType, Result):
        newResult = win32com.client.Dispatch(Result)
        print(u"You said: {0}".format(newResult.PhraseInfo.GetText()))


class SpeechRecognition(object):
    def __init__(self, wordsToAdd):
        u"""Diverses initialisations"""
        self.speaker = win32com.client.Dispatch("SAPI.SpVoice")

        self.listener = win32com.client.Dispatch("SAPI.SpSharedRecognizer")
        self.context = self.listener.CreateRecoContext()
        self.grammar = self.context.CreateGrammar()
        self.grammar.DictationSetState(0)

        self.wordsRule = self.grammar.Rules.Add(
            "wordsRule",
            constants.SRATopLevel + constants.SRADynamic, 0)
        self.wordsRule.Clear()
        for word in wordsToAdd:
            self.wordsRule.InitialState.AddWordTransition(None, word)
        self.grammar.Rules.Commit()
        self.grammar.CmdSetRuleState("wordsRule", 1)
        self.grammar.Rules.Commit()
        self.eventHandler = ContextEvents(self.context)

        self.say(u"Junbikanryo")

    def say(self, phrase):
        u"""Laisse moi parler"""
        self.speaker.Speak(phrase)


if __name__ == '__main__':
    wordsToAdd = ["One", "Two", "Three", "Four", u"Bonjour"]
    speechReco = SpeechRecognition(wordsToAdd)
    while True:
        pythoncom.PumpWaitingMessages()

Je suis désolé indépendamment de Maya.

référence

[Jouez à COM avec Python + pywin32 pour parler. ](Https://mimumimu.net/blog/2011/07/02/python-pywin32-%E3%81%A7-com-%E5%8F%A9%E3%81%84%E3%81%A6% E3% 81% 97% E3% 82% 83% E3% 81% B9% E3% 82% 89% E3% 81% 9B% E3% 82% 8B% E3% 80% 82 /) Python: win32com.client.getevents(“SAPI.SpSharedRecoContext”) returns None

Recommended Posts

Reconnaissance vocale avec Python
Reconnaissance vocale par Python MFCC
Parler avec Python [synthèse vocale]
Reconnaissance des nombres dans les images avec Python
Reconnaissance de caractères manuscrits à l'aide de KNN en Python
Quadtree en Python --2
CURL en Python
Métaprogrammation avec Python
Python 3.3 avec Anaconda
Géocodage en python
SendKeys en Python
Méta-analyse en Python
Unittest en Python
Discord en Python
DCI en Python
tri rapide en python
nCr en python
N-Gram en Python
Programmation avec Python
Plink en Python
Constante en Python
FizzBuzz en Python
Sqlite en Python
Étape AIC en Python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python
nCr en Python.
format en python
Scons en Python 3
Puyopuyo en python
python dans virtualenv
PPAP en Python
Quad-tree en Python
Réflexion en Python
Chimie avec Python
Hashable en Python
DirectLiNGAM en Python
LiNGAM en Python
Aplatir en Python
Aplatir en python
Reconnaissance vocale en anglais avec python [speech to text]
Introduction facile de la reconnaissance vocale avec Python
Traffic Safety-kun: Reconnaissance des panneaux de signalisation en Python
Reconnaissance de scène par quantité de fonctionnalités GIST en Python
Liste triée en Python
AtCoder # 36 quotidien avec Python
Texte de cluster en Python
AtCoder # 2 tous les jours avec Python
Daily AtCoder # 32 en Python
Daily AtCoder # 6 en Python
Modifier les polices en Python
Motif singleton en Python
Opérations sur les fichiers en Python
Lire DXF avec python
Daily AtCoder # 53 en Python