소리를 분석하고 다시 조립하기: 오디오 분석·믹스·MIR 창작 파이프라인

– ArtXTech

소리를 분석하고 다시 조립하기

오디오 분석·믹스·마스터링에서 MIR 창작 파이프라인까지

내 오디오 작업은 처음부터 음악을 만들겠다는 계획에서 출발하지 않았다. 2021년, 집에서 할 수 있는 취미를 찾다가 50달러짜리 고장 난 전자드럼을 구입했다. 하이햇 컨트롤러와 베이스 페달이 망가진 저가형 장비였다.

처음 목표는 단순했다. DTX Mania나 Clone Hero를 플레이할 수 있을 정도로 고치는 것. 하지만 트리거를 수리하고, 피에조와 케이블을 교체하고, MegaDrum PCB에 TRS 잭을 납땜하고, 어쿠스틱 드럼을 전자드럼으로 개조하는 과정에서 나는 소리를 하나의 결과물이 아니라 신호의 흐름으로 보기 시작했다.

고장 난 전자드럼
    ↓
트리거·전압·MIDI 신호
    ↓
DAW와 VST
    ↓
파형·스펙트럼·피치·비트 분석
    ↓
믹스·마스터링·보컬 커버
    ↓
MIR 데이터와 창작 자동화
    ↓
Lyrics MV·유튜브 콘텐츠

이 글은 특정 곡의 믹싱 매뉴얼이라기보다, 오디오를 분석하고 다시 창작 재료로 사용하는 과정에서 얻은 경험을 시간순으로 정리한 아카이브다. 각 작업을 목적, 기술 방식, 도입 방식, 아키텍처, 결과물과 시각 아이템의 관점에서 간략히 기록한다.


1. 시간대별 발전 과정

시기 중심 작업 얻은 감각 다음 단계로의 연결
2021 50달러 전자드럼 수리 물리적 신호와 하드웨어 제약 MIDI와 DAW
2022–2023 MegaDrum 제작·어쿠스틱 드럼 개조 트리거, 전압, 레이턴시, MIDI 라우팅 오디오 엔지니어링
2023–2024 드럼 차트와 음원 분리 자동화 onset, BPM, stem, 수작업 검수 Python·MIR 연구
2024 대학원 데이터 분석 프로젝트 특징 추출과 모델 검증 드럼 사운드 분류
2025 상반기 오디오 전처리·분류·태깅 데이터셋과 taxonomy 재사용 가능한 오디오 자산
2025 하반기 K-Pop live-band rework EQ, saturation, compression, 공간감 리믹스와 편곡
2025 겨울 보컬 녹음·믹스·마스터링 노이즈 제거, 피치, 타이밍, bus 보컬 커버
2026 초 RVC·피치 분석·보컬 처리 합성의 장점과 artifact human-in-the-loop 보컬 파이프라인
2026 Lyrics MV와 오디오 반응형 영상 오디오 이벤트를 프레임으로 변환 MIR 기반 창작 콘텐츠

여기서 “완성”은 한 번에 도달한 상태가 아니다. 어떤 프로젝트는 성공적인 결과물로 남았고, 어떤 프로젝트는 실패한 자동화 시도나 디버깅 기록으로 남았다. 하지만 두 종류 모두 다음 작업의 설계 조건이 되었다.


2. 2021–2023 — 드럼을 고치려다 신호를 배웠다

작업 A. 전자드럼과 MegaDrum DIY

목적

집에서 리듬게임을 플레이할 수 있는 전자드럼을 복구하고, 더 많은 패드와 안정적인 연주 위치를 확보하는 것.

기술 방식

  • 피에조 트리거와 케이블 교체
  • TRS 오디오 잭과 PCB 납땜
  • 베이스 드럼·스네어·플로어 톰의 트리거 구조 수정
  • MegaDrum 모듈 조립과 MIDI 입출력 테스트
  • 어쿠스틱 드럼을 전자드럼으로 변환

도입 방식

처음에는 부품을 하나씩 교체하며 고장 지점을 좁혀 갔다. 반응하지 않는 베이스 드럼을 고치기 위해 피에조, 케이블, 잭, 회로 보드를 차례로 교체했고, 신호가 들어오는지 반복해서 테스트했다.

이 과정에서 “소리가 나지 않는다”는 현상이 반드시 소프트웨어 문제는 아니라는 사실을 배웠다. 센서의 진동 전달, 잭의 접점, 전압 과부하, MIDI 케이블 규격이 모두 결과에 영향을 준다.

아키텍처

Drum head / cymbal
    ↓ vibration
Piezo trigger
    ↓ electrical signal
Jack / PCB / MegaDrum
    ↓ MIDI event
DAW / VST instrument
    ↓ audio output
Speaker / headphone

결과와 한계

MegaDrum은 결국 작동했지만, 하이햇 반응이 불안정하고 여러 패드를 추가할수록 크로스토크와 신호 오류가 발생했다. MIDI Through가 지원되지 않는 케이블을 의심하지 않고 기판을 다시 납땜했던 일도 있었다.

이 실패들은 뒤에 오디오를 분석할 때 중요한 기준이 되었다.

  • 입력 신호가 실제로 존재하는가?
  • 이벤트가 생성되었는가?
  • 이벤트와 소리의 시간 차이는 얼마인가?
  • 문제는 센서, MIDI, DAW, VST 중 어디에 있는가?

아카이브 아이템

[이미지: 50달러 전자드럼과 초기 수리 상태]
[이미지: MegaDrum PCB와 TRS 잭 납땜 과정]
[이미지: 어쿠스틱 스네어의 전자드럼 변환 구조]
[이미지: MIDI 신호 테스트와 DTX Mania 연결 화면]

관련 기록:


3. 2023–2024 — 드럼 차트 자동화라는 신기루

드럼을 고친 다음에는 좋아하는 곡을 Clone Hero용 차트로 만들고 싶었다. 그래서 음원을 듣고 드럼 이벤트를 추출해 MIDI나 차트 파일로 변환하는 파이프라인을 구상했다.

작업 B. Audio-to-Chart Pipeline

목적

음원에서 드럼의 킥·스네어·하이햇 이벤트를 추출하고, 리듬게임에서 읽을 수 있는 MIDI 또는 chart 파일로 변환하기.

기술 방식

  • Logic Pro, Ableton Live, Audacity에서 파형 확인
  • Python과 librosa를 이용한 오디오 로딩
  • harmonic-percussive source separation
  • onset detection과 BPM 추정
  • MIDI·Guitar Pro·TuxGuitar 데이터 변환
  • Demucs 기반 stem separation 시도
  • 수동 시퀀싱과 자동 추출 결과 비교
import librosa

def separate_drums(file_path):
    y, sr = librosa.load(file_path)
    harmonic, percussive = librosa.effects.hpss(y)
    onset_frames = librosa.onset.onset_detect(
        y=percussive,
        sr=sr
    )
    onset_times = librosa.frames_to_time(onset_frames, sr=sr)
    return onset_times, percussive

도입 방식

곡을 먼저 분리하고, 파형에서 이벤트 후보를 추출한 뒤, 후보를 MIDI note나 게임 차트의 타격 이벤트로 매핑하는 방식이었다.

하지만 완전 자동화는 예상보다 훨씬 어려웠다. BPM이 실제 곡과 다르게 추정되거나, 킥·스네어가 겹치거나, 라이브 연주와 전자음이 섞이면서 오탐이 늘어났다. 데이터셋과 실행 환경을 정리하는 데만도 상당한 시간이 필요했다.

아키텍처

graph TD
    A[Raw audio] --> B[Preprocessing]
    B --> C[Stem separation]
    C --> D[Percussive signal]
    D --> E[Onset and BPM detection]
    E --> F[Drum class mapping]
    F --> G[MIDI / Chart export]
    G --> H[Human listening QA]
    H --> I[Manual correction]
    I --> G

결과와 교훈

자동화된 예측 결과를 실제로 사용할 수 있는 차트 파일로 바꾸는 일은 별도의 문제였다. BPM이 108인데 MIDI가 94로 나오는 것처럼, 숫자상으로 그럴듯한 결과가 실제 연주 경험과 맞지 않을 수 있었다.

결국 어떤 곡은 다시 손으로 드럼 시퀀서를 찍는 편이 빨랐다. 이 프로젝트에서 얻은 핵심 교훈은 다음과 같다.

자동화의 목표는 인간을 제거하는 것이 아니라, 인간이 검수해야 할 범위를 줄이는 것이다.

아카이브 아이템

  • 오디오 waveform과 onset marker
  • Demucs stem separation 화면
  • BPM mismatch 비교 이미지
  • MIDI drum sequence
  • 최종 Clone Hero chart 파일
  • 자동 결과와 수동 수정 결과의 before/after

관련 기록:


4. 2024–2025 — 오디오를 데이터셋으로 다시 듣기

자동 드럼 차트 프로젝트가 완벽하게 성공하지 못했기 때문에, 오히려 데이터와 모델의 한계를 더 구체적으로 볼 수 있었다. 대학원 데이터 사이언스 프로젝트에서는 문제를 더 작고 검증 가능한 단위로 줄였다.

작업 C. 드럼 사운드 분류: Feature Engineering vs CNN

목적

작은 규모의 드럼 원샷 데이터셋에서 킥, 스네어, 탐, 심벌을 분류하고, 사람이 설계한 음향 특징과 Mel Spectrogram 기반 CNN을 비교하기.

기술 방식

  • Python, Librosa, NumPy, Pandas
  • RMS energy
  • Zero-crossing rate
  • Spectral centroid와 bandwidth
  • MFCC
  • Spectral contrast와 chroma
  • PCA와 ANOVA F-score
  • Scikit-learn의 SVM, Random Forest, Gradient Boosting
  • TensorFlow/Keras CNN과 Mel Spectrogram
  • Stratified K-Fold와 Grid Search

도입 방식

오디오를 그대로 분류기에 넣지 않고, 먼저 “이 소리를 어떤 수치로 설명할 것인가?”를 정의했다.

graph TD
    A[Drum one-shot .wav] --> B[Librosa preprocessing]
    B --> C{Feature extraction}
    C --> D[Time domain: RMS, ZCR]
    C --> E[Frequency domain: centroid, bandwidth]
    C --> F[Timbral: MFCC, contrast, chroma]
    D --> G[Feature table]
    E --> G
    F --> G
    G --> H[SVM / Random Forest]
    A --> I[Mel Spectrogram]
    I --> J[CNN]

결과

작은 데이터셋에서는 특징을 잘 설계한 전통적인 모델이 Mel Spectrogram을 입력으로 한 CNN보다 안정적이었다. 특히 spectral centroid, zero-crossing rate, MFCC 계열은 드럼 소리의 밝기와 질감을 설명하는 데 유용했다.

이 결과가 모든 오디오 문제에서 SVM이 CNN보다 우월하다는 뜻은 아니다. 데이터 규모, 레이블 품질, 클래스 정의, 일반화 조건에 따라 결과는 달라진다. 이 실험의 의미는 문제에 맞는 모델을 선택하고, 모델의 판단을 설명할 수 있어야 한다는 데 있었다.

아키텍처

.wav dataset
    ↓
Trim / normalise / resample
    ↓
Feature extraction ───────┐
    ↓                     │
Feature table             │
    ↓                     │
Classical models          │
                          │
Mel spectrogram            │
    ↓                     │
CNN                       │
    └──────── comparison ──┘
              ↓
       metric + listening QA

믹싱에 준 영향

이 프로젝트 이후 믹스에서 “더 크게 들리는가?”만 보지 않고, 음색을 구성하는 주파수와 시간적 특징을 함께 듣게 되었다.

  • RMS는 에너지의 크기를 보여주지만 음색 전체를 설명하지 않는다.
  • spectral centroid는 밝기와 공격성을 판단하는 단서가 된다.
  • zero-crossing rate는 노이즈성·거친 질감의 단서가 된다.
  • MFCC는 소리의 질감과 timbre를 비교하는 출발점이 된다.

즉 믹스에서 EQ, saturation, compression을 적용할 때에도 “좋아 보이는 플러그인을 걸기”보다 어떤 음향적 문제를 해결하는지 먼저 정의하게 되었다.

아카이브 아이템

  • 라벨링된 drum one-shot 폴더 구조
  • Librosa feature extraction 흐름도
  • PCA cluster plot
  • confusion matrix
  • Mel Spectrogram 비교
  • DAW 안의 킥·스네어 샘플 스펙트럼

관련 기록:


5. 오디오 태깅과 자산 구조화

분류 실험을 하려면 먼저 데이터셋을 만들어야 했다. 오디오 파일을 듣고, 자르고, 이름을 붙이고, 라벨을 검수하는 작업은 지루하지만 모델보다 먼저 해결해야 하는 기반 작업이었다.

작업 D. Audio Categorising & Tagging

목적

오디오 자산을 나중에 검색·분류·재사용할 수 있도록 기술적, 음악적, 권리 관련 메타데이터로 구조화하기.

기술 방식

  • 폴더 및 파일명 기반 1차 라벨링
  • Python batch processing
  • FFmpeg 기반 segmentation·normalisation
  • Librosa 기반 BPM·RMS·MFCC·chroma 추출
  • JSON metadata 생성
  • 사람의 청취 검수와 edge case 재분류

아키텍처

graph LR
    A[Audio files] --> B[Ingestion]
    B --> C[Trim / normalise / resample]
    C --> D[Feature extraction]
    D --> E[Technical metadata]
    D --> F[Musical descriptors]
    E --> G[JSON / CSV]
    F --> G
    G --> H[Asset library / DAW]
    H --> I[Human curation]
    I --> G

메타데이터 층위

층위 예시 용도
Descriptive kick, snare, warm, noisy, bright 검색과 큐레이션
Technical BPM, sample rate, LUFS, duration 편집과 품질 관리
Analytical MFCC, spectral centroid, RMS 분류와 비교
Provenance source, licence, model version 권리·감사·rollback

여기서 사람이 해야 할 일은 사라지지 않았다. 기계는 반복적인 추출과 정렬을 담당하고, 애매한 경계와 “이 소리가 실제로 쓸 만한가?”라는 판단은 사람의 귀가 담당한다.


6. 2025년 하반기 — 분석에서 믹스와 리마스터링으로

오랫동안 DAW를 오디오 분석과 beat-trigger timing에 사용해 왔지만, 점점 실제 곡을 편곡하고 리마스터링하고 싶어졌다. 분석한 소리를 다시 창작의 재료로 다루는 단계였다.

작업 E. K-Pop Live Band Rework

목적

스트리밍 음원의 정돈된 질감에 라이브 세션 밴드의 밀도와 공간감을 더해, 기타·베이스·드럼의 합주가 살아 있는 버전을 만드는 것.

기술 방식

  • Logic Pro의 Stem Splitter
  • Logic Pro와 Reaper
  • EQ와 Linear Phase EQ
  • Bass Amp Designer와 Guitar Amp Designer
  • ChromaGlow, saturation, clipping
  • FET compressor와 parallel compression
  • Quantec Room Simulator, ChromaVerb, Stereo Delay
  • bus, send, side-chain, gain staging
  • fade in/out과 cross-fade
  • Tonal Balance와 LUFS·peak 확인

도입 방식

먼저 곡을 stem 단위로 나누고, 원곡의 균형을 완전히 무너뜨리지 않는 범위에서 원하는 질감을 추가했다. 부족한 기타·베이스 파트는 직접 녹음하거나 MIDI로 보강하고, 원곡과 새 샘플을 cross-fade로 연결했다.

Original track
    ↓ Stem split
Vocals / drums / bass / guitar / synth
    ↓
Gain staging and EQ
    ↓
Recorded samples / MIDI riffs
    ↓
Amp texture / saturation / compression
    ↓
Room reverb / delay / bus glue
    ↓
Mastering and loudness check

곡별 접근

Plave — Chroma Drift / Rizz

City Pop의 두꺼운 베이스와 기타 리프를 살리기 위해 Bass Boost, 기타 앰프, distortion, clipping, compression을 조정했다. 마스터 키보드로 MIDI 화음과 기타 리프를 추가하며, 원곡을 실제 라이브 세션처럼 들리게 하는 방향을 시험했다.

ONF — Bye My Monster

멜로딕 소프트 록의 합주감이 원곡의 스트리밍 믹스에서 상대적으로 얌전하게 느껴져, 직접 녹음한 기타·베이스 샘플을 stem 위에 섞었다. Amp Designer와 EQ로 공간을 만들고, 보컬이 밴드에 묻히지 않도록 vocal balance를 조절했다.

Stray Kids — Go! Live

스네어 groove와 신스 텍스처에 집중했다. Enveloper로 어택을 살리고 Vintage Tube EQ로 배음과 밀도를 더했다. 신스 샘플을 키보드 라인 위에 얹으면서 전자음향 패턴을 일종의 알고리즘적 작곡처럼 바라보게 되었다.

Saja Boys — Your Idol

Industrial Garage에 가까운 질감을 목표로, Quantec Room Simulator와 ChromaVerb로 큰 공간을 만들고 FET Compressor와 Clip Distortion으로 거친 가장자리를 강조했다.

이 리마스터 작업물은 개인 감상과 학습을 위한 사적 실험이다. 공개 배포를 전제로 한 상업적 릴리즈가 아니다.

믹스·마스터링에서 배운 것

  1. Gain staging이 먼저다. 플러그인을 많이 거는 것보다 각 단계의 입력과 출력이 무너지지 않는 것이 중요하다.
  2. EQ는 소리를 예쁘게 만드는 도구이기 전에 공간을 나누는 도구다.
  3. Compression은 음압만 높이는 장치가 아니다. 악기와 보컬의 관계를 묶거나 분리하는 데 사용한다.
  4. Reverb와 delay는 공간의 크기뿐 아니라 장르의 인상을 결정한다.
  5. Limiter와 LUFS 수치만으로 좋은 마스터를 보장할 수 없다. 반드시 reference track과 실제 청취 환경으로 확인해야 한다.
  6. 자동 보정은 창작적 판단을 대체하지 않는다. 플러그인은 손을 돕지만 무엇을 강조할지는 사람이 결정한다.

아카이브 아이템

  • 곡별 Logic Pro mixer와 EQ 설정
  • stem split 전후 비교
  • 기타·베이스 직접 녹음 샘플
  • 원곡과 rework의 waveform·spectrum 비교
  • Bus routing과 side-chain diagram
  • original / rework A-B 청취 클립

관련 기록:


7. 보컬 커버: 녹음과 후처리의 벽

믹스와 리마스터링을 하며 다른 문제가 드러났다. 내 곡을 직접 녹음하고 커버하려면, 오디오를 분석하는 것과 실제로 자연스러운 보컬을 만드는 것은 전혀 다른 기술이었다.

작업 F. Home Vocal Recording

목적

홈 레코딩 환경에서 보컬을 녹음하고, 원곡 또는 가이드 보컬과 어울리는 피치·타이밍·톤·공간감을 설계하기.

기술 방식

  • 콘덴서 마이크와 홈 레코딩
  • Logic Pro와 Reaper
  • noise reduction과 noise gate
  • Flex Pitch 기반 피치 확인
  • EQ, compression, de-essing
  • Ozone, Neutron, Nectar
  • reverb, delay, chorus layer
  • side-chain으로 MR과 보컬의 관계 조정
  • Vocalign 시도와 수동 waveform editing

문제

방음이 완벽하지 않은 공간에서 녹음했기 때문에 외부 소음과 방의 반사가 들어왔다. 배경음과 함께 들을 때는 괜찮았지만 보컬만 분리해 들으면 피치 이탈, 타이밍 차이, 삑사리가 선명하게 드러났다.

처음에는 합성 도구가 이 문제를 해결해 줄 것이라 생각했다. 그러나 Vocalign을 적용했을 때 특정 구간의 피치와 타이밍이 무리하게 변형되며 기계적인 artifact가 생겼다.

최종적으로 택한 도입 방식

보컬을 하나의 신성한 원본으로 고집하지 않고, 편집 가능한 소재 조각으로 바라보기 시작했다.

Raw vocal
    ↓
Noise cleanup
    ↓
Phrase / syllable segmentation
    ↓
Pitch and timing inspection
    ↓
Manual cut / move / cross-fade
    ↓
Double / harmony / chorus layers
    ↓
EQ / compression / space
    ↓
Side-chain against instrumental
    ↓
Bounce → re-import → listen → revise

좋은 한 테이크를 기다리는 대신, 여러 테이크에서 쓸 만한 구간을 채집하고 연결했다. 보컬을 UMAD나 Vocaloid의 보이스뱅크처럼 다루며, “내가 부른 목소리”라는 정체성에 지나치게 매달리기보다 곡 안에서 기능하는 음향 재료로 거리를 두었다.

아키텍처

Guide vocal / reference
          ↓
Pitch + timing map
          ↓
Raw vocal takes ──→ segment editor
          ↓                 ↓
Main vocal              doubles / chorus
          └──────┬──────────┘
                 ↓
          Vocal bus processing
                 ↓
          Instrumental side-chain
                 ↓
             Master output

아카이브 아이템

  • 녹음 환경과 마이크 위치
  • raw vocal과 processed vocal waveform
  • noise profile과 noise gate 설정
  • phrase cut / cross-fade 전후
  • Ozone·Nectar·Neutron 체인
  • guide vocal과 main vocal의 alignment 화면

관련 기록:


8. RVC 프로젝트: 합성은 보컬을 대신하지 않고 실험 공간을 만든다

2026년 2월에는 TTS와 보컬 생성의 한계를 느끼며 RVC를 시도했다. 원하는 연기 톤과 발화 스타일을 반복해서 지정하는 일이 생각보다 느리고, 프롬프트가 달라질 때 결과의 일관성도 낮았다.

작업 G. RVC 음성 모델 실험

목적

직접 준비한 음성 데이터로 음색 변환을 실험하고, 캐릭터 연기·내레이션·보컬 후보를 더 빠르게 검증하기.

기술 방식

  • RVC training repository
  • macOS 환경의 Python preprocessing
  • audio slicing와 normalisation
  • feature extraction
  • F0 / RMVPE pitch extraction
  • PyTorch checkpoint와 index 파일
  • CPU/MPS 호환성 조정
  • multiprocessing과 macOS spawn 문제 디버깅

도입 방식

Applio 기반 실행을 먼저 시도했으나 학습과 feature extraction 단계에서 문제가 발생했다. 이후 더 직접적인 RVC repository로 옮겨 preprocessing, index 생성, 모델 checkpoint 저장 과정을 각각 확인했다.

graph TD
    A[Voice recordings] --> B[Cut and normalise]
    B --> C[Feature extraction]
    C --> D[F0 / RMVPE analysis]
    D --> E[Training]
    E --> F[.pth checkpoint]
    E --> G[index file]
    F --> H[Inference]
    G --> H
    H --> I[Human listening review]
    I --> B

문제와 교훈

  • macOS multiprocessing은 Windows 예제와 다르게 동작했다.
  • feature extraction 폴더가 비어 있으면 training은 겉보기만 진행되고 실제 학습은 실패한다.
  • checkpoint가 생성되었다고 해서 결과 음질이 바로 쓸 만한 것은 아니다.
  • 실시간 모듈은 latency 때문에 실제 퍼포먼스보다 사전 렌더링에 적합할 수 있다.
  • 피치 추출 모델과 실행 장치의 선택이 결과의 안정성에 영향을 준다.

RVC는 내 보컬의 문제를 자동으로 해결하는 마법 도구가 아니었다. 오히려 내 목소리를 여러 질감과 캐릭터로 변환해 보고, 원본 보컬과 합성 보컬 사이의 차이를 청취하는 실험 장치였다.

RVC가 믹싱에 준 영향

RVC를 만지며 음색을 “고정된 정체성”이 아니라 조절 가능한 파라미터로 보기 시작했다. 이후 보컬 믹스에서도 한 트랙을 그대로 살리는 대신 다음을 실험했다.

  • 메인 보컬과 더블의 음색 차이
  • 피치 보정량에 따른 자연스러움과 artifact
  • formant와 saturation이 보컬의 거리감에 미치는 영향
  • 합성 보컬을 chorus·texture layer로 사용할 가능성

아카이브 아이템

  • RVC preprocessing 폴더 구조
  • feature extraction 진행 로그
  • .pth와 index 생성 화면
  • 원본 보컬·변환 보컬 A-B 클립
  • latency와 offline rendering 비교
  • 오류 메시지와 macOS 수정 기록

관련 기록:


9. 오디오 데이터가 Lyrics MV의 시간축이 되다

오디오를 분석한 경험은 결국 영상 작업으로 다시 돌아왔다. 음악의 특정 구간을 마킹하고, 그 데이터를 자막·타이포그래피·셰이더·장면 전환의 기준으로 사용하는 방식이다.

작업 H. Audio-to-Visual Event Pipeline

목적

오디오의 비트, 피크, 구간, 보컬 이벤트를 영상의 장면·텍스트·효과·전환에 연결하기.

기술 방식

  • Logic Pro와 Reaper에서 waveform marker 작성
  • Python으로 pitch·energy·tempo 데이터 추출
  • MIDI와 CSV 기반 이벤트 관리
  • Whisper 기반 SRT 생성
  • Remotion의 useCurrentFrame()과 Sequence
  • TypeScript 타입 기반 Scene 구성
  • GSAP timing과 Remotion frame timing 비교
  • WebGL/GLSL shader와 오디오 반응형 컴포넌트

도입 방식

오디오에서 얻은 정보를 바로 시각 효과로 연결하지 않고, 먼저 중간 데이터로 정규화했다. 그래야 BPM이 바뀌거나 곡 길이가 달라져도 씬의 타이밍과 시각 규칙을 다시 사용할 수 있다.

graph LR
    A[Audio / MIDI / SRT] --> B[Parser]
    B --> C[Normalised event data]
    C --> D[Beat / pitch / energy / lyric timing]
    D --> E[SceneTimelineManager]
    E --> F[Typography]
    E --> G[Background shader]
    E --> H[Image / video layer]
    E --> I[Transition]
    F --> J[Remotion render]
    G --> J
    H --> J
    I --> J

오디오 이벤트와 시각 요소의 대응

오디오 데이터 시각적 도입 사용 목적
Beat / onset scale, position, cut 리듬감
RMS / energy 밝기, blur, shader intensity 강약 표현
Pitch contour typography 높이·곡선 멜로디 시각화
Lyric timing typewriter, kinetic text 가사 전달
Section boundary scene transition 구조 전환
Stereo / texture 좌우 레이어, depth 공간감

ReelsLyricsMV와 Scene Architecture

후대의 ReelsLyricsMV 구조에서는 오디오 이벤트와 씬을 다음과 같이 다룬다.

Audio input
  ├── MIDI timing parser
  ├── beat / marker data
  ├── lyric / SRT data
  └── local scene offset
          ↓
SceneTimelineManager
          ↓
SceneSequencePlayer
  ├── background
  ├── video / image media
  ├── typography renderer
  ├── audio spectrum
  └── transition
          ↓
Deterministic Remotion render

이 구조는 오디오 분석에서 배운 “입력 → 변환 → 검수 → 출력”의 흐름을 영상 시스템에 적용한 것이다. 음악을 듣고 감정적으로 반응하는 것과, 그 반응을 타임라인 데이터로 명시하는 일을 함께 수행한다.

아카이브 아이템

  • Reaper waveform marker와 timecode
  • MIDI beat map
  • SRT와 lyric timing
  • 오디오 스펙트럼 UI
  • 장면별 오디오 이벤트 테이블
  • 원본 오디오와 최종 MV frame 비교
  • SceneTimelineManager 실행 흐름도

관련 기록:


10. 보컬 커버에서 Lyrics MV로: 오디오 믹스가 시각 디렉팅에 준 영향

보컬 커버와 리믹스 경험은 Lyrics MV의 화면 구성에도 직접 영향을 주었다.

1. 보컬이 묻히면 화면도 묻힌다

믹스에서 보컬이 반주에 묻히지 않도록 side-chain과 EQ를 사용했던 것처럼, 영상에서도 가사가 배경 텍스처와 충돌하지 않도록 대비·블러·마스크·레이어 순서를 조정했다.

2. 모든 순간을 같은 강도로 보여주지 않는다

곡의 에너지와 섹션에 따라 리버브와 컴프레션의 느낌이 달라지듯, 영상도 모든 프레임을 같은 밀도로 채우면 피로해진다. verse, pre-chorus, chorus, bridge를 서로 다른 장면 규칙으로 분리했다.

3. artifact는 실패가 아니라 판단 기준이다

RVC나 Vocalign에서 발생한 기계음, 피치 붕괴, timing artifact는 무엇을 자동화하면 안 되는지 알려주었다. 영상에서도 셰이더와 transition을 무조건 강하게 적용하지 않고, 콘텐츠를 가리는 순간을 실패로 분류한다.

4. 질감은 장르와 서사를 만든다

K-Pop live-band rework에서 saturation, amp tone, room reverb로 장르적 인상을 바꿨듯, MV에서도 TextureMix와 Background Mix를 사용해 장면의 시대감·공간감·감정적 거리를 조정한다.

5. 오디오는 시간의 원본 데이터다

가사와 화면을 먼저 만들고 음악에 맞추는 것이 아니라, 오디오의 구조를 분석한 뒤 화면이 그 구조를 해석하게 한다. 이것이 단순한 lyric video와 오디오 기반 visual directing의 차이다.


11. 내가 구성하려는 MIR: 분석 도구가 아니라 창작 인터페이스

Music Information Retrieval은 음악을 데이터로 분석하는 기술이지만, 나에게는 분석 결과를 다시 창작 도구로 돌려보내는 인터페이스에 가깝다.

제안하는 MIR 파이프라인

graph TD
    A[Audio / Vocal / MIDI] --> B[Ingest]
    B --> C[Clean and segment]
    C --> D[Feature extraction]
    D --> E[Beat / BPM / pitch / energy]
    D --> F[Timbre / texture / spectral profile]
    D --> G[Stem / instrument classification]
    E --> H[Creative event model]
    F --> H
    G --> H
    H --> I[Mixing assistant]
    H --> J[Remotion scene generator]
    H --> K[YouTube content template]
    I --> L[Human review]
    J --> L
    K --> L
    L --> M[Final audio / video / metadata]

MIR에서 다루고 싶은 데이터

  • BPM과 tempo map
  • beat, onset, downbeat
  • pitch contour와 vocal confidence
  • RMS·loudness·LUFS
  • spectral centroid·bandwidth·contrast
  • MFCC와 timbral similarity
  • 음원 stem과 악기 클래스
  • 곡의 section boundary
  • lyric·phoneme·syllable timing
  • source·licence·model version

창작 프로젝트로의 확장

A. 오디오 분석 기반 유튜브 콘텐츠

곡의 특정 구간을 분석하고, “왜 이 스네어가 앞으로 나와 들리는가?”, “왜 이 보컬이 배경에 붙지 않는가?”와 같은 질문을 시각적으로 설명하는 콘텐츠를 만든다.

  • waveform과 spectrogram 비교
  • 원곡과 rework의 A-B 테스트
  • EQ·compression 전후 변화
  • 보컬 피치와 실제 노래의 차이
  • 믹싱 파라미터를 애니메이션으로 시각화

B. 오디오 자산 검색·태깅 시스템

내가 수집하고 만든 샘플을 BPM, timbre, energy, mood, instrument, licence로 검색할 수 있게 한다. 인간이 최종 큐레이션하되, 반복적인 파일 정리와 후보 추천은 모델이 담당한다.

C. 오디오 반응형 Shorts 생성

오디오에서 추출한 beat와 energy를 Remotion의 SceneSequencePlayer에 전달해, 짧은 리믹스 비교 영상이나 보컬 분석 쇼츠를 자동 생성한다.

D. 보컬 커버 제작 보조 도구

가이드 보컬과 raw vocal의 pitch·timing 차이를 시각화하고, 자동 보정이 아니라 수정이 필요한 구간을 표시하는 human-in-the-loop 도구를 만든다.

E. Audio-to-Motion dataset

오디오 이벤트와 시각 모션의 대응을 축적한다.

snare hit  →  pixel burst
bass onset →  scale / low-frequency displacement
vocal entrance → type reveal
chorus start → scene transition
noise texture → shader grain

이 데이터는 모델 학습만을 위한 것이 아니다. 다음 MV에서 빠르게 조합할 수 있는 모션 레시피이자 디자인 시스템이 된다.


12. 작업별 기술·도입·아키텍처 요약

작업 목적 기술 방식 도입 방식 아키텍처 결과 아이템
MegaDrum DIY 드럼 입력 복구 Piezo, PCB, TRS, MIDI 부품 교체와 신호 테스트 trigger → module → MIDI → DAW PCB 사진, 배선도
Audio-to-Chart 리듬게임 차트 자동화 Python, Librosa, Demucs, MIDI onset과 BPM을 이벤트로 변환 audio → percussive → onset → chart waveform, chart, MIDI
Drum Classification 드럼 음색 분류 MFCC, ZCR, spectral, SVM, CNN feature table과 spectrogram 비교 wav → features/model → label PCA, confusion matrix
Audio Tagging 오디오 자산 검색 Python, FFmpeg, JSON 배치 전처리와 사람 검수 ingest → metadata → library taxonomy, JSON
Live Band Rework 라이브 질감 리믹스 Logic, EQ, amp, bus, reverb stem 위에 직접 녹음·샘플 레이어 stems → mix bus → master A-B audio, mixer screenshot
Vocal Recording 커버 보컬 완성 Logic, Reaper, Flex Pitch, Ozone cut, cross-fade, layer, side-chain takes → vocal bus → master raw/processed vocal
RVC 음색 변환 실험 Python, PyTorch, RMVPE preprocessing·training·inference 분리 wav → features → checkpoint → inference model/index, logs
Audio-to-Visual 오디오를 MV 이벤트로 변환 MIDI, SRT, Remotion, TypeScript parser와 normalized event 사용 audio → event → scene → frame beat map, scene diagram
MIR Creative System 분석을 창작 인터페이스화 Python, ML, metadata, Remotion 자동 후보 생성 + 인간 큐레이션 ingest → MIR → creative output YouTube, MV, asset library

13. 운영 원칙: 자동화보다 검증 가능한 창작

이 과정을 거치며 몇 가지 원칙을 정리하게 되었다.

1. 데이터셋이 모델보다 먼저다

라벨이 불명확하고 소스가 섞인 데이터에 복잡한 모델을 얹어도 결과는 안정적이지 않다. 먼저 파일을 듣고, 자르고, 이름을 붙이고, 어떤 기준으로 분류했는지 기록해야 한다.

2. 측정값과 청취는 서로 대체하지 않는다

LUFS, RMS, spectral centroid, accuracy, F1-score는 유용하지만 “좋게 들리는가?”를 대신 판단하지 못한다. 수치와 청취 테스트를 함께 사용해야 한다.

3. 자동화는 후보를 만든다

드럼 차트, RVC, Vocalign, stem separation 모두 자동화만으로 완성되지 않았다. 자동화의 결과는 후보이고, 사람의 검수와 수정이 최종 출력의 일부다.

4. 실패 로그는 설계 자산이다

BPM mismatch, 기계적인 보컬 artifact, macOS multiprocessing 오류, MIDI 케이블 오판은 다음 시스템에서 피해야 할 조건을 알려준다.

5. 창작 도구는 설명 가능해야 한다

내가 어떤 EQ를 걸었고, 어느 구간을 잘랐고, 어떤 모델과 파라미터로 변환했는지 추적할 수 있어야 한다. 그래야 결과를 다시 재현하고, 문제가 생겼을 때 되돌릴 수 있다.

6. 권리와 출처도 오디오 아키텍처의 일부다

커버와 리믹스는 개인 학습·감상 범위와 공개 배포를 구분해야 한다. 샘플의 출처, 음성 데이터의 동의, 모델 버전, 최종 공개 범위를 메타데이터로 남기는 습관이 필요하다.


에필로그: 소리를 듣는 사람에서 소리를 설계하는 사람으로

돌이켜보면 나는 음악을 전공한 프로듀서로 시작한 것이 아니다. 고장 난 드럼을 고치고 싶었고, 리듬게임을 플레이하고 싶었고, 좋아하는 곡의 드럼 차트를 만들고 싶었을 뿐이다.

그 과정에서 납땜을 했고, MIDI를 배웠고, DAW를 열었고, Python으로 파형을 읽었다. 대학원에서는 작은 데이터셋에 복잡한 모델을 던지는 것이 언제 실패하는지 확인했다. 이후 Logic Pro에서 곡을 분리하고, 기타와 베이스를 얹고, 보컬을 녹음하고, 피치와 타이밍을 고쳤다. 그리고 이 모든 결과가 Lyrics MV의 타임라인과 Remotion의 프레임 제어로 이동했다.

나에게 오디오 분석은 음악을 차갑게 숫자로 환원하는 일이 아니다. 오히려 내가 막연하게 느끼던 질감과 리듬과 어색함을 다시 설명할 수 있게 해주는 언어다.

소리를 듣는다
    ↓
소리를 분해한다
    ↓
소리를 측정한다
    ↓
소리를 다시 섞는다
    ↓
소리를 화면의 시간축으로 변환한다
    ↓
다음 창작을 위한 데이터와 시스템으로 남긴다

결국 내가 만들고 싶은 MIR은 사람의 귀를 대체하는 거대한 자동화 시스템이 아니다. 내가 무엇을 듣고 있는지 더 잘 이해하게 하고, 반복적인 작업은 덜어주며, 그 결과를 다시 믹스·보컬 커버·Lyrics MV·유튜브 콘텐츠로 연결해 주는 창작용 오디오 인터페이스다.

드럼에서 시작한 신호는 아직 끝나지 않았다. 이제 그 신호는 데이터가 되고, 데이터는 믹스가 되고, 믹스는 영상이 되고, 영상은 다시 새로운 소리를 듣는 방법이 된다.

Related Articles