OBS 사운드 제대로 분리하기

목차
  1. 들어가며
  2. 트랙 분리
  3. 브라우저 소스 사운드 분리
    1. 방법
    2. 도네이션 소리가 데스크탑 소리와 섞인다
    3. 도네이션 소리 듣기
  4. Virtual Cable로 사운드 분리
    1. 원리
    2. OBS 설정
    3. 프로그램 소리 넘기기
    4. 나도 들을 수 있게 설정
    5. Virtual Audio Cable 설정 (딜레이)
  5. 마무리
  6. 추가적인 분리
  7. 사운드 흐름 정리

들어가며

컴퓨터 하나로 OBS를 사용하면 사운드 분리가 문제입니다. 저는 이것을 도네이션 사운드 세팅하면서 느꼈습니다. 나는 도네이션 소리를 들을 수 있게 하고, 녹화 때 게임 소리와는 분리하고 싶었어요. 결국 해결했지만 꽤나 고생했기 때문에 그 과정을 풀어볼까 합니다. 꽤나 자세하니 시간을 아끼고픈 분들은 목차에서 필요한 위치로 바로 가주세요.

트랙 분리

우선 기본적으로 트랙을 분리하는 법을 알아야 합니다. (이미 아시는 분을 위한 다음 목차로 건너뛰기) 이 설정은 나중에 하는 것이 낫지만, 기초가 되는 부분이라 먼저 설명드립니다.

OBS의 오디오 믹서에서 설정을 누릅니다. 오른쪽에서 트랙을 설정할 수 있습니다. 각 장치마다 트랙을 (중복) 선택할 수 있습니다.

만약 생방송을 하신다면 1번 트랙은 전부 선택해주세요. 생방송에는 오디오 트랙을 하나밖에 사용할 수 없기 때문에 1번 트랙을 생방송용으로 사용할 것입니다. 그것이 아니더라도 동영상 플레이어에서 볼 때 합쳐진 소리를 듣기 위해서도 필요합니다. 나머지는 분리하고 싶은 대로 배정하시면 됩니다. 하나의 장치만 단독으로 분리시키고 싶다면 한 숫자(트랙)에 하나의 체크만 존재하면 됩니다.

설정의 내보내기 탭입니다.

OBS Stream Audio Track OBS Record Audio Track

송출 쪽에는 전부 다 체크한 트랙을, 녹화 쪽에는 사용한 트랙을 전부 체크해주세요.

브라우저 소스 사운드 분리

방법

OBS Control Audio Via OBS

브라우저 소스 설정에서 OBS로 오디오를 재편성을 체크합니다.

도네이션 소리가 데스크탑 소리와 섞인다

여기서 사운드 분리 상 문제가 생깁니다. 내가 도네이션 소리를 어떤 방법으로 들어도 데스크탑 소리와 섞이게 됩니다. OBS의 모니터링 기능을 사용하든, 따로 웹 브라우저로 보든, 프로그램으로 보든 전부요. 여기서 데스크탑의 사운드 분리가 필요해집니다. 이 모든 고봉글의 원인은 이겁니다.

도네이션 소리 듣기

아직 사운드 분리는 되지 않았지만 미리 도네이션을 들을 수 있게 하겠습니다. 아까 OBS 볼륨 믹서의 톱니바퀴를 누르면 나왔던 설정창에 들어갑니다. (트랙 체크했던 거기요.) 여기서 브라우저 소스를 찾습니다. (아마 이름이 난잡할텐데 볼륨 믹서의 점 세개를 누르면 각 장치와 소스의 이름을 바꿀 수 있습니다.) 오디오 모니터링 설정을 출력과 모니터로 바꿉니다. 소리를 한번 테스트 해보시고 들리지 않는다면 설정의 오디오 부분에서 모니터링 장치를 현재 내가 쓰는 장치로 바꿔주세요.

Virtual Cable로 사운드 분리

원리

이 방법의 기본 원리는 이렇습니다. VB Virtual Audio Cable은 가상의 오디오 케이블입니다. 설치 시 입력 장치와 출력 장치가 생기는데 이것을 케이블의 양 끝이라고 생각하시면 쉽습니다. 우리는 방송할 소리를 스피커가 아닌 이 케이블로 보냄으로써 우리가 듣는 소리와 방송할 소리를 분리할 것입니다.

OBS 설정

VB Virtual Audio Cable을 설치하면

Windows Audio Settings

이렇게 설정의 오디오 장치에서 선택할 수 있게 됩니다. 위치는 상관없는 것 같아요. 오디오 믹서에 뜨기만 하면 됩니다.

프로그램 소리 넘기기

내가 송출하고자 하는 프로그램의 소리를 넘기도록 설정합니다. 여러가지 방법이 있는데 기본적인 방법은 이렇습니다.

윈도우 볼륨 아이콘 우클릭

상태표시줄의 볼륨 아이콘을 우클릭하여 소리 설정에 들어갑니다. (바로 위에 볼륨 믹서 열기가 있네요? 윈도우 11이신 분들은 저걸로 직접 들어가면 될 것 같습니다.)

Windows Program Device Choose Windos Volume Mixer

볼륨 믹서로 들어가 원하는 프로그램을 찾은 후 출력 장치를 Cable Input으로 바꿉니다. 많이 번거롭죠? 그래서 이런 전환을 도와주는 프로그램이 많이 있습니다. 다만 편하게 쓸만한 프로그램은 찾지 못했고, 현재 저는 EarTrumpet을 쓰고 있습니다. 이거 너무 귀찮다! PC 소리가 통째로 들어가도 좋으니 도네이션 소리만 분리되면 된다! 생각하시는 분들은 기본 장치를 Cable Input으로 바꿔주세요.

나도 들을 수 있게 설정

재생 장치를 Cable Input으로 바꾸면 문제가 발생합니다. 정작 내가 소리를 들을 수가 없다는 것입니다. 이것은 윈도우 자체에 내장되어 있는 모니터링 기능으로 해결합니다. 아까와 같이 소리 설정에 들어가서 '더 많은 소리 설정'에 들어갑니다. (혹은 재생 장치, 녹음 장치 설정 창에 들어갑니다.)

Cable Input Device Setting Cable Input Device Setting

이 장치로 듣기를 체크하신 다음 소리를 들을 장치를 선택해주세요. 기본 장치로 놓아도 되지만 앞에서 Cable Input을 기본 장치로 전환하는 방식을 선택하신 경우는 특정 장치를 선택해 주셔야 합니다.

이제 Virtual Audio Cable로 들어간 소리는 우리에게도 들리고 OBS에도 들어가는 모습이 됐습니다!

Virtual Audio Cable 설정 (딜레이)

하지만 VB Virtual Audio Cable에는 딜레이가 있습니다. 우리가 실제로 듣는 소리에도 딜레이가 생기니 아주 불편해집니다. 그래서 설정을 통해 딜레이를 줄여야 합니다.

C:\Program Files\VB\CABLE로 가시면 VBCABLE_ControlPanel.exe가 있습니다. 이게 설정 프로그램이예요. 바탕화면에 바로가기를 만들어 두시는 것을 추천드립니다. 재부팅을 아주 많이 할 거거든요.

VB Cable Input & Output

여기 Input과 Output이 있습니다. 이 둘이 같아야 합니다. 이건 아까 윈도우 재생 장치, 녹음 장치 설정에서 바꿀 수 있습니다. 48000hz를 제일 추천해요.

VB Cable Status

여기 Internal SR이 Input과 Output이랑 일치하는지 확인하세요.

VB Cable Option

일치하지 않는다면 좌측 상단 Option에서 동일한 것을 선택해주세요.

이제 약간의 노가다가 있습니다. 아까 Option 메뉴에서 Set Max Latency를 보셨나요? 이것이 딜레이 설정입니다. 너무 줄이면 사운드에 손상이 가고, 기본값인 최대는 딜레이가 깁니다.

VB Cable Buffers

적정값은 여기서 확인합니다. OBS도 같이 켜고 확인해주세요.

왼쪽의 Input과 Output에서는 사용되는 오디오의 크기가 얼마나 되는지 알려줍니다. 제 경우에 Input과 Output 모두 b512 이상은 쓰이지 않고 있습니다. 이 때는 입력과 출력 모두 최대 512씩 사용한다고 보시면 됩니다.1

제 경우에는 대략 1500쯤 될 것입니다. 그러나 저는 문제가 생겼었습니다. 레이턴시가 너무 짧아 손실이 생긴 것입니다. 이것을 수치로 확인하는 방법이 Statistics 부분의 Push loss와 Pull loss입니다. 문제가 되는 경우는 OBS가 켜져 있는 상태에서 Push loss가 늘어나는 경우입니다.2
이 경우 레이턴시가 너무 짧은 것으로, 한 단계 늘려줘야 합니다.

이 설정은 재부팅을 해야 바뀌니, 컴퓨터를 껐다 켜며 적정값을 찾아주시면 되겠습니다.

마무리

이제 처음에 언급했던 트랙 정리를 해주시면 됩니다. 또한 기존에 존재했던 기본 데스크탑 사운드는 꺼주세요. 레이턴시를 줄여도 딜레이는 존재할 테니 마이크와 싱크를 맞추는 것도 좋습니다.

만약 소리가 어딘가 이상하게 들린다면, 장치의 샘플링 레이트(41000hz, 48000hz, 96000hz, etc)를 확인해보세요. 사운드 분리가 되지 않았다면 OBS와 프로그램의 녹음, 재생 장치를 확인해보고 '기본 장치'를 구체적인 장치로 설정해보세요.

추가적인 분리

스트리밍에서는 시청자들과 음악을 듣고, 녹화에서는 음악소리가 들리지 않게 하려면 추가적인 가상 장치를 설치하세요. Voicemeeter Banana (무료)VB-Cables A+B, C+D (유료) 선택지가 있습니다. 무료의 Banana는 본래의 용도가 아닌 프로그램에 포함된 가상 장치를 이용하는 방법입니다. 딜레이 설정법이 좀 달라요. 그래도 아마 문제가 생기지 않는 적정한 값을 찾는 그 자체는 비슷하지 않을까요? 유료의 VB-Cables는 기존 케이블을 여러가지 주는 것입니다. 아마 만원 이하였던 것으로 기억합니다. 커피 한 잔 마셨다~☕ 치고 투자해보시는 것도 좋을 것 같습니다.

사운드 흐름 정리

추가적인 이해를 돕기 위한 사운드의 흐름입니다.

1 제작자 측에서 설명하는 Max Latency(이하 레이턴시)는 이 값의 세 배입니다. 들어올 때 하나, 변환 과정에서 하나, 나갈 때 하나, 총 세 부분에서 데이터가 처리되기 때문에 ×3이라는 설명입니다.
2 (여기는 제 추측이 들어간 설명이니 감안하고 읽어주세요)
Push loss는 출력단(OBS와 연결된 곳)의 손실입니다. Pull loss는 입력단(프로그램과 연결된 곳)입니다. 제 상태를 보시면 입력 단에서 손실이 엄청나게 발생하고 있습니다. 그러나 듣기에는 아무런 문제가 없습니다. 추측상 진짜 장치가 아닌 디지털 컨텐츠가 연결되서 그 정보량이 과다한 것 같습니다. OBS와 연결된 곳에는 6번 손실이 발생했다고 나오는데, 이것은 제가 컴퓨터를 부팅한 후 OBS를 킨 횟수입니다. 즉, OBS와 연결되며 한 버퍼씩 손실이 발생한 것입니다.
한 단계 차이는 그리 크지 않으니 조금 여유를 두는 것도 좋은 것 같습니다.
🏠📑