Ajax 板


LINE

这篇算是 Justin/twitch 平台应用的记录 内容可能很杂乱 ︿︿") 一般人对於 Text to Speech 文字转换语音的印象 最接近的一次应该就属 Google 翻译 http://ppt.cc/qOq4 不过有感於浏览器日渐肥大 实际应用时还可能会干扰到原本的使用习惯 因此开始考虑 摆脱浏览器的使用方式 以下为使用 LimeChat2 + JavaScript 的心得 真要说起来 CreateObject("SAPI.SpVoice").Speak"I love you" 是一切的滥觞 对这串没啥印象? 那麽这个标题 「你知道吗? 电脑其实也有性别」「检查你的电脑是男生还是女生」 不晓得有没有看过类似的网路流言 XD 原文是采用 VBScript 呼叫 Speech Application Programming Interface(SAPI) 延伸阅读:http://webptt.com/cn.aspx?n=bbs/digitalk/M.1381463983.A.7D4.html 可惜 SAPI 方面没有找到合用的台湾腔语音引擎 因此改往 Microsoft Speech Platform(MSSP)作研究 刚开始其实很不在意语音参数 想说 MSSP 能用就好 只是看到 spcbght.bat:http://denspe.blog84.fc2.com/blog-entry-29.html 不信邪为什麽人家可以办得到 参考之下才发现大有玄机 //SAPI5のVoiceオブジェクトには //「速度」「音量」のプロパティはあるが「音程」はない。 //音程を指定する场合は<pitch absmiddle="音量値"> //を使いXMLモードで再生する必要がある。 //その场合は第二引数に「SPF_IS_XML(0x08)」を指定してXMLを强制する。 这注解乍看之下是 SAPI 没想到意外的也能作用於 MSSP VoiceObj.Speak('<pitch absmiddle="'+VoicePitch+'">'+SpeakText+"</pitch>" ,0x00|0x08); 搭配最後一行的注解 让我更是在意 Speak method 葫芦里到底卖的是什麽药?! 回头去找 http://msdn.microsoft.com/library/ee125647.aspx 终於让我发现了 SpeechVoiceSpeakFlags(SVSF) http://msdn.microsoft.com/library/ee125223.aspx 也才注意到原来预设的同步 是指朗读的时候会将执行中的程式锁住(防止下一步操作 改为 Asynchronous Speaking 非同步语音 整个就非常合乎使用了 而 SAPI text-to-speech (TTS) extensible markup language (XML) 标签 也改为 MSSP 的 Speech Synthesis Markup Language (SSML) http://msdn.microsoft.com/library/hh378377.aspx 这真的是要暴力解才会这样子用 因为 MSSP 与 SSML 完全没提到这件事情 最後就产生了这个大杂烩的 JavaScript 将 SAPI.SpVoice 改为 Speech.SpVoice 呼叫 MSSP 但实际上 Object 仍保有 SAPI 性质 所以 Speak method 让 MSSP 支援 SVSF 达成 非同步 与支援 SSML 可自订语音参数 https://drive.google.com/file/d/0B3hkFOHrzSukU3hvVE12OElld3M 过程中 TRY & ERROR 真的是充满各种撞墙期 尤其是有些参数都不会回报错误讯息 1)想说有看到 http://www.w3.org/TR/speech-synthesis11/ 结果用 <speak version="1.1"> 就是毫无反应 2)又譬如 SSML prosody Element 搭配 parseInt 时好时坏 後来抓 log 出来看才发现 正数 都…(默 少了个 + 就是死给你看 ╮(﹀_﹀")╭ 不过後续修补也加入了 isNaN 算是难得的防呆 3)常用到 String.match 或 String.replace 这功能 这次好好的重新回顾了 RegExp http://rubular.com 4)平常用 != '' 习惯了 有时候太顺手会打出 == '' 这种鬼东西(被巴头 订正十次 == null 请养成好习惯 目前还有打算改善的地方有两个 1)一个是读取文件的方式 由於 . 跟 : 都会影响 array LimeChat2 能够使用的函式又有限 目前还没想到怎麽回避 o(><;)o 2)另外就是注音符号了 语音的字典档没办法念 是有考虑过这种方法 http://winscript.jp/azurea/4 不过实作上 应该用关键字替代更实际 XD 最後附上释出前发现的网站 http://tdc.putonghuaonline.com/tool/index.php 之前浏览了一下 似乎也不少这种 TTS App 有兴趣的话才玩玩看吧 -- 旧文,挖坑前置作业 Gesmic7http://webptt.com/cn.aspx?n=bbs/Live/M.1381476020.A.B9E.html 附上各种参考资料 http://www.neko.ne.jp/~freewing/software/speech_app_11/ http://mahoro-ba.net/e1591.html http://www36.atwiki.jp/jikkyosha_ust/pages/80.html#id_32933629 接下来才看有没有动力转移到 Perl 或 python 这样子就连 hexchat 都有机会用用看了 _(:3J∠)_ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 49.158.75.98







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP