🦔
【入門者向け】Colaboratoryを使ってWhisperを使いたい
概要
何がしたい人向けか
以下の操作を取得できると
- 好きなYoutubeの実況や解説を文書化することができるようになる
- また、zoomなどのMTGの録画も文字起こしすることが容易になる
- 音声が文字情報化されることで、"検索"や"情報整理"が容易になる。
- 特にプライベートな動画や音声を文字化したい際に、これが動かせるようになると安心
大枠の手続き
- 事前準備
- 誰が実行する
- GPU
- 何に対して
- 音声ファイル
- ありかを示すことができるように
- google drive内(家の鍵を渡して部屋にあるファイルを指定する感じ)
- fileをupload(直接ファイルを渡す感じ)
- ありかを示すことができるように
- 音声ファイル
- 誰が実行する
- コマンドを実行するときに指定
- 何をするか
- Whisper(speech to text)
- どのように
- スピード重視 -> small
- 結果の保存先フォルダ名 -> result
- 抽出するテキストの言語 -> 日本語
- 何をするか
チェックリスト
後で何がわかっているか・わかっていないかを確認する
- ファイル -> google driveにコピーを実行して、この実行ファイルを全体をコピーすることができる
- 環境設定でGPUを選択することができる
- コードを実行することができる
- コメントアウトを消したり、つけたりすることができる
- ファイルをアップロードすることができる
- google driveのマウントを実行して、自分のマイドライブに接続することができる
- テキスト化したいファイルのパスをコピーすることができる
- 指定するファイル形式によって、実行するコマンドが異なることを理解している
- コピーしたファイルのパスを、実行するコマンドの中で、適切な箇所に置換することができる
- whisperコマンドを実行することができる
- whisperコマンドで出力した成果物が、どのフォルダに入っているかわかる
- whisperコマンドを、速度や精度に応じた性能を指定して、実行することができる
- YoutubeのURLをコピーして、ダウンロードすることができる
- ファイル名を変更することができる
- 動画ファイルを音声ファイルに変換することができる
- 指定したファイルの中身を確認することができる
- whisperコマンドで出力した成果物を、ダウンロードすることができる
基礎編
- 事前に録音済み音声ファイルを所持している前提
-
#
マーク(半角なので注意)が最初にあるコード部分は、実行されないようになっている(コメントアウト)- ctrl + / でカーソルのあるコードをコメントアウトしたり、コメントアウトを解除したり可能
-
!
マークが最初にあるコード部分は、Linuxコマンドを実行していると思ってもらってOK
1 環境設定
colaboratory URL
以下のノートブックをコピーしてもらうと、よきです。
-
https://colab.research.google.com/drive/1mzOOjxmdho7sZL8sxILSMeBaD3NYkeY7?usp=sharing
まずはじめにファイルをコピー
ソフトウェアを動かすための準備
- Runtime -> Change runtime time -> Hardware acceleratorでGPUを指定
- これをしないと、とんでもないほど時間がかかる
- 実行の方法
- shit + enter か
- 再生マークをクリック
# パッケージのインストール
!pip install git+https://github.com/openai/whisper.git
!sudo apt update
!sudo apt install ffmpeg
2 対象ファイルを参照できるようにする
2-1 ドライブのマウント
- google driveに保存しているファイルを参照する場合のみ実行
from google.colab import drive
drive.mount('/content/drive')
2-2 ローカルファイルからアップロード
- 左のファイルマーク{x}の下をクリック
- ファイルのアップロード(目玉マークが並ぶ行の、いちばん左)
3 音声ファイルのパスをもってくる
上記(2)に対応する、いずれかのパターンで、対象ファイルのパスを取得
- アップロードしたファイルパス
- ex: /content/upload_file.mp3
- ドライブをマウントして、参照できるようになったファイルパス
- ex: /content/drive/MyDrive/AudioData/sample.mp3
4 Whisperを実行(speech to text)
- 下記の"path to audio file"の部分に、上記で取得したパスを置換
- 性能と速度のトレードオフ
- tiny, base, small, medium, largeの順番で性能が高くなり、速度が遅くなる
%%time
# スピード重視なら small, 精度重視なら large
!whisper "path to audio file" --model large --language Japanese -o result #resultというフォルダに保存しますよ
### 例1 アップロードした upload_file.mp3 を指定した場合 ###
# !whisper "upload_file.mp3" --model large --language Japanese -o result
### 例2 google driveの マイドライブ直下にある tmp_audio.mp3 を指定した場合 ###
# !whisper "/content/drive/MyDrive/AudioData/sample.mp3" --model large --language Japanese -o result
5 ダウンロード
- 生成した出力結果が含まれているフォルダにカーソルを合わせると現れる右横にある三つの点から、ダウンロードを選択
発展編
Youtubeから動画をダウンロードして、その字幕をwhisperで作成しよう
7 Youtube動画のダウンロード
# youtubeから指定したURLの動画をダウンロードするためのソフトをインストール
!pip install yt-dlp
### 例 クリプト・仮想通貨 初心者講座 安全対策をダウンロード
!yt-dlp -f best https://www.youtube.com/watch?v=Uy0LtmWg8lo
### template
# !yt-dlp -f best "URL of youtube video"
8 動画から音声を抽出
- 動画からのテキスト化をする場合は、音声を抽出する必要がある
- 抽出する音声のファイル形式が指定する形式によって、実行するコマンドが異なる
- aacファイル形式にする場合(おすすめ)
- mp3ファイル形式にする場合
- 動画ファイルのパスをコピーして置換
- 実行するコード以外がコメントアウトされている状態になっていること
# ダウンロードしたファイル名前のまま、パスをコピーして貼り付けだとうまくいかないときもあるので
# file_path = "/content/クリプト・仮想通貨 初心者講座 安全対策 [Uy0LtmWg8lo].mp4"
# ダウンロードしたファイルを、名前の変更(rename)しましょう
## 左のファイルから3つの点を押して、名前の変更もしくはrenameをクリック
# これは、ダウンロードしたファイルの名前を youtube.mp4にした場合
file_path = "youtube.mp4"
# file_path変数に格納された情報を参照する方法もある
# !ffmpeg -i $file_path -vn -acodec copy "youtube_audio.aac"
### aacファイルのほうならこっち
!ffmpeg -i "youtube.mp4" -vn -acodec copy "youtube_audio.aac"
### mp3ファイルにしたい時はこっち
# !ffmpeg -i "youtube.mp4" -acodec libmp3lame -ab 256k "youtube_audio.mp3"
9 音声のテキスト化
- スピード重視なら small, 精度重視なら large
## aacファイルの場合
!whisper "youtube_audio.aac" --model small --language Japanese -o result
## mp3ファイルの場合
# !whisper "youtube_audio.mp3" --model small --language Japanese -o result
10 出力したファイルの中身を確認
- headコマンドで、指定したファイルの冒頭10行を表示
!head /content/result/youtube_audio.aac.srt
1
00:00:00,000 --> 00:00:14,000
はい 始まりました クリプト仮想通貨初心書講座 第1回安全対策ということで
2
00:00:14,000 --> 00:00:20,000
最近ね クリプトのハッキング事件 これものすごく増えてます
3
00:00:20,000 --> 00:00:24,000
!head /content/result/youtube_audio.aac.txt
はい 始まりました クリプト仮想通貨初心書講座 第1回安全対策ということで
最近ね クリプトのハッキング事件 これものすごく増えてます
毎週のようにね ハッキング 何々ハッキングということで
本当に安全なクリプトやる上で 今日はその重要なポイントを説明していきたいと思います
初心者の方も必見です はい もう早速やります
まず ウォレット こちらは仮想通貨を保存する財布ですで
これを作るときに シードフレーズってものを作成します
このシードフレーズ 普通は1個のウォレットを作成するときに1つなんですけど
最低でも3つ用意しましょう 3つというのは3つ別々のウォレットを作っておくということが大事です
用途別に用意するのがいいでしょう ゲームNFT用ですね そしてデファイ運用用
!head /content/result/youtube_audio.aac.vtt
WEBVTT
00:00.000 --> 00:14.000
はい 始まりました クリプト仮想通貨初心書講座 第1回安全対策ということで
00:14.000 --> 00:20.000
最近ね クリプトのハッキング事件 これものすごく増えてます
00:20.000 --> 00:24.000
毎週のようにね ハッキング 何々ハッキングということで
Discussion