ronibandini/reggaetonBeGone

Detects reggaeton genre with Machine Learning and sends packets to disable BT speakers (hopefully)

🎧 레게톤 비 가든 – 레게톤을 감지하고 블루투스 스피커를 무음화하는 엣지AI 기기

무엇을 하는가 – 레게톤을 감지하기 위해 라즈베리파이 3가 USB 마이크로 주변 소리를 지속적으로 모니터링합니다. Edge Impulse 음성 분류 모델이 음악이 레게톤인지 여부를 판단합니다. 신뢰도가 사용자가 설정한 임계값(기본값 95%)을 초과하면, 미리 설정된 스피커에 블루투스 "테스트 루틴"을 실행하여 원치 않는 음악을 즉시 차단합니다. 모든 활동(신뢰도 점수, 트리거 이벤트, 오류)은 소형 128×32 SSD1306 OLED 화면에 표시되고 로그에 기록됩니다.

왜 존재하는가 – 저자는 시끄러운 이웃의 블루투스 스피커에 대한 유쾌한 하드웨어적 해결책으로 이 장치를 만들었습니다. 저전력 엣지 하드웨어에서 TinyML이 로컬로 실행 가능하며, GPIO 버튼, OLED, 블루투스와 같은 주변 장치와 상호작용할 수 있음을 보여줍니다.

주요 구성 요소

  • 하드웨어: Raspberry Pi 3, USB 마이크(또는 오디오 인터페이스), SSD1306 128×32 OLED, 푸시버튼(GPIO 26), 선택적 블루투스 어댑터, 3D 프린트 케이스.
  • 소프트웨어: Python 3, Edge Impulse Linux SDK (AudioImpulseRunner), PyAudio/PortAudio, Adafruit_SSD1306 (디스플레이용), RPi.GPIO (버튼용), BlueZ (블루투스용).
  • 모델: 16kHz 모노 WAV 윈도우(4초)에 MFE 특징량을 사용해 훈련된 소형 음성 분류 모델. 두 레이블: reggaetonotros. 모델은 Edge Impulse .eim 파일로 배포되며, 훈련에 단 6곡만 사용되었기 때문에 사용자는 데이터셋을 확장할 것을 권장합니다.

작동 방식

  1. 전원 켜기 → OLED에 타겟 스피커와 선택된 블루투스 방법이 표시됨.
  2. 물리적 버튼을 누를 때까지 대기.
  3. .eim 모델을 AudioImpulseRunner로 로드.
  4. 지속적으로 오디오를 캡처하고 추론을 실행하며 현재 신뢰도를 표시.
  5. reggaeton 신뢰도가 임계값을 초과하거나 forceFire가 설정된 경우, 이벤트를 로그에 기록하고 설정된 MAC 주소에 대해 선택된 블루투스 루틴을 실행.

설정 옵션 (reggaetonBeGone.py 상단 근처에서 편집 가능)

  • selectedDeviceId – USB 오디오 장치 인덱스.
  • threshold – 발화에 필요한 신뢰도(기본값 0.95).
  • targetAddr – 블루투스 스피커 MAC 주소.
  • method – 여러 실험적 블루투스 공격 스크립트 중 하나 선택.
  • packagesSize, threadsCount – 블루투스 루틴의 파라미터.
  • forceFire – 테스트용 수동 오버라이드.

일반적인 사용 사례 – 특정 음악 장르를 감지하고 근처 블루투스 스피커를 자동으로 방해하는 자체 포함형 온디바이스 솔루션을 원하는 하드웨어 애호가나 메이커를 위한 것입니다. 모든 추론이 로컬에서 실행되므로 클라우드 연결이 필요 없으며, 프라이버시를 보호하고 지연 시간을 낮출 수 있습니다.

프로젝트 성숙도 – 버전 1.0(2024년 2월)은 완전히 문서화되어 있으며 하드웨어 배선도, 소프트웨어 설정 단계, 샘플 로그를 포함합니다. 후속 버전(2.0, 3.0)은 64비트 지원, 온디바이스 블루투스 스캔, 오류 감소를 위한 스트라이크 시스템, 업데이트된 모델을 추가하지만, 이 리포지토리가 아닌 워크숍 링크를 통해 배포됩니다.

자원

  • 소스 코드: reggaetonBeGone.py (메인 애플리케이션) 및 자산(로고, 폰트, 샘플 로그).
  • 모델: Hugging Face에 있는 reggaetonbgone-linux-armv7-v4.eim.
  • 완전한 빌드 가이드: Hackster.io 튜토리얼, Medium 기사, 여러 동영상 워크숍(Nerdearla, Ekoparty).
  • 라이선스: MIT.

결론 – 레게톤 비 가든은 라즈베리파이에서 TinyML을 구현한 구체적인 사례로, 음성 분류, 간단한 UI, 블루투스 작동을 결합하여 독특하고 목적에 특화된 레게톤 방지 장치를 만들어냅니다.

관련

  • Dispatch
  • Dispatch
  • 프로젝트
  • 프로젝트
  • Dispatch