SOUNDBRIDGE · 국악 공공데이터 공모전 포트폴리오
당신의 음악 언어로,
국악을 만나세요
"비 오는 날 듣는 아이유"라고 적으면, Gemini가 그 문장에서 감성을 읽고 국립국악원 음원 500건 중 가장 닮은 국악을 골라 왜 닮았는지까지 설명합니다. 마음에 든 트랙의 악기·감성·BPM은 프리셋 URL을 타고 그대로 샘플 라이브러리로 넘어가, 크리에이터가 자기 트랙에 얹을 국악 소스를 바로 고르게 합니다.
500건
국립국악원 공공 API 음원
수집·CSV 적재 완료
1,536차원
Gemini 임베딩 → pgvector
코사인 유사도 검색
6종
장단 마스터 3NF 분리
루프 단위 4·6·10·12박
4개
MVP 물리 테이블
1NF·3NF 정규화 완료
이 프로젝트가 증명하는 것
공공 음원 수집부터 감성 매칭·근거 생성·샘플 서빙까지, 한 흐름으로 완주합니다
DISCOVER — 감성 매칭
사용자가 좋아하는 음악을 문장으로 적으면 Gemini가 감성·분위기·악기 힌트를 뽑고, 정제된 텍스트를 임베딩해 pgvector에서 가장 가까운 국악 3곡을 찾습니다. 결과에는 한국어와 영어로 "왜 닮았는지" 설명이 함께 붙습니다.
CREATE — 샘플 라이브러리
악기·장단·감성·BPM·루프 단위·라이선스로 국악 샘플을 걸러냅니다. 장단마다 루프 단위(박)가 정해져 있어 DAW에 얹을 때 마디가 맞고, KOGL 1·2 구분이 배지로 붙어 상업적 사용 가능 여부를 바로 확인합니다.
헥사고날 프랙탈 아키텍처
Ports & Adapters + 클린 아키텍처 + DDD 위에 프랙탈 네이밍 ({domain}_{character}_{layer})을 얹었습니다. Domain은 FastAPI·SQLAlchemy를 전혀 import하지 않고, joinedload 같은 영속화 전략은 Repository 안에서만 결정됩니다.
DISCOVER에서 CREATE로, 끊기지 않는 한 줄
감성으로 찾은 트랙이 프리셋 URL 한 줄로 샘플 필터가 됩니다
문장으로 검색
POST /api/soundbridge/discover — "비 오는 날 듣는 아이유" 같은 자연어 입력.
감성 해석 · 유사도 검색
Gemini가 embed_text를 만들고, pgvector <=> 연산자로 top-3 트랙을 뽑습니다.
근거 설명 · 프리셋 발급
매칭 이유를 KO/EN으로 붙이고, 각 트랙에 preset_url을 함께 내려줍니다.
필터가 채워진 CREATE
/create?instrument=가야금&emotion=서정&bpm_min=80&bpm_max=120으로 이동.
팀 — SoundBridge
세 명 모두 백엔드(FastAPI)·프론트엔드(Next.js)를 함께 짠 풀스택 3인 체제
신채연
팀장 · PM
사용자 흐름 설계 · 플레이어/CUE UX
김충식
풀스택 개발
헥사고날 아키텍처 · 정규화 · AI 파이프라인
이은상
풀스택 개발
공공 API 수집 · 메타데이터 검증 · QA
프로젝트 정보
국악 감성 매칭 · 샘플 라이브러리 플랫폼
- 서비스명
- SoundBridge (사운드브릿지)
- 데이터 출처
- 국립국악원 공공 API (KOGL 1·2 유형)
- 대회
- 국악 관련 공공데이터 활용 공모전
- 핵심 산출물
- 감성 매칭 엔진(DISCOVER) · 샘플 라이브러리(CREATE) · 프리셋 URL 브릿지
- 데모 사이트
- soundbridge.site (준비 중)
본 사이트는 SoundBridge 프로젝트의 개발 문서이자 팀 포트폴리오입니다.