<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音頻

          共 1820字,需瀏覽 4分鐘

           ·

          2020-12-18 16:58

          點(diǎn)擊上方"藍(lán)字"關(guān)注我們





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


          記錄? ?分享? ?成長

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

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

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

          去Github查了下,這個(gè)庫叫:pyttsx3

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

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

          pip?install?pyttsx3

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

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

          那就它了。

          2. PDF轉(zhuǎn)文本

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

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

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

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

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

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

          #?導(dǎo)出第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上做實(shí)驗(yàn)的,代碼執(zhí)行后,電腦會直接朗讀。

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

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

          當(dāng)然你還可以調(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)?

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

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

          PS.在公眾號后臺回復(fù):音頻
          可獲得本文代碼pyttsx3、pdfplumber學(xué)習(xí)筆記

          · 往期精選 ·
          1

          matplotlib字體設(shè)置看這一篇就夠了

          2

          掌握pandas中的時(shí)序數(shù)據(jù)分組運(yùn)算

          3

          Github | 有了這個(gè)Python備忘錄,代碼拿來即用




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

          data creates?value

          掃碼關(guān)注我們

          瀏覽 55
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  欧洲国产精品黄色网址 | 黄色大片免费在线观看 | 日本亚洲免费在线视频 | 欧美变态拉屎操逼网站 | 亚州中文无码字母 |