← 开源
ronibandini

reggaetonBeGone

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

ApplicationsOtherPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.01k
Star
120
Fork
+1
本周
1
贡献者
创建于 2024-02-20 · 更新于 2026-10-12 · 今日第 12080 名
主要开发者
ronibandini

ronibandini/reggaetonBeGone 排名第 12,080,有 1,014 个星标。

同类别比较

ronibandini/reggaetonBeGone 排名第 12,080,此处有 8 个同类条目;ggeop/Python-ai-assistant 排名第 12,073。

同类别比较
名称排名指标
fallenshock/FlowEdit12,048
语言:
Python
星标数:
1,020
分叉数:
53
简介:
Official implementation of the paper: "FlowEdit: Inversion-Free Text-Based Editing Using Pre-Trained Flow Models"
hinterdupfinger/obsidian-ollama12,060
语言:
TypeScript
星标数:
1,018
分叉数:
87
alumnium-hq/alumnium12,068
语言:
TypeScript
星标数:
1,016
分叉数:
101
简介:
End-to-End Testing with AI for Agents and Engineers
ggeop/Python-ai-assistant12,073
语言:
Python
星标数:
1,015
分叉数:
247
简介:
Python AI assistant 🧠
wang-rui/phishguard-scaffold12,090
语言:
Python
星标数:
1,012
分叉数:
169
简介:
Joint Semantic Detection and Dissemination Control of Phishing Attacks on Social Media via LLama- Based Modeling
274056675/springboot-openai-chatgpt12,092
语言:
Java
星标数:
1,011
分叉数:
243
简介:
超级AI大脑一个基于SpringCloud微服务架构,已对接GPT-3.5、GPT-4.0、百度文心一言、stable diffusion AI绘图、Midjourney绘图等。支持web,Android,IOS,H5多端应用,使用了OpenAI的ChatGPT模型实现了智能聊天机器人。用户可以在界面上与聊天机器人进行对话,聊天机器人会根据用户的输入自动生成回复。同时也支持画图,用户输入文本,便可以自动制作文生文生图。持续更新中,更多功能等着你来解锁
ShuaixinHuang/image-multiple-angles-3d-camera12,094
语言:
Python
星标数:
1,011
分叉数:
21
简介:
🎬 Generate images from any camera viewpoint via 3D interactive control. Drag the camera in 3D space or use sliders to set azimuth/elevation/distance, then generate. Built with Three.js + Gradio, bilingual ZH/EN UI.
ZTE-AICloud/Co-Sight12,097
语言:
Python
星标数:
1,010
分叉数:
278
关键参数与规格
关键参数与规格
参数值
语言Python
类别Applications
子类别Other
关键词Music
星标数1,014
分叉数120
贡献者1
创建日期2024-02-20
更新日期2026-10-12
1 天星标数0
7 天星标数1
排名12,080
上次排名11,997
排名变化-83
7 天星标排名10,308
上次 7 天星标排名10,350
7 天星标排名变化42
总星标排名11,043
上次总星标排名11,024
总星标排名变化-19
国家Argentina
README 摘录

The original motivation was simple: a neighboring Bluetooth speaker playing loud reggaeton every morning. **Pocket Gone** is smaller, cheaper and portable: 👉 **pocketgone. 0 currently uses: or: The program specifically watches the: class. Below the threshold, the OLED displays: The relevant logic is: When the threshold is exceeded: the configured Bluetooth test action is triggered. GPIO configuration: The program waits at: until GPIO 26 is pulled LOW. After the button is pressed: and audio inference begins. A practical deployment is: This

matters because the current source loads: while the GitHub repository currently stores at repository root. Either create the directory as above or change the image path in the Python source. com/ronibandini/reggaetonBeGone** Prepare the runtime assets: Then configure: in: 👉 ** ** Run the application in a controlled test environment with your own Bluetooth speaker. The experimental release added further scanning, model and external-radio improvements. com/ronibandini/Photon2VoiceCommand** 📚 Reading Time Audio TinyML on Arduino Nano 33 BLE Sense for recognizing the

sound of paper page turns. com/ronibandini/ReadingTime** 🚦 TI AM62A AI Traffic Light Computer Vision inference connected to a physical control system. com/ronibandini/TIAM62AITrafficLight** 🔊 Domestic ML LRAD Audio output triggered by Edge Impulse Computer Vision classification. Reggaeton Be Gone is one of the projects connected with this approach to building deliberately unusual technological artifacts.

常见问题

记录了多少星标和分叉?

ronibandini/reggaetonBeGone 有 1,014 个星标和 120 个分叉。

仓库排名是多少?

ronibandini/reggaetonBeGone 排名第 12,080。

记录的语言和类别是什么?

ronibandini/reggaetonBeGone 有 1,014 个星标,语言为 Python,类别为 Applications。

哪个仓库排名最接近?

ronibandini/reggaetonBeGone 与 ggeop/Python-ai-assistant 比较,后者排名第 12,073,有 1,015 个星标。

README

🎧🚫 Reggaeton Be Gone

Edge Machine Learning device that recognizes reggaeton and triggers a Bluetooth test routine on a configured speaker

Roni Bandini — Buenos Aires, Argentina — February 2024

Reggaeton Be Gone is an experimental Raspberry Pi device inspired by TV-B-Gone.

It continuously samples ambient audio, uses an Edge Impulse audio-classification model to determine whether reggaeton is playing, displays the inference confidence on a 128×32 OLED, and—when the configured threshold is exceeded—triggers a Bluetooth test routine against a configured speaker.

The original motivation was simple: a neighboring Bluetooth speaker playing loud reggaeton every morning.

The resulting project combines:

  • 🎙️ Audio acquisition
  • 🧠 Edge Machine Learning
  • 🎵 Music-genre classification
  • 🍓 Raspberry Pi
  • 📡 Bluetooth experimentation
  • 🖥️ OLED feedback
  • 📝 Event logging

🧷 Simpler Alternative: Pocket Gone

A later project explores the Bluetooth side without Machine Learning or a Raspberry Pi.

Pocket Gone is smaller, cheaper and portable:

👉 pocketgone.com

The evolution from Reggaeton Be Gone to Pocket Gone was also presented at Nerdearla 2025:

👉 Pocket Gone — Nerdearla / NERDflix


🏗️ Architecture

flowchart LR
    MUSIC["🎵 Ambient Music"]
    MIC["🎙️ USB Microphone"]
    PI["🍓 Raspberry Pi 3"]
    EI["🧠 Edge Impulse  
AudioImpulseRunner"]
    CLASS{"reggaeton?"}
    OLED["🖥️ 128×32 OLED"]
    LOG["📝 log.txt"]
    BT["📡 Bluetooth Test Routine"]
    SPEAKER["🔊 Configured Speaker"]

    MUSIC --> MIC
    MIC --> PI
    PI --> EI
    EI --> CLASS

    CLASS --> OLED
    CLASS --> LOG

    CLASS -->|"score > threshold"| BT
    BT --> SPEAKER

The ML inference runs locally on the Raspberry Pi using an Edge Impulse .eim deployment.


✨ Features

  • 🎵 Reggaeton / other-music classification
  • 🧠 Edge Impulse Linux inference
  • 🎙️ USB microphone or USB audio interface
  • 🖥️ 128×32 SSD1306 OLED
  • 🔘 Physical start button
  • 🎯 Configurable inference threshold
  • 📡 Configurable Bluetooth target
  • 📝 Timestamped activity log
  • 🔬 Multiple experimental Bluetooth methods
  • 🧪 Manual forceFire test mode
  • 🖼️ Custom OLED graphics and font
  • 🧱 3D-printed front panel
  • 🔄 Several later experimental versions

🧠 Machine Learning

The original model was trained because common music-genre datasets such as GTZAN did not provide a dedicated reggaeton class.

The workflow was:

flowchart LR
    SONGS["🎵 Music Samples"]
    WAV["WAV  
Mono / 16 kHz"]
    SPLIT["✂️ 4 s Windows"]
    MFE["🔬 MFE"]
    NN["🧠 Classification"]
    EIM["📦 Linux ARM .eim"]
    PI["🍓 Raspberry Pi"]
    
    SONGS --> WAV
    WAV --> SPLIT
    SPLIT --> MFE
    MFE --> NN
    NN --> EIM
    EIM --> PI

Original settings documented for Version 1:

Parameter Value
Audio Mono WAV
Sample rate 16 kHz
Window size 4000 ms
Processing MFE
Learning block Classification
Target deployment Linux ARM
Runtime format .eim

The current source expects:

model = "reggaetonbgone-linux-armv7-v4.eim"

🤗 Public Model

A public reference model is now available on Hugging Face:

👉 ronibandini/reggaetonbegone

The model card specifies:

Audio: 16 kHz WAV / mono

Labels:
- reggaeton
- otros

The published reference model was trained with only six songs, so the model card recommends training a larger dataset for improved generalization.

This is particularly important when deploying the classifier in rooms with:

  • speech
  • television
  • other music genres
  • different speakers
  • background noise
  • varying microphone distance

🎙️ Edge Impulse Linux Runner

The Python application uses:

from edge_impulse_linux.audio import AudioImpulseRunner

and initializes the model with:

with AudioImpulseRunner(modelfile) as runner:
    model_info = runner.init()
    labels = model_info['model_parameters']['labels']

Audio is continuously classified through:

for res, audio in runner.classifier(
    device_id=selectedDeviceId
):

The configured USB input is:

selectedDeviceId = 1

Change this value to match the desired microphone/audio interface.


🎯 Detection Threshold

Version 1.0 currently uses:

threshold = 0.95

or:

95% confidence

The program specifically watches the:

reggaeton

class.

Below the threshold, the OLED displays:

Is reggaeton?
87.42 %

The relevant logic is:

if label == 'reggaeton' and score <= threshold:
    updateScreen(
        "Is reggaeton?",
        str(round(score * 100, 2)) + " %"
    )

When the threshold is exceeded:

if label == 'reggaeton' and (
    score > threshold or forceFire == 1
):

the configured Bluetooth test action is triggered.


⚙️ Version 1.0 Configuration

The principal settings are grouped near the beginning of:

👉 reggaetonBeGone.py

myPath = "/home/pi/reggaeton/"

selectedDeviceId = 1

method = 1

targetAddr = ":::::"

packagesSize = 800
threadsCount = 1000

threshold = 0.95
myDelay = 0.1

forceFire = 0

model = "reggaetonbgone-linux-armv7-v4.eim"
Setting Purpose
myPath Runtime asset directory
selectedDeviceId Audio input
method Bluetooth experiment mode
targetAddr Test speaker address
packagesSize Method-specific parameter
threadsCount Number of repetitions
threshold ML confidence threshold
myDelay Delay between actions
forceFire Skip ML trigger for testing
model Edge Impulse .eim

The source code is intended for controlled experimentation with hardware you own.


🔘 Physical Start Button

The application does not immediately begin audio classification.

GPIO configuration:

GPIO.setmode(GPIO.BCM)

buttonPin = 26

GPIO.setup(
    buttonPin,
    GPIO.IN,
    pull_up_down=GPIO.PUD_UP
)

The program waits at:

Waiting for button...

until GPIO 26 is pulled LOW.

After the button is pressed:

Listening...

and audio inference begins.


🖥️ OLED Interface

The build uses a monochrome SSD1306 128×32 OLED.

disp = Adafruit_SSD1306.SSD1306_128_32(
    rst=None
)

The screen displays information such as:

Reggaeton BeGone
Listening...

and:

Reggaeton BeGone
Is reggaeton?
92.61 %

The UI is rendered using Pillow:

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

Custom font:

font = ImageFont.truetype(
    'whitrabt.ttf',
    12
)

🔌 Wiring

OLED

OLED Raspberry Pi
SDA GPIO 2
SCL GPIO 3
VCC Power
GND GND

Enable I²C with:

sudo raspi-config

and verify the display with:

i2cdetect -y 1

Push Button

Button Raspberry Pi
Pin 1 GPIO 26
Pin 2 GND

The internal pull-up is enabled in software.


Audio

Connect either:

USB microphone

or:

USB audio interface + microphone

The original build used a Behringer Xenyx 302USB.


🛠️ Hardware

Component Quantity
Raspberry Pi 3 1
DFRobot 128×32 OLED 1
DFRobot Push Button 1
USB microphone / USB audio interface 1
microSD card 1
5 V / 3 A power supply 1
Female-female jumper wires Several
Bluetooth speaker for controlled testing 1
Custom enclosure/front panel 1

An optional external Bluetooth adapter can also be used for experimental versions.


🔄 Runtime Flow

flowchart TD
    START["Power On"]
    UI["Display Target + Method"]
    WAIT["🔘 Wait for Button"]
    LOAD["🧠 Load .eim Model"]
    LISTEN["🎙️ Capture Audio"]
    CLASSIFY["Run Classification"]
    SCORE{"reggaeton > 95%?"}
    OLED["🖥️ Display Score"]
    LOG["📝 Write Log"]
    ACTION["📡 Trigger Test Routine"]

    START --> UI
    UI --> WAIT
    WAIT --> LOAD
    LOAD --> LISTEN
    LISTEN --> CLASSIFY
    CLASSIFY --> SCORE

    SCORE -->|"No"| OLED
    OLED --> LISTEN

    SCORE -->|"Yes"| LOG
    LOG --> ACTION
    ACTION --> LISTEN

📝 Logging

Every major operation is written to:

log.txt

with a timestamp:

now = datetime.datetime.now()

dtFormatted = now.strftime(
    "%Y-%m-%d %H:%M:%S"
)

Events include:

Started
Listening
AI model ...
Firing threshold ...
Interrupted

This is useful for comparing inference behavior with the audio being played during experiments.


📂 Runtime Layout

The code expects a slightly different runtime layout from the flat GitHub repository.

A practical deployment is:

/home/pi/reggaeton/
│
├── reggaetonBeGone.py
├── reggaetonbgone-linux-armv7-v4.eim
├── whitrabt.ttf
├── log.txt
│
└── images/
    └── logo.png

This matters because the current source loads:

myPath + 'images/logo.png'

while the GitHub repository currently stores logo.png at repository root.

Either create the images/ directory as above or change the image path in the Python source.


💻 Software Setup

Install Raspberry Pi OS:

👉 Raspberry Pi Imager

Enable:

SSH
I²C

through:

sudo raspi-config

The application requires:

  • Python 3
  • Edge Impulse Linux SDK
  • PortAudio / PyAudio
  • Raspberry Pi GPIO
  • Pillow
  • Adafruit SSD1306
  • Adafruit GPIO
  • BlueZ

The original complete dependency procedure is preserved in:

👉 Reggaeton Be Gone — Hackster.io

Edge Impulse Linux SDK:

👉 edgeimpulse/linux-sdk-python


🚀 Installation

Clone the repository:

git clone \
https://github.com/ronibandini/reggaetonBeGone.git

cd reggaetonBeGone

Repository:

👉 github.com/ronibandini/reggaetonBeGone

Prepare the runtime assets:

logo.png
whitrabt.ttf
Edge Impulse .eim model

Then configure:

myPath
selectedDeviceId
threshold
targetAddr
method

in:

👉 reggaetonBeGone.py

Run the application in a controlled test environment with your own Bluetooth speaker.


📁 Repository Structure

reggaetonBeGone/
│
├── reggaetonBeGone.py
├── README.md
├── LICENSE
│
├── logo.png
├── sticker.png
├── whitrabt.ttf
└── log.txt

🧪 Versions

Version 1.0 — February 2024

The version available in this GitHub repository.

Features:

Raspberry Pi 3
Edge Impulse audio classification
128×32 OLED
GPIO start button
Configured Bluetooth target
Two experimental test methods
Activity log

Source:

👉 Version 1.0 — GitHub


Version 2.0 — April 2024

Released to participants of the Nerdearla Chile 2024 workshop.

Improvements documented by the author include:

64-bit support
On-device Bluetooth scanning
Strike system to reduce false positives
Process cleanup
Updated ML model

Workshop:

👉 Reggaeton Be Gone — Nerdearla / NERDflix

Background:

👉 Workshop Reggaeton Be Gone en Nerdearla Chile — Medium


Version 3.0 — November 2024

Created for the Ekoparty 2024 workshop.

The experimental release added further scanning, model and external-radio improvements.

Workshop announcement:

👉 Cómo armar un Reggaeton Be Gone en Ekoparty

More version history:

👉 Reggaeton Be Gone — Medium


🎥 Videos & Talks

Nerdearla Chile 2024

Complete Spanish workshop covering:

  • hardware
  • Machine Learning
  • assembly
  • limitations
  • Version 2.0

▶️ Reggaeton Be Gone — NERDflix


YouTube Workshop

▶️ Reggaeton Be Gone — Spanish Workshop


Nerdearla Argentina 2025

The later talk follows the evolution from Reggaeton Be Gone to Pocket Gone.

▶️ Pocket Gone y la aventura de silenciar parlantes


🌐 External References

🛠️ Hackster.io — Full Tutorial

The original February 26, 2024 build documents the circuit, Raspberry Pi configuration, ML training, audio input, OLED interface and enclosure.

👉 Reggaeton Be Gone — Hackster.io


🇦🇷 Medium — Original Article

Detailed development history, versions, ML workflow, results, conferences and press coverage.

👉 Reggaeton Be Gone — Roni Bandini / Medium


🤗 Public Model

16 kHz mono Edge Impulse model with reggaeton and otros labels.

👉 Reggaeton Be Gone Model — Hugging Face


📰 Press

WIRED

Published February 27, 2024.

👉 Reggaeton Be Gone, la máquina impulsada por IA que bloquea bocinas Bluetooth — WIRED


Hackaday

Published February 23, 2024.

👉 Reggaeton-Be-Gone Disconnects Obnoxious Bluetooth Speakers — Hackaday


Hackster News

👉 Pardon the Interruption — Hackster


Tom's Hardware

Published February 28, 2024.

👉 La musica del vicino è fastidiosa? Ecco la soluzione da hacker — Tom's Hardware


Euronews

Published April 9, 2024.

👉 Reggaeton Be Gone: esta máquina casera silencia la música de los vecinos usando IA — Euronews


Univision

👉 Latino crea aparato para hackear y apagar bocinas que reproduzcan reggaetón — Univision


La Nación

Feature on maker culture, Reggaeton Be Gone and other experimental machines.

👉 Roni Bandini, el creador de la antena anti reggaeton — La Nación


🔗 Related GitHub Projects

🎙️ Photon 2 Voice Command

Audio keyword recognition with Edge Impulse running directly on a Particle Photon 2.

👉 github.com/ronibandini/Photon2VoiceCommand

📚 Reading Time

Audio TinyML on Arduino Nano 33 BLE Sense for recognizing the sound of paper page turns.

👉 github.com/ronibandini/ReadingTime

🚦 TI AM62A AI Traffic Light

Computer Vision inference connected to a physical control system.

👉 github.com/ronibandini/TIAM62AITrafficLight

🔊 Domestic ML LRAD

Audio output triggered by Edge Impulse Computer Vision classification.

👉 github.com/ronibandini/domesticLMLRAD


📕 Contracultura Maker

Contracultura Maker is a book by Roni Bandini about maker culture, experimental electronics, AI, physical computing and technological autonomy.

Reggaeton Be Gone is one of the projects connected with this approach to building deliberately unusual technological artifacts.

📂 Contracultura Maker — GitHub repository

📕 Download Contracultura Maker PDF


📬 Contact

Roni Bandini Maker · AI Developer · Writer Buenos Aires, Argentina


Built with 🎵 + Raspberry Pi + Edge Machine Learning + Bluetooth.

排名相邻
同类项目