<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何利用Python將PDF文檔轉(zhuǎn)為MP3音頻

          共 1780字,需瀏覽 4分鐘

           ·

          2020-12-23 09:08

          點擊上方"藍字"關注我們





          Python大數(shù)據(jù)分析


          記錄? ?分享? ?成長

          1. 轉(zhuǎn)語音工具

          微信讀書里的電子書有配套的自動音頻,而且聲音優(yōu)化的不錯,比傳統(tǒng)的機械朗讀聽起來舒服很多。

          記得之前看到過Python有一個工具包,可以將文字轉(zhuǎn)換為語音,支持英文和中文,而且能調(diào)節(jié)語速語調(diào)、導出mp3等。

          去Github查了下,這個庫叫:pyttsx3

          簡單來說,pyttsx3可以文字轉(zhuǎn)語音,且是離線工作的,這一點就很實用。

          安裝比較容易,直接在命令行用pip安裝:

          pip?install?pyttsx3

          我準備動手試試,將PDF書籍轉(zhuǎn)成音頻。

          用什么書呢?最近在群里看到有人發(fā)張磊的新作《價值》電子書,這本今年剛出的暢銷書盜版猖獗,我之前在微信讀書里看過,對作者長期主義的觀點深信不疑。

          那就它了。

          2. PDF轉(zhuǎn)文本

          既然是把PDF轉(zhuǎn)化成語音,肯定是需要先讀取PDF中的文字,再利用pyttsx3轉(zhuǎn)語音。

          Python中操作PDF的工具庫主要是PyPDF2,但發(fā)現(xiàn)編碼實在有點繁瑣,我就換了另一個庫pdfplumber,與PyPDF2語法類似,用起來還算流暢。

          pdfplumber可以處理PDF包括文本、表格、格式在內(nèi)的各種信息,小而強大。

          #?讀取PDF文檔
          pdf?=?pdfplumber.open("價值.pdf")

          #?獲取頁數(shù)
          print("總頁數(shù):",len(pdf.pages))
          print("-----------------------------------------")

          #?讀取第4頁
          first_page?=?pdf.pages[3]
          print("本頁:",first_page.page_number+1)
          print("-----------------------------------------")

          #?導出第4頁文本
          text?=?first_page.extract_text()
          print(text)

          輸出:

          上面的代碼做了幾件事情:「讀取PDF文檔、讀取頁數(shù)、讀取第4頁、輸出第4頁文本」

          3. 文本轉(zhuǎn)語音

          接下來開始將第4頁的文本轉(zhuǎn)化為音頻。

          import?pyttsx3

          #?初始化來獲取語音引擎
          engine?=?pyttsx3.init()

          #?去掉文本中的換行符
          text?=?text.replace('\n','')

          #?朗讀文本
          engine.say(text)
          engine.runAndWait()

          上面代碼使用pyttsx3將文本轉(zhuǎn)化為音頻,然后朗讀出來。我是在jupyter notebook上做實驗的,代碼執(zhí)行后,電腦會直接朗讀。

          也可以將生成的音頻保存為mp3格式。

          #?保存音頻到本地,格式為mp3
          engine.save_to_file(text,?'test.mp3')
          engine.runAndWait()

          當然你還可以調(diào)整聲音的類型、速度、大小。

          #?調(diào)整人聲類型
          voices?=?engine.getProperty('voices')??
          engine.setProperty('voice',?voices[0].id)

          #?調(diào)整語速,范圍一般在0~500之間
          rate?=?engine.getProperty('rate')?????????????????????????
          engine.setProperty('rate',?200)?????

          #?調(diào)整聲量,范圍在0~1之間
          volume?=?engine.getProperty('volume')?????????????????????????
          engine.setProperty('volume',0.8)?

          最后聽下生成的語音是什么樣的?

          整體比較流暢,雖然不如微信讀書語音聽著那般舒服,但做做小工具還是不錯的。

          如何獲取本文代碼pyttsx3、pdfplumber學習筆記
          1、掃下方二維碼關注公眾號:Python大數(shù)據(jù)分析
          2、在【Python大數(shù)據(jù)分析】公眾號后臺回復:音頻


          Python大數(shù)據(jù)分析

          data creates?value

          掃碼關注我們

          瀏覽 36
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99国产精品麻豆 | 亚洲在线观看高清无码 | 亚洲中文字幕在线免费观看视频 | 欧美日韩三级片在线观看 | 五月天成人导航 |