Menú
Está libre
registrarse
el principal  /  Multimedia / Marvel Jarvis - Asistente personal para dispositivos iOS. Tipo de tiple - Computadora de control de voz Jarvis virtual

Marvel Jarvis - Asistente personal para dispositivos iOS. Tipo de tiple - Computadora de control de voz Jarvis virtual


Durante mucho tiempo no dejé la idea de mi "jarvis" y la gestión de la técnica en la casa de la voz. Y finalmente, las manos llegaron a la creación de este milagro. No tenía que pensar en los "cerebros" durante mucho tiempo, la frambuesa Pi es adecuada.

Así que hierro:

  • Raspberry Pi 3 Modelo B
  • Cámara USB Logitech

Ventas

Nuestro asistente trabajará en el principio de Alexa / Hub:
  1. Activar fuera de línea en una palabra específica
  2. Reconocer un comando en la nube
  3. Ejeclar el comando
  4. Informe sobre el trabajo o informe a la solicitud de información.
Porque Mi cámara es compatible con la caja, no tuvo que meterse con los controladores, por lo que inmediatamente vamos a la parte del programa.

Activación fuera de línea

La activación se producirá con la esfinge CMU, y todo estaría bien, pero el reconocimiento es muy lento de la caja, más de 10 segundos, lo que no es absolutamente adecuado, para resolver el problema que necesita para borrar el diccionario de palabras innecesarias.

Instale todo lo que necesita:

PIP3 Instale SpeechRecognition PIP3 Instale PocketsPhinx
Más

Sudo nano /usr/local/lib/python3.4/dist-packages/speech_recogure/pocketsphinx-data/en-us /pronounciation-dictiony.dict
Eliminamos todo excepto Jarvis que necesitamos:

Jarvis jh aa r v ah s
Ahora PocketsPhinx reconoce bastante rápido.

Reconocimiento de voz

Al principio, hubo una idea de usar el servicio de Google, y su soporte está en SpeechRecognition. Pero como resultó, Google toma dinero para esto y no funciona con PHYS. personas.

El beneficio de Yandex también proporciona tal oportunidad, libre y extremadamente simple.

Nos registramos, recibimos la API clave. Todo el trabajo puede ser curl'om.

Curl -X Post -H "Tipo de contenido: Audio / X-WAV" --Data-Binary "@file" "https://asr.yandex.net/asr_xml?uuid\u003dya_uid&key\u003dyf_api_key&topic\u003dqueries»

Síntesis del habla

Aquí Yandex nos ayudará de nuevo. Enviamos el texto en respuesta a obtener un archivo con texto sintetizado.

CURL "https://tts.voictech.yandex.net/generate?format\u003dwav&lang\u003dru-ru&speaker\u003dZAHAR&MOTion\u003dGood&Key\u003dya_api_key" -g --Data-Urlencode "Text \u003d Text"\u003e Archivo

Jarví

Recopilamos todos juntos y obtenezcamos un script de este tipo.

#! / Usr / bin / env Python # - * - Codificación: UTF-8 - * - Importar SO Importar Speech_Recognition como SR de XML.DOM MINIDOM MINIDOM Importar SYS Importar Random R \u003d sr.recognizer () ya_uuid \u003d "" ya_api_key \u003d "" # OS.system ("Echo" ASSIST + UT ZAP + TOWN "| FESTIVAL --TTS - Language ("Variant") IF LEN (Lista de artículo)\u003e 0: devolver el elementlist.firstchild.nodevalue otra: devuelve FalseF DeF Jarvis_on (): con Sr.WavFile ("Send.wav") como fuente: Audio \u003d R.RECORD (Fuente) Intente: t \u003d r.recognize_sphinx (audio) Imprimir (T) Excepto lookuperror: Imprimir ("" No se pudo entender audio ") Retorno T \u003d\u003d (" Jarvis ") DeF Jarvis_Say (Frase): OS.system (" Curl "HTTPS: //tts.voictech.yandex.net/generate?format\u003dwav&lang\u003dru-rub&speaker\u003dZAHAR&motion\u003dGood&Key \u003d "" -g --Data-Urlencode "Text \u003d" + Frase + "\u003e jarvis_spare.wav) OS.system ("APLAY JARVIS_SPECHE.WAV") DEF JARVIS_SAY_GOOD (): FRASES \u003d ["LISTO", "HECHO", "Escucha "," Tener "," ¿Alguna otra cosa? ",] Randitem \u003d Random.choice (frases) Jarvis_Say (Randitem) Intente: Mientras sea VERDADERO: OS.system (" ARECORD -B --BUFFER-TIME \u003d 1000000 -F DAT -R 16000 -D 3 -D PLUGHW: 1.0 Send.WAV ") SI JUERVIS_ON (): OS.SYSTEM (" APLAY JARVIS_ON.WAV ") OS.SYSTEM (" ARECORD -B --BUFFER-TIME \u003d 1000000 - F DAT -R 16000 -D 3 -D PLUGHW: 1.0 SEND.WAV ") OS.system (" Curl -x Post -H "Tipo de contenido: Audio / X-WAV" --Data-Binary "@send .wav" "https: //asr.yandex.net/asr_xml?uid\u003d"+ya_uuid + "k + ya_uuid +" & key \u003d "k + ya_api_key +" & topic \u003d consultas "\u003e asr_answer.xml") command_key \u003d conver_ya_asr_to_key () if (command_key): si ( command_key en ['key_word ",' key_word1 ',' key_word2"]): os.system ('') jarvis_say_good () Continúe excepto excepción: jarvis_say ("algo salió mal")
Que está pasando aqui. Ejecute un bucle infinito, Arecord'om escribe tres segundos y envíe la esfinge para reconocer si la palabra "jarvis" se encuentra en el archivo

Si jarvis_on ():
Perdemos de antemano archivo de alerta de activación registrados.

Nuevamente escribimos 3 segundos y enviamos a Yandex, recibo nuestro equipo en respuesta. A continuación, realice acciones basadas en el comando.

En realidad en realidad todo. Los escenarios de rendimiento pueden llegar a un gran conjunto.

Caso de uso

Ahora algunos ejemplos de uso real.

PHILIPS HUE.

Instalar en pc

PIP Instale Phue.
En la aplicación Hue, instale la IP estática:

Correr:

#! / usr / bin / Python Import Sys de Phue Import Bridge B \u003d puente ("192.168.0.100") # Ingrese el puente IP aquí. # Si se ejecuta por primera vez, presione el botón en el puente y ejecute con b.connect () no comprometido # b.connect () impresión (b.get_scene ())
Escribimos la identificación de los esquemas deseados, el formulario "470D4C3C8-ON-0"

La versión final del script:

#! / usr / bin / Python Import Sys de Phue Import Bridge B \u003d puente ("192.168.0.100") # Ingrese el puente IP aquí. # Si se ejecuta por primera vez, presione el botón en el puente y ejecute con B.Connect () no comprometido # b.connect () if (sys.argv \u003d\u003d "off"): b.set_light (, "on", falso) Otra cosa: b.activeVate_Scene (1, SYS.ARGV)
Añadir a Jarvis:

Si (command_key en ["luz", "Encienda la luz", "Luz"]: OS.system ("Python3 /Home/pi/smarthome/hue/hue.py A1167AA91-ON-0") Jarvis_Say_good () Continuar Si (Command_Key en ["Light", "Mute Light"]): OS.system ("Python3 /Home/pi/smarthome/hue/hue.py AC637E2F0-ON-0") Jarvis_Say_Bood () Continuar if (Command_key en [ "Apague la luz", "Apague la luz"]): OS.system ("Python3 /Home/pi/smarthome/hue/hue.py" OFF ") Jarvis_Say_Bood () Continuar

LG TV.

Tomamos el guión desde aquí. Después del primer inicio e ingresando al código de conjugación, el código en sí no cambia, por lo que puede cortar esta parte desde el script y dejar solo el control.

Añadir a Jarvis:

# 1 - POWER # 24 - Volune_up # 25 - Volume_Down # 400 - 3D_video if (command_key en ["TWN TWC", "Apague el televisor"]: OS.system ("Python3 / Home / Pi / SmartHome / TV / TV2. PY 1 ") jarvis_say_good () Continuar if (command_key en ['agregar volumen", "más fuerte"]): os.system ("python3 /home/pi/smarthome/tv/tv2.py 24") jarvis_say_good () Continuar

Radio

Sudo apt-get install mpg123
Añadir a Jarvis:

Si (Command_Key en [Noticias ", 'Desactivar noticias', 'qué sucede']): OS.system ('MPG123 URL) Continuar
Todavía puedes poner a HomeBridge y administrar todo a través de Siri, si no terminas el Jarvis.

En cuanto a la calidad del reconocimiento del habla, no a Alexa, por supuesto, pero a una distancia de 5 metros el porcentaje de ingredientes fieles. El problema principal es un discurso de los TV \\ Altavoz se registra con los comandos e interfiere con el reconocimiento.

Eso es todo gracias.

Etiquetas:

  • frambuesa pi
  • pitón
Agregar etiquetas

La mayoría de los usuarios saben que el sistema SIRI se considera la tecnología personal y de preguntas personales más populares en los gadgets de iOS. Afortunadamente, no solo el sistema SIRI está disponible en el mercado. Entonces, los fanáticos de la ficción y los cómics creados por Marvel, se ofrece un auxiliar personal de la película "Hombre de hierro".

Si el propietario del dispositivo vio la película "Hombre de hierro", entonces ciertamente conoce al mayordomo Tony Stark, cuyo nombre es Jarvis. En consecuencia, el usuario podrá recurrir a la ayuda de un servidor virtual en su propio aparato portátil. Además, el programa JARVIS es un desarrollo único que aplica la voz y la imagen del carácter de Jarvis.

El funcionamiento de la utilidad JARVIS comienza con las instrucciones de audio convencionales para usar y administrar la herramienta especificada. Al final de la configuración, el usuario deberá especificar su género (para que el asistente virtual pueda acceder correctamente al propietario del dispositivo). Además, tendrá que establecer una unidad de medición de las condiciones principales de la temperatura (en particular, grados en Kelvin, Fahrenheit o, por supuesto, Celsius).


Puede familiarizarse con una lista detallada de instrucciones, tocando los iconos colocados en la esquina superior de la pantalla. Al mismo tiempo, todos los equipos deben comenzar con la apelación "Jarvis" y, por lo general, contienen una palabra (por ejemplo, "Jarvis, pronóstico del tiempo"). JARVIS también sabe cómo notificar al propietario del dispositivo de las futuras reuniones y mostrar la hora actual. Se puede crear una variedad de nombres de audio en el programa.

Es importante tener en cuenta que los propietarios. discos ópticos Con un kinoblokbster "Iron Man" Utility Jarvis proporciona características adicionales. Por ejemplo, el usuario puede administrar fácilmente la reproducción de la película correspondiente utilizando este Butler virtual.


Informacion util: Si le preguntas a su pregunta asistente virtual: ¿vale la pena comprar un BMW 740 (http://www.bmw-avtoport.ru/auto/7/), entonces su respuesta con un cien por ciento será afirmativa? ¡Por cierto, puede comprar la séptima serie BMW en este momento en las condiciones más rentables para usted mismo! Todo lo que necesita hacer para esto es visitar el sitio www.bmw-avtoport.ru.

Hoy hablaremos sobre nuestro discurso. Yo me gustaria conduciendo una voz de computadora¿Sin la ayuda de tus dedos? Y, como dicen, - la fuerza del pensamiento! Es cierto, no manejaremos la computadora por la fuerza del pensamiento, pero esto es muy realista.

Programa de tiple - Este es uno de los mejores programas para administrar una computadora a través de la voz. En los sitios en los comentarios a este programa, las opiniones convergen.

Es cierto que hay sus deficiencias. Pero más sobre eso más tarde. Por cierto, si estás interesado en - Lee mi opinión.

Puede descargar el programa aquí: http://freesoft.ru/typle

¿Cómo usarlo? Al principio, lanzarlo y ver los botones de control principal:

El programa nos da la bienvenida e inmediatamente nos damos solicites sobre cómo usar el tiple. Al principio, haga clic en el botón Agregar y escribir una palabra, como "Abrir". Para hacer esto, diga esta palabra en el micrófono:

Luego haga clic en Agregar. Entonces, hemos guardado la palabra "ABIERTE" en el programa. Puedes hablar en el micrófono cualquier otra palabra. Lo principal es no confundirse.

El siguiente paso será agregar comandos. Para hacer esto, vamos a este punto:

Luego, ponemos una marca enfrente de ese artículo que necesitamos:

Seleccione el programa, la aplicación o la acción y haga clic en el botón Red Record. Si la computadora percibe nuestra voz, haga clic en "Agregar":

Y ahora un equipo de voz será visible en nuestro perfil. En este caso, el que abre 7-ZIP:

Y ahora haciendo clic en el botón final "Iniciar hablar"

hablamos la frase "Open Semen Zip". En mi caso, todo funcionará. Y el programa de 7 zipes se abrirá. ¿Recuerdas esa frase: SIM SIM abierta? Esto es algo de aproximadamente el mismo.

El programa no siempre funciona adecuadamente. Ahora, el poderoso idioma ruso no está completamente estudiado por programadores lingüísticos ... pero aún así bien cuando la computadora le está escuchando.

Por lo tanto, para la prueba y la curiosidad BANAL, el programa de tiple. Se adaptará al 100%.

En este video, puede ver el historial de la creación de los primeros motores de voz y de qué más deberíamos trabajar:

Hay nombres tan terribles de otros análogos del programa, como Gorynych, Perpetuum, Dotograph, Comandante de voz. Pero todos son "no es eso". No critiques un programa decente.

Fui por 5 minutos para dominar este programa. Este es bastante largo tiempo (principalmente en dichos programas, entiendo 1-2 minutos). Si surgen preguntas, escribe. Hasta pronto las reuniones, amigos :)!