지연 시간 으로 인해 실시간 Jamming이 거의 불가능해지는 이유

COVID-19가 뮤지션에게 미치는 영향은 취소된 투어와 공연부터 교육 및 스튜디오 기회 상실까지 다양합니다. 또한 함께 모여 연습하거나 즐겁게 연주할 수 있는 능력에도 영향을 미쳤습니다. 업무 회의나 친구와의 대화 등 다양한 목적의 원격 ‘모임’은 옷을 입고 Zoom 통화를 실행하는 것만큼이나 간단합니다. 하지만 음악 제작에서는 그렇지 않습니다. 네트워크에 의해 발생하는 약간의 지연 시간 도 함께 연주하려는 뮤지션에게는 큰 문제인 것으로 나타났습니다.

자택 대피령이 시작되었을 때 “온라인 비디오 게임은 200명과 함께 할 수 있는데 왜 한두 명의 친구와 음악 연주는 할 수 없나요?”와 같은 뮤지션들의 질문이 넘쳐났습니다. 이것이 왜 문제인지, 지연 시간 이 음악에 어떤 영향을 미치는지에 대해 특별한 관점을 가지고 있습니다.

새로운 하드웨어와 더 나은 소프트웨어로 네트워크 속도가 빨라지면서 API를 통해 모바일 앱과 상호작용하는 것이 자연스럽고 실시간으로 느껴지기 시작했습니다. 실제로 API는 사람보다 더 빠르게 반응하는 경우가 많습니다. 인간의 반응 속도는 우리가 생각하는 것만큼 빠르지는 않지만, 보상과 예측 능력으로 인해 타이밍에 대한 감각이 향상됩니다.

야구가 좋은 예입니다. 직구가 투수로부터 타석까지 도달하는 데 걸리는 시간은 약 300~400ms로, 눈을 깜빡이는 데 걸리는 시간과 거의 같습니다. 타자들은 자신의 타이밍에 대해 자부심을 갖고 있는데, 그만한 이유가 있습니다. 타자가 스윙 여부를 결정할 수 있는 시간은 약 150ms에 불과하기 때문입니다. 그 이상 늦어지면 동작을 시작하기에는 너무 늦습니다. 야구 선수들은 공의 초기 움직임을 해석하는 방법을 배워 스윙 위치를 예측하는 데 평생을 투자합니다.

타격은 서버가 들어오는 데이터를 수신하고 처리한 다음 응답을 반환하는 것과 크게 다르지 않습니다. 타자는 공이 온다는 것을 알고 있고, 스윙하거나 스윙하지 않는 등 여러 가지 응답을 준비하고 있으며, 가능한 한 빨리 올바른 응답을 선택해야 합니다. 하지만 30ms 이내에 API 호출에 응답하는 것, 즉 NGINX가 이전에 ‘실시간’ API 성능이라고 정의한 것은 실제로 배트를 휘두르는 것보다 10배나 빠른 속도입니다. 결제 단말기의 경우, 쇼핑객이 카드 스와이프를 완료하기 전에 거래를 완료할 수 있습니다.

목차

1. 음악에서 지연 시간 이 미치는 영향
2. 네트워크는 가장 느린 구성 요소 만큼 빠릅니다.

1.음악에서 지연 시간 이 미치는 영향

음악과 타격(또는 API 호출 처리)의 주요 차이점은 음악에서는 정확한 타이밍을 맞추는 데 기본적으로 반응이 필요하지 않다는 점입니다. 음악은 데이터 패킷을 주고받는 것과 같은 직렬적인 상호작용을 기반으로 하는 것이 아니라, 지정된 시간 간격으로 완벽하게 동기화된 사운드를 생성하여 재생됩니다.

온라인에서 다른 사람들과 함께 음악을 재생하는 개념은 새로운 것이 아닙니다. 디지털 인코딩, 전송 및 디코딩으로 인해 발생하는 불가피한 지연 시간 을 최소화하는 오디오 전용 장치가 있습니다. 완벽하게 작동하지는 않지만, 오디오와 함께 훨씬 더 복잡한 시각 신호를 인코딩, 암호화, 버퍼링해야 하는 비디오 플랫폼보다는 낫습니다. 음악을 위해 특별히 하향식으로 설계된 인상적인 시스템이 몇 가지 있지만(영감을 얻으려면 LoLa를 살펴보세요), 안타깝게도 완벽한 시스템은 없습니다. 음악에서 타이밍이 ms 단위로라도 어긋나면, 그것은 불안한 느낌과 불안감으로 가장 잘 설명됩니다.

실제 뮤지션들은 10ms 정도의 지연 시간 부터 시간 차이를 느끼기 시작합니다. 녹음 스튜디오에서 지연 시간 을 모니터링하고 허용 가능한 최대 지연 시간 이 10~12ms 이기 때문에 이를 알 수 없습니다. 지연 시간 이 길어질수록 뮤지션은 연주에 집중하지 못하는 경향이 있습니다. 물론 뮤지션은 완벽하지 않고 항상 잘못된 위치에서 음을 연주하지만, NGINX는 이를 조정하고 보정할 수 있는 능력도 갖추고 있습니다. 변동은 괜찮으며 오히려 특정 종류의 음악이 더 자연스럽게 느껴지기도 합니다. 클래식 음악은 표현을 위해 속도를 높이고 낮추는 등 시간에 유동적으로 접근하는 것으로 유명한 반면, 대중적인 스타일의 음악은 메트로놈에 맞춰 연주하고 최대한 정확하게 연주하는 경향이 있습니다. 모든 종류의 음악에서 다른 사람과 함께 연주할 때 목표는 타이밍이 유연하더라도 함께 박자에 맞춰 연주하는 것입니다. 다른 뮤지션으로부터 나에게 도달하는 사운드가 조금이라도 지연되면 그렇게 하기가 정말 어렵습니다.

지연 시간이 어떻게 들리는지 설명하기 위해 몇 가지 예를 들어보겠습니다. 여기에 사용된 클립은 뉴욕에서 함께 연주하는 Up & Orange라는 그룹에서 촬영한 것입니다.

다음은 지연 시간 이 추가되지 않은 첫 번째 버전의 컨텍스트입니다. 그루브가 멋지고 펑키합니다.

두 번째 클립에서는 원본 드럼 파트를 음소거하고 베이스가 설정한 비트에 대한 지연 시간 이 지남에 따라 증가하는 사본으로 교체했습니다. 30ms 정도부터 드럼이 약간 뒤처지는 느낌이 들기 시작하고 50ms가 되면 엉성하게 들리며 70ms가 되면 완전히 느려지는 것을 알 수 있습니다.

마지막으로, 지연 시간 이 늘어날 때마다 드럼이 정해진 비트에서 실제로 얼마나 멀리 움직이는지 듣는 가장 좋은 방법은 원래 드럼과 지연된 드럼을 모두 연주하는 것입니다. 90ms에서는 더블 이펙트가 실제로 멋지게 들리지만, 마지막에는 그루브가 완전히 무너집니다.

지연 시간이 10ms일 때 지연 시간이 없는 경우와 거의 차이가 없다는 사실도 눈치채셨나요? 이는 이상적인 음향 환경에서도 소리가 전달되는 데 시간이 걸리기 때문에 음악가들은 5~10ms의 지연 시간에 익숙해져 있으며, 실제로 자연스러운 느낌을 받습니다.

광케이블을 통한 데이터와 달리 소리는 공기를 통해 균일한 속도로 이동하지 않습니다. 간단히 말해서, 고주파는 저주파보다 파동 패턴이 작기 때문에 더 빠르게 이동합니다. 숫자를 제공하기 위해 일반적인 공간에서 소리가 스피커에서 멀리 떨어진 마이크까지 이동할 때 지연 시간을 보여주는 차트를 가져왔습니다. 정확하지는 않지만 어쿠스틱 사운드는 9ms마다 10피트의 속도로 이동합니다.

작은 무대에서 다른 뮤지션과 함께 연주하는 것이 좋은 이유는 바로 이 거리에서 자연스러운 지연 시간이 약 5~10ms이기 때문입니다. 우리는 어느 정도의 지연 시간을 실시간이라고 인식합니다.

거리가 멀어질수록 지연 시간(및 사운드의 다른 측면)도 증가합니다. 큰 무대에서 연주해 본 사람이라면 다른 연주자의 소리를 듣는 것이 항상 쉽지 않다는 것을 알 수 있습니다. 대중음악에서 가장 일반적인 해결책은 인이어 헤드폰이나 스피커가 각 뮤지션을 향하는 모니터를 사용하는 것입니다. 오케스트라와 어쿠스틱 밴드는 지휘자가 시각적으로 박자와 다이나믹을 지시합니다. 이러한 모든 옵션을 사용하면 지연 시간으로 인해 주의가 분산될 수 있는 뮤지션이 앙상블과 연주를 동기화하는 데 집중할 수 있습니다.

음악에서 시간이 어떻게 작동하는지 잘 모르는 독자를 위해 설명하자면, 시간은 템포라고 하는 beats per minute(bpm)로 해석됩니다. 분당 60박자는 초당 1비트, 120박자는 초당 2비트 등입니다. 노래의 템포가 120bpm이면 500ms(1초는 1000ms)마다 비트가 있다는 뜻입니다.

모니터가 없는 대형 무대에서 20피트 떨어져 있으면 18ms의 지연 시간이 발생하여 500ms/120bpm이 더 긴 518ms/115bpm처럼 느껴집니다. 거리가 멀어지면 다른 플레이어가 실제로는 그렇지 않은데도 나보다 드린 속도로 공연하는 것처럼 느껴집니다. 이를 흔히 ‘끌림’이라고 하는데, 젖은 시멘트에서 발을 들어 올리려고 하는 것과 같은 끔찍한 느낌입니다.

문제를 더 복잡하게 만들기 위해 각 박자를 더 작은 박자로 세분화할 수 있습니다. 전체 음표는 4분의 4음표로 나눌 수 있고, 4분의 4음표는 다시 3분의 1음표, 8분의 1음표, 16분의 1음표 등으로 나눌 수 있습니다. 500ms마다 하나의 큰 박자가 있을 수 있지만, 그 500ms에는 여러 개의 세분화된 박자가 동기화된 배치로 포함될 수 있습니다. 16번째 음표와 16번째 음표 삼중주 사이의 간격은 약 40ms에 불과합니다.

아마도 가장 어려운 예는 마칭 밴드일 것입니다.

평균적인 대학 마칭밴드는 약 22명의 뮤지션이 축구장 한 면에 흩어져 있습니다. 가장자리에 있는 연주자들은 말 그대로 축구장만큼 떨어져 있습니다. 다양한 대형을 만들면서 선수들 사이의 거리가 계속 변하기 때문에 난이도가 높아집니다. 이러한 이유로 마칭 밴드 뮤지션은 지연 시간을 보정하는 방법을 배웁니다.

안타깝게도 여러 플레이어와 온라인에서 채팅을 하는 것은 마치 축구장의 다른 구역에 있는 것과 같은 느낌입니다. 각 플레이어마다 지연 시간이 다를 뿐만 아니라 퍼블릭 네트워크의 혼잡과 지터로 인해 지연 시간이 변동될 수 있습니다.

2. 네트워크는 가장 느린 구성 요소 만큼 빠릅니다.

네트워크는 계속 개선될 것이지만, 스트리밍 서비스가 더 많은 대역폭을 사용하고 더 많은 IoT 객체가 연결됨에 따라 더 많은 트래픽이 발생할 것으로 예상할 수 있습니다. 그럼에도 불구하고 영상 통화는 계속해서 자연스럽고 결제 단말기는 즉각적으로 느껴질 것입니다. 하지만 음악은 절대 그렇게 되지 않을 것입니다.

수학자이자 물리학자인 Philippe Kahn에 따르면, 음악가들이 실시간 경험을 구현하는 데 방해가 되는 한 가지 주요 과제가 여전히 남아 있다고 합니다: 바로 빛의 속도보다 빠르게 이동할 수 있는 것은 아무것도 없다는 아인슈타인의 상대성 이론입니다. 수학 외에도 Philippe의 많은 열정 중 하나는 클래식과 재즈 음악에 대한 평생의 연습입니다.

Philippe은 “네트워크와 장비가 아무리 효율적이더라도 지연 시간은 피할 수 없습니다. 따라서 실시간 원격 음악 공연의 문제는 ‘허용 가능한 지연 시간이 얼마인가’로 귀결됩니다. 데 개인적인 의견으로는 모든 음악 스타일을 서비스하기 위해서는 최소 10ms가 적당하다고 생각합니다. 적을수록 좋습니다. 하지만 어느 정도의 지연 시간은 항상 존재합니다. 시간 여행을 하는 공상 과학 소설을 제외하고는 아인슈타인과 물리학 법칙을 이길 수는 없습니다.”

간단히 말해, 빛의 경우에도 이동 시간이 0은 아닙니다. 1500km(약 930마일)당 약 5ms의 지연 시간이 있습니다. 완벽한 조건에서도 네트워크를 통과하는 신호는 이보다 빠를 수 없습니다. 음악가들은 어느 정도의 지연 시간을 기대하지만, 이는 작은 무대에서 음의 속도와 비슷하게 일정해야 합니다. 제 생각에 진정한 킬러는 여러 지연 시간 사이의 스파이크 또는 변동이며, 특히 세분화 사이의 차이는 오류의 여지가 거의 없기 때문입니다. 한 번의 네트워크 스파이크가 음표의 의미를 바꿀 수 있습니다. 음악에서 시간은 복잡하고 무엇보다도 매우 구체적입니다. 제 생각에 이는 버그가 아니라 기능입니다. 라이브 연주와 함께 연주하는 것에 집중할 수 있게 해줍니다. 연습이 중요하다는 것을 일깨워주고, 뮤지션이 밀리초를 분별할 수 있을 정도로 발전했을 때 존경받을 수 있는 특별한 존재라는 것을 일깨워줍니다.

뮤지션들은 여러 위치에 여러 명의 플레이어가 있는 경우, 적어도 직접 모여서 연습하는 것을 대체할 수 있을 만큼 좋은 지연 시간을 경험하지 못할 것입니다. 그렇다고 해서 향후 네트워크 개선의 이점을 활용하여 온라인에 접속하여 즐거운 시간을 보낼 수 없다는 뜻은 아닙니다.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 논하십시오.

NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required