一个在线文字转语音工具

一个在线文字转语音工具

因为参加比赛过程中要频繁使用文字转语音的功能,遂写了这个工具,暂时先用着。

工具基于百度API , 目前只支持 1K 以内的文字转语音。

后续版本拟增加讯飞接口,批量转换,语音识别,在线更新等功能,在在线更新功能上线之前,以本文为更新源。

运行截图:

这里写图片描述

代码:

public partial class Form1 : Form{string APP_ID = "BAIDU_TTS_APPID";string API_KEY = "BAIDU_TTS_APIKEY";string SECRET_KEY = "BAIDU_TTS_SECRET_KEY";string storeLocation = null;string fileName = null;string toConvert;string macAddress;Baidu.Aip.Speech.Tts client;int voiceSpeed = 5;int voiceTune = 5;int volum = 5 ;int character = 0 ;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){client = new Baidu.Aip.Speech.Tts(API_KEY, SECRET_KEY);client.Timeout = 60000;  // 修改超时时间macAddress = GetMacAddressByNetworkInformation();}private void button1_Click(object sender, EventArgs e){shellTextbox.AppendText(System.DateTime.Now.ToString() + "开始转换\n");if(storeLocation == null){shellTextbox.AppendText(System.DateTime.Now.ToString() + "转换失败,请检查音频文件存贮位置\n");return;}else if(textBox1.Text == null){shellTextbox.AppendText(System.DateTime.Now.ToString() + "转换失败,请检查需要转换的文字\n");return;}toConvert = textBox1.Text;Tts();}public void Tts(){// 可选参数var option = new Dictionary<string, object>(){{"spd", voiceSpeed}, // 语速{"vol", volum}, // 音量{"per", character},  // 发音人,4:情感度丫丫童声{ "cuid" , macAddress},{ "pit" , voiceTune}};var result = client.Synthesis(toConvert, option);if (result.ErrorCode == 0)  // 或 result.Success{File.WriteAllBytes( storeLocation + fileName + ".mp3", result.Data);}else{shellTextbox.AppendText(System.DateTime.Now.ToString() + "转换失败,ErrorCode :" +result.ErrorCode.ToString() + "\n");}}public string GetMacAddressByNetworkInformation(){string key = "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\";string macAddress = string.Empty;try{NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();foreach (NetworkInterface adapter in nics){if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet&& adapter.GetPhysicalAddress().ToString().Length != 0){string fRegistryKey = key + adapter.Id + "\\Connection";RegistryKey rk = Registry.LocalMachine.OpenSubKey(fRegistryKey, false);if (rk != null){string fPnpInstanceID = rk.GetValue("PnpInstanceID", "").ToString();int fMediaSubType = Convert.ToInt32(rk.GetValue("MediaSubType", 0));if (fPnpInstanceID.Length > 3 &&fPnpInstanceID.Substring(0, 3) == "PCI"){macAddress = adapter.GetPhysicalAddress().ToString();for (int i = 1; i < 6; i++){macAddress = macAddress.Insert(3 * i - 1, ":");}break;}}}}}catch (Exception ex){//这里写异常的处理return "could_not_get_mac_addr";}return macAddress;}private void button2_Click(object sender, EventArgs e){if(textBox2.Text == "请在此处填写音频文件存储位置"){shellTextbox.AppendText(System.DateTime.Now.ToString() + "请检查音频文件存贮位置\n");return;}if(textBox3.Text == "请在此处填写音频文件名(无.mp3)"){shellTextbox.AppendText(System.DateTime.Now.ToString() + "请检查音频文件名\n");return;}storeLocation = textBox2.Text;fileName = textBox3.Text;}private void comboBox1_SelectedIndexChanged(object sender, EventArgs e){voiceSpeed = comboBox1.SelectedIndex;}private void comboBox2_SelectedIndexChanged(object sender, EventArgs e){voiceTune = comboBox1.SelectedIndex;}private void comboBox3_SelectedIndexChanged(object sender, EventArgs e){volum = comboBox1.SelectedIndex;}private void comboBox4_SelectedIndexChanged(object sender, EventArgs e){character = comboBox1.SelectedIndex;}private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){System.Diagnostics.Process.Start("http://blog.csdn.net/Apheal"); //在浏览器中打开链接}private void button3_Click(object sender, EventArgs e){shellTextbox.AppendText(System.DateTime.Now.ToString() + "目前无法在线更新,请到CSDN查看\n");}private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){System.Diagnostics.Process.Start(" http://puretool.picp.io/");}}

下载链接(成品+源码S):

CSDN:https://download.csdn.net/download/apheal/10627138

蓝奏云:https://www.lanzous.com/i1qi6of

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

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

相关文章

SpeechSynthesisUtterance文字转语音播报

一、介绍 SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等 二、基本属性 var speech new SpeechSynthesisUtterance() speech.lang 获取并设置话语的语言&#xff08;en-US、zh-CN&#x…

文字转语音功能

大家有没有为如何找到一款文字转语音功能还能免费使用&#xff0c;操作简单的网站而苦恼&#xff0c;这边为大家强烈推荐一款操作简单而且免费使用的网站 96编辑器里的文字转语音功能 什么是文字转语音&#xff1f; 顾名思义&#xff0c;文字转语音是将文字转化成语音的形式&…

TTS Text-to-speech(文字转语音)服务

目录 中文帮助文档&#xff1a; 创建语音资源&#xff1a; 填写注册信息&#xff1a; 转到资源服务 编写测试代码(C#)&#xff1a; C#需要的包【NuGet搜索&#xff1a;CognitiveServices】 视频连接&#xff1a; 官网链接&#xff1a;Speech Studio - Microsoft Azure &am…

微软杀疯了,谷歌蒸发1000亿市值作陪,中文编程和它却打起翻身仗

微软VS谷歌&#xff0c;究竟谁是最后赢家&#xff1f; 当微软宣布收购OpenAI开发的ChatGPT的决定一出&#xff0c;Google深感威胁&#xff0c;开发出Gmail的早期员工甚至大胆预测&#xff0c;Google离完全毁灭只剩下一到两年&#xff01; 好歹也在互联网之战中屹立多年&#…

手写 100% 代码的 19 年老程序员,拒绝使用 Copilot、GPT-4 工具后,惨遭淘汰、解雇!...

整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一个月前&#xff0c;GitHub CEO Thomas Dohmke 为自家的 AI 辅助编码工具 GitHub Copilot X 站台&#xff0c;在全球网络峰会现场&#xff0c;亲自下场体验了一把&#xff0c;最终用 18 分钟编写出了一…

【网工最关心的问题,看Chat GPT怎么回答?】

最近打开微信群聊&#xff0c;都是在说ChatGPT相关内容 那ChatGPT是什么&#xff1f; ChatGPT是由美国人工智能实验室OpenAI开发的一个对话AI模型&#xff0c;于2022年11月正式推出。它因其极其出色的文本生成和对话交互能力在世界范围内迅速走红&#xff0c;五天内用户破百万&…

盘点GPT-4,大语言模型最新综述来了

Datawhale干货 最新&#xff1a;大模型综述&#xff0c;来源&#xff1a;机器之心 为什么仿佛一夜之间&#xff0c;自然语言处理&#xff08;NLP&#xff09;领域就突然突飞猛进&#xff0c;摸到了通用人工智能的门槛&#xff1f;如今的大语言模型&#xff08;LLM&#xff09;…

GPT-4,或许真的可以让“人工”更“智能”

自2018年GPT-1发布起&#xff0c;每年一更新。距离2020年GPT-3发布已有两年&#xff0c;这段时间里&#xff0c;大家都在期待和畅想&#xff0c;GPT-4到底会带来怎样的惊喜。 期间&#xff0c;“通过图灵测试”&#xff0c;“GPT-4Beta版访问权限已提供给某公司”等消息不断&a…

市面上最好用的两款AI换脸开源神器

1.faceswap 地址链接&#xff1a;Welcome - Faceswap 2.swapface 地址链接&#xff1a;Swapface 现在ai是一个非常大的风口&#xff0c;人们都在寻找各种开源的工具。 这两款软件是非常好用的&#xff0c;我测评了很多款其他的软件&#xff0c;包括手机移动端&#xff0c;…

这 10 个好玩的 AI 项目开源了!

今日推荐开源项目目录&#xff1a; 基于 AI 的口语训练平台 一句话生成 3D 模型 歌声转换 识图模型 01 基于 AI 的口语训练平台 Polyglot 是一个开源的基于 AI 的口语训练平台客户端&#xff0c;可以在 Windows、Mac 上使用。 比如你想练习英语口语&#xff0c;只需在该平…

OpenAI 更新了AGI发展路线图

从最近的ChatGPT的表现来看&#xff0c;通往AGI的路径似乎更清晰了。AGI是人类历史上最重要的技术发明之一&#xff0c;将对社会、经济、政治等各个领域产生深远的影响。 OpenAI是一个致力于创造和推广人工智能&#xff08;AI&#xff09;的非营利组织&#xff0c;其目标是实现…

chatgpt赋能python:人脸替换Python代码:让你的创意无限可能

人脸替换Python代码&#xff1a;让你的创意无限可能 人脸替换已经成为了一种非常流行的技术&#xff0c;通过这种方法&#xff0c;我们可以将一张图片中的脸部信息替换成另一个人的脸&#xff0c;或者将一只动物的脸部信息替换成人类的脸。这种技术不仅让人们感到好玩&#xf…

TOP滔博tssign 滔博小程序 通讯协议分析(三)

三、分析源码 用到的工具&#xff1a; 操作流程 : 打开源码 在文件中搜索tssign 搜索到2个结果&#xff0c;双击第一个 tssign _ 跟踪 “_” y.dectryptForAES(m) 跟踪 “dectryptForAES” 标准的AES解密 KEY用getGlobalData获取,需要找到setGlobalData函数位置 分析…

Python采集头条新闻,轻松爬取!

随着互联网的不断发展&#xff0c;人们越来越习惯于获取信息的方式也在不断变化&#xff0c;而在这个信息爆炸的时代&#xff0c;要想获取最新、最有价值的信息&#xff0c;就需要通过一些高效、智能的工具来收集和筛选。其中&#xff0c;Python 作为一种强大的编程语言&#x…

短视频开发,短视频功能如何实现

短视频开发在当今社会发展中逐渐成为稳赚不赔的项目。不仅定位准确&#xff0c;而且很好的将大众的需求与碎片化时间合理利用&#xff0c;短视频行业才得以快速发展。在短视频开发过程中&#xff0c;SDK是必不可少的“工具”之一。 短视频拍摄 1.断点续拍&#xff1a;在拍摄过…

爆款短视频是怎样练成的:视频发布技巧,首次公开

剪辑好的优质短视频怎么发布才能成为爆款视频&#xff1f;短视频发布技巧公开 前面几篇我们讨论了短视频定位&#xff0c;怎么写文案脚本&#xff0c;怎么拍摄以及后期剪辑&#xff0c;至此我们一个优质的短视频已经制作完成&#xff0c;今天我们就聊一下下一个环节&#xff1…

【技术美术图形部分】图形渲染管线2.0-GPU管线概述几何阶段

图形渲染管线1.0 【技术美术知识储备】图形渲染管线1.0-基本概念&CPU负责的应用阶段 在上一篇中&#xff0c;从渲染分类开始介绍了什么是渲染流水线、为什么要有流水线以及流水线如何进行的&#xff0c;还介绍了CPU主导的应用阶段的四项小阶段。 这一篇的第1和第2小节主…

【GIS小案例】CesiumHeatmap热力图

1&#xff0c;CesiumHeatmap&#xff1a; GitHub - danwild/CesiumHeatmap: A library to add heatmaps (using heatmap.js) to the Cesium framework. 2&#xff0c;效果图 3&#xff0c;示例代码 <!DOCTYPE html> <html lang"en"><head><m…

UE 实时地形高度检测(一)。利用虚拟纹理(virtualTexture)低成本生成热力图/高度图/等高线。

哈喽&#xff01; 近期可能会继续撰写一些文章&#xff0c;来丰富自己工作之余的生活&#xff0c;弥补没有项目的遗憾。 如标题所见&#xff0c;这个又是一个智慧城市常见的功能&#xff1a;“热力图、高度图”。 利用虚幻 新功能&#xff1a;“虚拟纹理&#xff08;VirtualTex…

openlayers学习——15、openlayers加载热力图

openlayers加载热力图 前言&#xff1a;基于Vue&#xff0c;学习openlayers&#xff0c;根据官网demo&#xff0c;记录常用功能写法。本人不是专业GIS开发&#xff0c;只是记录&#xff0c;方便后续查找。参考资料&#xff1a; openlayers官网&#xff1a;https://openlayers.o…