首页 / 一种音频变调方法及显示设备

一种音频变调方法及显示设备实质审查 发明

技术领域

[0001] 本发明涉及显示设备技术领域,尤其涉及一种音频变调方法及显示设备。

相关背景技术

[0002] 对音频进行变调处理能够提升显示设备的娱乐性,例如歌曲的音调对于用户来说太高或太低,都可以利用音频变调算法对歌曲进行降调或升调,以使歌曲的音调符合用户的实际音调需求。在显示设备上对音频进行变调输出的过程包括以下步骤:输入音频信号经过前处理后,进入变调处理,然后经过其他的信号处理,最后输出到功效,再由功放输出到音箱播放。其中输入音频信号可以是麦克风拾取的人声信号,也可以是歌曲的伴奏信号。
[0003] 常用的变调方法包括基于深度学习的变调、Wsola(Waveform similarity Overlap‑Add,波形相似叠加)变调等变调方法。基于深度学习变调的方法,根据数据类型可以分为两种:第一种为平行数据,即源说话人和目标说话人有相同文本的语音数据,训练出一一对应的映射关系的模型。另一种是非平行数据,即只有源说话人和目标说话人不同的语音数据,训练出一到任意的映射关系的模型。实际应用中由于基于深度学习的变调方法需要比较大的计算量和存储空间,在采用资源比较少的SOC(System on Chip,芯片级系统)芯片或者DSP(Digital Signal Processing,数字信号处理器)时经常无法使用基于深度学习的变调方法。
[0004] 为了减少计算量和资源占用,通常采用Wsola变调方法进行音频变调。Wsola变调方法还可以缓解波形不连续(基音断裂)的问题。然而Wsola变调方法虽然能够减轻波形的不连续,但是其无法从根本上解决波形不连续的问题,并且同时使用Wsola变调方法进行变调处理会引入新的问题。例如,当输入信号包含有冲击瞬态信号时,使用Wsola变调方法可能会导致合成音频失真。因此如何在系统资源减少时实现变调并且能够避免音频失真成为亟待解决的问题。

具体实施方式

[0037] 为使本申请一些实施例的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请一些实施例技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
[0038] 需要说明的是,本申请一些实施例中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请一些实施例的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
[0039] 本申请一些实施例中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
[0040] 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
[0041] 术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
[0042] 图1为本申请一些实施例提供的显示设备与控制设备之间操作场景的示意图。如图1中示出,用户可通过移动终端300和控制设备100操作显示设备200。
[0043] 在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作和数据通信的目的。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能。
[0044] 如图1中还示出,显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。
[0045] 显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
[0046] 图2为本申请一些实施例提供的图1中显示设备200的硬件配置框图。
[0047] 在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
[0048] 在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
[0049] 在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
[0050] 在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器400进行通信的组件。
[0051] 在一些实施例中,控制器250包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口,控制器250通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。
[0052] 在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
[0053] 在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。
[0054] 在一些实施例中,用户接口280,为可用于接收控制输入的接口。
[0055] 图3为本申请一些实施例提供的图1中控制设备的硬件配置框图。如图3所示,控制设备100包括控制器110、通信接口130、用户输入/输出接口、存储器、供电电源。
[0056] 控制设备100被配置为控制显示设备200,以及可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起到用户与显示设备200之间交互中介作用。
[0057] 在一些实施例中,控制设备100可是一种智能设备。如:控制设备100可根据用户需求安装控制显示设备200的各种应用。
[0058] 在一些实施例中,如图1所示,移动终端300或其他智能电子设备,可在安装操控显示设备200的应用之后,可以起到控制设备100类似功能。
[0059] 控制器110包括处理器112和RAM 113和ROM 114、通信接口130以及通信总线。控制器110用于控制控制设备100的运行和操作,以及内部各部件之间通信协作以及外部和内部的数据处理功能。
[0060] 通信接口130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。通信接口130可包括WiFi芯片131、蓝牙模块132、NFC模块133等其他近场通信模块中至少之一种。
[0061] 用户输入/输出接口140,其中,输入接口包括麦克风141、触摸板142、传感器143、按键144等其他输入接口中至少一者。
[0062] 在一些实施例中,控制设备100包括通信接口130和输入输出接口140中至少一者。控制设备100中配置通信接口130,如:WiFi、蓝牙、NFC等模块,可将用户输入指令通过WiFi协议、或蓝牙协议、或NFC协议编码,发送至显示设备200。
[0063] 存储器190,用于在控制器的控制下存储驱动和控制控制设备100的各种运行程序、数据和应用。存储器190,可以存储用户输入的各类控制信号指令。
[0064] 供电电源180,用于在控制器的控制下为控制设备100各元件提供运行电力支持。
[0065] 图4为本申请一些实施例提供的图1中显示设备中软件配置示意图,在一些实施例中,可以将显示设备200的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
[0066] 应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
[0067] 应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
[0068] 原生应用(Native APPs)可以支持在线或离线,消息推送或离线资源访问。
[0069] 中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
[0070] 硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
[0071] 变调算法基本原理:乐音体系中各个音节都有自己的音名。目前广泛采用CDEFGAB这七个字母命名音级。各个音级都有一定的高度,国际通用的标准高度是每秒振动440次的A音为标准音。确定各个音的高度现在世界各国普遍采用的定律法是12平均律。12平均律是将一个纯八度分为12个均等的部分(12个半音)。各个音级的物理振动频率成等比关系(等1 1
比系数为2/12)。因此音频升高一个半音,就相当于振动频率升高2/12倍。反之,如果音频降
1
低一个半音,就相当于振动频率降低2/12倍。
[0072] 音频变调算法是一种较早提出的音效算法。有许多的算法模型,主要有基于频域变换的相位合成模型(phase vecoder)和基于时域变换的帧间重叠叠加(overlap‑add),以及一些利用正弦+变换+噪声建模(sinus+transient+noising modeling)。
[0073] 对音频进行变调处理能够提升显示设备的娱乐性,例如歌曲的音调对于用户来说太高或太低,都可以利用音频变调算法对歌曲进行降调或升调,以使歌曲的音调符合用户的实际音调需求。如图5所示,在显示设备上对音频进行变调输出的过程包括以下步骤:输入音频信号经过前处理后,进入变调处理,然后经过其他的信号处理,最后输出到功效,再由功放输出到音箱播放。其中输入音频信号可以是麦克风拾取的人声信号,也可以是歌曲的伴奏信号。
[0074] 常用的变调方法包括基于深度学习的变调、Wsola变调等变调方法。如图6所示,基于深度学习变调的方法,根据数据类型可以分为两种:第一种为平行数据,即源说话人和目标说话人有相同文本的语音数据,训练出一一对应的映射关系的模型。例如,说话者说出的语音数据对应文本为“今天天气真好”,如果经过变调的语音数据对应文本仍然为“今天天气真好”,此时变调后的语音数据和变调前的语音数据为平行数据。
[0075] 另一种是非平行数据,即只有源说话人和目标说话人不同的语音数据,训练出一到任意的映射关系的模型。例如,说话者说出的语音数据对应文本为“今天天气真好”,如果经过变调的语音数据对应文本更改为“我们爬山吧”,此时变调后的语音数据和变调前的语音数据为非平行数据。
[0076] 实际应用中由于基于深度学习的变调方法需要比较大的计算量和存储空间,在采用资源比较少的SOC(System on Chip,芯片级系统)芯片或者DSP(Digital Signal Processing,数字信号处理器)时经常无法使用基于深度学习的变调方法。
[0077] 变调算法中包括一种最简单的方式即将一段音频信号的语速放慢,只需要每一帧都进行延扩,然后将不同帧首尾拼接起来,这种简单的变调方法容易造成拼接出的波形不连续(音频信号中的基音断裂),拼接的信号中会有杂音出现。为了减轻这种波形不连续造成的影响,可以使用汉宁窗对音频帧进行加窗叠加,具体实现原理如下:首先对音频时域进行分帧,然后加上汉宁窗间隔Ha取第二帧,对第二帧加上汉宁窗,并将第二个汉宁窗和第一个汉宁窗进行叠加,叠加的长度为Hs。这种变调方法能够在一定程度上缓解波形不连续问题,但是仍然会造成一定程度的失真。
[0078] 为了减少上述方法中的相位跳变失真,衍生出Wsola变调算法,这种变调算法可以调整连续的合成帧使得互相叠加的区域能够相位对齐,从而减少失真。Wsola变调算法的具体实现原理如下:在原始信号x中取出第一帧信号,然后对该帧进行加窗处理,输出到y信号上。偏移一定长度后,在原始信号x中取第二帧原始信号。在第二帧原始信号对应的实线范围内找第二帧信号,第二帧信号需要和第二帧原始信号尽可能相似。把找到的最为相似的信号加上窗然后与第一帧信号重叠相加输出到y信号上。
[0079] Wsola变调方法进行音频变调。Wsola变调方法还可以缓解波形不连续(基音断裂)的问题。然而Wsola变调方法虽然能够减轻波形的不连续,但是其无法从根本上解决波形不连续的问题,并且同时使用Wsola变调方法进行变调处理会引入新的问题。例如,当输入信号包含有冲击瞬态信号时,使用Wsola变调方法可能会导致合成音频失真。因此如何在资源减少时实现变调并且能够避免音频失真成为亟待解决的问题。
[0080] 鉴于上述问题,本申请提供一些实施例提供一种显示设备200,包括显示器260、扬声器和控制器250。所述显示器被配置为呈现用户界面,所述扬声器被配置为播放音频信号。需要说明的是本申请应用到的产品形态包括但不限于以下类型:手持麦克风、电视机、耳机等具有麦克风硬件在内的产品形式,或者以软件形式通过延时线线性插值和幅度调制实现变声变调功能的存储介质。本申请仅通过将本申请的音频变调方法应用在显示设备上进行详细的方案阐述。如图7所示,所述控制器被配置为执行一种音频变调方法,包括以下内容:
[0081] 步骤S701:接收输入的原始音频信号和变调因子,其中,所述变调因子表征音调调节的级别。
[0082] 本申请的控制器可以是音频处理器或者信号处理单元等模块,控制器可以是只能够进行变调的处理模块,也可以是集成多种声音处理功能的处理模块。原始音频信号可以是声音采集器采集的音频信号,也可以是显示设备需要播放的音频信号。例如,用户在K歌过程中,可以利用麦克风采集用户的声音,如果需要对采集的用户声音进行变调处理则采集的用户的音频信号即为原始音频信号。如果需要对伴奏音频信号进行变调处理,则伴奏音频信号即为原始音频信号。如果需要同时对用户声音和伴奏音频信号进行变调处理,则用户声音和伴奏音频信号均为原始音频信号。
[0083] 此时伴奏音频信号可以是经过其他音频处理后的音频信号,例如可以是经过一次变调处理的音频信号,也就是说已经经过变调处理的音频信号仍然可以作为原始音频信号利用本申请的变调方法进行变调处理。用户声音也可以是经过处理后的音频信号,例如经过回声消除的音频信号,也就是说已经经过声音处理的用户声音,也可以作为原始音频信号利用本申请的变调方法进行变调处理。
[0084] 变调因子表征音调调节的级别,也就是说变调因子表征升调的级别或降调的级别。变调因子可以是用户通过如图8所示的用户界面设置的。例如,在K歌应用场景中,如果用户认为伴奏音频信号的音调较高,可以将伴奏音频信号的音调降低一个key,如果用户认为伴奏音频信号的音调较低,可以将伴奏音频信号的音调升高一个key。同样的,如果用户需要将自己演唱的声音部分升调或降调,也可以通过图8所示的用户界面对自己演唱的声音部分进行升调或降调。
[0085] 需要说明的是,上述输入变调因子的过程可以是出现在接收到原始音频信号之后,也可以是接收到原始音频信号之前。例如,用户在K歌之前可以设置好变调因子,用户在K歌过程中显示设备可以按照设置好的变调因子实时对采集到的原始音频信号进行变调处理。用户可以在K歌之后设置变调因子,用户在K歌之后显示设备可以按照设置好的变调因子对已经采集到的原始音频信号进行变调处理。
[0086] 另外,本申请实施例中的变调方法不仅可以应用于显示设备的音频播放系统,还可以应用于播放音频的外接设备(如外接音箱,外接音箱自带音频处理模块)。例如,如图9所示的应用场景中,在显示设备上对音频设置好变调因子之后,将变调因子通过设置指令的形式发送至外接设备(同时显示设备还向外接设备发送需要播放的音频信号),外接设备自带的音频处理模块接收到设置指令之后,根据设置指令携带的变调因子对需要播放的音频信号进行变调处理后输出至功放进行播放。该应用场景能够减少显示设备系统的数据计算量,减少显示设备系统的资源占用。
[0087] 如图10所示的实现变调方法的框架图,该变调框架中包括系统、前处理模块、变调模块和其他信号处理模块。原始音频信号输入前处理模块后经过前处理,再输入变调模块,变调模块从系统调用用户设置的变调信息。在K歌应用场景中,原始音频信号可以包括伴奏音频信号和人声信号(如果用户只选择对其中一个音频信号进行变调处理,则原始音频信号只包括其中一个音频信号)。如果需要对伴奏音频信号和人声信号同时进行变调处理,则变调信息包括伴奏音频信号对应的变调因子和人声信号对应的变调因子。如果只需要对伴奏音频信号进行变调处理,则变调信息只包括伴奏音频信号对应的变调因子。如果只需要对人声信号进行变调处理,则变调信息只包括人声信号对应的变调因子。对原始音频信号进行变调处理后,再输入其他信号处理模块,经过其他信号处理之后输出音频给扬声器,由扬声器播放处理后的音频信号。
[0088] 步骤S1002,根据所述变调因子生成基本延时参数和随机延时参数;
[0089] 步骤S1003,基于所述基本延时参数和所述随机延时参数生成至少两条延时线;
[0090] 步骤S1004,利用至少两条所述延时线对所述原始音频信号进行线性插值处理和幅度调制处理,得到至少两个处理后的音频信号;
[0091] 步骤S1005,对至少两个处理后的音频信号叠加处理后输出变调后的音频信号[0092] 音频信号在频谱上是由很多连续的单频信号组成。频谱的包络决定了音频的内容,而对应的谱线位置决定了语音的音调。所以在保证音频信号频谱包络基本不变的情况下,通过一定范围内容频谱的放缩就能实现音频的变调。其中,通过改变采样率的方法可以实现频率的改变,从而实现音调的调节。具体的,在相邻两个数据点之间插入新的数据点来达到增采样的目的,也可以通过每隔几个数据取一个点来达到降采样的目的。从频域分析,增采样可以实现频谱的压缩,有降调的作用。而降采样实现频谱的拉伸有声调的作用。改变采样率的方法具体可以是线性插值处理。
[0093] 如图11所示的本申请利用至少两条延时线实现变调方法的原理图中,输入信号为原始音频信号x(n),该原理图中包括至少两条延时线,其中每一条延时线上都需要进行线性插值处理和幅度调制处理。线性插值处理是为了改变采样率,通过对音频信号的放缩实现升降调处理。在经过线性插值处理后,音频帧与音频帧之间的衔接处会出现不连续的现象,从而会造成明显的噪声。也就是说两帧衔接处幅度不连续会造成明显的噪声,为了消除噪声可以利用正弦波对每一帧的信号进行幅度调制,使两帧衔接处的幅值为0,这样可以避免两帧衔接处幅度不连续,从而避免噪声的出现。将原始音频信号输入后分为至少两条延时线,分别进行线性插值处理和幅度调制处理,然后对从至少两条延时线上得到的音频信号进行叠加后,输出变调处理后的音频信号。
[0094] 每条延时线的线性插值公式为:
[0095] Ti(n)=ci*x(ki+1)+(1‑ci)*x(ki);
[0096] 其中,ci为加权系数,ki为下标参数,x(n)为所述音频信号的原始数据中的N点数据,0≤i≤j‑1。
[0097] 利用所述基本延时参数和所述随机延时参数计算线性插值公式和幅值调制公式对应的下标参数的计算公式为:
[0098] ki=[pi];
[0099] 其中,pi的计算公式为:
[0100] pi=mod(n‑basedelay+phase(i)*expandlen+randdelay,B);
[0101] 其中,basedelay表示基本延时参数,randdelay表示随机延时参数,expandlen表示变调因子对应的常数,B表示变调数据块缓冲区的长度且B大于N,mod表示取模运算,[]表示取整运算。
[0102] 另外phase(i)的计算公式为:
[0103]
[0104] 其中,‑1≤phase(i)≤1,phaseInc为变调因子对应的常数,[]表示取整运算,L表示所述音频信号的原始数据的长度或者点数,N表示一帧所述音频信号的点数。
[0105] 随机延时参数randdelay的计算公式为:
[0106] randdelay=randseed*randInc;
[0107] 其中,randseed为随机常数,randInc为变调因子对应的常数。
[0108] 利用所述基本延时参数和所述随机延时参数计算线性插值公式和幅值调制公式对应的加权系数的计算公式为:
[0109] ci=pi‑[pi]。
[0110] 幅值调制公式为:
[0111] Tapi(n)=Ti(n)*windowi(n),
[0112] 其中,windowi(n)的计算公式为:
[0113] windowi(n)=phase(i)‑0.5。
[0114] 假设原始音频信号的频率为f,变调后的频率为f′,要改变的音高为i,要改变的音分为j,根据12平均律它们应满足以下公式中的关系:
[0115] 其中i=±1,±2,±3,±4…;j=‑50到50之间的整数。
[0116] 当指数大于0时为升调,反之为降调。设原始采样序列为t(n),n=0,1,2,…,N‑1,变调后采样序列t′(n),n=0,1,2,…,N′‑1。由于变调前后频率满足上述公式,因此N与N′满足以下公式中的关系:
[0117] 其中i=±1,±2,±3,±4…;j=‑50到50之间的整数。
[0118] 通过上述公式可以发现,指数大于0时,N大于N′,升调后音频数据长度变短。指数小于0时,N小于N′,降调后音频数据长度增加。为了使音频数据的长短不改变,需要对数据进行帧的重叠或者删除以消除因此产生的噪音。
[0119] 所述控制器在执行利用至少两条所述延时线对所述原始音频信号进行线性插值处理之后,还被配置为:如果所述变调因子表征升高音调级别,对线性插值处理后的音频信号进行音频帧帧间重叠处理;如果所述变调因子表征降低音调级别,对线性插值处理后的音频信号进行音频帧帧尾部删除处理。
[0120] 线性插值后,如果对原始音频信号的处理为升调处理,则音频序列会变短,如果对原始音频信号的处理为降调处理,则音频序列会边长。为了使变调后的音频序列与原序列等长,升调时,帧间重叠处理;降调时,删掉帧尾部的数据。
[0121] 具体的处理过程如图12和图13所示。图12为升调时帧的截取原理图,按照图12所示的帧截取过程得到的处理后的帧与原始音频序列之间的关系如下:
[0122]
[0123] 图13为降调时帧的截取原理图,按照图13所示的帧截取过程得到的处理后的帧与原始音频序列之间的关系如下:
[0124] x'i(n)=xi(n),当0≤n≤T‑1。
[0125] 经过上述变调过程,可以实现变调功能,但是音质还需要改善,因此可以通过信号的叠加可以提升音质,因此可以对至少两条延时线得到的变调处理后的音频信号进行叠加处理。对至少两个处理后的音频信号叠加处理后输出变调后的音频信号的对应公式为:
[0126]
[0127] 其中,gain表示所述变调因子对应的常数。
[0128] 需要说明的是控制器在执行输出变调后的音频信号之前,还可以将变调处理后的音频信号乘以预设增益。音频增益是一种通过增加音频信号的整体音量来改变音频的声音强度音频处理技术。音频增益的理论基础主要是音频信号的增益比例计算和功率放大原理。在音频处理中,增益通常用分贝来表示。分贝是一种对数单位,用于表示两个声音信号的强度比。增益为正值,则表示音量增大,增益为负值,则表示音量减小。在显示设备技术领域,音频增益可以用来调整不同声音来源的音量,以获得更好的音频效果。例如,在电影中,通过音频增益可以是对白的音量更大,以确保观众能够清楚地听到演员的台词。在音频增益的应用过程中,需要确定增益调整的范围。如果增益调整过大,可能会导致音频失真或噪音过大,因此本申请实施例可以根据实际情况设置多个预设增益。然后根据音频信号的实际音量大小自动选择适宜的预设增益,然后将变调后的音频信号乘以预设增益之后输出至扬声器进行播放。
[0129] 线性插值公式和幅值调制公式中的basedelay,expandlen,phaseInc,randInc为每个变调因子下的常数,是根据不同音频源,例如歌曲伴奏音频、人说话的声音等音频文件调试出来的比较符合该升降调因子的数据。例如升1个key,basedelay,expandlen,phaseInc,randInc的常数为A1、A2、A3、A4;降1个key,basedelay,expandlen,phaseInc,randInc的常数为B1、B2、B3、B4。这些变调因子为根据调试依据调试出来的与变调因子对应的常数。其中,调试的依据包括:调试出来的升降调频率必须满足12平均律,例如440Hz升1个key后变为466.16Hz;用歌曲伴奏,人说话声音等音频文件实际试听,是否有声音不连续或者失真。
[0130] 本申请实施例通过在线性插值公式和幅值调制公式中设置基本延时参数basedelay和随机延时参数randdelay,并且基本延时参数basedelay和随机延时参数randdelay是根据变调因子调试出来的参数。基于这种方式可以根据变调因子生成基本延时参数和随机延时参数,然后将基本延时参数和随机延时参数应用于对音频信号进行线性插值处理和幅度调制处理的延时线,从而在同一条延时线上实现基本延时和随机延时,即实现基本延时和随机延时相结合。
[0131] 在进行变调时需要缓存空间缓存需要进行变调的音频信号,因此变调的过程需要占用系统一定存储空间。其中,需要的缓存空间的容量大小=一帧数据的点数×帧数。
[0132] 如果只采用基本延时进行变调处理,例如以24B的数据量为周期循环进行线性插值和幅度调制,在8KHz采样率的情况下,需要48B(B为512个点)的缓冲数据大小,这里的缓冲数据大小=512×48=24576个点。每个数据的长度为16bit,或者32bit(根据系统不同确定)。如果系统的数据的长度为16bit,24576个点缓存数据需要的缓冲空间容量大小=24576*16=393216bit。并且如果只采用基本延时进行变调处理时,在8KHz采样率的情况下,需要等待凑齐24B的数据量才能够输出第一帧音频信号,因此这种情况下的初始延时=延时点数/采样率=每帧数据的点数*帧数/采样率=512*24/8000s=1.536s。
[0133] 而本申请中针对每个变调因子分别设置不同的基本延时和实时计算随机延时,不需要48B的缓冲数据。由于randInc是一个非常小的数值,如果系统的数据长度为16bit,那么可以设置randInc为一个小于等于2^16的数。而randseed的范围为‑65535至65535。所以randdelay的范围为‑1至1。因此,需要的存储数据只需要比max[basedelay,abs(expandlen)]+1大即可。由于本申请需要的缓冲空间实际为max[basedelay,abs(expandlen)]+1,即只需要比basedelay和expandlen扩展长度的最大值大即可。因为他们的最大值都不会超过4095,因此设置4096个采样点的延时即可满足变调处理的数据缓存需求。如果系统的数据长度为16bit,需要的缓存空间为4096*16=65536bit。可见本申请的利用基本延时参数和随机延时参数设置延时线,然后基于这种基本延时和随机延时相结合的延时线对音频信号进行变调处理的过程,与只基于基本延时的延时线对音频信号进行变调处理的过程相比,需要的缓冲空间显著减小。并且本申请基本延时和随机延时相结合的变调处理过程中,最大延时为4096个点,采样率为48KHz,因此这种情况下,初始延时最大为=延时点数/采样率=4096/48000s=4096/48ms=85.33ms。可见本申请的基本延时和随机延时相结合的变调处理过程,不仅能够减少系统资源占用,还能够显著缩短初始延时时间,从而缩短变调处理的等待时间,提升变调处理效率。
[0134] 另外,本申请实施例在对音频信号进行线性插值处理之后,还对音频信号进行幅度调制处理,这样能够明显避免音频失真。因此本申请能够在减少系统资源占用的同时实现对音频信号的变调处理,并且还能够避免音频失真。
[0135] 由以上技术方案可知,上述实施例及提供的音频变调方法及显示设备,控制器在接收到输入的原始音频信号和变调因子之后,根据变调因子生成基本延时参数和随机延时参数。然后基于基本延时参数和随机延时参数生成至少两条延时线。利用至少两条延时线对原始音频信号进行线性插值处理和幅度调制处理,得到至少两个处理后的音频信号。最后对至少两个处理后的音频信号叠加处理后输出变调后的音频信号。本申请实施例的音频变调方法采用延时线对原始音频信号进行线性参数处理和幅度调制处理,不需要检测共振峰减少计算量,同时由原始音频帧的前后帧进行叠加来实现变调解决帧间相位的不连续问题,然后采用幅度调制处理不会产生谐波从而避免声音失真,并且采用基本延时和随机延时相结合,减少数据处理过程中的存储空间从而减少资源占用。
[0136] 为了消除两帧音频帧衔接处幅度不连续造成的噪声,可以用正弦波对每一帧的信号进行幅度调制使两帧衔接处幅值为0。保证输出音频信号的幅值不变就需要两路音频信号进行叠加,两路音频信号帧有1/2重叠,幅度调节的正弦信号有90度相位差。在一些实施例中,为了进一步消除造成,可以将输入音频信号分为三路音频信号然后叠加,不同路对应的帧有2/3的重叠,幅度调节的正弦信号有60度的相位差。
[0137] 所述控制器在执行基于所述基本延时参数和所述随机延时参数生成至少两条延时线,利用至少两条所述延时线对所述原始音频信号进行线性插值处理和幅度调制处理,得到至少两个处理后的音频信号,对至少两个处理后的音频信号叠加处理后输出变调后的音频信号,可以是:基于所述基本延时参数和所述随机延时参数生成三条延时线,利用三条所述延时线对所述原始音频信号进行线性插值处理和幅度调制处理,得到三个处理后的音频信号,对三个处理后的音频信号叠加处理后输出变调后的音频信号。将三路音频信号叠加相较于两路音频信号叠加,能够进一步消除两帧音频信号衔接处的噪声的同时,又能够保证增加最少的数据处理量。
[0138] 在一些实施例中,如果所述控制器接收到的变调因子包括第一变调因子和第二变调因子,所述第一变调因子对应所述原始音频信号中的第一音频片段,所述第二变调因子对应所述音频信号中的第二音频片段,需要基于本申请的音频变调方法,分别对第一音频片段和第二音频片段进行音频变调处理,具体的包括以下步骤:
[0139] 根据所述第一变调因子和第二变调因子分别生成针对所述第一音频片段的第一基本延时参数和第一随机延时参数,与针对所述第二音频片段的第二基本延时参数和第二随机延时参数;基于所述第一基本延时参数和所述第一随机延时参数生成针对所述第一音频片段的至少两条延时线,以及基于所述第二基本延时参数和所述第二随机延时参数生成针对所述第二音频片段的至少两条延时线;
[0140] 利用针对所述第一音频片段的至少两条延时线对所述第一音频片段进行线性插值处理和幅度调制处理,得到至少两个处理后的第一音频片段,以及利用针对所述第二音频片段的至少两条延时线对所述第二音频片段进行线性插值处理和幅度调制处理,得到至少两个处理后的第二音频片段;对至少两个处理后的第一音频片段叠加处理后输出变调后的第一音频片段,以及对至少两个处理后的第二音频片段叠加处理后输出变调后的第二音频片段。
[0141] 例如,在用户完成K歌的应用场景中,需要对用户完成K歌后输出的音频信号进行变调处理。用户完成K歌后输出的音频信号包括伴奏音频信号(即第一音频片段)和人声音频信号(即第二音频片段)。如果用户对伴奏音频信号和人声音频信号均设置了变调因子,如图8所示的用户界面中,针对伴奏音频信号用户设置了变调因子4,针对人声音频信号设置了变调因子‑2,因此用户是针对伴奏音频信号设置的升调,而针对人声音频信号设置了降调,此时需要基于伴奏音频信号的第一变调因子对伴奏音频信号进行变调处理,然后基于人声音频信号的第二变调因子可对人声音频信号进行变调处理。
[0142] 具体的变调处理过程如图14所示,基于第一变调因子生成针对伴奏音频信号的第一随机延时参数和第一基本延时参数,然后利用具有第一基本延时参数和第一随机延时参数的延时线,对伴奏音频信号进行线性插值处理和幅度调制处理。同时基于第二变调因子生成针对人声音频信号的第二基本延时参数和第二随机延时参数,然后利用具有第二基本延时参数和第二随机延时参数的延时线,对人声音频信号进行线性插值处理和幅度调制处理。最后得到变调处理后的伴奏音频信号和人声音频信号,叠加伴奏音频信号和人生音频信号之后即可得到变调处理后的K歌完成音频。
[0143] 在一些实施例中,用户还可以设置不同的变调模式,控制器可以根据用户设置的不同的变调模式,确定变调因子,然后根据变调因子对原始音频信号进行变调处理。例如,变调模式为1时,对应的变调因子为x1,变调模式为2时,对应的变调因子为x2……。由于变调因子为直接生成基本延时参数和随机延时参数的依据,因此用户可能不了解如何设置变调因子,通过建立变调模式与变调因子之间的映射关系,使得用户能够准确设置符合变调要求的变调因子。例如,在K歌应用场景中,可以设置变调模式:空灵、低沉等变调模式,空灵变调模式可以对应升调的变调因子,低沉变调模式可以对应降调的变调因子,如果用户需要将K歌音频调整为空灵的感觉,可能需要进行升调,控制器可以直接根据用户选择的空灵变调模式自动设置变调因子,从而实现对音频信号进行升调处理。如果用户需要将K个音频调整为低沉的感觉,可能需要进行降调,控制器可以直接根据用户选择的低沉变调模式自动设置变调因子,从而实现对音频信号进行降调处理。
[0144] 在一些实施例中,控制器在接收到输入的原始音频信号之后,如果未接收到用户输入的变调因子(例如用户选择自动识别原始音频信号的变调因子),可以基于原始音频信号的基本特征自动识别原始音频信号匹配的变调因子。具体的提取原始音频信号中的第一特征和第二特征,第一特征包含原始音频信号的音调信息,第二特征包含原始音频信号的完整信息。第一特征为用于调整原始音频信号的音调信息的特征,第二特征为用于调整原始音频信号的速度的特征。同时第二特征为复原音频信号的参考基准特征。例如,第一特征可以为音高,第二特征可以为梅尔谱、共振峰、倒谱特征等。
[0145] 控制器可以自动赋予原始音频信号第一目标特征和第二目标特征。可以根据用户对于音调的信号,例如根据用户设置变调因子的历史记录,确定可能需要的第一目标特征和第二目标特征。第一目标特征可以是目标音调信息,第二目标特征可以是变调后音频信号的完成信息。然后基于第一特征和第一目标特征的关系,第二特征和第二目标特征的关系,确定变调因子。然后根据确定的变调因子基本上是实施例中的变调方法对原始音频信号进行变调处理。这样不需要用户手动设置变调因子,系统可以根据用户的使用习惯或者喜好自动设置变调因子,从而提升用户使用体验。
[0146] 上述实施例中在根据变调因子生成基本延时参数和随机延时参数时,需要根据变调因子调试出基本延时参数和随机延时参数,调试依据为调试出来的升降调频率必须满足12平均律。在一些实施例中,为了提升音频变调效率,可以设置不同变调因子与基本延时参数和随机延时参数之间的对应关系(其中由于随机延时参数为随机设置的,因此可以设置同一变调因子对应一组随机延时参数,这样一组随机延时参数同时满足12平均律的条件)。
在获取到用户输入或者自动生成变调因子之后,从对应关系中查找该变调因子对应的基本延时参数和随机延时参数(可以从一组随机延时参数中随机选择一个随机延时参数使用)。
这样不需要在获取变调因子之后,再不断的调试以生成基本延时参数和随机延时参数,而是可以直接调取基本延时参数和随机延时参数,从而提升音频变调效率。
[0147] 本说明书中各个实施例之间相同相似的部分互相参照即可,在此不再赘述。
[0148] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,所述计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分的方法。
[0149] 最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
[0150] 为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。

当前第1页 第1页 第2页 第3页
相关技术
方法显示相关技术
显示设备相关技术
周鉴星发明人的其他相关专利技术