Erlo

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

2025-03-29 23:30:13 发布   81 浏览  
页面报错/反馈
收藏 点赞

一、注册硅基流动账号获取文本转语音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"下载代码测试

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认