JAVA 和Matlab 混合编程及其应用
王 薇,杨丽萍
( 长春大学 计算机科学技术学院,长春!)
摘 要:)N‘N 面向对象编程语言和 ON9&ND 具有各自的优缺点!将二者结合起来进行混合编程应用到情感语音特征
值分析可以充分发挥其各自的优点,弥补单独编程的不足!本文介绍了通过 ON9&ND 调用 )N‘N 及 )N‘N 调用 ON9&ND
的技术,并简要介绍了在 )N‘N 中调用 ON9&ND 实现情感语音语谱图的显示方法! 关键词:)N‘N; ON9&ND; 混合编程; 情感语音
中图分类号:6U>\’ \文献标志码:- 文章编号:\! 引 言!
随着人工智能技术!信息技术的飞速发展和人类与计算机关系的日益密切,人们已经不在满足于计算机
能播放和识别人类的语音信号,而且还希望计算机能够识别人类的语音情感信息,对人类情感的变化给出一
定的判别\目前较多的语音情感研究都是从语音信号中提取出一些声学特征,然后将特征化简提取出一些
更有效的特征,再用模式识别中的一些方法尝试去识别语音信号中的情感 [\]
\语音情感特征值的提取与分 析是语音情感识别的基础,而语音情感识别是一门综合性的多领域的交叉学科,具有一定的难度,所以对情
感语音信号的分析需要有一个十分方便且功能强大的工具\
O-6.-f 是 LN9BPQ &ND%BN9%BY( 矩阵实验室) 的缩写,它自 \年由美国 ON9GA?X 公司推出后,经过不
断地改进和发展,现已成为国际公认的优秀的工程应用环境,已被广泛的应用到教学!工程计算!通信!图像
处理!自动化控制等领域 [!]
\该软件主要包括 O-6.-f 和 5PLS&PFC 两大部分\语句书写简单,功 能强大,一条语句往往相当于其它高级语言中的几十条!几百条甚至几千条语句 [>]
\在很大程度上,O-6:
.-f 摆脱了传统非交互式程序设计语言( 如 0!/1BNF) 的编辑模式,为工程设计!科学研究以及必须进行有
效数值计算的众多科学领域提供了一种全面的解决方案,成为国际科学计算软件的先进代表
\
)N‘N 是由 5SF 公司发布的一种纯面向对象程序设计语言\目前 5SF 公司已被 *BN8&E 公司收购\‘N 语
言具有跨平台性!可移植性!多线程!分布式!安全可靠等优点\但 )N‘N 程序设计语言对一些较为复杂的数
值计算的编程较繁琐,编程效率较低\对于情感语音特征值的分析与处理可以采用 )N‘N 及 ON9&ND 的混合编
程,实现二者的优势互补\
\与 A.73.B 混合编程的方法 )N‘N 与 ON9&ND 的混合编程可以是 )N‘N 程序调用 ON9&ND,也可以采用 ON9&ND 调用 )N‘N 程序\
\访问 W.Q. 程序 从 ON9&ND H’ > 版本起,在 ON9&ND 的安装程序中集成了 )N‘N 虚拟机 )$O( )N‘N $PB9SN& ON8GPFE) ,这样用户
就可以通过 ON9&ND 的命令访问 )N‘N 命令解释器,完成对象的创建和访问过程\访问 )N‘N 程序具有以 下优点:
( \通过访问 )N‘N -U3 扩展 ON9&ND 功能,例如一些输入输出功能及网络功能,ON9&ND 完全可以通过 )N‘N 中的 +,. 类访问网络上的资源;
( !) 通过访问第三方提供的 )N‘N 类库提高编程的重用率;
( >) 在 ON9&ND 中较容易地构建 )N‘N 对象,可以用 )N‘N 或是 ON9&ND 的语法访问 )N‘N 对象中的方法;( K) 较容易地完成 ON9&ND 及 )N‘N 之间的对象传递或是数值传递\
ON9&ND 访问 )N‘N 中的类主要有三个来源: 一是 )N‘N 类库中的类; 二是第三方软件提供者提供的类; 三是
用户根据需求自己创建的类\加载类时在类路径中查找所需要的类,因此 )N‘N 类要加载到 ON9&ND 中
首先要在 ON9&ND 中设置类所在的路径\中的 )N‘N 类路径有静态路径与动态路径两种: 静态路径是在
ON9&ND 启动时加载的,在 ON9&ND 运行期间不能更改的路径; 动态路径则可以在任何时间进行加载和修改\
在 ON9&ND 提示符状态下可使用 lN‘N8&NXXTN9G 查看当前的静态路径与动态路径设置,若要修改静态路径的设
置内容可先使用 ZP98G 8&NXXTN9G’ 9Q9 命令查看 8&NXXTN9G’ 9Q9 静态类路径文件所在的位置,再进一步用 ERP9
8&NXXTN9G’ 9Q9 修改文件内容\定义动态路径时使用 lN‘N8&NXXTN9G 命令,修改动态路径时可使用 lN‘NNRRTN9G 和 lN‘NBLTN9G 完成\
当确定 ON9&ND 中所要用的 )N‘N 类存在后,可用在 ON9&ND 程序中使用 PLT1 命令将 )N‘N 类或 )N‘N 类所
在的包完全导入到 ON9&ND 程序中,以便于在 ON9&ND 程序中使用\例如: PLT1 lN‘N’ &NFW’ 59BPFW; PLT1 lN‘N’ S9P&’ k ;
PLT1 lN‘N’ NS9’ k ;
PLT1 lN‘N’ S9P&’ 4FSLEBN9P%F;
而在 ON9&ND 中使用类中的方法与 )N‘N 中类似,同样是点分隔符完全对类中方法的访问\但是应注意的
是要在 O-6.-f 中调用的变量或方法必须要声明为 TSD&P8 类型 [!] \
\程序访问 A.73.B
)N‘N 程序访问 ON9&ND 主要有三种方式: ( \利用 0*O 对象实现访问
0*O 是指通用对象模型( 0%LL%F *DlE89 O%RE&) ,是 OP8B%X%^9 推出的一个二进制代码标准\此标准包括 规范和实现两大部分,这些规范不依赖于任何的语言和操作系统\在 ON9&ND 中构建 0*O 对象需要使用
0%LfSP&REB 完成 ON9&ND 算法到 0*O 对象的转换,从而使 )N‘N!0 @ 0 e e !$f 等基于 0*O e 的应用程序使用 0*O 对象\
( !) 利用 0*,f- 实现访问
0*,f- 是指公共对象请求代理结构( 0%LL%F *DlE89 ,EaSEX9 fB?B -B8GP9E89SBE) ,它是体系结构最完
整!最清晰,跨越平台最多的构件模型 [K]
\使用 0*,f- 连接 ON9&ND 十分复杂,开发效率低 [H] \
( >) 利用 )(3 技术实现访问
)(3 是指本地编程接口( )N‘N (N9P‘E 3F9EB^N8E) ,ON9&ND 向 0 @ 0 e e 语言提供了 ON9&ND 4FWPFE 函数,)N‘N 通
过 )(3 技术调用这些函数实现对 ON9&ND 的访问\是指 ON9&ND 提供的一种面向 0@0 e e 和 /%B:
9BNF 语言的接口函数,应用程序的前端程序是用 0 或 )N‘N 实现的 2+3,而应用程序的后端采用 ON9&ND 编程, 这样可以提高编程效率,缩短编程时间\用户应用程序使用 ON9&ND 的 4FWPFE 函数时,一个新的 ON9&ND 进程
会产生,通过控制该进程完成计算及绘图任务\# N5A 技术实现语谱图读取
情感语音分析中常用的特征值分为两类: 一是韵律特征; 另一是音质特征\而各分类中又包含着多个特
征值的选取,如短时能量!基音!强度!共振峰!语谱图分析等\#’ \语谱图
语谱图主要用于反映语音信号动态频率特征,在语音分析中具有极其重要的实用价值\有时也可以把
语谱图看作是可视语言\语谱图的水平方向表示时间轴,垂直方向表示频率轴,图上的灰度条纹则可表示各
个时间点的语音短时谱\语谱图上因其不同的灰度,形成不同的纹路,称之为#声纹#\声纹因人而异,所以
语谱图在司法!安全等场合得到广泛应用\
语谱图包括时间分辨率和频率分辨率,这两个分辨率均由窗函数决定\时间分辨率越高,则时间波形的
每个周期及共振峰随时间的变化可以观察得越明显\但若频率分辨率低,在语谱图上则不足以分辨出由于
激励所形成的细微结构,此时可称为宽带语谱图,而窄带语谱图正好与之相反\宽带语谱图由于可获得较高的时间分辨率,则可以反映频谱的快速时变过程; 窄带语谱图可以获得较高的频率分辨率,所以可以反映频
谱的精细结构\两者之间相结合,就可以提供带宽与语音特性相关的信息\#X # 使用 N5A 技术的条件
在 ON9&ND 的安装目录下查找 9%%&D%Q 文件夹,在该文件夹中如果看到存在 lN‘NDSP&REB 文件夹,则说明已 经安装了 ON9&ND fSP&REB ^%B )N‘N\‘N 也可称为 )N‘N fSP&REB,它是对 ON9&ND 0%LTP&EB 的一 个扩展\用 ON9&ND 的 )N‘N fSP&REB 可以将 ON9&ND 函数包装成一个或多个 )N‘N 类,从而形成一个 )N‘N 组件或 者包被 )N‘N 程序调用\
本实验所采用的开发环境为 lRC\’ <’ #j\和 O-6.-f ,!#\,主要进行情感语音信号语 谱图的读取和显示\
#X $ 将X / 文件生成X Y.< 文件
将 ON9&ND 中的’ L 文件生成 )N‘N 环境中的’ lNB 文件的操作步骤如下:
( \在 ON9&ND 的 8%LLNFR 窗口输入 RET&%Y9%%& 命令,弹出一个新窗口 ?ET&%YLEF9 UB%lE89\
( !) 在 ?ET&%YLEF9 UB%lE89 窗口中单击 FEZ 按钮创建新工程,输入新工程名 OYUB% 并在 6YTE 列表框中选 择 )N‘N UN8CNWE 选项\
( >) 在 ON9&ND 的编辑器中编写 YSTS’ L 文件,代码如下: ^SF89P%FYSTS( ) ; 8&ENB N&&
[Q,^X,FDP9X]d ZN‘BENR( q4: r‘%P8ErDO#0!<#\’ ZN‘q) ; Q d Q( : ,\
XTE8WBNL( Q,H\,^X,\Q&NDE&( q时间( X) q) ; Y&NDE&( q频率( 1[) q) ; 9P9&E( q语谱图q) ; EFR
代码中 ZN‘BENR 函数支持多通道数据,最多可支持 >! 位采样并支持读取 !K 位和 >! 位的’ ZN‘ 文件\该
函数读取的情感语音文件是来源于北京航空航天大学电子信息工程学院毛峡教授课程组所建立的情感语音 数据库
相关推荐: