ai好好玩-2 在自己電腦上就能把各種語音轉文字的工具whisper
這次要介紹的是一款名為whisper的ai工具,這個工具一樣是基於神經網路架構所開發,
如題,它能將任何有人說話的語音檔案轉文字,而且支援多種語言,並且可自動偵測說話的語言,
你可以輕鬆的用這個工具,將手上的講座、錄音、甚至是youtube上下載回來的影片轉成純文字,
轉換出的文字還有翻譯成英文的功能,並且可以輸出多種格式的檔案,像是純文字檔、字幕檔等等,
whisper也有多種識別模型可選擇,占用電腦資源越少的速度越快,但識別出的文字錯誤率會越高。
另外,whisper跟之前介紹過的所有ai工具一樣,如果你有一張好的獨立顯卡,將能有翻倍的處理速度,
要特別注意的是,目前許多ai相關的工具,只能用NVIDIA的顯卡來加速,amd的顯卡不行,所以要買顯卡加速的話要特別注意,
另外也要為顯卡特別安裝cuda組件,安裝cuda的方法可以自己上網查查,
如果你沒有獨顯,跟我一樣用的都是cpu的內顯的話,那就只能靠cpu慢慢的運算了,
接下來的文章,也是為那些跟我一樣沒獨顯的人所撰寫,
當然,我也會附上獨顯的安裝方法,但成功與否就只能看造化啦!
下載
稍後我們要安裝的whisper以及相關的組件,都要透過Anaconda這個包管理器來下載和安裝,
它就像你手機上的app store或google play,透過Anaconda,我們可以很輕鬆的下載並安裝自己要的組件,
比較不同的是,要用它來做任何事,都要以輸入指令的方式來完成,
不過你也不用害怕,接下來只要按照我的步驟,相信你也能輕鬆地完成安裝。
- Anaconda包管理器
點我從官方頁面下載Anaconda包管理器
點我下載Anaconda3-2022.10-Windows-x86_64.exe 小羔羊下載站 - NVDA上的命令行輔助插件 Console Toolkit(可選,推薦安裝)
這個NVDA插件可以幫助我們更好的使用命令行,尤其是當有刷新內容時會發出音效提示,這個對我們來說很有用
點我下載Console Toolkit NVDA插件
點我前往Console Toolkit插件頁面 - NVDA上的翻譯插件 谷哥翻翻看(可選,推薦安裝)
英文不好嗎? 如果看到報錯的提示都是英文看不懂怎麼辦? 那就來裝這個NVDA插件吧!
點我下載谷哥翻翻看NVDA插件 - 適合大陸用戶的NVDA翻譯插件 及时翻译-instantTranslate-4.4.3.1
連不到google嗎? 那你可以試試這個插件
點我前往及时翻译-instantTranslate-4.4.3.1
相關頁面
當上方的下載點失效,或是你想找到最新版或whisper的官方介紹的時候,可以造訪下面這些網頁
- Anaconda下載頁面
點我前往Anaconda Distribution - whisper的github頁面
點我前往whisper的github官方頁面
命令列的基本操作
想順暢的使用Anaconda,你需要了解一些使用技巧,
下面的操作技巧是用於大部分命令列的視窗,包括windows中的cmd和power shell,以及等等我們會用到的Anaconda,
事實上Anaconda的命令列視窗,就是基於power shell的視窗來控制的→
- 命令列的視窗其實就跟記事本的樣子很像,從上到下,從左到右,
最新的內容會在視窗的最底部,
當有新的內容刷新時,之前的內容會被往上捲動,
在視窗的最下方還有一行輸入框,讓我們可以輸入指令來做任何想做的事 - 瀏覽視窗內印出的內容
- nvda用戶
可以將小鍵盤切換成熱鍵模式,再按nvda+小鍵盤1切到物件瀏覽,之後按
7或9 7為上一行,9為下一行
shift+7或9 可以跳到最上面或最下面
1或3 1為前一個字,3為後一個字 - 爭渡讀屏
同樣將小鍵盤切換成熱鍵模式,按
2或8 2為下一行,8為上一行
1或7 1跳到最底部,7跳到最上面
- nvda用戶
- 貼上
這個就不用多說了,能看到這篇文章的你應該都知道能按ctrl+v來貼上 - 輸入指令
打開命令列視窗後,我們焦點能停留的也只有輸入框,
輸入框只能容納一行,並不像記事本那般可以換行,
當你按enter的時候就會送出你所輸入的指令 - 去到想去的目錄
在命令列輸入
cd 路徑
例如
cd c:\123
之後按enter,就會定位到c槽的123資料夾了 - 看看現在在哪個資料夾
在命令列輸入
pwd
會列出一行訊息,顯示當前的路徑,你可以用上面看訊息的快速鍵來查看 - 找檔案
如果當前定位到的資料夾有一個名為123.mp3的檔案,除了手打完整的名稱,你還可以按tab鍵來讓命令列自動補齊完整的檔案名稱,
例如我在命令列打一個
1
然後按tab,會聽到
123.mp3
此時你可以左、右動一動,你會發現檔案名稱已經自動幫我們打好在輸入框了
安裝步驟
如果你是大陸用戶,可能還需要一些額外的工具才能成功安裝,
詳細補充可先跳到後續的幾個標題查看。
- 首先下載上面提供的Anaconda,打開它按照步驟一路按next,直到安裝完成並關閉視窗
- 安裝完成後可能會打開Anaconda的網頁,不用理它,直接關閉即可
- 按win打開開始功能表,按tab找到
所有應用程式(簡體系統叫做所有應用列表)
之後打一個
a
然後往下找
Anaconda3 (64-bit) 文件夹,已折叠
enter展開,往下找
Anaconda Powershell Prompt (Anaconda3)
按enter,這樣就會打開Anaconda專用的power shell視窗了,
注意看看Anaconda的這個視窗標題,例如我的是
系統管理員: Anaconda Powershell Prompt (Anaconda3) 終端機 (base) PS C:\Users\Administrator>
如果是簡體系統,長的會是
管理员: Anaconda Powershell Prompt (Anaconda3)
等一下我們就要把指令貼到這裡喔
- 依照下面的順序,每次只複製一行,貼到Anaconda的視窗裡按enter,
開頭有#的行只用來說明,不需要複製,
如果你不懂該如何做,先看下一個步驟的說明再回來操作,指令如下→
# 安裝神經網路組鍵(這條指令僅適用於使用NVIDIA獨顯,且已經安裝好cuda組件的用戶,沒有獨顯的用戶不必執行)
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
# 安裝神經網路組件(這條指令只會讓組件已cpu來運算)
conda install pytorch torchvision torchaudio cpuonly -c pytorch -y
# 安裝git
conda install git -y
# 安裝FFMPEG邊解碼器
conda install ffmpeg -y
# 安裝whisper
pip install git+https://github.com/openai/whisper.git
# 更新whisper(之後要更新可以直接用這一條指令)
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
- 例如我先複製這行→
conda install pytorch torchvision torchaudio cpuonly -c pytorch -y
切換到Anaconda的視窗,直接按ctrl+v貼上,然後按enter,
此時Anaconda會開始下載並安裝指令中要求的組件,
直到你看到類似這一行的時候,才代表剛剛的指令跑玩了,接下來才能繼續貼後續的指令
(base) PS C:\Users\Administrator>
p.s 如果看到報錯內容,可以用那一行報錯的內容上網查,或看看本文後續提供給大陸用戶的補充 - 當所有指令都跑完且沒有報錯內容,那你可以嘗試使用下面的指令執行whisper看看
whisper --help
如果你看到的內容最後幾行長這樣,那代表已經安裝成功了
--threads THREADS number of threads used by torch for CPU inference; supercedes MKL_NUM_THREADS/OMP_NUM_THREADS
default: 0)
(base) PS C:\Users\Administrator>
遇到報錯了嗎?
大陸用戶的補充事項
根據測試,沒有使用vpn的大陸用戶在下載組件時可能會出現連線不到下載網站的狀況,下面是提供給你參考的注意事項→
- 如果你還沒有趁手的vpn,你可以試試teacat這間公司提供的服務,
在這篇文章,我曾經做過一些簡單的介紹和使用說明→
好軟體推薦-6 大陸福音,用foobar也可以爬牆看youtube - 這裡是teacat的首頁→
點我前往teacat官網
點我前往teacat備用官網 - 如果你是使用teacat,可以在Anaconda的視窗中貼上下面這條指令後按enter
$Env:http_proxy="http://127.0.0.1:7890";$Env:https_proxy="http://127.0.0.1:7890"
接著按照上文的指令依序安裝,
不用擔心重複安裝,安裝時Anaconda會自動檢查組件有沒有安裝,已經安裝過的會直接略過安裝步驟直接顯示完成的訊息 - 如果你已經有了teacat或其他vpn工具,首先打開系統全局代理,在嘗試按照上文的指令安裝看看
使用
迫不及待想來嘗試了嗎? 讓我們馬上開始試用一下! 記得每次輸入指令完都要按enter
- 在最開始對命令列不熟悉的時候,建議你可以先將要處理的檔案放到c槽的跟目錄下,方便我們找到檔案
- 在Anaconda的命令列視窗中,定位到硬碟c的根目錄,輸入以下指令:
cd c:\
- 用whisper將檔案轉文字,輸入指令
whisper 001.mp3 --model base
將上面指令中的001.mp3,改成你的檔案名稱,建議先將檔名改成英數字混合再使用此指令會比較方便,不易出錯 - 當你看到命令列視窗內的訊息跑個不停,或是可以看到類似下面這樣的內容時,代表已經開始跑了
Detecting language using up to the first 30 seconds. Use
--languageto specify the language
或是
Detected language: Chinese
又或是
[00:23.680 --> 00:28.560] 小羔羊不醜,但也很溫柔
同時,你也可以查看目前的cpu使用率,
當任務正在進行中的時候,cpu使用率會比平時明顯提升,
在上篇文章,我有介紹一個可以查看資源占用率的NVDA插件,還沒有的話你可以去安裝。 - 當處理完成後,你會看到最後一行大概會長這樣
(base) PS C:\>
現在你就可以去c槽的根目錄下,看看轉換出的成果了,
預設情況下,轉換好的檔案會放在跟原始檔案一樣的目錄下
更多參數
前面介紹的時候有提到,whisper有好幾種模型可以使用,
而上面我們用來轉換的指令是相較之下比較快,但結果比較差的,
接下來我會介紹幾種常用的指令,讓你可以一一嘗試
- 各種識別模型,越小的越快,占用資源也越少,反之亦然,
只要在指令後面加上--model 模型名稱
,就可以指定要用的模型,
例如
# 用最小的模型,也就是tiny模型
whisper 1.mp3
# 用基礎模型
whisper 1.mp3 --model base
# 用小的模型
whisper 1.mp3 --model small
# 用中等模型
whisper 1.mp3 --model medium
# 用最大的模型
whisper 1.mp3 --model large
- 英文專用模型
上面是多語言的模型,這裡還有英文專用的模型,識別英文的效果最好,
根據官方說明,small的英文專用模型效果就已經很不錯了,在網上差異並不大
# 微小的
whisper 1.mp3 --model tiny.en
# 基礎的
whisper 1.mp3 --model base.en
# 小的
whisper 1.mp3 --model small.en
# 中等的
whisper 1.mp3 --model medium.en
p.s 目前沒有最大的英文專用模型
- 指定要識別的語言
因為whisper只會偵測檔案的前30秒來判斷語言,所以這個指令對前30秒沒什麼聲音的檔案十分有用,
使用的方法是在指令後面加入--language 語言
例如:
# 以中文來轉換
whisper 1.mp3 --language Chinese
# 以日文來轉換
whisper 1.mp3 --language Japanese
# 以英文來轉換
whisper 1.mp3 --language English
還支援很多其他語言,這裡就不一一列出了
- 翻譯成英文
在指令後面加上--task translate
,可以將轉換出的結果直接轉成英文
例如
whistper 1.mp3 --task translate
- 上面的指令也可以隨意組合,,例如
whisper 1.mp3 --language Japanese --task translate
- 關於whisper的說明,應為命令列很難控制它往上捲動,你可以從這裡下載我導出的使用說明→
點我下載whistper幫助.txt
ok! 這次就介紹到此,玩得愉快,我們下篇再見!