用函数研究声调,本文主要内容关键词为:声调论文,函数论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中图分类号:H116.4 文献标识码:A 文章编号:1000-1263(2001)03-0060-05
壹 问题的提出
二十世纪三十年代,赵元任先生首创了用“五度值”描写声调的方法。这种方法源于音乐理论,将一种声调语言的调域空间(基频的最大值与最小值之差就是调域空间)分为五个等份,由低到高依次为一度到五度。声调的五度表示法沿用至今功不可没,但是这种方法由于主要靠人耳的听力辨认声调,所以无法做到精确,分歧也就在所难免,例如汪平著的《苏州方言语音研究》(1996)一书认为苏州话阳去调是曲折形的,而叶祥苓和盛毓青编的《苏州话音档》(1996)却认为这个调是直线形的。
本文试图在语音实验的基础上,用数学分析的手段探索一种更有效、更科学的研究声调的方法。
贰 用CSL做声调实验
在做实验之前必不可少的工作就是设计调查字表、联系发音人以及实地录音,这里就不再赘述了。早期的声调实验采用波形分析法,其原理是通过信号的周期来推算频率,这种分析音高的方法需要繁杂的计算。后来,人们用语图仪分析声调,因为窄带语图能够显示出各种频率成分,所以只要找到基频就可以分析声调了,但是由于噪音的干扰或者是仪器分辨率的限制,很难得到某个音节精确的基频。现在,随着信号处理以及计算机技术的发展,语音实验设备不但功能越来越完善,而且操作越来越简单。我们使用的CSL4300B计算机语音实验设备包括语音信号输入和输出装置、语音信号处理装置以及应用软件。整个系统的使用方便、功能齐全,有信号导入、文件管理、图形与数据显示、语音输出、信号编辑以及多种信号分析功能。
实验步骤如下(详细情况请浏览我们的网站http://speechlab.top263.net/):
1) 启动设备,运行CSL程序
2) 打开三个窗口,窗口A显示时域波形,窗口B显示宽带语图,窗口C显示声调图
3) 设置运行参数
4) 将录制在磁带上的信号通过“线路输入”导入系统
5) 在窗口A中选定要处理的音节,在窗口B中用菜单命令显示宽带语图,在窗口C中用菜单命令显示声调图
6) 记录窗口B中显示的带声调部分的起止时刻
7) 将窗口C中的声调图信息保存在文件中
8) 重复步骤4、5、6、7,直到全部音节处理完成
叁 数据整理和归一化
用CSL做声调实验保存的数据文件有个文件头,接下来声调的频率值以一定的时间间隔出现。为了便捷地得到需要的数据,我们用C语言编写了一个应用程序将需要的数据提取出来,在提取数据的同时对数据进行整理。经过整理的数据是按照声调时长的百分比排列的。也就是取声调的起始点频率,然后每隔时长的10%时间段取一个频率值。为了说明这一步骤的合理性,我们假定一个调类的频率的标准解析表达式为(以直线调形为例)
f(t)=kt+b (0≤t≤T)
(1)
T是平均调长,也就是这个声调实验样本调长的平均值。如果有两个样本w1、w2,则
f[,w1](t)=a[,w1](kt)+b (0≤t≤T[,w1])
(2)
f[,w2](t)=a[,w2](kt)+b (0≤t≤T[,w2])
(3)
从公式(2)、(3)可以看出,系数a[,w1]和a[,w2]导致两个样本的时长改变,但是两个样本的“模式”没有改变。所以对同一个调类的不同样本来说,直接采用从CSL上保存的数据是不能进行比较的,必须将原始的等时间间隔数据转化为等时长比例数据。转化的方法是将调长等分为10份,这样共有11个时间点(包括起止点),每个时间点的频率值用CSL文件中该点前后两点的平均值。即
f[,n]表示经过整理得到的值,f[,m]是CSL记录下来的值,m与n之间的关系是T[,m]<T[,n]<T[,m+1]。
以上的步骤是对每一个样本进行的处理,一般来说每个调类有多个样本,最后还应该将这几个样本的每个百分时刻的值做平均,这样每个调类都有一组数据附图{f[,k]}(k=[1,10]),后续的处理和分析都是基于这几组平均值进行的。
由于人对声调的感知具有相对性,所以不需要研究具体的频率值,这就要对数据进行归一化处理。归一化的方法是对所有的数据做方差运算,得到一个值c,再取所有数据的平均数,得到一个值m,然后将每组数据中的每个数都做如下运算,即可得到归一化后的值,
这里以苏州话为例,苏州话有七个声调,通过上述的实验过程和数据处理,得到七组数据(对应七个声调),每一组是一个列向量,表1就是七组数据经过归一化后的结果,这七组数据的图像为附图1。
肆 用MATLAB做数据处理
MatLab是美国Math Works公司80年代中期推出的数学软件,其优秀的数值计算能力和卓越的数据可视化功能使之在众多的数学软件中脱颖而出。我们用MatLab所做的工作有两项,一项是用函数描写单字声调,另一项是对声调函数的分析。
4.1 用函数描写单字声调
为了用函数描写声调,就要找出声调的数学模型,然后在MatLab中进行曲线拟合。一般来说,世界上的声调语言的调形有多种情形,较为复杂是单个音节的声调有曲折变化,如汉语普通话的上声是先降后升。实际上,即使是平声,其基频也不是严格的水平直线,在起始部分有“弯头段”,在结束部分有“降尾段”。正是基于这个原因,我们采用三次多项式来拟合舒声调和长的入声调。
表1:苏州话单字调实验数据表(因为苏州话阳上调已经归入阳去调,所以表中没有f4。最后一行是每个调类的平均时长。)
而对于短促的入声调,由于不可能存在曲折的变化,只需用一次多项式拟合就足够了。之所以采用三次多项式拟合较长的声调函数,是因为一般的三次多项式有三个单调区间、两个极值点和一个拐点,这些条件能够满足常见的汉语方言的声调描写。三次多项式的一般写法如下:
y(x)=ax[3]+bx[2]+cx+d
(8)
用这种方法研究苏州话的声调,具体做法如下(以阴平声调为例):
f1=[1.8985 1.1392 1.1654 1.2440 1.1392 1.1654 1.0345 1.1654 0.9821 0.7989 0.1967]'
t=[0:0.1:1]
p=polyfit(t,f1,3)
p=-8.1019 11.5974 -5.0500 1.7784
上面方框中的内容是在MatLab中进行的操作,前三行是输入(第一行是定义频率列向量,其中f1就是表一中的f1,第二行是定义自变量,第三行是进行曲线拟合运算),第四行是MatLab的计算结果。根据计算结果可以得出苏州话阴平调的函数解析式:
f[,1](t)=-8.1019t[3]+11.5974t[2]-5.0500t+1.7784 (t∈[0,1]) (9)
应该注意的是这个结果是在数据归一化处理后得出的,所以频率值是相对的;又因为自变量t是时长的百分比,也是个相对量,所以t的定义域是[0,1]。依照上面的做法可以得到其他声调的函数解析式:
f[,2](t)=-10.2736t[3]+17.6807t[2]-6.4569t-0.5901 (t∈[0,1])(10)
f[,3](t)=-7.1203t[3]+8.3460t[2]-5.3444t+2.0867 (t∈[0,1]) (11)
f[,5](t)=-2.9447t[3]+10.6118t[2]-10.3878t+1.8722 (t∈[0,1]) (12)
f[,6](t)=-1.6987t[3]-3.0851t[2]+3.9379t-1.1441 (t∈[0,1]) (13)
由于苏州话的入声调都是短促的直线形声调,所以用一次多项式进行曲线拟合:
f[,7](t)=-1.2806t+1.7581 (t∈[0,1])(14)
f[,8](t)=1.2425t-0.9197 (t∈[0,1]) (15)
各个拟合函数的图像请参看附图2。
当然用多项式曲线拟合有一个适用场合问题,这里采用三次多项式进行曲线拟合是为了方便下一步分析函数的凸凹情况。如果要分析其他特性,就应该选用更适合的拟合方法。
4.2 声调函数的分析
有了表示声调的函数,就应该充分利用函数分析声调,解释人们对声调的感知。在苏州话的单字舒声调中,既有直线形的声调,又有曲线形的声调,多年来人们凭耳朵的听觉辨音,再利用五度标调法描写苏州话的声调,产生分歧是不可避免的。例如汪平著的《苏州方言语音研究》一书中对苏州话声调的描述是阴去调和阳去调分别是降升和升降形的曲线声调(阴去513、阳去231),而叶祥苓和盛毓青编的《苏州话音档》却认为苏州话的阳去调是直线形的(31)。为了探究事实的真相,可以利用上面的声调函数进行分析。公式(9)~(13)是苏州话舒声调的五个函数表示式。考察声调是直线形还是曲线形的实质是考察函数的凸凹问题,为此先求出声调函数的二阶导函数(参见附图3),如下:
f[″,1](t)=-48.6113t+23.1949 (t∈[0,1]) (16)
f[″,2](t)=-61.6414t+35.3614 (t∈[0,1]) (17)
f[″,3](t)=-42.7218t+16.6920 (t∈[0,1]) (18)
f[″,5](t)=-17.6685t+21.2236 (t∈[0,1]) (19)
f[″,6](t)=-10.1922t-6.1702 (t∈[0,1])
(20)
通过对各个声调函数的二阶导函数的分析,可以发现,阴去和阳去声调函数的导函数在t的定义域(0,1)上有f[″,5](t)>0、f[″,6](t)<0,而其他声调函数的二阶导函数在(0,1)上既有大于0也有小于0的区间。由数学定理可知,f[,5](t)是凹曲线,f[,6](t)是凸曲线,至此我们通过声调函数分析,证明了这两个调确实都是曲线形的声调。
在温州话声调的描写方面也存在类似的问题:潘悟云、郑张尚芳、游汝杰描写的上声是升调(阴上35、阳上13),而颜逸明记录的上声却是升降调(阴上454、阳上243),相差很大;入声潘、郑张、游三人记为曲折调323和212,但是颜记的却是34和213。对这个一直是争论不休的问题,我们用函数分析法对温州话声调进行了分析,结果是,温州话的入声调是降升形的,跟潘、郑张、游的记录相符合。不过,对于上声调,情况却没有这么简单。潘悟云、郑张尚芳、游汝杰描写的上声是升调(阴上35、阳上13),而颜逸明记录的上声却是升降调(阴上454、阳上243)。事实上,因为温州话的上声调虽是一个升调,但并不短促,所以从实验的结果看,有一个较长的“降尾段”。我们曾经用语音合成仪器ASL进行切音合成实验,就是将这个上声的“降尾段”切除,然后将进行合成,录音后请本地人听辨,基本上认为没有分别。这一事例说明,在利用函数分析语音时必须实事求是地将语音事实模型化再进行分析,不但要认真地做出数学模型,还要细致地确定函数的定义域,只有这样才能用科学的方法得出科学的结论。
附图
伍 结语
对声调进行数学分析以及用函数研究声调,在汉语声调研究领域里引入了数学知识,使得我们对声调的分析更加细致。我们在这篇文章里仅仅提到了对曲折调的辨认。相信进一步的研究会有更多的发现。
标签:苏州话论文;