Índice:
- Etapa 1: guia de hardware
- Etapa 2: instalação do sistema operacional no Raspberry Pi
- Etapa 3: configurar o VNC no Raspberry Pi para controlar remotamente
- Etapa 4: configuração da câmera
- Etapa 5: Instalação e configuração
- Etapa 6: Capturas de tela de SAÍDA
Vídeo: Câmera acionada por voz usando Raspberry Pi: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
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
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
- Raspberry Pi Modelo B
- Picamera
- Mini microfone USB
- Cartão SD
- Cabo Ethernet
- Adaptador Mini-USB (opcional)
- Micro USB - carregador de parede
- 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
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
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
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:
Captura de imagem acionada por movimento e e-mail: 6 etapas
Captura de imagem acionada por movimento e e-mail: construímos sobre os projetos ESP32-CAM anteriores e construímos um sistema de captura de imagem acionada por movimento que também envia um e-mail com a imagem como anexo. Esta construção usa a placa ESP32-CAM junto com um módulo sensor PIR que é baseado no AM312
Lâmpada de braço oscilante robótico, acionada por polia: 6 etapas
Lâmpada de braço oscilante robótico acionada por polia: Você vai precisar de: Ferramentas: - Cortadores de fio -Serradeira -Ratchet ou chave -Broca ou cortador de laser (opcional) - Eletrônica de pistola de cola quente: -2x servo motores de passatempo-Arduino / RaspberryPi / Elegoo kit-breadboard-Joystick Module ou 2 potenciômetros Suprimentos / outro material
Guardião dos olhos: proteção ocular acionada por som: 9 etapas (com fotos)
Eye Guardian: Proteção ocular acionada por som: Eye Guardian é uma proteção ocular acionada por som contínuo de alto decibel alimentado por Arduino. Ele detecta o som de equipamentos pesados e reduz os óculos de proteção enquanto o equipamento está em uso. EsboçoNa primeira etapa, irei explicar o Inspirati
Câmera acionada por movimento com Raspberry Pi: 6 etapas
Câmera acionada por movimento com Raspberry Pi: Raspberry Pi com sensor infravermelho passivo HC-SR501 para detectar a aparência do esquilo e, em seguida, acionar SONY A6300 para gravar o vídeo no melhor ângulo e distância
Câmera espiã acionada por movimento: 5 etapas (com fotos)
Câmera espiã acionada por movimento: agora você pode fazer vigilância secreta com esta câmera " pego em movimento " câmera de vídeo espiã que grava vídeo e áudio ocultos. Veja em ação e os resultados do teste