语音信号盲分离测试工具
基于Borel测度峰值判定的欠定混合盲语音信号分离

峰值确 定混合矩 阵的基矢量 ,从而可 以确定各个独立 分量 ,实现信 号的盲分离。计算机模拟和 分析 表明,这种算 法 是一种在 高斯和分数低 阶 All pl a稳定分布噪声条件下具有 良好韧性 的独立 分量 分析 与盲源 分离方法,在盲语音
混合信 号的分离应用 中也得到 了很好 的效果 。
维普资讯
第 2 卷 第 9期 8 2 0 年 9月 07
通
信
学
报 Βιβλιοθήκη Vb .8 1 No 9 2 . S pe e 0 7 e t mb r 0 2
J u a n C mmu iai n om l o o n c to s
基于 B rl oe 测度峰值判定 的欠定混合盲语音信号分离
h e e d n mp n n s f p a sa l d m e t r d rd tr n d mi t r swa r p s d T t d t e i d p n e t o o e t o n Al h - tb er n o v c o r n e - e e mi e x u e sp o o e . eme o n c a a o f u h h wa a e na si t f ed s r t p c r l a u ef r e c aa mfs cf n t no n A p a s b er n o v c o . sb do n e t s ma eo t h ic ee s e t me s r o t h r c i f u c o fa l h —t l a d m e t r a h i i a S mu ai n e n t t a ep o s d me o a d n f d p n e t o o e t dt e b i e tr fmi i g i l t sd mo sr et t r p e t d C i e t y i e e d n mp n n a a sv c o so x n o a h h t o h n i n c sn h s marx i e S — al d u d rd tr n a e o ti t O c l n e - ee mi o c fmo e s u c st a x u e , d o ti e e g o fe t n t e s e c nh e d s r o r e n mi t r s a b a n d t o d e c p e h h n h i h sg a ss p r t n a p c t n. i n l e a a o p f a o i i i Ke r s Al h tb e d s i u o s Bo a u e i d p n e t o o e t ay i; f d s u c e a a o y wo d : p as l it b t n ; ml a r i me s r ; n e e d n mp n n l ss b n o r e s p r t n c n a i i
盲源分离技术在语音信号处理中的应用研究

盲源分离技术在语音信号处理中的应用研究随着科技的不断发展,语音信号的处理也越来越受到人们的重视。
盲源分离技术是一种在语音信号处理中广泛应用的方法,可以有效地分离出多个信号中的不同源,提高语音信号处理的效果。
本文将从盲源分离技术的原理、应用场景以及未来发展等方面对其进行研究分析。
一、盲源分离技术的原理盲源分离技术是通过对源信号的统计特性进行分析和提取,从多个混合信号中将不同的信号源分离出来的机器学习技术。
例如:在一个房间里同时进行两个人的语音对话,我们可以将这两个人的声音进行分离。
但是,在实际语音信号处理中,有很多情况下无法获得各个源信号的准确信息,也就是盲源分离。
其基本思想是利用不同源之间的统计独立性进行盲分离,使各个源信号分离出来并恢复原有的信号。
盲源分离技术的方法主要分为以下两种:1. 基于独立分量分析 (ICA) 的盲源分离独立分量分析(ICA)是一种随着神经网络的兴起而出现的一种新的信号处理方式,也是盲源分离中较为经典的一种。
该方法是基于统计学的分析,利用确定性的盲源分离技术,将混合信号分离成多个相对独立的信号。
2. 基于时域盲源分离的方法时域盲源分离 (TDB) 技术是一种实时的语音信号处理技术,通过利用信号的时间序列特性,将源信号进行盲分离。
通过在时域中对信号进行处理,利用各个源信号本身的时间序列相关和独立性,将混合信号分离出来。
二、盲源分离技术的应用场景1. 语音识别当在噪音环境中识别单个人的语音信号时,盲源分离技术可以提高语音识别的准确度。
因为在噪音比较高的情况下,单纯使用语音识别算法并不能很好地区分出具体的语音信号。
2. 环境监测环境监测中,盲源分离技术可以用于分析大量混杂的信号,识别出需要监测的信号,然后对其进行分类、分析和处理。
因此,盲源分离在环境监测领域中具有广泛的应用前景。
3. 音频信号处理在音频信号处理领域中,盲源分离技术可以用于音乐和声音信号识别以及其它类型的音频信号分离和处理。
声学信号处理的盲源分离算法研究

声学信号处理的盲源分离算法研究声学信号处理是一个广泛的研究领域,其目标是从混合的声音中分离出源自不同信号源的声音。
盲源分离是声学信号处理中的一项重要任务,它不依赖于事先对混合信号的了解,而是通过分析混合信号的统计特性来分离源信号。
近年来,随着深度学习和人工智能的发展,盲源分离算法得到了很大的突破。
以下将介绍几种常见的盲源分离算法及其研究进展。
1. 独立成分分析(ICA)独立成分分析是一种常用的盲源分离方法,它的基本假设是混合信号是由相互独立的源信号线性组合而成的。
ICA通过最大化信号的非高斯性,选取合适的分离矩阵,将混合信号分离成相互独立的源信号。
然而,ICA在面对多源信号和非线性混合模型时存在一定的局限性。
2. 时间频率分析时间频率分析是一种基于信号的时频特性的盲源分离方法。
它通过对混合信号进行时频分析,将源信号的时频特性提取出来。
时间频率分析常用的算法有短时傅里叶变换(STFT)、小波变换和强度比谱(IPS)等。
这些方法在分离语音信号、音乐信号和环境噪声等方面取得了一定的成效。
3. 贝叶斯源分离贝叶斯源分离是一种基于贝叶斯统计推断的盲源分离算法。
它通过建立源信号和混合信号的统计模型,利用贝叶斯推断的方法推导出源信号的分布参数,从而实现分离。
贝叶斯源分离算法在处理高斯噪声和非线性混合模型时具有一定的优势。
除了上述几种算法,还有很多其他的盲源分离方法,如基于狄利克雷分布的盲源分离、盲源分离的最大似然估计算法等。
这些方法在不同的应用场景下具有各自的优缺点。
然而,盲源分离算法仍然存在一些挑战和难题。
首先,多源信号的盲源分离是一个复杂的问题,需要在保证分离效果的同时,尽量减少源信号的干扰。
其次,盲源分离算法在非线性混合模型和非高斯噪声环境下的性能较差,需要进一步研究改进。
此外,盲源分离算法在实时性、稳定性和适应性等方面还需要进一步提升。
为了解决上述问题,研究者们正在不断探索新的盲源分离算法。
其中,结合深度学习的方法是近年来的热点之一。
matlab语音信号盲分离

目录摘要 0abstract (1)1 ICA 的基本原理及特点 (2)1.1盲分离数学模型 (2)1.2 ICA 算法描述 (3)1.3 FICA算法 (4)2 FICA设计思想 (4)3 实验仿真结果记录 (6)3.1 仿真时域波形及频谱 (6)3.1.1 原始信号 (6)3.1.2 混合信号 (9)3.1.3 分离信号 (12)3.2 仿真所用的源程序 (15)4 实验结果分析 (24)5 小结与体会 (25)6 参考文献 (26)摘要混合信号中恢复出未知源信号。
语音信号盲分离技术被成功地用在了通信、医学、图像和语音信号处理等领域。
我们所要研究的混合语音信号盲分离问题就是用麦克风阵列或多个麦克风阵列来模仿人的耳朵,采集得到相互干扰的混叠语音信号,然后通过分离算法将混叠的语音信号相互分离开来,提取我们所感兴趣的信号。
举个例子就是在多人同时说话的嘈杂环境下,我们能够辨识感兴趣人的说话声的能力。
然后把它分辨出来。
abstractThe speech signal blind source is in the source signal and the source signal how to mix all unknown, from observations of mixed signal in recovering the unknown sourcecommunication, medical, image and voice signal processing, etc. We have to study mix of speech signal is blind source separation with a microphone array or more microphone array to imitate human ears, acquisition get each other interference aliasing speech signal, and then through the separation algorithm will aliasing voice signal mutual separated, extraction we are interested in signal. For example is more than in noisy environment of speak at the same time, we can identify interested in the ability of the human voice. And then take it apart.1 ICA 的基本原理及特点1.1 盲分离数学模型盲信号分离是指在没有任何先验知识的条件下,仅根据源信号之间的统计独立特性和由传感器输出的观测信号,把源信号分离出来。
盲源分离matlab

盲源分离matlab【最新版】目录1.盲源分离的概念2.MATLAB 在盲源分离中的应用3.盲源分离的步骤和方法4.盲源分离的实例与结果分析5.盲源分离的优缺点及发展前景正文1.盲源分离的概念盲源分离(Blind Source Separation,简称 BSS)是一种信号处理技术,其目的是从观测到的混合信号中分离出相互独立的原始信号。
这些原始信号通常是未知的,且可能具有不同的统计特性。
盲源分离在许多领域都有应用,如通信、语音处理、生物医学信号处理等。
2.MATLAB 在盲源分离中的应用MATLAB 是一种广泛使用的数学软件,它提供了丰富的函数库和强大的计算能力,使得盲源分离算法的实现变得简便。
在盲源分离领域,MATLAB 可以用于信号模拟、算法设计和结果分析等。
通过 MATLAB,研究者可以轻松地尝试不同的分离算法,并对比其性能,从而为实际应用提供有力支持。
3.盲源分离的步骤和方法盲源分离的过程主要包括以下几个步骤:(1)信号模型建立:根据问题的实际情况,建立混合信号的数学模型,如线性混合模型、非线性混合模型等。
(2)统计特性分析:分析原始信号的统计特性,如均值、方差、相关性等,为后续算法设计提供依据。
(3)分离算法选择:根据信号模型和统计特性,选择合适的盲源分离算法,如独立成分分析(ICA)、广义逆滤波(GIV)、非负矩阵分解(NMF)等。
(4)算法实现与性能评估:利用 MATLAB 实现选定的分离算法,并通过仿真实验评估其性能。
4.盲源分离的实例与结果分析以下是一个简单的盲源分离实例:假设有两个原始信号 x1(t) 和 x2(t),它们通过线性混合器后得到观测信号 y(t):y(t) = x1(t) + x2(t)通过盲源分离,我们可以从 y(t) 中恢复出 x1(t) 和 x2(t)。
利用 MATLAB,我们可以实现以下步骤:(1)生成两个原始信号 x1(t) 和 x2(t),它们具有不同的统计特性。
matlab 盲源分离 jade算法

Matlab 盲源分离 JADE 算法一、引言盲源分离是信号处理中的一个关键问题,用于从混合信号中分离出各个独立的源信号。
在实际生活中,混合信号往往是通过各种传感器或者设备采集得到的,源信号可能是声音、图像等各种形式的信息。
而盲源分离的任务就是从这些混合信号中还原出源信号,为后续的分析和处理提供基础。
JADE(Joint Approximate Diagonalization of Eigenmatrices)算法是一种经典的盲源分离算法,本文将介绍如何使用Matlab实现JADE算法,并探讨其在实际应用中的效果。
二、JADE算法的原理JADE算法是一种高阶统计方法,主要用于盲源分离和独立成分分析。
其基本思想是通过对数据的高阶统计特性进行分析,从而实现对独立源信号的估计和分离。
具体来说,JADE算法利用了信号的高阶统计独立性来实现盲源分离,通过对数据进行协方差矩阵的估计和特征值分解,进而得到信号的独立成分。
三、Matlab实现JADE算法的步骤使用Matlab实现JADE算法通常包括以下几个步骤:1. 数据准备:首先需要准备混合信号的数据,可以是从传感器采集得到的音频数据、图像数据等各种形式的信号数据。
2. 数据预处理:对采集到的数据进行预处理,包括降噪、滤波、归一化等操作,以保证数据的质量和稳定性。
3. JADE算法实现:利用Matlab提供的相关函数或者自行编写代码,实现JADE算法的核心步骤,包括协方差矩阵的估计、特征值分解等。
4. 结果分析:对JADE算法得到的分离后的独立成分进行分析和评估,包括信噪比的计算、频谱分析等。
四、JADE算法在实际应用中的效果JADE算法作为一种经典的盲源分离方法,在实际应用中取得了广泛的应用。
以语音信号分离为例,利用JADE算法可以将混合的多个说话人的语音信号分离成独立的单一说话人的语音信号,为语音识别、语音合成等应用提供了重要的基础。
另外,在无线通信、生物医学信号处理等领域,JADE算法也发挥了重要作用。
语音信号识别基于盲源信号分离的实现

语音信号识别基于盲源信号分离的实现张敏;于海燕;武克斌【摘要】The blind source separation (BSS) is usually used to distinguish two-channel sound signals of spectrum aliasing, but it is difficult to achieve in engineering practice. Therefore, a method which makes use of the principle and feature of blind source signal separation is introduced. The technological process to implement BSS with FastICA algorithm on ADSP_BF533 platform is described. The proposed scheme in this paper eonsumes less time, needs less memory and is high efficient.%为了识别两路频谱混叠语音信号,多采用盲信号分离的方法.但是该方法在工程实践中实现较困难.因此给出了一种利用盲源信号分离的原理及特点的实现方法,具体说明了用FastICA算法在ADSP_BF533平台上实现盲源信号分离时的具体流程.该设计方案所需时间短,效率高,而且占用内存较少.【期刊名称】《现代电子技术》【年(卷),期】2011(034)011【总页数】4页(P79-81,84)【关键词】盲信号分离;DSP;FastICA;ADSP_BF533平台【作者】张敏;于海燕;武克斌【作者单位】哈尔滨工业大学,威海,山东威海264209;哈尔滨工业大学,威海,山东威海264209;哈尔滨工业大学,威海,山东威海264209【正文语种】中文【中图分类】TN971.2-340 引言近年来,许多学者都针对盲信号分离不断地提出新的理论算法,盲信号分离(BSS)发展也日趋完善。
基于Fast-ICA的盲信号分离的研究与实现

基于Fast-ICA的盲信号分离的研究与实现作者:徐丽琴来源:《科技视界》 2014年第30期徐丽琴(西安邮电大学电子工程学院,陕西西安 710121)【摘要】本文介绍一种典型的ICA算法——Fast-ICA算法的基本原理及其在瞬时混合语音信号盲分离中的应用与实现,通过对三路随机混合语音信号进行的分离实验,说明了Fast-ICA算法可以用于分离超高斯语音信号,且具有较快的收敛速度,证明了其在瞬时混合盲语音信号分离中的现实有效性。
【关键词】盲源分离;独立分量分析;Fast-ICA0 引言盲源分离是指在源信号和传输信道参数均未知的情况下,根据源信号的统计特性,仅由观测信号来恢复或分离出源信号。
这里“盲”有两重含义:第一,信号源是未知的;第二,传输信道也是未知的。
盲源分离是当前信号处理领域的一个研究热点,在语音信号处理、数字图像处理、生物医学信号处理等领域有着非常广阔和诱人的应用前景。
独立成分分析[1],即ICA,是一种应用很广泛的技术,其目的是寻找一个变换矩阵,使得变换后的各输出分量之间尽可能相互统计独立,是目前实现盲源分离的一种最主要的方法。
1 ICA数学模型假设N个统计独立的源信号经过线性瞬时混合被M个传感器接收,则每个观测信号是这N 个信号的一个线性组合。
下面的方程对于线性时不变瞬时混合函数成立:3 Fast-ICA算法Fast—ICA算法是Hyvarinen从熵最优化方法推导出一种算法[2],其思路是通过随机梯度法调节分离矩阵W来达到优化目的,在该算法的每次迭代中,采样数据是成批使用的,算法是并行分布的,且计算简单,需要的内存少,速度很快,又称为定点法算法。
对于单个信号的提取,Fast—ICA算法的代价函数定义为:需要注意的是,在每次迭代完后都要对分离矩阵进行归一化处理,这样做的目的是为了增强算法的稳定性。
对于多个独立分量的分离,可以重复上述过程一个一个提取独立分离,每提出一个分量后要从混合信号中减去这一独立分量,如此重复,直至所有的独立分量全部分离出来为止。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Tcl/Tk 与C 的语音信号盲分离测试工具马骏西安市地下铁道有限责任公司 西安 710018摘要:如何分离多说话人环境下麦克风所采集的混合语音信号是盲源分离研究的一个重要课题。
文章采用TCL/TK 与C 语言混合编程,自主开发了用于语音信号盲分离测试的工具,并介绍了该工具的结构、界面和功能。
最后通过试验验证了该工具的正确性。
关键词:盲源分离 语音信号 Tcl/TkA Tcl/Tk & C-based testing tool for blind separation ofaudio signalsMa JunXi'an Metro Co., Ltd. Xi'an 710018Abstract: Separating independent signal from audio mixtures is one of the elementary problems in Blind Source Separation (BSS) research. The interface between Tcl/Tk is explained, and a testing tool for blind separation of audio signals is developed. The structure, interface and function of the tool are introduced. The validity of the tool is proved by experiment. Keywords :Blind source separation Audio signals Tcl/Tk1.引言盲源分离(BSS )[1,2,3,4]是人工神经网络与统计信号处理以及信息论相结合的产物,而混合语音信号的盲分离是该领域的一个重要课题。
使计算机具有和人类一样的听觉,是计算机智能领域研究者们的梦想。
语音识别技术为我们实现计算机听觉的这一目标提供了有效的途径,使得计算机能听懂我们人类的语言,计算机操作从此变得更互动和简单自然,方便了人机的交流。
混合语音信号盲分离虽然不能实现计算机听觉这一目标,但是通过该技术却能使原本相互混叠的语音信号相互剥离,来作为语音识别的预处理,从而使得噪声环境下和多说话人情形下的语音识别的实现成为可能,增大了识别算法的鲁棒性和适应能力,从这种意义上来讲该问题的研究具有很大的现实意义。
本文首先阐述了盲源分离的基本理论知识以及Tcl/Tk [5]与C 语言的接口编程,然后采用分层软件模型开发了用于语音信号盲分离的测试工具,其外壳选择灵活的事件驱动脚本Tcl/Tk 作为基本的界面开发平台,完成配置、控制任务;而其低层的BSS 核心算法库则利用高效的编译型C 语言实现。
另外为了完成语音信号的读写等操作还参考了snack [6]语音处理库及其源代码。
文章介绍了该工具的结构、界面和功能,最后通过实验验证了该测试工具的正确性。
2.盲源分离模型及算法设由N 个未知的统计独立的信号源)(t s i 构成了一个列向量,)](),...,([)(1T N t s t s t S =其中t 是离散采样时刻。
设A 是一个未知的N M ⨯维矩阵,通常称为混合矩阵。
设[]T M t x t x t X )(),...,()(1=是由M 个传感器观测到混合信号)(t x i 构成的列向量,且满足下列方程:)()((t)t V t AS X += (1) 其中T M 1t ,...,v t v t V )]()([)(=是由M 个空间白化、统计独立噪声信号(t)i v 构成的列向量。
盲源分 离的命题是,对任何t ,根据观测到的)(t X ,在A 未知的条件下求)(t S 。
图1给出了语音信号盲分离算法框架图。
图1算法框图由图1知,求解BSS 的思路是寻找一个M N ⨯维的解混合阵W ,)(t X 经过W 变换后得到N 维输出列向量[]T N 1(t),y (t),y t Y =)(,即有:)()()(ˆ)(t WAS t WX t S t Y === (2)显然,如果通过学习得以实现PD WA = (其中P 为置换矩阵,D 为对角矩阵),则输出信号与源信号的波形便能保持一致。
业已证明,BSS 实现正确的分离的结果只能表现在Y (t )的各个分量统计独立上。
按以上基本思路,目前国际上已经提出了多种有效算法,其最终目标都是估计分离矩阵W 。
表1给出了工具包中已经实现的一些算法。
表1 盲源分离算法列表3.基于Tcl/Tk 与C 语言进行混合编程[5]Tcl 是一种功能强大的可嵌入式解释型语言,其最初设计目的就是提供一种可扩充的语言与用户的应用程序协同工作。
Tk 是Tcl 的一种扩充,由一组简化构造窗口应用程序的C 语言库过程组成,通过提供按钮、菜单等控件(Widget)增加了图形窗口界面。
Tcl/Tk 采用层次结构对其已有的各控件进行管理。
另外,Tcl/Tk 提供了访问用户应用程序的接口,使得用户界面处理与应用程序的其余部分完全分离,提高了可移植性。
用户可以集中精力设计自己的应用程序的核心部分,编译成可执行程序后供Tcl/Tk 设计的脚本调用。
Tcl/Tk 被设计成可以通过用C 语言编写新的命令来进行方便的扩展。
Tcl/Tk 的解释器本身是以C 的库函数方式提供的,它可以嵌入任何用C 写的程序;C 应用程序可以启动一个命令解释器,并由它来解释执行任何一个Tcl 脚本。
同时,也可以将任何一个C 过程变为Tcl 的一个新命令,也就是说,可以从Tcl 中调用任何C 过程,一方面是因为C 实现比Tcl/Tk 的效率要高,另一方面是因为有些应用无法用Tcl/Tk 实现。
Tcl/Tk 库程序提供一个Tcl_Main 函数由应用程序调用。
Tcl_Main 创建一个Tcl 解释器及所有标准Tcl 命令,然后调用Tcl_AppInit 函数(该函数由用户定义,其中可以注册新的Tcl 命令),最后读入一段程序并进入交互式循环。
类似地,Tk_Main 也具有同样地调用过程。
由于Tk_Main 包含了Tcl_Main ,若用户使用到了Tk 的命令,则只需调用Tk_Main 。
4.语音信号盲分离测试工具(WAVBSS )基于上述BSS 模型及相应算法框架,兼顾Tcl/Tk 在界面编程中的长处和用C 语言来处理BSS 算法涉及到的大量的矩阵运算的高效性,本文的工具采用 C 与 tcl/tk 共同开发。
该工具具有界面简洁友好,使用方便,跨平台等特点,能完成对线性混合语音信号的盲分离。
4.1 WAVBSS 的结构和功能图2所示为WAVBSS 的软件结构图。
其主要包括如下几个功能模块:信号的加载与编辑模块;信号的混合及加噪模块;信号预处理模块;BSS 算法模块;数据/曲线模块等。
图2 WAVBSS 的软件结构图 信号的加载模块主要是基于snack 库实现语音文件(*.wav )读、写等操作。
另外,通过信号编辑模块用户可以对已加载的信号随意的进行删除或添加。
一旦源信号被加载,WAVBSS 将可以通过多种方式人为的生成混合信号。
若加载的信号已经是经过混合后的信号,则可以选择不再进行混合。
WAVBSS 包含了5种不同的混合方式。
其中,对于任意一种矩阵混合方式用户都可以在软件包中进行任意的修改。
另外为了考察特定算法对加性噪声的鲁棒性,WAVBSS 允许用户在进行信号BSS 之前人为加入一定强度的噪声。
软件包提供信噪比分别为0dB ,5dB ,10db ,15dB ,20dB 五个等级的两种噪声,即高斯白噪声和均匀噪声供用户选择。
通常在对混合信号进行分离之前,需先对其进行一些预处理[3],为此工具提供了信号预处理模块。
目前该工具包含的预处理方法有信号中心化、白化、PCA 处理。
BSS 算法模块作为WAVBSS 的核心部分,目前提供了4种不同的性能优异的BSS 算法,其中包括FASTICA 算法、自然梯度算法、EASI 算法和Adaptive RLS 算法等优秀的算法,用户可以从中选取一种对已获得的语音数据进行BSS 测试。
曲线/数据模块是测试工具的一个重要部分,语音数据处理结果可以语音数据文件(.wav )的格式被输出到硬盘,同时通过观察曲线显示界面,有助于对仿真的结果进行分析。
曲线显示包括源信号波形、混合信号波形和分离信号波形的显示等,而且每种视图可以任意的被显示、关闭、重新显示、移动、放大缩小而且互不影响。
以上各个功能模块的组织、协调皆围绕其核心模块——BSS 算法模块而实现,内部采用函数式封装结构,具有可扩展的优点。
4.2 WAVBSS 的图形界面的Tcl/tk 设计与移植按照如上所述的模块化结构,设计WAVBSS 的界面主窗口如图3所示,其显示了工具的框架结构、工具的操作流程以及系统的运行状态,主要包括菜单栏与语音信号盲分离的分步骤操作区。
其中各分步骤操作区实际上与前述相应功能模块对应,意义直观明了,易于操作。
图3 主界面 WAVBSS 在Windows 和Linux 的安装目录分别为“C:/wavbss ”和“/usr/local/bin ”。
Tcl 变量tcl_platform 是Tcl 的一个内部数组,其元素platform 保存了当前的工作平台。
用以下Tcl/Tk 脚本可以获取WAVBSS 当前的工作平台,并保存在变量sysplt 中,然后在变量DIRECTORY_WAVBSS_Root 中设置WAVBSS 的安装目录。
Set sysplt $tcl_platform(platform)If {$sysplt==”windows”} {Set DIRECTORY_WAVBSS_Root “c:\\wavbss\\”} else {Set DIRECTORY_WAVBSS_Root “/usr/local/bin/”}由于Tcl在Windows上运行时,能够自动地将Tcl/Tk脚本中的文件和目录中的字符“/”转换为“\”,故在将WAVBSS的图形界面从Linux移植到Windows时,不必修改其它文件和目录的名称,只需修改sysplt变量,对C编译程序的名称等几处在Linux和Windows存在差别的地方分别作不同的处理即可。
5.实验研究分别由两人讲“good morning”与“こんばんは”(采样频率为16kHz),利用声卡采集两个人的语音信号作为源信号,波形图如图4(a)所示。
通过在界面上选取“随机矩阵混合”将将上图所示的双源信号进行线性混合,最后生成混合信号,如图4(b)所示。
一旦预处理完毕,用户便可以从软件包中的算法列表中选取一种算法开始仿真试验。