Como implementar uma assistente virtual no Linux

Neste artigo vamos aprender como criar uma assistente virtual no Linux, que irá responder por comandos de voz captados pelo seu microfone. Estarei utilizando o software PocketSphinx com Python.

[ Hits: 4.846 ]

Por: Fábio Berbert de Paula em 22/03/2023 | Blog: https://fabio.automatizando.dev


Exemplo de como abrir programas



Agora vamos criar um exemplo de como abrir programas com a assistente virtual. Primeiramente vou criar um objeto mapeando cada palavra desejada a um comando:

comandos = {
    'firefox': '/usr/bin/firefox',
    'editor': '/usr/bin/kedit',
    'calculator': '/usr/bin/kcalc',
    'jarvis': 'echo 1 > /dev/null'
}

Feito isso vamos criar uma função que irá executar o comando desejado:

def executar_comando(comando):
    os.system(comandos[comando])

E por fim ajustar o script para que ele execute o comando desejado:

for phrase in speech:
    print("Palavra-chave detectada: ", phrase)
    executar_comando(phrase)

A versão final do script ficou assim:

import os
from pocketsphinx import LiveSpeech, get_model_path

comandos = {
    'firefox': '/usr/bin/firefox',
    'editor': '/usr/bin/kedit',
    'calculator': '/usr/bin/kcalc'
}

def executar_comando(comando):
    os.system(comandos[comando])

model_path = get_model_path() + '/en-us/'

speech = LiveSpeech(
    verbose=False,
    sampling_rate=16000,
    buffer_size=2048,
    no_search=False,
    full_utt=False,
    hmm=os.path.join(model_path, 'en-us'),
    dic=os.path.join(model_path, 'cmudict-en-us.dict'),
    kws=os.path.join(os.getcwd(), '/home/fabio/.config/fabio.keyphrase')
)

print("Escutando a palavra-chave...")
for phrase in speech:
    print("Palavra-chave detectada: ", phrase)
    executar_comando(phrase)

E claro, você precisa adicionar os comandos que deseja executar ao arquivo fabio.keyphrase:

jarvis/1e-1/
firefox/1e-1/
editor/1e-1/
calculator/1e-1/

Execute o script novamente e agora você poderá abrir os programas desejados com a assistente virtual.

Nota final

Este artigo foi escrito usando o auxílio do ChatGPT-4 e o código Python com o auxílio da extensão para o NeoVim chamada CoPilot, da GitHub.

Até a próxima!

Página anterior    

Páginas do artigo
   1. Introdução
   2. Exemplo de como abrir programas
Outros artigos deste autor

Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland

Como criar um keylogger em Python

Tasker - Como fazer um ANDROID falante

Corretor Ortográfico no Vim - Guia definitivo

Organizando projetos com a classe FastTemplate (parte 2)

Leitura recomendada

Mandrake Linux 10.1 Powerpack

Introdução ao Linux: O editor de texto Nano

Trabalhando com a extensão .tar

Linux - Só não usa quem não quer

Desmistificando o Software Livre

  
Comentários
[1] Comentário enviado por maurixnovatrento em 25/03/2023 - 16:32h


Ótimo artigo.

___________________________________________________________
Conhecimento não se Leva para o Túmulo.
https://github.com/mxnt10


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts