소리꽃 KeyBloom
소리꽃 KeyBloom 바로가기 ↗
이 글은 소리꽃 KeyBloom 시리즈의 37번째 기록입니다. (총 46개)

오늘 한 일

하루에 온보딩·오디오·프로젝트 관리·내보내기·코드 정리를 폭넓게 손봤다.

  • 첫 방문자를 위한 5단계 가이드 투어를 만듦 — 처음 열면 환영 모달을 띄우고, 데모곡을 자동으로 올린 뒤 재생·이펙트·큐·내보내기·직접 올리기를 순서대로 스포트라이트로 짚어준다
  • 큐를 놓는 방법이 안 보인다는 문제 때문에 투어가 ✏️ 펜 버튼을 직접 가리키게 함
  • 데모곡은 쇼팽 녹턴 midi 파일을 만들어 임시로 번들(퍼블릭 도메인). [파일] 탭에 “튜토리얼 다시 보기”도 추가
  • 샘플 피아노에 룸 리버브를 추가 — 임펄스 응답을 지수 감쇠 노이즈로 즉석 생성해 외부 파일 없이 컨볼루션 리버브를 건다
  • 리버브 양감이 애매해서 룸 사이즈 슬라이더로 조절하게 함(라이브·오프라인 내보내기가 같은 값을 공유)
  • 스타카토(짧은 음)가 뭉툭해서 노트 엔벨로프를 다듬음
  • 새 프로젝트, 다른 이름으로 저장을 추가하고 단축키(Ctrl+N·O·S·Shift+S)를 붙임
  • 저장 안 한 변경이 있으면 새 프로젝트 전에 저장할지 물어봄
  • 빈 상태에서는 새 프로젝트 버튼을 비활성으로, 재생 중에 새 프로젝트·불러오기·저장을 누르면 재생을 멈춤
  • 리버브 여운을 끝까지 살리는 옵션을 넣음(샘플 피아노)
  • 첫 노트가 잘리지 않게 앞에 짧은 무음(lead-in)을 넣음
  • 알파 PNG 시퀀스의 오디오가 영상과 어긋나던 것을 고침
  • 오디오가 MIDI보다 길면 프리뷰도 오디오 끝까지 재생·표시하게 함
  • 프리뷰에서 첫 노트가 잘리던 것을 고침
  • alphaExporter로 대체된 죽은 렌더 경로(pngSequence)를 통째로 삭제
  • base64·타임스탬프·저장 폴더 계산의 중복을 하나로 모음
  • 프리뷰와 내보내기가 손으로 맞춰오던 “시각 t의 활성 큐” 규칙을 공용 모듈로 뽑음
  • 반복되던 버튼·체크박스·슬라이더 생성을 헬퍼로 묶고, 색·폰트를 CSS 변수로 정리
  • 영어 화면에서 설정 패널에 생기던 가로 스크롤을 없앰

막힌 부분

프리뷰에서 첫 노트가 잘렸다

곡 맨 앞에서 샘플 피아노를 재생하면 첫 노트가 오디오 시계의 “지금 이 순간”에 정확히 예약된다. 버퍼를 정확히 지금 시작하면 컨텍스트가 아주 살짝 늦게 시작해 어택이 잘린다.

  • 해결: 재생 시작에 짧은 리드인을 줘서 타임라인 시각이 잠깐 음수가 되게 했다. 그러면 첫 노트가 미래에 예약돼 어택이 온전하고, 오디오와 비주얼이 같은 시계를 써서 함께 밀리므로 싱크는 유지된다. 시퀀서 바에는 안 보인다.

내보내기 tail이 파티클 기준이라 리버브가 잘렸다

내보내기는 곡이 끝나도 파티클이 다 사라질 때까지 렌더를 이어가고, 오디오도 그 길이에 맞춘다. 그런데 tail이 끝나는 기준이 파티클이라, 파티클이 리버브보다 먼저 사라지면 리버브 여운이 잘렸다.

  • 해결: 리버브 감쇠와 노트 릴리스 길이만큼은 파티클이 없어도 렌더를 유지하게 해서, 오디오가 -shortest(ffmpeg에서 가장 짧은 트랙 길이에 맞춰 자르는 옵션)로 잘리지 않게 했다.

window.confirm이 WebView에서 안 떴다

새 프로젝트 전에 저장할지 window.confirm으로 물었는데, 앱(WebView2)에서 이 창이 안정적으로 안 떠서 확인 없이 그냥 저장으로 넘어갔다.

  • 해결: 저장 / 저장 안 함 / 취소 3버튼을 직접 그린 DOM 모달로 바꿔 확실히 뜨게 했다.

스타카토가 뭉툭했다

  • 지속음 샘플만 있어 짧은 음을 잘라 인공 페이드로 끄는 구조라 스타카토가 부자연스러웠다
  • 해결: 온셋에 짧은 어택 램프를 줘 클릭을 줄이고, 노트-오프를 고정 길이 페이드 대신 자연 지수 감쇠 댐퍼로 바꿔 완화. 근본 개선(건반 뗄 때 릴리스 샘플)은 백로그로 남김

다음에 할 일

  • Creem 활성화 UI와 결제 Worker 배포
  • plus 가격 확정과 LOGSTONE 판매 페이지
  • 첫 서명 릴리스(자동 업데이터 작동)
  • 크로마키 출력(plus 다음 업데이트) — 실시간 투명 합성용, 진짜 알파는 미래 네이티브(Stage) 영역
  • 보류한 내보내기 구조 리팩터(config 통합 등)는 실기 검증 후
  • Mac 네이티브 앱 + ProRes 알파
  • 비-나선 파티클 가로 퍼짐(폭) 슬라이더 검토
  • 실시간 연주 데모 영상 — 손+화면 동시로 실제 연주임을 보이기

Series: 소리꽃 KeyBloom

1 소리꽃 KeyBloom 2 Rescene(리센느) ― Pretty Girl 3 히사이시 조 ― Spring 4 히사이시 조 ― 인생의 회전목마 5 히사이시 조 ― Summer 6 LiSA ― 홍련화(귀멸의 칼날) 7 DJ Okawari ― Flower Dance 8 안젤리크스페셜 ― The Queen 9 쇼팽 ― 녹턴 10 테일즈위버―Reminiscence 11 D.Gray-man―14番目ノ子守歌 12 이루마―Kiss in the rain 13 Bach―Invention No. 8 in F Major 14 소리꽃 KeyBloom 1 15 소리꽃 KeyBloom 2 16 소리꽃 KeyBloom 3 17 소리꽃 KeyBloom 4 18 소리꽃 KeyBloom 5 19 소리꽃 KeyBloom 6 20 소리꽃 KeyBloom 7 21 소리꽃 KeyBloom 8 22 소리꽃 KeyBloom 9 23 소리꽃 KeyBloom 10 24 소리꽃 KeyBloom 11 25 소리꽃 KeyBloom 12 26 소리꽃 KeyBloom 13 27 소리꽃 KeyBloom 14 28 소리꽃 KeyBloom 15 29 소리꽃 KeyBloom 16 30 소리꽃 KeyBloom 17 31 소리꽃 KeyBloom 18 32 소리꽃 KeyBloom 19 33 소리꽃 KeyBloom 20 34 소리꽃 KeyBloom 21 35 소리꽃 KeyBloom 22 36 소리꽃 KeyBloom 23 37 소리꽃 KeyBloom 24 읽는 중 38 소리꽃 KeyBloom 25 39 소리꽃 KeyBloom 26 40 소리꽃 KeyBloom 27 41 소리꽃 KeyBloom 28 42 소리꽃 KeyBloom 29 43 소리꽃 KeyBloom 30 44 소리꽃 KeyBloom 31 45 소리꽃 KeyBloom 32 46 소리꽃 KeyBloom 33

Suggested Posts