ai好好玩-2 在自己電腦上就能把各種語音轉文字的工具whisper

ai好好玩-2 在自己電腦上就能把各種語音轉文字的工具whisper

這次要介紹的是一款名為whisper的ai工具,這個工具一樣是基於神經網路架構所開發,
如題,它能將任何有人說話的語音檔案轉文字,而且支援多種語言,並且可自動偵測說話的語言,
你可以輕鬆的用這個工具,將手上的講座、錄音、甚至是youtube上下載回來的影片轉成純文字,
轉換出的文字還有翻譯成英文的功能,並且可以輸出多種格式的檔案,像是純文字檔、字幕檔等等,
whisper也有多種識別模型可選擇,占用電腦資源越少的速度越快,但識別出的文字錯誤率會越高。
另外,whisper跟之前介紹過的所有ai工具一樣,如果你有一張好的獨立顯卡,將能有翻倍的處理速度,
要特別注意的是,目前許多ai相關的工具,只能用NVIDIA的顯卡來加速,amd的顯卡不行,所以要買顯卡加速的話要特別注意,
另外也要為顯卡特別安裝cuda組件,安裝cuda的方法可以自己上網查查,
如果你沒有獨顯,跟我一樣用的都是cpu的內顯的話,那就只能靠cpu慢慢的運算了,
接下來的文章,也是為那些跟我一樣沒獨顯的人所撰寫,
當然,我也會附上獨顯的安裝方法,但成功與否就只能看造化啦!

下載

稍後我們要安裝的whisper以及相關的組件,都要透過Anaconda這個包管理器來下載和安裝,
它就像你手機上的app store或google play,透過Anaconda,我們可以很輕鬆的下載並安裝自己要的組件,
比較不同的是,要用它來做任何事,都要以輸入指令的方式來完成,
不過你也不用害怕,接下來只要按照我的步驟,相信你也能輕鬆地完成安裝。

相關頁面

當上方的下載點失效,或是你想找到最新版或whisper的官方介紹的時候,可以造訪下面這些網頁

命令列的基本操作

想順暢的使用Anaconda,你需要了解一些使用技巧,
下面的操作技巧是用於大部分命令列的視窗,包括windows中的cmd和power shell,以及等等我們會用到的Anaconda,
事實上Anaconda的命令列視窗,就是基於power shell的視窗來控制的→

  1. 命令列的視窗其實就跟記事本的樣子很像,從上到下,從左到右,
    最新的內容會在視窗的最底部,
    當有新的內容刷新時,之前的內容會被往上捲動,
    在視窗的最下方還有一行輸入框,讓我們可以輸入指令來做任何想做的事
  2. 瀏覽視窗內印出的內容
    • nvda用戶
      可以將小鍵盤切換成熱鍵模式,再按nvda+小鍵盤1切到物件瀏覽,之後按
      7或9 7為上一行,9為下一行
      shift+7或9 可以跳到最上面或最下面
      1或3 1為前一個字,3為後一個字
    • 爭渡讀屏
      同樣將小鍵盤切換成熱鍵模式,按
      2或8 2為下一行,8為上一行
      1或7 1跳到最底部,7跳到最上面
  3. 貼上
    這個就不用多說了,能看到這篇文章的你應該都知道能按ctrl+v來貼上
  4. 輸入指令
    打開命令列視窗後,我們焦點能停留的也只有輸入框,
    輸入框只能容納一行,並不像記事本那般可以換行,
    當你按enter的時候就會送出你所輸入的指令
  5. 去到想去的目錄
    在命令列輸入
    cd 路徑
    例如
    cd c:\123
    之後按enter,就會定位到c槽的123資料夾了
  6. 看看現在在哪個資料夾
    在命令列輸入
    pwd
    會列出一行訊息,顯示當前的路徑,你可以用上面看訊息的快速鍵來查看
  7. 找檔案
    如果當前定位到的資料夾有一個名為123.mp3的檔案,除了手打完整的名稱,你還可以按tab鍵來讓命令列自動補齊完整的檔案名稱,
    例如我在命令列打一個
    1
    然後按tab,會聽到
    123.mp3
    此時你可以左、右動一動,你會發現檔案名稱已經自動幫我們打好在輸入框了

安裝步驟

如果你是大陸用戶,可能還需要一些額外的工具才能成功安裝,
詳細補充可先跳到後續的幾個標題查看。

  1. 首先下載上面提供的Anaconda,打開它按照步驟一路按next,直到安裝完成並關閉視窗
  2. 安裝完成後可能會打開Anaconda的網頁,不用理它,直接關閉即可
  3. 按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)

等一下我們就要把指令貼到這裡喔

  1. 依照下面的順序,每次只複製一行,貼到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
  1. 例如我先複製這行→
    conda install pytorch torchvision torchaudio cpuonly -c pytorch -y
    切換到Anaconda的視窗,直接按ctrl+v貼上,然後按enter,
    此時Anaconda會開始下載並安裝指令中要求的組件,
    直到你看到類似這一行的時候,才代表剛剛的指令跑玩了,接下來才能繼續貼後續的指令
    (base) PS C:\Users\Administrator>
    p.s 如果看到報錯內容,可以用那一行報錯的內容上網查,或看看本文後續提供給大陸用戶的補充
  2. 當所有指令都跑完且沒有報錯內容,那你可以嘗試使用下面的指令執行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

  1. 在最開始對命令列不熟悉的時候,建議你可以先將要處理的檔案放到c槽的跟目錄下,方便我們找到檔案
  2. 在Anaconda的命令列視窗中,定位到硬碟c的根目錄,輸入以下指令:
    cd c:\
  3. 用whisper將檔案轉文字,輸入指令
    whisper 001.mp3 --model base
    將上面指令中的001.mp3,改成你的檔案名稱,建議先將檔名改成英數字混合再使用此指令會比較方便,不易出錯
  4. 當你看到命令列視窗內的訊息跑個不停,或是可以看到類似下面這樣的內容時,代表已經開始跑了
    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插件,還沒有的話你可以去安裝。
  5. 當處理完成後,你會看到最後一行大概會長這樣
    (base) PS C:\>
    現在你就可以去c槽的根目錄下,看看轉換出的成果了,
    預設情況下,轉換好的檔案會放在跟原始檔案一樣的目錄下

更多參數

前面介紹的時候有提到,whisper有好幾種模型可以使用,
而上面我們用來轉換的指令是相較之下比較快,但結果比較差的,
接下來我會介紹幾種常用的指令,讓你可以一一嘗試

  1. 各種識別模型,越小的越快,占用資源也越少,反之亦然,
    只要在指令後面加上--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
  1. 英文專用模型
    上面是多語言的模型,這裡還有英文專用的模型,識別英文的效果最好,
    根據官方說明,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 目前沒有最大的英文專用模型

  1. 指定要識別的語言
    因為whisper只會偵測檔案的前30秒來判斷語言,所以這個指令對前30秒沒什麼聲音的檔案十分有用,
    使用的方法是在指令後面加入--language 語言
    例如:
# 以中文來轉換
whisper 1.mp3 --language Chinese
# 以日文來轉換
whisper 1.mp3 --language Japanese
# 以英文來轉換
whisper 1.mp3 --language English

還支援很多其他語言,這裡就不一一列出了

  1. 翻譯成英文
    在指令後面加上--task translate,可以將轉換出的結果直接轉成英文
    例如
    whistper 1.mp3 --task translate
  2. 上面的指令也可以隨意組合,,例如
    whisper 1.mp3 --language Japanese --task translate
  3. 關於whisper的說明,應為命令列很難控制它往上捲動,你可以從這裡下載我導出的使用說明→
    點我下載whistper幫助.txt

ok! 這次就介紹到此,玩得愉快,我們下篇再見!