前陣子完成了一個週期的 Garmin 教練計畫,也已經開始迎接今年的跑季。
今年的跑季並沒有報名什麼計時/目標破pb的賽事。一方面是因為台北馬的報名踊躍狀況已經造成了我有些反感的程度;另一方面是我想回歸「把身體練到可以進步/破pb;而不是為了破pb 去訓練」的初心。
可能也因為心態的改變,對於訓練,有更多的寬容和試驗。
趁還有印象的時候,上來寫寫心得:
在這個時代, blogging 就像是深呼吸一樣。
前陣子完成了一個週期的 Garmin 教練計畫,也已經開始迎接今年的跑季。
今年的跑季並沒有報名什麼計時/目標破pb的賽事。一方面是因為台北馬的報名踊躍狀況已經造成了我有些反感的程度;另一方面是我想回歸「把身體練到可以進步/破pb;而不是為了破pb 去訓練」的初心。
可能也因為心態的改變,對於訓練,有更多的寬容和試驗。
趁還有印象的時候,上來寫寫心得:
這兩天有需求,再上 colab 用 WhisperX 把音檔轉成逐字稿。發現之前寫好的code 又跑出錯誤訊息了。
解決問題的路上,發現新版已經跑得起來,不用像之前還要移除 Pytorch、安裝特定相容的版本。但版本依賴的狀況還是蠻混亂的。
新的版本還是帶來新的問題:
我整理了一下,再把新的code 放上來,但使用上要小心。再幾個版本後可能又不能用了。
目前日期 (2025/6/19)所安裝的版本為:
whisperx 3.3.4
ctranslate2 4.4.0
pyannote-audio 3.3.2
torch 2.6.0+cu124
torchaudio 2.6.0+cu124
libcudnn8 8.9.7.29-1+cuda12.2
libcudnn8-dev 8.9.7.29-1+cuda12.2
以下是目前的code 跟修改的地方。如果要知道更多 code 的作用,可以回去參考一開始發佈的版本,裡頭有說明。
前幾天在聽podcast時聽到一段不錯的內容,不過因為我用的不是 Apple Podcast, 沒有逐字稿,索性把之前在 colab 上跑的 fast whisper 拿出來用。但因為 podcast 是對談,想分不同的講者,於是找了一下有沒有 solution。發現大多是用 pyannote 去進行說話人分割 (diarization),然後再 對齊 (align)。 目前 whisperX 已經有支援。
whisperX 之前有「停更」過一段,今年又恢復更新。於是找了些資料,把 colab 的版本架了起來。後面又發現中文的斷句和標點有些麻煩, GPT 介紹的幾個作法不是不好用,就是有幻覺。最後還是選擇直接叫 GPT 來修飾文字,畢竟本來就是語言模型。
過程中發現 ChatGPT 很有耐心地關心我的需求和碰到的錯誤,真的像是要一步步地帶著我完成所有的程式碼。雖然產出的東西偶爾會有錯,我也會自己手殘去修改一些我要的邏輯。不過如果回饋給他,他會記住,並且在後續的版本持續完善整個程式碼。
這些 code 完全由我自己寫的已經 <50% 了, vibe coding 真是驚人。