HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种用于识别音乐的方法、芯片和终端与流程

2021-01-28 13:01:37|310|起点商标网
一种用于识别音乐的方法、芯片和终端与流程

本申请涉及人工智能领域,并且更具体地,涉及一种用于识别音乐的方法、芯片和终端。



背景技术:

ai技术在终端上的应用越来越广,目前将ai人工智能集成在软件系统中,且大多数时候需要用户采用某一个动作来触发该ai人工智能的功能该终端中的ai人工智能的功能不会持续常开,也不会通过ai技术持续常开来感知用户周围的环境声音变化,其用体验度不佳。



技术实现要素:

鉴于此,本申请提供一种用于识别音乐的方法、芯片和终端,可以实时感知用户周围环境的声音变化,可以主动为用户提供更自然的人机交互和更好的用户体验。

第一方面,提供了一种用于识别音乐的方法,包括:终端通过第一麦克风实时获取声音,所述第一麦克风一直开启;所述终端调用ai算法分析所述第一麦克风实时获取的所述声音是否为音乐;若所述终端确定所述声音为音乐,所述终端开启第二麦克风;所述终端通过所述第二麦克风采集大于第一阈值时间的声音;所述终端对所述声音进行频谱转换,得到频谱信息;所述终端将所述频谱信息发送给服务器;所述服务器根据所述频谱信息进行搜索,得到音乐名称信息,并将所述音乐名称信息发送给所述终端;所述终端接收来自所述云服务器的所述音乐名称信息,在显示屏显示所述音乐名称信息。。

这样,采用上述方法利用低功耗且持续常开的第一麦克风实时感知用户周围环境的声音变化,若用户周围环境存在音乐,终端可以主动为用户提供音乐名称的信息,为用户提供更自然的人机交互和更好的用户体验。

根据第一方面的一种可能的实现方式中,所述终端调用ai算法分析所述第一麦克风实时获取的所述声音是否为音乐,包括:所述第一麦克风将获取到的所述声音转换为数字信号;所述终端将所述数字信号进行处理,将处理后的数字信号输入到ai算法模型中,所述ai算法模型调用ai算子库中对应的算子分析所述声音是否符合音乐特征,所述ai算子库固化在所述终端的硬件中,所述处理包括消抖、去噪或频谱变换。这样,可以判断用户周围的声音是音乐还是其他的声音。

根据第一方面,或以上第一方面的任意一种实现方式,所述ai算法模型调用ai算子库中对应的算子,包括:所述ai算法模型通过硬件加速器调用所述ai算子库中对应的算子。这样,可以判断用户周围的声音是音乐还是其他的声音。

第二方面,提供了一种用于识别音乐的芯片,包括协处理器和主处理器,所述协处理器与所述主处理器连接,所述协处理器用于接收来自第一麦克风的数字信号,处理该数字信号和分析处理后的数字信号是否符合音乐特征,其中所述第一麦克风的数字信号是所述第一麦克风将采集到的声音转换为的数字信号,所述采集到的声音是所述第一数字麦克风采集到的声音,所述处理包括消抖、去噪或频谱变换;若所述协处理器确定所述处理后的数字信号符合音乐特征,所述协处理器还用于向所述主处理器发送ai事件消息;所述主处理器用于:根据接收到的所述ai事件消息开启ai对应的应用功能。

这样,上述芯片利用低功耗且持续常开的第一麦克风实时感知用户周围环境的声音变化,若用户周围环境存在音乐,可以主动为用户提供音乐名称的信息,为用户提供更自然的人机交互和更好的用户体验。

根据第二方面的一种可能的实现方式中,所述协处理器用于根据所述处理后的数字信号,调用ai算法分析所述所述处理后的数字信号是否符合音乐特征。这样,可以判断用户周围的声音是音乐还是其他的声音。

根据第二方面,或以上第二方面的任意一种实现方式,所述协处理器包括:ai引擎模块、ai算子库模块和ai应用层模块,其中,所述ai引擎模块,用于协调ai算子库模块进行分析;所述ai算子库模块,用于调用ai算子库模块中对应的ai算子分析所述处理后的数字信号是否符合音乐特征,并向所述ai应用层上报识别结果;所述ai应用层模块,用于根据所述识别结果,向所述主处理器发送所述ai事件消息。这样,可以判断用户周围的声音是音乐还是其他的声音。

根据第二方面,或以上第二方面的任意一种实现方式,所述协处理器还包括:硬件加速器模块,用于对所述ai算子库模块调用对应的ai算子分析所述处理后的数字信号是否符合音乐特征的过程进行加速。这样,可以快速判断用户周围的声音是音乐还是其他的声音。

根据第二方面,或以上第二方面的任意一种实现方式,所述ai算子库模块固化在所述协处理器的硬件中。

第三方面,提供了一种终端,包括第二方面任意一种实现方式中的芯片以及第一麦克风,所述第一麦克风与所述协处理器相连。这样,终端利用低功耗且持续常开的第一麦克风实时感知用户周围环境的声音变化,若用户周围环境存在音乐,终端可以主动为用户提供音乐名称的信息,为用户提供更自然的人机交互和更好的用户体验。

第四方面,提供了一种计算机存储介质,包括计算机程序,当该计算机程序在所述终端上运行时,使得该终端执行第一方面任意一种实现方式中的方法。基于上述计算机可读存储介质可用于实现上述各项功能。

第五方面,提供了一种计算机程序产品,包括计算机程序,当该计算机程序在所述终端上运行时,使得该终端执行第一方面任意一种实现方式中的方法。

附图说明

图1为本申请实施例提供的一种终端的结构示意图;

图2为本申请实施例提供的一种终端的软件结构框图;

图3为本申请实施例提供的一种用于识别音乐的方法的示意性流程图;

图4为本申请实施例提供的一种终端的硬件架构示意性框图;

图5为本申请实施例提供的一种终端识别音乐场景的示意性流程图;

图6为本申请实施例提供的一种终端的硬件架构示意性框图;

图7为本申请实施例提供的一种终端的示意性结构图;

图8为本申请实施例提供的一种用于识别音乐的芯片的示意性结构图;

图9-图10为本申请实施例提供的人机交互示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例进行说明。

图1示出了终端100的结构示意图。

终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,usb)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,传感器模块180,协处理器190,马达191,指示器192,摄像头193,显示屏194,数字麦克风195,以及用户标识模块(subscriberidentificationmodule,sim)卡接口195等。其中传感器模块180可以包括压力传感器180a,陀螺仪传感器180b,气压传感器180c,磁传感器180d,加速度传感器180e,距离传感器180f,接近光传感器180g,指纹传感器180h,温度传感器180j,触摸传感器180k,环境光传感器180l,骨传导传感器180m等。

可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu),主处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,主处理器负责运行终端的各类应用,包括ui人机交互界面和云服务器交互等。在没有业务时,主处理器系统正常休眠待机,进入低功耗模式。

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

在本申请的实施例中,主处理器还包括ai本地和ai事件消息管理器。其中,ai本地接收协处理器上报的ai事件消息。ai事件消息管理器接收ai本地上报的ai事件消息,并统一管理终端的ai能力接口,为各个业务模块提供ai应用程序界面(applicationprograminterfae,api)。

协处理器190,协处理器190集成了ai能力,可以以低功耗模式持续运行检测用户周围的环境中的声音变化。协处理器190与主处理器连接,当检测到相应的事件后,通过向主处理器上报ai事件消息触发唤醒主处理器。

本申请实施例中,主处理器可以在判断数字麦克风采集的声音为音乐时,开启对应的应用功能。若经协处理器识别数字麦克风所采集的声音不是音乐,则不会生成ai事件消息。例如:在协处理器190确定用户周围声音是音乐后,生成ai事件消息,发送给ai本地;ai本地接收到该ai事件消息,将该ai事件消息上报给ai事件消息管理器;ai事件消息管理器接收到该ai事件消息,响应于该ai事件消息,主处理器开启音乐名称识别应用。

数字麦克风195是低功耗设备,在本申请实施例中处于常开启的状态。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,用户标识模块(subscriberidentitymodule,sim)接口,和/或通用串行总线(universalserialbus,usb)接口等。

i2c接口是一种双向同步串行总线,包括一根串行数据线(serialdataline,sda)和一根串行时钟线(derailclockline,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现终端100的触摸功能。

i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。

pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。

uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。

mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(cameraserialinterface,csi),显示屏串行接口(displayserialinterface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现终端100的显示功能。

gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。

usb接口130是符合usb标准规范的接口,具体可以是miniusb接口,microusb接口,usbtypec接口等。usb接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端,例如ar设备等。

可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块140用于从充电器接收充电输入。

电源管理模块141用于连接电池142,充电管理模块140与处理器110。终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用在终端100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以提供应用在终端100上的包括无线局域网(wirelesslocalareanetworks,wlan)(如无线保真(wirelessfidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(globalpositioningsystem,gps),全球导航卫星系统(globalnavigationsatellitesystem,glonass),北斗卫星导航系统(beidounavigationsatellitesystem,bds),准天顶卫星系统(quasi-zenithsatellitesystem,qzss)和/或星基增强系统(satellitebasedaugmentationsystems,sbas)。

终端100通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些实施例中,终端100可以包括1个或n个显示屏194,n为大于1的正整数。

终端100可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。

isp用于处理摄像头193反馈的数据。

摄像头193用于捕获静态图像或视频。

数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。

视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)1,mpeg2,mpeg3,mpeg4等。

npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

外部存储器接口120可以用于连接外部存储卡,例如microsd卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端100的各种功能应用以及数据处理。

终端100可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。

扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器170a收听音乐,或收听免提通话。

受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。

麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。终端100可以设置至少一个麦克风170c。在另一些实施例中,终端100可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端100还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。

本申请的实施例中,麦克风能够采集大于第一时间阈值的声音,处理器对采集到的声音进行频谱转换,将其转换为频谱信息,将所述频谱信息发送给云服务器。云服务器存储有音乐数据库,该音乐数据库存储有大量的音乐的名称信息和频谱信息,云服务器将来自终端的频谱信息与云服务器所存储的频谱信息进行匹配,若匹配到相同的频谱信息,云服务器将与其相对应的名称信息发送给终端,终端在显示屏进行显示;若无法匹配到相同的频谱信息,云服务器给终端发送匹配失败的信息,终端可以在显示屏进行显示该失败的信息,也可以不显示。

耳机接口170d用于连接有线耳机。压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。陀螺仪传感器180b可以用于确定终端100的运动姿态。子设备100的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。气压传感器180c用于测量气压。磁传感器180d包括霍尔传感器。加速度传感器180e可检测终端100在各个方向上(一般为三轴)加速度的大小。距离传感器180f,用于测量距离。接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。环境光传感器180l用于感知环境光亮度。指纹传感器180h用于采集指纹。温度传感器180j用于检测温度。触摸传感器180k,也称“触控器件”。骨传导传感器180m可以获取振动信号。马达191可以产生振动提示。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

图2是本发明实施例的终端100的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。

如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端振动,指示灯闪烁等。

androidruntime包括核心库和虚拟机。androidruntime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surfacemanager),媒体库(medialibraries),三维图形处理库(例如:opengles),2d图形引擎(例如:sgl)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

2d图形引擎是2d绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

应理解,本申请中的终端不仅限于手机,还可以是其它便携式终端,诸如平板电脑、笔记本电脑和具备显示屏的可穿戴终端(如智能手表)等,还可以是连接到无线调制解调器的车载设备、物联网、车辆网中具有显示屏的终端。

本申请实施例中的人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。目前ai人工智能集成在软件系统中,该ai人工智能功能基本上都需要用户的某一个动作或其他应用模块的触发。以用户听到一首歌曲,想获取该歌曲的名字为场景进行说明。

示例性的,当用户需要开启终端中的识别音乐的功能时,该用户可以打开例如微信应用,进入“摇一摇”的界面,如图3所示,点击歌曲选项302,然后用户摇晃手机,响应于用户的摇晃手机的操作,微信应用开启麦克风,其中图标303用于提醒用户摇晃手机;或者,该用户打开例如酷狗音乐应用,进入“听歌识曲”的界面,用户点击开始的控件,响应于用户的点击操作,酷狗音乐应用开启麦克风。麦克风采集声音,并将采集到的声音转换为模拟音频信号发送给处理器,处理器对模拟音频信号进行频谱转换,将其转换为频谱信息,将所述频谱信息发送给云服务器。云服务器中有大量的音乐的音乐名称和频谱信息,云服务器将终端发送的频谱信息在数据库内进行匹配。如果云服务器能够匹配到合适的歌曲名字,则将匹配到的歌曲名字发送给终端,终端在显示屏显示该歌曲名字;如果在第一时间阈值内匹配不到音乐曲目,则将识别识别的信息发送给终端,终端在显示屏显示识别失败的信息。终端收到服务器发送的信息(歌曲名字的信息或识别失败的信息)后识别结束,微信应用关闭麦克风。在上述现有技术中,终端通过麦克风采集声音,即使麦克风采集到的不是音乐的声音,例如用户说话的声音,终端也要将上述声音发送到云端进行匹配,从结果效率而言,浪费资源。而且开启麦克风的过程,需要用户进行多次用户界面切换,如果用户在听到心仪的歌曲,不方便操作手机,就无法开启终端中的识别音乐的功能;或者用户来不及操作手机,就会错过识别音乐的时机,用户体验度不好。其中状态栏301可包括:移动通信信号、运营商名称(例如“中国移动”)、无线高保真(wirelessfidelity,wi-fi)信号的一个或多个信号强度指示符,电池状态指示符、时间指示符。

由上述现有的终端设备中的音乐识别功能可以看出,识别音乐的ai算法集成在软件系统中,作为软件系统的一个能力,需要由其他应用模块调用才会触发相应的ai算法。如果其他应用模块没有触发,则该ai算法无法开启,终端不会主动、实时感知用户周边的声音。综上所述,现有技术中终端不能够自主运行ai感知能力,需要依赖特定的动作或需要某些应用模块的调用,其用户体验度不佳。

下面结合图4详细描述本申请实施例中主处理器和协处理器以及数字麦克风协同处理,从而实现终端可以自主运行ai感知能力,实时感知用户周围的声音变化并对音乐进行识别的具体实现方式。图4所示的硬件架构可以包括主处理器410、协处理器420、数字麦克风430。其中协处理器420可以对应图1中的190,数字麦克风430可以对应图1中的195。

协处理器420:集成了ai能力,可以以低功耗模式持续运行检测用户周围的环境中的声音变化。协处理器420与主处理器410连接,当检测到相应的事件后,通过向主处理器410上报ai事件消息触发唤醒处理器410。

主处理器410:在没有业务时,主处理器410系统可以进行正常休眠待机状态,进入低功耗模式。当接收到协处理器420发送的ai事件消息之后,处理器410被唤醒后,接收协处理器420上报的事件,触发音乐名称识别功能。

数字麦克风430:属于低功耗设备,通过协处理器420提供的数据总线与协处理器420连接,为协处理器420处理ai业务提供了数据来源,可以处于常开状态用于采集用户周围的环境中的声音。

下面对协处理器420的系统架构进行详细描述。

协处理器420可以是一个实时操作系统(realtimeoperatingsystem,rtos)。当外界事件或数据产生时,能够接受并以足够快的速度予以处理。其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务。并控制所有实时任务协调一致运行的操作系统,响应速度快,可靠性高。

协处理器420的rtos系统可以包括:内核421、框架层(framework层)422、app应用层423。

内核(kernel)421包括:外设驱动模块4211、硬件加速模块4212、ai算子库模块4213。

框架层422包括:ai应用管理模块4221、ai算法管理模块4222、ai算法模型4223。

app应用层423包括:ai应用层模块4231、ai引擎模块4232、ai模型管理模块4233。

下面对上述几种模块进行详细描述。

外设驱动模块4211:可以驱动数字麦克风430。例如,可以连接数字麦克风430,该数字麦克风430可以感知用户周围的声音变化,将声音转化为数字信号,发送给协处理器。该模块为感知用户周围的声音环境提供了硬件基础。

ai应用管理模块4221:可以对外设驱动模块4211上报的数据、信息或信号等进行分类。

ai引擎模块4232:可以负责调度、协调ai算法模型4223进行运算。由于同时有多个ai算法模型4223运行,ai引擎模块4232的调度管理控制可以最大限度的保证软件有序运行。

ai算法管理模块4222:负责算法管理,可以根据ai应用管理模块4221上报的不同类别的数据,从多个运行的ai算法模型4223中选择出对应的ai算法模型进行分析。

ai算法模型4223:可以是符合某些业务的图像、声音的算法特征的集合。例如,在进行音乐识别时,该ai算法模型4223可以是符合音乐的节奏、旋律和频谱的连贯性特征的集合。ai算法模型4223可以通过大规模的音乐数据进行训练,训练完成之后生成算法模型,并可以由对应的ai算子运行该算法模型进行音乐名称识别的操作。具体的,终端中的协处理420可以在接收到常开的数字麦克风430上报的数字信号之后,ai应用管理模块4221可以通过ai引擎模块4232调用对应的ai算法确定采集到的声音是否为音乐。

需要说明的是,ai算法模型4223可以默认集成在软件系统中,也可以通过主处理器410更新到协处理器420中,本申请实施例对此不做具体限定。

ai模型管理模块4233:在一些实施例中,主处理器410还可以对ai算法模型4223进行优化。

ai算子库模块4213:ai引擎模块4232可以通过调用ai算子库模块4213中的算子来运行ai模型管理模块4233进行音乐识别的操作。由于协处理器420资源有限,可以将设计大量数学计算的ai算子库模块4213固化在硬件中,可以由硬件实现ai的大部分算子,可以避免软件实现算子产生的高处理器负荷。硬件固化算子的接口可以由内核421提供接口给ai模型管理模块4233使用。

应理解,ai算子库模块4213固化在硬件中(软件固化)可以是将软件写到协处理器芯片上,可以通过协处理器芯片来运行烧写上的软件。软件固化即把软件制做在硅片(就是所谓固件)上来实现软件功能,使操作系统和语言处理的复杂性由软硬件双方分担。

本申请实施例中,将ai算子库模块4213固化在协处理器的硬件上,该软件固化的操作可以提高整个系统的操作速度,改善可靠性,降低成本,便于大规模生产和实现标准化。

硬件加速模块4212:可以通过加速模式,对ai引擎模块4232调用ai算子库模块4213中的算子来运行ai模型管理模块4233的过程进行加速。可以保证ai引擎模块4232快速实时的调用ai算子库模块4213中的算子,为框架层422ai模型管理模块4233中的各类ai算法提供能力接口。

ai应用层模块4231:可以位于app应用层423,可以按照终端业务设计的场景需求,在app应用层423实现各种持续ai应用。ai应用层模块4231可以调用到各类算法得到外围连接各类器件的ai识别结果之后,并可以将对应的ai事件消息上报给主处理器410。如果主处理器410是处于低功耗状态,可以在被唤醒之后,对该ai事件消息进行二次处理。

具体的,终端通过数字麦克风430采集声音,确定采集到的声音是音乐,ai应用管理模块4221将音乐检测结果结果上报给ai应用层模块4231。ai应用层模块4231在得到识别结果之后,就会形成识别ai时间消息,并将该ai事件消息上报给主处理器410中的ai事件消息管理器412。

还可以将主处理器410优化后的ai算法模型4223发送至协处理器420的ai引擎模块4232,ai引擎模块4232可以通过ai模型管理模块4233将对ai算法模型4223进行更新。

下面对主处理器410的系统架构进行详细描述。

主处理器410可以包括:ai本地411和ai事件消息管理器412。

ai本地411:可以接收协处理器420上报的ai事件消息,主处理器410被唤醒。

ai事件消息管理器412:可以接收ai本地411上报的ai事件消息,并统一管理终端的ai能力接口,为各个业务模块提供ai应用程序界面(applicationprograminterfae,api)。根据产品业务需求,实现各种业务功能。

具体的,主处理器410中的ai事件消息管理器412在接收到ai应用层模块4231发送的ai事件消息之后,该主处理器410被唤醒。主处理器410开启对应的音乐名称识别功能。

可选地,在一些实施例中,如果需要大数据处理,ai事件消息管理器412还可以将数据传递到云服务器,完成终端和云服务器结合的低功耗业务处理模式。

本申请实施例中,协处理器运行的主频较低,涉及的大量数学运算的ai算子是以硬件固化的方式集成,并且外围的器件为低功耗器件,可以在低功耗的模式下常开并运行ai感知能力,使得终端可以不依赖特定的动作,能够感知用户的动作变化或环境变化。

本申请实施例提供了一种用于识别音乐的方法,参见图5所示,可以使得终端不依赖用户的特定操作,可以实时感知用户周围环境的声音变化,可以为用户提供无缝感知应用业务的能力,使得终端更智能化,人机体验更舒适。所述方法包括:

步骤510:开始。

步骤520:数字麦克风采集声音。

本申请实施例中的数字麦克风可以以特定帧率一直开启,从而可以实时采集终端周边的声音,并可以将采集到的声音转换为数字信号后,将数字信号上报至ai应用管理模块4221。

应理解,数字麦克风可以作为低功耗的基础设施,并且持续不断的采集终端周围的声音,数字麦克风能够将采集到的声音转换为数字信号进行处理和传输,为终端实现自主运行ai人工智能技术提供硬件基础。

步骤530:协处理器调用音乐识别的ai算法模型,检测数字麦克风采集到的声音是否是音乐。

ai应用管理模块4221可以通过ai引擎模块4232调用对应的音乐识别的ai算法模型4223分析采集到的声音是否是音乐。

具体地,ai算法模型4223可以调用ai算子库模块4213中对应的音乐识别的ai算子,运行该音乐识别的ai算法模型4223进行音乐识别。例如,对数字麦克风发送的数字信号进行消抖去噪,然后进行频谱变换或者采用现有的典型算法(比如filterbank算法(fbank)和mel频率倒谱系数(mfcc)算法)进行转换,得到声音特征,确定该声音特征是否符合音乐的节奏、旋律和频谱的连贯性特征。如果音乐识别的结果为采集到的声音符合音乐的节奏、旋律和频谱的连贯性特征,则ai应用管理模块4221可以执行步骤540。

如果音乐识别的结果为采集到的声音不符合音乐的节奏、旋律和频谱的连贯性特征,则ai应用管理模块4221可以重新执行步骤510。

示例性的,通过对音乐数据库中的大量音乐通过频谱变换或者采用现有的典型算法(比如filterbank算法(fbank)和mel频率倒谱系数(mfcc)算法),分析大量音乐的基本特征(如频谱信息、音量、音色和音长),提取出音乐的节奏、旋律和频谱的连贯性特征,形成音乐识别的ai算法模型4223。

步骤540:协处理器将ai事件消息上报给主处理器。

协处理器420中的ai应用管理模块4221可以将音乐识别的结果上报给ai应用层模块4231。ai应用层模块4231在得到音乐识别的结果之后,就会形成音乐事件消息,并将该音乐事件消息上报给主处理器410中的ai事件消息管理器412。

步骤550:主处理器被唤醒。

主处理器410中的ai事件消息管理器412在接收到ai应用层模块4231发送的音乐事件消息之后,该主处理器410被唤醒。

步骤560:主处理器启动音乐名称识别流程。

主处理器410可以在接收到音乐事件消息之后,可以启动对应的音乐名称识别应用。所述音乐名称识别应用采用现有技术,参见图6,主处理器410启动音乐识别应用,该音乐识别音乐例如是图2所示的音乐识别应用,该应用自动开启麦克风。麦克风采集大于第一时间阈值的声音,并将采集到的声音转换为模拟音频信号发送给处理器,处理器对模拟音频信号进行频谱转换,将其转换为频谱信息,将所述频谱信息发送给云服务器。云服务器存储有音乐数据库,该音乐数据库存储有大量的音乐的名称信息和频谱信息,云服务器将来自终端的频谱信息与云服务器所存储的频谱信息进行匹配,若匹配到相同或相似的频谱信息,云服务器将与其相对应的名称信息发送给终端,终端在显示屏进行显示;若在第二时间阈值内无法匹配到相同或相似的频谱信息,云服务器给终端发送匹配失败的信息,终端可以在显示屏进行显示该失败的信息,也可以不显示,处理器关闭麦克风。

步骤570:结束。

本申请实施例中,终端可以通过数字麦克风实时采集用户周围的声音,并可自主运行ai感知能力。当用户周围有音乐时,数字麦克风将采集到的声音转换为数字信号发送给协处理器,协处理器判断数字麦克风采集到的声音为音乐,将音乐事件消息发送给处理器,处理器启动音乐名称识别应用,并将歌名在显示屏显示,使得终端更智能化,人机体验更舒适。

上文结合图5至图6,详细描述了本发明实施例提供的一种用于识别用户行为的方法,下面详细描述本申请实施例的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。

图7是本申请实施例提供的一种终端700的示意性结构图。终端700可以包括:获取模块710、分析模块720、确定模块730、处理模块740。下面对上述几种模块进行详细描述。

获取模块710,例如数字麦克风,数字麦克风用于实时获取声音数据,转换为数字信号,所述数字麦克风是低功耗设备处于一直开启的状态。

分析模块720,用于根据所述数字信号,分析获取模块获取的声音是否是音乐。

确定模块730,用于确定所述获取模块获取的声音是音乐。

处理模块740,用于开启人工智能ai对应的应用功能。

可选地,在一些实施例中,分析模块720具体用于:将所述数字信号输入到ai算法模型中,所述ai算法模型调用ai算子库中对应的算法分析所述数字麦克风采集到的声音是否为音乐。

可选地,在一些实施例中,所述ai算子库固化在所述终端的硬件中。

可选地,在一些实施例中,分析模块720还具体用于:通过硬件加速器调用所述ai算子库中对应的算子,并分析获取模块获取的声音是否是音乐。

图8是本申请实施例提供的一种用于识别音乐的芯片800的示意性结构图。该芯片可以包括主处理器810、协处理器820。

其中,协处理器820可以对应于图4所示的协处理器420,也可以对应图1所述的协处理器190;主处理器810可以对应于图4所示的主处理器410。

所述协处理器820用于执行以下操作:通过数字麦克风实时获取声音,所述数字麦克风与所述协处理器相连,所述数字麦克风一直开启;数字麦克风将所述声音据转换为数字信号,根据所述数字信号分析数字麦克风所采集的声音是否是音乐;若数字麦克风所采集的声音是音乐,向主处理器发送ai事件消息。

所述主处理器810用于:根据接收到的所述ai事件消息开启ai对应的应用功能。

可选地,在一些实施例中,所述协处理器820包括:ai引擎模块、ai算子库模块,ai应用层模块,所述ai引擎模块用于协调ai算子库模块进行分析;所述ai算子库模块用于调用ai算子库模块中对应的ai算子分析所述数字麦克风获取的声音是否是音乐,并向所述ai应用层上报识别结果;所述ai应用层模块用于根据所述识别结果,向所述处理器发送所述ai事件消息。

可选地,在一些实施例中,所述协处理器820还包括:硬件加速器模块,用于对所述ai算子库模块调用对应的ai算子分析所述数字麦克风获取的声音是否是音乐的过程进行加速。

可选地,在一些实施例中,所述ai算子库模块固化在所述协处理器的硬件中。

本申请实施例还提供了一种计算机可读存储介质,包括计算机程序,当该计算机程序在终端上运行时,使得该计算机执行上述实施例中的方法。

本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在终端上运行时,使得该计算机执行上述实施例中的方法。

在一些可选的实现方式中,响应于用户操作,终端显示如图9a示出的开启ai智能管理的界面。该用户操作可以包括用户对终端显示的桌面中的设置图标的点击操作。如图9a所示,该设置界面可包括多个设置选项(例如飞行模式、wi-fi、蓝牙、个人热点、移动网络、电池、ai智能等),用户可点击任意一个设置选项进行相应的设置(例如开启飞行模式、开启蓝牙等)。

在一些实施例中,不限于设置界面,终端还可以显示包括系统界别的界面元素,例如状态栏、导航栏等。其中,状态栏中可以包括运营商的名称(例如中国移动)、时间、wi-fi图标、信号强度、当前的剩余电量、蓝牙图标、闹钟图标等。导航栏中可以包括后退键图标、主页键图标和菜单键图标等。

响应于用户对设置界面中的选项ai智能901的点击操作,终端的显示屏显示如图9b所示ai智能的设置界面。如图9b所示的ai智能设置界面可包括:开启数字麦克风开关702,以及,关于开启数字麦克风的说明。在图9b中,数字麦克风处于关闭状态,用户可点击开启/关闭开关902,开启数字麦克风。其中,数字麦克风的说明可以向用户简单介绍其功能。例如,如图9b所示,可以为:开启数字麦克风后,将会实时识别您周围的是否存在音乐,并反馈音乐名称。在此不作限制。

进一步的,用户按照图9所示的方法开启数字麦克风之后,还可以根据需要关闭数字麦克风。具体的,用户可点击处于开启状态的开关902,关闭数字麦克风。关闭数字麦克风之后,终端退出或取消已采取的限制处理。

本申请中,终端提示用户周围的音乐名称的方式可以有多种。

在一种可能的实现方式中,终端可以通过弹窗提示用户电池当前的状况。示例性地,参见图10的10a,在终端显示屏解除锁定时,可在显示屏顶部显示弹窗1001,该弹窗1001悬浮显示在终端系统当前输出的界面内容(如图10的10a所示的桌面)之上。在终端显示屏锁定时,终端可在显示屏中间区域显示弹窗。这里,不限于图10a中弹窗1001包括的内容,具体实现中,终端显示的弹窗还可包括更加详细的信息,例如:提醒!您周围的音乐时《大碗宽面》等。

在一种可能的实施方式中,弹窗1001接收的用户操作可以为用户手指从弹窗1001向显示屏上方的滑动手势,响应于该滑动手势,终端显示屏的顶端不再显示该弹窗1001。

可选的,终端显示屏的顶端不再显示该弹窗1001后,该弹窗1001内的提示信息可以在通知栏中显示,当用户调出通知栏时,可以看到该提示信息。

这里,用户可以在终端显示屏输出的任意界面内容上,通过从显示屏顶端向下滑动的手势调出通知栏,也可以通过导航键调出通知栏,本申请不做限制。示例性地,参见图10的10c,其示出了一种可能的通知栏的样式。如10c所示,通知栏中包括用于提示用户电池当前的状况的提示信息1002,还可包括日期、天气、地点、设置图标、各个设置选项(例如wifi、蓝牙、个人热点等)的快捷启动/关闭图标、显示屏亮度条以及其他提示信息(例如微信消息)等。在一些实施例中,通知栏中显示的提示信息1002可以接收输入的用户操作(例如点击操作),响应于该用户操作,终端可显示提示信息的详情。

在另一种可能的实施方式中,弹窗1001接收的该用户操作还可以为点击操作。响应于该点击操作,终端显示屏可显示音乐名称的详情。

示例性地,参见图10的10b,其示出了一种可能的音乐详情,如10b所示,《大碗宽面》。音乐详情中还可包括“前往听小曲”的选项。用户可点击“前往听小曲”,终端开启音乐应用,自动开始播放该歌曲《大碗宽面》。

在一些实施例中,在图10的10a中,终端在显示屏顶部显示的弹窗1001的默认显示时长可以预先设置(例如设置为第一时长)。若该弹窗1001在第一时长内没有接收到输入的用户操作,则终端显示屏的顶端不再显示该弹窗1001。可选的,终端显示屏的顶端不再显示该弹窗1001后,该弹窗1001内的提示信息可以在通知栏中显示,当用户调出通知栏时,可以看到该提示信息。这里,通知栏的样式可参照图10中的10c以及相关描述。

通过图10所示的方法,终端可以提示用户周围的音乐名称。

可理解的,不限于图10中10a所示的通过显示屏顶部的弹窗1001提示用户电池当前的状况的方式,本申请还可通过其他方式提示用户。例如,在一些可能的实施例中,终端还可在显示屏中部显示弹窗,该弹窗可包括提示用户周围的音乐名称的信息。

以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应以所述权利要求的保护范围为准。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips