Python+硅基流动API实现小说转有声读物

一、注册硅基流动账号获取文本转语音api

1.注册登录硅基流动

  • 注册、登录硅基流动

  • 查看apikey

  • 查看赠送的免费额度

  • 点击文档中心

2.查看文本转语音api

  • 查看文本转语音api

  • 查看api使用指南

  • 查看文本转语音api的python调用方法

二、python实现文本转语音功能

1.python调用api实现文本转语音功能

  • python配置好apikey后,调用语音转文字的方法

    -- coding:utf-8 --

    import requests
    class SiliconflowHandler(object):

    复制代码
    #接口url
    url = "https://api.siliconflow.cn/v1/audio/speech"    
    api_key = "sk-vqaaduakaeehzyalmooljbpfgkuaizplahnwdlxtpiwdwsse"    
    
    def __init__(self):        
      self.authorization = "Bearer %s" % self.api_key 
         
    def text2audio(self, text):        
      payload = { #设置好模型、需要转换的内容、输出格式等            
        "model": "FunAudioLLM/CosyVoice2-0.5B",            
        "input": text,            
        "voice": "FunAudioLLM/CosyVoice2-0.5B:alex",            
        "response_format": "mp3",            
        "stream": True,            
        "speed": 1,            
        "gain": 0        
      }        
    
      headers = { #设置请求头的Authorization跟Content-Type为json           
        "Authorization": self.authorization,            
        "Content-Type": "application/json"        
      }
      
      #request post请求 传入请求body json格式,请求头headers后 开始请求        
      response = requests.request("POST", self.url, json=payload, headers=headers)            
      
      #请求成功后,将返回的字节流结果保存成.mp3格式的音频文件
      with open("audio.mp3", "wb") as f:            
        f.write(response.content)

    if name == 'main':
    #在main方法中启动文本转语音功能开始转换
    text = "你好啊 世界正在改变"
    siliconflow = SiliconflowHandler()
    siliconflow.text2audio(text)

三、从网上获取小说内容

1.获取一些小说资源

比如小说官网、pdf小说等,当然这些资源如果要商用需要用版权,而且要对内容进行提取出文本后再进行转换

需要测试代码可以在公众号回复"text2audio"下载代码测试