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

北海道登别温泉游记:在"地狱"中寻找人间仙境

北海道登别温泉游记:在"地狱"中寻找人间仙境

"山中何所有?岭上多白云。"初到登别,我便想起了陶弘景的这句诗。只是这里的白云,不是飘在岭上,而是从地底升腾而起,氤氲缭绕,如梦如幻。 这座被誉为"温泉百货公司"的小镇,藏着日本11种温泉泉质中的9种——这样的天赐恩泽,即便放眼全球也是凤毛麟角。 初识登别 从新千岁机场出发,我选择了最便捷的直达巴士。窗外的北海道风光如画卷般展开,大约一个多小时,登别温泉的牌坊便出现在眼前。若是从札幌出发,JR北海道的特快列车也是不错的选择,在登别站下车后转乘巴士,很快就能抵达温泉街。 温泉旅宿 百年老店第一滝本馆 在第一滝本馆的大厅里,放置着一根高九米、重达十吨的镀金大金棒,赫然入目气势非凡。这家创立于1858年的老字号温泉旅馆,背后有着一段动人的故事。 创始人滝本金藏的妻子曾患皮肤病,在登别温泉很快痊愈。这神奇的疗效让滝本先生当即决定在此建造温泉旅馆,让更多人享受温泉的恩泽。166年过去了,这份初心依然在每一滴温泉水中流淌。 在大浴场里,5种不同泉质的温泉水各有其妙。这里采用"放流式"——温泉水直接从源头流入,

By Sakashita Yasunobu
曾经的"北方华尔街"小樽深度游记

曾经的"北方华尔街"小樽深度游记

从JR札幌站出发前往小樽,短短32分钟的车程。窗外的风景从现代都市逐渐过渡到怀旧小镇,我的心情也渐渐从都市的喧嚣中沉静下来。电车沿着海岸线驶向小樽,这座曾经被称之为"北方华尔街"的小城。 列车在小樽站停靠,随着人群我走出月台。 如果你像我一样是个喜欢深度体验的旅行者,不妨考虑在KITARINN租一辆电动脚踏车。小樽的坡道不少,电动车会让你的探索之旅轻松很多。我来到站前叫KITARINN自行车租赁(这里还提供行李寄存服务),我们租到一辆电动自行车。老板娘是个热情的人,她用简单的中文跟我们打招呼。 如果您带着孩子或者长辈同行,可以步行两分钟直接前往旁的中央巴士总站。这里的巴士线路四通八达,不仅可以到达市内各个景点,还能前往积丹、札幌、余市等地。对于行程紧凑的游客来说,这无疑是最省力的选择。 华尔街的金色记忆 大约骑行五分钟左右,我便来到了色内街。这里曾经是小樽金融业的心脏,虽然昔日的荣华繁华不再,但那些石制建筑如同这座城市历史的守望者依然威严挺拔。 首先似鸟美术馆映入眼帘时,我被那典雅的建筑风格深深震撼。这座原北海道拓殖银行小樽支店的建筑,见证了《蟹工船》作者小林多喜二的青春

By Sakashita Yasunobu
指宿沙蒸温泉游记

指宿沙蒸温泉游记

玉手箱列车开启指宿之旅 前往沙蒸温泉胜地指宿是我两个月前就开始酝酿的计划,特意选择了乘坐传说中的特急玉手箱号观光列车。说到"玉手箱"的由来,就不能不提及那个在日本家喻户晓、记载在《日本书纪》和《丹后国风土记》中的古老传说。 善良的渔夫浦岛太郎救了一只海龟,被邀请到龙宫做客。在那里,他与美丽的乙姬公主一见钟情,在如梦似幻的海底世界度过了三年时光。当思母之情涌上心头,决定返回人间时,乙姬公主送给他一个精美的玉手箱,千叮咛万嘱咐切不可打开。然而,当浦岛太郎回到故乡,却发现人间已过三百年,熟悉的一切都已不复存在。无比悲痛的他违背了诺言,打开了那个神秘的玉手箱,瞬间从青壮少年变成了白发苍苍的老翁。 据说设计师水户冈锐治正是从浦岛太郎打开玉手箱的瞬间中汲取了灵感。当我亲眼看到指宿玉手箱列车那黑白相间的车身设计,看到停靠时从车顶喷出后飘散而去的白色水雾,不禁为设计师如此传神地将神话传说与现代列车设计融合的妙想而深深折服。 JR KYUSHU D&S TRAINS D&S列車の旅 特急指宿のたまて箱JR KYUSHU D&S TRAINS D&

By Sakashita Yasunobu
“夜空摇曳金穗,万灯承载人愿”秋田竿灯节记

“夜空摇曳金穗,万灯承载人愿”秋田竿灯节记

早就听说过秋田竿灯节的魅力,这个被誉为日本东北三大传统民俗节庆活动之一的盛典。终于在今年8月让我有了亲身体验的机会,于是和朋友相约,踏上了这段探索秋田竿灯文化的旅程。 秋田竿燈まつり-Akita Kanto Festival- 国重要無形民俗文化財厄よけ、五穀豊穣などを願う行事として長い歴史を持つ「秋田竿燈まつり」。約280本もの竿燈の明かりが会場の大通りを埋め尽くし、まるで黄金の稲穂のように揺らめき、真夏の夜空を照らします。国重要無形民俗文化財。 踏上秋田之旅 竿灯祭是约270年历史的国家重要无形民俗文化财产,源自人们为驱离农忙时节的睡魔而举行的除邪消灾活动。据史料记载,关于秋田竿灯节最早的文字记录可以追溯到江户宽政年间,这让我们对即将见证的这一拥有230多年历史的传统民俗充满了期待。8月2日,我们轻装从东京站出发,乘坐新干线约4小时便抵达了JR秋田站。从中央检票口出来,天棚上装饰着竿灯悬挂的米白色的和纸制灯笼立刻营造出了节日氛围。检票口不远处摆放着:憨厚可爱的秋田犬毛绒布偶,旁边是巨大的红脸蓝脸生剥鬼面具,瞬间吸引了我们驻足拍照。生剥鬼是秋田地区独特的民俗文化象征,红脸和蓝

By Sakashita Yasunobu