206개
무오류 자동 분할 파일
2025.03 ~ 2025.06
FilledU | 3명 (개발 90%)
LLM 기반 접근의 한계를 확인한 뒤 오디오 파형 분석 알고리즘으로 전환해, 교육청 듣기평가 원본 MP3를 문항 단위로 자동 분할하는 시스템을 구축했습니다.
TL;DR
LLM 접근 한계를 확인하고 신호 분석으로 전환 206개 MP3 파일 무오류 자동 분할 파일당 약 10~15초 처리
206개
무오류 자동 분할 파일
10~15초
30분 음원 처리 시간
100%
외주 비용 절감
연 200만 원+
절감 비용
System Architecture
파이프라인 전체 흐름과 검증 구조를 한눈에 보여주는 다이어그램
서비스에 업로드되는 교육청 듣기평가 음원은 문항별로 분리된 MP3 파일 형태여야 했지만, 실제 원본은 20~30분 길이의 단일 MP3로 제공됐습니다. 운영팀은 문항 시작 지점을 직접 찾아 하나씩 잘라내야 했습니다.
기존 방식은 작업자가 처음부터 끝까지 음원을 청취하고, 문항 시작 지점을 판단한 뒤, 오디오 편집 프로그램으로 직접 분할하는 구조였습니다. 파일 하나를 처리하는 데 1시간 이상이 걸렸고, 반복 작업이라 생산성이 낮았습니다.
또한 작업자마다 판단 기준이 달라 문항 시작 시점 품질 편차가 발생할 수 있었고, 이 작업을 외주로 처리하면서 연간 약 200만 원 이상의 비용이 지속적으로 발생했습니다.
처음에는 LLM과 음성 인식 결과를 활용해 문항 시작 타임스탬프를 추출하려 했습니다. 음성 내용을 텍스트로 이해하면 각 문항이 시작되는 문장을 기준으로 분할 시점을 찾을 수 있다고 판단했습니다.
하지만 테스트 결과 LLM은 'Question 1 starts around 00:02:10'처럼 대략적인 시점은 제시할 수 있었어도, 실제 편집에 필요한 초 단위 정확도를 보장하지 못했습니다. 실제 시작이 00:02:07인데 3초가 밀리면 음성 앞부분이 잘리거나 이전 문항 잔여 음성이 섞이는 문제가 생겼습니다.
이 실험을 통해 LLM은 음성 내용을 이해하는 데는 유용하지만, 정확한 오디오 편집 타임스탬프 계산 문제의 핵심 해법은 아니라는 점을 확인했습니다.
접근 방식을 텍스트 해석 중심에서 오디오 신호 분석 중심으로 전환했습니다. FFmpeg 기반 오디오 처리 파이프라인으로 MP3 파형을 직접 읽고, 문항 사이에 반복적으로 나타나는 무음과 파형 변화를 기준으로 경계를 탐지했습니다.
분석 과정에서 각 문항이 끝난 뒤 약 3초 이상의 무음 구간과 일정한 패턴 변화가 반복된다는 점을 발견했습니다. 이를 기반으로 문항 경계를 식별하고 다음 문항 시작 타임스탬프를 계산하는 알고리즘을 구현했습니다.
탐지된 타임스탬프는 FFmpeg 분할 파이프라인에 전달되어 문항별 MP3 파일로 자동 출력되도록 구성했습니다. 결과적으로 편집 품질을 사람이 직접 맞추지 않아도 되는 자동화 흐름을 만들었습니다.
자동 분할 정확도를 높이기 위해 후처리 검증 로직도 함께 구현했습니다. 핵심은 탐지 결과가 실제 시험 구성과 맞는지 빠르게 확인해 잘못된 분할을 걸러내는 것이었습니다.
검증은 세 단계로 구성했습니다. 첫째, 문항 번호 순서가 정상적으로 증가하는지 확인했습니다. 둘째, 예상 문항 수와 실제 탐지된 문항 수를 비교했습니다. 셋째, 인접 타임스탬프 간 간격이 비정상적으로 짧거나 긴 구간이 있는지 검사했습니다.
이 검증 로직으로 문항 누락, 순서 어긋남, 비정상 분할을 자동으로 탐지해 운영 적용 전 품질 안정성을 확보했습니다.
이 프로젝트의 핵심은 '무엇을 이해해야 하는가'보다 '무엇을 정확하게 계산해야 하는가'를 다시 정의한 점이었습니다. 초기에는 자연어 이해 문제처럼 보였지만 실제 요구 사항은 초 단위 오디오 경계 계산이었습니다.
그래서 LLM 중심 접근을 보조 수단으로 낮추고, 파형 기반 경계 탐지와 FFmpeg 분할 자동화를 주축으로 설계를 재구성했습니다. 필요한 경우 Whisper와 LangChain은 보조 분석에 활용할 수 있게 유지하되, 실제 분할 성공 여부는 신호 분석 로직이 결정하도록 했습니다.
기존 수작업 편집 방식은 외부 작업자가 원본 MP3를 처음부터 끝까지 청취하고, 문항 시작 지점을 수동으로 탐색한 뒤, 오디오 편집 프로그램에서 문항별 MP3를 직접 잘라내는 구조였습니다. 파일당 약 1시간이 소요됐고 작업자 숙련도에 따라 결과 품질도 달라졌습니다.
자동 분할 파이프라인에서는 콘텐츠팀이 MP3를 업로드하면 Audio Processing Service가 실행되고, 파형 기반 문항 경계 탐지와 FFmpeg 자동 분할을 거쳐 문항별 MP3가 생성됩니다. 같은 파일을 약 10~15초 안에 처리할 수 있게 되면서 운영 흐름이 완전히 달라졌습니다.
처리 방식은 수작업 편집에서 자동 파이프라인으로 전환됐고, 파일 처리 시간은 약 1시간에서 10~15초 수준으로 단축됐습니다. 편집 정확도는 작업자 경험 의존 구조에서 알고리즘 기반 검증 구조로 바뀌었고, 외주 비용도 100% 절감됐습니다.
최종적으로 206개 MP3 파일을 무오류로 자동 분할했고, 30분 길이의 음원도 약 10~15초 내에 처리할 수 있게 됐습니다. 반복 음원 편집 작업은 사실상 자동화됐고, 작업자는 예외 케이스만 확인하면 되도록 운영 방식이 바뀌었습니다.
외주 편집 비용은 100% 절감됐고, 음원 편집은 더 이상 지속적인 병목이나 비용 항목으로 남지 않게 됐습니다. 실제 콘텐츠 제작 파이프라인 운영 환경에 적용되면서 제작 효율과 처리 일관성을 함께 높였습니다.
면접에서는 다음 한 문장으로 설명할 수 있습니다. 콘텐츠팀이 원본 듣기평가 MP3를 업로드하면 Audio Processing Service가 실행되고, 파형 분석을 통해 3초 이상 무음 구간과 반복되는 경계 패턴을 탐지합니다. 이를 기반으로 문항 시작 타임스탬프를 계산한 뒤 FFmpeg로 자동 분할하며, 전체 과정은 약 10~15초 내에 완료됩니다.