AIを使って寝てる間に文字起こしをしてもらいたい!

AIを使って寝てる間に文字起こしをしてもらいたい!
Photo by Ritupon Baishya / Unsplash

文字起こしをAIにやらせることができたらいいなあと思い立ち、とにかくやってみた。

私のラップトップはLenovoの「ThinkBook 16p G2 ACH Laptop - Type 20YM」。詳細スペックはこんな感じ。

構成

ハードウェア構成

  • CPU: AMD Ryzen 7 5800H (3.20 GHz、8コア16スレッド)
  • GPU: NVIDIA GeForce RTX 3060 Laptop GPU (6GB VRAM)
  • メモリ: 40GB DDR4-3200 ※標準16GBから増設済み
  • ストレージ: 512GB SSD PCIe

ソフトウェア環境

  • OS: Windows 11 Pro (64bit)
  • バージョン: 24H2

パフォーマンス的なお話

このスペックでは、Whisperの中〜大型モデル(medium、large)も快適に動作できた。たぶんRTX 3060にある6GB VRAMがうまいことやってくれてる感じ。正直AIを動かすならVRAMはあればあるだけいいかも。

GPUなしでも動くっぽいけれど、さすがにSurfaceとかだと処理速度的に厳しいかも。わかんない。

音声データの準備

まずは録音から。

スマホでやるのがお手軽かな?

文字起こし

手で文字起こしなんてやってられない!

OpenAI Whisperをローカルで動かせばちょちょいと文字起こしができる!

GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision
Robust Speech Recognition via Large-Scale Weak Supervision - openai/whisper

Zennで参考になりそうな記事を探していたら、Webアプリとして作り上げていた人がいたので、とりあえずこの方のプロジェクトを動かせるようにしてみる。

Streamlit+Flask+Whisperで社内オンプレ文字起こしサーバーを構築(同期処理)
Streamlit+FastAPI+Whisperで社内オンプレ文字起こしサーバーを構築(非同期処理)
GitHub - tsuzukia21/st-transcribe
Contribute to tsuzukia21/st-transcribe development by creating an account on GitHub.

Whisperのモデルについて

実はWhisperはいくつかの実装がある。

OpenAI謹製Whisper

まず、OpenAI謹製のWhisper。PythonとPyTorchを使ってる。

安定していていい感じ。

C++実装のWhisper.cpp

それを高速化する目的にC++で書き直したモデルがWhisper.cpp。ざっくり3-10倍速くなるらしい。GPUのないマシンでもサクサク動くからネットの記事なんかでもよくつかわれているのを見るのはこっち。

とはいえ、そもそもC++のビルド環境を導入するのめんどいし、ツールは少なくしたいのでPythonで閉じたくて今回は使わなかった。

GitHub - ggml-org/whisper.cpp: Port of OpenAI’s Whisper model in C/C++
Port of OpenAI’s Whisper model in C/C++. Contribute to ggml-org/whisper.cpp development by creating an account on GitHub.

CTranslate2を使って高速化をしたfaster-whisper

Whisper.cppがシンプルに高速なシステムで実装することで爆速にしたのに対して、faster-whisperは最適化をすることで爆速にした実装。

あんまりよくわかってないけど、初めてのAIだったこともあって、エラーが起きたときに場合の切り分けができるとは思えなかったので、使わなかった。

どっちも今度使ってみたいね。

GitHub - SYSTRAN/faster-whisper: Faster Whisper transcription with CTranslate2
Faster Whisper transcription with CTranslate2. Contribute to SYSTRAN/faster-whisper development by creating an account on GitHub.

導入

PyTorchの導入までがめんどくさい。

PyTorchはこうした機械学習系の王道ライブラリなのだが、PyTorchがいろいろな周辺システムのバージョンを指定してくる。自分のシステム(環境)とPyTorchの指定バージョンを考えて逆算して様々なパッケージをインストールしなければまともに動かない。別にGPUを使わなくても動くのだが、CPUをぶん回して処理をすればAIを動かしている間まともにパソコンが操作できない。せっかくGPUがある環境ならGPUを使って処理をお任せしたい。

anacondaの導入

AIといったらPythonでしょうから、とりあえず全部入りディストリビューションということでanacondaを入れる。

CUDAの導入

CUDAをとりあえずインストールすればいいというわけでもない。各GPUには対応バージョンが存在し、そのバージョンはnvidia-smiコマンドで確認できる。

> nvidia-smi

Wed Aug  6 21:28:13 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 577.00                 Driver Version: 577.00         CUDA Version: 12.9     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060 ...  WDDM  |   00000000:01:00.0 Off |                  N/A |
| N/A   52C    P8             10W /   60W |       0MiB /   6144MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

CUDA Version: 12.9とあるので「CUDA 12.9」とググり、ダウンロードしてインストールを済ませる。

CUDA Toolkit 12.9 Downloads

CUDA 12.9のダウンロードページ

cuDNNの導入

cuDNN

cuDNNは配布方法が変わったらしく、特にユーザー登録などしなくても普通にダウンロードできるようになった。いろいろ探し回ったが、ここからダウンロードできる。

CUDA Deep Neural Network
cuDNN provides researchers and developers with high-performance GPU acceleration.

cuDNNはここからダウンロードできた

これで導入が済んだかと思いきや、動かしたときにGPUを使ってくれなかった。

どうやらPyTorchのバージョン指定に合わせてやらねばならないようだ。

いろいろ考えたが、Pythonのほうでバージョンを固定した方が楽だと思ったので、次のコマンドでcuda-versionを12に指定してインストールする。

> conda install nvidia::cudnn cuda-version=12

PyTorchの導入

PyTorch
PyTorch Foundation is the deep learning community home for the open source PyTorch framework and ecosystem.

Get Startedから環境にあったPyTorchを導入する。

Get Started
Set up PyTorch easily with local installation or supported cloud platforms.

こんな感じで自分の環境を指定すると、適切なPyTorchをインストールするコマンドを教えてくれる。

  • PyTorch Build:Stable (2.8.0)
  • Your OS: Windows
  • Package: Pip
  • Language: Python
  • CUDA: 12.9
> pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126

私はこのコマンドが出てきた

ということでコマンドをコマンドラインから実行してPyTorchの導入はOK。

ここまでの確認

ここまでいろいろやってきたが、要するにすべてPyTorchのためだ。ここでつまづくと先に進めないので、とにかくここまで行ったかを確かめる。

> python
  >> import torch
  >> torch.cuda.is_available() // tureが返ってくればOK

Gitの導入

インストールにでてくるいろいろな選択肢は面倒なのでデフォのまま全部「次へ」。

Git - Downloading Package

仮想環境の立ち上げ

anaconda navigatorから仮想環境を作っておく。別にコマンドラインからやってもいいです。

私はWhiseprという名前の仮想環境を作りました。

Whisperの導入

> pip install -U openai-whisper

ffmpegの導入

音声や動画をいじる際に何かと便利なのでこの際ffmpegを導入しておく。

Download FFmpeg

release buildsから7zipファイルをダウンロード。

仮想環境でだけ使いたい人はこっちでffmpegを導入

conda-forgeからffmpeg

> conda install -c conda-forge ffmpeg

Pythonパッケージの導入

> conda install flask streamlit

実行方法

st-transcribeを実行する

ターミナル一つ目

> conda activate Whisper
> python server_fastapi.py

ターミナル二つ目

> conda activate Whisper
> streamlit run app_fastapi.py

単にWhisperを使う

単純にファイルを解析してもらう

> conda activate Whisper
> whisper audio.flac audio.mp3 audio.wav --model turbo

感想

正直一人で使うだけで、メモリの余裕もないので、コマンドラインから素直に処理をさせるだけで私には十分だった。

文字起こしの精度だが、Largeモデルでは非常に実用的な水準の品質が出ていると思う。ただ、速度が1xなので、音声ファイルの長さ分だけ処理に時間がかかるということ。1時間の音声ファイルの解析に1時間かかるのでうーん。Turboモデルは速度が出てとてもいいのだけれど、やはり精度は落ちる。

音声ファイルの容量制限がないのもいい。何時間の録音だろうが、すきにAIに投げれば処理してもらえるのですごくいい。ローカルで動かしているので、API使用制限といったものなんてないので何も考えずに使えるのは心が軽くていい。

改善の余地はあるかも知れないが、初期投資ゼロで何かのサービスを契約することもなく非常に実用的な文字起こしアシスタントを使うことができるようになったと考えると満足度はとても高い。おすすめ。

余談

記事を書いている途中にgpt-ossが発表され、GPT-5が登場し、Claude Opus 4.1が出てきて……

AIの分野は動きが速いうえに多い!しかも、どんどん高性能で出ても届きやすくなっているからうれしい。もうしばらくしたら本当にお手軽パーソナルAIが実現できるかもね。楽しみ​

Read more

Capture Oneに待望のネガフィルム変換機能が来た

2026年4月3日、Capture One 16.7.4 がリリースされた。目玉はなんといっても Negative Film Conversion(ネガフィルム変換) の搭載だ。これまで Cultural Heritage エディション限定だったネガ反転処理が、ついに通常の Capture One Pro / Studio でも使えるようになった。 何が変わったのか 従来、Capture One でネガフィルムをポジに変換するには、Cultural Heritage(CH)エディションを使う必要があった。CH は文化財デジタル化向けの専用製品で、Base Characteristics ツールに Film Negative / Film Positive モードが用意されていた。しかし一般の写真愛好家がフィルムスキャンのためだけに CH を導入するのは現実的ではなく、多くのユーザーは Lightroom とそのプラグイン(Negative Lab

By Sakashita Yasunobu

雨の中、歩くべきか走るべきか

傘を忘れた日の永遠の問い、歩くか、走るか、いやいっそ雨宿りをするのか。物理で決着をつける。 モデル 人体を直方体で近似。上面積 $A_{\text{top}}$(頭・肩)、前面積 $A_{\text{front}}$(胸・顔)。雨は鉛直一様(落下速度 $v_r$、数密度 $n$)、距離 $d$ を速度 $v$ で直線移動する。 人体の直方体モデルは、上から見た水平断面が $A_{\text{top}}$、正面から見た鉛直断面が $A_{\text{front}}$ の二面で構成される。移動方向は水平、雨は鉛直に降る。 受ける雨滴数は、上面が $n v_r A_{\text{top}

By Sakashita Yasunobu

T-GRAIN・Core-Shell・旧式乳剤の定量比較

Kodak T-GRAIN、Ilford Core-Shell、旧式立方晶乳剤。写真フィルムの性能を左右する三つの乳剤技術を、特許文献と数式に基づいて比較する。 1. 出発点: 旧式乳剤の構造と限界 T-MAXやDeltaが何を改良したのかを理解するには、まず従来の乳剤がどのようなものだったかを押さえておく必要がある。 1980年代以前、標準的なハロゲン化銀乳剤はAgBrやAgBr(I)の結晶が立方体(cubic)か不定形(irregular)の形をしていた。Tri-XやHP5の祖先にあたるこれらの乳剤では、結晶のアスペクト比(直径対厚さの比)はおおむね1:1から2:1。三次元的にほぼ等方的な粒子が乳剤層にランダムに散らばっていた。 この形態が感度と粒状性のトレードオフに直結する。立方晶粒子を一辺 $a$ の立方体として近似すると、表面積と体積、そしてその比は次のとおりである。 $$ S_{\text{cubic}} = 6a^2, \quad V_{\text{cubic}} = a^3, \quad \frac{S}{V} = \frac{6}

By Sakashita Yasunobu

クジラはなぜがんにならないのか

体が大きい動物ほど細胞の数が多い。細胞が多ければ、そのうちどれかががん化する確率も高くなるはずだ。ところが現実には、クジラやゾウのがん発生率はヒトよりも低い。1977年、疫学者リチャード・ピートがこの矛盾を指摘した。以来この問いは「ピートのパラドックス」と呼ばれ、比較腫瘍学における最大の謎のひとつであり続けている。 種の中では予測通り、種の間では崩れる 同じ種の中では、直感どおりの傾向が確認されている。身長の高いヒトはそうでないヒトよりがんの発生率がやや高く、年齢を重ねるほどがんは増える。細胞の数が多いほど、細胞分裂の回数が多いほど、がん化の確率は上がる。 しかし種を超えて比較すると、この関係が崩壊する。シロナガスクジラの細胞数はヒトの約1000倍にのぼるが、がんの発生率がヒトの1000倍になるわけではない。哺乳類全体を見渡しても、体サイズとがんリスクの間に明確な正の相関は長い間見つかっていなかった。がんの発生率は種が異なっても約2倍の範囲にしか収まらないとされてきた。体サイズの差は100万倍を超えるにもかかわらず。 ゾウが持つ余分ながん抑制遺伝子 最もよく知られた説明は

By Sakashita Yasunobu