我正在编辑我以前的文章,以前我不能很好的解释。我写了这段代码
param_values = {
'aa' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,1.0], [-1,-1]],
'ae' : [[-1,-1], [-1,-1], [0.3,0.4], [-1,-1], [0.15,1.0], [-1,-1]],
'ah' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,1.0], [-1,-1]],
'ao' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.3,1.0], [-1,-1]],
'b' : [[-1,-1], [0.2,1.0], [-1,-1], [-1,-1], [0.15,0.2], [-1,-1]],
'ch' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.4], [-1,-1]],
'd' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.4], [-1,-1]],
'dh' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.35], [-1,-1]],
'dx' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.35], [-1,-1]],
'eh' : [[-1,-1], [-1,-1], [0.1,0.5], [-1,-1], [0.4,0.7], [-1,-1]],
'er' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.5], [-1,-1]],
'ey' : [[-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [0.3,0.5], [-1,-1]],
'f' : [[0.5,1.0], [-1,-1], [-1,-1], [-1,-1], [-1,-1], [-1,-1]],
'g' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.8], [-1,-1]],
'hh' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.8], [-1,-1]],
'ih' : [[-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [0.05,0.15], [-1,-1]],
'iy' : [[-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [0.1,0.15], [-1,-1]],
'jh' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.6], [-1,-1]],
'k' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.8], [-1,-1]],
'l' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.6], [-1,-1]],
'm' : [[-1,-1], [0.2,1.0], [-1,-1], [-1,-1], [0.15,0.2], [-1,-1]],
'n' : [[-1,-1], [-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [-1,-1]],
'ng' : [[-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [0.09,0.3], [-1,-1]],
'p' : [[-1,-1], [0.2,1.0], [-1,-1], [-1,-1], [0.15,0.2], [-1,-1]],
'r' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.6], [-1,-1]],
's' : [[-1,-1], [-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [-1,-1]],
'sh' : [[-1,-1], [-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [-1,-1]],
't' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.4], [-1,-1]],
'th' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.2], [-1,-1]],
'uh' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.5,1.0]],
'uw' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.5,1.0]],
'v' : [[0.5,1.0], [-1,-1], [-1,-1], [-1,-1], [-1,-1], [-1,-1]],
'w' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.2,1.0]],
'y' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.4], [-1,-1]],
'z' : [[-1,-1], [-1,-1], [-1,-1], [0.3,1.0], [-1,-1], [-1,-1]],
'zh' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.15,0.6], [-1,-1]]
'o' : [[-1,-1], [-1,-1], [-1,-1], [-1,-1], [-1,-1], [0.4,1.0]]
}
def coart(phonemeFile) :
""" Coarticulation function where forward and backward coarticulation take place a and parameter values are generated"""
with open("syllabifiedPhonemes.txt", "r") as pFile :
for line in tFile :
line = line.split()
if line == " ' " :
continue
param\u values是音素列表,其中包含每个音素的相应列表。每个音素的列表都与我从Maya获得的混合变形滑块值有关。我在玛雅有6个混合形状,分别是下唇在上齿下,嘴唇接触,嘴唇张开,牙齿接触,下巴张开,嘴唇圆润。所以这些值是音素对于每个滑块值的范围。你知道吗
[-1,-1]表示未使用特定的blendshape。其他值是形状可以移动的范围。你知道吗
列表显示,大多数情况下,它只是一个单一的唇形是活跃的一个音素,其余的是[-1,-1]。但对于某些音素,有2或3个唇形同时活跃。我在Maya中手动设置了动画。“唇形”的值从0到1不等。你知道吗
输入文件的内容,音节化音素.txt是的
sh iy ' hh eh ' t er ' t aa r k ' s uw t n ' k r iy s ' hh iy ' w aa ' sh w aa dx ' er ' l ih ' y er
程序应该遍历文件中的所有这些音素,并通过参考上面的列表来设置相应唇形的值。应存储这些值,以便进行进一步的工作。单引号表示音节边界。首先,程序应该忽略音节边界遍历音素,并保存所有形状的唇形值。然后在下一阶段,它应该开始查看每个边界内部。你知道吗
到目前为止,我只有这个,但我对如何进一步进行空白。我想我已经很好地解释了我的问题。非常感谢。你知道吗
这些值是“形状”列表中存在的形状的值。有人能帮忙吗。非常感谢。你知道吗
假设你已经知道哪些音素和哪些唇形有关,听起来你只需要建立一个字典。就你的问题领域而言,这只是一个例子,可能是无稽之谈:
所以你可以找到这样一个音素的唇形:
lip_shapes['aa']
接下来要做的是用常量而不是字符串来表示唇形:
对唇形使用常量名称,而不是长字符串,将使您的编程更不容易出错。(您将导致一个
NameError
而不是一个细微不同的字符串。)这对你有帮助吗?你能看看如何把你的数据转换成这种形式吗?你知道吗
相关问题 更多 >
编程相关推荐