- 3D工具
- POSER
- 绘画工具
- Photoshop
- 音乐工具
- MusicMaker
- 所属类型
- 网站運営
  

0
116
0
UID: 109626
权限: 40
属性: 不明 发帖: 167
(0精)
积分: 658
章鱼: 7
大葱: 19
茄子: 2448
注册:2012/7/18
存在感:252
|
本帖最后由 scskarsper 于 2012/8/12 01:00 编辑
最近几天空闲时在研究WinIME的API和用MMV研究普通话语音的录音带结构,WinIME的多音字转换问题和长句语义分析基本搞定了,不过天依酱的普通话发音貌似大家都比较感兴趣,虽然不是什么很好的建议,但是咱总结出几点收获总结如下,希望能和各位共同进步吧~(大师可以绕路了~咱是还是初学者~)
1.VOCALOID3 可以多音节拼写,Po2貌似也可以,不过效果不怎么好。也就是说英文发音什么的还是可以凑合实现在一个音符里的(x-sama),比如HAPPY的发音大概是:x a i p_h i,VEL调到最高,然后POI和PIT用降调式~~
SO,如果你嫌弃VOCALOID的发音太正的话不妨加一些辅音到里面,比如"揪"的标准音是ts\ i@U,但是因为辅音延音的原因听上去像是(基-欧)的音,所以把i@U替换成o 将双元音断裂成三元音是有效滴。再比如四川那嘎达方言里的发音“勺”,实际发音为(烧u),那么在sha的音阶后面加入单元音u大概就能出来这个音了~。记得IV有篇帖子说日常发音中ang eng ong ing 等发音最后会有中音n,其实呢~尾音加入n也是可以的,从原来的meng->m @N 变成 meng->m @N n ,舒服多了吧!
2.音调什么的唱歌的时候看上去其实没有太厉害的用处,一般用来念诗~(额,做了一个DEMO,能听了~效果还是有点硬硬的~跟GOOGLE那个音调差不多,难道是因为采样的原因?)。其实呢,我个人见解是在写歌词的时候我们本身就需要注意发音的音调问题,古代有种说法叫吟诗作对,歌词本身某种意义上也算的上是按“节奏”来打的一种长短句了,所以我们有时候在听一些中文原意翻唱的时候会感觉很伪和,因为在节律上,某一个音在音高播表上呈现降调式,但是在中文歌词这里却是个升调式,然后听上去这个音节就会很别扭,跟走了音似得。所以中文歌曲歌词本身就要符合歌曲的“平仄”走向,因此听上去似乎所有歌曲的歌词都是没有声调的- -。
BUT,VOCALOID的采样明显是平声采样,天依的采样数更是尤其的少(不知道是我测试的方法不对还是什么原因x-sama的音标能发出音覆盖率不足10% ,我是用程序合成出大部分独立发音的x-sama声音组合的16分音符,然后让天依唱,最后用WAV分析器计数波峰总数/音符数)。但是在实际唱歌中,天依酱唱歌是有音调出现的,所以抱怨YAMAHA没有对中文音调分析的说法其实是愿望他们了,但是从算法层面上来猜测,天依的音调是根据音节的音高拟合的(彻底分析VSQX结构会直到,每一个琴键对应一个两位数的值,60是C3),大家可以试试,假如我们需要发音 wei1 shen3 me0,然后设置音高为:E3 B2 C#3,那么实际发音结果会是wei4 shen3 me,所以,大概可以猜想其实VO3的实际音准时长为90%-98%,前后各1%-5%为音调的贝塞尔曲线平滑浮动空间,而实际的发音音长则为100%+向后衍生5%低音量拟合,(有兴趣的去拿AU做做实验,挺好玩的)。
当然,这些只是各种Fantasy~,真正的原理只有YAMAHA的开发者知道
但是这样就可以基本解决问题了
音调这些东西与其说是发音,不如说是我们在发音的半途改变了原本的声音。
那么发出音调就可以有两种方案:A:改变PIT+POR,利用频率计数器来改变 B:改变音高,利用YAMAHA的拟合曲线完成
首先说说A方案:
A方案根据MMV的采样输出结果看还是很平滑的
POR曲线很稳定,相当的稳定,因为是平调朗诵不是唱诗的原因,这个基本没变化,当然咱很高兴看到这个,因为这说明音调和POR没有绝对的关联(其实不可能没有,但是看上去不是那么重要)
PIT曲线很有意思,一音基本上是直线(PIT=0),但是在四分音符开始以上,尾部1/3-4/5处开始出现了正弦态波动(以四分音符为准,以下同),也就是说在四分音符开始就会有颤音了,但是尾部明显有颤音消失~
二音是一个二次抛物曲线,从音起点开始直接定位在1500左右,然后下降到1/3时长附近归到原点(定点),接着开始走二次曲线上升沿在6500左右结束,用直线简化的话直接从1/4处开始直线上升到6500结尾,效果基本上可以接受,前面的少量下降沿基本确定是辅音的音区(后面B方案测出来的~)
四音和二音类似,看上去也是个抛物线,不过**的是他只有一点,很明显,多读几次就会发现我们其实不怎么喜欢降调拉的很长~大部分时候调子降下去尾音跟的很短。所以朗诵态的四音也包含了这个特典,在前1/3基本上没有PIT变化,2/2之后的部分的1/2由一个倒立的二次抛物曲线下降沿组成,起点为0(定点),然后圆滑的下降到-5000结束,然后PIT值会直接上升回到0点。不过拉长音的时候我依然觉得从第一个16分音符时长点直线下降PIT效果更好~
三音放在最后的原因是它没有变化,或者说是MMV根本没提取出三音,三音的人声发音节点竟然在DYN?!这让我百思不得其解了半天,后来自己录了一遍才发现,MMV认定音高竟然是以中值来确定的,于是乎,三音因为中间音节为全声最低调,所以悲催的被降调N阶处理了~,实际的三音经过拟合发现它由3部分组成,起点为0:前1/4的中心点大约在2000附近,尾部1/4的中心点也差不多在2000附近,以两个中心点为端点,以1/2时长处为顶点(-5000),整个3音的中部是一个大的平滑的坑。我用(0,0) (0.125l,2000) (0.5,-5000) (0.875l,2000) (l,-3000) 5个点进行4次方函数拟合,出的图形独立发音还能接收的说~(如果粘连音就难受了~PBS一会儿说)
DYN曲线基本上来说发音都是一个效果的,我们往往觉得声音有时候很小很难调,尤其DYN调整的时候,给我感觉DYN和WAV发音播表振幅不是1/1对应关系,而是一个引导关系,看上去大概相当于曲线的中切线或者是线性方程的系数。所以当你前一区域的DYN调整的很高的时候,在下一区域的银两你会明显感觉到声音貌似变小了很多很多,然后过了一会儿银两才会起来,尤其是唱完高潮后低起的时候(比如D4->E3过度),看起来除了三音以外,其他的音起点都是0,然后在一个1/64音符时长内迅速攀升到100前后,然后根据不同音调波动一下,比如一音和二音就是平稳的,四音在后1/2开始缓慢的降低,最后在最后一个1/64音符时长处归0。很显然所有的音节最后尾部都尽量归到0,对平衡整体的音量和发音效果很有用,回想以前调<啦啦>的时候貌似也这么做的来着,虽然当时是想弄促音,也算歪打正着了。三音和一音二音的区别就是它有两个波峰,跟骆驼似地,成M型,而且前锋比后峰高,当然中部不用落到0,40前后就差不多了,回想以下无论是PIT还是DYN,三音貌似都是被拆分成一个4音+2音的组合看待的,比如想(xiang3),在VC里按照(1/3)Xia4+(2/3)Ang2看待和理解似乎更合适一些。
PBS曲线在用A方案时候采样普遍是PBS很高的值,虽然它也影响了声调,但是貌似作用还不只这些,VOCALOID的发声原理和十大参数我也只理解了几个熟悉的,PBS实在是用的少了些,但是尝试几次,PBS除了音阶变化外,貌似还对过度音产生了变化,比如一音一般在PBS=2-4之间发音就很不错,PBS=4-5是属于2音和4音的,3音则必须在PBS=4-6的时候才有很好的效果,我实验的时候四个音按1234码在一起,PBS=2464的结果感觉好一些,但是在试颂“登鹳雀楼”的时候明显PBS=4,并设置三音PBS=6效果才能顺耳点儿~
A方案挺复杂,但是调节参数的话对整体乐谱的控制压力要小的多,但是这很不灵活,PIT曲线涉及属性太多了,像咱比较喜欢清脆活泼音色的家伙,什么都没干的时候就会先PIT调高,直到音色感觉舒服了,然后才调别的参数,好吧,这时候就悲剧了,前几天试着鼓捣欧若拉~PIT舒服的时候已经6000+了,控制音降还好,控制上升音高什么的,算了,我还是去画晴天娃娃比较现实……
B方案是做猫耳开关的时候弄双原音用的,后来在对A方案采样结果建模的时候突然有了这个想法,好吧,思路很简单,给一个音拆分成三连音,And~开始调音调把
不管你是做什么发音,一音可以不动,当然如果出现降调什么的(比如上面提到的wei1->wei4)的问题,那么在尾部加入1/64分音符,设置发音为"i\"(其实任何一个发不出的音都OK),让那个音代替你去升降调吧!
二音和四音先等分2分,然后把原因和辅音拆开分别填进去,然后调节下两个音符的时长,最后拖动下后面的音符的高低- -
三音和二音方法相同,只不过拆成3份而已,调节中间的音高和尾部的结束音高(中间一定比尾部低)
至于拆音节什么的~と~用助音符号拆长元音会有很不错的效果哦~
3.发音符号~
VC的发音符号很少~少的可怜~可怜的要死,SO 拆音节活着拼音的话相比也比较吃力。我导出了一部分,粘下面,有兴趣的自己分析下吧~~
基本发音符号(以中文汉语拼音发音为准):
b 发音: p
p 发音: p_h
m 发音: m
f 发音: f
d 发音: t
t 发音: t_h
n 发音: n
l 发音: l
g 发音: k
k 发音: k_h
h 发音: x
j 发音: ts\
q 发音: ts\_h
x 发音: s\
z 发音: ts
c 发音: ts_h
s 发音: s
r 发音: z`
y 发音: i
w 发音: u
a 发音: a
o 发音: o
e 发音: 7
i 发音: i
u 发音: u
v 发音: y
zh 发音: ts`
ch 发音: ts`_h
sh 发音: s`
ai 发音: al
ei 发音: ei
ui 发音: uei
ao 发音: AU
ou 发音: @U
iu 发音: i@U
ie 发音: iE_r
ve 发音: yE_r
er 发音: @`
an 发音: @_n
en 发音: @_n
in 发音: i_n
un 发音: u@_n
vn 发音: y_n
ang 发音: AN
eng 发音: @N
ing 发音: iN
ong 发音: UN
固定发音音组:
zhi 发音: ts` i`
zh 发音: ts` i`
chi 发音: ts`_h i`
ch 发音: ts`_h i`
shi 发音: s` i`
sh 发音: s` i`
ri 发音: z` i`
r 发音: z` i`
zi 发音: ts i\
z 发音: ts i\
ci 发音: ts_h i\
c 发音: ts_h i\
si 发音: s i\
s 发音: s i\
yi 发音: i
wu 发音: u
yu 发音: y
ye 发音: iE_r
yue 发音: yE_r
yuan 发音: y{_n
yin 发音: i_n
yun 发音: y_n
ying 发音: iN
eng 发音: e @N
ong 发音: o UN
b 发音: p o
p 发音: p_h o
m 发音: m o
f 发音: f o
d 发音: t 7
t 发音: t_h 7
n 发音: n 7
l 发音: l 7
g 发音: k 7
k 发音: k_h 7
h 发音: x 7
j 发音: ts\ i
q 发音: ts\_h i
x 发音: s\ i
so 发音: s @U
of 发音: @U f
A 发音: ei
B 发音: p i
C 发音: s 7 i
D 发音: t i
E 发音: i
F 发音: a i f
G 发音: ts` i` i
H 发音: ts`_h
I 发音: ai
J 发音: ts` ei
K 发音: k_h ei
L 发音: a l u
M 发音: a l m
N 发音: en
O 发音: o
P 发音: p_h i
Q 发音: k_h 7 i @U
R 发音: a @`
S 发音: aI s i\
T 发音: t_h i
U 发音: i@U
V 发音: uei
W 发音: t a p u l i@U
X 发音: aI k_h 7 s i\
Y 发音: uaI
Z 发音: ts ei
1 发音: i
2 发音: a @`
二 发音: a @`
3 发音: s a_n
4 发音: s i\
5 发音: u
6 发音: l i@U
7 发音: ts\_h i
8 发音: b a
9 发音: ts\ i@U
0 发音: l iN
⑨ 发音: k_h 7 i @U
结语PS: 以上这些是最近分析并且已经实现到类里面了的,咱的工程也开始做WAV分析部分了,希望最后能整合出一个有用的东西来~。另外有需要VSQX的.NET XML序列化/反序列化模块 滴可以发信给我哦~
想做一个像太鼓达人或者说POPSUB风格的那种打节奏生成音符,然后根据追加输入的音高生成VSQX文件并且初步带上一些基本音调或者参数的玩意儿,希望大家能给点建议~~
ACGMIKU/IVOCALOID/ASCDM 同步PUBLIC
COPYRIGHT @PRIVATE 转载请声明
|
-
2
查看全部评分
-
|