Python让AI虚拟主播接入微软Azure语音合成并精准嘴型同步

上一篇文字中讲了利用Python实现利用微软Azure无限免费将文本转mp3格式的音频文件并下载到本地。微软Azure TTS的优点不用多说,今天将讲如何利用Python将其接入到虚拟主播中来。

订阅专栏,我将免费向您提供具体的方案。

看过专栏其他文章的朋友,一定知道,我们使用的虚拟主播软件为Motionface,其支持一些简单好用的接口。我们先看看Motionface的效果:

我们看到了其要求是需要wav格式的音频来驱动嘴型同步,但是微软Azure语音合成为mp3格式,这时,我们需要将mp3音频文件转换成wav的音频切采样率为11025。

这个转换过程是利用ffmeg,通过python脚本调用实现。

ffmpeg -i mp3\output_1649494987952.mp3 -f wav -ac 1 -ar 16000 ./output_1649494987952.wav

开始python代码吧!

from ffmpy import FFmpeg as mpy
import os def read_folder(mp3_folder, wav_folder):'''文件夹读取函数:param mp3_folder::param wav_folder::return:'''# 遍历需要转换的MP3文件夹中的MP3文件for a in os.listdir(mp3_folder):# 创建MP3文件的绝对路径mp3_file = os.path.join(mp3_folder, a)# 调用格式转换函数trans_to_wav(mp3_file, wav_folder)def trans_to_wav(mp3_file, wav_folder):'''格式转换格式:param mp3_file::param wav_folder::return:'''# 格式化文件file_fmt = os.path.basename(mp3_file).strip()# 获取文件格式file_fmt = file_fmt.split('.')[-1]# 校验文件格式if file_fmt.strip() != 'mp3':raise Exception('改文件不是MP3格式,请检查!')elif file_fmt.strip() == '':raise Exception('文件格式出现异常,请检查!')# 创建wav的文件以供转换完成后输出wav_file_path = os.path.join(wav_folder)wav_file_path = os.path.join(wav_file_path, '{}.{}'.format(os.path.basename(mp3_file).strip().split('.')[0], 'wav'))# 创建转换时的命令行参数字符串cmder = '-f wav -ac 1 -ar 11025'# 创建转换器对象mpy_obj = mpy(executable='ffmpeg.exe',inputs={mp3_file: None},outputs={wav_file_path: cmder})print('执行CMDER 命令:{}'.format(mpy_obj.cmd))mpy_obj.run()if __name__ == '__main__':'''主函数入口'''# 输入MP3文件夹mp3_folder = input('输入MP3文件夹路径:\n')# 校验MP3文件夹是否存在if mp3_folder.strip() == '':raise Exception('输入空值,请检查!')elif mp3_folder.strip() != '':if os.path.exists(mp3_folder) is False:raise Exception('文件路径不存在')# 输入wav文件夹路径wav_folder = input('输入wav文件夹路径:\n')# 校验wav文件夹是否存在if wav_folder.strip() == '':raise Exception('输入空值,请检查!')elif wav_folder.strip() != '':if os.path.exists(wav_folder) is False:raise Exception('文件路径不存在')# 调用文件夹读取批量文件read_folder(mp3_folder, wav_folder)

 接下来,我们将利用python,将wav音频文件传给motionface即可进行嘴型同步了:

import sys
import threading
import urllib
import sslfrom urllib.parse import urlparsefrom scripts import watcher, webdriver
from config.helper import config
import requestsdef sendFile(filename, filepath):url =   "http://192.168.3.131:8080/cgi/savewav"header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'}files = {'file': open(filepath, 'rb') }files1 = {'file':(filename,open(filepath, 'rb'), 'audio/wav')}data = {'file':filename,'objectName': filename,'fileDownloadName': filename,}upload_res = requests.post(url,data=data,files=files1)if __name__ == '__main__':print('1')sendFile('rec.wav','rec.wav')

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

微软HPC解决方案

首先我们先来看下高性能群集与其它几种群集的不同 高可用群集:群集所有节点,来维持一个应用的持续运作,如果当前应用所在节点失败,自动故障转移至其它节点 负载均衡群集:群集所有节点来平衡一个应用的访问请求&#x…

群辉服务器间同步文件,群晖NAS端之间同步(Cloud Station Sharesync)

Cloud Station套件是一个套件组,包含5个功能模块,其中Cloud Station Server是Cloud Station在NAS上的服务器端;云同步(Cloud Station Drive)和云备份(Cloud Station Backup)是电脑端软件,Drive是电脑端和NAS端的双向同步&#xff…

微软同步工具之synctoy

 synctoy是由 微软 推出的一款免费的文件夹同步工具。微软的软件都以复杂与臃肿著称,不过这款软件还真是摆脱了复杂和臃肿。 :第一項是最主要的雙向同步功能,會依據左右兩端點裡檔案的增加、刪除、修改、更名&#x…

4 hadoop集群配置案例

3&#xff09;配置集群 &#xff08;1&#xff09;核心配置文件&#xff0c;core-site.xml cd $HADOOP_HOME/etc/hadoopvim core-site.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text…

远程桌面同步本地计算机,微软更新远程桌面应用现在终于可以在本地和远程计算机上复制文件...

远程桌面连接是许多专业用户和开发者必备的功能&#xff0c;通过远程桌面服务可以直接连接远程计算机并可以直接操作。 系统自带的远程桌面连接程序微软已经很久没有更新&#xff0c;因为微软现在主要通过应用商店发布新版本远程桌面应用。 比如在刚刚发布的远程桌面应用新版本…

解决 vscode 登录微软账户同步设置 出现“vscode.dev 关闭了连接“ 问题

我的电脑最近重装了系统&#xff0c;之前的软件都删除了&#xff0c;在重新安装vscode之后想同步之前的设置、主题时出现了问题。 我的解决方法是 在当前页面 输入 https://vscode.dev 看能不能打开。 如果能打开&#xff0c;再次点击vscode登录账号同步设置 我之前使用微软账…

跨设备同步保存密码

跨设备同步保存密码 文章目录 跨设备同步保存密码前言一、密码管理方式二、跨设备存储密码1、采用Keepass存储密码2、Keepass连接坚果云 三、小记&#xff1a; 前言 现在网络平台越来越多&#xff0c;除了可以直接通过手机登陆的方式&#xff0c;其次就需要使用到账号和密码。账…

【WIN问题】微软Microsoft onenote/store 无法连接网络无法同步解决

问题描述 将近1个月没有使用PC端的微软笔记&#xff0c;手机app正常使用。登录PC端记录笔记后&#xff0c;Ctrl s 保存时OneNote提示&#xff1a;无法同步&#xff0c;网上看了很多博客推荐的方法&#xff0c;尝试无果&#xff01; 后面发现 Microsoft store 也不能登录&…

【太多网工对NAT还存在这4种误解!你是其中一个吗?】

NAT是解决公网地址不够用大家最熟悉的网络技术之一&#xff0c;而NAT最依赖的是NAT translation表项&#xff0c;至于NAT的概念和背景这里不再解释&#xff0c;网络上有很多关于此的类似介绍&#xff0c;自己搜索即可。下面主要是针对大家对NAT的一些误解进行分析。 1 误解一…

PC主流同步软件评测

因为一个要把超过13G的众多零散文件同步到webdav网盘的需求&#xff0c;将市面上一些知名的同步软件试用测试了一番&#xff0c;最终发现只有Syncovery满足需求 先把参与测试的同步软件列一下&#xff1a; GoodSync、FreeFileSync、微软SyncToy、KLS Backup、SecondCopy、Sma…

Ansible 生成硬件报告

生成硬件报告 创建一个名为 /home/greg/ansible/hwreport.yml 的 playbook &#xff0c;它将在所有受管节点上生成含有以下信息的输出文件 /root/hwreport.txt &#xff1a; 清单主机名称 以 MB 表示的总内存大小 BIOS 版本 磁盘设备 vda 的大小 磁盘设备 vdb 的大小 输出文件中…

并发编程基础知识篇--进程和线程的区别

进程和线程 进程 在一个操作系统中&#xff0c;每个独立执行的程序都可称之为一个进程&#xff0c;也就是“正在运行的程序”。目前大部分计算机上安装的都是多任务操作系统&#xff0c;即能够同时执行多个应用程序&#xff0c;最常见的有Windows、Linux、Unix等。比如在Wind…

Compose - 容器组合项

一、弹窗 Dialog var showDialog by remember { mutableStateOf(false) } Column {Button(onClick { showDialog !showDialog }) {Text(text "点击弹窗")}if (showDialog) {Dialog(onDismissRequest { showDialog false }, //消失回调properties DialogPropert…

机器学习策略——优化深度学习系统

正交化&#xff08;Orthogonalization&#xff09; 老式电视机&#xff0c;有很多旋钮可以用来调整图像的各种性质&#xff0c;对于这些旧式电视&#xff0c;可能有一个旋钮用来调图像垂直方向的高度&#xff0c;另外有一个旋钮用来调图像宽度&#xff0c;也许还有一个旋钮用来…

代理模型

代理模型 仿真计算时不使用流体力学、固体力学的知识进行有限元、有限体积仿真&#xff0c;而是通过事先的训练数据&#xff08;输入与输出&#xff09;建立起代理模型&#xff08;黑匣子&#xff09;&#xff0c;给定代理模型输入则会得到输出。 最重用的代理模型有多项式响…

Tableau可视化入门实践-1

目录 Tableau 介绍基础统计图形条形图堆积图直方图饼图环形图 Tableau 介绍 Tableau是一款功能强大的数据可视化和业务智能工具&#xff0c;被广泛应用于各行各业的数据分析和决策支持领域。 Tableau提供了直观友好的用户界面&#xff0c;无需编程和复杂的数据处理技能&#x…

互联网之子:亚伦·斯沃茨

介绍一部人物纪录片——互联网之子。 讲述亚伦斯沃茨 的短暂但是辉煌的一生。 主角介绍 亚伦斯沃茨&#xff0c;1986118&#xff0d;2013111&#xff0c;程序员、作家、政治组织策划人和积极行动主义者。他年仅14岁就参与创造RSS 1.0规格&#xff0c;在程式设计圈当中声名大噪…

威尔克姆教程:他他米的偏移系数及分割线

他他米的偏移系数及分割线 他他米的条纹有向左和向右两个方向 他他米偏移系数只能在0到1之间调&#xff0c;他又以0.5为中心。0.5以下条纹是向左的&#xff0c;0.5以上条纹是向右的 例如: 条纹是向左的&#xff0c;偏移系数是A:0.25 B:0.25 条纹是向右的&#xff0c;偏移系数…

威尔克姆绣花软件wilcome2.0t怎么安装教程?及解压密码获取

威尔克姆E2.0T怎么安装&#xff1f;威尔克姆是国际使用最广泛的绣花软件&#xff0c;E2.0T版本是在2013年是时候推出的版本&#xff0c;收到广大绣花制版师的欢迎&#xff0c;本文就给大家介绍一下软件的安装方法&#xff0c;本方法适用于xp win7 win8 win10&#xff0c;32位和…