欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用gTTS實現文本轉語音功能

 更新時間:2024年03月24日 08:44:42   作者:代碼刺客  
gTTS(Google?Text-to-Speech),?這個庫是Google的Text-to-Speech?API的一個接口,提供了一種簡單的方式來生成聽起來自然的語言,下面我們就來看看如何使用gTTS實現文本轉語音功能吧

首先,安裝python第三方庫: pip install gTTS

gTTS(Google Text-to-Speech), 這個庫是Google的Text-to-Speech API的一個接口,提供了一種簡單的方式來生成聽起來自然的語言,gTTS支持多種語言和方言,使得它能夠廣泛用于多語言應用程序中。

# 導入gTTS庫, 用于文本到語音的轉換
from gtts import gTTS
import os


# 定義文本到語音轉換的函數
def text_to_speech(text, lang='zh-cn'): # 默認設置為中文語言
    # 使用gTTS創(chuàng)建語音對象,需要傳入文本和語言代碼
    tts = gTTS(text=text, lang=lang)
    # 定義保存語音文件的文件名,這里保存在當前目錄下
    filename = 'speech.mp3'
    # 保存語音文件
    tts.save(filename)
    # 返回保存的文件名,以便后續(xù)使用
    return filename


# 示例文本,這里是一段中文文本
text = "大家好,我是一個程序員"
# 調用text_to_speech函數,將文本轉換為語音,并指定使用中文
filename = text_to_speech(text, 'zh-cn')
# 打印出保存的文件路徑,確認文件已經生成
print(f"Generated speech saved to {filename}")
os.system("start speech.mp3")

將所需要轉換的所有文本寫入text.txt文件中,并放在當前文件目錄下,使用gTTS轉換成語音:

# 導入gTTS庫
from gtts import gTTS
import os

# 要轉換的文本

with open("text.txt", "r") as f:
    text = f.read()
# 創(chuàng)建gTTS對象,指定文本和語言
tts = gTTS(text, lang='zh')

# 保存為音頻文件
tts.save("output.mp3")

# 播放音頻文件
os.system("start output.mp3")

遇到的一些問題:

gtts.tts.gTTSError: Failed to connect. Probable cause: Unknown

報錯解釋:

gtts.tts.gTTSError: Failed to connect. Probable cause: Unknown 這個錯誤來自 gTTS 庫,這通常表示在嘗試連接到一個服務(例如文本轉語音服務)時失敗了。具體原因未知,可能是網絡問題、服務不可用、錯誤的服務地址或其他未知原因。

解決方法:

  • 檢查網絡連接:確保你的設備可以正常訪問互聯網。
  • 服務狀態(tài):檢查相關的在線文本轉語音服務是否正常運行,比如 Google 的文本轉語音服務。
  • 更新庫:確保你的 gTTS 庫是最新版本,可以通過pip進行更新。
  • 代理設置:如果你在使用代理,確保代理設置正確。
  • 服務地址:檢查 gTTS 庫是否使用了正確的服務地址。

分析一下最有可能是網絡問題導致的,可以多試幾次。

方法補充

除了上文的方法,小編還為大家整理了其他Python實現文本轉語音功能的模塊與方法,希望對大家有所幫助

1.pyttsx3模塊

參考文檔:https://pyttsx3.readthedocs.io/en/latest/

優(yōu)勢:

1、完全脫機文本到語音轉換,可以在系統中安裝的不同語音中進行選擇;

2、控制語音的速度/速率,調整音量;

3、將語音音頻另存為文件;

4、簡單、強大、直觀的API。

使用前需要先安裝:pip3 install pyttsx3

基本使用

import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()

直接朗讀

import pyttsx3
pyttsx3.speak("I will speak this text")

更改語音、速率和音量

import pyttsx3
engine = pyttsx3.init() # object creation

""" RATE"""
rate = engine.getProperty('rate')   # getting details of current speaking rate
print (rate)                        #printing current voice rate
engine.setProperty('rate', 125)     # setting up new voice rate


"""VOLUME"""
volume = engine.getProperty('volume')   #getting to know current volume level (min=0 and max=1)
print (volume)                          #printing current volume level
engine.setProperty('volume',1.0)    # setting up volume level  between 0 and 1

"""VOICE"""
voices = engine.getProperty('voices')       #getting details of current voice
#engine.setProperty('voice', voices[0].id)  #changing index, changes voices. o for male
engine.setProperty('voice', voices[1].id)   #changing index, changes voices. 1 for female

engine.say("Hello World!")
engine.say('My current speaking rate is ' + str(rate))
engine.runAndWait()
engine.stop()


"""Saving Voice to a file"""
# On linux make sure that 'espeak' and 'ffmpeg' are installed
engine.save_to_file('Hello World', 'test.mp3')
engine.runAndWait()

2.baidu-aip

通過在百度開放開發(fā)者平臺申請語音合成賬號來生成音頻文件。樣例如下:

# 下載baidu-aip模塊并導入
from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) #配置百度語音客戶端res=client.synthesis(text,lang,1,options={
spd:語速,取值0-9,默認為5中語速,
pit:音調,取值0-9,默認為5中語調,
vol:音量,取值0-15,默認為5中音量,
per:發(fā)音人選擇, 0為女聲,1為男聲, 3為情感合成-度逍遙,4為情感合成-度丫丫,默認為普通女})  
#配置個性化語音
with open('XX.mp3','wb') as f:  #打開文件流
    f.write(res)    #寫入文件

3. pywin32

操作window dll的庫,它可以實現很多功能,十分強大。不過經測試,對中文支持不太友好。

需要先安裝:pip install pywin32

# -*- encoding: utf-8 -*-
from win32com import client

# 配置客戶端接口
speaker = client.Dispatch("SAPI.SpVoice")

speaker.Speak("hello")

4. speech

也是一款強大的語音模塊,依賴于pywin32,而且它最適合做語音啟動程序了。

下載并導入:pip install speech

import speech
# 生成音頻:
speech.say('hello')

到此這篇關于python使用gTTS實現文本轉語音功能的文章就介紹到這了,更多相關python gTTS文本轉語音內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Pytest框架之fixture詳解(一)

    Pytest框架之fixture詳解(一)

    本文詳細講解了Pytest框架之fixture,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python實現迅速獲取文件的路徑

    Python實現迅速獲取文件的路徑

    這篇文章主要為大家詳細介紹了如何使用Python實現迅速獲取文件的路徑,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • Python實現簡單圖像縮放與旋轉

    Python實現簡單圖像縮放與旋轉

    大家好,本篇文章主要講的是Python實現簡單圖像縮放與旋轉,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • Python爬取股票交易數據并可視化展示

    Python爬取股票交易數據并可視化展示

    拋開炒股技術不說,?那么多股票數據是不是非常難找,找到之后是不是看著密密麻麻的數據是不是頭都大了?今天帶大家爬取雪球平臺的股票數據并將其可視化
    2021-12-12
  • 使用Anaconda創(chuàng)建Python指定版本的虛擬環(huán)境的教程詳解

    使用Anaconda創(chuàng)建Python指定版本的虛擬環(huán)境的教程詳解

    由于工作的需要和學習的需要,需要創(chuàng)建不同Python版本的虛擬環(huán)境,所以這篇文章主要為大家詳細介紹了如何使用Anaconda創(chuàng)建Python指定版本的虛擬環(huán)境,需要的可以參考下
    2024-03-03
  • numpy的squeeze函數使用方法

    numpy的squeeze函數使用方法

    這篇文章主要介紹了numpy的squeeze函數使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 解決import tensorflow導致jupyter內核死亡的問題

    解決import tensorflow導致jupyter內核死亡的問題

    這篇文章主要介紹了解決import tensorflow導致jupyter內核死亡的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • python基于OpenCV模塊實現視頻流數據切割為圖像幀數據(流程分析)

    python基于OpenCV模塊實現視頻流數據切割為圖像幀數據(流程分析)

    這篇文章主要介紹了python基于OpenCV模塊實現視頻流數據切割為圖像幀數據,這里今天主要是實踐一下視頻流數據的預處理工作,需要的朋友可以參考下
    2022-05-05
  • PyQt 異步任務多線程的幾種方案示例詳解

    PyQt 異步任務多線程的幾種方案示例詳解

    文章總結了多線程異步編程的不同方式,包括QThread、QThreadPool和concurrent.futures,分別適用于不同場景,本文結合實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-01-01
  • Python運算符的應用超全面詳細教程

    Python運算符的應用超全面詳細教程

    Python運算符是為了實現數值或字符運算的特殊符號。Python運算符可以分為算術運算符、邏輯運算符、賦值運算符、成員運算符、身份運算符、比較運算符、三目運算符等。接下來,我們就開始來學習這一堆符號吧
    2022-07-07

最新評論