微软Azure的TTS接口调用

这篇具有很好参考价值的文章主要介绍了微软Azure的TTS接口调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微软Azure的TTS批处理接口调用

实习让我学会了很多orz

由于要做公司产品和微软产品的对比,故尝试写一个python代码调用微软Azure语音合成API来实现批处理功能。
要实现批处理功能首先得有一个Azure的账号,且要使用标准计费档,免费档是不能使用批处理功能的,它会返回forbidden,拒绝访问。
首先是引入的库。

import subprocess 
import requests
import json
from time import sleep

然后是服务的key,要在微软Azure的平台上获取。把下面的SPEECH_KEY赋值为你的key就行,SPEECH_REGION也要换成相应的服务区域,例如我的就在eastus。

SPEECH_KEY = ""
SPEECH_REGION = "eastus"
text_path=""

get_data函数是我用来获取本地要合成的语音文本的,text_path为输入的文件路径。

def get_data():
    global text_path
    text_path=input()
    with open(text_path,'rb')as f:
        lines=[line[:].decode('utf-8') for line in f]
    data=''.join(lines)
    return data

send_data是post请求发送给Azure。

def send_data():
    url="https://"+SPEECH_REGION+".customvoice.api.speech.microsoft.com/api/texttospeech/3.1-preview1/batchsynthesis"
    data=get_data() #获取要合成文本数据
    headers = {
        "Content-Type": "application/json", # post提交数据的方式
        "Ocp-Apim-Subscription-Key": SPEECH_KEY, 
        "Connection":"Keep-Alive"
    }
    data = {
        "displayName": "batch synthesis sample",
        "description": "my test", 
        "textType": "PlainText", # 负载的数据为纯文本,还可以用SSML格式
        "inputs": [
            {
                "text": data # 待合成的数据文本
            }
        ],
        "properties": {
            "outputFormat": "riff-24khz-16bit-mono-pcm",
            "wordBoundaryEnabled": False,
            "sentenceBoundaryEnabled": False,
            "concatenateResult": True,
            "decompressOutputFiles": False
        },
        "synthesisConfig":{
            "voice": "zh-CN-XiaoxiaoNeural" # 这个是合成的语音音色
        }
    }
    response = requests.post(url, json=data, headers=headers)
    print(response.text) #得到返回信息
    print(response.status_code) #得到返回状态
    synthesis_id=response.json()['id'] #获取此次处理的id,用于后续的查询与语音的获取
    print("synthesis_id",synthesis_id)
    return synthesis_id

request_data是用来查询语音合成的状态的,看看有没有处理完毕。


def request_data(synthesis_id):
    url="https://"+SPEECH_REGION+".customvoice.api.speech.microsoft.com/api/texttospeech/3.1-preview1/batchsynthesis/"+synthesis_id
    #synthesis_id就是刚刚发送请求时得到的此次处理的id
    headers={
        "Ocp-Apim-Subscription-Key": SPEECH_KEY,
        "Connection":"Keep-Alive"
    }
    response = requests.get(url,headers=headers)
    print(response.text)
    print(response.status_code)
    status=response.json()['status'] #得到处理的状态
    while status!="Succeeded": #如果不是succeded,即此次处理为not start或者running,说明还没处理好
        response = requests.get(url,headers=headers) #再次查询
        status=response.json()['status'] #获取状态
        print(response.text)
        print(response.status_code)
        sleep(1) #等待一秒钟
    #print(response.json()['outputs'])
    download_url=response.json()['outputs']['result'] #得到下载语音的网址
    print(download_url)
    return download_url

download_data是下载处理好的语音用的。

def download_data(download_url):
    url=download_url #这是之前得到的网址
    # print(text_path)
    filename=text_path.split(".")
    # print(filename)
    filename=filename[0]+"_result.zip" # 数据名称
    # print(filename)
    response=requests.get(url)
    if response.status_code == 200: #如果获取成功
        with open(filename,'wb') as file:
            file.write(response.content) #把数据保存下来
        print("success")
    else:
        print(response.status_code)

下面是main函数。

def main():
    synthesis_id=send_data() #调用各个函数完成请求的发送查询与数据下载
    download_url=request_data(synthesis_id)
    download_data(download_url)

if __name__ == '__main__':
    main()

最后附上Azure的官方文档,也挺清晰的。→官方文档文章来源地址https://www.toymoban.com/news/detail-739176.html

到了这里,关于微软Azure的TTS接口调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过微软Azure调用GPT的接口API-兼容平替OpenAI官方的注意事项

    众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口 国内的效果真的很差,现在如果想使用GPT大模型,可以使用微软Azure的

    2024年02月12日
    浏览(46)
  • 文字转语音 - 搭建微软tts整合web服务提供api接口(免费)

    微软tts是业界公认文字转语音效果最佳 本文使用docker搭建微软tts服务并提供api接口对外提供服务 对接官方免费在线体验接口,搭建后可免费进行调用使用,不保证永久稳定可用 url :http://127.0.0.1:5003/tts method :POST 参数 类型 描述 text string 语音文字内容 voiceName string 发音人(

    2024年02月11日
    浏览(45)
  • 深入分析微软Microsoft Azure 机器学习工作室案例

    Microsoft Azure Machine Learning Studio是微软强大的机器学习平台,在设计器中,微软内置了15个场景案例,但网上似乎没有对这15个案例深度刨析的分析资料,所以我就计划写一个系列来完成。 既然是深度刨析,就不再是简单的介绍操作,而是深入每一个细节,宁愿过度详细扩展,

    2024年02月09日
    浏览(51)
  • 口播神器,基于Edge,微软TTS(text-to-speech)文字转语音免费开源库edge-tts实践(Python3.10)

    不能否认,微软Azure在TTS(text-to-speech文字转语音)这个人工智能细分领域的影响力是统治级的,一如ChatGPT在NLP领域的随心所欲,予取予求。君不见几乎所有的抖音营销号口播均采用微软的语音合成技术,其影响力由此可见一斑,仅有的白璧微瑕之处就是价格略高,虽然国内也可

    2024年02月02日
    浏览(51)
  • 微软Azure OpenAI服务-合规的GPT模型接口

    众所周知,我们是访问不通OpenAI官方服务的,但是我们可以自己通过代理或者使用第三方代理访问接口 现在新出台的规定禁止使用境外的AI大模型接口对境内客户使用,所以我们需要使用国内的大模型接口 国内的效果真的很差,现在如果想使用GPT大模型,可以使用微软Azure的

    2024年02月16日
    浏览(54)
  • Python调用edge-tts实现在线文字转语音

    edge-tts是一个 Python 模块,允许通过Python代码或命令的方式使用 Microsoft Edge 的在线文本转语音服务。 GitHub - rany2/edge-tts: Use Microsoft Edge\\\'s online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key Use Microsoft Edge\\\'s online text-to-speech service from Python WITHOUT needing Micro

    2024年03月27日
    浏览(58)
  • IDE也卷了,微软杀入嵌入式IDE_microsoft azure rtos开源吗(1)

    因为,这几年物联网的快速发展,迫使微软布局嵌入式。 早在2019年,微软重金收购 ThreadX 嵌入式实时操作系统,然后,紧接着 在 2020 年,开源了Azure RTOS ThreadX 。 在去年底(2021年12月), 微软发布了基于 VS 2022 的支持嵌入式RTOS、MCU软件开发的IDE 。 在本月初(2022年3月),

    2024年04月16日
    浏览(82)
  • ESP32-C3入门教程 IoT篇⑧——微软云 Microsoft Azure 物联网 IoT 中心 EspAzureIoT 实战

    本文基于VS Code IDE进行编程、编译、下载、运行等操作 基础入门章节请查阅:ESP32-C3入门教程 基础篇①——基于VS Code构建Hello World 教程目录大纲请查阅:ESP32-C3入门教程——导读 ESP32固件端源码已经全部开源:小康师兄 / EspAzureIoT (gitee地址) ESP32-C3入门教程

    2024年02月06日
    浏览(80)
  • 【API调用gpt-4 (vision-preview)】基于微软的Azure OpenAI API

    微软的Azure页面 : https://learn.microsoft.com/zh-cn/azure/ai-services/openai/concepts/models 调用代码:https://learn.microsoft.com/zh-cn/azure/ai-services/openai/how-to/switching-endpoints openai说明: https://platform.openai.com/docs/guides/vision 不同区域的服务器开通不同模型 美国西部 prompt=“What’s in this image? 并使用中

    2024年01月21日
    浏览(49)
  • ESP32-C3入门教程 IoT篇⑦——微软云 Microsoft Azure 物联网 IoT Central EspAzureIoT 实战

    本文基于VS Code IDE进行编程、编译、下载、运行等操作 基础入门章节请查阅:ESP32-C3入门教程 基础篇①——基于VS Code构建Hello World 教程目录大纲请查阅:ESP32-C3入门教程——导读 ESP32固件端源码已经全部开源:

    2024年02月06日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包