Pular para o conteúdo

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.
Fábio Berbert de Paula fabio
Hits: 6.269 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar

Introdução

Neste artigo vamos aprender como criar uma assistente virtual no Linux, que irá responder por comandos de voz captados pelo seu microfone.

Por motivos óbvios, quanto melhor for o seu microfone, melhor será a qualidade de captação de voz. Porém, mesmo com um microfone de baixa qualidade, você conseguirá fazer com que a assistente virtual responda aos seus comandos.

Para a missão utilizaremos o software de reconhecimento de voz PocketSphinx, que é baseado em linguagem natural, e funciona offline, ou seja, não necessita de conexão com a internet para funcionar.

Utilizei a distribuição Debian 11, mas o procedimento é o mesmo para qualquer distribuição Linux.

1. Instale o PocketSphinx e suas dependências:

sudo apt update
sudo apt install pocketsphinx pocketsphinx-en-us

Também precisamos instalar o módulo Python para o PocketSphinx:

pip3 install pocketsphinx

Arquivo de palavras-chave

O primeiro passo será a criação de um arquivo contendo as palavras-chave que serão utilizadas para ativar a assistente virtual. Para isso, crie um arquivo chamado fabio.keyphrase, com o seguinte conteúdo:

jarvis/1e-1/
hello/1e-1/

O número após a barra (/) indica o quão rigoroso você quer que o reconhecimento seja. Valores menores tornam o reconhecimento mais rigoroso, enquanto valores maiores tornam-no menos rigoroso.

No meu caso salvei o arquivo em /home/fabio/.config/, mas você pode salvar em qualquer lugar.

Criando a assistente virtual

Agora vamos criar o script Python que irá captar os comandos de voz e responder por eles. Para isso, crie um arquivo chamado jarvis.py, com o seguinte conteúdo:

import os
from pocketsphinx import LiveSpeech, get_model_path

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)

Feito isso, execute o script:

python3 jarvis.py

Agora, basta falar a palavra-chave que você definiu no arquivo fabio.keyphrase, e a assistente virtual irá responder por ela.

   1. Introdução
   2. Exemplo de como abrir programas

Implementando um tradutor de línguas no seu web site

Comparação entre Tcl e Perl

MP3 no Linux

Viva o Linux 2008 - Site com cara e recursos novos!

Tecnologia a seu favor: 3 motivos para ter um sistema financeiro e ganhar tempo no trabalho

Data, hora e timezone em sistemas GNU-Linux

Solução para Ubuntu sem som

Qual distribuição usar

Criando uma ajuda mais aprimorada

Comandos básicos para Linux

#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

Entre na sua conta para comentar.