먼저 읽기

최종 업데이트

녹음 파일을 외부에 올리지 않고 한국어로 받아쓰기: whisper.cpp 첫 실행

whisper.cpp로 한국어 녹음 한 파일을 직접 받아써요

whisper.cpp는 녹음 파일을 입력받아 음성을 글로 바꾸는 프로그램이에요. 한국어에는 영어 전용 .en 모델이 아닌 다국어 모델을 골라 내 컴퓨터에서 처리하고, 전사문을 원음과 대조해 이름·숫자·날짜를 확인해요. 먼저 파일 하나를 끝까지 처리한 뒤 실제 반복 업무에서 대기 시간과 검수 시간을 함께 재면 장비가 필요한지도 판단할 수 있어요.

회의가 끝난 뒤 담당자나 날짜를 찾으려고 처음부터 다시 듣는 대신, 문자 기록에서 단어를 찾아 해당 구간으로 돌아갈 수 있어요. 전사문은 다시 들을 위치를 찾는 색인으로 다루면 좋아요. ‘금요일’을 검색해도 요일이 잘못 들렸을 수 있고, ‘견적’을 찾았어도 숫자와 단위가 맞는지는 원음에서 확인해야 해요.

예를 들어 매주 하는 한국어 회의에서 ‘해솔 시안은 금요일까지 공유해요’, ‘견적 숫자는 다시 확인할게요’ 같은 문장을 찾아본다고 해요. 이 사례는 전사 과정과 검수 방법을 설명하는 가정이에요. 파일 준비, 실제 음성 처리, 중요한 표현을 원음과 맞춰 보는 데 각각 얼마나 걸리는지 기록하면 반복할 가치가 있는지도 판단할 수 있어요.

실행 조건과 핵심 내용
  • 한국어 녹음에는 이름에 .en이 붙지 않은 다국어 모델을 골라요.
  • 파일 하나를 변환하고 원음과 대조한 뒤 반복 작업의 시간을 재요.
  • 모델 적재와 실제 대기 시간을 확인한 뒤 GPU 구매를 판단해요.

한국어 음성에 맞는 다국어 모델을 골라요

모델 목록의 base와 base.en처럼 이름이 비슷한 파일은 지원 언어가 달라요. .en이 붙은 파일은 영어 전용이므로 한국어가 섞인 회의에는 base, small, medium처럼 다국어 모델을 사용해요. 먼저 평소 녹음에서 5분을 잘라 small로 시험해요. ‘해솔’, ‘금요일’, 견적 숫자를 기준 표현으로 정해 두면 평범한 문장만 볼 때 놓치기 쉬운 이름과 날짜 인식도 확인할 수 있어요.

이 짧은 구간은 후보를 고르는 시험이지 긴 회의 전체의 정확도를 보장하지 않아요. 고유명사를 반복해서 틀리면 같은 오디오와 기준 문장을 유지한 채 medium 같은 더 큰 다국어 모델과 비교해요. 모델 크기를 키우면 저장 공간과 실행 메모리도 더 필요할 수 있으니, 오류가 특정 회사명에만 모이는지와 사람이 검수할 수 있는지도 함께 판단해요.

녹음기에서 노트북의 음성 파형을 거쳐 전사문이 적힌 종이로 이어지는 흐름
전사문으로 필요한 구간을 찾고 이름·숫자·날짜는 녹음에서 다시 확인해요.

빌드와 모델을 준비해 첫 파일을 전사해요

whisper.cpp 저장소가 준비되어 있다면 그 폴더에서 아래 명령을 실행해요. 앞의 두 줄은 프로그램을 빌드하고, 마지막 줄은 다국어 small 가중치를 내려받아요. 모델을 받는 동안에는 인터넷 연결이 필요할 수 있어요. 빌드 오류가 나면 공식 저장소에서 해당 운영체제의 빌드 도구와 실행 파일 위치를 확인해요.

외부 업로드를 허용하지 않는 환경에서는 가중치를 준비한 뒤 네트워크 차단 정책에 맞춰 로컬 명령이 작동하는지 확인해요. 전 구성을 오프라인으로 직접 검증했다고 전제하지 않아요. 개인정보가 포함된 녹음을 쓰기 전에 파일과 결과가 동기화 폴더에 들어가는지, 사용하는 앱이나 도구가 외부 연결을 하는지도 확인해요.

처음 시작한다면 Git과 CMake, 운영체제의 C++ 빌드 도구를 먼저 준비하세요. 아래 첫 두 줄로 공식 저장소를 받고 그 폴더로 이동해요. macOS는 Xcode Command Line Tools, Linux는 C++ 컴파일러, Windows는 공식 저장소의 Visual Studio·CMake 빌드 경로를 사용해요. 이 셸 예제를 따라갈 때는 Bash를 쓸 수 있는 환경에서 모델 다운로드 스크립트를 실행하세요.

whisper.cpp 빌드와 다국어 small 모델 준비
git clone https://github.com/ggml-org/whisper.cpp.git
cd whisper.cpp
cmake -B build
cmake --build build -j --config Release
sh ./models/download-ggml-model.sh small
저장소를 빌드하고 한국어에 쓸 다국어 모델을 받아요.
파형과 문서가 컴퓨터로 향하고, 자물쇠가 있는 본체에서 구름으로 이어지는 선에 X 표시가 있는 그림
모델 파일 준비와 녹음 처리를 구분하고 네트워크 정책에 맞는 경로를 확인해요.

지원하는 WAV 형식으로 실행하고 결과를 확인해요

공식 빠른 시작 예시는 16kHz 모노 16비트 WAV를 사용해요. 녹음을 이 형식으로 준비했다면 아래 명령에서 -m은 모델 파일, -f는 녹음, -l ko는 한국어, -otxt와 -of transcript는 텍스트 출력 형식과 이름을 지정해요. 실행이 끝나면 transcript.txt를 원음과 나란히 놓고 주요 구간을 확인해요.

한국어 WAV 파일을 전사해 텍스트로 저장
./build/bin/whisper-cli -m models/ggml-small.bin -f recording.wav -l ko -otxt -of transcript
준비한 녹음 파일을 로컬 명령으로 처리하고 transcript.txt를 확인해요.

MP3나 휴대폰 녹음은 변환 결과부터 들어봐요

파일을 열 수 없는 문제와 말을 잘못 인식하는 문제는 다르게 살펴야 해요. MP3는 아래 예시처럼 16kHz 모노 16비트 WAV로 변환한 뒤 다시 실행할 수 있어요. 파일 이름의 확장자만 .wav로 바꾸면 실제 오디오 형식은 바뀌지 않아요. 변환본을 재생해 원음의 길이가 유지되는지, 목소리가 빠지지 않았는지 들어보고 나서 전사 결과를 비교해요.

두 채널 중 한쪽에만 참석자 목소리가 담긴 녹음은 모노로 합칠 때 그 목소리가 남았는지 확인해요. 파일 준비 단계에서 재생이나 경로 오류가 나면 모델 크기를 바꿔도 해결되지 않아요. 대표 구간부터 시도하면 빌드, 파일 경로, 변환 가운데 어디에서 막혔는지 좁히기 쉬워요.

MP3를 whisper.cpp 예시 입력 WAV로 변환
ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le recording.wav
오디오를 16kHz 모노 PCM WAV로 바꾼 뒤 재생해 확인해요.

이름·숫자·날짜는 원음으로 검수해요

문장이 자연스럽다고 바로 회의록에 붙이지 말고 회사명, 숫자, 날짜, 부정 표현을 먼저 표시해요. 녹음에서 같은 문장을 찾아 다시 듣고, 원음에 없는 말이 들어갔거나 중요한 표현이 빠졌는지 확인해요. 침묵이 길거나 여러 사람이 겹쳐 말하면 그럴듯한 문장이 생겨도 실제 발언인지 판단하기 어려워요. 누가 말했는지 분명하지 않을 때는 이름을 추측하지 않고 확인 필요로 남겨요.

검수표에 기준 문장, 전사 결과, 원음으로 확인한 수정 사항을 나란히 적어요. 사람의 검수 시간까지 재면 자동 전사가 절약한 시간과 추가된 확인 부담을 구분할 수 있어요. 외부에 공유할 때는 아직 확인 중인 초안인지 사람이 검토한 기록인지 표시해요. 원본 녹음은 필요한 구간으로 돌아가 확인할 수 있도록 보존해요.

파형과 수정 표시가 있는 전사문이 검토를 거쳐 정리된 문서로 이어지는 장면
자동 전사 결과에서 중요한 표현을 골라 원음과 대조해요.

내 장비의 처리와 검수 시간을 재서 구매를 판단해요

Apple Silicon에서는 whisper.cpp의 Metal1 경로를, NVIDIA GPU2에서는 CUDA3 옵션을 켠 빌드를 사용할 수 있어요. GPU 이름만으로 한 시간 녹음의 처리 시간을 계산할 수는 없어요. 모델 크기, 실제 발화 길이와 묵음, 실행 설정이 함께 영향을 줘요. 같은 5분 음원을 small로 반복 실행해 첫 실행과 다음 실행의 시간을 구분하고, 이름·숫자를 고치는 데 걸린 시간도 적어요. 이 기록은 해당 음원과 구성의 관찰이지 전체 회의나 다른 장비의 성능 보증이 아니에요.

음원 준비, 모델 실행, 오류 검수와 공유 가능한 기록이 되기까지를 나눠 적어요. LLM4 토큰5 생성 속도는 음성 인식 처리량6을 대신하지 않아요. 현재 컴퓨터가 매주 필요한 파일을 처리하고 검수 시간도 확보한다면 토큰 속도 표만 보고 음성용 GPU를 살 이유는 적어요. 반복 업무가 밀릴 정도로 대기가 길거나, 같은 음원에서 더 큰 모델이 중요한 수정량을 실제로 줄이는지 확인한 뒤 장비를 비교해요.

용어 각주

  1. Metal — Apple 기기에서 그래픽과 GPU 병렬 계산을 실행하는 저수준 기술입니다.

    본문으로 돌아가기
  2. GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.

    본문으로 돌아가기
  3. CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다.

    본문으로 돌아가기
  4. 대규모 언어 모델 — 대규모 텍스트 데이터에서 언어 패턴을 학습해 문맥에 맞는 텍스트를 처리하고 생성하는 모델입니다.

    본문으로 돌아가기
  5. 토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.

    본문으로 돌아가기
  6. 처리량 — 일정 시간 동안 처리하거나 생성한 작업량입니다. 토큰/초, 요청/초처럼 단위를 함께 확인해야 비교할 수 있습니다.

    본문으로 돌아가기

자주 묻는 질문

이 글에서 가장 먼저 확인할 것은 무엇인가요?
whisper.cpp는 녹음 파일을 입력받아 음성을 글로 바꾸는 프로그램이에요. 한국어에는 영어 전용 .en 모델이 아닌 다국어 모델을 골라 내 컴퓨터에서 처리하고, 전사문을 원음과 대조해 이름·숫자·날짜를 확인해요. 먼저 파일 하나를 끝까지 처리한 뒤 실제 반복 업무에서 대기 시간과 검수 시간을 함께 재면 장비가 필요한지도 판단할 수 있어요.
필요한 메모리는 어느 정도인가요?
이 짧은 구간은 후보를 고르는 시험이지 긴 회의 전체의 정확도를 보장하지 않아요. 고유명사를 반복해서 틀리면 같은 오디오와 기준 문장을 유지한 채 medium 같은 더 큰 다국어 모델과 비교해요. 모델 크기를 키우면 저장 공간과 실행 메모리도 더 필요할 수 있으니, 오류가 특정 회사명에만 모이는지와 사람이 검수할 수 있는지도 함께 판단해요.