這是 何春林Charlie 第 4 篇文章
在上一篇文章裡提到,想 「看完」 一本書,尤其是陌生內容,相比於 「朗讀」,「聽讀」 對於初學者來說,更加友好,適合長期使用,因為它是一種簡單有效且容易的方法。但是,如果只有電子書文字版,沒有 「有聲版」,知道了這個好辦法也是白搭。所以,這篇文章就是來探討:
怎樣搞到電子書或者文獻的有聲版?
有聲書能買是最好的,因為品質有保證。如果買不到,或者像我一樣在這方面預算少(畢竟養著兩娃),也還是有別的辦法的。比較容易想到的一個方法就時去網上找免費的下載,有的時候還真的能找到。這種方法很簡單,大家應該都會,就直接搜索:書名 + audiobook(在中文網頁裡的話,「有聲書」),Y0tu6e上就有不少。
有段時間天天騎自行車上下班,在路上來回要花掉的時間大約有1.5小時,在路上會順便聽有聲書。網上找來的有聲書,很快就聽完了,而且有些書還不容易在網上找到,一路上光騎車怪無聊的。
怎麼辦呢?那段時間正好在看笑來老師的新書《自學是門手藝》學 Python 編程[1]。發現 Python 真的非常有用,他還經常告訴我們,要學會融會貫通的話,就是要經常問自己這樣一個問題:
這個技能(道理、例子)還可運用在什麼地方?
當時學會了一點 Python 編程,可能也有點兒 「手裡拿了個錘子,看什麼都像釘子」,或者說的文雅一點就是:想學以致用。
於是,經過一番折騰,就自己寫了一個 Python 腳本,然後先把電子書弄成了純文字版放在同一個文件夾裡,再運行下面這些代碼,就可以生成 mp3 音頻文件!
import re, time, os
from gtts import gTTS # 這是Google文本轉聲音的Python gTTS模塊,要先安裝好
def txt2mp3(f):
fin = open(f, 'r')
fout = open(f.split('.')[0]+'.mp3', 'wb')
pttn = r'[,.\w]+' # 這是一個正則表達,只搜索 」,「, "." 和英文單詞
s = re.findall(pttn, fin.read())
lines = ' '.join(s)
for i in range(0, len(lines), 25000):
chunk = lines[i : i+25000]
tts = gTTS(chunk,lang='en') # 默認英語是en,中文的話換成cn
tts.write_to_fp(fout)
time.sleep(1)
fin.close()
fout.close()
def main():
files = [x for x in os.listdir() if x.lower().endswith('.txt')]
for f in files:
txt2mp3(f)
if __name__ == '__main__':
main()有興趣的同學可以去https://pypi.org/project/gTTS/ 研究一下 Google 文本轉聲音 gTTS 模塊。
這樣做出來的音頻,就是用 Google Translate 發出的聲音一樣。音色非常有特點,有些視頻的配音就用了這種音頻。音質比較一般,好處是可以保存 mp3 文件。
如果學過一點編程的話,可以嘗試一下上面這些代碼。
那還有沒有別的方法呢?答案是:有的。
![]()
雖然也是機器合成的聲音,但是音質可能甩開 gTTS 模塊十條街不止。有一個軟體你可能已經每天已經在用,只是沒有留意過它的一個功能。這個軟體就是微軟的最新版瀏覽器:
Microsoft Edge
怎麼用呢?很簡單,用 Microsoft Edge 打開一本電子書,可以是PDF文檔,也可以是網頁,也可以是epub文件(裝個叫 EPUBReader 的 extension 就可以了)。然後,按下圖裡數字順序點相應的位置,找到 「Read Aloud「,中文版的Microsoft Edge 可能是 」朗讀「,按下就可以了。
![]()
最好玩兒的是,你可以選不同的口音的英語,比如,你不但可以選美式或者英式英語,你還可以選中國大陸口音的英語,你可以聽聽看像不像中式英語口音?按下圖裡數字順序點相應的位置就可以找到。
![]()
這個朗讀功能,是有一次用 Microsoft Edge 讀英文文獻時,無意間發現的,真是個非常意外的驚喜,用上之後就完全停不下來。你可以用來讀網頁上的文字,也可以讀硬碟裡的電子書或者文獻的 pdf 版。
總結一下,有聲書如果條件允許,最好是直接買。如果不行的話,可以嘗試:
以上 3 種方式,大家各取所需吧。這個公眾號比較新,沒有留言功能,歡迎你微信聯繫我分享你 「聽讀」 的感受,或者告訴我你對我寫的文章有什麼意見或建議。
今天就先這樣了吧,算是填上了上篇文章挖的坑。改天再聊。
參考文獻
[1] 《自學是門手藝》網上免費開源版 https://github.com/selfteaching/the-craft-of-selfteaching
![]()
關於我:
何春林,江西人,現住美國加州,是個掙扎著做長期主義者的美國上班族,也是兩個淘氣可愛小男孩的父親(分別3歲和10個月大)。
2014年取得美國博士學位,是萬維鋼老師在美國科羅拉多大學的校友,他在物理系,我在化學系。和笑來老師一樣,萬同學也是我的硬核榜樣。
博士畢業後,一直從事新材料研發,行業包括3D列印、牙科、先進晶片封裝。發表美國專利 7 項,已授權 6 項。現供職於一家擁有 144 年歷史的世界 500 強企業。
價值觀:讀書、健身、投資、幫朋友、陪家人。
在學習公開寫作,請多多指教!
公眾號:何需多言
微信:Chunlin_He