声音文件的音质识别方法及装置的制造方法

文档序号:10727074阅读:196来源:国知局
声音文件的音质识别方法及装置的制造方法
【专利摘要】本发明涉及声音文件的音质识别方法和装置,包括:将待识别声音文件的格式转换为预先设置的基准音频格式;对基准音频格式的声音文件进行分帧以及傅立叶变换处理得到所述声音文件每一帧的频谱;根据所述声音文件每一帧的频谱进行模式匹配,得到对所述声音文件的初步分类结果;根据所述声音文件每一帧的频谱确定所述声音文件的能量变化点;以及根据所述声音文件的初步分类结果及其能量变化点确定所述声音文件的音质。通过本发明可以完成对声音文件音质的机器识别。
【专利说明】
声音文件的音质识别方法及装置
技术领域
[0001 ]本发明涉及声音文件的音质识别方法及装置。
【背景技术】
[0002]在多媒体技术不断发展的今天,承载音乐等声音文件的载体已经从原来的磁带、 CD(光盘)发展到了 MP3(动态影像专家压缩标准音频层面3)甚至智能终端等多种多媒体设 备。同时,为了便于声音文件的传播,也出现了各种对声音进行处理的技术以及相应的音频 格式。
[0003]上述音频格式是指对作为模拟信号的声音进行模拟-数字转换以及其他处理后得 到的可以在计算机或其他多媒体设备内播放或者处理的数字格式的文件的格式。
[0004]通常对声音的模拟-数字的转换会采用脉冲编码调制(PCM)技术实现。本文中,将 声音经过PCM技术处理进行模拟-数字转换后得到的音频文件称为PCM文件。对声音进行模 拟-数字转换后得到的PCM文件是未经过压缩处理的原始声音文件。一般来讲,表征PCM文件 的声音质量(也即音质)有两个参数:一个是采样速率;一个是采样精度。其中,采样速率表 不对声音进行米样时每秒钟的米样次数,一般介于40~50KHz之间;米样精度表不对每一个 采样值进行量化时的比特数,例如可以是16位。由此可以看出,一般采样速率越高、采样精 度越大得到的PCM文件的音质越好,但是另一方面采样速率越高、采样精度越大得到PCM文 件越大。标准的⑶格式就是通过PCM得到的,其采样频率为44.1KHZ、采样精度为16位(SP16 位量化)。对于人耳而言,标准的CD格式音频文件的音质可以说是无损的,也即根据CD格式 还原出的声音基本上是忠于原声的。例如,通常音乐人在发行音乐时一般采用CD等固态形 式发行。这种音乐保留了最原始的音频特征,音质非常好。但是,标准CD格式的文件的体积 是非常大的,并不便于存储以及传播,特别是在当前网络应用如此普及的现在。
[0005] 为此,当前出现了很多的音频压缩技术,例如,MP3或高级音频编码技术(AAC, Advanced Audio Coding)等等。通过,这些音频压缩技术,可以大大减少声音文件占用的空 间。例如,相同长度的音乐文件,用*.mp3格式来储存,一般可只占有未压缩文件1/10的存储 空间。然而,这些音频压缩技术虽然可以基本保持声音文件的低音频部分不失真,但是会牺 牲声音文件中12KHz到16KHz高音频这部分的质量来换取文件的尺寸。从声音文件的音质上 来看,经过压缩后声音会或多或少有一定的失真,而且这种失真是不可逆的。例如,一个无 损的CD品质的音乐经过编解码器压缩为有损的声音文件后,即使再解压缩为原始的音频格 式(例如PCM格式),其品质也是无法还原为⑶品质的。因此,也可以称这些对声音文件的音 质造成影响的压缩处理为有损压缩,并称这些经过压缩的声音文件为有损声音文件。
[0006] 通常情况下,可以通过声音文件的音频格式判断该声音文件是有损声音文件还是 无损声音文件。一般来讲,经过有损压缩的得到的声音文件,例如MP3或AAC格式的声音文 件,一定是有损声音文件,因而可以称这些音频格式为有损音频格式。而没有经过压缩(例 如PCM或WAVE格式)或者经过无损压缩(例如WMA Lossless以及FLAC等格式)的应该是无损 的声音文件,因而可以称这些音频格式为无损格式。但是,仅通过音频格式进行判断这种方 法无法判断出来实际已经经过有损压缩又还原成无损音频格式的假无损声音文件。
[0007] 因此,如何识别声音文件的音质,从各种无损音频格式的声音文件中筛选出真正 无损的声音文件,剔除假的无损声音文件,是目前需要解决的问题之一。

【发明内容】

[0008] 本发明提供了一种声音文件的音质识别方法,包括:
[0009] 将待识别声音文件的格式转换为预先设置的基准音频格式;
[0010] 对基准音频格式的声音文件进行分帧以及傅立叶变换处理得到所述声音文件每 一帧的频谱;
[0011] 根据所述声音文件每一帧的频谱进行模式匹配,得到对所述声音文件的初步分类 结果;
[0012] 根据所述声音文件每一帧的频谱确定所述声音文件的能量变化点;以及
[0013] 根据所述声音文件的初步分类结果及其能量变化点确定所述声音文件的音质。
[0014] 本发明还提供了一种声音文件的音质识别方法,包括:
[0015] 将待识别声音文件的格式转换为预先设置的基准音频格式;
[0016] 对基准音频格式的声音文件进行分帧以及傅立叶变换处理得到所述声音文件每 一帧的频谱;
[0017] 根据所述声音文件每一帧的频谱进行模式匹配,得到对所述声音文件的初步分类 结果;以及
[0018] 根据所述声音文件的初步分类结果确定所述声音文件的音质。
[0019] 本发明还提供了一种声音文件的音质识别方法,包括:
[0020] 将待识别声音文件的格式转换为预先设置的基准音频格式;
[0021] 对基准音频格式的声音文件进行分帧以及傅立叶变换处理得到所述声音文件每 一帧的频谱;
[0022]根据所述声音文件每一帧的频谱确定所述声音文件的能量变化点;以及 [0023]根据所述声音文件的能量变化点确定所述声音文件的音质。
[0024] 对应上述声音文件的音质识别方法,本发明提供了一种服务器,包括:
[0025] 接收模块,用于接收待识别声音文件;
[0026] 转换模块,用于将待识别声音文件的格式转换为预先设置的基准音频格式;
[0027] 分帧模块,用于对具有基准音频格式的声音文件进行分帧;
[0028] 时频变换模块,用于对分帧后的全部帧分别进行傅立叶变换,得到所述声音文件 每一帧的频谱;
[0029] 匹配模块,用于根据所述声音文件每一帧的频谱进行模型匹配,得到对所述声音 文件的初步分类结果;
[0030] 能量变换点检测模块,用于根据所述声音文件每一帧的频谱确定所述声音文件的 能量变化点;以及
[0031] 判断模块,用于根据对待识别声音文件的初步分类结果以及待识别声音文件的能 量变化点确定所述声音文件的音质。
[0032] 本发明还提供了一种客户端,包括:
[0033] 接收模块,用于接收待识别声音文件;
[0034] 转换模块,用于将待识别声音文件的格式转换为预先设置的基准音频格式;
[0035] 分帧模块,用于对具有基准音频格式的声音文件进行分帧;
[0036] 时频变换模块,用于对分帧后的全部帧分别进行傅立叶变换,得到所述声音文件 每一帧的频谱;
[0037] 匹配模块,用于根据所述声音文件每一帧的频谱进行模型匹配,得到对所述声音 文件的初步分类结果;
[0038]能量变换点检测模块,用于根据所述声音文件每一帧的频谱确定所述声音文件的 能量变化点;以及
[0039]判断模块,用于根据对待识别声音文件的初步分类结果以及待识别声音文件的能 量变化点确定所述声音文件的音质。
[0040]通过本发明可以完成对声首文件首质的机器识别,提尚从而提尚系统的性能。
【附图说明】
[0041]图1显示了本发明实施例所述的声音文件的音质识别方法;
[0042]图2显示了本发明实施例进行训练建立模型的方法;
[0043]图3显示了本发明实施例所述的另一种声音文件的音质识别方法;
[0044] 图4显示了本发明实施例所述的又一种声音文件的音质识别方法;
[0045] 图5显示了本发明实施例所述的音乐平台的结构;
[0046] 图6显示了音乐平台客户端的一个搜索界面示例;以及
[0047] 图7显示了本发明实施例所述的客户端的内部结构。
【具体实施方式】
[0048] 如前所述可知,有损音频格式的声音文件一定是有损声音文件,但是无损音频格 式的声音文件不一定真的是无损声音文件。为此,本发明的实施例提供了一种声音文件的 音质识别方法,可以从各种无损音频格式的声音文件中筛选出真正无损的声音文件,找出 假无损声音文件。
[0049] 在本文中,待识别的声音文件可以是各种无损音频格式的文件,具体可以是未经 过压缩处理或者仅经过无损压缩处理的声音文件,例如可以是PCM文件,也可以是其他诸如 WAVE格式、WMA Lossless格式以及FLAC格式的声音文件。而由于有损音频格式的声音文件 一定是有损的声音文件,因此,无需进行本实施例的判断。
[0050] 图1显示了本发明实施例所述的声音文件的音质识别方法。如图1所示,本实施例 的方法包含如下步骤:
[0051 ]步骤101,接收待识别声音文件。
[0052]如前所述,待识别声音文件可以是各种无损音频格式的文件,例如PCM文件、WAVE 格式、WMA Lossless格式或FLAC格式的声音文件。
[0053]步骤102,将待识别声音文件的格式转换为预先设置的基准音频格式。
[0054]在本发明的实施例中,预先设置的基准音频格式可以是采样速率是44. ΙΚΗζ、采样 精度为16比特的PCM文件格式。当然,预先设置的基准音频格式也可以是其他采样速率或者 采样精度的PCM文件格式,本实施例不做过多的限制。
[0055] 在本步骤102中,可以先通过步骤1021检测待识别声音文件是否为预先设置的基 准音频格式,如果是,则不用进行进一步处理;如果不是,则可通过步骤1022将待识别的声 音文件解码为预先设置的基准音频格式。
[0056] 具体而言,由于各种音频格式的文件都会根据规范的规定在文件中确定的位置记 录该文件的音频格式信息,可以包括音频格式、采样速率以及采样精度等等。例如,*.wav格 式的声音文件会把自身的音频格式信记录在文件头的44个字节里。虽然,不同音频格式的 文件会将音频格式信息写在声音文件的不同位置上,但是由于这些位置都是被规范规定好 的,因此,在步骤1021中,可以直接从声音文件相应的位置读出该声音文件的音频格式信 息,从而即可直接根据该声音文件的音频格式信息确定待识别的声音文件是否为预先设置 的基准音频格式。
[0057]此外,在步骤1022中,解码声音文件可以通过通用的音频解码算法来实现,例如, 可以通过通用的编解码开源库FFmpeg来实现。该编解码开源库FFmpeg可以处理各种音频格 式的文件,即可以将各种音频格式的文件解码为预先设置的基准音频格式,例如解码为采 样速率是44. ΙΚΗζ、采样精度为16比特的PCM文件。
[0058] 步骤103,对步骤102输出的具有基准音频格式的声音文件进行分帧,共得到X个 帧。其中,X为自然数,其值的大小与PCM文件的大小有关。
[0059] 具体而言,在本步骤中,分帧的帧长可以设置为2M个采样点,帧移设置为N个采样 点。其中,Μ和N也为自然数。在本步骤中,在设定了帧长以及帧移之后,即可根据设定的帧长 和帧移进行分帧。
[0060] 例如,分帧的帧长为2048个采样点,帧移为1024个采样点。此时,一个帧的时长为 2048/44100秒。经过这样的分帧处理后,采样点1~采样点2048为第一帧;采样点1025~采 样点3072为第二帧;采样点2049~采样点4096为第三帧;采样点3073~采样点5120为第四 帧;......。
[0061] 步骤104,对分帧后的全部X个帧分别进行傅立叶变换,得到每一帧的频谱。即针对 待识别声音文件X帧中的每一帧,可以得到Μ个频带的能量值,即Μ个分量。
[0062]如前例所述,Μ可以为1024,则针对每一帧数据可以得到的1024个频带能量值。在 这种情况下,每个频带的间隔频率为22050/1024ΗΖ。
[0063] 执行完上述步骤104之后,将继续分两个分支分别执行两个过程。其中,一个过程 1051是根据上述Μ个频带的能量值进行模型匹配,得到对待识别声音文件的初步分类结果。 另一个过程1052是根据上述Μ个频带的能量值确定待识别声音文件的能量变化点。
[0064] 在本发明的实施例中,这两个过程的执行顺序并不会受到限制,例如,可以同时执 行这两个过程,也可以先执行其中一个过程,再执行另外一个过程。下面将通过示例详细介 绍上述两个过程。
[0065]下面的步骤10511~10514详细说明了上述过程1051中根据Μ个频带的能量值进行 模型匹配,得到待识别声音文件的初步分类结果的具体方法。
[0066] 步骤10511,分别对每一帧的Μ个频带进行分段,针对每一帧得到L个频带分段,其 中,L为自然数。
[0067] 需要说明的是,经过上述分段得到的L个频带分段之间可以有部分交叠。
[0068] 在本步骤中,可以预先设置每个频带分段包含频带数和频移,然后再根据设定的 频带数和频移进行分段。其中,频移是指两个相邻的频带分段的第一个频带之间的间隔。具 体而言,在本步骤中,在进行频带的分段时,可以设定每个频带分段包含a个频带,且频移是 b个频带。这样,则共可以得到(M-a)/b+l个频带分段,也即L=(M-a)/b+l。
[0069] 例如,Μ可以为1024,则经过傅立叶变换,每一帧数据可以得到1024个频带。在这种 情况下,可以对每一帧的1024个频带进行分段,每段包含48个频带,每段第一个频带的间隔 (频移)为8个频带,则一共得到(1024-48)/8+1 = 123个频带分段。具体而言,为了便于说明, 将每一帧的1024个频带进行编号,频带1~频带1024。经过上述分段后,得到频带分段1包含 频带1~频带48;频带分段2包含频带9~频带56;频带分段3包含频带17~频带64;……;频 带分段123包含频带977~频带1024。
[0070] 步骤10512,针对每一个频带分段,将该声音文件所有X帧在该频带分段上各个频 带的能量值求和,得到该声音文件在每个频带分段的能量值。
[0071] 在本步骤中,该声音文件在第i个频带分段的能量值可以用Xl(ie[l,L])表示。 [0072]步骤10513,根据该声音文件每个频带分段的能量值Xi(i e [1,L]),确定待识别声 音文件的衰落特征向量Y。
[0073] 在本步骤中,待识别声音文件的衰落特征向量Y可以通过如下公式(1)计算得到:
[0074] yi = xi+i_xi(i e [1,L_1]) (1)
[0075] 这里,yi为待识别声音文件的衰落特征向量Y中每一个元素的值,表示的是相邻频 带分段的能量差值,因此,由 yi组成的向量Υ可以表征该声音文件的衰落特征。
[0076] 步骤10514,根据待识别声音文件的衰落特征向量对待识别声音文件进行模型匹 配,得到针对待识别声音文件的初步分类结果。
[0077] 在本步骤中,可以对待识别声音文件进行支持向量机(SVM,Support Vector Machine)模型匹配,得到介于0~1的置信度q,来表征对待识别声音文件的初步分类结果。 其中,置信度q可以理解为该声音文件的频谱从低频到高频的衰减速度。根据实验数据可以 得到,置信度q越接近〇,该声音文件的频谱从低频到高频衰减的越快,则该声音文件越可能 是有损文件,反之该声音文件越可能为真正的无损文件。
[0078]具体而言,通过预先的模型训练过程,SVM模型会生成一组线性相关的系数W,称为 该模型对应的线性相关系数。一般情况下,W是一个向量。则在本步骤使用SVM模型进行模型 匹配时,可以通过如下公式(2)计算得到置信度q。
[0079] q=ffY (2)
[0080] 其中,Y为待识别声音文件的衰落特征向量。
[0081] 作为替换方案,可以采用其他机器学习算法,例如高斯混合模型(G a u s s i a η Mixture Model,GMM)算法或深层神经网络(Deep neural network,DNN)算法来建立替代上 述SVM模型的GMM模型或DNN模型。使用这些模型也可以根据待识别声音文件的衰落特征向 量对待识别声音文件进行模型匹配,得到类似置信度q的对待识别声音文件的初步分类结 果。
[0082] 执行完上述步骤10514之后,将继续执行步骤106。
[0083] 下面将通过步骤10521~10524详细说明上述过程1052中根据上述Μ个频带的能量 值确定待识别声音文件能量变化点的具体方法。
[0084]步骤10521,确定待识别声音文件每一帧的最高频谱分割线。
[0085] 在本步骤中,针对每一帧,可以从高频到低频对上述Μ个频带进行遍历,找到第一 个能量值大于第一门限m的频带。此频带称为这一帧的最高频谱分割线。
[0086] 在本发明的实施例中,上述第一门限m可以是0.3或其他经验数值。
[0087] 经过上述步骤10521,对应整个声音文件的每个帧,可以得到其最高频谱分割线所 在的频带的标号,并将其记为Pl(i e [ 1,X])。
[0088] 例如,仍借用之前的示例,对待识别声音文件进行分帧时的帧长设置为2048个采 样点,则经过傅立叶变换后,针对每一帧可以得到1024个频带。若该声音文件一共有3帧,第 一帧的最高频谱分割线在第1002个频带,第二帧的最高频谱分割现在第988个频带,第三帧 的最高频谱分割线在第1002个频带,则可以得到 Pl=1002;p2 = 988;p3 = 1002。
[0089] 步骤10522,根据每一帧的最高频谱分割线所在的频带,分别统计在Μ个频带的每 个频带上各有几个帧的最高频谱分割线,记为i e [ 1,Μ])。
[0090] 接上例,在步骤10521可以得到?1 = 1002 ;ρ2 = 988;ρ3 = 1002,也即第一帧的最高频 谱分割线在第1002个频带,第二帧的最高频谱分割现在第988个频带,第三帧的最高频谱分 割线在第1002个频带。在这种情况下,可以得到针对这1024个频带,在第988个频带上有一 个帧的最高频谱分割线,在第1002个频带上有两个帧的最高频谱分割线,而在其他的频带 上,没有最高频谱分割线,也即可以得到ri~Γ987 = 0 ; Γ988 = 1 ; Γ989~riQQl = 0 ; riQQ2 = 2 ; ri003 ~ri024 = 0〇
[0091] 步骤10523,将ri(ie[l,M])中所有相近的s个点进行求和,共得到M-l个数值,从 而得到能量和最大的S个相邻频带,记为1~1+S-1频带。
[0092] 在本步骤中,s为预先设置的经验值,例如可以是50或者其他数值。s值的大小可以 影响后面计算的最优变换频带的大小。例如,一共1024个频带,总频率为22050,每个频带的 频率间隔为22050/1024,s设置为50时,实际上大约为1000Hz的频带,也就是说,在后面选择 的最优变换频带的大小约为1000Hz。
[0093] 再接上例,在步骤 10522可以得到ri~Γ987 = 0 ;Γ988= 1 ;Γ989~riQQl = 0 ;riQQ2 = 2 ; ri〇〇3~riQ24 = 0。则可以确定能量和最大的50个相邻频带可以是953~1002频带。在这种情况 下,1为953。
[0094]步骤10524,确定上述能量和最大的s个相邻频带中最优变换频带对应的频率c,将 其作为待识别音乐文件的能量变化点。
[0095]在本步骤中,最优变换频带对应的频率c可以通过如下的公式(3)计算得到:
[0097]其中,s为系统设定的数值;1为能量和最大的s个相邻频带的第一个频带的编号;Μ 为对待识别声音文件进行傅立叶变换后得到的频带数;^(1£[1,])为第1个频带上最高 频谱分割线的个数。
[0098] 执行完上述步骤10524之后,将继续执行步骤106。
[0099] 步骤106,根据对待识别声音文件的初步分类结果以及待识别声音文件的能量变 化点确定所接收的声音文件为无损文件还是有损文件。
[0100]如果对待识别声音文件的初步分类结果是用上述置信度q表征,能量变化点用最 优变换频带的等效频率c来表征,则可以通过如下公式(4)和(5)计算两个中间参数:
[0101] d = c-20000 (4)
[0102] e = q-〇.5 (5)
[0103] 在这种情况下,如果d和e同时大于0,则可确定待识别的声音文件为无损文件;如 果d和e同时小于0,则可确定待识别的声音文件为有损文件;其他情况下,则无法确定,需转 由人工进一步判断。
[0104] 由此可以看出,上述实施例给出了一种对声音文件的音质进行识别的方法,可以 从无损音频格式的声音文件中识别出真无损文件和假无损文件。而且通过将机器学习模型 筛选和通过检测能量变化点的筛选方式相结合可以精确识别各种类型的声音文件,例如轻 音乐或摇滚等等不同强弱、不同节奏、不同风格的音乐的音质。经过测试证明,通过上述方 法识别的正确率可以高达99.07%。
[0105] 针对上述步骤10514提及的根据待识别声音文件的衰落特征向量对待识别声音文 件进行模型匹配的步骤,本发明的实施例还提出了通过训练建立模型的方法。在本发明的 实施例中,上述通过训练建立的模型可以是SVM模型,GMM模型或DNN等机器学习模型。
[0106] 图2显示了通过训练建立模型的方法。如图2所示,该方法可以包括:
[0107] 步骤201,从数据库存储的声音文件中选择确定为无损的声音文件k个,有损声音 文件k个,作为训练数据。其中,k为自然数。
[0108] 上述k个无损的声音文件可以是通过人工方式识别出的确定为无损的声音文件。
[0109] 在本发明的实施例中,可以选择多种音频格式的声音文件作为有损文件的训练数 据。例如,可以选择320mp3格式文件t个,256AAC格式文件t个,128mp3格式文件t个,其中3t = k,t为自然数。
[0110] 接下来,针对这k个无损声音文件以及k个有损声音文件分别执行上述步骤102-104以及过程1051中的10511-10513,即可得到这2k个声音文件的衰落特征向量。
[0111]步骤202,根据这2k个声音文件的衰落特向量性进行针对特定模型的训练,得到针 对该特定模型的一组系数向量W。
[0112] 如前所述,上述机器学习模型可以是SVM模型、GMM模型或DNN等模型。经测试,若是 建立SVM模型,核函数类型可以采用径向基函数(RBF,Radial Basis Function)函数,可以 获得比较好的识别效果。
[0113] 作为上述实施方式的替代简化方案,本发明的实施例可以直接根据对待识别声音 文件的初步分类结果确定待识别的声音文件是有损文件还是无损文件,即执行步骤101-104和过程1051,而不执行过程1052。然后,可以在步骤106A直接根据对待识别声音文件的 初步分类结果直接确定是否为有损声音文件。例如,设定置信度q小于或等于0.5时为有损 文件,而置信度q大于0.5时为无损文件。该方法的流程如图3所示。
[0114] 此外,作为上述实施方式的另一个替代简化方案,本发明的实施例可以直接根据 待识别音乐文件的能量变化点确定待识别的声音文件是有损文件还是无损文件,即执行步 骤101-104和过程1052,而不执行过程1051。然后,在步骤106B可以根据对待识别声音文件 的能量变化点直接确定是否为有损声音文件。例如,设定最优变换频带对应的频率c大于 20000时为无损文件,而最优变换频带对应的频率c小于或等于20000时为有损文件。该方法 的流程如图4所示。
[0115] 上述识别声音文件音质的方法可以应用在为客户提供音乐下载及收听服务的音 乐平台上,例如QQ音乐、百度音乐等平台。图5显示了一种音乐平台的架构。如图5所示,一般 来讲音乐平台500会包含至少一个服务器501,至少一个数据库502,以及多个客户端503 (503A、503B、503C)等等。其中,服务器和客户端之间通过网络504连接,服务器501为客户端 503提供音乐搜索、下载以及在线收听等各种服务。客户端503为用户提供用户界面,用户通 过客户端503,搜索、下载或在线收听从服务器501处获得的音乐或音乐信息。客户端503可 以是个人计算机、平板电脑、移动终端以及音乐播放器等设备。数据库502用于存储音乐文 件,又可称为曲库。
[0116] 具体而言,如图5所示,上述音乐平台的服务器501可以包括:用于存储指令的存储 器5011以及用于执行存储于存储器中指令的处理器5012。上述指令包含如下指令模块:接 收模块50111,用于接收待识别声音文件;转换模块50112,用于将待识别声音文件的格式转 换为预先设置的基准音频格式;分帧模块50113,用于对具有基准音频格式的声音文件进行 分帧,共得到X个帧;时频变换模块50114,用于对分帧后的全部X个帧分别进行傅立叶变换, 得到每一帧的频谱;匹配模块50115,用于根据声音文件每一帧的频谱进行模型匹配,得到 对待识别声音文件的初步分类结果;能量变换点检测模块50116,用于根据声音文件每一帧 的频谱确定待识别声音文件的能量变化点;以及判断模块50117,用于根据对待识别声音文 件的初步分类结果以及待识别声音文件的能量变化点确定声音文件的音质,即声音文件为 无损文件还是有损文件。需要说明的是,上述模块的具体实现方法可以参考图1中各个步骤 的具体实现方法。作为上述方案的简化替代方案,上述指令可以仅包括如下指令模块:接收 模块50111、转换模块50112、分帧模块50113、时频变换模块50114、匹配模块50115以及用于 根据对待识别声音文件的初步分类结果确定所接收的声音文件为无损文件还是有损文件 的判断模块50117A。又或者上述指令可以仅包括如下指令模块:接收模块50111、转换模块 50112、分帧模块50113、时频变换模块50114、能量变换点检测模块50116以及用于根据待识 别声音文件的能量变化点确定所接收的声音文件为无损文件还是有损文件的判断模块 50117B。
[0117] 通常情况下,音乐平台的服务器501在接收到音乐提供商(例如协约唱片公司)提 供的标称为无损的音乐文件后,可以触发执行这些指令,如果执行结果为确定为无损音乐 文件,则可以上传至音乐平台的数据库502(曲库),并标记该音乐文件为无损文件,例如设 置该音乐文件的音质标记为无损。这样,在用户使用客户端503搜索音乐时,则服务器501可 以向客户端503显示或输出搜索到的音乐及其音质标记供用户根据需要选择下载或在线收 听无损的音乐文件还是有损的音乐文件。如果执行的结果为确定为有损的音乐文件,则会 报告检测结果或者上报异常状态给音乐平台的管理员,由管理员进行后续处理。例如管理 员可以与音乐提供商进行沟通,请其重新提供无损的音乐文件,或者将该音乐文件的音质 标记设置为有损并上传至数据库等等。从而可以从源头保证音乐平台为用户提供的音乐的 品质,提高音乐平台的性能。图6显示了音乐平台客户端的一个搜索界面示例。从图6可以看 出,用户通过客户端的搜索功能搜索名称为"ABC"的音乐后,客户端可以显示多条(两条)搜 索结果,并且针对每条到的音乐文件除了显示音乐名称、所属专辑名称、演唱者、资源来源 以及可以进行的诸如收听、加入播放列表、本地下载、收藏等等操作选项之外,还会显示该 音乐文件的音质标记601,提示客户该音乐文件的音质是有损还是无损。
[0118] 如上所述,在这种应用场景下,主要是由服务器501实现本发明实施例的功能。在 这种情况下,音乐平台的服务器501还可以进一步维护进行模型匹配的机器学习模型,例 如,其存储器5011中进一步包括训练并建立模型的指令模块。该模块可以应用图2所示的方 法训练并建立模型,而且还可以在初次建立模型后,定期动态地反复进行训练校准,从而对 模型进行优化。
[0119] 除了上述应用场景之外,上述识别声音文件音质的方法还可以应用在音乐平台的 客户端503上。具体而言,用户通过各种渠道下载了音乐文件后,可以调用客户端的识别功 能,自动识别所下载音乐文件的音质。
[0120]图7显示了客户端503的内部结构,如图7所示,客户终端503包括:用于存储指令的 存储器5031以及用于执行存储于存储器中指令的处理器5032。上述指令包含如下指令模 块:接收模块50111,用于接收待识别声音文件;转换模块50112,用于将待识别声音文件的 格式转换为预先设置的基准音频格式;分帧模块50113,用于对具有基准音频格式的声音文 件进行分帧,共得到X个帧;时频变换模块50114,用于对分帧后的全部X个帧分别进行傅立 叶变换,得到每一帧的频谱;匹配模块50115,用于根据音乐文件每一帧的频谱进行模型匹 配,得到对待识别声音文件的初步分类结果;能量变换点检测模块50116,用于根据音乐文 件每一帧的频谱确定待识别声音文件的能量变化点;以及判断模块50117,用于根据对待识 别声音文件的初步分类结果以及待识别声音文件的能量变化点确定声音文件的音质,即确 定声音文件为无损文件还是有损文件。需要说明的是,上述模块的具体实现方法可以参考 图1中各个步骤的具体实现方法。作为上述方案的简化替代方案,上述指令可以仅包括如下 指令模块:接收模块50111、转换模块50112、分帧模块50113、时频变换模块50114、匹配模块 50115以及用于根据对待识别声音文件的初步分类结果确定所接收的声音文件为无损文件 还是有损文件的判断模块50117A。又或者上述指令可以仅包括如下指令模块:接收模块 50111、转换模块50112、分帧模块50113、时频变换模块50114、能量变换点检测模块50116以 及用于根据待识别声音文件的能量变化点确定所接收的声音文件为无损文件还是有损文 件的判断模块50117B。
[0121]通常情况下,客户端503在用户选择了需要识别的音乐文件并调用该识别功能后, 可以触发执行这些指令,并通过客户端的输出设备,例如显示屏,输出识别结果供用户参 考。在这种应用场景下,用户自己无需收听每一首下载的音乐即可快速判断出所下载音乐 的音质,从而在下载来源没有音质标识或者音质标识不准确的情况下可以快速筛选出音质 好的首乐,从而提尚了客户端的性能。
[0122]如上所述,在这种应用场景下,主要是由客户端503实现本发明实施例的功能。然 而在这种情况下,仍可以由音乐平台的服务器501维护进行模型匹配的机器学习模型,例 如,例如,其存储器5011中进一步包括训练并建立模型的指令模块。该模块可以应用图2所 示的方法训练并建立模型,而且还可以在初次建立模型后,定期动态地反复进行训练校准, 从而对模型进行优化。同时,其存储器5011中还将进一步包括:模型同步模块,用于通过网 络(例如客户端软件更新等方式)将建立或者优化后的模型同步到客户端503。在这种情况 下,客户端503的存储器还将包括:模型下载模块50311,用于从服务器下载并保存进行模型 匹配的模型。
[0123]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【主权项】
1. 一种声音文件的音质识别方法,其特征在于,包括: 将待识别声音文件的格式转换为预先设置的基准音频格式; 对基准音频格式的声音文件进行分帖W及傅立叶变换处理得到所述声音文件每一帖 的频谱; 根据所述声音文件每一帖的频谱进行模式匹配,得到对所述声音文件的初步分类结 果; 根据所述声音文件每一帖的频谱确定所述声音文件的能量变化点;W及 根据所述声音文件的初步分类结果及其能量变化点确定所述声音文件的音质。2. 根据权利要求1所述的方法,其特征在于,所述基准音频格式为采样速率是44.化化、 采样精度为16比特的脉冲编码调制文件格式。3. 根据权利要求1或2所述的方法,其特征在于,所述将待识别声音文件的格式转换为 预先设置的基准音频格式包括:检测待识别声音文件是否为所述基准音频格式,如果不是, 则将所述声音文件解码为所述基准音频格式。4. 根据权利要求1所述的方法,其特征在于,所述对基准音频格式的声音文件进行分帖 包括:设置帖长和帖移,根据设置的帖长和帖移对所述声音文件进行分帖。5. 根据权利要求1所述的方法,其特征在于,所述根据所述声音文件每一帖的频谱进行 模式匹配包括: 分别对每一帖频谱所包含的频带进行分段; 针对每一个频带分段,将所述声音文件的所有帖在所述频带分段上各个频带的能量值 求和,得到所述声音文件在每个频带分段的能量值; 根据所述声音文件在每个频带分段的能量值,确定所述声音文件的衰落特征向量;W 及 根据所述声音文件的衰落特征向量对所述声音文件进行模型匹配,得到对所述声音文 件的初步分类结果。6. 根据权利要求5所述的方法,其特征在于,所述分别对每一帖频谱所包含的频带进行 分段包括:设置每个频带分段包含频带数和频移,根据设定的频带数和频移进行分段。7. 根据权利要求5所述的方法,其特征在于,所述声音文件的衰落特征向量Y通过如下 公式的得到: yi = xi+:i-xiQ e [1 ,L-1]) 其中,χι(i e [ 1,L])表示所述声音文件在第i个频带分段的能量值; 所述声音文件的初步分类结果为置信度q,通过如下公式得到: q=WY 其中,Y为所述声音文件的衰落特征向量;W为进行模型匹配时所使用模型对应的线性 相关系数。8. 根据权利要求1所述的方法,其特征在于,所述根据所述声音文件每一帖的频谱确定 所述声音文件的能量变化点包括: 确定所述声音文件每一帖的最高频谱分割线; 根据每一帖的最高频谱分割线所在的频带,分别统计每个频带上一共有多少个最高频 谱分割线,记为^。£[1,1]),其中^1代表在第1个频带上最高频谱分割线的个数;1为频带 的个数; 将riQe [1,Μ])中所有相近的S个点进行求和,得到能量和最大的S个相邻频带;W及 确定能量和最大的S个相邻频带中最优变换频带对应的频率,将其作为待识别音乐文 件的能量变化点。9. 根据权利要求8所述的方法,其特征在于,所述确定所述声音文件每一帖的最高频谱 分割线包括:针对每一帖,从高频到低频对所有频带进行遍历,第一个能量值大于第一口限 的频带为运一帖的最高频谱分割线。10. 根据权利要求8所述的方法,其特征在于,所述最优变换频带对应的频率C可W通过 如下的公式得到:其中,S为系统设定的数值;1为能量和最大的S个相邻频带的第一个频带的编号;Μ为对 所述进行傅立叶变换后得到的频带数;ri(ie[l,Μ])为第i个频带上最高频谱分割线的个 数。11. 根据权利要求1所述的方法,其特征在于,所述根据所述声音文件的初步分类结果 及其能量变化点确定所述声音文件的音质包括: 对所述声音文件的初步分类结果为置信度q,能量变化点为最优变换频带的等效频率 C; 计算两个中间参数: d = c-20000 e = q-〇.5 如果d和e同时大于0,则确定所述声音文件为无损文件;如果d和e同时小于0,则确定所 述声音文件为有损文件。12. -种声音文件的音质识别方法,其特征在于,包括: 将待识别声音文件的格式转换为预先设置的基准音频格式; 对基准音频格式的声音文件进行分帖W及傅立叶变换处理得到所述声音文件每一帖 的频谱; 根据所述声音文件每一帖的频谱进行模式匹配,得到对所述声音文件的初步分类结 果;W及 根据所述声音文件的初步分类结果确定所述声音文件的音质。13. 根据权利要求12所述的方法,其特征在于,所述根据所述声音文件每一帖的频谱进 行模式匹配包括: 分别对每一帖频谱所包含的频带进行分段; 针对每一个频带分段,将所述声音文件的所有帖在所述频带分段上各个频带的能量值 求和,得到所述声音文件在每个频带分段的能量值; 根据所述声音文件在每个频带分段的能量值,确定所述声音文件的衰落特征向量;W 及 根据所述声音文件的衰落特征向量对所述声音文件进行模型匹配,得到对所述声音文 件的初步分类结果。14. 根据权利要求13所述的方法,其特征在于,所述声音文件的衰落特征向量Y通过如 下公式的得到: yi = xi+:L-xi( i e [ 1,L-1 ]) 其中,χι(i e [ 1,L])表示所述声音文件在第i个频带分段的能量值; 所述声音文件的初步分类结果为置信度q,通过如下公式得到: q=WY 其中,Y为所述声音文件的衰落特征向量;W为进行模型匹配时所使用模型对应的线性 相关系数。15. 根据权利要求12所述的方法,其特征在于,所述根据所述声音文件的初步分类结果 确定所述声音文件的音质包括: 对所述声音文件的初步分类结果为置信度q,如果q大于预先设置的口限,则确定所述 声音文件为无损文件;如果q小于或等于预先设置的口限,则确定所述声音文件为有损文 件。 16 . -种声音文件的音质识别方法,其特征在于,包括: 将待识别声音文件的格式转换为预先设置的基准音频格式; 对基准音频格式的声音文件进行分帖W及傅立叶变换处理得到所述声音文件每一帖 的频谱; 根据所述声音文件每一帖的频谱确定所述声音文件的能量变化点;W及 根据所述声音文件的能量变化点确定所述声音文件的音质。17. 根据权利要求16所述的方法,其特征在于,所述根据所述声音文件每一帖的频谱确 定所述声音文件的能量变化点包括: 确定所述声音文件每一帖的最高频谱分割线; 根据每一帖的最高频谱分割线所在的频带,分别统计每个频带上一共有多少个最高频 谱分割线,记为^。£[1,1]),其中^1代表在第1个频带上最高频谱分割线的个数;1为频带 的个数; 将riQe [Ι,Μ])中所有相近的S个点进行求和,得到能量和最大的S个相邻频带;W及 确定能量和最大的S个相邻频带中最优变换频带对应的频率,将其作为待识别音乐文 件的能量变化点。18. 根据权利要求17所述的方法,其特征在于,所述确定所述声音文件每一帖的最高频 谱分割线包括:针对每一帖,从高频到低频对所有频带进行遍历,第一个能量值大于第一口 限的频带为运一帖的最高频谱分割线。19. 根据权利要求17所述的方法,其特征在于,所述最优变换频带对应的频率C可W通 过如下的公式得到:其中,s为系统设定的数值;1为能量和最大的s个相邻频带的第一个频带的编号;Μ为对 所述进行傅立叶变换后得到的频带数;ri(ie[l,Μ])为第i个频带上最高频谱分割线的个 数。20. 根据权利要求16所述的方法,其特征在于,所述根据所述声音文件的能量变化点确 定所述声音文件的音质包括:能量变化点为最优变换频带的等效频率C;如果C大于预先设 置的口限,则确定所述声音文件为无损文件;如果C小于或等于预先设置的口限,则确定所 述声音文件为有损文件。21. -种服务器,其特征在于,包括: 接收模块,用于接收待识别声音文件; 转换模块,用于将待识别声音文件的格式转换为预先设置的基准音频格式; 分帖模块,用于对具有基准音频格式的声音文件进行分帖; 时频变换模块,用于对分帖后的全部帖分别进行傅立叶变换,得到所述声音文件每一 帖的频谱; 匹配模块,用于根据所述声音文件每一帖的频谱进行模型匹配,得到对所述声音文件 的初步分类结果; 能量变换点检测模块,用于根据所述声音文件每一帖的频谱确定所述声音文件的能量 变化点;W及 判断模块,用于根据对待识别声音文件的初步分类结果W及待识别声音文件的能量变 化点确定所述声音文件的音质。22. 根据权利要求21所述的服务器,其特征在于,进一步包括: 训练并建立模型的指令模块,用于训练并建立模型,W及优化模型。23. 根据权利要求22所述的服务器,其特征在于,进一步包括: 模型同步模块,用于将建立或者优化后的模型同步到客户端。24. -种客户端,其特征在于,包括: 接收模块,用于接收待识别声音文件; 转换模块,用于将待识别声音文件的格式转换为预先设置的基准音频格式; 分帖模块,用于对具有基准音频格式的声音文件进行分帖; 时频变换模块,用于对分帖后的全部帖分别进行傅立叶变换,得到所述声音文件每一 帖的频谱; 匹配模块,用于根据所述声音文件每一帖的频谱进行模型匹配,得到对所述声音文件 的初步分类结果; 能量变换点检测模块,用于根据所述声音文件每一帖的频谱确定所述声音文件的能量 变化点;W及 判断模块,用于根据对待识别声音文件的初步分类结果W及待识别声音文件的能量变 化点确定所述声音文件的音质。25. 根据权利要求24所述的客户端,其特征在于,进一步包括: 模型下载模块,用于从服务器下载并保存进行模型匹配的模型。
【文档编号】G10L25/60GK106098081SQ201610381626
【公开日】2016年11月9日
【申请日】2016年6月1日 公开号201610381626.0, CN 106098081 A, CN 106098081A, CN 201610381626, CN-A-106098081, CN106098081 A, CN106098081A, CN201610381626, CN201610381626.0
【发明人】赵伟峰
【申请人】腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1