이 글은 룸톤 Roomtone 시리즈의 22번째 기록입니다. (총 22개)

오늘 한 일

  • 처음 들어온 사람에게 사용법 안내를 띄운다.
    • 처음엔 카드를 넘기는 화면으로 만들었는데, 폰에서 보고 실제 화면 위에 겹쳐 짚어 주는 방식이 낫다고 해서 바꿨다. 홈 화면을 어둡게 덮고 추천 재생목록, 스케줄 탭, 미리듣기 띠, 설정 탭을 차례로 뚫어 설명한다.
    • 설정 › 사용법 다시 보기로 언제든 다시 본다.
  • 여둘까처럼 따로 읽는 사용법 문서도 만들었다.
    • 실제 앱 화면 위에 번호 상자를 얹고 설명을 붙였다. 한국어·영어 두 벌이다.
    • 개인 계정은 이메일과 개인 재생목록이 보여서, 문서 전용 데모 계정을 새로 만들어 찍었다.
    • 앱 설정의 「자세한 사용법」이 이 문서를 연다. 앱에서 여는 페이지라 결제 버튼과 요금 링크는 두지 않았다.
  • 문서를 찍다가 앱 문제 여섯 개를 찾아 모두 고쳤다.
    • 한국어가 「들어보/는」처럼 단어 중간에서 줄이 바뀌었다.
    • 한국어 앱인데 시간 선택 창이 영어로 떴다.
    • 구독 화면만 합니다체였다. 앱 문구 전체를 해요체로 맞췄다.
    • 영어판 요일 버튼 「Weekends」가 잘렸다.
    • 방금 만든 재생목록이 스케줄 블록 고르기에 안 보였다.
    • 업종이 자유 입력이라 영어 화면에도 한국어로 보였다. 업종을 목록으로 바꾸면서 영어 이름을 붙였다(아래).
  • 새로 가입하면 「3일 무료 체험을 시작할까요?」를 묻는다. 누르면 그때부터 3일 전곡, 안 누르면 30초다.
    • 플레이의 무료 체험 오퍼가 아니라 우리 서버가 주는 체험이라, 결제 정보를 받지 않고 끝나면 자동 결제 없이 미리듣기로 돌아간다.
    • 이메일당 한 번이다. 탈퇴하고 다시 가입해도 못 받게 이메일 해시를 따로 남기고, 그 기록은 체험 시작일부터 1년 뒤 지운다.
  • 업종을 가입할 때 목록에서 고르고, 맞는 게 없으면 「기타」에 직접 적게 했다. 설정에서도 바꾼다.
    • 운영자는 「기타」로 적힌 업종을 계정 수와 함께 보고 목록에 올린다.
    • 「호텔 라운지」는 호텔일 수도 라운지일 수도 있어 바·펍처럼 「호텔·라운지」로 나눴다.
  • 둘러보기를 휠로 바꿨다.
    • 계절·분위기·장르를 각각 돌려 고르고, 결과를 한꺼번에 재생목록에 담는다. 타일의 곡 수는 다른 두 휠에서 고른 것과 겹치는 곡 수라, 돌리기 전에 몇 곡 나올지 보인다. 0곡인 타일은 숨긴다.
    • 폰은 가로로, 태블릿과 PC는 세로로 돌린다. 관리자 곡 관리도 같은 휠을 쓴다.
  • 얼터너티브 메탈과 90년대 얼터너티브 록 곡을 넣었더니 맞는 분위기가 없었다. 분위기 「강렬」과 장르 「록·메탈」을 새로 만들었다.
    • 「몽환」으로 잘못 분류돼 호텔 라운지용 결에 메탈이 섞이던 20곡을 옮겼다.
    • 32곡에 한국어·영어 제목을 새로 지었다(「녹슨 심장」 ↔ 「Rusted Heart」).
    • 수노 v6로 만든 곡이 v5.5로 기록된 것도 바로잡았다.
  • 반입을 검수 콘솔 하나로 합쳤다. 수노가 이번 달부터 월 60곡까지라, 조금씩 넣는 게 평소 흐름이 됐다.
    • 음원과 커버를 끌어다 놓고, 곡마다 프롬프트와 버전을 적는다. 프롬프트 엑셀과 「음원 올리기」 바로가기는 은퇴했다.
    • 길이 미달, 중복, 프롬프트·커버 누락을 미리 표시하고 처리를 골라 둔다. 알아서 옮기지 않고 확인하고 실행한다.
    • 생성 엔진은 콘솔에서 고르고, 새 버전은 직접 적어 추가한다.
    • 상단에 「이번 달 업로드 N / 60」을 둔다.
  • 보컬 판단을 사람이 하기로 했다. 수노에서 한 번, 콘솔에서 한 번 듣고 고른 곡만 들어오기 때문이다.
    • 자동 보컬 검사는 찢어지는 기타를 목소리로 잘못 잡아 록 곡을 보컬로 올렸다. 반입 때 쓰지 않는다.
    • 기준은 「가사가 들리거나 목소리가 주선율이면 보컬, 배경 허밍은 무보컬」이다.
    • 자동 보컬 검사를 여러 구간으로 넓히려던 계획도 이 결정으로 접었다.
    • 보컬 곡도 버리지 않고 보컬 표시를 달아 승인한다.
  • 룸톤 곡이 다른 앱보다 작게 들린다고 느꼈다. 재 보니 −16 LUFS로 맞춘 그대로였고, 스트리밍 표준은 −14다. 기준을 −14로 올리고 이미 올라간 곡도 모두 다시 구웠다. 폰으로 들어 보니 확실히 커졌다.
  • 앱 아이콘 여백을 줬다. 원형으로 잘리는 폰에서 R의 다리 끝이 잘렸다.
  • 기준 시간대에 「UTC+09:00 · 서울·도쿄」처럼 대표 도시를 붙였다.
  • 재생목록에 이미 있는 곡을 담으면 알려 주고, 일부만 겹치면 새 곡만 담을지 묻는다.
  • 두 번째 번들(1.0.0+2)을 내부 테스트에 올렸다. 사용법 안내, 무료 체험, 업종, 휠, 해요체 문구, 한국어 시간 선택 창이 들어갔다.
    • 그 뒤에 만든 아이콘 여백, 시간대 도시, 중복 담기 알림은 세 번째 번들에 넣는다.
  • 재생이 안 되던 은퇴곡 54곡을 휴지통으로 보냈다(16편에서 이관에 안 넣은 57곡에서 그사이 줄어든 수다).
  • 결정한 것
    • Creem은 두되 강등한다. 앱으로 못 사는 사람의 뒷문이고, 실제 고객 열 명 뒤나 웹 버전 때 다시 본다. 세금계산서는 결정 이유가 아니었다.
    • 록·메탈 곡은 마스터링이 아쉽지만 지금은 넘어간다.
    • 서버 요금제를 올리는 건 손님이 생기면 한다.

막힌 부분

  • DB를 올리는데 「account is not valid or is not authorized」 오류가 떴다.
    • 원인: 계정은 멀쩡했다. 로그를 보니 몇 시간 전에 이미 적용돼 있었고, 이번엔 첫 요청에서 권한 확인이 한 번 삐끗했다.
    • 해결: 할 일이 없어서 그대로 뒀다. 다시 나면 한 번 더 실행하고, 그래도 나면 로그인을 확인한다.
  • 판매 페이지 주소 뒤에 /guide/를 붙였는데 판매 페이지가 뜨고 이미지가 깨졌다.
    • 원인: 아직 배포 전이었다. 없는 주소를 받으면 첫 페이지를 대신 보여 주는데, 이미지는 상대 경로라 엉뚱한 곳에서 찾았다.
    • 해결: 배포하고 나니 문서가 떴다.
  • 웹 가입 폼에 업종이 안 보였다.
    • 원인: 앱 가입에만 붙였다.
    • 해결: 판매 페이지 가입 폼에도 같은 목록을 붙였다.
  • 끝잘림 스캔이 중간에 멈췄고, 이미 처리한 곡까지 매번 다시 검사했다.
    • 해결: 받다 끊기면 다시 받고, 그래도 못 받은 곡은 건너뛴다. 지난번에 괜찮았고 그 뒤로 안 바뀐 곡은 다음 스캔에서 건너뛴다.
  • 은퇴곡 54곡이 재생되지 않았다.
    • 원인: 9월 초 운영 서버로 옮길 때 은퇴곡은 오디오 파일을 옮기지 않았다.
    • 해결: 원본은 남아 있어 필요하면 다시 반입하기로 하고 휴지통으로 보냈다.

곡 음량을 다시 굽다가 절반 넘게 실패했다

이미 올라간 곡의 음량을 올리려고, 곡 파일을 서버에서 받아 음량만 올려 다시 올리는 스크립트를 돌렸다. 절반 넘게 실패했다. 서버가 파일을 준비하는 몫이 요금제의 요청당 한도에 걸려 잘리고 있었다. 늘 자르는 게 아니라 가끔 잘라서, 몇 곡으로 시험할 때는 멀쩡했다.

  • 해결: 서버는 파일만 넘겨주고 무거운 처리는 이 컴퓨터에서 하도록 바꿨다. 끝까지 디코딩되는지와 음량을 재는 점검 스크립트도 새로 만들어, 이 방식으로 나머지를 모두 처리했다.
  • 남은 한계: 서버 쪽을 가볍게 바꿔 봤지만 뚜렷이 줄지 않았다. 손님이 생기면 유료 요금제로 올린다.

음량 교체가 중간에 잘린 곡 하나가 재생되지 않았다

오디오 교체는 새 파일을 저장하고 그 파일의 짝 정보를 기록하는 두 단계다. 첫 스크립트가 한 곡을 교체하다 그 사이에서 잘려, 새 파일과 옛 짝 정보가 어긋났다.

  • 해결: 전곡 점검에서 「따뜻한 카펫」 한 곡이 걸렸다. 원본에서 다시 구워 교체했고, 최종 점검에서 재생 불가는 0곡이다.
  • 교훈: 대량으로 교체한 뒤에는 전곡이 재생되는지 한 번 점검한다.

다음에 할 일

  • 구독이 끝나 미리듣기로 바뀔 때 로딩이 한참 걸리는 것 — 테스트 구독 만료(5분)로 재현
  • 세 번째 번들(1.0.0+3)로 폰에서 확인 — 아이콘 여백, 시간대 도시, 중복 담기
  • 끝잘림 스캔 한 바퀴 — 음량을 올린 뒤라 한 번은 전체를 다시 본다(앞서 적어 둔 끝잘림 18곡 페이드도 이 스캔으로 다시 잡는다)
  • 보류곡 검수 마저 듣기 — 새 기준(가사·주선율이면 보컬)으로
  • 곡 풀은 분위기별 깊이로 보강, 곡 하나로 만드는 스테이션(출시 후) — 계정별 재생 기록을 남길지부터
  • 록·메탈 곡 마스터링 — 할지 말지 미정
  • Workers 유료 요금제 — 손님이 생기면
  • 플레이 콘솔 남은 설정 — 앱 콘텐츠(포그라운드 서비스 신고 등), 스토어 등록정보와 이미지(한국어·영어), 내부 테스트 한 바퀴(가입·체험·결제·해지·회원 탈퇴)
  • 심사 넣기 전 심사용 계정에 구독 켜기, 앱 액세스 안내에 「동시 재생 1대·이 기기에서 재생」 한 줄 — 심사 끝나면 되돌리기
  • 결제 시험에 쓴 계정을 남길지 지울지 정하기
  • Creem 결제 한 바퀴 — 판매 페이지에서 결제하면 구독이 켜지는지(0원 할인 코드 또는 실결제 뒤 환불), 결제 화면의 자동 갱신·무환불 고지 확인
  • 로그스톤 샵 룸톤 상품 페이지에 스토어 이미지 올리기
  • 비밀번호 재설정 링크를 실제로 열어 새 비밀번호로 바꾸고 로그인까지 확인
  • Creem을 계속 둘지·플레이 외부 결제 프로그램 등록 — 실제 고객 열 명 뒤나 웹 버전을 만들 때 다시 보기
  • 앱에서 넘어가는 결제 없는 /account 화면 — 내 정보·업종·매장 이름·비밀번호·계정 삭제, 로그인된 채로 넘어가기
  • 구글 계정으로 로그인 — 붙일 때 플레이 데이터 보안 답과 개인정보처리방침도 함께
  • 웹에서 듣기 — PC만 쓰는 매장이 나오면 웹판과 윈도우 앱을 비교해 정하기
  • 로그스톤 샵의 개인정보처리방침·환불 조항 회신을 받아 웹 페이지 문구 맞추기
  • 우리 쪽 장애로 못 들은 기간 이용 기간 늘려 주기 — 구현 뒤 로그스톤 샵에 회신
  • 다음 곡 주소 미리 받기 검토 — 재생 횟수 기록을 떼는 것과 같이
  • 안드로이드 패키지에 딸려 오는 윈도우용 재생 엔진 빼기 검토(다운로드 6MB 남짓)
  • 매장 안내방송 — 지정 시각에 한 번 끼어들고 복귀. 음원은 서버에 올리지 않고 기기의 로컬 파일을 고른다
  • 휴지통 30일 자동 정리 붙일지 검토
  • 넓힌 키워드로 기존 곡 무드 백필
  • 자동 분류가 안 된 5곡 에너지를 귀로 확정

Series: 룸톤 Roomtone


Suggested Posts