PI PIN은 하루 종일 24 시간 동안 착용 할 수있는 AI 핀으로, 대화를 기록하고 생성 AI를 사용하여 요약하고 메모를합니다.
Pi 핀은 완전히 오픈 소스이며 저렴하며 마이크와 배터리가있는 15 달러짜리 Raspberry Pi Zero 2 W에 제작되었습니다.
완전히 해킹 가능하며 자신의 응용 프로그램을 작성할 수 있습니다.
Pi 핀의 인클로저는 Raspberry Pi Zero, Microphone 및 Battery 주위에 설계되어 (비교적) 소형 물리적 치수를 보장합니다.
전자 장치는 의도적으로 최소화되며 (PI, 마이크, 배터리, 배터리 충전 모듈) 대부분의 부품은 3D 인쇄용이거나 상용 제품으로 제공됩니다.
아래 그래프는 PI 핀에 필요한 모든 배선을 보여줍니다.
| 에서 | 에게 |
|---|---|
| 슬라이드 스위치 오른쪽 핀 | PI 5V (핀 2) |
| 슬라이드 스위치 중간 핀 | 전원 모듈 5V + |
| 전원 모듈 5V- | pi gnd (핀 6) |
| 전원 모듈 3.7V + | 배터리 + |
| 전원 모듈 3.7V- | 배터리 - |
| MIC GND | pi gnd (핀 6) |
| 마이크 3V | PI 3.3V (핀 1) |
| 마이크 BCLK | PI PCM 18 (핀 12) |
| 마이크 LRCL | PI PCM 19 (핀 35) |
| 마이크 dout | PI PCM 20 (PIN 38) |
배터리:
배터리 솔루션으로 전원 모듈이있는 3.7V 600MAH 702030 리튬 배터리를 사용합니다. 전원 모듈은 배터리 충전 컨트롤러 및 DC/DC 컨버터처럼 작동합니다.
일반적으로 와이어 연결은 아래의 왼쪽 그래프를 원합니다. 3.7V 리튬 배터리 + 에 전원 모듈 배터리 + 와 3.7V 리튬 배터리 - 전원 모듈 - 에 연결할 수 있습니다 (오른쪽 그래프 아래와 마찬가지로).
그런 다음 전원 모듈 5V + 및 - 에서 일정한 5V 출력이 있습니다.
전원 모듈은 또한 배터리를 충전 할 수있는 USB-C 포트를 제공합니다.
또한 전원 모듈 5V + 와 PI 5V 헤더간에 스위치 패널 슬라이드 스위치를 추가하여 전체 핀 시스템을 켜거나 끄는 데 도움이됩니다.
마이크로폰:
우리는 Adafruit I2S MEMS 마이크를 마이크 모듈로 사용하고 있으며 아래 그래프는 마이크를 Raspberry Pi로 연결하는 방법을 보여줍니다. 그래프는 큰 Raspberry Pi가있는 마이크 배선을 보여 주지만 GPIO 헤더는 PI 핀에서 사용한 Raspberry Pi Zero와 동일합니다.
케이스 어셈블리 :
여기에서 3D 인쇄 부품을 찾을 수 있습니다 (단계 파일). 상단 부분은 Raspberry Pi Zero 주위에 설계되었으며 하단 부분은 마이크, 배터리, 전원 모듈 및 스위치를 포함하는 설계되었습니다. 모든 모듈은 케이스 내부에 완벽하게 장착해야하며 테이프 나 접착제를 사용하여 안정된 테이프를 사용할 수도 있습니다.
아래에 남은 그래프는 케이스의 모듈 (배선 없음)을 보여줍니다.
아래에 남은 그래프는 케이스의 모듈 (배선) 피팅을 보여줍니다.
그런 다음 두 부분을 결합하고 4 개의 M1x7mm 나사를 사용하여 고정 할 수 있습니다.
Raspbian 또는 Raspbian Lite로 시작해야합니다. Raspberry Pi 다운로드 페이지에서 최신 버전을 가져 와서 다음 지침을 따라 OS 이미지를 SD 카드에 설치하십시오.
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.py스크립트를 실행하면 구성 옵션이 제공됩니다.
PI 모델은 자동으로 감지해야합니다.
부팅시 I2S MIC 모듈 지지대를로드하려면 여기에서 예를 선택하십시오. 그렇지 않으면 사용하려면 모듈을 수동으로 설치해야합니다.
설정이 적용되도록 재부팅해야합니다.
sudo reboot다음 명령을 사용하여 사용 가능한 입력 장치를 나열하십시오.
arecord -l이와 유사한 정보가 포함 된 카드 항목이 표시됩니다.
카드 번호를 기록하십시오. 위의 스크린 샷에서 0 입니다. 이 명령으로 Mono에서 6 초의 WAV 파일을 녹음 할 수 있습니다 (위의 카드 번호와 일치하도록 -plughw 매개 변수를 변경) :
arecord -D dmic_sv -c2 -r 44100 -f S32_LE -t wav -V mono -v file.wav --duration=6스피커가 PI에 연결된 경우 장치에서 파일을 직접 재생할 수 있습니다.
aplay file.wav
또는 재생을 위해 컴퓨터에 복사 할 수 있습니다.
Alsamixer 및 ALSA 구성을 통해 마이크에 볼륨 컨트롤을 추가 할 수 있습니다.
sudo apt-get install vim
vim ~ /.asoundrc다음을 넣으십시오.
# 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
}이제 볼륨을 변경하기 전에 한 번 장치를 사용해야합니다 (이것은 ALSA입니다).
달리다:
arecord -D dmic_sv -c1 -r 48000 -f S32_LE -t wav -V mono -v file1.wav --duration=6이제 Alsamixer를 실행할 수 있습니다 - F6을 누르고 I2S 사운드 카드를 선택하십시오.
재생 컨트롤이 없다고 불평 할 것입니다 (녹음 만하기 때문에).
캡처 모드로 전환하려면 F4를 눌러 위/아래 화살표 키로 볼륨을 조정할 수 있어야합니다.
때로는 ~/.asoundrc 재부팅 후 사라지면 raspi-config 설정하여 데스크탑으로 부팅하지 않고 콘솔로 부팅해야합니다.
sudo raspi-configPython 스크립트를 통해 오디오를 녹화하려면 다음의 종속성을 설치해야합니다.
sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudio19-dev
sudo pip install pyaudiopython record_on_boot.py --output_folder ./recording배터리 전원 공급 장치가있는 웨어러블로 PI Zero를 실행하므로 제로 전원이 켜질 때 Python 스크립트를 시작하는 방법이 필요합니다.
다음 내용이 포함 된 /lib/systemd/system/ , eg pipin.service 에서 서비스 파일을 만듭니다.
sudo vim /lib/systemd/system/pipin.service다음을 넣으십시오.
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 User 변경하고 ExecStart 자신의 이름과 스크립트 경로로 변경하십시오.
파일 권한을 변경하고 부팅 할 때 서비스를 시작할 수 있도록합니다.
sudo chmod 644 /lib/systemd/system/pipin.service
sudo systemctl start pipin.service
sudo systemctl enable pipin.service 디버깅의 경우 sudo systemctl status pipin.service 사용하여 상태를 확인하고 journalctl -u pipin.service 사용하여 출력 로그를 확인할 수 있습니다.
서비스를 수동으로 중지하려면 sudo systemctl stop pipin.service 사용하십시오.
스크립트를 사용하기 전에 요약을 받으려는 장치에 OpenAI 클라이언트 종속성을 설치해야 할 수도 있습니다. 내 노트북을 사용하여 AI 엔드 포인트를 호출하고 있습니다.
pip install -r requirements.txt summarize.ipynb speech2text에 OpenAI whisper 사용한 예를 보여준 다음 OpenAI gpt4 사용하여 대화의 전사를 요약합니다.
이것은 기술 뉴스를 듣는 pi-pin을 착용했을 때 얻은 요약입니다 (오디오 녹음은 ./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.
전사 및 요약은 ./recording/ 폴더에서도 찾을 수 있습니다.