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

使用Python實現文字轉語音并生成wav文件的例子

 更新時間:2019年08月08日 09:33:14   作者:jgw2008  
今天小編就為大家分享一篇使用Python實現文字轉語音并生成wav文件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

目前手邊的一些工作,需要實現聲音播放功能,而且僅支持wav聲音格式。

現在,一些網站上支持文字轉語音功能,但是生成的都是MP3文件,這樣還需要額外的軟件來轉成wav文件,十分麻煩。

后來,研究Python,發(fā)現Python可以很容易的實現上面的功能。

步驟如下,

1。使用百度語音實現TTS(Text To Speech),生成mp3文件;

2。 使用pydub和ffmpeg實現mp3轉wav格式。

下面,先上簡單的示例代碼,然后對代碼作簡單的分析。

#!/usr/bin/python -tt
# -*- coding: utf-8 -*-
from aip import AipSpeech
from pydub import AudioSegment
 
# Step 1, Using baidu AI to generate mp3 file from text
#input your APP_ID/API_KEY/SECRET_KEY
APP_ID = 'Your_APP_ID' 
API_KEY = 'Your_API_KEY' 
SECRET_KEY = 'Your_Secret_Key' 
 
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) 
result = client.synthesis('你好百度, good morning', 'zh', 1, { 'vol': 5,'per':4 }) 
 
if not isinstance(result, dict): 
 with open('test.mp3', 'wb') as f: 
  f.write(result)
 
# Step 2, convert the mp3 file to wav file
sound = AudioSegment.from_mp3('test.mp3')
sound.export("test.wav", format="wav")

運行上面的python代碼,就會生成test.mp3和test.wav,使用命令“aplay test.wav”,可以測試播放聲音。

下面對代碼做解析,

1。在運行之前,需要安裝下面的庫,

1.1 安裝百度AI模塊,安裝命令“pip install baidu-aip”

1.2 安裝pydub,pydub是python的一個音頻處理庫處理,能對wav格式的音頻直接進行處理,安裝命令“pip install pydub”

1.3 安裝ffmpeg,可以實現對mp3格式的處理,安裝命令“sudo apt-get install ffmpeg”

2。需要注冊百度的應用開發(fā)者賬戶,

用戶可以自行去下面的網站去注冊語音合成-百度AI​ai.baidu.com,注冊百度云之后,去控制臺創(chuàng)建應用,過程比較簡單。

大家可以對上述代碼進行進一步的優(yōu)化,以實現自己想要的功能。

下面是完整的Python代碼,大家可以拿來使用,

#!/usr/bin/python -tt
# -*- coding: utf-8 -*-
"""
 module: baiduVoiceGenerate
 platform: Linux
 description: Generate Speech from Text, and convert the audio to wav file.
 Precondition: Please install below module before run this progrom,
     1. pip install baidu-aip
     2. pip install pydub
     3. sudo apt-get install ffmpeg
 creater: Guangwei Jiang
 create time: 2018-11-21
"""
from aip import AipSpeech
from pydub import AudioSegment
import time
 
#input your own APP_ID/API_KEY/SECRET_KEY
APP_ID = '14891501' 
API_KEY = 'EIm2iXtvDSplvR5cyHU8dAeM' 
SECRET_KEY = '4KkGGzTq2GVrBEYPLXXWEEIoyLL1F6Zt ' 
 
print("baiduVoiceGenerate: V1.0, by Guanagwei_Jiang, 20181121")
str = raw_input("請輸入要轉成語音的文字: ")
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY) 
result = client.synthesis(str, 'zh', 1, { 'vol': 5,'per':4 }) 
 
if not isinstance(result, dict): 
 with open('temp.mp3', 'wb') as f: 
  f.write(result)
 
sound = AudioSegment.from_mp3('temp.mp3')
sound.export(time.strftime("%Y%m%d_%H%M%S", time.localtime())+".wav", format="wav")

以上這篇使用Python實現文字轉語音并生成wav文件的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • django商品分類及商品數據建模實例詳解

    django商品分類及商品數據建模實例詳解

    這篇文章主要介紹了django商品分類及商品數據建模實例代碼內容,需要的朋友們學習參考下。
    2020-01-01
  • 舉例詳解Python中yield生成器的用法

    舉例詳解Python中yield生成器的用法

    這篇文章主要介紹了舉例詳解Python中yield生成器的用法,包括其在多線程multiprocess下的使用示例,非常推薦!需要的朋友可以參考下
    2015-08-08
  • python實現雨滴下落到地面效果

    python實現雨滴下落到地面效果

    這篇文章主要為大家詳細介紹了python實現雨滴下落到地面效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python通過urllib2爬網頁上種子下載示例

    python通過urllib2爬網頁上種子下載示例

    這篇文章主要介紹了通過urllib2、re模塊抓種子下載的示例,需要的朋友可以參考下
    2014-02-02
  • 通過Plotly實現交互式數據可視化的流程步驟

    通過Plotly實現交互式數據可視化的流程步驟

    在數據科學和數據分析領域,數據可視化是一種非常重要的技術,Plotly 是一個功能強大的 Python 可視化庫,它可以幫助我們創(chuàng)建交互式的數據可視化圖表,本文將介紹如何使用 Plotly 實現交互式數據可視化,需要的朋友可以參考下
    2024-05-05
  • pandas中concat函數實現橫向連接

    pandas中concat函數實現橫向連接

    在pandas中,concat函數可用于合并不同的Series和DataFrame對象,本文主要介紹了pandas中concat函數實現橫向連接,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • 關于Python3爬蟲利器Appium的安裝步驟

    關于Python3爬蟲利器Appium的安裝步驟

    在本篇文章里小編給大家整理的是一篇關于Python3爬蟲利器Appium的安裝步驟,需要的朋友們可以跟著參考下。
    2020-07-07
  • pytorch通過訓練結果的復現設置隨機種子

    pytorch通過訓練結果的復現設置隨機種子

    這篇文章主要介紹了pytorch通過訓練結果的復現設置隨機種子的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • python字符串排序方法

    python字符串排序方法

    這篇文章主要介紹了python字符串排序方法,基于lambda實現,是非常實用的技巧,需要的朋友可以參考下
    2014-08-08
  • python opencv實現圖像配準與比較

    python opencv實現圖像配準與比較

    這篇文章主要為大家詳細介紹了python opencv實現圖像配準與比較,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02

最新評論