文本转语音-微软Azure-一步一步教你从注册到使用

简介: 第一次使用微软Azure太难了, 记录下使用步骤, 不然以后还要踩坑, 文字转语音最终实现了呢! 喵! 喵!

牙叔教程 简单易懂

为什么不用腾讯阿里讯飞的呢?

他们的中文也许还行, 但是英文我试了都不满意, 我再网上搜到的我认为最好的是

但是丫真贵 https://speechify.com/

现在的汇率是

139   ×   6.91 = 960.49

一年一千块, 好像还行哈, 但是没卡呀, 擦,

比来比去, 还是微软Azure性价比最高,

没有微软Azure的可以去某宝搜索Azure, 一般人也没卡, 你懂吧.


进入Azure首页

https://azure.microsoft.com/zh-cn/


点击右上角登录按钮, 会进入这个页面


点击左上角的创建资源


点击AI + 机器学习, 里面的语音


带*号的都是必填的, 资源组没有的话就新建, 定价层我选的free


填完以后点击下一步


一直点击下一步下一步/ 创建


点击转到资源


记住底部的秘钥和终结点, 后期会用到, 点击 转到 Speech Studio


往下翻页, 就能找到 文本转语音了


你可以先试试语音库, 听一听音色, 选择自己喜欢的, 并记住名字

我选择托尼老师


聆听声音右侧有代码


在音色下方是后序步骤

点击 打开快速入门


选择你自己使用的语言

我选的是js


安装依赖

npm install microsoft-cognitiveservices-speech-sdk


复制黏贴代码

let config = require("./config.js");

console.log(config);

(function () {

 var sdk = require("microsoft-cognitiveservices-speech-sdk");

 var readline = require("readline");

 var audioFile = "cool.mp3";

 // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"

 const speechConfig = sdk.SpeechConfig.fromSubscription(config.SPEECH_KEY, config.SPEECH_REGION);

 const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile);


 // The language of the voice that speaks.

 speechConfig.speechSynthesisVoiceName = "en-US-TonyNeural";


 // Create the speech synthesizer.

 var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig);


 var rl = readline.createInterface({

   input: process.stdin,

   output: process.stdout,

 });


 rl.question("Enter some text that you want to speak >\n> ", function (text) {

   rl.close();

   // Start the synthesizer and wait for a result.

   synthesizer.speakTextAsync(

     text,

     function (result) {

       if (result.reason === sdk.ResultReason.SynthesizingAudioCompleted) {

         console.log("synthesis finished.");

       } else {

         console.error("Speech synthesis canceled, " + result.errorDetails + "\nDid you set the speech resource key and region values?");

       }

       synthesizer.close();

       synthesizer = null;

     },

     function (err) {

       console.trace("err - " + err);

       synthesizer.close();

       synthesizer = null;

     }

   );

   console.log("Now synthesizing to: " + audioFile);

 });

})();


生成的音频文件叫cool.mp3, 里面就是文字转换好的语音



这个ChatGPT星球有多牛逼


相关文章
|
数据可视化 Linux API
使用Docker安装部署Swagger Editor并远程访问编辑API文档
使用Docker安装部署Swagger Editor并远程访问编辑API文档
451 0
|
人工智能 弹性计算 运维
ECS控制台,AI助手与极简管控体验
本文介绍了ECS控制台的演进及最新AI工具功能。控制台作为运维平台,需兼顾用户体验、可靠性和安全性。针对不同用户(个人开发者、企业级用户、资源管理员和架构师),控制台提供了定制化AI助手,涵盖售前选型、售中购买、售后运维等全链路支持。AI助手可智能分析用户需求,推荐合适规格,并提供实例诊断、命令解释等功能,简化操作流程。此外,还推出了简洁版控制台,优化了小资源量用户的使用体验,减少复杂度,提升效率。未来,控制台将朝着更智能、个性化的chat ops方向发展。
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
513 0
|
12月前
|
存储 缓存 Docker
docker: No space left on device处理与迁移目录
通过以上方法,可以有效地管理 Docker 的磁盘使用情况,并确保 Docker 运行环境的稳定性和效率。
1192 34
|
12月前
|
网络协议 Unix 应用服务中间件
|
Ubuntu Linux PHP
PHP8报:Unable to load dynamic library ‘zip.so’ 错误
通过上述步骤,可以解决PHP 8中“Unable to load dynamic library ‘zip.so’”错误。确保正确安装和配置 `zip`扩展,并验证其是否正确加载,可以有效避免和解决此类问题。
515 16
|
JavaScript
Vue3瀑布流(Waterfall)
这是一个基于 Vue2 的瀑布流(Waterfall)组件,支持多种自定义属性,如图片数组、列数、间隙、宽度、圆角、背景色及 Spin 加载样式。组件通过计算每张图片的位置实现动态布局,并利用 Vue 的响应式系统自动调整布局。提供了在线预览和详细代码示例,方便集成到项目中。
850 1
Vue3瀑布流(Waterfall)
|
数据库连接 开发者 Python
从 Flask 迁移到 FastAPI,这简直是一场奇妙之旅!性能飙升,代码更优,快来感受这份惊喜!
【8月更文挑战第31天】作为一名开发者,从 Flask 迁移至 FastAPI 是一次充满挑战与收获的旅程。起初,Flask 的简洁性和灵活性吸引了我,但随着项目扩展,其性能局限性和较弱的类型提示支持逐渐显现。FastAPI 结合了 Flask 的简洁性和 Django 的强大功能,具备高性能、类型提示支持及自动文档生成等优势,更适合构建现代化 Web 应用。尽管迁移过程中需对现有代码进行调整,以适应 FastAPI 的类型提示和依赖注入机制,但最终应用性能和代码可维护性均显著提升,整个过程也大大提升了我的开发技能。
524 0
|
JavaScript 前端开发
JS - 正则替换富文本内容的所有图片地址,并提取src、alt、style等属性
这篇文章提供了使用JavaScript正则表达式来替换富文本中所有图片地址,并提取`src`、`alt`、`style`等属性的示例代码和方法。
926 1
|
定位技术
巡逻巡更二维码制作教程,10分钟即可落地
用草料二维码,十分钟即可搭建巡逻巡更二维码系统。一线人员只需扫描巡逻点张贴的二维码,就可以记录对应区域的定点检查情况。同时,管理人员可以通过查看后台数据,实时掌握巡查进度,从而提高工作效率,确保巡查工作的质量。
356 8