一种采集参考信号的方法、装置、系统及程序产品制造方法及图纸

技术编号:22021776 阅读:48 留言:0更新日期:2019-09-04 01:10
本发明专利技术提出了一种采集参考信号的方法,用于Linux平台中,包括:S1.使用Linux内核ALSA框架中的虚拟声卡来回采播放的信号作为参考信号;S2.通过实际硬件声卡采集语音信号;S3.所述的参考信号的第一音频数据与语音信号采集的第二音频数据通过计数实现同步。本发明专利技术还公开了一种采集参考信号的装置和系统及程序产品。本技术方案中的采集参考信号的方法、装置、系统及程序产品从软件上实现参考信号的采集,节省硬件成本,且便于维护与移植。

A Method, Device, System and Program Products for Collecting Reference Signals

【技术实现步骤摘要】
一种采集参考信号的方法、装置、系统及程序产品
本专利技术涉及一种linux内核领域,特别涉及一种采集参考信号的方法、装置、系统及程序产品。
技术介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。在包含语音交互功能的产品中,回音消除系统几乎都不可或缺,以用于消除采集到的语音信号中包含的由自身扬声器播放的声音部分。输入给回音消除算法的除了有普通的语音信号外,还需要有自身播放声音的参考信号,而目前市面上在Linux平台对于参考信号的采集主要有以下两种方式:第一种方式:使用额外的硬件模块采集参考信号,;第二种方式:在单个应用软件中将自身要播放的音频数据保存下来作为回采的参考信号。其中,第一种方式会增加硬件成本;第二种方式从软件上回采参考信号仅限于单一应用程序内部,无法直接用于多个应用程序的场景中,应用开发者需要对应用代码进行额外的修改,不便于维护与移植。
技术实现思路
为了解决以上的问题,本专利技术能提供一种节省硬件成本及便于维护与移植的采集参考信号的方法、装置、系统及程序产品。本专利技术公开了一种采集参考信号的方法,用于Linux平台中,包括:S1.使用Linux内核ALSA框架中的虚拟声卡来回采播放的信号作为参考信号;S2.通过实际硬件声卡采集语音信号;S3.所述的参考信号的第一音频数据与语音信号采集的第二音频数据通过计数实现同步。进一步地,步骤S1之前还具有步骤S0,同时播放多个应用程序,通过ALSA的标准plug-in,在系统层让音频数据在播放的同时自动送往所述的虚拟声卡。进一步地,步骤S3中,通过纳秒级定时器实现计数。进一步地,步骤S3中,通过所述的实际硬件声卡的数据寄存器实现计数。本专利技术公开了一种采集参考信号的装置,用于Linux平台中,包括:参考信号采集单元,用于使用Linux内核ALSA框架中的虚拟声卡来回采播放的信号作为参考信号;语音信号采集单元,用于通过实际硬件声卡采集语音信号;同步单元,用于所述的参考信号的第一音频数据与语音信号采集的第二音频数据通过计数实现同步。进一步地,所述的参考信号采集单元之前还具有混音单元,用于同时播放多个应用程序,通过ALSA的标准plug-in,在系统层让音频数据在播放的同时自动送往所述的虚拟声卡。进一步地,所述的同步单元中,通过纳秒级定时器实现计数。进一步地,所述的同步单元中,通过所述的实际硬件声卡的数据寄存器实现计数。本专利技术公开了一种采集参考信号的系统,包括Linux内核,所述的Linux内核具有上述的装置。本专利技术公开了一种采集参考信号的程序产品,用于Linux内核中,所述的程序产品具有以上方法中的步骤的计算机程序代码。实施本专利技术的一种采集参考信号的方法、装置、系统及程序产品,具有以下有益的技术效果:区别于现有技术中的使用额外的硬件模块采集参考信号会增加硬件成本;从软件上回采参考信号仅限于单一应用程序内部,无法直接用于多个应用程序的场景中,应用开发者需要对应用代码进行额外的修改,不便于维护与移植的不足,本技术方案中的采集参考信号的方法、装置、系统及程序产品从软件上实现参考信号的采集,节省硬件成本;从系统层面采集参考信号,上层应用程序无需关注采集参考信号的实际方式以及其他应用程序的行为,方便应用开发者的维护与移植。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的实施例一种采集参考信号的方法流程图;图2为本专利技术的实施例一种采集参考信号整体系统框图;图3为本专利技术的实施例一种采集参考信号的装置模块图;图4为本专利技术的实施例一种采集参考信号的系统模块图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,实施例,一种采集参考信号的方法,用于Linux平台中,包括:S1.使用Linux内核ALSA框架中的虚拟声卡(Loopback:本地环回接口,亦称回送地址)来回采播放的信号作为参考信号;S2.通过实际硬件声卡采集语音信号;S3.所述的参考信号的第一音频数据与语音信号采集的第二音频数据通过计数实现同步。本技术方案中,更改Loopback搬运数据的方式,让其依赖于高精度定时器或实际硬件声卡(用于语音信号采集)的数据寄存器计数,保证语音信号与参考信号间的同步;通过ALSA的标准plug-in,在系统层让音频数据在播放的同时自动送往Loopback声卡(作为参考信号),并给录音程序提供接口以采集参考信号;另一方面,通过ALSAplug-in的机制保证即使录音过程中有数据丢失,语音信号和参考信号能依旧保持对齐。请参阅图2,(1)处允许多个应用程序同时进行播放,通过ALSAplug-in在系统层面实现混音。从各个播放应用程序的角度来看,它们只能看到由plug-in所提供的单一的音频设备,只要把数据往里面送,其余的混音、回采的操作会自动由系统实现,对它们而言都是透明的。从(2)处送给Loopback虚拟声卡的数据可以从(3)处完整地读出来,(3)处提供了标准的ALSA设备接口,允许上层应用直接从中读取数据。ALSA原生的Loopback依赖于系统定时器的计时来搬运数据,在嵌入式平台中系统定时器一般只有10ms的精度,难以满足一般回音消除算法对语音信号与参考信号的同步性要求;本技术方案为此新增了两种计时方法:使用高精度定时器(理论精度可达ns,实际精度因硬件平台而定),或(4)处所示的依赖于硬件ADC的数据寄存器计数,从而更好地保证语音信号与参考信号的同步。(5)处使用ALSAplug-in将Loopback声卡设备(用于采集参考信号)和硬件声卡设备(用于采集语音信号)合并为单一的音频设备接口,这样上层应用也无需关注多余的实现细节,从这个单一的音频设备中就能将语音信号和参考信号同时采集到。另外在采集过程中若发生了数据丢失,这种做法还能保证后续的语音信号与参考信号保持对齐,避免回音消除算法因此而失效。步骤S1之前还具有步骤S0,同时播放多个应用程序,通过ALSA的标准plug-in,在系统层让音频数据在播放的同时自动送往所述的虚拟声卡。综上,回音消除算法需要有两路信号输入:语音信号与参考信号,本专利提供了一种Linux平台中从软件上在系统层面采集参考信号的方法,可节省用于采集参考信号的硬件资源。传统的从硬件上采集参考信号的方法,而本专利是从软件上来采集参考信号,采集方式不同,更节省硬件成本。本专利是基于Linux平台ALSA框架的Loopback虚拟设备实现,本专利的回音消除模块位于本文档来自技高网...

【技术保护点】
1.一种采集参考信号的方法,用于Linux平台中,其特征在于,包括:S1.使用Linux内核ALSA框架中的虚拟声卡来回采播放的信号作为参考信号;S2.通过实际硬件声卡采集语音信号;S3.所述的参考信号的第一音频数据与语音信号采集的第二音频数据通过计数实现同步。

【技术特征摘要】
1.一种采集参考信号的方法,用于Linux平台中,其特征在于,包括:S1.使用Linux内核ALSA框架中的虚拟声卡来回采播放的信号作为参考信号;S2.通过实际硬件声卡采集语音信号;S3.所述的参考信号的第一音频数据与语音信号采集的第二音频数据通过计数实现同步。2.根据权利要求1所述的方法,其特征在于,步骤S1之前还具有步骤S0,同时播放多个应用程序,通过ALSA的标准plug-in,在系统层让音频数据在播放的同时自动送往所述的虚拟声卡。3.根据权利要求1所述的方法,其特征在于,步骤S3中,通过纳秒级定时器实现计数。4.根据权利要求1所述的方法,其特征在于,步骤S3中,通过所述的实际硬件声卡的数据寄存器实现计数。5.一种采集参考信号的装置,用于Linux平台中,其特征在于,包括:参考信号采集单元,用于使用Linux内核ALSA框架中的虚拟声卡来回采播放的信号作为参考信号;语...

【专利技术属性】
技术研发人员:林俊彦孙彦邦谢林菲陈鹍遥
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1