本发明涉及语言分析技术,具体涉及一种基于pcm技术的音量分析方法。
背景技术:
音频是多媒体中的一种重要媒体。我们能够听见的音频信号的频率范围大约是20hz-2okhz,其中语音大约分布在300hz-4khz之内,而音乐和其他自然声响是全范围分布的。声音经过模拟设备记录或再生,成为模拟音频,再经数字化成为数字音频。这里所说的音频分析就是以数字音频信号为分析对象,以数字信号处理为分析手段,提取信号在时域、频域内一系列特性的过程。
各种特定频率范围的音频分析有各自不同的应用领域。例如,对于300-4khz之间的语音信号的分析主要应用于语音识别,其用途是确定语音内容或判断说话者的身份;而对于20-20khz之间的全范围的语音信号分析则可以用来衡量各类音频设备的性能。所谓音频设备就是将实际的声音拾取到将声音播放出来的全部过程中需要用到的各类电子设备,例如话筒、功率放大器、扬声器等,衡量音频设备的主要技术指标有频率响应特性、谐波失真、信噪比、动态范围等。
而在现有的音频分析和质量检查中,缺少音量的分析,导致对客服和用户的声音描述上缺少一定的音量信息,无法很好的分析讲话声音大小对客服服务的影响。
且java类库中没有发现很好的对于音频音量的计算类库,常规音量计算方法的参照值为满刻度电平,因此计算值大多用于计算机领域描述,得到的为负值,无法很好的描述日常声压级(即正数的音量值)。
负数的音量对于用户难以理解和配置,无法形成好的产品输出。
技术实现要素:
为了解决上述问题,本发明提供了一种基于pcm技术的音量分析方法,通过不同于满刻度电平的音量计算方式,更好的描述声压级,通过转换得到正数的音量值描述音频音量,通过产品化输出提供更好的音频分析质检能力。
本发明的技术方案如下所示:
一种基于pcm技术的音量分析方法,包括以下步骤:
s1:输入待测音频信号,并将其转化为标准wav格式音频数据;
s2:获取所述标准wav格式音频数据的前44字节的头部信息和剩余数据区的pcm音频数据裸流;
s3:分析wav音频,通过头部信息,获取音频数据的采样频率和量化位数;
s4:剥离wav音频的头部信息,根据剩余的字节数据获取byte数组;
s5:获取当前需要分析的声道信息和时间信息;
s6:利用步骤s2、s3、s4、s5中以获取的信息,计算得到short数组;
s7:基于short数组计算均方差,并将其记为rms;
s8:将rms输入dbspl公式进行转换,计算得到音量值。
优选的,所述步骤s1中使用转换类库或通用工具类库将输入的非wav格式的待测音频信号转换成为wav格式音频数据。
优选的,所述步骤s2中的头部信息为wav音频的前44字节的信息。
优选的,所述步骤s5中short数组的计算过程为:获取45字节到末尾的全量pcm音频数据byte数组,根据当前使用的cpu信息判断大小端存储,并通过计算将byte数组计算得到short数组。
优选的,所述步骤s5中short数组的计算过程还包括:根据场景分析音频声道数,若为双声道,则获取当前需要分析的声道信息,然后将short数组进行以2取模后拆分为左右声道的两个short数组,并根据需要分析音量的声道和时间段获取对应的一段short数组。
优选的,所述均方差的计算公式为:
更优选的,所述dbspl公式为:
本发明的有益效果为:本发明相对于传统的满刻度电平的音量计算方式,能够更好的描述声压级,通过转换得到正数的音量值描述音频音量;本发明还通过产品化输出提供更好的音频分析质检能力;且方便用户配置使用。
附图说明
图1为本发明的实现流程图示意图。
具体实施方式
下面将结合附图对本发明的实施例作进一步说明。
如图1所示,一种基于pcm技术的音量分析方法,包括:
1.首先将音频进行规整,转化为基础的pcm音频数据裸流,这里使用转换类库或通用工具类库将非wav格式音频转换成为wav格式音频数据。
2.分析wav音频,通过前44字节的头信息,分析得到音频的采样频率,量化位数值。
3.剥离wav的头部信息,获取45字节到末尾的全量pcm音频数据byte数组,根据当前使用的cpu信息判断大小端存储,并通过计算将byte数组计算得到short数组,用于描述每一个音频采样点的量化值。short数组的计算涉及到位运算和大小端存储模式,本实施例中使用通用工具类进行转换。
5.根据场景分析音频声道数,如果为双声道,则获取当前需要分析的声道信息,然后通过将short数组进行以2取模后拆分为左右声道的两个short数组,并且根据需要分析音量的声道和时间段获取对应的一段short数组。
4.基于本段short数组,通过均方差公式:
5.将rms输入dbspl公式:
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
1.一种基于pcm技术的音量分析方法,其特征在于,包括以下步骤:
s1:输入待测音频信号,并将其转化为标准wav格式音频数据;
s2:获取所述标准wav格式音频数据的前44字节的头部信息和剩余数据区的pcm音频数据裸流;
s3:分析wav音频,通过头部信息,获取音频数据的采样频率和量化位数;
s4:剥离wav音频的头部信息,根据剩余的字节数据获取byte数组;
s5:获取当前需要分析的声道信息和时间信息;
s6:利用步骤s2、s3、s4、s5中以获取的信息,计算得到short数组;
s7:基于short数组计算均方差,并将其记为rms;
s8:将rms输入dbspl公式进行转换,计算得到音量值。
2.根据权利要求1所述基于pcm技术的音量分析方法,其特征在于,所述步骤s1中使用转换类库或通用工具类库将输入的非wav格式的待测音频信号转换成为wav格式音频数据。
3.根据权利要求2所述基于pcm技术的音量分析方法,其特征在于,所述步骤s5中short数组的计算过程为:获取45字节到末尾的全量pcm音频数据byte数组,根据当前使用的cpu信息判断大小端存储,并通过计算将byte数组计算得到short数组。
4.根据权利要求4所述基于pcm技术的音量分析方法,其特征在于,所述步骤s5中short数组的计算过程还包括:根据场景分析音频声道数,若为双声道,则获取当前需要分析的声道信息,并将short数组进行以2取模后拆分为左右声道的两个short数组,根据需要分析音量的声道和时间段获取对应的一段short数组。
5.根据权利要求1所述基于pcm技术的音量分析方法,其特征在于,所述均方差的计算公为:
6.根据权利要求5所述基于pcm技术的音量分析方法,其特征在于,所述dbspl公式为: