当前位置 博文首页 > 浅谈盘点5种基于Python生成的个性化语音方法

    浅谈盘点5种基于Python生成的个性化语音方法

    作者:Python进阶者 时间:2021-07-28 17:48

        小编在很小的时候就特别喜欢搞怪,模仿别人的声音,尤其是老头老太太模仿的那是一个出神入化。

        今天小编就带大家模仿一下个性化的声音,不过不是用小编的嘴,而是用程序,看它们都是怎么被模仿出来的。

    1、gtts模块

        这是一款语音模块,它可以将任意文字转换为音频文件,格式为mp3。下面我们一起来看看它的用法:

    一、安装并导入:

    pip install gtts
    from gtts import gTTS

    二、配置gtts客户端

    tts = gTTS(text=text, lang='zh-tw')

    text:音频内容
    lang: 音频语言

    三、保存音频文件

    tts.save("XXX.mp3")

    2、baidu-aip

        通过在百度开放开发者平台申请语音合成账号来生成音频文件。

     

    # 下载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:发音人选择, 0为女声,1为男声, 3为情感合成-度逍遥,4为情感合成-度丫丫,默认为普通女
    }) #配置个性化语音
    with open('XX.mp3','wb') as f: #打开文件流
    f.write(res)  #写入文件
    

    3、pyttsx3

    这也是一款优秀的文字转语音的模块,它生成的音频文件也比较具有个性化。

    下载pyttsx3模块并导入:

    pip install pyttsx3
    import pyttsx3
    

    初始化:

    pp = pyttsx3.init()
    

    添加语音文本:

    pp.say('Hello World')
    

    运行:

    pp.runAndWait()
    

    当然它还可以调整声音的音量,频率,变声,当然设置方法都差不多,都是先拿到它对应功能的值然后在进行加减。

    比如说音量调节:

    vol=pp.getProperty('volume')
    pp.setProperty('vol',vol+0.5)
    

    对于发音,频率,变声则为 vioce,rate,vioces,是不是很好理解了?当然,如果你想让它循环播放,只需加一个事件驱动循环即可:

    pp.startLoop()
    

    4、pywin32

    操作window dll的库,它可以实现很多功能,十分强大。

    安装并且导入:

    pip install pywin32
    import win32com.client
    

    配置客户端接口:

    speaker = win32com.client.Dispatch("SAPI.SpVoice")
    

    生成音频:

    speaker.Speak("hello")
    

    由于对中文支持不友好,所以基本用的不多。

    5、speech

    也是一款强大的语音模块,依赖于pywin32,而且它最适合做语音启动程序了。

    下载并导入:

    pip install speech
    import speech
    

    生成音频:

    speech.say('hello')
    

    这么多音频模块,你了解多少了,到底哪一个才是你的菜呢?

    jsjbwy