最近有个项目需要做视觉自动化处理的工具,最后选用的软件为python,刚好这个机会进行系统学习。短时间学习,需要快速开发,所以记录要点步骤,防止忘记。

 链接:

开源 python 应用 开发(一)python、pip、pyAutogui、python opencv安装-CSDN博客

开源 python 应用 开发(二)基于pyautogui、open cv 视觉识别的工具自动化-CSDN博客

开源 python 应用 开发(三)python语法介绍-CSDN博客

开源 python 应用 开发(四)python文件和系统综合应用-CSDN博客

开源 python 应用 开发(五)python opencv之目标检测-CSDN博客

开源 python 应用 开发(六)网络爬虫-CSDN博客

开源 python 应用 开发(七)数据可视化-CSDN博客

开源 python 应用 开发(八)图片比对-CSDN博客

开源 python 应用 开发(九)目标跟踪-CSDN博客

开源 python 应用 开发(十)音频压缩-CSDN博客

开源 python 应用 开发(十一)AI应用--百度智能云ASR短语音转文本-CSDN博客

开源 python 应用 开发(十二)AI应用--百度智能云Agent聊天-CSDN博客

开源 python 应用 开发(十三)AI应用--百度智能云TTS语音合成-CSDN博客

 推荐链接:

开源 Arkts 鸿蒙应用 开发(一)工程文件分析-CSDN博客

开源 Arkts 鸿蒙应用 开发(二)封装库.har制作和应用-CSDN博客

开源 Arkts 鸿蒙应用 开发(三)Arkts的介绍-CSDN博客

开源 Arkts 鸿蒙应用 开发(四)布局和常用控件-CSDN博客

开源 Arkts 鸿蒙应用 开发(五)控件组成和复杂控件-CSDN博客

 推荐链接:

开源 java android app 开发(一)开发环境的搭建-CSDN博客

开源 java android app 开发(二)工程文件结构-CSDN博客

开源 java android app 开发(三)GUI界面布局和常用组件-CSDN博客

开源 java android app 开发(四)GUI界面重要组件-CSDN博客

开源 java android app 开发(五)文件和数据库存储-CSDN博客

开源 java android app 开发(六)多媒体使用-CSDN博客

开源 java android app 开发(七)通讯之Tcp和Http-CSDN博客

开源 java android app 开发(八)通讯之Mqtt和Ble-CSDN博客

开源 java android app 开发(九)后台之线程和服务-CSDN博客

开源 java android app 开发(十)广播机制-CSDN博客

开源 java android app 开发(十一)调试、发布-CSDN博客

开源 java android app 开发(十二)封库.aar-CSDN博客

推荐链接:

开源C# .net mvc 开发(一)WEB搭建_c#部署web程序-CSDN博客

开源 C# .net mvc 开发(二)网站快速搭建_c#网站开发-CSDN博客

开源 C# .net mvc 开发(三)WEB内外网访问(VS发布、IIS配置网站、花生壳外网穿刺访问)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客

开源 C# .net mvc 开发(四)工程结构、页面提交以及显示_c#工程结构-CSDN博客

​​​​​​开源 C# .net mvc 开发(五)常用代码快速开发_c# mvc开发-CSDN博客

本章内容为使用百度智能云将文本合成为语音的方法,其中速度、语调等多种参数可以设置。

一、主要内容

使用使用百度语音合成API将文本转换为语音的Python程序。

二、API Key 和 Secret Key获取

进入百度智能云  ->  选择语音合成标准版 ->  选择开通付费,默认赠送10小时流量,不购买资源

->  实名认证后获得,api key 和 secret key  

在以下页面可以查看API Key 和 Secret Key

三、源代码分析

主要功能
文本转语音:将中文文本转换为wav格式的音频文件

API认证:通过百度API获取访问令牌

音频保存:将合成的音频保存为本地文件

代码结构分析
1. 导入模块
python
import requests  # 用于发送HTTP请求
import urllib.parse  # 用于URL编码
2. 全局变量
python
API_KEY = ""  # 需要填写的百度API Key
SECRET_KEY = ""  # 需要填写的百度Secret Key
3. 主函数 main()
设置API端点:https://tsn.baidu.com/text2audio

准备待转换的文本并进行URL编码

构建请求参数,包括语速、音调、音量等设置

发送POST请求获取音频数据

保存音频文件为output.wav

4. 认证函数 get_access_token()
调用百度OAuth接口获取访问令牌

使用client_credentials授权模式

返回access_token用于后续API调用

参数说明
tex: URL编码后的文本

tok: 访问令牌

cuid: 用户唯一标识

ctp: 客户端类型(1为web)

lan: 语言(zh为中文)

spd: 语速(0-15,5为适中)

pit: 音调(0-15,5为适中)

vol: 音量(0-15,5为适中)

per: 发音人(0为默认女声)

aue: 音频格式(6为mp3)

以下为源码:

import requests
import urllib.parseAPI_KEY = "***"
SECRET_KEY = "***"def main():try:url = "https://tsn.baidu.com/text2audio"# 准备文本并编码text = "这是一段测试代码啊,百度云也能听清楚我讲的是什么吗?"encoded_text = urllib.parse.quote(text)# 构建请求参数params = {'tex': encoded_text,'tok': get_access_token(),'cuid': 'cmClbqGBAL3Mi8RSdREgdAl1uRJJXbZG','ctp': 1,'lan': 'zh','spd': 5,  # 调整为适中语速'pit': 5,  # 调整为适中音调'vol': 5,  # 调整为适中音量'per': 0,  # 使用默认发音人'aue': 6   # mp3格式}headers = {'Content-Type': 'application/x-www-form-urlencoded','Accept': 'audio/mp3'}# 发送请求response = requests.post(url, data=params, headers=headers)# 检查响应if response.status_code == 200:# 保存音频文件with open('output.wav', 'wb') as f:f.write(response.content)print("语音合成成功,已保存为 output.wav")else:print(f"请求失败,状态码: {response.status_code}")print(f"错误信息: {response.text}")except Exception as e:print(f"程序执行出错: {e}")def get_access_token():"""获取百度API访问令牌"""try:url = "https://aip.baidubce.com/oauth/2.0/token"params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}response = requests.post(url, params=params)response.raise_for_status()token = response.json().get("access_token")if not token:raise ValueError("未能获取到access_token")return tokenexcept Exception as e:print(f"获取access_token失败: {e}")return Noneif __name__ == '__main__':main()

三、效果演示

将录音文件test.wav文件放到和python文件同一个目录,运行效果如下,生产了16K频率的音频文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95056.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95056.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/95056.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大白话说 AI 编程 Trae,小白进!

大家好,我是樱木。 一些小白用户,打开字节出的 AI 编程工具 Trae 时,可能觉得还是有点生疏,但是作为程序员,看到这样的界面分布,已经是在熟悉不过了,甚至心中窃喜,长得和 IDEA 等开…

主流国产数据库:文档完备性

官方文档通常是用户获取数据库产品相关信息最权威的渠道,文档的完备性(准确、全面、易用)直接影响着开发者的学习成本、项目实施的效率以及后期的运维便利性。 例如,Oracle 数据库的官方文档被广泛认为是行业的黄金标准&#xff…

现今流行的操作系统及其应用场景

2025 年主流操作系统及其应用场景,结合技术趋势与行业实践,涵盖从个人设备到关键基础设施的全场景覆盖:一、桌面与生产力领域1. Windows 11/12(微软)市场地位:全球桌面市场占比 71%,企业级场景市…

IP v 6

相关概念地址长度128bit,采用冒号划分为8段,并用16进制标识,其容量大到能为地球上的每一粒沙子分配一个地址,通常情况下其网络前缀为64位,接口标识为64位,依照写法可分为首选格式,即完整书写&am…

Elasticsearch冷热架构:性能与成本完美平衡

Elasticsearch 的冷热架构(Hot-Warm-Cold Architecture)是一种针对时序数据(如日志、指标等)的成本与性能优化方案,通过将数据在不同生命周期的存储需求分层处理,兼顾性能、容量和成本。其核心思想是&#…

【MFC自动生成的文件详解:YoloClassMFC.cpp 的逐行解释、作用及是否能删除】

大家好,欢迎来到我的MFC编程入门系列。上次我们聊了MFC项目创建后的核心文件区别(项目名.cpp、.h、Dlg.cpp 和 Dlg.h),今天针对读者的反馈,专门来拆解其中最重要的一个文件:项目名.cpp(这里以用…

玄机靶场 | 冰蝎3.0-jsp流量分析

文章目录一、冰蝎3.0流量特征二、索引三、题目列表步骤#1黑客IP是什么?步骤#2黑客上传的Webshell名是什么?步骤#3黑客上传WebShell的时间是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})步骤#4木马的解密key是什…

基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维热传导方程求解器MATLAB

代码实现了一个基于物理信息神经网络(Physics-Informed Neural Network, PINN)的三维热传导方程求解器。以下是详细分析:🧠 一、主要功能 main.m: 构建一个全连接神经网络用于近似三维热传导方程的解 ( u(x, y, z, t) …

按钮计数器:jQuery / AngularJS / Vue / React / dagger.js 实现对比与技术解读

代码来源:https://codepen.io/dagger8224/pen/myeKgVQ 任务:实现“按钮点击 1”计数器,对比不同框架的写法与特性,并给出选型建议。 目录 代码解读(逐框架) jQuery(命令式 DOM)Angu…

useEffect中直接使用 await报错

在 useEffect 中直接使用 await 会报错,因为 useEffect 的回调函数不能是 async 函数。有几种正确的方式来处理异步操作: 方法一:在 useEffect 内部创建 async 函数并立即调用 这是最常用的方式。 import React, { useEffect } from react;co…

卷积神经网络为什么要填充(Padding)

填充(Padding)是卷积神经网络中一个至关重要且巧妙的设计。它的核心目的可以概括为:为了解决卷积操作导致的特征图尺寸缩小和边缘信息丢失问题。

C++ 并发编程:全面解析主流锁管理类

在 C 的并发世界里,管理共享资源就像是在一个繁忙的十字路口指挥交通。如果指挥不当,就会发生混乱甚至致命的“死锁”。C 标准库提供的各种锁管理工具,就是我们手中的“交通信号灯”,它们各自拥有独特的职能,帮助我们编…

Spring boot 启用第二数据源

1. 数据源配置代码:import com.alibaba.druid.pool.DruidDataSource; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilde…

Wi-Fi 时延与掉包的关键因素全解析

在无线网络性能优化中,时延(Latency)与掉包(Packet Loss)是最核心的两个指标。本文将从 物理层、MAC层、系统栈、业务形态与环境 等多个维度,对 Wi-Fi 时延与掉包的关键因素进行全面梳理,并结合…

《Python 文本分析实战:从单词频率统计到高效可视化的全流程指南》

《Python 文本分析实战:从单词频率统计到高效可视化的全流程指南》 一、引言:小任务背后的大世界 在我多年的开发与教学中,文本处理始终是一个绕不开的主题。无论是日志分析、自然语言处理,还是搜索引擎、推荐系统,几乎所有数据驱动的系统都离不开对文本的理解。而“统计…

12KM无人机高清图传通信模组——打造未来空中通信新高度

在无人机技术飞速发展的今天,高清图传和稳定的通信模块无疑是提高无人机作业效率和可靠性的关键因素。作为新一代无人机核心技术之一,深圳云望物联12KM无人机高清图传通信模组凭借其卓越的性能,正逐步成为行业内的宠儿,成为无人机…

【LeetCode 热题 100】62. 不同路径——(解法二)递推

Problem: 62. 不同路径 文章目录整体思路完整代码时空复杂度时间复杂度:O(m * n)空间复杂度:O(m * n)整体思路 这段代码同样旨在解决 “不同路径” 问题,但它采用的是一种 自底向上(Bottom-Up)的动态规划 方法&#x…

C++ 高阶错误解析:MSVC 与 Qt 全景指南

在 C 开发中,尤其是在 Windows 平台使用 MSVC 或 Qt 框架 时,程序员经常会遇到编译错误、链接错误和运行时异常。本文将系统梳理这些问题,按 语法错误、类型错误、链接错误、Qt 运行错误 分类,并给出 触发示例、原因分析及修复策略…

基于Net海洋生态环境保护系统的设计与实现(代码+数据库+LW)

摘要 随着全球气候变化和人类活动的加剧,海洋生态系统面临着前所未有的威胁。污染、过度捕捞、栖息地破坏等问题严重影响了海洋生物多样性和生态平衡。为了应对海洋生态系统面临的严重威胁,如污染、过度捕捞和栖息地破坏等问题,利用C#语言和…

DoIP路由激活报文

目录 DoIP路由激活报文详解 基本概念 报文结构 响应报文 通信流程 注意事项 **DoIP (Diagnostics over Internet Protocol) 报文详解** **1. DoIP 报文结构** **1.1 通用报文格式** **2. 常见 DoIP 报文类型** **3. 典型 DoIP 报文示例** **3.1 车辆识别请求(广播)** **3.2 车…