Nodaro 문서
문서노드 레퍼런스모델템플릿AI 에이전트(MCP)개발자셀프 호스팅리서치비교
오디오

오디오 동기화

한 대화를 담은 녹음 2~6개가 서로 얼마나 어긋나는지 소리로 측정해, 오프셋을 입력하지 않고 멀티캠 편집을 맞추세요. 시계 드리프트도 알려 줍니다.

오디오 동기화 노드는 한 대화를 담은 녹음 2~6개의 시계가 서로 얼마나 어긋나는지 소리로 측정합니다. 팟캐스트는 게스트마다 카메라 한 대, 와이드 샷, 메인 마이크처럼 여러 번 동시에 녹음되는 경우가 많고, 각 녹음은 저마다 다른 시점에 시작됩니다. 오디오 동기화는 모든 녹음을 듣고, 각 녹음이 기준 녹음 하나와 비교해 얼마나 밀려 있는지 알려 줍니다. 그러면 누구도 오프셋을 입력하지 않고 멀티캠 편집을 맞출 수 있습니다.

노드는 AI 모델이나 공급자 키 없이 로컬에서 실행되므로 모든 에디션에서 작동합니다.

사용 시기

  • 편집을 계획하기 전에, 게스트마다 카메라 한 대와 메인 마이크로 녹화한 멀티캠 팟캐스트를 정렬합니다.
  • 테이블 위 녹음기처럼 따로 둔 오디오 녹음기의 오프셋을 카메라 소리와 비교해 찾습니다.
  • 긴 세션 동안 두 녹음기가 서로 어긋나는지 확인합니다.

빠른 시작

노드 추가

캔버스에서 Tab을 누르고 오디오 › 분석 › 오디오 동기화를 선택하세요.

모든 녹음 연결

오디오나 동영상 녹음 2~6개를 소스 입력 하나에 연결하세요. 메인 마이크를 먼저 연결하면 그 녹음이 기준 녹음이 됩니다.

기준 녹음 확인

설정 패널을 여세요. 녹음을 드래그해 순서를 바꾸거나 기준 녹음에서 하나를 고르세요.

실행

노드에서 실행을 클릭하세요. 오프셋이 오프셋 출력에 데이터로 나타납니다.

소스소스소스오디오 업로드메인 마이크동영상 업로드카메라 A동영상 업로드카메라 B오디오 동기화기준 녹음: 마이크
마이크 하나와 카메라 두 대를 소스에 연결하고, 카메라마다 마이크와 비교한 오프셋을 측정합니다.

입력과 출력

입력연결할 수 있는 노드설명
소스오디오 노드와 동영상 노드, 2~6개정렬할 녹음입니다. 동영상이면 노드는 사운드 트랙을 씁니다.

각 녹음은 그 녹음을 보낸 노드로 구분합니다. 그 노드의 id가 결과에서 녹음의 sourceId가 되며, 편집 계획이 같은 녹음에 붙이는 id도 이것입니다.

출력인 오프셋은 오디오가 아닌 데이터입니다. 이 출력으로 멀티캠 편집을 맞추는 편집 계획의 오프셋(오디오 동기화) 입력이나, 필드 추출처럼 데이터를 읽는 다른 노드에 연결하세요.

설정

설정설명
녹음연결한 녹음을 순서대로 보여 줍니다. 드래그해 순서를 바꾸세요. 첫 번째 녹음이 기본 기준 녹음이며, 결과는 이 순서대로 오프셋을 나열합니다.
기준 녹음모든 오프셋을 측정하는 기준이 되는 녹음입니다. 첫 번째 녹음(기본값)이나 연결한 녹음 중 하나를 고르세요. 고른 녹음의 연결이 나중에 끊기면 노드는 다시 첫 번째 녹음을 씁니다.

측정 방식

노드는 각 녹음을 기준 녹음과 세 단계로 비교합니다.

  1. 대략 맞추기. 두 녹음 전체의 음량을 비교합니다. 마이크보다 몇 분 먼저 시작한 카메라처럼 아무리 멀리 밀려 있어도 어긋남을 찾습니다.
  2. 정밀 맞추기. 첫 번째 답 주위의 파형을 비교하며, 두 녹음이 공유하는 구간에서 10초 길이의 창을 최대 3개 씁니다. 주파수마다 위상으로 가중치를 두므로, 에코가 있는 방 건너편의 카메라도 에코가 아니라 직접음으로 시간을 맞춥니다. 깨끗한 녹음은 약 1밀리초 안으로 맞고, 에코가 있는 녹음은 보통 몇 밀리초 안으로 맞습니다.
  3. 드리프트. 서로 다른 녹음기의 시계는 조금씩 다른 속도로 흐르며, 흔히 100만분의 20~100 정도입니다. 노드는 창들의 오프셋에 직선을 맞추며, 그 직선의 기울기가 드리프트입니다. 드리프트는 100만분의 200까지 측정합니다.

시간은 각 파일 자체의 시계, 즉 편집할 때 쓰는 시계로 읽습니다. 소리가 화면보다 늦게 시작하는 동영상은 그 간격을 그대로 둔 채 측정합니다.

결과 읽기

오프셋 출력은 다음과 같습니다.

{
  "version": 1,
  "reference": "mic",
  "offsets": [
    { "sourceId": "mic", "offsetMs": 0, "confidence": 1, "driftMsPerHour": 0 },
    { "sourceId": "camA", "offsetMs": 7500, "confidence": 0.94, "driftMsPerHour": 1.2 },
    { "sourceId": "camB", "offsetMs": -40000, "confidence": 0.91, "driftMsPerHour": null }
  ],
  "notes": []
}
필드의미
reference모든 오프셋을 측정하는 기준 녹음입니다. 자기 오프셋은 항상 0입니다.
offsetMs기준 녹음의 시계에서 그 녹음이 놓이는 위치로, 정수 밀리초 단위입니다.
confidence0~1입니다. 노드가 오프셋을 얼마나 확신하는지 나타냅니다.
driftMsPerHour기준 녹음과 비교해 측정한 드리프트로, 시간당 밀리초 단위입니다. 공유 구간이 너무 짧아 드리프트를 잴 수 없으면 null입니다.
notes이해하기 쉬운 말로 쓴 경고입니다.

오프셋 규칙

기준 시간 = 녹음 시간 + 오프셋. 편집 결정 목록과 같은 부호 규칙입니다. 기준 녹음이 메인 녹음이면 각 오프셋은 그 녹음이 편집에서 갖는 값과 정확히 같습니다.

  • 마이크보다 7.5초 늦게 시작한 카메라의 오프셋은 +7500입니다. 카메라의 0초가 마이크의 7.5초입니다.
  • 마이크보다 40초 먼저 시작한 카메라의 오프셋은 -40000입니다.

신뢰도

  • 공유 구간이 6분 이상이면 노드는 창 3개를 측정합니다. 창들이 1밀리초 안에서 일치하면 에코가 있는 방 건너편의 카메라라도 오프셋을 믿을 수 있으며, 신뢰도는 0.6 이상입니다. 일치가 뚜렷하면 신뢰도가 1까지 올라갑니다. 창들이 5ms 이상 어긋나면 0점입니다.
  • 공유 구간이 더 짧으면 창이 하나뿐이므로, 그 일치와 전체 정렬이 모두 뚜렷해야 합니다.
  • 신뢰도가 낮은 것은 실패가 아니라 결과입니다. 마이크가 꺼져 있던 카메라는 정렬할 소리가 없지만, 실행은 그대로 완료됩니다.

메모

메모나타나는 경우
약한 일치신뢰도가 0.5 미만입니다. 그 오프셋을 귀로 확인하세요.
뚜렷한 일치 없음신뢰도가 0.2 미만입니다. 오프셋은 추정값입니다.
드리프트공유 구간 동안의 드리프트가 30fps에서 한 프레임인 33ms를 넘습니다. 메모에는 전체 드리프트와 양 끝의 최대 오차가 나오며, 최대 오차는 전체 드리프트의 절반입니다.
공유된 소리 없음녹음이 기준 녹음과 공유하는 구간이 없습니다. 신뢰도는 0입니다.
오디오 트랙 없음화면만 담긴 카메라 파일처럼 녹음에 소리가 없습니다. 신뢰도 0인 행을 받으며, 나머지 녹음은 그대로 정렬됩니다.

크레딧

오디오 동기화는 기준 녹음에 맞춰 정렬하는 녹음 하나마다 11크레딧이 듭니다. 기준 녹음 자체는 어떤 녹음에도 맞춰 정렬하지 않으므로 비용이 들지 않습니다. 녹음 길이는 가격에 영향을 주지 않습니다.

녹음크레딧
211
322
433
544
655

캔버스에서는 소스에 연결한 녹음 수에 따라 가격이 정해집니다. 워크플로의 연결 없이 계산한 예상 가격은 너무 적게 잡지 않도록 녹음 6개의 가격인 55크레딧으로 표시됩니다. 셀프 호스팅한 Community Edition과 Business 에디션은 크레딧을 쓰지 않습니다.

예시

마이크 하나와 카메라 한 대. 카메라가 마이크보다 7.5초 늦게 시작했습니다. 결과는 기준 녹음인 mic가 0, cam이 +7500입니다. 실행에는 11크레딧이 듭니다.

마이크 하나와 카메라 세 대. 카메라 A는 마이크보다 7.5초 늦게, 카메라 B는 40초 먼저, 44.1kHz로 녹음하는 카메라 C는 3.25초 늦게 시작했습니다. 결과는 mic가 0, camA가 +7500, camB가 -40000, camC가 +3250입니다. 실행에는 33크레딧이 듭니다.

녹음 6개, 카메라 A가 기준 녹음. 같은 오프셋을 카메라 A의 시계로 측정합니다. 모든 값이 카메라 A 자체의 오프셋만큼 이동하며, camA는 0입니다. 실행에는 55크레딧이 듭니다.

드리프트. 시계가 100만분의 100만큼 다른 두 녹음기는 1시간에 360ms씩 어긋납니다. 40분의 공유 구간에서는 240ms로, 33ms 기준을 훨씬 넘습니다. driftMsPerHour의 크기는 약 360이며, 부호는 녹음이 어느 쪽으로 밀리는지 나타냅니다. 메모는 양 끝이 최대 120ms 어긋난다고 경고합니다. 보정은 하지 않습니다.

제한

  • 실행 1회에 녹음 2~6개. 더 적거나 많으면 실행이 시작되기 전에 거부되며, 크레딧을 잡아 두지 않습니다.
  • 공유된 소리. 녹음끼리 2초 이상의 소리를 공유해야 합니다. 공유된 소리가 없는 녹음은 메모와 신뢰도 0을 받습니다.
  • 기준 녹음에는 소리가 있어야 합니다. 기준 녹음은 모든 측정의 기준이 되는 시계입니다. 기준 녹음에 사운드 트랙이 없으면 그 녹음을 지목하는 메시지와 함께 실행이 실패합니다. 소리가 없는 다른 녹음은 신뢰도 0인 자기 행만 받습니다.
  • 드리프트는 보정하지 않고 알려만 줍니다.
  • 긴 파일. 처음 실행할 때 녹음을 전부 가져옵니다. 파일은 최대 64GB이며, 다운로드는 최대 1시간까지 걸릴 수 있습니다. 크기를 아는 파일은 2MB/s(16Mbit/s)로 받았을 때 걸리는 시간 안에 도착해야 하며, 그 시간은 최소 2분, 최대 1시간입니다. 처음 2분이 지나면 다운로드가 약 2Mbit/s 이상의 속도로 계속 들어와야 합니다. 1분 내내 그보다 느리면 가져오기를 중단합니다. 이후 실행에서는 준비해 둔 오디오를 다시 씁니다.

팁

  • 메인 마이크를 기준 녹음으로 삼으세요. 먼저 연결하거나 기준 녹음에서 고르세요. 그러면 숫자를 읽기 쉽습니다. 오프셋이 편집에 들어가는 값과 정확히 같습니다.
  • 신뢰도가 낮으면 귀로 확인하세요. 보통 음소거된 카메라나 시끄러운 방의 먼 와이드 샷처럼 녹음에 대화가 거의 들리지 않았다는 뜻입니다.
  • 긴 에피소드에서는 드리프트 메모를 읽으세요. 드리프트가 한 프레임을 넘으면 시작이 맞아도 에피소드가 진행될수록 립싱크가 어긋납니다.
  • 편집을 맞추세요. 오프셋 출력을 편집 계획의 오프셋(오디오 동기화) 입력에 연결하고, 같은 녹음을 편집 계획의 소스에도 연결하세요. 편집 계획은 각 오프셋을 그 녹음이 속한 마스터의 시계로 옮기므로, 여기서는 어떤 녹음이든 기준 녹음이 될 수 있습니다. 편집 계획은 쓰는 녹음이 측정되지 않았거나 약하게 일치했으면 비용을 청구하기 전에 멈춥니다. 멀티캠 녹음을 참고하세요.
  • Multicam Cut 템플릿으로 시작하세요. 템플릿 마켓플레이스의 Multicam Cut 템플릿은 마스터 오디오를 기준으로 이렇게 연결되어 있습니다. 이어서 카메라 전환을 거쳐 EDL 적용으로 가서 컷을 렌더링합니다.

API에서 사용

POST /v1/audio-sync는 고유한 id와 url을 담은 객체 2~6개의 목록인 sources와, 그 id 중 하나여야 하는 선택 항목 reference를 받습니다. id가 중복되거나 reference가 id 중 하나가 아니면 해당 값을 지목하는 400 validation_error로 거부됩니다. 완료된 실행의 output_data.json이 위의 결과입니다. SDK 메서드는 client.edit.audioSync, CLI 명령은 nodaro edit audio-sync, MCP 도구는 audio_sync입니다. 보이스 및 미디어를 참고하세요.

자주 묻는 질문

오디오 동기화는 녹음을 몇 개까지 정렬할 수 있나요?

실행 1회에 녹음 2~6개를 정렬하며, 오디오와 동영상을 자유롭게 섞을 수 있습니다. 동영상이면 노드는 사운드 트랙을 듣습니다.

양수 오프셋은 무슨 뜻인가요?

녹음이 기준 녹음보다 늦게 시작했다는 뜻입니다. 오프셋이 +7500이면 그 녹음의 0초가 기준 녹음의 7.5초입니다. 규칙은 기준 시간 = 녹음 시간 + 오프셋입니다.

오디오 동기화가 시계 드리프트를 보정하나요?

아니요. 드리프트를 측정하고 동영상 한 프레임보다 크면 메모로 경고하지만, 녹음을 바꾸지는 않습니다. 오프셋은 공유 구간의 가운데에서 측정하므로, 양 끝에서 생기는 최대 오차가 절반으로 줄어듭니다.

오디오 동기화는 몇 크레딧이 드나요?

기준 녹음에 맞춰 정렬하는 녹음 하나마다 11크레딧이 들며, 기준 녹음을 뺀 모든 녹음이 여기에 해당합니다. 녹음 2개는 11크레딧, 6개는 55크레딧입니다. 녹음 길이는 가격에 영향을 주지 않습니다.

카메라 하나가 소리를 녹음하지 않았다면 어떻게 되나요?

그 녹음은 신뢰도 0과 메모를 받고, 나머지 녹음은 그대로 정렬됩니다. 모든 오프셋을 기준 녹음의 시계로 측정하므로, 소리가 꼭 있어야 하는 것은 기준 녹음뿐입니다.

최종 업데이트

목차