一种消除软件噪声方法及装置制造方法

文档序号:6500443阅读:187来源:国知局
一种消除软件噪声方法及装置制造方法
【专利摘要】本发明实施例公开了一种消除软件噪声方法及装置,其中一种方法包括:获取当前缓冲区域中的软件声音采样信号;检测所获取的声音采样信号中满足以下条件的第m个采样点:第m-1个采样点的信号值不为零,第m个采样点的信号值为零,且在第m个采样点之后至少连续n个采样点的信号值都是零,所述n是预先设置的数值;对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。这样处理能够消除由于暂停或者停止操作引起的软件噪声。根据本申请的实施例可以消除软件噪声,提高用户对电子设备的体验。
【专利说明】一种消除软件噪声方法及装置
【技术领域】
[0001]本发明涉及计算机领域,特别是涉及一种消除软件噪声方法和装置。
【背景技术】
[0002]随着计算机软件技术的快速发展,不同类型的软件集成在电子设备中,使得电子设备得到人们的广泛使用,但是,人们在享受电子设备带来的方便和愉悦的同时,经常受到软件噪声带来的影响。所谓软件噪声是指:对软件进行操作时导致软件产生的噪声。比如:当人们在使用音乐播放器时,经常会在播放音乐的过程中,做出启动、停止、暂停、重启等操作,而这些操作中的任意一种操作都会对音乐播放软件产生一定的作用,导致其产生软件噪声,这种软件噪声只是软件噪声的一种类型。这种软件噪声一般是一种轻微的嘛啪声,时大时小且与硬件控制开关启动时引起电路产生的声音效果十分相似,容易混淆。
[0003]由于人们在使用电子设备时,会频繁地对软件进行启动、停止、暂停、重启等操作,所以造成的软件噪声比较密集,会严重影响人们对电子设备使用的愉悦感。由于这种软件噪声与硬件电路控制开关产生的声音效果十分相近难以被发现,现在也没能得到有效地解决,因此基于上述技术问题,目前迫切需要提供一种消除软件噪声的方法,以消除人们在使用软件时对软件进行任意一种操作引起的软件噪声,提高电子设备的声音效果,增强用户的体验。

【发明内容】

[0004]为了解决上述技术问题,本申请实施例中提供了一种消除软件噪声方法及装置,以消除软件噪声,提高电子设备的声音效果,增强用户的体验。
[0005]本申请实施例公开了如下技术方案:
[0006]一种消除软件噪声方法,包括:
[0007]获取当前缓存区域中的软件声音采样信号;
[0008]检测所获取的声音采样信号中满足以下条件的第m个采样点:第m-Ι个采样点的信号值不为零,第m个采样点的信号值为零,且在第m个采样点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;
[0009]对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
[0010]优选的,所述对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理,包括:对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
[0011]本申请还提供了一种消除软件噪声方法,其特征在于,包括:
[0012]获取当前缓存区域中的软件声音采样信号;
[0013]检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j个采样点的信号值不为零,且在第j个采样点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值;
[0014]对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0015]优选的,所述对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理,包括:
[0016]对位于当前缓存区域中的第j个采样点至第i+j个采样点之间的所有声音采样信号进行淡入操作处理。
[0017]优选的,还包括:
[0018]对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0019]本申请还提供了一种消除软件噪声装置,其特征在于,包括:
[0020]第一获取模块,用于获取当前缓存区域中的软件声音采样信号;
[0021]第一检测模块,用于检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m-Ι采样点的信号值不为零,在第m采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;
[0022]第一淡出模块,用于对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
[0023]优选的,所述第一淡出模块,包括:
[0024]淡出子模块,用于对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号执行淡出操作。本申请还提供了一种消除软件噪声装置,其特征在于,包括:
[0025]第二获取模块,用于获取当前缓存区域中的软件声音采样信号;
[0026]第二检测模块,用于检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j个采样点的信号值不为零,且在第j点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值;
[0027]第二淡入模块,用于对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0028]优选的,所述第二淡入模块,包括:
[0029]淡入子模块,用于对位于当前缓存区域中的第j个采样点至第i+j个采样点之间的所有声音采样信号进行淡入操作处理。
[0030]优选的,还包括:
[0031]第三淡入模块,对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0032]由上述实施例可以看出:其中一种消除软件噪声的方法,通过获取当前缓存区域中的软件声音采样信号;检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m-Ι个采样点的信号值不为零,在第m个采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。如此处理就可以消除由于暂停或者停止操作引起的软件操作。其他消除软件噪声的方法或者装置,同样可以实现消除软件噪声的目的。可见:本申请的任意一种消除软件噪声方法或者装置都可以消除软件噪声,提高电子设备的声音效果,增加用户体验。
【专利附图】

【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本申请实施例一揭示的一种消除软件噪声方法的方法流程图;
[0035]图2为本申请实施例一提供的软件声音采样信号示意图;
[0036]图3为本申请实施例二揭示的另一种消除软件噪声方法的方法流程图;
[0037]图4为本申请实施例二提供的软件声音采样信号示意图;
[0038]图5为本申请实施例三揭示的另一种消除软件噪声方法的方法流程图;
[0039]图6为本申请实施例三提供的软件声音采样信号示意图;
[0040]图7为本申请实施例四揭示的一种消除软件噪声装置的装置结构图;
[0041]图8为本申请实施例五揭示的另一种消除软件噪声装置的装置结构图。
【具体实施方式】
[0042]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
[0043]实施例一
[0044]请参阅图1,其为本申请实施例一揭示的一种消除软件噪声方法的方法流程图,该方法包括以下步骤:
[0045]步骤101:获取当前缓存区域中的软件声音采样信号;
[0046]声音软件首先是对原始声音进行采样,将声音采样信号储存在声音驱动中的缓存区域,然后按照顺序逐个输出,在声音采样信号未输出之前都储存在缓冲区域中,所以从缓存区域中获取软件声音采样信号。
[0047]步骤102:检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m_l个采样点的信号值不为零,在第m个采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;
[0048]所述η是预先设置的数值,通常采用机器学习方法进行大量试验统计得到能够检测出声音采样信号发生突变的采样点个数η,针对不同的电子设备,满足条件的η值可能不同。在数字音频领域中不同软件常常采用不同的采样速率,比如:电话所采用的采样速率为8000Hz用以满足人们的语音需求;无线电广播所采用的采样速率为22050Hz ;数码视频所采用的采样速率为32000Hz ;音频⑶、MPEG-1音频(V⑶,SV⑶,MP3)所采用的采样速率为44100Hz ;世界上第一个商用PCM录音机所用采样率47250Hz ;迷你DV、数字电视、DVD、DAT、电影和专业音频所用的数字声音所采用的采样速率为48000Hz ;第一款商用数字录音机采用的采样速率为50000Hz ;DVD-Aud1、LPCM DVD音轨、BD-ROM(蓝光盘)音轨、和HD-DVD (高清晰度DVD)音轨所采用的采样速率为96000Hz或者192000Hz。以V⑶、SV⑶、MP3等电子设备为例进行说明,这些设备中的软件所采用的采样速率为44100Hz,通过机器学习方法多次试验得到η = 1000,当然在实际应用中也可以设置成该试验得到的经验值的近似值,比如900或者1100等。
[0049]当对软件进行暂停或者停止的操作时,声音驱动会做出相应的操作,比如:当对软件进行暂停操作时,系统会暂时停止向声音驱动发送声音采样信号,但是声音驱动仍然可以插入缓冲数据包,只是数据包其中所有的采样信号值为零。当对软件进行停止操作时,系统会停止声音输出,声音驱动可以延时执行这个动作,在延时期间仍然插入缓冲数据包,只是数据包其中所有的采样信号值为零。所以通过判断零值的个数可以判断出由于暂停或者停止操作引起的声音信号发生突变的采样点位置。
[0050]下面以预设η = 1000为例对步骤102进行说明,例如:当步骤101获取软件声音采样信号如图2所示,声音采样信号储存在缓冲队列中,按照时间顺序逐个进行输出。步骤102检测所获取的声音采样信号,在第2999个采样点的声音采样信号值不为零,在第3000个样品点时的声音采样信号值为零,在第3000个采样点之后的1000个采样点都为零,可知通过检测发现声音采样信号满足条件的m点是第3000个采样点。
[0051]步骤103:对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
[0052]对声音信号进行淡出操作实际上是慢慢逐渐减小声音直到声音信号值为零,一般情况是根据淡出操作执行时间和采样速率决定对在第m个采样点之前为输出的哪一个采样点开始执行淡出操作,以保证淡出操作顺利进行。为了得出达到消除软件噪声的目的且不会丢失过多的声音,经过大量试验统计得出淡出操作的执行时间一般控制在10ms内。比如:当淡出操作的执行时间为20ms时,采样速率为40000Hz时,可知在淡出操作的执行时间内经过了 800个采样点,所以应该在第m个采样点之前的800个采样点的声音采样信号输出时执行淡出操作。优选的,步骤103包括:对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
[0053]根据步骤102检测出满足条件的m点是第3000样品点时,由于η取值为预先设置的1000,该步骤具体为:在第“3000-1000”即,对位于当前缓存区域中的第2000个采样点至第3000个采样点之间的所有声音采样信号进行淡出操作处理。使得输出的第2000个采样点到第3000个采样点的声音采样信号值以一定的衰减比例逐渐减小。
[0054]由上述实施例可以看出,通过获取当前缓存区域中的软件声音采样信号;检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m-Ι个采样点的信号值不为零,在第m个采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;对位于当前缓存区域中的第m个采样点之前任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。这样处理消除了由于暂停或者停止操作造成的软件噪声,提高了电子设备的声音效果,提高了用户的体验。
[0055]实施例二
[0056]为了消除由于重启操作引起的软件噪声,本申请实施例二还提供了另一种消除软件噪声方法以消除这种软件噪声,请参阅图3,其为本申请实施例二揭示的另一种消除软件噪声方法的方法流程图,包括以下步骤:
[0057]步骤201:获取当前缓存区域中的软件声音采样信号;[0058]在软件的声音驱动中常常对原始的声音信号进行采样后得到声音采样信号,声音在输出之前声音采样信号会缓存在指定的缓存区域中,因此从该缓存区中获取声音采样信号。
[0059]步骤202:检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j采样点的信号值不为零,且在第j点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值。
[0060]所述i是预先设置的数值,通常采用机器学习方法进行大量统计试验得到能够检测出由于重启操作引起的声音采样信号发生突变的采样点个数i,不同电子设备的满足条件的i值可能不同,以V⑶、SV⑶、MP3等电子设备为例进行说明,这些设备中的软件所采用的采样速率为44100Hz,通过机器学习方法多次试验得到i = 1000,当然在实际应用中也可以设置成该试验得到的经验值的近似值,比如1200或者1500等。由于重启操作之前必然是存在暂停操作,而暂停操作导致声音采样信号存在连续采样点的信号值为零,因此通过步骤202的检测方法,可以检测出由于重启操作引起声音采样信号发生突变点的位置。
[0061]以预设i = 1000为例进行说明,根据如图4所示可知在第6000个采样点的声音采样信号值不为零,且从第5000个采样点到第6000个采样点之间的信号值都为零,则在第6000个采样点之前至少连续1000个采样点的信号值都是零,检测结果为满足条件的第j个采样点是第6000采样点。
[0062]步骤203:对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0063]由于步骤202检测出满足条件的第j个采样点是第6000个采样点,即,对未输出的第6000个采样点至第6000个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。一般情况下,由软件采用的采样频率和淡入操作的执行时间确定出j个采样点之后的具体哪一个采样点停止淡入操作,而淡入操作时间可以是经过机器学习方法得到的经验值20ms也可以是经验值的近似值,比如10ms、30ms或者40ms等其他数值,但是不能与经验值相差太大。需要说明的是,本申请中的采用淡入操作的目的是为了消除噪声,为了达到最好的消除噪声且不会丢失太多声音的目的,通过机器学习方法大量试验统计得至IJ,执行时间一般控制在10ms内。
[0064]优选的,步骤203包括:对位于当前缓存区域中的第j个采样点至第i+j个采样点之间的所有声音采样信号进行淡入操作处理。
[0065]比如:检测出j = 6000且预设的i = 1000时,则步骤203中淡入操作的执行范围是:对位于当前缓存区域中的第6000个采样点至第7000个采样点的之间的1000个采样点的所有的声音采样信号进行淡入操作处理。
[0066]为了消除由于启动操作引起的软件噪声,优选的,还包括:对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0067]一般情况下,根据软件采样速率和淡入操作时间决定具体在第一个信号值不为零的采样点之后的哪一个采样点停止淡入操作处理,为了达到最好的消除噪声且不会丢失太多声音的目的,通过机器学习方法大量试验统计得到,淡入操作执行时间一般控制在10ms内。[0068]当然,对于软件进行重启之前必然有对软件进行暂停或者停止的操作,所以为了同时消除由于暂停或者停止以及由于重启造成的软件噪声,可以将实施例一中的技术方案与实施例二中的技术方案相结合,即,在利用实施例一中描述的技术方案在输出第m个米样点的声音采样信号之前开始执行淡出操作,利用实施例二中的技术方案,在进行淡出处理之后,检测到所获取的声音采样信号中在第j个采样点的信号值不为零,在输出第j个采样点的声音采样信号时开始执行淡入操作。
[0069]由上述实施例可以看出,通过获取当前缓存区域中的软件声音采样信号;检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j个采样点的信号值不为零,且在第j点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值;对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。这样处理消除了由于重启操作造成的软件噪声,提高了电子设备的声音效果,提高了用户的体验。
[0070]当人们在使用电子设备时,一般会做出启动操作和停止操作。为了同时消除由于启动操作和停止操作造成的软件噪声,可以将实施例一中的技术方案中增加技术特征:对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。即,对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理;然后,当检测到满足条件的第m个采样点时,对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。这样处理可同时消除启动和停止操作引起的软件噪声。
[0071]实施例三
[0072]由于人们在使用软件时,常常会进行频繁多次的启动、暂停、重启、停止等操作。为了同时消除上述四种操作引起的软件噪声,本申请实施例四还提供了另一种消除软件噪声方法,请参阅图5,其为本申请实施例四揭示的另一种消除软件噪声方法的方法流程图,包括以下步骤:
[0073]步骤501:获取缓存区域中的软件声音采样信号;
[0074]从缓存区域中获取软件声音采样信号,如图6所示的声音采样信号图。
[0075]步骤502:对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理;
[0076]从缓冲区域中获取的第一次缓存的软件声音采样信号,在第一个信号值不为零的米样点的声音米样信号输出时,开始执行淡入操作。根据米样速率和淡入操作执行时间决定在哪一个采样点停止淡入操作,为了较好的消除噪声且不丢失过多的声音信号,通常采用机器学习方法多次试验得到淡入操作的操作时间,由于在数字音频领域中不同软件常常采用不同的采样速率,试验得到的具体的操作时间也不相同,一般是控制在10ms内。下面以VCD、SVCD、MP3等电子设备为例进行说明,这些设备中的软件所采用的采样速率为44100Hz,通过机器学习方法多次试验得到淡入操作的操作时间为20ms,则在第一个信号值不为零的采样点之后的的882个采样点停止淡入操作,即,当第一个信号值不为零的采样点为第120个采样点,则对第120个采样点至第1002个采样点之间的所有声音采样信号进行淡入操作处理。当然淡入操作时间也可以为1ms或者40ms等其他数值,但是必须保证与经验值的相近。
[0077]步骤503:检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m_l个采样点的信号值不为零,在第m个采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;
[0078]所述η是预先设置的数值,通常采用机器学习方法进行大量试验统计得到能够检测出声音采样信号发生突变的采样点个数η,不同电子设备的满足条件的η值可能不同,以VCD、SVCD、MP3等电子设备为例进行说明,这些设备中的软件所采用的采样速率为44100Hz,通过机器学习方法多次试验得到η = 1000,当然在实际应用中也可以设置成该试验得到的经验值的近似值,比如900或者1100等。
[0079]以η = 1000为例进行说明,如图6所示的可知,检测声音采样信号在第5999采样点的信号值不为零,在第6000个采样点的信号值为零,并且第6000个采样点之后的1000个连续采样点的信号值都为零。则,检测出满足条件的第m点为第6000个采样点。
[0080]步骤504:对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理;
[0081]一般情况下,根据淡出操作执行时间和采样速率决定在第m个采样点之前的哪一个采样点输出时开始执行淡出操作,以保证淡出操作顺利进行。为了得出达到消除软件噪声且不会丢失过多的声音的目的,通过大量试验统计得出淡出操作的执行时间一般控制在10ms内。在实际应用中为了实现简单方便,淡出操作和淡入操作常常采用相同的执行时间,如上述步骤502中通过机器学习试验得到淡出操作和淡入操作的执行时间都采用20ms,当然,也可以设置为不同的操作时间。比如:当采样速率为50000Hz且淡出操作执行时间为30ms,则计算出采样速率50000Hz乘以执行时间30ms的乘积,所述乘积表示在淡出操作执行时间内处理的采样点数为1500,则可知,从第m点声音采样信号输出之前的第1500个采样点的信号输出时开始执行淡出操作,即对第m-1500个采样点至第m个采样点之间所有的声音采样信号进行淡出操作处理。当然淡出操作执行时间可以是根据机器学习试验得到的经验值,也可以经验值的近似值。
[0082]优选的,步骤504包括:对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。比如:由步骤504检测出满足条件的第6000个米样点,且η的取值为1000,所以在输出第5000个米样点的声音米样信号时开始执行淡出操作,在输出第6000个采样点的声音采样信号时停止执行淡出操作。
[0083]步骤505:在声音米样信号处于淡出完成状态时,检测所获取的声音米样信号中在第j个采样点的信号值不为零。由于步骤503检测出第m个采样点是由于暂停或者停止造成的声音采样信号发生突变点的地方,在m点之后存在至少η个采样点的声音采样信号值为零,利用步骤504进行完淡出处理后通过步骤505检测的是第m+n个采样点之后的采样信号,当检测出在某一个采样点的信号值不为零,说明该采样点就是由于重启操作造成的声音采样信号发生突变点的采样点。如图6所示可知:在执行完淡出操作之后,检测在第7500个采样点的信号值不为零。
[0084]步骤506:对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0085]一般根据软件采样速率和淡入操作执行时间决定具体在第j个采样点之后的哪一个采样点停止淡入操作处理,所述淡入操作执行时间可以通过机器学习方法试验得到。比如:确定出对第j个采样点与第j个采样点之后1500个采样点之间的所有声音采样信号进行淡入操作处理,当检测出满足条件采样点的第7500个采样点时,则,对第7500个采样点与第7500个采样点之后1500个采样点之间的所有的声音采样信号进行淡入操作处理。所述淡入操作执行时间可以通过机器学习方法试验得到。
[0086]由上述实施例可以看出,通过获取缓存区域中的软件声音采样信号,检测获取到的声音采样信号,判断出满足条件的采样点,进行相应的淡入操作或者淡出操作,这样处理消除了由于启动、暂停、重启、停止操作造成的软件噪声,提高了电子设备的声音效果,提高了用户的体验。
[0087]实施例四
[0088]与上述实施例一中的一种消除软件噪声方法相对应,本发明实施例五还提供了一种消除软件噪声装置。请参阅图7,其为本申请实施例三揭示的一种消除软件噪声装置的结构示意图,该装置包括第一获取模块701和第一检测模块702和第一淡出模块703。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
[0089]第一获取模块701,用于获取当前缓存区域中的软件声音采样信号;
[0090]第一检测模块702,用于检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m-Ι采样点的信号值不为零,在第m采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值;
[0091]优选的,所述η是预先设置的数值,通常采用机器学习方法进行大量统计试验得到能够检测出声音采样信号发生突变的采样点个数η,不同电子设备的满足条件的η值可能不同,以VCD、SVCD、MP3等电子设备为例进行说明,这些设备中的软件所采用的采样速率为44100Hz,通过机器学习方法多次试验得到η = 1000,当然在实际应用中也可以设置成该试验得到的经验值的近似值,比如900或者1100等。
[0092]第一淡出模块703,用于对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。一般情况是根据淡出操作执行时间和米样速率决定在第m个米样点之前的哪一个米样点输出时开始执行淡出操作,以保证淡出操作顺利进行。对于不同的电子设备采样速率会不同,淡出操作执行时间可以经过大量试验统计得出,实际应用中为了达到消除软件噪声且不会丢失太多声音的目的淡出操作的执行时间一般控制在10ms内。
[0093]优选的,所述第一淡出模块,包括:淡出子模块,用于对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。由上述实施例可以看出,通过对从当前缓存区域中获取的软件声音采样信号进行检测,当检测出满足条件的采样点时,进行相应的淡出处理,这样处理消除了由于暂停或者停止操作造成的软件噪声,提闻了电子设备的声首效果,提闻了用户的体验。
[0094]实施例五
[0095]与上述实施例二中的另一种消除软件噪声方法相对应,本发明实施例六还提供了另一种消除软件噪声装置。请参阅图8,其为本申请实施例三揭示的另一种消除软件噪声装置的结构示意图,该装置包括第二获取模块801和第二检测模块802和第二淡入模块803。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。[0096]第二获取模块801,用于获取当前缓冲区域中的软件声音采样信号;
[0097]第二检测模块802,用于检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j采样点的信号值不为零,且在第j点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值;
[0098]第二淡入模块803,用于对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0099]一般根据软件采样速率和淡入操作执行时间决定出在第j个采样点之后的哪一个采样点结束淡入操作。淡入操作的执行时间可以是经过机器学习方法得到的经验值,也可以是经验值的近似值但是不能与经验值相差太大,一般控制在10ms以内。
[0100]优选的,所述第二淡入模块803,包括:
[0101]淡入子模块,用于对位于当前缓存区域中第j个采样点至第i+j个采样点之间的所有声音采样信号进行淡入操作处理。
[0102]优选的,还包括:第三淡入模块,对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
[0103]由上述实施例可以看出,通过获取缓存区域中的软件声音采样信号;检测所获取的声音采样信号中是否存在满足以下条件的信号:在第j采样点的信号值不为零,且在第j个采样点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值;当检测出满足条件的第j个采样点时,用于对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。这样处理消除了由于重启操作造成的软件噪声,提高了电子设备的声音效果,提高了用户的体验。
[0104]以上对本发明所提供的一种消除软件噪声方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种消除软件噪声方法,其特征在于,包括: 获取当前缓存区域中的软件声音采样信号; 检测所获取的声音采样信号中满足以下条件的第m个采样点:第m-ι个采样点的信号值不为零,第m个采样点的信号值为零,且在第m个采样点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值; 对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
2.根据权利要求1所述的方法,其特征在于,所述对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理,包括: 对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
3.一种消除软件噪声方法,其特征在于,包括: 获取当前缓存区域中的软件声音采样信号; 检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j个采样点的信号值不为零,且在第j个采样点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值; 对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
4.根据权利要求3所述的方法,其特征在于,所述位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理,包括: 对位于当前缓存区域中的第j个采样点至第i+j个采样点之间的所有声音采样信号进行淡入操作处理。
5.根据权利要求3所述的方法,其特征在于,还包括: 对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
6.一种消除软件噪声装置,其特征在于,包括: 第一获取模块,用于获取当前缓存区域中的软件声音采样信号; 第一检测模块,用于检测所获取的声音采样信号中满足以下条件的第m个采样点:在第m-Ι采样点的信号值不为零,在第m采样点的信号值为零且m点之后至少连续η个采样点的信号值都是零,所述η是预先设置的数值; 第一淡出模块,用于对位于当前缓存区域中的第m个采样点之前的任意一个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
7.根据权利要求6所述的装置,其特征在于,所述第一淡出模块,包括: 淡出子模块,用于对位于当前缓存区域中的第m-n个采样点至第m个采样点之间的所有声音采样信号进行淡出操作处理。
8.一种消除软件噪声装置,其特征在于,包括: 第二获取模块,用于获取当前缓存区域中的软件声音采样信号;第二检测模块,用于检测所获取的声音采样信号中满足以下条件的第j个采样点:在第j个采样点的信号值不为零,且在第j点之前至少连续i个采样点的信号值都是零,所述i是预先设置的数值; 第二淡入模块,用于对位于当前缓存区域中的第j个采样点至第j个采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
9.根据权利要求8所述装置,其特征在于,所述第二淡入模块,包括: 淡入子模块,用于对位于当前缓存区域中的第j个采样点至第i+j个采样点之间的所有声音采样信号进行淡入操作处理。
10.根据权利要求8所述装置,其特征在于,还包括: 第三淡入模块,用于对获取到的第一个信号值不为零的采样点至第一个信号值不为零的采样点之后的任意一个采样点之间的所有声音采样信号进行淡入操作处理。
【文档编号】G06F11/00GK104035826SQ201310073430
【公开日】2014年9月10日 申请日期:2013年3月7日 优先权日:2013年3月7日
【发明者】李晓辉, 张学峰, 唐安阳, 胡胜发 申请人:安凯(广州)微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1