랩
기술 실험, MomentSoundEffect, 공간음향, 제작 기록
소리의 매력: inst가 moment 안에서 들려야 한다
2026.06.06 기준 콘텐츠 파이프라인을 우선순위로 둔 제품 개발 기록. 빠르게 만들되, 제품 판단의 owner와 사용자 경험 기준을 같이 고정한다.
왜 MOMENT는 독자 MomentSoundEffect를 만드는가
2026.06.05 기준 사운드 엔진, iOS 네이티브 쉘을 우선순위로 둔 제품 개발 기록. 빠르게 만들되, 제품 판단의 owner와 사용자 경험 기준을 같이 고정한다.
흩어진 화면과 콘텐츠를 한 줄로 세우다
화면과 콘텐츠의 노출 기준을 통일하고, 오디오 작업 환경을 정비해 즉시 청취·검증이 가능한 구조를 갖췄다.
잠금화면과 재생 표면을 한 줄로 꿰다
잠금화면 원격 제어, 릴스 전환, 오디오 세션 등 분산되어 있던 재생 표면을 단일 상태로 통합해 재생 일관성을 확보했다.
화면과 소리가 어긋나지 않게
릴스 전환 시 영상과 오디오 사이에 발생하던 타이밍 불일치를 해소하고, 재생 파이프라인 전반의 동기화 정확도를 개선했다.
재생이 어긋나는 순간들을 한 줄로 모으다
영상 전환, 오디오 세션, 재생 상태 표시 간의 미세한 불일치를 단일 제어 흐름으로 통합했다.
영상의 전환과 루프를 소리에 맞춰 걸다
미니 플레이어, 잠금화면, 릴스가 동일한 재생 상태를 참조하도록 오디오와 화면 상태를 단일 기준으로 통합했다.
미니 플레이어가 화면을 따라다니게
라이브러리 탐색 중 재생 막대 표시와 오디오 상태가 불일치하는 문제를 해결했다. 화면 전환과 오디오 로딩 기준을 통일해 어떤 화면에서든 현재 재생 상태가 일관되게 표시된다.
잠금화면에서도 어긋나지 않는 소리
이펙터 체인을 실제 재생 경로에 통합하고 오디오 세션과 잠금화면 제어를 단일 흐름으로 재설계했다.
잠금화면에서도 끊기지 않는 소리
오디오 세션, 영상 전환, 잠금화면 원격 제어가 각각 다른 상태를 참조하던 재생 흐름을 단일 상태로 통합했다.
공간감이 재생 경로 위에서 흔들리지 않게
리버브와 이펙터 체인을 재생 파이프라인 내부로 통합해 오디오 공간 표현과 재생 상태가 항상 일치하도록 설계를 정렬했다.
바깥에서 누른 손이 실제 소리에 닿도록
잠금화면·알림 영역의 재생 제어와 앱 내부 재생 상태 간 불일치를 해소하고, 재생 경로와 오디오 이펙터 처리 구조를 정비했다.
릴스가 흐를 때 소리도 같은 자리에 있도록
릴스 전환 시 영상과 오디오 상태가 어긋나던 문제를 수정해, 장면이 바뀌어도 재생 상태가 일관되게 유지되도록 개선했다.
두 소리의 균형을 손에 쥐어주기
잠금화면 제어와 트랙 로딩 흐름을 정비하고, 두 개의 오디오 레이어 비율을 단일 컨트롤로 조정할 수 있도록 개선했다.
화면마다 다른 언어를 맞춰 끼우다
화면 전반에 흩어진 UI 표현 규칙을 공통 기준으로 통합하고, 릴스 재생 경로의 오디오 가시성 처리 및 이펙터 연결을 정비했다.
미니 플레이어를 다시 손에 쥐다
화면 하단의 미니 플레이어와 오디오 재생 흐름을 동일한 기준으로 정렬하여, 화면 전환 시에도 재생 상태와 표시 정보가 일관되게 유지되도록 개선했다.
첫 화면부터 소리가 맞물리기까지
앱 진입 구간의 전환 흐름과 오디오 초기화 안정성을 개선하여, 스플래시부터 재생까지 끊김 없는 경험을 확보했다.
미니 플레이어가 진실을 말하게
미니 플레이어가 오디오·비디오·마운트 상태와 항상 일치하도록 재생 상태 구조를 정비하고, 수면 루틴 흐름을 단일 상태로 통합했다.
잠금화면에서 손이 닿는 곳까지
미니 플레이어와 잠금화면 원격 제어가 동일한 재생 상태를 참조하도록 UI 표시 경로와 오디오 세션 흐름을 단일 출처로 정렬했다.
잠금화면과 릴스가 서로의 재생을 흔들지 않게
잠금화면 원격 제어, 릴스 영상, 오디오 세션이 하나의 재생 흐름 안에서 충돌 없이 동작하도록 각 컴포넌트의 책임 범위를 재정의했다.
소리와 화면이 서로를 깨우지 않게
오디오 세션, 잠금화면 제어, 영상 전환이 일관된 타이밍으로 동작하도록 재생 경로를 정비했다.
잠금화면과 세션이 서로 발 밟지 않게
오디오 세션과 잠금화면 원격 제어, 이펙터 상태가 서로 간섭하지 않도록 재생 경로의 책임 경계를 재정의했다.
잠금화면과 재생이 어긋나지 않게
오디오 세션, 잠금화면 Now Playing, 이펙터 체인의 상태 경계를 재정의해 원격 제어와 실제 재생 상태의 일관성을 확보했다.
재생 경로가 서로의 발을 밟지 않게
여러 재생 경로가 단일 오디오 세션을 공유하는 환경에서 장착 상태와 표시 정보를 정렬해 재생 일관성을 확보했다.
트랙이 바뀌는 순간의 깜빡임을 지우다
트랙 전환과 이펙트 전환 시 발생하던 재생 경로의 불일치를 해소하고, 화면 상태와 오디오 상태가 일관되게 동기화되도록 개선했다.
재생을 다시 손에 쥐기 전, 바닥을 단단히
잠금화면 제어와 오디오 세션의 동기화 문제를 해결하고, Now Playing 재설계에 앞서 재생 기초 구조를 정비했다.
같은 소리길 위에서 서로 비키지 않던 것들
재생 경로 전반에 걸쳐 화면·오디오·영상·외부 제어 간 상태 불일치를 해소하고 일관된 재생 경험을 확보했다.
서로를 밀어내던 소리들을 한 줄로 세우다
릴스 재생, 이펙터 체인, 오디오 세션이 각기 다른 시점에 상태를 변경하면서 발생하던 재생 불일치를 해소했다. 세 흐름의 처리 순서를 단일 기준으로 통합해 화면 전환과 오디오 상태가 항상 일치하도록 보장한다.
잠금화면까지 따라오는 재생 상태
앱 내 플레이어, 잠금화면, 네이티브 오디오 경로가 동일한 재생 상태를 공유하도록 재생 구조를 재정렬했다.
화면과 소리가 같은 상태를 보게
잠금화면 제어, 재생 상태, 첫 진입 흐름 사이의 불일치를 정리하여 화면과 오디오가 동일한 상태를 참조하도록 개선했다.
화면을 켜는 순간, 소리가 따라붙도록
앱 진입부터 영상 재생까지 화면 전환 타이밍과 오디오 초기화 시점이 일치하도록 재생 경로를 재설계했다.
재생 화면이 진실을 한 박자 늦게 알 때
재생 상태와 실제 오디오 간 동기화 불일치를 유발하는 지점을 특정하고, 화면에 전달되는 정보가 일관되게 유지되도록 데이터 흐름을 조정했다.
잠금화면과 리버브, 같은 소리로 맞추기
네이티브 오디오 경로 전반에서 발생하던 재생 제어 불일치와 리버브 동작 분기를 단일 기준으로 통합했다.
영상과 소리가 어긋나지 않게
재생 경로 전반을 점검하여 영상과 오디오의 동기화 정확도를 개선하고, 이펙터 체인이 재생 흐름에 미치는 영향을 줄였다.
잠금화면에 얹힌 앨범 커버의 잘린 가장자리를 지우다
잠금화면과 제어 센터에서 재생 정보와 컨트롤이 앱 내부 상태와 일치하도록 오디오 세션 및 트랙 로딩 흐름을 정비하고, 앨범 커버 표현을 개선했다.
잠금화면 재생 버튼이 말을 듣게 만들기
잠금화면, 미니 플레이어, 실제 오디오 사이에 발생하던 재생 상태 불일치를 단일 상태 소스로 통합하여 해소했다.
잠금화면 카드에서 시간을 지우고 상태만 남기다
잠금화면과 제어센터의 재생 정보를 실제 오디오 상태와 일치시키고, 불필요한 진행 시간 표시를 제거했다.
재생 위에 얹힌 무게를 덜어내며
재생을 지탱하던 외부 의존성을 제거하고, 오디오 상태와 화면 상태가 단일 흐름으로 직접 연결되도록 재생 골격을 재구성했다.
같은 소리를 두 번째 런타임 위에 올리다
iOS에서 구축한 재생 경험을 Android 위에 동등하게 구현하는 작업과, 공간감·리버브 이펙터 체인의 소유권 오류를 수정해 오디오 파이프라인을 안정화했다.