SERIESPonsLink 알고리즘 노트
[PonsLink] 마이크와 PonsCast 오디오를 함께 살리는 라우팅
·3 min read·102 views
PonsLinkPonsCastAudioAudioContextMicrophoneMediaStream
PonsCast 오디오를 방 안의 마이크와 함께 다루면서 소리를 한 줄의 미디어 스트림으로 볼 수 없다는 걸 알게 됐다. 사용자의 목소리와 파일에서 재생되는 소리는 출처와 역할이 다르다. 둘을 같은 방식으로 섞으면 말하는 사람의 목소리가 묻히거나 재생 소리가 예상하지 못한 방식으로 전달될 수 있다.

같은 방, 다른 소리
PonsCast의 출발점은 언어가 잘 통하지 않는 사람과 같은 파일을 같은 시간에 보고 싶다는 생각이었다. 그렇다고 그 파일의 소리가 마이크 입력과 같은 의미를 갖는 것은 아니다. 방에 들어온 사람은 상대의 목소리를 듣고, 필요할 때는 함께 보는 파일의 소리도 들어야 한다.

라우팅의 책임을 나누다
오디오를 한데 모아 보내는 방식은 단순해 보이지만 어떤 소리가 누구에게 전달돼야 하는지 설명하기 어렵다. 마이크와 PonsCast 재생을 별도의 입력으로 보고 방의 목적에 맞게 라우팅해야 했다. 연결됐다는 사실보다 듣는 사람이 무엇을 듣는지가 제품 경험을 결정했다.
파일, 마이크, 재생 상태가 서로를 방해하지 않아야 같은 시간을 공유한다는 목표도 유지된다. 작은 라우팅 오류도 사용자에게는 방 전체가 불안정한 것처럼 느껴진다.
마치며
오디오 라우팅에서 중요한 것은 소리를 많이 보내는 일이 아니다. 각 소리의 출처와 역할을 분리하고 듣는 사람에게 필요한 조합만 전달하는 일이다.