데브로그

프로그래밍 팁 그리고 프로그램 사용 방법 등을 공유 합니다.

AI

맥북으로 강의노트 편리하게 작성하는 방법: Lighting-SimulWhisper

https://github.com/altalt-org/Lightning-SimulWhisper

Lightning-SimulWhisper는 Apple Silicon(M1/M2/M3)에서 Whisper를 실시간(스트리밍) 전사로 빠르게 돌리기 위해, MLX + CoreML(특히 CoreML Encoder)로 최적화한 프로젝트다. PyTorch 의존성 없이 동작하고, 파일 시뮬레이션/마이크 입력 모두 지원한다.

핵심 포인트

  • CoreML Encoder로 인코딩을 가속(최대 ~18x) → 전략 효율도 좋음
  • MLX Decoder로 스트리밍 제어(AlignAtt 정책), 빔서치 등 유연성 확보
  • tiny ~ large-v3, large-v3-turbo까지 모델 폭넓게 지원

설치 방법

1) 기본 설치

git clone https://github.com/altalt-org/Lightning-SimulWhisper.git
cd Lightning-SimulWhisper
pip install -r requirements.txt

2) CoreML 가속(추천)

Apple Neural Engine을 쓰려면 CoreML 관련 패키지를 추가로 설치한다.

pip install coremltools ane_transformers

3) CoreML Encoder 모델 생성

레포가 내부에 whisper.cpp(서브모듈)를 포함하고 있고, 스크립트로 CoreML encoder를 만든다.

# (필요 시) whisper.cpp 클론
git clone https://github.com/ggml-org/whisper.cpp.git

# CoreML encoder 생성 (예: base.en)
./scripts/generate_coreml_encoder.sh base.en

사용 가능한 모델: tiny(.en), base(.en), small(.en), medium(.en), large-v1/v2/v3, large-v3-turbo

사용 방법(빠른 시작)

1) CoreML로 파일을 “실시간처럼”으로 전사(초청)

python3 simulstreaming_whisper.py jfk.wav \
  --model_name base \
  --model_path mlx_base \
  --use_coreml \
  --language en \
  --log-level CRITICAL

2) 한국어 + 빔서치 + CoreML(품질/안정성 옵션)

python3 simulstreaming_whisper.py test.mp3 \
  --language ko \
  --beams 3 \
  -l CRITICAL \
  --model_name medium \
  --model_path mlx_medium \
  --use_coreml

3) 전략 효율 우선(Neural Engine 적극 사용)

python3 simulstreaming_whisper.py test.mp3 \
  --language ko \
  --model_name medium \
  --model_path mlx_medium \
  --use_coreml \
  --coreml_compute_units CPU_AND_NE

이런 사람에게 추천

  • 맥북에서 클라우드 없이 로컬로 회의/경험/영상 실시간 자막을 만들고 싶다
  • Whisper를 스트리밍으로 쓰는데 속도, 발열, 배터리가 걱정이다
  • PyTorch 없이 간단히 동작하는 것을 원한다

Leave a Reply