모담테크
admin

음성파일을 텍스트로 변환하는 로컬 프로그램 (OpenAI Whisper)

admin 2026-08-15 06:59 조회 6 좋아요 0
수정
목록
  • 날짜: 2026-08-15 (KST)
  • 작성자: modam
  • 주제: 음성파일 → 텍스트파일 로컬 변환(OpenAI Whisper 사용) 작업 순서 및 절차별 코드

1. 개요

  • 목적: 인터넷 없이 로컬 PC에서 음성파일(mp3, m4a, wav 등)을 텍스트(txt/srt/vtt 등)로 변환한다.
  • 사용 도구: OpenAI Whisper — 오픈소스 음성인식 모델. 완전 로컬 실행(첫 실행 시 모델만 자동 다운로드, 이후 오프라인 가능).
  • 현재 설치 상태(이 PC 기준):
    • Whisper 실행 파일: C:\Users\modam\AppData\Local\Programs\Python\Python38\Scripts\whisper.exe
    • Python: Python 3.8 (C:\Users\modam\AppData\Local\Programs\Python\Python38)
    • 다운로드된 모델(C:\Users\modam\.cache\whisper\):
      • large-v3.pt (약 2.9GB, 최고 정확도 / CPU에서 느림)
      • medium.pt (약 1.4GB, 정확도·속도 균형)
    • 오디오 디코더: ffmpeg (Whisper가 내부적으로 호출 — 필수 의존성)

2. 사전 준비물 (의존성)

구성요소 역할 확인 명령
Python 3.8+ Whisper 실행 환경 python --version
whisper 음성인식 CLI whisper --help
ffmpeg 오디오 파일 디코딩 ffmpeg -version

확인용 코드 (PowerShell)

# whisper 위치 확인
Get-Command whisper | Select-Object Source

# ffmpeg 설치 여부 확인 (없으면 오류가 남)
ffmpeg -version | Select-Object -First 1

# 다운로드된 모델 목록 확인
Get-ChildItem "$env:USERPROFILE\.cache\whisper" | Select-Object Name, @{n='MB';e={[int]($_.Length/1MB)}}

미설치 시 설치 방법 (이 PC엔 이미 설치되어 있으므로 참고용)

powershell pip install -U openai-whisper # whisper 설치 winget install Gyan.FFmpeg # ffmpeg 설치 (또는 https://www.gyan.dev/ffmpeg/)


3. 작업 순서 (전체 흐름)

[1] 음성파일 준비  →  [2] 해당 폴더로 이동  →  [3] whisper 실행
       →  [4] 진행 대기(CPU는 느림)  →  [5] output 폴더에서 txt 결과 확인

가장 흔한 실패 원인은 파일 경로 문제다. whisper는 "현재 작업 폴더" 기준으로 파일을 찾으므로,
파일이 있는 폴더로 먼저 이동하거나 전체 경로를 지정해야 한다.


4. 절차별 코드

절차 1 — 음성파일이 있는 폴더로 이동

# 예: 음성파일이 C:\Users\modam 에 있는 경우
cd C:\Users\modam

# 파일이 실제로 있는지 먼저 확인 (있어야 함)
Get-ChildItem *.mp3

절차 2 — 기본 변환 (한국어, txt 출력)

whisper "CodingStudywithAI.mp3" --model medium --language Korean --output_format txt --output_dir ./output
  • --model medium : 정확도·속도 균형 (일상 용도 권장)
  • --language Korean : 언어 지정 (자동감지 생략 → 더 빠르고 정확)
  • --output_format txt : 텍스트만 출력
  • --output_dir ./output : 결과를 output 폴더에 저장

절차 3 — 정확도 우선 (large-v3, 느리지만 최고 품질)

whisper "CodingStudywithAI.mp3" --model large-v3 --language Korean --output_format txt --output_dir ./output

절차 4 — 자막(srt/vtt)까지 함께 뽑기

# srt 자막
whisper "회의녹음.m4a" --model medium --language Korean --output_format srt --output_dir ./output

# 모든 형식(txt, srt, vtt, tsv, json) 한 번에
whisper "회의녹음.m4a" --model medium --language Korean --output_format all --output_dir ./output

절차 5 — 결과 확인

# 생성된 결과 파일 목록
Get-ChildItem .\output

# txt 내용 미리보기 (앞 20줄)
Get-Content .\output\CodingStudywithAI.txt -TotalCount 20

5. 옵션 요약

옵션 설명 예시 값
--model 모델 크기(클수록 정확·느림) tiny, base, small, medium, large-v3
--language 음성 언어 지정 Korean, English
--output_format 출력 형식 txt, srt, vtt, tsv, json, all
--output_dir 결과 저장 폴더 ./output
--device 연산 장치 cpu(기본), cuda(GPU 있을 때)
--task 작업 종류 transcribe(받아쓰기), translate(영어로 번역)

6. 자주 나오는 메시지 / 오류 대처

(1) FP16 is not supported on CPU; using FP32 instead

  • 오류 아님(경고). GPU 없이 CPU로 돌릴 때 항상 뜨는 정상 안내. 결과에 영향 없음 → 무시.

(2) Error opening input file ... : No such file or directory

  • 원인: 지정한 음성파일이 현재 폴더에 없음(경로 문제).
  • 해결:

    ```powershell

    파일이 있는 폴더로 이동했는지 확인

    Get-Location
    Get-ChildItem *.mp3

    또는 파일 전체 경로를 직접 지정

    whisper "C:\Users\modam\소리\CodingStudywithAI.mp3" --model medium --language Korean --output_format txt --output_dir ./output
    ```

(3) 변환이 너무 느림

  • large-v3 + CPU 조합은 녹음 길이의 수 배 시간이 걸릴 수 있음(정상).
  • 속도 개선: --model medium 또는 --model small로 낮추기.

(4) 진행 표시 없이 멈춘 것처럼 보임

  • CPU 처리 중일 뿐. 프롬프트가 안 돌아와도 끝날 때까지 기다리면 됨.

7. 참고

  • Whisper 공식: https://github.com/openai/whisper
  • 지원 입력 포맷: ffmpeg가 읽을 수 있는 대부분의 오디오/비디오(mp3, m4a, wav, flac, mp4 등).
  • 완전 로컬 처리이므로 외부로 데이터가 전송되지 않음(개인정보 안전).
수정
목록