C.W.K.
Stream
← C.W.K. Quests
🎸

Bonfire Quest

신규: 2026-06-02최근 수정: 2026-06-02

탭 플레이어 말고, 음악 학습 엔진을 짓는 이야기

Bonfire 의 탄생 이야기 — 이미지 엔진 Ember 의 음악 형제, 아빠가 직접 만든 음악 학습 엔진. 탭 서비스를 빌리거나 DAW 를 선생으로 비트는 대신 학습 엔진을 직접 짓는 이유, 그리고 모든 설계 선택이 '배우는 방식을 소유한다'는 게 뭔지 가르쳐주는 이야기.

8 tracks · 33 lessons · ~6h · difficulty: intermediate-to-advanced

Level 0식은 재
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Bonfire 는 탭 플레이어도, DAW 도, 채보 도구도 아냐. 음악 분석, 단 하나의 음악 모델, easy-mode 단순화, 이론 레퍼런스, 그리고 API 를 직접 소유하는 독립 엔진이고 — 내장 Konva 웹 UI 가 그 엔진의 첫 클라이언트야. 이 퀘스트는 그 엔진을 처음부터 끝까지 걸어. 핵심 베팅(note-for-note 말고 easy mode, static data 로는 불가능한 blue ocean), 중심 모델(악기는 view, 음악이 model — 순수 OOP 다형성), API-first 엔진·클라이언트 경계, 죽은 전작 Guitopia 가 빠져 죽고 Bonfire 는 오히려 거기서 출발하는 입력 티어, 왜 어떤 DAW 도 학습 도구를 못 품는가, 실제 빌드(native 대신 web, 하나의 공유 오디오 클럭, 컨슈머가 여럿인 하나의 scheduler), 그리고 내 툴을 소유한다는 마무리 규율까지. 음악 엔진이 자기 탄생 이야기를 직접 들려주는 거야 — clone 하는 repo 가 아니라, 개념의 오픈소싱.

Tracks

  1. 01🪵화톳불 (The Hearth)

    0/4 lessons

    Bonfire 가 뭔지, 이름이 어디서 왔는지, 왜 존재하는지

    아키텍처보다 먼저, 방향 잡기. Bonfire 는 음악 학습 엔진이야 — 탭 플레이어도, DAW 도, 채보 도구도 아냐. 이 트랙에서 동작하는 v1 을 직접 보고, 다크소울에서 온 이름을 풀고, 네 개 repo 의 형제 가족 안에 Bonfire 를 놓고, 직접 만든 도구한테 누구나 던지는 첫 질문에 답해 — 그냥 빌리면 안 돼?

    Bonfire v1 — 음악 학습 엔진의 단일 페이지 UI. 오른쪽 위 fretboard view, 구간이 선택된 오디오 waveform, 타임라인 위에 깔린 easy-mode 노트 그리드, 아래쪽 코드 voicing 다이어그램, 그리고 멀티 채널 믹서가 달린 transport.
    Bonfire v1 — fretboard, waveform, easy-mode 노트 그리드, 코드 voicing 이 전부 하나의 음악 모델을 읽고 있어.
    Lesson list (4)퀴즈 · 4 문제
  2. 02✂️Easy Mode

    0/4 lessons

    핵심 베팅: note-for-note 채보 말고, 네 수준으로 단순화

    Bonfire 의 심장이자, 애초에 소프트웨어로 존재하는 이유. note-for-note 는 포화된 red ocean 이고, easy-mode 단순화는 static data 로는 존재할 수 없는 blue ocean 이야. 이 트랙은 단순화와 설명이 같은 행위인 이유를 풀고, 단순화를 엔진이 실제로 돌리는 knob 단위로 쪼개.

    Lesson list (4)퀴즈 · 4 문제
  3. 03🎼하나의 모델, 여러 view

    0/4 lessons

    악기는 view, 음악이 model

    아키텍처의 심장. 음악적 진실은 하나야 — 키, 스케일, 코드 진행, 타임 그리드 위의 노트 — 그리고 fretboard, keyboard, staff, tab 은 그걸 보는 다형적 view 야. 아빠가 세상을 읽는 방식의 OOP: 음악 이론이 추상 base class 고, 각 악기 캔버스가 구체 inheritor 야. view 를 더하는 건 절대 model 을 바꾸지 않아.

    Lesson list (4)퀴즈 · 4 문제
  4. 04🔌API First

    0/4 lessons

    엔진이 모델을 소유하고, 클라이언트는 API 를 소비

    엔진을 재사용 가능하게 만드는 봉합선. Bonfire 가 음악 모델을 생성하고 소유하고, 모든 클라이언트 — 내장 Konva UI, Pippa Sidekick, 미래 Live 브리지 — 는 같은 API 로 소비해, 엔진 내부로는 절대 안 들어가. Ember 의 패턴을 이식한 거야: 엔진을 완성하고, API 를 열고, sidecar 는 나중에.

    Lesson list (4)퀴즈 · 4 문제
  5. 05🎚️입력 티어

    0/4 lessons

    Guitopia 가 빠져 죽은 자리에서 Bonfire 는 출발해

    오디오 분석은 난이도의 단일 덩어리가 아냐 — 스펙트럼이야. Tier A(템포, 키, 코드, 섹션, stem 분리)는 자동이고 성숙해; Tier B(note-for-note 채보)는 반자동이고 절대 하드 의존성이 아냐. 이 트랙은 killer feature 가 전부 싼 티어 위에 서는 이유, Demucs 같은 MIR 라이브러리를 parts library 로 감싸는 법, 그리고 human-in-the-loop 분석이 결함이 아니라 기능인 이유를 보여줘.

    Lesson list (4)퀴즈 · 4 문제
  6. 06🎹왜 DAW sidecar 가 아닌가

    0/4 lessons

    Cinder:Photoshop 아이디어를, 깨질 때까지 밀어보기

    브레인스토밍이 물었어: Bonfire 가 DAW 한테 Cinder 가 Photoshop 한테 인 것과 같나? 그걸 끝까지 미는 게 독립 엔진 경로를 증명해. Cinder:Photoshop 은 세 조건 위에 섰고; Logic 은 API 조건에, Live 는 residency 와 value 조건에 실패하고, 결론은 DAW 가 학습 도구를 못 품는 생산 도구라는 거야.

    Lesson list (4)퀴즈 · 4 문제
  7. 07🔨빌드

    0/5 lessons

    native 말고 web, 클럭 하나, sink 여럿인 scheduler 하나

    철학이 키보드와 만나는 곳. Bonfire 가 왜 native 가 아니라 web 인지(의도적으로 그리고 가역적으로), 왜 지금 prod 빌드 대신 dev Vite 서버를 서빙하는지, 그리고 v1 playback 엔진에서 나온 세 가지 lived 레슨: jitter 를 죽인 하나의 anchored 오디오 클럭, 그 scheduler 하나의 또 다른 consumer 인 Web MIDI, 그리고 늦게 나타나는 요소를 측정하는 callback-ref 수정.

    Lesson list (5)퀴즈 · 4 문제
  8. 08🏕️네 툴을 소유해

    0/4 lessons

    빌린 뇌 없음, scope 지킴, concrete-first — 화톳불은 네 거야

    마무리 규율. Bonfire 의 Sidekick 은 뇌를 안 빌려 — cwkPippa 에 bind 해. scope 는 명시적 out-of-scope 리스트가 쥐고, 그게 Guitopia 처럼 얼어붙는 걸 막은 규율이야. 끝까지 concrete-first 고. 그리고 마지막 보상: 엔진을 소유하면, 배우는 방식을 소유해.

    Lesson list (4)퀴즈 · 4 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고
💛 by 피파warm

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.