不會寫程式,也可以用 AI 做逐字稿!

kuoyu Tai
10 min readSep 30, 2019

--

想必許多工作上需要做逐字稿的朋友,其實距離寫程式都非常地遙遠吧!之前我在工作上遇到了幾次需要做長達3小時以上的會議逐字稿,因為懶得聽打所以想要用聰明的辦法來解決。市面上有許多類似的服務,像是 AILab出的「雅婷逐字稿」。但我的音訊長度太長,加上其他的考量。最後我選擇用 #Google 推出的 Speech-To-Text API 服務!

看到 API 先不要逃走啊!這個概念就比較像是把你的電腦,直接連線到 Google 的雲端服務。然後你可以把(錄音的)音訊檔案傳給 Google,等到 Google 用他訓練好強大的 AI 幫你把語音辨識成文字以後,再回傳給你!概念就是這麼簡單!整個作業流程,我自己第一次做花了很多時間,大部分都在debug!所以我決定整理這篇,讓大家可以少花時間走冤枉路!從準備開始連線到最後翻完逐字稿的耗時比例:

設定與前置作業:90%

實際操作時間:10%

下面我們就要開始作業啦!

Google 有推出一項 Google Cloud Platform 的服務,裡面就是可以讓你去嘗試使用各種 Google 的雲端服務,包括去訓練一個自己的 AI modle,去玩他們訓練好的各種服務,Speech-To-Text 就是其中一項。所以,一開始你要先去 Google Cloud Platform 申請開通服務。

然後在上方選單中,找到「AI 與機器學習」,裡面就有 Speech-To-Text

一開始你需要建立一個專案,然後其實這項服務是需要收費的。只是現在在推廣活動,所以每個帳號都可以拿到第一年300美金(大概9千多塊錢台幣)的免費額度!非常夠用!

然後這個服務提供了許多彈性,如果你是個工程師人員。你可用自己喜歡的程式語言來使用這個服務,甚至把這個 API 跟其他的 code 結合在一起!只是因為我們不會寫程式啊,所以我們就選擇最簡單的工具,Google 開發了一套SDK讓我們安裝。安裝完以後,就可以用無腦複製貼上的方式,來完成所有的作業唷!(其實google的說明文件已經寫得很清楚,所以幾乎只要照著做就可以完成了!只是有些眉眉角角是沒有提到的!)

*這裡面有提到「將私密金鑰下載為 JSON」,這個可以想成,現在你要直接把電腦連上 google 的雲端電腦了。他怎麼確定你是誰,要不要給你連線,你是不是奇怪的人呢?所以你就需要透過上面的網頁操作,把這個金鑰(其實就是個檔案,你沒有感覺ㄉ )下載到你的電腦裡面。

當你把專案都開好,金鑰也都下載到電腦以後。下一步就是要在你的電腦裡面安裝 gCloud ,但因為他是個SDK,他不是一個軟體,所以這個安裝跟過往安裝軟體在電腦裡面不太一樣!

我的是 MAC 電腦,所以以下就只提到如何在 MAC 的作業系統上操作啦!(我想很多要打逐字稿的文青,應該也都是用 MAC 的電腦啊)

第一步,先打開你的「終端機」,如果這輩子還沒開過,找不到在哪裡的話。打開「應用程式」裡面有個「工具程式」,就可以找到囉!

第二步,在終端機裡面輸入以下的指令,但秉持著我們不要打code的精神,請你使用複製貼上XD(如果中間有停下來了,看看終端機是不是叫你登入你的google帳號密碼)

curl https://sdk.cloud.google.com

這個步驟就是叫你的電腦去連上面的網址,來幫你下載安裝 SDK

第三步,接著要準備要拿那個鑰匙去敲敲 google 的大門,讓你的電腦可以跟google 連線了,所以接著在終端機複製貼上以下的指令。記得要把「金鑰的檔案名稱」換成剛剛你下載到電腦裡面那個金鑰檔案的檔名唷!

gcloud auth activate-service-account --key-file=金鑰的檔案名稱.json

我自己會建議開一個word檔案,先把上面的指令貼到word,再到word裡面把那個中文字替換成你的檔名。然後再把整個完整的指令貼到終端機裡面。

第四步,一開始我們是在網頁的登入google帳號的主控台設定專案。現在你也要讓你的終端機可以登入你的帳號,所以複製貼下面的指令,讓終端機也可以自動登入你的帳號。(如果停下來了,看看終端機是不是叫你登入你的google 帳號密碼)

gcloud auth application-default login

第五步,打開你家電腦跟google的大門!複製貼上就好,不要多想XD

gcloud auth application-default print-access-token

好了!到這邊,前面的設定步驟已經全部結束!接下來要真的開始傳檔案給google,然後開始幫你做 AI 辨識的工作囉!!!

第六步,測試連線。貼上以下的指令,來試試看是不是成功!這個是叫 google AI 去幫你辨識一段範例的語音檔案,所以請在終端機貼上

gcloud ml speech recognize 'gs://cloud-samples-tests/speech/brooklyn.flac' \
--language-code='en-US'

然後,你應該要看到你的終端機跑出下面的文字。如果有看到的話,表示你已經成功了 80%!!!!!

看到這邊是不是覺得自己可以成功轉職工程師了!!!!(大誤)

接著,我們要開始把自己的音訊辨識出來了!

第七步,首先將你的錄音檔。轉成flac格式,並且在轉檔的時候調整成Mono的單聲道格式!(我自己當初在嘗試的時候,一開始不斷出錯!找了好久好久才找到原來目前只有支援單聲道的辨識,所以務必在轉檔的時候要選這個格式)

至於 MAC 上的轉檔軟體,我之前是用「Switch」這個軟體。但最近發現如果要轉mono格式的話居然要付費!所以我現在是用MediaHuman Audio Converter 這個軟體。

第八步,轉完檔案以後。你需要把這個檔案,上傳到一個雲端空間。建議使用你剛剛在 Google Cloud Platform 專案內的儲存空間,比較保險。

所以像我就是在這個專案底下,開了一個叫做「0625」的「值區」。然後我要把我的音訊檔案上傳到這邊。

第九步,上傳完以後,有一個很重要的動作,就是你要把這個檔案設定成公開的。當初我也找了好久才發現怎麼設定!首先,你看到你上傳檔案的最後面有三個點點(上面的畫面被我截圖剪掉了),點下去以後第一個選項「編輯權限」,應該會看到下面的畫面。然後跟我一樣,先「新增項目」然後把第一個選成「使用者」,名稱要打「allUsers」。之後按下儲存,你就會發現這個檔案的權限變成公開的囉!

第十步,上傳檔案。現在我們又要回到終端機囉!首先打開你的word檔案,然後貼下這段指令。接著回到剛剛上傳的值區,點一下你上傳的檔案,你應該會看到一些詳細訊息。然後你會看到一個URL的欄位,按一下後面的複製。把剛剛那個上傳的音訊檔案的網址替換掉指令裡面的「這裡是音訊的網址」。之後再把整個完整的指令貼到終端機裡面!

gcloud ml speech recognize-long-running \
‘這邊是音訊的網址’ \
— language-code=’zh-TW’ — async

*特別注意,因為我要辨識的是繁體中文。所以上面有「zh-TW」,如果你要辨識的是其他的語音,那你需要再把這邊替換掉。像是如果要辨識英文的話,就應該要用「en-us」之類的…

**特別注意2,如果你剛剛在網頁直接複製網址貼上的話。你會發現一直出現錯誤,那是因為你的網址前後被多加了空格,所以要記得確定下面兩個單引號要緊接著網址喔!

 ‘這邊是音訊的網址’

如果成功的話,終端機上會看到他回傳了一串數字給你。像是這樣下圖,這個name後面的數字就是你這個工作的代號!最後一步,我們需要問google這個工作做完了沒,就需要這串數字!

“name”: “1231234534875612347”

好!到這邊你已經完成90%了!給自己一個掌聲!

第十一步,問一下到底做完了沒!所以你可以直接在終端機貼上以下的指令

gcloud ml speech operations wait 這裡就是name後面那一串數字

接著他就會一直去問google到底做完沒,做完的話就會回傳給你囉!(所以現在你就可以去做其他事情,然後等結果啦!)

第十二步,整理!因為我們辨識的是繁體中文,所以他只會用UTF-8回傳給我們,也就是你應該會看到類似下圖的鬼東西XD。裡面真正有用的就是「”transcript”」後面那一串,所以我自己的做法是,把所有他回傳的結果貼到word上,然後刪掉前後不要的東西。只留下那些「”\u7167\u9867\u6bd4\u8f03\u597d\u7528"」

 "results": [{"alternatives": [{"confidence": 0.885302,"transcript": "\u7167\u9867\u6bd4\u8f03\u597d\u7528"}]},

第十三步,轉譯!我們是人啊!我們看的是文字,不是編譯碼!所以要把這些UTF-8的代碼轉換回中文字!這裡有個很方便的網站 可以參考使用!像是我把上面的東西貼進去轉譯以後,就會變成這樣!

好啦!到這裡!你應該就可以花點時間,把錄音檔好好的轉成逐字稿了!恭喜你啦!!!

後記心得:

  1. 其實辨識的品質沒有很好,我覺得跟檔案音訊的品質很有關係。開會的時候大家講話很快,中英文夾雜。很多時候連我們都聽不懂了,要讓他翻譯出來的東西100%可以直接用幾乎是不可能。但多少可以作為一個整理會議記錄的依據。
  2. 很可惜,還沒有開發到標點符號的功能。每一個斷句都是一個段代碼,所以在整理上會稍微花時間。
  3. 我辨識了六個小時的會議錄音後,目前才花了四百塊錢左右。划不划算見仁見智,反正現在都還是免費XD“

--

--

No responses yet