| 
3D工具Blender绘画工具InkscapeGIMP
音乐工具Audacity所属类型総合P調教
 調声
 作曲
 編曲
 演奏者
 网站運営
 
  
  
0 
0 
0 
 UID: 129091
 权限: 10
 属性: 両性
 发帖: 25  					
 
(0精)
 积分: 24
 章鱼: 0
 大葱: 1
 茄子: 470
 注册:2014/2/7
 存在感:97
 
 | 
 
| 经过允许后从将邮件转发如下。 
 在 2014年2月14日 12:29,Star Brilliant 写道:
 
 各位好! 
 以下是我的个人观点,仅供参考。
 
 目前,Rocaloid只支持中文,但是主页声称要实现多语言。为了实现多语言,我们
 还需要什么?我只了解中文、英文、日本语,所以下面的例子我以这三种语言
 
 第一,用一套通用音标符号,我认为很重要。
 
 首先,不是每一种语言都有原生拼音。其次,对于不同辅音需要不同的处理技术。
 音标符号我推荐 X-SAMPA,是事实上的通用标准,和 VOCALOID、Mbrola 等语音合
 成软件也兼容。
 但是 X-SAMPA 中有 \ < 等符号,可能入库的时候要考虑转义问题。VOCALOID 2
 用 ¥ 代替 \ 也是因为日语字符集不支持 \。
 
 第二,有一个 V C-V V-C-V V-C C 的音源,或者有一个高超的合成技术能在无 V-
 C 的情况下用 C 合成出来。
 
 现在 Cyan 音源有 V C-V 的 diphone 组合。对于中文或许够了(吗?),但是有
 的语言远远不够。英语、粤语、中古汉语等许多语言都有闭口音,就是以辅音结束
 的音节,如英语的 sit,中古汉语的 粒。
 如果能用 C 合成出 V-C 的话,一切都好解决。但这很难。UTAU 连续音声源是 V
 和 V-C-V 的。在凭空造辅音技术没有的情况下,我们是否要让 Cyan 有 V-C-V 呢?
 貌似浊辅音的衔接比较难凭空造。V-VoicedC-V 可以录,V-VoicelessC-V 试试看
 造吧。还好中文只有三个浊辅音:m n r,分别对应 X-SAMPA [m] [n] [z`]。没有
 V-C-V 合成日语会哭的……
 另外,有个自由授权的基于 phone 的语音合成软件 ekho 含有中文和粤语各一套
 C-V 音源。可以考虑转换成 CVDB 来测试 Rocaloid 的鲁棒性。毕竟只有 Cyan 一
 个音源不代表某个算法一定成功。
 
 第三,处理好 VOT 的不同。
 
 不同语言的 VOT 变化很大。日语的 VOT 可以说是三种语言中最小的,中文最大
 (与现代汉语浊辅音的丢失有一定关系)。
 根据维基百科的说法,出气于否也会影响 VOT。如果能用无气辅音造有气辅音,用
 清辅音造浊辅音,一来节省录音数目,二来能够让一个语音库兼容多种语言。
 
 第五,凭空造元音
 
 当然不是说凭空,而是根据已经采集的一些元音的共振峰来推断某个位置的元音。
 我知道 FECSOLA 算法可以做到这个。我希望能把这个东西继续带到下一个版本的
 Rocaloid 中。
 决定一个元音无非就是这些参数:开口度、发音前后位置、圆唇度、嘴唇凸起收缩
 程度。最重要的是前三个参数。比如 啊 [a] 就是 开前不圆唇元音,呜 [u] 就是
 闭后圆唇元音,う [M] 就是闭后不圆唇收缩元音。
 基本的目标是能够用中文的语音库合成中文,用英语语音库合成英语。但是我希望
 在二十年内能有一个更好的结果:用一个发音不全的语言合成另一种语言。
 这个从技术上开起来不简单,我只是希望能够让各位知道有这么一回事就好了。
 
 第六、多研究一点辅音
 
 目前 Rocaloid 开发的主要任务放在了元音的频谱上。如同我在第五节所说,元音
 的变化很少,只有4种参数(只有前3种重要)。而辅音的变化特别多,维基百科列
 举了7种参数。
 VOCALOID 把辅音做了分类。Sleepwalking 拆解数据库的时候应该看到了。有的辅
 音,比如擦音 [s] [f] 之类的音,基音频率都在 2kHz 左右,完全可以在时域上
 直接拼接处理。而有的辅音,如 [n] [m] 需要当作元音一样考虑共振峰的变换。
 儿化音有的人认为是元音的变化,有的人认为是辅音,会产生一个附加的共振峰,
 完全可以不录音,直接合成出来。
 有一些辅音,比如 [l] [r\] [n] [m] 在 attack 之前会有一小段发音时间,如果
 做单词结尾甚至会没有 attack。(对比 like willing will round around car
 nose Hanning Han mouse Hamming ham)这个东西是我没有研究明白的东西,希望
 有懂语音学的能够做一些研究
 
 第七、需要很多别的语言的声源来测试
 
 这个在短时间内不太容易实现。不光是时间精力还是经济上。如果我有充足的时
 间,有可能会录一点。质量不要报期望。这个坑会不会填也不能肯定。
 
 另外,关于辅音,谁能帮我查找一下中文的 特 的 [t] 音和英语的 time 的 [t]
 音在发音方法上区别的资料么?好像舌尖和上颚接触的方式不同。目前我没有找到
 相关的文章。在录入数据库的时候希望能区别对待,我还是希望找到一个前人用过
 的符号,而不是自己创造一个新符号。(你看 VOCALOID 自己创造了少数几个几个
 发音符号导致了几个 bug 对不?洛天依的 而 [@`] 就是例子)
在 2014年2月14日 14:46,Star Brilliant 写道:
 
 于 2014年2月14日 12:03, Sleepwalking 写道:> 我对X-SAMPA和辅音特性了解很少。希望SB可以研究下这方面的分析和合成技术。
 > 1. X-SAMPA都是ASCII的,/和<考虑用别的符号代替掉,应该有几个保留符号吧,
 > 正好可以用上。
 X-SAMPA 全都能用七位 ASCII 表示。程序内部没有问题。问题是数据库存储到文
 件系统上的时候可能受到 DOS 保留字符 ?*<>\|/" 的限制。
 
 不如用 %5c 和 %3c 之类的代替好了。反正 X-SAMPA 没有用 % 符号。
 我记得 Debian 的 deb 包名就用 %3a 来代替 : 的。可以在 /var/cache/apt 里
 找证据。
 我个人不赞成用新的符号,原因是不希望已经会 X-SAMPA 的 VOCALOID 调教师再
 去学新的一套东西。
 
 最好的学习 X-SAMPA 的方法是去玩 VOCALOID,用 Ctrl-R 直接编辑音标符号。
 VOCALOID 的 X-SAMPA 有几个错误,可能是开发者的失误,先将错就错吧。
 
 > diphone就用两个X-SAMPA组合。
 
 仿造 VOCALOID,把两个符号之间用空格隔开吧。双元音(不等同于两个元音)和
 三元音(只有少数语言有)或许可以连起来写?
 
 > 2. CVE3.5计划直接在时域上拼接辅音和正弦合成出的元音,已经在 Wavetave/
 > MinCVE有一个初步实现(CV和V的拼接)。
 > V-C或者C-V没有试过。辅音自带共振峰,可以考虑在Sinusoidal和Residual信号
 > 上构建辅音共振峰过渡,我非常希望有人来试试。
 
 有的辅音很短,用共振峰模型真的大丈夫?不知道能不能填满 SFFT 的窗口呢。
 
 > 3. 希望有人能研究下辅音的建模。
 
 第四条漏了,补上。
 
 很多语言都有多个辅音连续发音的情况,比如英语的 sky splendid。
 (顺便普及,sky 不是读作 [s g aI] 哦,而是读 [s k aI],但是 [k] 是无气
 的。英语老师说的辅音浊化是错的,应该是辅音无气化。)
 我知道 VOCALOID 在这方面处理很不得当。Miku 的 [p 4] 没办法连续发音成为用
 Miku 调英语的一个坎。(但是 [s t] 连续发音很完美。)Luka 的 [t r\] 连发
 也很奇怪,true 这个词能听到“嘟噜”一声。
 这是为什么呢?一方面是因为不同辅音连续发音的间隔时间不完全相同,另一方面
 是人在读 [t r\] 和 [t j] 的时候会连读成 [tS r\] 和 [tS j],VOCALOID 没有
 考虑到这个。或者把 [tr\] 类似 [tS] 一样看作一个整体,而不是像 VOCALOID
 那样当作两个辅音看待。
 
 > 5. 我们对元音的建模也只达到前两点,即F1 F2的控制。FECSOLA和改进版 LCFE
 > CSOLA仍存在一些问题。我正打算用分段抛物线
 > 对 共振峰包络建模。另外我想 了解圆唇度、嘴唇凸起收缩程度的频谱特性。
 
 既然儿化音,鼻音化元音都会影响元音共振峰,我们把这两个参数也加进来一起研
 究吧。
 虽然很多研究者认为现代汉语的前鼻音和后鼻音是 [n] 和 [N],但是我认为是鼻
 音化的元音,并能够举出证据来反驳。或许需要更多的研究。如果我的假定成立,
 那么在中文和法语中都会遇到大量的鼻音化元音。是单独录音还是后期合成?还是
 先试图在数据库中找到录音的,找不到就合成?
 
 > 6. [n][m]的VOT直接变成周期性开始位置。直接套正弦模型,效果还不错。
 > 7. 可以试试新葛炮、琴歌音源,当然仅限内部使用。
 
 ekho 那个可以直接发布的。没有版权问题。ekho 本身合成质量不高,但是音源不
 错。可是音调需要手动调。用 Audacity 导入,选中除了 attack 的部分,打开改
 变音高工具,会自动估计当前音高填在第一个框内,第二个框填目标音高,记下来
 下面显示的改变百分比,点击取消,用改变速率工具,填入那个百分比,确定。
 (这样做是因为音源中不需要保留时长。改变速率工具只会做一次 resample,保
 真度比较高。)
 
 > 最后非常希望大家参与Wavetave的开发和研究工作。
 
 我想说,语音合成最基本的原则就是利用最少的音源量来合成最多的发音组合。数
 据复杂度和程序复杂度成反比。理论上在录音量无限的时候合成算法是最简单的
 (举例:公交车的语音报站、电话自动应答系统),反之亦然。各位也都知道
 Cyan 音源录制的成本非常高。我想,通过某些技术可以减少录音数量,能够节省
 将来音源录制的成本,也是 Rocaloid 和 UTAU 最不一样的地方啊。
 
 如果有需要,能否把语音研究相关成果同步到 iVocaloid 论坛?主要目的是让我
 们比较困惑的问题被其他对语音学有研究的爱好者解答。
 | 
 |