Pi Pin es un PIN de IA que puede usar todo el día 24 horas, lo que registra la conversación que tiene y usa IA generativa para resumir y tomar notas para usted.
El pin PI es completamente abierto y asequible, está construido en una Raspberry Pi Zero 2 W de $ 15 con un micrófono y una batería.
Es totalmente pirateable y puedes escribir tu propia aplicación en ella.
El recinto del pin Pi está diseñado alrededor del Raspberry Pi Zero, el micrófono y la batería para garantizar (relativamente) dimensiones físicas compactas.
La electrónica se mantiene mínimas intencionalmente (PI, micrófono, batería, módulo de carga de batería) y la mayoría de las piezas son imprimibles en 3D o están disponibles como productos listos para usar.
El siguiente gráfico muestra todo el cableado que necesita para Pi Pin.
| De | A |
|---|---|
| Pin del interruptor de deslizamiento | Pi 5V (pin 2) |
| Pon del medio del interruptor deslizante | Módulo de potencia 5V + |
| Módulo de potencia 5V - | Pi Gnd (pin 6) |
| Módulo de potencia 3.7V + | Batería + |
| Módulo de potencia 3.7V - | Batería - |
| Mic Gnd | Pi Gnd (pin 6) |
| MIC 3V | PI 3.3V (pin 1) |
| Mic Bclk | PI PCM 18 (pin 12) |
| Mic Lrcl | PI PCM 19 (pin 35) |
| Micrófono | PI PCM 20 (Pin 38) |
Batería:
Utilizamos una batería de litio de 3.7V 600mAh 702030 con un módulo de alimentación como solución de batería. El módulo de alimentación funciona como un controlador de carga de la batería y un convertidor DC/DC en uno.
Normalmente, la conexión de cable le gustaría el gráfico a la izquierda. Puede conectar la batería de litio de 3.7V + a la batería del módulo de alimentación + y la batería de litio de 3.7V - a la batería del módulo de alimentación - (al igual que el gráfico inferior a la derecha).
Después de eso, tendrá una salida constante de 5V en el módulo de potencia 5V + y - .
El módulo de alimentación también proporciona un puerto USB-C para que pueda cargar la batería.
También agregamos un interruptor de deslizamiento del panel de interruptor entre el módulo de alimentación 5V + y el encabezado PI 5V, lo que ayuda a encender / apagar todo el sistema PIN.
Micrófono:
Estamos utilizando el micrófono Adafruit I2S MEMS como el módulo de micrófono, y el gráfico a continuación muestra cómo se aloja el micrófono a una Raspberry Pi. El gráfico muestra el cableado de micrófono con una gran Raspberry Pi, pero el encabezado GPIO es el mismo que el Raspberry Pi Zero que usamos en Pi Pin.
Ensamblaje de casos:
Puede encontrar piezas impresas en 3D aquí (archivos de paso). La parte superior está diseñada alrededor del Raspberry Pi Zero, y la parte inferior está diseñada que contiene micrófono, batería, módulo de alimentación y interruptor. Todos los módulos deben ajustarse perfectamente dentro de la carcasa, y también puede usar cinta o pegamento para establo.
El gráfico que queda a continuación muestra el ajuste de módulos (sin cableado) en el caso.
El gráfico que queda a continuación muestra el ajuste de módulos (cableado) en el caso.
Luego puede combinar dos partes y usar cuatro tornillos M1x7mm para sujetarlas.
Tendrá que comenzar con Raspbian o Raspbian Lite. Obtenga la última versión de la página de descarga de Raspberry Pi y siga estas instrucciones para instalar la imagen del sistema operativo en la tarjeta SD.
Actualizar el PI
sudo apt-get -y update
sudo apt-get -y upgradesudo pip install --upgrade adafruit-python-shell
git clone https://github.com/liltom-eth/pi-pin.git
cd pi-pin/scripts
sudo python i2smic.pyUna vez que ejecute el script, se le presentará opciones para la configuración.
El modelo PI debe detectarse automáticamente.
Si desea que se cargue el soporte del módulo de micrófono I2S en el arranque, seleccione Sí aquí. De lo contrario, tendrá que instalar manualmente el módulo cada vez que desee usarlo.
Debe reiniciar la configuración para entrar en vigencia.
sudo rebootUse el siguiente comando para enumerar los dispositivos de entrada disponibles:
arecord -lDebería ver una entrada de tarjeta con información similar a esta:
Tenga en cuenta el número de tarjeta. En la captura de pantalla arriba es 0 . Puede registrar un archivo WAV de 6 segundos en Mono con este comando (cambie el parámetro -plughw para que coincida con el número de tarjeta desde arriba):
arecord -D dmic_sv -c2 -r 44100 -f S32_LE -t wav -V mono -v file.wav --duration=6Si tiene altavoces conectados al PI, puede volver a reproducir el archivo directamente en el dispositivo:
aplay file.wav
O puede copiarlo a su computadora para su reproducción.
Puede agregar control de volumen a su micrófono a través de Alsamixer y la configuración ALSA.
sudo apt-get install vim
vim ~ /.asoundrcY pon lo siguiente:
# This section makes a reference to your I2S hardware, adjust the card name
# to what is shown in arecord -l after card x: before the name in []
# You may have to adjust channel count also but stick with default first
pcm.dmic_hw {
type hw
card sndrpii2scard
channels 2
format S32_LE
}
# This is the software volume control, it links to the hardware above and after
# saving the .asoundrc file you can type alsamixer, press F6 to select
# your I2S mic then F4 to set the recording volume and arrow up and down
# to adjust the volume
# After adjusting the volume - go for 50 percent at first, you can do
# something like
# arecord -D dmic_sv -c2 -r 48000 -f S32_LE -t wav -V mono -v myfile.wav
pcm.dmic_sv {
type softvol
slave.pcm dmic_hw
control {
name " Boost Capture Volume "
card sndrpii2scard
}
min_dB -3.0
max_dB 30.0
}Ahora, antes de que pueda cambiar el volumen, necesita usar el dispositivo una vez (esto es una cosa de Alsa)
Correr:
arecord -D dmic_sv -c1 -r 48000 -f S32_LE -t wav -V mono -v file1.wav --duration=6Ahora puede ejecutar Alsamixer : presione F6 y seleccione la tarjeta de sonido I2S
Se quejará de que no hay controles de reproducción (porque es solo para grabar).
Presione F4 para cambiar al modo de captura y debería poder ajustar el volumen con las teclas de flecha hacia arriba/hacia abajo.
A veces ~/.asoundrc desaparece después del reinicio, debe configurar raspi-config para arrancar en la consola en lugar de arrancar al escritorio.
sudo raspi-configPara grabar los scripts de audio a través de Python, necesita instalar estas dependencias:
sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev
sudo pip install pyaudiopython record_on_boot.py --output_folder ./recordingEjecutaremos el Pi Zero como portable con una fuente de alimentación de la batería, por lo que necesitamos una forma de iniciar el script de Python cuando cero se enciende.
Cree un archivo de servicio en /lib/systemd/system/ , por ejemplo, pipin.service con el siguiente contenido:
sudo vim /lib/systemd/system/pipin.serviceY pon lo siguiente:
Description=Record on Boot
After=sound.target alsa-state.service
[Service]
User=tom
Type=simple
ExecStart=/usr/bin/python /home/tom/projects/pi-pin/record_on_boot.py --output_folder /home/tom/projects/pi-pin/recording/
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target Cambie User y ExecStart a su propio nombre y ruta de script.
Cambie el permiso del archivo y habilite el servicio que se inicie cuando se arranca.
sudo chmod 644 /lib/systemd/system/pipin.service
sudo systemctl start pipin.service
sudo systemctl enable pipin.service Para la depuración, puede usar sudo systemctl status pipin.service para verificar el estado y usar journalctl -u pipin.service para verificar el registro de salida.
Para detener manualmente el servicio, use sudo systemctl stop pipin.service .
Antes de usar el script, es posible que deba instalar algunas dependencias del cliente Operai en el dispositivo que desea obtener el resumen. Estoy usando mi computadora portátil para llamar a estos puntos finales de IA.
pip install -r requirements.txt summarize.ipynb le muestra un ejemplo usando OpenAI whisper para Speech2Text y luego use OpenAI gpt4 para resumir la transcripción de su conversación.
Este es un resumen que obtuve cuando usé el Pi-Pin escuchando a una noticia tecnológica (la grabación de audio se puede encontrar ./recording/wav_2024_03_20-065147_PM.wav ).
The report discusses the significant comeback of tech conferences in the Bay Area, focusing on a particularly large event in downtown San Jose centered around artificial intelligence. Tens of thousands of attendees created a scene reminiscent of a major concert outside the SAP Center, highlighting the immense interest and investment in AI. NVIDIA's GTC convention is spotlighted as a major contributor to this momentum, drawing a crowd of around 20,000 people and significantly benefiting local businesses. NVIDIA CEO Jensen Wang spoke on the transformative impact of AI across various industries, emphasizing the computer as a crucial societal tool. The event has led to a notable economic boost for the area, with restaurants and venues experiencing high demand. This resurgence of tech conferences is likened to the phenomenon of "revenge travel" post-COVID lockdowns, indicating a strong desire within the tech community to reconnect, explore new technologies, and invest in the industry's future.
La transcripción y el resumen también se pueden encontrar en la carpeta ./recording/ .