返回部落格列表

語音文字互轉實戰

發佈於 2025年10月14日約 2 分鐘閱讀4,184 views
語音文字互轉實戰
文章朗讀
繁體中文

語音文字互轉實戰

00:0000:00

<span className="text-accent">前情提要</span>

之前想驗證聽日文廣播時,主播們到底說了些什麼,於是浮出了,不如把他們說的話錄下來,這樣可以反覆聽,然後如果可以再把語音轉出文字交叉比對,這樣對日文聽力的練習也有進步,因此為契機,火速召喚出 Claude code,跟他說需求,並且是要在 mac apple silicon系統下運行,初期一直抓不到系統聲音,幫他debug了一下,大概一個多小時搞定。

UI如下:

2025-10-14-zh-TW

雖然有點土砲,不過只是個人單機使用,所以就沒差了,重點目標就是要錄下系統發出的聲音。雖然app store上也有軟體可以使用,不過大部分都要付費,而且我每個月都已經花200美金訂閱Claude code了,不好好的善用,怎麼可以了,你說對吧? XDD

可以錄音了之後,就是開始來研究怎麼轉文字,當然最無腦的就是直接串 API,聲音檔丟過去,叫他丟文字回來這雖然不錯,不過如果可以,還是本地端自己架 AI model,聲音進,文字出這樣的效果最好,一來也可以順便學習怎麼本地端如何把語音轉文字。

問了一下藍姬,發現倒也不難,只要把openai的whisper 模型抓下來,然後錄音格式轉檔之後餵給本地端模型,就可以得出十分不錯的結果。

結果如下:

<Gallery images={[ { src: "https://kazami.me/storage/posts/2025-10-14/zh-tw/1760426199326-3362f3b5-3701-476a-b4d6-35231f25538f.png", alt: "2025-10-14-zh-TW-gallery-1" }, { src: "https://kazami.me/storage/posts/2025-10-14/zh-tw/1760426200251-98a50058-000b-447f-b1a7-1578ce4659ea.png", alt: "2025-10-14-zh-TW-gallery-2" } ]} />

自己寫了個腳本,本錄音檔案自動轉檔之後餵給model,叫model輸出到指定路徑。 輸出可以有三種檔案格式,純文字,src跟vtt。

<Gallery images={[ { src: "https://kazami.me/storage/posts/2025-10-14/zh-tw/1760426394570-be30cafe-1426-49a9-9011-42baf61eaac5.png", alt: "2025-10-14-zh-TW-gallery-1" }, { src: "https://kazami.me/storage/posts/2025-10-14/zh-tw/1760426395299-c36e6792-6437-4fbf-b540-4bb18cf3170c.png", alt: "2025-10-14-zh-TW-gallery-2" }, { src: "https://kazami.me/storage/posts/2025-10-14/zh-tw/1760426395873-ef1808cd-c7ad-4a86-b5df-c5cc05bc97f9.png", alt: "2025-10-14-zh-TW-gallery-3" } ]} />

之前hisohiso開發的語音post,就是用到了vtt檔案格式,實現了語音訊息文字跟聲音同步出來的效果。

其實這個東西兩個月前就做出來了,前幾天我才在想,那反過來呢?文字怎麼轉語音?後來去研究了一下,當然最無腦的還是使用AI api,但是還是本地端自己來最對味啊!!!而且,對了應對我這個blog有支援三國語系,所以聲音檔當然也要讓他輸出 繁體中文 英文 跟日文的聲音檔!!

因為這個靈機一動的想法,

<span className="text-[1.35rem] font-semibold leading-[1.65]"><span className="text-sky-500">本blog從這篇 post開始支援聲音閱讀模式</span></span>

!我打好的文章他會自動幫我生成三語言聲音檔,請各位觀眾選擇自己的喜好,自行選擇吧。

透過本次的研究,我掌握到了語音轉文字 文字轉語音的技術。

<span className="text-rose-500">這些東西就像是一個點一個點各自散落在廣闊的空間中,但我相信總有一天這些點總就會連成許多條線甚至直接成為一個面。繼續加油。</span>

留言

留言載入中...