...

Copyright 2023 Muzium Ent. All Rights Reserved

파이썬을 이용한 LUFS 분석

파이썬을 이용한 LUFS 분석

오늘의 이야기 주제 : 파이썬을 이용한 LUFS 분석

이야기 작성일 : 2024년 08월 22일

강좌 작성에 사용된 컴퓨터 환경

  • Apple MAC Studio M1 Max, 32GB (2022)
  • 14.6.1 Sonoma
  • Pro Tools Ultimate 2023.06 / iZotope RX 11 Editor

맥 OS는 영어로 설정되어 있습니다. Pro Tools 역시 영어로 진행합니다.

LUFS 분석

사실 단순하게 한두개의 파일을 정리하고 작업한다면 LUFS 분석은 크게 의미가 없을 수도 있습니다.

그냥 작업하면서 트랙 끝단에 Analyzer 걸어두면 작업하면서 바로 체크할수 있기 때문이죠.

하지만 게임같이 다량의 개별 파일이 나오는 작업의 경우 적게는 수백개부터 많게는 수천개에 이르는 Audio 파일이 나오기 때문에 작업하면서 Analyzer를 걸어둔 상태만으로는 한계가 명확합니다.

더군다나 분량이 많으면 작업을 진행하는 작업자도 많아지기 때문에 수치를 정해두지 않으면 A 작업자가 에디팅한 소스는 엄청 크고, B 작업자가 에디팅한 소스는 엄청 작은 결과물이 나올수도 있습니다.

이러한 문제를 해결하기 위해서는 LUFS 기준을 잡고 업무 처리를 해야합니다.

그냥 LUFS Control로 Batch Processing 돌리면 맞출수 있지 않을까요?

사실 어떻게 보면 가장 쉬운 방법입니다.

그냥 작업한 파일 RX Batch Processor 에 던져두고 Loudness Control로 맞추면 끝나는거 아닌가요? 라는 질문이 충분히 나올 수 있습니다.

하지만 게임 CV같은 경우 워낙 다이나믹 레인지가 넓습니다.

예를들어 비주얼 노벨에서 종종 나오는 […] 표현의 경우 호흡으로 대체해서 상대적으로 작을 수 밖에 없고, 혼잣말을 하는 경우도 상대적으로 작을수 밖에 없습니다.

(그리고 느낌을 자연스럽게 살리려면 작아야 합니다)

반면 비명이라던가 전투에서 쓰이는 감정표현들은 상대적으로 클수 밖에 없습니다. 이 역시도 느낌을 자연스럽게 살리려면 커야 합니다.

하지만 애석하게도.. 모든 프로그램들은 분석을 통해 볼륨으로만 접근을 하지 어떠한 대사인지, 어떠한 감정인지 모르고 동일하게 맞추는데 초점을 둡니다.

그래서 혼잣말이나 짧은 호흡을 엄청나게 키워버리고, 커야하는 기합소리는 줄여버리는 참사가 일어납니다.

(이런걸 해결하려면 AI 딥러닝과 대본과 파일명을 파악하는 기능,  STT (Speech To Text) 기능을 합쳐야 아마 원하는 프로그램이 만들어지지 않을까 싶네요.)

결과적으로 이런 케이스 때문에 Batch Processing을 돌려도 들어보면서 문제가 되는 파일을 개별적으로 고쳐주어야 합니다.

시중에 있는 분석 프로그램이 없나요?

생각보다 “분석만 한다” 라는 선택지가 많지 않습니다.

바로 LUFS를 바꿔버린다거나, 전체 평균을 구해주지 않는다거나 하는 경우가 대부분입니다.

그나마 Alto Studio가 나름의 비슷한 기능을 제공하고 있는데요,

분석 이후 Report 로 가면 계산했던 파일들의 평균 LUFS를 계산할 수 있게 도와줍니다.

문제는 무조건 프로젝트 단위로 분석을 해버리기 때문에.. 불러올때 각각의 폴더 단위로 불러오기를 해야하는 불편함이 있습니다.

Alto Studio 파이썬을 이용한 Lufs 분석

EP09가 선택되어 있어서 해당 폴더만 분석한것 같지만, 실제로는 Root 폴더 전체를 분석했습니다.

그래서 만든 스크립트는?

Lufs Code 01 파이썬을 이용한 Lufs 분석

GUI가 없는 터미널에서 쓸수 있는 스크립트 형태로 만들었습니다.

GUI 까지 만들기엔 전문 분야도 아닐뿐더러 사실 굳이 필요한가 싶어서 더 이상 진행하지 않았습니다.

스크립트 자체는 GPT와 Claude가 다 작성해주었고, 코드의 방향성을 열심히 설명해주면서, 코드 검토 하면서 만들었네요.

터미널 화면을 보시면 알겠지만 LUFS Manager라고 실제 볼륨을 조절해줄 스크립트, 각종 다양한 오디오 작업을 할수 있는 스크립트가 포함되어 있습니다.

Lufs Code 02 파이썬을 이용한 Lufs 분석

샘플은 이렇게 하나의 Root 폴더에 5개 폴더, 각각 20개의 파일을 넣어둔 상태입니다.

게임의 계층화 구조에 따라 폴더가 하나의 시나리오가 될수도, 한명의 캐릭터가 될 수도 있습니다.

Lufs Code 03 파이썬을 이용한 Lufs 분석

명령줄 인자를 통해 폴더 주소를 입력하고 실행시키면…

Lufs Code 05 파이썬을 이용한 Lufs 분석

이렇게 스크립트가 처리됩니다. (물론 터미널창에 나온 멘트는 안내 멘트지 실제 결과물은 아닙니다)

Lufs Code 05 2 파이썬을 이용한 Lufs 분석

결과물은 입력한 폴더와 동일한 이름으로 추가 텍스트를 붙여서 동일한 위치에 만들어줍니다.

엑셀 파일에는 상세한 데이터가 있고, 성미가 급한 한국인을 위해 엑셀 파일명에는 평균 LUFS를 기입하도록 세팅하였습니다.

Lufs Code 06 파이썬을 이용한 Lufs 분석

첫 파일은 상당히 LUFS가 낮죠? 대사가 아닌 […] 호흡입니다.

엑셀에는 파일명, Sample Rate, Bit Depth, Channel, Length, Peak Level, LUFS가 기록되어 있습니다.

평균을 구할수 있는건 맨 하단에 평균을 구해주고, Sample Rate나 Bit Depth 같은 경우 모든 데이터가 동일한 경우 O표시를 해주고 아닌 경우 X표시를 해줍니다.

분석한 데이터를 바탕으로 원하는 작업을 이어서 진행하면 됩니다.

저희는 LUFS 를 직접적으로 수정해주는 코드까지 만들어 둔 상태이기 때문에 해당 코드로 추가 조정을 진행하고 있습니다.

뮤지음은 다양한 분야에서 음악, 사운드, 녹음 업무를 진행하고 있는 뮤직 스튜디오입니다.

음악, 사운드, 성우 녹음, 리뷰 등 다양한 컨텐츠를 주제로 블로그 포스팅을 작성하고 있습니다. 컨텐츠 내용에 따라 체험단으로 진행한 포스팅이 있을수 있으니 참고해주세요 😃



http://pf.kakao.com/_xbPKIG/chat