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: 3.150 ]

Por: Fábio Berbert de Paula em 22/03/2023 | Blog: https://mestrefabio.com


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

Kdenlive - Como desfocar/borrar rosto, área ou objetos em um vídeo

Baixar posts do Instagram usando Python

Tradutor de palavras em vários idiomas via shell

Criando gráficos com a classe JPGraph (parte 1)

Como preparar o Vim/Neovim para corrigir ortografia em português

Leitura recomendada

sidux Hipnos XFCE

Fundamentos do sistema Linux - usuários e grupos

CrunchBang Backported - Instalação e Configuração

Instalar o Go (Golang) no Debian e Ubuntu

Concatenação, conexão e recursividade de comandos no GNU/Linux

  
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