まえがき
社内で打ち合わせ時に録画しているデータを元に、議事録を起こしているため
文字起こしサービスやOSSを探していてWhisperを試してみることにした。
スペック
- Intel(R) Xeon(R) CPU E5-2667 4コア
- RAM 8GB
- CentOS Linux 8.x
導入
Dockerfileの準備
FROM python:3.9-slim
WORKDIR /workspace
# 以下は、プロキシサーバがある場合は記載
ENV http_proxy http://proxy.xxxx.co.jp
ENV https_proxy http://proxy.xxxx.co.jp
ENV HTTP_PROXY http://proxy.xxxx.co.jp
ENV HTTPS_PROXY http://proxy.xxxx.co.jp
RUN apt-get update && apt-get install -y \
build-essential \
gcc \
git \
ffmpeg \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip
RUN pip install setuptools-rust
# 以下は、プロキシサーバがある場合は記載
RUN git config --global http.proxy http://proxy.xxxx.co.jp
RUN git config --global https.proxy http://proxy.xxxx.co.jp
RUN git config --global http.sslVerify false
RUN pip install git+https://github.com/openai/whisper.git
Dockerイメージの作成
# ./ にはDockerfileのパスを指定 例として./としている
docker build -t whisper ./
コンテナ実行
docker run -it -d -v $(pwd):/workspace/ --name whisper whisper
実際に文字起こし
- Dockerfileと同ディレクトリに音声ファイルを配置する。
ll
-rw-r--r-- 1 root root Dockerfile
-rw-r--r-- 1 root root audio.m4a
- 文字起こし実行
docker exec -it whisper bash -c "whisper audio.m4a --language ja"
100%|███████████████████████████████████████| 250M/250M [00:20<00:00, 13.5MiB/s]
/usr/local/lib/python3.9/site-packages/whisper/transcribe.py:78: UserWarning: FP16 is not supported on CPU; using FP32 instead
warnings.warn("FP16 is not supported on CPU; using FP32 instead")
生成ファイル
ll
-rw-r--r-- 1 root root Dockerfile
-rw-r--r-- 1 root root audio.m4a
-rw-r--r-- 1 root root audio.m4a.srt
-rw-r--r-- 1 root root audio.m4a.txt
-rw-r--r-- 1 root root audio.m4a.vtt
内容はどうか
内容を把握できるかというレベルで言うと十分把握ができ、議事録に改めて起こす必要があるため
あまりに理解しづらいことがない文字起こしレベルであると言えるので、実用性は高いと思われます。
[20:20.400 --> 20:23.400] はい、承知しましたありがとうございます
[20:23.400 --> 20:29.400] すみませんガーッと喋ってますけど理解できました?
[20:29.400 --> 20:31.400] 大丈夫です
[20:31.400 --> 20:32.400] よかったよかった
[20:32.400 --> 20:34.400] よくわかんなくなったらまた聞いてください
[20:34.400 --> 20:39.400] 私もなんか全然うまくする気がしない
[20:39.400 --> 20:41.400] はい、ありがとうございます
かかった時間
20分程度の音声データで、1時間かかりました。
ただ他のプロセスが稼働している状態での試行だったので、実際はもう少し短いかもしれません。
公式には、Multilingual model
をlarge
を指定する際の、推奨VRAMは10GBと記載されてあります。1
GPUを搭載するのがやはり一番いいですね・・
参考
https://openai.com/blog/whisper/
https://github.com/openai/whisper