jing332 / tts-server-android Goto Github PK
View Code? Open in Web Editor NEW这是一个Android系统TTS应用,内置微软演示接口,可自定义HTTP请求,可导入其他本地TTS引擎,以及根据中文双引号的简单旁白/对话识别朗读 ,还有自动重试,备用配置,文本替换等更多功能。
这是一个Android系统TTS应用,内置微软演示接口,可自定义HTTP请求,可导入其他本地TTS引擎,以及根据中文双引号的简单旁白/对话识别朗读 ,还有自动重试,备用配置,文本替换等更多功能。
获取音频失败(Azure): x509: certificate signed by unknown authority
换不同的引擎也是
请问是否有办法可以减少朗读之间的延迟?目前我们发现加载下一组朗读的平均延迟为1秒。
感谢您使用目前版本: https://github.com/jing332/tts-server-android/actions/runs/3812485613
建议分句的时候不要以句号分割,可以两个符号一次。不然有时候太长可能超时卡住
才用一個禮拜左右,替換規則已經長長一串,雖有搜索功能,但若有群組功能,對於管理跟界面都有幫助。
作者之前做了旁白和对白的分离,不得不说朗读体验真的很好,我很喜欢这个。但是美中不足的是,旁白无法做人物细分,我也知道这个几乎不可能实现,除非写书的人给不同人物的对白用上不同的符号。注意到作者最近加入了随机切换对白的功能,显然还是想在这个方面努力一下的,那么这里我有个建议,不知道技术上有没有可行性:
能不能把一个声音和某个特定文字符号绑定(比如张三),当一段文字中出现这个符号,同时又有双引号(也就是对白)的时候,就使用这个声音来朗读;如果一段文字中含多个这种符号(比如张三对李四说“”),取第一个。
不知道能不能行,希望作者解答
添加配置里面的。添加本地TTS
有一个警告这个警告没有确定按钮,不知道的还以为关不了,幸亏我知道这个时候该用返回,里面有几个只读默认,当我们点开才知道,标题上写着选择TTS引擎:还有选择语言以及选择语音,这三个下拉列表没有任何提示,当点开才有提示,希望增加提示,谢谢开发,辛苦了
願大佬一切順心如意,真的非常感謝你的付出,讓小弟聽書時總是有著愉快的心情。
另如果可能而你也真有空時,可否煩請將最後的dev版打包成release版?這不強求,只是看最後的release版候你又花很多時間改了好幾版的dev版,當然這要你有時間。
第一个是声音会变小,过一会又正常了,会反复出现;
第二个是webm格式看阅读app内跳段时间应该是播放了,但听不到声音,网页测试webm是正常的;
第三个是听着每一段最后几个字好像没播放完就下一段了。
Azure接口新增webm-24khz-24kbps只有前几个字的声音,然后就下一段了,不知道是哪里的问题?
最近使用了这个tts安卓应用,效果比miui自己的tts要好很多,不过目前发现对多音字不支持,是否考虑增加一个支持多音字的版本呢?如果需要相应的注音的话,可以提供支持。
在设置了最小对话匹配字数之后,小于规定字数,在引号内的部分,仍会切分后,再进行合成。
这样导致,一些表强调,反语的双引号,也会在对应位置引发不自然停顿。
建议对小于设定字数阈值的部分,直接不拆分合成。这样应该也不会短对话的合成效果。
我们在调节了语速之后,我想听一听这个语音的速度如何,我想想知道这个语音符合不符合我自己的要求,但是试听按钮现在还没有,希望增加上试听按钮,谢谢
读者是否有可能一次阅读更长的段落?
目前读者停在每一个"。"和换行符(\n)。
使用正则表达式规则行得通吗?
使用阅读app听小说过程中发现,每听完一章,需要手动打开tts-server界面,才会继续朗读,就打开界面过一会儿会看到下一章发送消息的日志开始输出,如果不手动打开会一直停在那里。据我观察,阅读app使用url朗读这种方式和使用系统tts组件朗读不同,前者是异步的,每次发送一段,发送和接收是异步的,一章的内容会早早发送完,然后收到一段响应的音频就播放,整体上就很连贯,后者应该是同步的,网络越差两段朗读的间隔时间就越长。
会不会是阅读app早早把一章发送完,也接收完响应的音频,tts-server空闲的时间过长之后就休眠了?
如题希望能做到这个样子,谢谢
网络导入时,时间超长,很少成功,请问是什么原因?谢谢。
系统tts界面只能保存一次配置,再调整参数就保存不了,仍然是第一次的配置,必须把整个APP完全退出重新打开才能重新配置保存
转发自身app,多目标语音在线可以缓存,离线tts如谷歌和搜狗则会和已经缓存的所在段落一起播放!
如正在缓存第9段落随机到离线tts,就会和正在播放的第2段一起播放!
现在每段朗读间隔大约1.5到两秒左右。自定义接口间隔更久。可以吧这个时间再缩短点么?缩短到0.3-0.5秒左右
比如百度的接口就有很多音色,国内的接口优势就是不卡稳定
或者谷歌的接口
{
"concurrentRate": "0",
"contentType": "audio/wav",
"enabledCookieJar": false,
"header": "",
"id": -100,
"lastUpdateTime": 1668975751716,
"loginCheckJs": "",
"loginUi": "",
"loginUrl": "",
"name": "1.百度-评书",
"url": "http://tsn.baidu.com/text2audio,{\n "method": "POST",\n "body": "tex={{java.encodeURI(java.encodeURI(speakText))}}&spd={{(speakSpeed + 5) / 10 + 4}}&per=4114&cuid=baidu_speech_demo&idx=1&cod=2&lan=zh&ctp=1&pdt=220&vol=5&aue=6&pit=5&res_tag=audio"\n}"
}
比如百度的接口谷歌的接口
{
"concurrentRate": "0",
"contentType": "audio/wav",
"enabledCookieJar": false,
"header": "",
"id": -100,
"lastUpdateTime": 1668975751716,
"loginCheckJs": "",
"loginUi": "",
"loginUrl": "",
"name": "1.百度-评书",
"url": "http://tsn.baidu.com/text2audio,{\n "method": "POST",\n "body": "tex={{java.encodeURI(java.encodeURI(speakText))}}&spd={{(speakSpeed + 5) / 10 + 4}}&per=4114&cuid=baidu_speech_demo&idx=1&cod=2&lan=zh&ctp=1&pdt=220&vol=5&aue=6&pit=5&res_tag=audio"\n}"
}
希望把这个功能做好下拉列表,这些都是悬浮的,很不好,尤其是那些使用,盲人智能键盘机的这就有点悲催了,他们得打开触摸屏幕功能摸一下屏幕的角色,才能找到下载列表里的内容,很费劲,还有,触摸屏幕的这些盲人,只喜欢滑动的,那些人找这些角色也不是很好找,所以不希望有悬浮还是改成死定的最好
“你们果然在高层里安插了「信徒」。”“这不重要。”呓语伸出手,像是位身姿笔挺的乐队指挥家,在空气中轻轻一挥。
开启旁白和对话模式后
上面这句中第二句对话没有读。
最近几天不能用了
Hello, good evening, today I tried your application, after trying it for a while in Chinese, I asked why it is not in English? Is there any way that I can contribute in the language, the Microsoft server languages are clear... but there is a problem, a severe bug that I found "websocket bad handshake" restarts retrying to collect endless requests to the server. why is this happening? Does it block the IP or something like that? I am connected by a router that is Chinese in Argentina. greetings from Argentina
无障碍里边能不能再增加几个东西?你比如说,分组下拉列表默认分组,选择角色下拉列表小双,选择语气下拉列表什么什么什么,无下拉列表,什么什么音频格式下拉列表什么什么等等
可選擇介面語言,而不是現在的跟隨系統。現在是否僅有簡中跟英文?
网页版切换azure时报错:The page at http://localhost:选1233 says:声SyntaxError:JSON.parse:unexpected end of data at line 1 column 1 of the JSON data。
角色和其他信息都加载不出来了。
可否添加Azure的api支持呢?就是支持填写azure的语音服务api,并输入相关ssml设置呢?毕竟网页请求他的这个接口我不太会呀
导入配置界面所填网址链接会因为过长而导致只会滚动所填内容的上下,而无法翻动界面的上下,使导入按钮无法通过滚动界面来达到点击的目来进行导入配置。
大佬打扰了,请问是数据传输带空格吗还是怎么样😂,在tts-server-android内设置好测试语音时可以正常连读(系统设置tts后测试也可以正常连读),但是在阅读app内是一个字一个字读的,而配置google本地tts的可以正常连读,软件fbreader 手机1+7 pro 安卓12
2022-11-20T05:35:29.150
版本代码:2, 版本名称:0.1_202211161018
崩溃详情:
go.Universe$proxyerror: Get "https://speech.platform.bing.com/consumer/speech/synthesize/readaloud/voices/list?trustedclienttoken=6A5AA1D4EAFF4E9FB37E23D68491D6F4": x509: certificate signed by unknown authority
at tts_server_lib.Tts_server_lib.getEdgeVoices(Native Method)
at y1.b.j(SourceFile:606)
at i3.a.x(Unknown Source:8)
at y3.g0.run(SourceFile:101)
at d4.a$a.run(SourceFile:82)
Suppressed: y3.e0: [i1{Cancelling}@36dba3f, Dispatchers.Default]
注释如[34]会被直接读出数字
例如:
大桥彩代气势十足地喊道,「四碗阎魔大王拉面!」
小仓功雅笑着转身准备拉面,「四位请稍等,拉面马上就好!」
其中对话部分是“四碗阎魔大王拉面!”与“四位请稍等,拉面马上就好!”
目前软件还无法识别「引号」内的对话
如题,为什么要在onSynthesizeText方法整个代码块上加同步锁?这样不是将本来可以并发合成的方法,变成了一个同步的方法,一次只处理一个请求?阅读实际上一次发送了多个合成请求,如果并行处理的话,在朗读第二段以及之后的段之前,实际音频已经合成了,这样朗读段之间就不会有网络请求造成的延迟。
Firstly, i would like to say that you have made a great app, at least for me!
Your app have worked very well, but sometimes I run into the situation that said "bad handshake" error. We know that the reasons behind the limit of Azure Demo API, and it take time for the app to work normal again. And you have to updated new API in the meantime, right? So, the main point of this post is it is better to have the function in which the end user can use their own API. Thanks for your great app!
大佬太厉害了,听小说成听广播剧了,刚试用了你最新的build版本,太棒了,对白可不可以多个角色,然后界面可以配置每个角色对应小说里面的人物名称(可以对应多个,如用逗号分开),多个角色之外加一个通用角色(就是小说里出现的频次低的路人甲),这样就真成广播剧了,呵呵!
声音多,风格更多,如果有试听就好了
大佬如果有时间的话,可以在修复下无障碍吗?
在新的开发版中,分组不管是展开还是收起状态,都会朗读成展开状态。
分组后面的复选框也可以简化一下,从分组是否勾选,复选框已经选中改成分组复选框一选中就行了,等于说给软件加上了复选框,我们这边就会提示他是选中的还是未选中的。
谢谢。
你好,我目前的方法是用自动化软件tasker,打开应用,点击启动,返回主界面,请问有没有更好的方法比如发个intent之类的,或者直接应用内弄个选项
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.