日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python语音分割_用7行Python代码构建自己的有声读物

發布時間:2023/12/10 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python语音分割_用7行Python代码构建自己的有声读物 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊關注我哦

歡迎關注?“小白玩轉Python”,發現更多 “有趣”

有聲讀物是我們可以通過音頻聽取一本書或者其他作品的內容,是現下一種很受歡迎的閱讀方式。類似的APP有:喜馬拉雅、得到和樊登讀書等。

但是如果你有一本pdf格式的書籍,那么你不需要借助上述app,也可以實現自己的有聲讀物哦~只需要跟隨小編學習如何用7行代碼實現自己的有聲讀物。

一、基本實現

Python中有大量不同用途的庫,在本文中,我們只需要用到兩個庫(pyttsx3,PyPDF2)來構建我們的有聲讀物。

可以通過pip來安裝這兩個庫,

pip install PyPDF2pip install pyttsx3

1.?讀取PDF文件

?PyPDF2是Python中專門用來處理pdf文件的庫,它允許在內存中對pdf進行操作。PyPDF2的主要功能如下所示:

·?提取文件信息,如題目、作者等·?按頁分割文件·?按頁合并文件·?裁剪頁·?將多個頁面合并為一個頁面·?加密和解密pdf文件

通過這個庫,我們將 pdf 文件一頁一頁地拆分,讀取每一頁上的文本,并將文本發送到下一步。

import PyPDF2pdfReader = PyPDF2.PdfFileReader(open('file.pdf', 'rb'))

2.?初始化揚聲器

Python的pyttsx3庫能夠實現脫機將文本轉換到語音。將上一步中識別到的文本傳遞給語音文本轉換器。

import pyttsx3speaker = pyttsx3.init()

3.?播放有聲讀物

使用 PyPDF2實現從 pdf 文件中逐頁提取文本。通過讀取文本并將其輸入到 pyttsx3的揚聲器引擎,循環遍歷每一頁,它會大聲朗讀 pdf 頁面上的文本,最后停止pyttsx3的揚聲器引擎。

for page_num in range(pdfReader.numPages): text = pdfReader.getPage(page_num).extractText() speaker.say(text) speaker.runAndWait()speaker.stop()

上述步驟的所有代碼如下所示:

import?pyttsx3,?PyPDF2pdfReader = PyPDF2.PdfFileReader(open('file.pdf', 'rb'))speaker = pyttsx3.init()for page_num in range(pdfReader.numPages): text = pdfReader.getPage(page_num).extractText() speaker.say(text) speaker.runAndWait()speaker.stop()

二、改變音色、語速和音量

我們可以調整有聲讀物的速度和音量,當然也可以改變它的音色(例如男聲改為女聲)。

1.?速度

初始化 pyttsx3庫,并使用 getProperty (“ rate”)獲得當前的通話速率。使用 setProperty (‘ rate’ ,x)更改說話的頻率,其中 x = 100表示正常速度。

# Initialize the speakerspeaker = pyttsx3.init()rate = speaker.getProperty('rate') print(rate)speaker.setProperty('rate', 125)

2.?音色

初始化 pyttsx3庫,并使用 getProperty (“ voice”)獲取說話者的當前性別。使用 setProperty (“ voice” ,voice [ x ])改變說話者的性別。這里 x = 0表示男性,x = 1表示女性。

voices = speaker.getProperty('voices')print(voices)#changing index, changes voices, 0 for malespeaker.setProperty('voice', voices[0].id)#changing index, changes voices, 1 for femalespeaker.setProperty('voice', voices[1].id)

3.?音量

初始化 pyttsx3庫,并使用 getProperty (“ volume”)獲取當前音量。使用 setProperty (‘ volume’ ,x)更改揚聲器的音量。音量范圍是從0到1,其中0是靜音,1是最大音量。

volume = engine.getProperty('volume')print(volume)engine.setProperty('volume',1.0)

4.將聲音保存到音頻文件:

使用下面的方法就可以將音頻輸出(audiobook)保存到 mp3文件中。

engine.save_to_file(text, 'audio.mp3')engine.runAndWait()

三、結論:

在本文中,我們介紹了一個基本有聲讀物的實現,它可以使用幾行 python 代碼讀取整個 pdf 文檔并朗讀出來。為了獲得更好的音頻效果,還可以改變音色、調整速率和音量。

·? END? ·

HAPPY?LIFE

總結

以上是生活随笔為你收集整理的python语音分割_用7行Python代码构建自己的有声读物的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。