吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 21582|回复: 216
收起左侧

[Web逆向] 微软文本转语音 python 命令行工具

    [复制链接]
天空宫阙 发表于 2022-3-13 19:30
本帖最后由 天空宫阙 于 2022-3-19 10:52 编辑

文本转语音的简单demo

另外制作了 tampermonkey 脚本 见 https://www.52pojie.cn/thread-1606432-1-1.html

仓库地址 https://github.com/skygongque/tts/tree/main/python_cli_demo

使用代码可以不用录音直接下载MP3文件

做了一个简单的视频教程 【【无需录音完全免费】有感情的文本转语音 基于微软tts的python小工具-哔哩哔哩】 https://b23.tv/abLjH4G

官方的地址
https://azure.microsoft.com/zh-cn/services/cognitive-services/text-to-speech/#overview[/color]

声明

仅用于学习交流禁止商用

项目的目的和相关说明

  • 项目的核心功能是,可以直接下载转换后的MP3文件,微软官方的网页版demo不能直接下载转换后的MP3文件(直接录音对于转换文字较多时不是很方便)

使用方法

安装依赖

pip install -r requirements.txt

运行

python tts.py --input SSML.xml

使用python 运行tts.py,通过参数input传入SSML.xml文件的路径

或者可以通过传入output 传入希望保存的文件名

python tts.py --input SSML.xml --output 保存文件名

SSML.xml文件的示例如下

<speak xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="http://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" version="1.0" xml:lang="en-US">
    <voice name="zh-CN-XiaoxiaoNeural">
        <prosody rate="0%" pitch="0%">
        这个是 SSML 语音合成标记语言
        </prosody>
    </voice>
    <voice name="zh-CN-XiaoxiaoNeural">
        <prosody rate="0%" pitch="0%">
        这个是晓晓的声音
        </prosody>
    </voice>
    <voice name="zh-CN-YunyangNeural">
        <prosody rate="0%" pitch="0%">
        这个是云扬的声音。
        </prosody>
    </voice>
</speak>

voice name 声音的名字
rate 速度
pitch 语调  

如果对js逆向感兴趣

核心的请求是这个 wss://eastus.tts.speech.microsoft.com/cognitiveservices/websocket/v1

image-20220313185522719.png

这个请求有两个参数AuthorizationX-ConnectionId
其中Authorization来自网页源代码token,可以直接用正则取
image-20220313184024591.png

X-ConnectionId稍微复杂一点,搜索 cognitiveservices/websocket/v1定位到如下位置,发现已经生成,往下追一步
image-20220313184200274.png

发现是createNoDashGuid生成的
image-20220313184347146.png

继续追发现是一个uuid4
image-20220313184505031.png

python 模拟非常简单

import uuid
print(uuid.uuid4().hex.upper())

websocket部分

上述请求之后,改成websocket传递

客户端发送文本,服务端返回二进制

发送的内容示例

Path: speech.config
X-RequestId: 1570E9705B67461494126EE84ED36CD9
X-Timestamp: 2022-03-13T10:48:30.067Z
Content-Type: application/json

{"context":{"system":{"name":"SpeechSDK","version":"1.19.0","build":"JavaScript","lang":"JavaScript"},"os":{"platform":"Browser/Win32","name":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36","version":"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"}}}
Path: synthesis.context
X-RequestId: 1570E9705B67461494126EE84ED36CD9
X-Timestamp: 2022-03-13T10:48:30.068Z
Content-Type: application/json

{"synthesis":{"audio":{"metadataOptions":{"bookmarkEnabled":false,"sentenceBoundaryEnabled":false,"visemeEnabled":false,"wordBoundaryEnabled":false},"outputFormat":"audio-24khz-160kbitrate-mono-mp3"},"language":{"autoDetection":false}}}

第三个发送的包中包含需要转换的文本

Path: ssml
X-RequestId: 1570E9705B67461494126EE84ED36CD9
X-Timestamp: 2022-03-13T10:48:30.068Z
Content-Type: application/ssml+xml

<speak xmlns="http://www.w3.org/2001/10/synthesis" xmlns:mstts="http://www.w3.org/2001/mstts" xmlns:emo="http://www.w3.org/2009/10/emotionml" version="1.0" xml:lang="en-US"><voice name="en-US-JennyNeural"><prosody rate="0%" pitch="0%">You can replace this text with any text you wish. You can either write in this text box or paste your own text here.

Try different languages and voices. Change the speed and the pitch of the voice. You can even tweak the SSML (Speech Synthesis Markup Language) to control how the different sections of the text sound. Click on SSML above to give it a try!

Enjoy using Text to Speech!</prosody></voice></speak>

然后服务器返回一段二进制,只需要提取Path:audio后面的内容拼接就是我们需要的mp3文件。
image-20220313184910519.png

完整代码

https://github.com/skygongque/tts
Snipaste_2022-03-15_14-06-47.png

免费评分

参与人数 52威望 +1 吾爱币 +61 热心值 +47 收起 理由
billsmiless + 2 + 1 谢谢@Thanks!
hxs1 + 1 我很赞同!
wtujcf123 + 1 谢谢@Thanks!
echoSetName + 1 谢谢@Thanks!
icark + 1 + 1 谢谢@Thanks!
love008 + 1 + 1 谢谢@Thanks!
cry123 + 1 + 1 谢谢@Thanks!
tao2017 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
googxy + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Trexrush + 1 + 1 谢谢@Thanks!
WaveH + 1 谢谢@Thanks!
sinoit + 1 + 1 谢谢@Thanks!
shussaku + 1 + 1 我很赞同!
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
tinfengyee + 1 我很赞同!
xiaofeng2004 + 1 谢谢@Thanks!
文火慢燉 + 1 讲个鬼故事,微软文转音网页就能下载音频文件。。。。完全不用软件
flt + 1 + 1 谢谢@Thanks!
leoleo2100 + 1 谢谢@Thanks!
笙若 + 1 + 1 谢谢@Thanks!
tutou + 1 + 1 谢谢@Thanks!
xiaoaivcm + 1 + 1 我很赞同!
S2pojie + 1 我很赞同!
syyl + 1 + 1 我很赞同!
LoveMiku233 + 1 + 1 我很赞同!
jividmpmyi123 + 1 真不错
lxwen + 1 + 1 用心讨论,共获提升!
The-rapist + 2 + 1 用心讨论,共获提升!
SBKK123456 + 1 + 1 谢谢@Thanks!
hwq + 1 + 1 热心回复!
杨辣子 + 1 + 1 谢谢@Thanks!
紫云剑主 + 1 + 1 哈哈哈哈~!~!~!表示看不懂
mengkaikai + 1 + 1 鼓励转贴优秀软件安全工具和文档!
senooo + 1 谢谢@Thanks!
火树银花 + 1 + 1 谢谢@Thanks!
zzq1230820 + 1 + 1 微软语音tts是我用过最像人声的,非常棒
CFM13828249864 + 1 我很赞同!
aliwinner + 1 用心讨论,共获提升!
lgc81034 + 1 谢谢@Thanks!
hinome + 1 + 1 热心回复!
_小白 + 1 + 1 我很赞同!
CDB57955 + 1 + 1 我很赞同!
leo1546 + 1 + 1 我很赞同!
fhyz + 1 + 1 谢谢@Thanks!
Monty + 1 谢谢@Thanks!
1m0z10 + 1 + 1 谢谢@Thanks!
aichiyu + 1 + 1 我很赞同!
yangwei + 1 + 1 新人报道,出来冒泡一下。哈哈哈哈,谢谢各位大佬,自由开放的精神,你们yy.
zuozhiqi + 1 谢谢@Thanks!
createBugAllDay + 1 + 1 谢谢@Thanks!
congjin + 1 我很赞同!
萌新与小白 + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Piz.liu 发表于 2022-3-13 23:26
夕阳枫 发表于 2022-3-13 19:44
确实很需要文本转语音软件,但是就是看不懂,有没有简单些的,谢谢。

我给你总结一下
第一步电脑上安装python
第二步去https://github.com/skygongque/tts  把项目克隆本地(就是把文件都下载到本地)
第三步cmd中进到文件保存目录 执行pip install -r requirements.txt
第四部改SSML.xml里面你想用的文字和声音
第五步cmd中执行python tts.py --input SSML.xml 就生成mp3了

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
XINJIAN9 + 1 谢谢@Thanks!
天空宫阙 + 2 + 1 我很赞同!

查看全部评分

拣尽寒枝不肯栖 发表于 2022-3-13 19:33
duckeyxia 发表于 2022-3-13 20:30
夕阳枫 发表于 2022-3-13 19:44
确实很需要文本转语音软件,但是就是看不懂,有没有简单些的,谢谢。
yidiandian 发表于 2022-3-13 19:54
有没有简单的。
cxliuping 发表于 2022-3-13 20:08
能不能将语言转为文字的呢?
头像被屏蔽
pikamimi 发表于 2022-3-13 20:32
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 天空宫阙 发表于 2022-3-13 20:39

微软文本转语音的效果可以看 https://www.bilibili.com/video/BV1Zy4y1j7i8
使用代码可以不用录音直接下载MP3文件
rain1986 发表于 2022-3-13 20:49
这个能不能将语言转为文字的呢?
g2614557 发表于 2022-3-13 20:50
感谢热心分享。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 19:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表