Python调用百度语音合成api将文字转换成音频文件并播放代码示例

from aip import AipSpeech
import wave,pygame
import time
import random
import os

'''
pip install baidu-aip
调用百度语音合成api将文字转换成音频文件
'''
def get_video(msg):
    APP_ID = '17264707'
    API_KEY = '59xxwY01u0tmS2iUkdiUz4Tt'
    SECRET_KEY = 'BuDpSfWMOT3eGroftO56XRTW3tHDiMIR'

    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    result  = client.synthesis(msg, 'zh', 1, {
        'vol': 5,'per':103,'aue':6
    })
    file_name=str(random.randint(1,999999999))+str(int(time.time()))+".wav"
    # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
    if not isinstance(result, dict):
        with open(file_name, 'wb') as f:
            f.write(result)
        return file_name
    else:
        return None
'''
pip install wave
播放指定音频文件,例如:auid.wav
'''
def paly_mp3(file_name):
    fhandle = wave.open(file_name, "rb")
    params = fhandle.getparams()
    nchannels, sampwidth, framerate, nframes = params[:4]
    fhandle.close()
    pygame.mixer.init(framerate)
    pygame.mixer.music.load(file_name)
    pygame.mixer.music.play()
    playTime = nframes / float(framerate)
    time.sleep(playTime)
    pygame.mixer.music.stop()
    #播放完毕之后删除指定文件
    os.remove(file_name)

if __name__ == '__main__':
    
    '''
    循环将文字转换成音频文件,并播放
    '''
    msg_list=[
        "张三呀",
        "李四呀",
        "王麻子呀",
        "蓝胖子呀",
    
    ]
    for msg in msg_list:
        file_name=get_video(msg)
        paly_mp3(file_name)

发布了130 篇原创文章 · 获赞 84 · 访问量 94万+

猜你喜欢

转载自blog.csdn.net/qq_32502511/article/details/100973675