Índice:

Câmera acionada por voz usando Raspberry Pi: 6 etapas
Câmera acionada por voz usando Raspberry Pi: 6 etapas

Vídeo: Câmera acionada por voz usando Raspberry Pi: 6 etapas

Vídeo: Câmera acionada por voz usando Raspberry Pi: 6 etapas
Vídeo: Voice Controlled Power Outlets w/Raspberry Pi 2024, Novembro
Anonim
Câmera acionada por voz usando Raspberry Pi
Câmera acionada por voz usando Raspberry Pi

Desenvolva uma câmera que possa rodar com comandos de voice over, esta é principalmente projetada para pessoas de todos os tipos, principalmente para as pessoas que buscam a diversão de momentos fotográficos.

Etapa 1: guia de hardware

Guia de Hardware
Guia de Hardware

O VDC foi projetado no Raspberry Pi (Modelo B) e requer algum hardware adicional, como um adaptador wi-fi (opcional) e um microfone USB. O hardware sugerido é indicado abaixo com links para mais detalhes. Você pode experimentar marcas / especificações de hardware ligeiramente diferentes. O VDC não é afiliado a nenhum dos fornecedores de hardware vinculados.

A Lista Completa

  1. Raspberry Pi Modelo B
  2. Picamera
  3. Mini microfone USB
  4. Cartão SD
  5. Cabo Ethernet
  6. Adaptador Mini-USB (opcional)
  7. Micro USB - carregador de parede
  8. Alto-falantes que funcionam com o conector de áudio Raspberry Pi (provavelmente precisam ser autoalimentados)

A lista de periféricos verificados do Raspberry Pi pode ser útil para encontrar substitutos para os produtos recomendados acima.

conjunto

A montagem dos componentes necessários é simples. Insira o microfone, o cartão SD, o adaptador sem fio (se houver), o cabo micro-USB, o cabo Ethernet e os alto-falantes no Raspberry Pi. O adaptador de carregamento de parede USB é recomendado para alimentação, como um dispositivo autônomo.

O cabo Ethernet será usado para fazer login no pi de um computador durante a etapa de instalação do software. Após a instalação, se você preferir usar uma conexão sem fio, este cabo pode ser removido.

Conexão de internet

Conforme mencionado acima, o adaptador sem fio é opcional. Ele funciona perfeitamente em uma conexão com fio (via ethernet), então você pode escolher entre as duas configurações, dependendo do que funciona melhor para você.

Etapa 2: instalação do sistema operacional no Raspberry Pi

Instalação do sistema operacional no Raspberry Pi
Instalação do sistema operacional no Raspberry Pi

Introdução

Raspberry Pi é um microprocessador do tamanho de um cartão de crédito disponível em diferentes modelos com diferentes velocidades de processamento a partir de 700 MHz. Quer você tenha um modelo B ou B +, ou uma versão muito antiga, o processo de instalação permanece o mesmo. As pessoas que acessaram o site oficial do Raspberry Pi podem tê-los visto recomendando o sistema operacional "NOOBS" ou "NOOBS LITE" (também conhecido como "OS") para iniciantes. Mas usar o Pi é muito fácil e, sendo um iniciante, logo se tornará profissional. Portanto, é melhor ir com o sistema operacional mais poderoso e mais eficiente, o Raspbian. A principal razão pela qual o Raspbian é extremamente popular é que ele possui milhares de bibliotecas pré-construídas para realizar muitas tarefas e otimizar o sistema operacional. Isso representa uma grande vantagem durante a construção de aplicativos.

Baixando o Raspbian e o escritor de imagens

Baixe a última versão do Raspbian aqui. Você pode baixá-lo diretamente ou através dos torrents.

Página Raspbian

Link de download do Raspbian OS

Você precisará de um gravador de imagens para gravar o sistema operacional baixado no cartão SD (cartão micro SD no caso do modelo Raspberry Pi B +). Portanto, baixe o "win32 disk imager" aqui.

Escrevendo a imagem

Insira o cartão SD no laptop / pc e execute o gravador de imagens. Depois de aberto, navegue e selecione o arquivo de imagem Raspbian baixado. Selecione o dispositivo correto, ou seja, a unidade que representa o cartão SD. Se a unidade (ou dispositivo) selecionada for diferente do cartão SD, a outra unidade selecionada será corrompida. Por isso tem cuidado.

Depois disso, clique no botão "Escrever" na parte inferior. Como exemplo, veja a imagem abaixo, onde a unidade do cartão SD (ou micro SD) é representada pela letra "G: \"

Quando a gravação for concluída, ejete o cartão SD, insira-o no Raspberry Pi e ligue-o. Ele deve começar a inicializar.

Configurando o Pi

Lembre-se de que após inicializar o Pi, pode haver situações em que as credenciais do usuário, como o "nome de usuário" e a senha, serão solicitadas. O Raspberry Pi vem com um nome de usuário e senha padrão e, portanto, use-os sempre que solicitado. As credenciais são:

login: pi

senha: framboesa

Quando o Pi for inicializado pela primeira vez, uma tela de configuração chamada "Opções de configuração" deverá aparecer e terá a aparência da imagem abaixo.

Se você perdeu a tela "Opções de configuração", não é um problema, você sempre pode obtê-la digitando o seguinte comando no terminal.

sudo raspi-config

Depois de executar este comando, a tela "Opções de configuração" aparecerá conforme mostrado na imagem acima.

Agora que a janela Opções de configuração está aberta, teremos que definir algumas coisas. Depois de concluir cada uma das etapas abaixo, se ele solicitar a reinicialização do Pi, faça-o. Após a reinicialização, se você não obtiver a tela "Opções de configuração", siga o comando fornecido acima para obter a tela / janela.

A primeira coisa a fazer:

selecione a primeira opção na lista da janela de opções de configuração, ou seja, selecione o

Expandir sistema de arquivos

opção e pressione a tecla Enter. Fazemos isso para usar todo o espaço presente no cartão SD como uma partição completa. Tudo o que isso faz é expandir o sistema operacional para caber todo o espaço no cartão SD, que pode então ser usado como memória de armazenamento para o Pi. A segunda coisa a fazer:

selecione a terceira opção na lista da janela de opções de configuração, ou seja, selecione a opção "Ativar Boot To Desktop / Scratch" e pressione a tecla Enter. Isso o levará para outra janela chamada janela "escolha a opção de inicialização" que se parece com a imagem abaixo.

Na janela "escolher opção de inicialização", selecione a segunda opção, ou seja, "Área de trabalho Faça login como usuário 'pi' na área de trabalho gráfica" e pressione o botão Enter. Uma vez feito isso, você será levado de volta à página "Opções de configuração"; caso contrário, selecione o botão "OK" na parte inferior desta janela e você será levado de volta à janela anterior. Fazemos isso porque queremos inicializar no ambiente de desktop com o qual estamos familiarizados. Se não fizermos essa etapa, o Raspberry Pi inicializará em um terminal todas as vezes sem opções de GUI. Assim que ambas as etapas estiverem concluídas, selecione o botão "Concluir" na parte inferior da página e ele deve reiniciar automaticamente. Caso contrário, use o seguinte comando no terminal para reinicializar.

sudo reboot

Atualizando o firmware

Após a reinicialização da etapa anterior, se tudo deu certo, você irá para a área de trabalho que se parece com a imagem abaixo.

Quando estiver na área de trabalho, abra um terminal e digite o seguinte comando para atualizar o firmware do Pi.

sudo rpi-update

A atualização do firmware é necessária porque certos modelos do Pi podem não ter todas as dependências necessárias para funcionar sem problemas ou pode ter algum bug. O firmware mais recente pode ter a correção para esses bugs, portanto, é muito importante atualizá-lo no início.

aqui está o link de vídeo disponível:

Instalando e configurando o sistema operacional Raspbian Jessie no Raspberry Pi (clique no link)

Etapa 3: configurar o VNC no Raspberry Pi para controlar remotamente

Configure o VNC no Raspberry Pi para controle remoto
Configure o VNC no Raspberry Pi para controle remoto

VNC (Virtual Network Computing)

Às vezes não é conveniente trabalhar diretamente no Raspberry Pi. Talvez você queira trabalhar nele de outro dispositivo por controle remoto.

VNC é um sistema gráfico de compartilhamento de área de trabalho que permite controlar remotamente a interface da área de trabalho de um computador (executando o servidor VNC) de outro computador ou dispositivo móvel (executando o VNC Viewer). O VNC Viewer transmite o teclado e o mouse ou eventos de toque para o VNC Server e recebe atualizações na tela em troca.

Você verá a área de trabalho do Raspberry Pi dentro de uma janela em seu computador ou dispositivo móvel. Você poderá controlá-lo como se estivesse trabalhando no próprio Raspberry Pi.

O VNC Connect do RealVNC está incluído no Raspbian. Consiste no servidor VNC, que permite controlar o Raspberry Pi remotamente, e no VNC Viewer, que permite controlar computadores desktop remotamente a partir do Raspberry Pi, caso você queira.

Você deve habilitar o servidor VNC antes de usá-lo: as instruções para isso são fornecidas a seguir. Por padrão, o VNC Server oferece acesso remoto à área de trabalho gráfica que está sendo executada em seu Raspberry Pi, como se você estivesse sentado na frente dele.

Habilitando o servidor VNC

No seu Raspberry Pi, execute os seguintes comandos para garantir que você tenha a versão mais recente do VNC Connect:

sudo apt-get update

sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

Agora habilite o servidor VNC. Você pode fazer isso graficamente ou na linha de comando.

Habilitando o servidor VNC graficamente

No seu Raspberry Pi, inicialize na área de trabalho gráfica.

Selecione Menu> Preferências> Configuração do Raspberry Pi> Interfaces.

Certifique-se de que o VNC esteja ativado. Habilitando o servidor VNC na linha de comando

Você pode habilitar o servidor VNC na linha de comando usando raspi-config:

sudo raspi-config

Agora, habilite o servidor VNC fazendo o seguinte:

Navegue até as opções de interface

Role para baixo e selecione VNC> Sim. Conectando-se ao Raspberry Pi com VNC Viewer

Existem duas maneiras de se conectar ao Raspberry Pi. Você pode usar um ou ambos, dependendo do que funciona melhor para você.

Estabelecendo uma conexão direta

As conexões diretas são rápidas e simples, desde que você esteja na mesma rede local privada do Raspberry Pi. Por exemplo, pode ser uma rede com fio ou sem fio em casa, na escola ou no escritório).

No seu Raspberry Pi (usando uma janela de terminal ou via SSH), use essas instruções ou execute ifconfig para descobrir seu endereço IP privado.

ifconfig

No dispositivo que você usará para assumir o controle, baixe o VNC Viewer. Para melhores resultados, use o aplicativo compatível do RealVNC.

Digite o endereço IP privado do seu Raspberry Pi no VNC Viewer:

Estabelecendo uma conexão com a nuvem

Você tem o direito de usar o serviço de nuvem do RealVNC gratuitamente, desde que o acesso remoto seja apenas para fins educacionais ou não comerciais.

As conexões em nuvem são convenientes e criptografadas de ponta a ponta. Eles são altamente recomendados para se conectar ao seu Raspberry Pi pela Internet. Não há firewall ou reconfiguração de roteador, e você não precisa saber o endereço IP do seu Raspberry Pi ou fornecer um estático.

Cadastre-se para uma conta RealVNC aqui: é grátis e leva apenas alguns segundos.

No seu Raspberry Pi, faça login no servidor VNC usando suas novas credenciais de conta RealVNC:

No dispositivo que você usará para assumir o controle, baixe o VNC Viewer. Você deve usar o aplicativo compatível do RealVNC

Faça login no VNC Viewer usando as mesmas credenciais da conta RealVNC e toque ou clique para se conectar ao Raspberry Pi:

Autenticação no servidor VNC

Para concluir uma conexão direta ou na nuvem, você deve se autenticar no servidor VNC.

Se você estiver se conectando a partir do aplicativo VNC Viewer compatível do RealVNC, insira o nome de usuário e a senha que você normalmente usa para fazer login em sua conta de usuário no Raspberry Pi. Por padrão, essas credenciais são pi e raspberry.

Se você estiver se conectando a partir de um aplicativo que não seja do RealVNC Viewer, primeiro será necessário fazer o downgrade do esquema de autenticação do servidor VNC, especificar uma senha exclusiva para o servidor VNC e, em seguida, inseri-la. Para fazer isso, abra a caixa de diálogo Servidor VNC no seu Raspberry Pi, selecione Menu> Opções> Segurança, e escolha a senha VNC em Autenticação.

Para ativar esse recurso:

No seu Raspberry Pi, abra a caixa de diálogo Servidor VNC.

Navegue até Menu> Opções> Solução de problemas e selecione Ativar modo de captura direta experimental.

No dispositivo que você usará para assumir o controle, execute o VNC Viewer e conecte-se.

Nota: as conexões existentes devem ser reiniciadas para que essas alterações tenham efeito.

Se o desempenho parecer prejudicado, tente estas etapas de solução de problemas ou informe o RealVNC.

Criação de um desktop virtual

Se o seu Raspberry Pi não tiver cabeça (ou seja, não estiver conectado a um monitor) ou estiver controlando um robô, é improvável que esteja executando uma área de trabalho gráfica.

O VNC Server pode criar um desktop virtual para você, oferecendo acesso remoto gráfico sob demanda. Este desktop virtual existe apenas na memória do seu Raspberry Pi:

Para criar e se conectar a uma área de trabalho virtual:

No seu Raspberry Pi (usando Terminal ou via SSH), execute o servidor vnc. Anote o endereço IP / número de exibição que o servidor VNC imprimirá em seu terminal (por exemplo, 192.167. **. **).

No dispositivo que você usará para assumir o controle, insira essas informações no VNC Viewer. Para destruir uma área de trabalho virtual, execute o seguinte comando:

vncserver -kill:

Isso também interromperá todas as conexões existentes com esta área de trabalho virtual.

Etapa 4: configuração da câmera

Configuração da câmera
Configuração da câmera

Configurando o hardware da câmera

Aviso: as câmeras são sensíveis à estática. Aterre-se antes de manusear o PCB. Uma torneira de pia ou similar deve ser suficiente se você não tiver uma pulseira de aterramento.

A placa da câmera se conecta ao Raspberry Pi por meio de um cabo de fita de 15 vias. Há apenas duas conexões a serem feitas: o cabo de fita precisa ser conectado ao PCB da câmera e ao próprio Raspberry Pi. Você precisa passar o cabo da maneira certa, ou a câmera não funcionará. No PCB da câmera, o revestimento azul do cabo deve estar voltado para fora do PCB e no Raspberry Pi deve ficar voltado para a conexão Ethernet (ou onde o conector Ethernet estaria se você estiver usando um modelo A).

Embora os conectores no PCB e no Pi sejam diferentes, eles funcionam de maneira semelhante. No próprio Raspberry Pi, puxe as abas em cada extremidade do conector. Deve deslizar facilmente e ser capaz de girar ligeiramente. Insira totalmente o cabo de fita na ranhura, certificando-se de que está colocado direito e, em seguida, pressione suavemente as guias para prendê-lo no lugar. O conector PCB da câmera também requer que você retire as guias da placa, insira o cabo com cuidado e empurre as guias para trás. O conector PCB pode ser um pouco mais estranho do que o próprio Pi.

Configurando o software da câmera

Execute as seguintes instruções na linha de comando para baixar e instalar o kernel, firmware de GPU e aplicativos mais recentes. Você precisará de uma conexão com a Internet para que isso funcione corretamente.

sudo apt-get update

sudo apt-get upgrade

Agora você precisa habilitar o suporte da câmera usando o

raspi-config

programa que você usou quando configurou o Raspberry Pi pela primeira vez.

sudo raspi-config

Use as teclas de cursor para mover para a opção de câmera e selecione 'ativar'. Ao sair do raspi-config, ele solicitará a reinicialização. A opção de ativação garantirá que, na reinicialização, o firmware correto da GPU será executado com o driver e ajuste da câmera, e a divisão da memória da GPU é suficiente para permitir que a câmera adquira memória suficiente para funcionar corretamente.

Se não estiver habilitado, habilite-o e reinicie seu Pi para começar

Para testar se o sistema está instalado e funcionando, tente o seguinte comando:

raspistill -v -o test.jpg

O visor deve mostrar uma pré-visualização de cinco segundos da câmera e, em seguida, tirar uma foto, salva no arquivo test.jpg, enquanto exibe várias mensagens informativas.

RASPIVID

Raspivid é a ferramenta de linha de comando para capturar vídeo com o módulo da câmera.

Com o módulo da câmera conectado e habilitado, grave um vídeo usando o seguinte comando:

raspivid -o vid.h264

Lembre-se de usar

-hf

e

-vf

para virar a imagem se necessário, como com

raspistill

Isso salvará um arquivo de vídeo de 5 segundos no caminho fornecido aqui como vid.h264 (duração padrão).

Especifique a duração do vídeo

Para especificar a duração do vídeo obtido, passe o sinalizador -t com um número de milissegundos. Por exemplo:

raspivid -o video.h264 -t 10000

Isso gravará 10 segundos de vídeo.

Formato de vídeo MP4

O Pi captura vídeo como um fluxo de vídeo H264 bruto. Muitos reprodutores de mídia se recusam a reproduzi-lo ou reproduzi-lo em uma velocidade incorreta, a menos que seja "empacotado" em um formato de contêiner adequado como MP4. A maneira mais fácil de obter um arquivo MP4 do

raspivo

comando está usando MP4Box.

Instale o MP4Box com este comando:

sudo apt-get install -y gpac

Capture seu vídeo cru com raspivid e embrulhe-o em um contêiner MP4 como este:

# Capture 30 segundos de vídeo bruto a uma taxa de bits de 640x480 e 150kB / s em um arquivo pivideo.h264:

raspivid -t 30000 -w 640 -h 480 -fps 25 -b 1200000 -p 0, 0, 640, 480 -o pivideo.h264 # Envolva o vídeo bruto com um contêiner MP4 MP4Box -add pivideo.h264 pivideo.mp4 # Remove o arquivo bruto de origem, deixando o arquivo pivideo.mp4 restante para reproduzir rm pivideo.h264

Como alternativa, envolva MP4 em torno de sua saída raspivid existente, assim:

MP4Box -add video.h264 video.mp4

Etapa 5: Instalação e configuração

Siga estas instruções apenas se desejar compilar seu software do zero. As etapas abaixo são necessárias e recomendadas como o mesmo processo de instalação em seu Raspberry pi.

Instalando as dependências

Instalando Sphinxbase / Pocketsphinx

Primeiro, você precisa instalar o Pocketsphinx. Se você estiver usando o Debian Sid (instável) ou Jessie (teste), você pode apenas fazer:

sudo apt-get update

sudo apt-get install pocketsphinx

Comece instalando algumas dependências:

sudo apt-get install subversion autoconf libtool automake gfortran g ++ - sim

Em seguida, vá para o diretório inicial (ou Jasper) para verificar e instalar o CMUCLMTK:

svn co

cd cmuclmtk /

./autogen.sh && make && sudo make install

CD..

Então, quando você sair do diretório CMUCLTK, faça o download das seguintes bibliotecas:

Instalando Phonetisaurus, m2m-aligner e MITLM

Para usar o mecanismo Pocketsphinx STT, você também precisa instalar o MIT Language Modeling Toolkit, m2m-aligner e Phonetisaurus (e, portanto, OpenFST).

Se você não estiver usando o Debian, execute estas etapas:

#-original:

# wget

#-novo:

wget

wget

wget

wget

Descompacte os downloads:

tar -xvf m2m-aligner-1.2.tar.gz

tar -xvf openfst-1.3.4.tar.gz

tar -xvf is2013-conversion.tgz

tar -xvf mitlm-0.4.1.tar.gz

Construir OpenFST:

cd openfst-1.3.4 /

sudo./configure --enable-compact-fsts --enable-const-fsts --enable-far --enable-lookahead-fsts --enable-pdt

tempo sudo make install # voltar depois de muito tempo

CD..

66m38.394s reais

usuário 64m42.620s

sys 1m2.150s

df -h /

Tamanho do sistema de arquivos usado Uso disponível% Montado em / dev / root 14G 4,4G 8,3G 35% /

Build M2M:

cd m2m-aligner-1.2 /

sudo make

CD..

Construir MITLMT:

cd mitlm-0.4.1 /

sudo./configure

sudo make install

CD..

Construir fonetisaurus:

cd is2013-conversion / phonetisaurus / src

sudo make

CD

Mova alguns dos arquivos compilados:

sudo cp ~ / m2m-aligner-1.2 / m2m-aligner / usr / local / bin / m2m-aligner

#-original:

# sudo cp ~ / phonetisaurus-0.7.8 / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

#-precisa ser:

sudo cp ~ / is2013-conversion / bin / phonetisaurus-g2p / usr / local / bin / phonetisaurus-g2p

Observe o caminho alterado para o executável.

Obtenha e construa o modelo FST do Phonetisaurus

wget

tar -xvf g014b2b.tgz

cd g014b2b /

./compile-fst.sh

CD..

Finalmente, renomeie a seguinte pasta por conveniência:

mv ~ / g014b2b ~ / phonetisaurus

Assim que as instalações forem concluídas, reinicie seu Pi.

Seguindo as instruções de https://raspberrypi.stackexchange.com/questions/40 …

Também adicionei o (novo) arquivo `/ etc / modprobe.d / alsa-base.conf` com este conteúdo:

# Isso define o valor do índice dos cartões, mas não reordena.

opções snd_usb_audio index = 0

opções snd_bcm2835 índice = 1

# Faz o reordenamento.

options snd slots = snd_usb_audio, snd_bcm2835

para garantir a ordenação adequada dos dispositivos de som (não tenho certeza se isso é realmente necessário, no entanto)

Terminadas as instalações - algumas depurações a seguir …

Tentando iniciar o jasper:

pi @ AVIV: ~ $./jasper/jasper.py

Traceback (última chamada mais recente):

Arquivo "./jasper/jasper.py", linha 12, in from client import tts, stt, jasperpath, diagnose File "/home/pi/jasper/client/tts.py", linha 41, em import diagnose File "/ home / pi / jasper / client / diagnose.py ", linha 9, no arquivo pip.req import" /usr/lib/python2.7/dist-packages/pip/_init_.py ", linha 74, em do pip. vcs import git, mercurial, subversion, bazaar # noqa File "/usr/lib/python2.7/dist-packages/pip/vcs/mercurial.py", linha 9, em de pip.download import path_to_url File "/ usr / lib / python2.7 / dist-packages / pip / download.py ", linha 25, em from requests.compat import IncompleteRead ImportError: não é possível importar o nome IncompleteRead

Fixado com:

sudo easy_install -U pip

Próximo problema:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - THE TALKING COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh e Jan Holthuis * ***************************** ************************** ERRO: root: Ocorreu um erro! Traceback (última chamada mais recente): Arquivo "./jasper/jasper.py", linha 143, em app = Jasper () Arquivo "./jasper/jasper.py", linha 88, em _init_ stt_engine_class = stt.get_engine_by_slug (stt_engine_slug) Arquivo "/home/pi/jasper/client/stt.py", linha 648, em get_engine_by_slug "dependências, etc.)")% slug)

ValueError: o mecanismo STT 'sphinx' não está disponível (devido a dependências ausentes, dependências ausentes etc.)

tentando

sudo apt-get install -y python-pocketsphinx

Corrija o caminho para `../ phonetisaurus / g014b2b.fst` para ser` / home / pi / phonetisaurus / g014b2b.fst` (em `.jasper / profile.yml`)

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - THE TALKING COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh e Jan Holthuis * ***************************** *************************** ERRO: client.stt: hmm_dir '/ usr / local / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k ' não existe! Certifique-se de ter definido o hmm_dir correto em seu perfil.

Corrija / ative o caminho para isso em `profile.yml` também:

hmm_dir: '/ usr / share / pocketsphinx / model / hmm / en_US / hub4wsj_sc_8k' #optional

(observe a ausência de "local" no caminho)

Sucesso parcial -:

pi @ AVIV: ~ $./jasper/jasper.py

*******************************************************

* JASPER - THE TALKING COMPUTER * * (c) 2015 Shubhro Saha, Charlie Marsh e Jan Holthuis * ***************************** **************************** ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.center_lfe ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.side ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.hdmi lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.hdmi ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.modem ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.phoneline ALSA lib pcm.c: 2239: (snd_pcm_open_noupdate) Cartões PCM desconhecidos.pcm.phoneline ALSA lib pulse.c: 243: (pulse_connect) PulseAudio: Incapaz de conectar: Conexão recusada ALSA lib pulse.c: 243: (pulse_connect) PulseAudio: Incapaz de conectar: Conexão recusada Não é possível conectar para servir r socket err = Arquivo ou diretório inexistente Não é possível conectar ao servidor de solicitação de canal do servidor jack não está em execução ou não pode ser iniciado Expressão 'paInvalidSampleRate' falhou em 'src / hostapi / alsa / pa_linux_alsa.c', linha: 2048 Expression 'PaAlsaStreamComponent_InitialConfigure (& self -> capture, inParams, self-> primeBuffers, hwParamsCapture, & realSr) 'falhou em' src / hostapi / alsa / pa_linux_alsa.c ', linha: 2719 Expression' PaAlsaStream_Configure (stream, inputParameters, outputParameters, sampleRate, framesPerBuffer & output, & hostBufferSizeMode) 'falhou em' src / hostapi / alsa / pa_linux_alsa.c ', linha: 2843 Traceback (última chamada mais recente): Arquivo "./jasper/jasper.py", linha 148, no arquivo app.run () "./jasper/jasper.py", linha 118, em run talks.handleForever () File "/home/pi/jasper/client/conversation.py", linha 31, em handleForever threshold, transcribed = self.mic.passiveListen (self.persona) Arquivo "/home/pi/jasper/client/mic.py", linha 110, em passiveListen frames_per_buffer = CHUNK) Arquivo "/usr/lib/python2.7/dist-packages/pyaudio.py", linha 747, em fluxo aberto = Stream (self, * args, ** kwargs) Arquivo "/usr/lib/python2.7/dist -packages / pyaudio.py ", linha 442, em _init_ self._stream = pa.open (** argumentos) IOError: [Errno Taxa de amostragem inválida] -9997

OK, corrigir RATE e CHUNK desta forma parece melhorar:

diff --git a / client / mic.py b / client / mic.py

índice 401cddb..dee49fe 100644

--- a / client / mic.py

+++ b / client / mic.py

@@ -93, 8 +93, 8 @@ class Mic:

"""

THRESHOLD_MULTIPLIER = 1.8

- TAXA = 16000

- CHUNK = 1024

+ TAXA = 44100 # 16000

+ CHUNK = 4096 # 1024

# número de segundos para permitir estabelecer o limite

THRESHOLD_TIME = 1

Etapa 6: Capturas de tela de SAÍDA

Recomendado: