내가 Swarm DJ를 만든 방법: 라이브 전자 음악을 연주하는 멀티 에이전트 AI 시스템 🎧

발행: (2026년 2월 26일 오후 09:30 GMT+9)
7 분 소요
원문: Dev.to

Source: Dev.to

How I Built Swarm DJ: 실시간 전자 음악을 연주하는 다중 에이전트 AI 시스템의 표지 이미지 🎧

개요

로컬 대형 언어 모델(LLM)에 DJ 부스의 열쇠를 주면 어떤 일이 일어날까요?

그것이 Swarm DJ를 시작하게 만든 질문이었습니다. 나는 자율 AI 에이전트들이 실시간으로 협업하여 음악을 생성하고, 창의적 방향에 대해 논쟁하며, 실제로 관객을 춤추게 할 수 있는지—인간의 개입 없이—탐구하고 싶었습니다.

그 결과는 Ollama, MQTT, 그리고 실시간 DSP 오디오 생성으로 구동되는 분산형 다중 에이전트 AI 시스템이며, AI 에이전트를 집단적인 자율 DJ로 변모시킵니다.

데모

여기에서 데모 보기

시스템 아키텍처

자율 DJ를 구축한다는 것은 느린 토큰‑단위 텍스트 생성과 실시간 오디오 제약(버퍼가 놓치면 들리는 클릭) 사이의 간극을 메우는 것을 의미합니다.

이를 위해 아키텍처는 “생각”과 “재생”을 분리하고, MQTT 브로커를 중앙 신경계 역할로 사용합니다.

System Architecture

핵심 구성 요소

  • 오디오 엔진 – 순수 NumPy를 사용해 DSP 합성(킥, 애시드 루프, 패드 생성)과 Spotify의 pedalboard를 이용한 실시간 이펙트(리버브, 딜레이, 필터)를 구현합니다. 오디오 끊김을 방지하기 위해 격리된 고우선순위 스레드에서 실행됩니다.
  • MIDI 클록 – BPM에 정확히 동기화된 clock/bar_complete 이벤트를 발생시켜 LLM 투표 사이클이 음악과 완벽히 맞물리도록 합니다.
  • AI 에이전트 – 로컬 Llama 3.2 모델을 기반으로 하는 세 가지 독립적인 페르소나:
    • 아키텍트 – 구조에 집중하며 BPM 및 드롭 구간을 조작합니다.
    • 고스트 – 분위기 있는 에이전트로 리버브와 로우‑패스 필터를 제어합니다.
    • 프랭크스터 – 혼란을 일으키기 위해 태어난 에이전트로 딜레이와 문자 그대로의 바이닐‑테이프‑스톱 효과를 추가합니다.
  • 카운슬 – 투표 로직을 실행하는 파이썬 오케스트레이터.

“신뢰에 의한 독재” 프로토콜

Initially I built a fully democratic voting system: every 8 bars the agents would deliberate, propose parameter changes, and vote Yes/No/Abstain on each other’s ideas.

Result: democratic gridlock. The Prankster would propose chaos, and the Architect would vote it down.

To make the music evolve dynamically (and cut cycle times from 15 seconds to 5 seconds), I replaced democracy with a “Dictatorship by Confidence.”

Every 4 bars, each agent generates a proposal with a self‑assigned confidence score (0.0 – 1.0). The orchestrator listens, and the highest‑confidence proposal instantly wins, ensuring fast, opinionated musical shifts.

🤯 비상 거부 권한

각 에이전트는 세션당 비상 거부를 하나씩 부여받습니다. 에이전트가 자신의 비전이 완전히 무시되고 있다고 느낄 경우, 투표 과정을 완전히 건너뛸 수 있습니다:

  • ArchitectTempo Lock: 32마디 동안 BPM을 고정합니다.
  • GhostAmbient Wash: 트랙에 리버브를 가득 채우고 베이스를 음소거합니다.
  • PranksterGlitch Storm: 혼돈적인 8마디 드롭을 위해 오디오 파라미터를 무작위로 섞습니다.

Swarm DJ Output

🚀 이 패러다임으로 무엇을 만들 수 있나요?

  • AI 비디오 게임 디렉터 – 신시사이저를 Unreal/Unity 통합으로 교체하고; 에이전트가 플레이어 체력에 따라 적 스폰 비율, 날씨, 조명을 제어합니다.
  • 자율 조명 기술자 – MQTT 출력을 DMX 조명기에 연결; LLM이 Spotify 스트림을 “청취”하고 무대 조명 색상과 스트로브 속도를 두고 논쟁합니다.
  • AI 주식 거래 앙상블 – MIDI 클럭을 시장 데이터 피드로 교체; 보수적, 공격적, 반대 의견을 가진 에이전트가 실시간으로 포트폴리오 비율을 토론하고 할당합니다.
  • 인터랙티브 스토리텔러 – 에이전트가 스마트 홈 IoT 장치(Hue 조명, 스피커, 잠금 장치)를 제어하면서, 유령의 집 어트랙션에서 실시간 D&D 스타일 오디오 피드를 실행합니다.

채팅 인터페이스에만 존재하는 LLM 도구를 만드는 것은 이제 과거의 이야기입니다. Swarm DJ는 에이전트를 채팅창 밖으로 끌어내어 실시간으로 현실 세계를 물리적으로 오케스트레이션할 수 있음을 증명합니다.

자신만의 AI 레이브를 실행하고 싶나요? repo를 확인하고 직접 에이전트를 만들어 보세요!

0 조회
Back to Blog

관련 글

더 보기 »