当前位置: 首页 > article >正文

使用Azure合成语音,解放嘴巴(bushi)

首先去微软申请以下azure语音的api

不同的语音风格可在参考此处:
https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/language-support?tabs=tts

pip install azure-cognitiveservices-speech

import azure.cognitiveservices.speech as speechsdk
import os
# 设置你的Azure语音服务的密钥和区域
speech_key = "xxx"
service_region = "eastasia"

def synthesize_speech(text):
    output_dir = "./speech"
    os.makedirs(output_dir, exist_ok=True)
    
    # 生成文件路径
    output_file = os.path.join(output_dir, f"{text}.mp3")
    # 创建语音配置对象
    speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)
    speech_config.speech_synthesis_voice_name = "zh-CN-YunjianNeural" # 选择不同的角色
    
    # 设置输出音频文件
    audio_output = speechsdk.audio.AudioOutputConfig(filename=output_file)
    
    # 创建语音合成器对象
    speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_output)
    
    # 合成语音
    result = speech_synthesizer.speak_text_async(text).get()
    
    # 检查结果
    if result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted:
        print(f"语音合成成功,已保存至 {output_file}")
    elif result.reason == speechsdk.ResultReason.Canceled:
        cancellation_details = result.cancellation_details
        print(f"语音合成失败: {cancellation_details.reason}")
        if cancellation_details.reason == speechsdk.CancellationReason.Error:
            print(f"错误详情: {cancellation_details.error_details}")
            
    return f"./speech/{text}.mp3"

这样就生成mp3文件。

可用于manim, janim等视频制作


http://www.kler.cn/a/412852.html

相关文章:

  • 命令行版 postman 之 post 小工具
  • DINO-X:一种用于开放世界目标检测与理解的统一视觉模型
  • 跟李笑来学美式俚语(Most Common American Idioms): Part 34
  • Jmeter测试工具的安装和使用,mac版本,jmeter版本5.2.1
  • .NET9 - Swagger平替Scalar详解(四)
  • mvn-mac操作小记
  • 基于STM32的无人机自主导航与避障系统
  • Ajax与Vue初步学习
  • Ubuntu系统为同一逻辑网口配置不同网段的IP
  • Dubbo Golang开发微服务
  • DMS2024|思腾合力受邀参加第二届CCF数字医学大会
  • UE5 和 UE4 中常用的控制台命令总结
  • C++中的函数对象
  • 蓝牙循环搜索并连接. Android辅助功能以及锁的灵活运用
  • 家庭事务管理微信小程序ssm+论文源码调试讲解
  • 一个比较舒服的 prettier 前端配置 vue js
  • Jenkins-Gitlab 前端项目自动化部署
  • docker快速安装zookeeper
  • 【前端学习笔记】ES6 新特性
  • 书生大模型实战营第四期-入门岛-4. maas课程任务
  • 自动化测试工具Ranorex Studio(四十三)-RANOREXPATH编辑器5
  • 区块链:波场-TRON链
  • Windows Git Bash使用脚手架创建项目时无法交互切换选项
  • 去哪儿大数据面试题及参考答案
  • 上天入地 灵途科技光电技术赋能空间感知
  • Android 单选框RadioGroup+RadioButton