룸톤 Roomtone
요약
매장과 상업 공간에 트는 배경음악 서비스. 이름 「룸톤」은 그 공간의 고요한 밑소리를 뜻하는 오디오 용어인데, 튀지 않고 공간을 채운다는 점에서 매장 BGM의 본질과 겹친다.
직접 만든 오리지널 음원을 태그로 관리하고, 공간과 시간대에 맞춘 재생목록으로 묶어 매장에 서비스한다. 이른 아침에는 잔잔하고 따뜻한 곡을, 붐비는 시간대에는 밝고 활기찬 곡을 트는 식이다. 매장에서는 전용 앱이 스케줄을 따라 하루 종일 알아서 재생한다.
운영자용 관리 화면과 매장용 재생 화면이 같은 앱 안에 있고, 로그인에 따라 보이는 것이 갈린다. 곡을 올리고 태그를 달고 재생목록을 짜는 것도, 매장에서 그걸 트는 것도 하나의 앱에서 한다. 백엔드는 Cloudflare Workers와 D1, 음원은 R2에 암호화해 두고 서명한 주소로만 내려준다.
제작 동기
매장에서 음악을 틀면 저작권료를 낸다. 그런데 이건 권리자에게 허락을 받는 구조라서, 직접 만든 음원이라면 그 층이 통째로 사라진다. 파는 것은 곡이 아니라 「이거 틀어도 저작권 문제 없다」는 보증과, 공간을 아는 사람이 짠 재생목록이다.
이 일은 네 가지를 동시에 요구하는데 마침 그게 겹쳤다. 음악을 만들고 고르는 귀, 서비스를 만드는 개발, 음원 양을 확보하는 AI 활용, 그리고 상업 공간의 소리에 대한 감각이다. 공간마다 어떤 소리가 맞는지, 시간대별로 어떻게 달라야 하는지, 하루 종일 그 소리를 듣는 사람에게 무엇이 거슬리는지가 이 서비스의 판단 기준이 된다.
목표 설정
- 작업 기간: 2026.07.22. ~ 진행 중
- MVP = 곡 업로드·태깅·승인 + 재생목록 편성 + 매장 전용 앱에서 자동 재생
- 과금 단위 = 계정 하나가 사업장 한 곳, 동시 재생 한 대
- 음원 원칙 = 무보컬 기본. 언어 편향을 피하고 대화를 방해하지 않으며 권리 관계도 단순해진다
- 곡 수 기준 = 손님이 아니라 직원 귀로 잰다. 하루 종일 듣는 사람이 같은 곡을 얼마 만에 다시 듣느냐가 상품성을 정한다
- 판매 = 매장이 스스로 가입하고 결제하는 셀프 서비스. 그래서 체험이 곧 판매 동선이다
주요 작업
- 기획 정리 — 재생 구조, 태그 축, 과금 단위, 음원 권리 트랙 ✅
- 백엔드 — Cloudflare Workers + D1 + R2, 음원은 곡 단위 서명 주소로만 접근 ✅
- 관리 기능 — 곡 업로드(끌어다 놓기), 태깅, 대표 이미지, 승인·보류·은퇴 ✅
- 곡 반입 파이프라인 — 변환·음량 정규화·자동 태깅·커버·중복 거르기, 검수 콘솔 ✅
- 재생목록 — 태그 조건으로 후보를 좁히고 최종 편성은 사람이 확정 ✅
- 매장 전용 앱 — Flutter로 안드로이드·Windows 동시 지원, 화면 꺼도 재생 유지 ✅
- 재생 화면 — 스케줄 카드·내 재생목록·분위기별 추천, 계절·분위기·장르로 둘러보기 ✅
- 음원 보호 — 파일째 빼가지 못하도록 암호화해 저장 ✅
- 시간대별 재생목록 자동 전환 — 요일 격자로 짜는 스케줄 ✅
- 기기 인증 — 동시 재생 한 대, 나중에 켠 기기가 버튼으로 가져간다 ✅
- 음량 정규화를 업로드 단계로 이관 ✅
- 유료화 — 계정·구독·결제(웹 직접·플레이), 30초 미리듣기, 3일 무료 체험 ✅
- 한국어·영어 — 앱 화면과 곡 제목 양쪽 ✅
- 안드로이드 출시 — 스토어 등록정보와 내부 테스트 ⏳
결과
기획 문서만 있던 상태에서 하루 만에 소리가 나는 데까지 갔고, 두 달 뒤에는 파는 물건의 모양을 갖췄다. 카탈로그는 740여 곡이고, 곡을 올리고 태그를 달고 재생목록에 담는 흐름이 검수 콘솔 하나로 모였다. 프롬프트에서 장르와 분위기를 자동으로 뽑아 초안을 채우되, 에너지와 분위기의 최종 판단은 사람 귀로 한다. 자동화할 수 있는 노동은 줄이고 값을 만드는 판단만 남기는 게 이 서비스의 차별점이라고 보기 때문이다.
출시에 필요한 것들은 대체로 끝났다. 음원은 암호화해 저장하고 서명한 주소로만 내려주며, 스케줄이 시간대마다 재생목록을 바꾸고, 한 계정이 동시에 한 대에서만 재생된다. 가입과 결제는 매장이 스스로 하고, 미가입자는 각 곡 30초를 미리 들어 본 뒤 3일 무료 체험을 받을 수 있다. 결제는 웹 판매 페이지와 플레이 두 갈래로 열었다. 앱에서 웹 결제로 나가는 링크는 코드에 있지만 외부 결제 프로그램 승인 전까지는 꺼 둔다.
남은 것은 파는 일이다. 안드로이드 스토어 등록을 마치고 내부 테스트를 돌리는 중이며, 실제 매장에서 하루 종일 틀었을 때 무엇이 아쉬운지는 그다음에야 알 수 있다.