語音識別和文字轉語音(基於百度AI)


花了一天時間,直接上代碼

語音識別

#Author:Alex.Zhang
import os
import requests
import json
import base64

#首先配置必要的信息
baidu_server = 'https://aip.baidubce.com/oauth/2.0/token?'
grant_type = 'client_credentials'
client_id = 'umuduD7RyyO7OIsAGWHyuZeG' #API KEY
client_secret = 'ay0ih0NhwAInGCgIdpmbvSG9nbl0KEw3' #Secret KEY

#合成請求token的url
url = baidu_server+'grant_type='+grant_type+'&client_id='+client_id+'&client_secret='+client_secret

#獲取token
res = requests.get(url).text
data = json.loads(res)
token = data['access_token']

#設置音頻的屬性,采樣率,格式等
VOICE_RATE = 16000
FILE_NAME = '666.wav'
USER_ID = 'Xu.zh' #這里的id隨便填填就好啦,我填的自己昵稱
FILE_TYPE = 'wav'

#讀取文件二進制內容
f_obj = open(FILE_NAME, 'rb')
content = base64.b64encode(f_obj.read())
speech = str(content, 'utf8')
size = os.path.getsize(FILE_NAME)

#json封裝
datas = json.dumps({
    'format': FILE_TYPE,
    'rate': VOICE_RATE,
    'channel': 1,
    'cuid': USER_ID,
    'token': token,
    'speech':speech,
    'len': size})

#設置headers和請求地址url
headers = {'Content-Type':'application/json'}
url = 'https://vop.baidu.com/server_api'

#用post方法傳數據
request = requests.post(url, datas, headers)
result = json.loads(request.text)
text = result['result']
if result['err_no'] == 0:
    print(text)
else:
    print('返回錯誤!')

文字轉語音

from aip import AipSpeech
""" 你的 APPID AK SK """
APP_ID = ''
API_KEY = ''
SECRET_KEY=''
 
client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
for i in range(4):
    if (i==0):
        content='你瞅啥?'
    if (i==1):
        content='瞅你咋地。'
    if (i==2):
        content='再瞅一個試試!'
    if (i==3):
        content='試試就試試。'
    if (i==0 or i==2):
        result  = client.synthesis(content,'zh',1,{'spd':0,'vol': 5,'per':3})
    if (i==1 or i==3):
        result  = client.synthesis(content,'zh',1,{'spd':0,'vol': 5,'per':4})
    # 識別正確返回語音二進制 錯誤則返回dict 參照下面錯誤碼
    filename=str(i)
    if not isinstance(result, dict):
        with open('文件的保存路徑'+filename+'.mp3', 'wb') as f:
            f.write(result)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM