音频文件更新方法及更新装置制造方法
【专利摘要】本发明涉及一种音频文件的更新方法,其包括:提取待更新音频文件的音频指纹;将待更新音频文件的音频指纹上传至服务器,服务器将待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配;及若匹配成功,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件。在上述的音频文件更新方法中,是通过音频指纹实现音频文件的识别,可以避免由于文件名和元数据错误带来的误操作。此外,本发明还提供一种音频文件更新装置。
【专利说明】音频文件更新方法及更新装置
【技术领域】
[0001]本发明涉及音频文件处理技术,尤其涉及一种音频文件更新方法及更新装置。
【背景技术】
[0002]音乐云存储是指将用户本地的歌曲存储到服务器端,然后用户可以通过各种终端访问或下载到存储的音乐。在部分情况下,用户会有升级歌曲的需求,即从服务器下载更高质量的歌曲并替换本机保存的歌曲。
[0003]现有技术中,在服务器端查找是否具有某个歌曲时都是通过文件名或者音频文件元数据匹配来实现的。然而,当文件名或者元数据不规范甚至发生错误时,就会产生错误判断。
【发明内容】
[0004]有鉴于此,有必要提供一种音频文件更新方法及更新装置,其可避免由于文件名和元数据错误带来的误操作。
[0005]一种音频文件的更新方法,其包括:提取待更新音频文件的音频指纹;将待更新音频文件的音频指纹上传至服务器,服务器将待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配;及若匹配成功,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件。
[0006]一种音频文件更新装置,包括:音频指纹提取单元,用于提取待更新音频文件的音频指纹;上传单元,用于该待更新音频文件的音频指纹上传至服务器,服务器将该待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配;及更新单元,用于若服务器匹配成功,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件。
[0007]在上述的音频文件更新方法、更新装置及更新系统中,通过构建音频指纹数据库,在音频文件更新时采用音频指纹实现音频文件的识别,可以避免由于文件名和元数据错误带来的误操作。
[0008]为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
【专利附图】
【附图说明】
[0009]图1为第一实施例提供的构建音频指纹数据库的流程图。
[0010]图2为第一实施例的构建音频指纹数据库中提取音频指纹的流程图。
[0011]图3为第二实施例提供的音频文件更新方法流程图。
[0012]图4为第三实施例提供的音频文件更新方法流程图。
[0013]图5为第四实施例提供的音频文件更新装置的结构框图。【具体实施方式】
[0014]为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的音频文件的更新方法、更新装置及更新系统的【具体实施方式】、结构、特征及其功效,详细说明如后。
[0015]图1为第一实施例提供的构建音频指纹数据库的流程图。如图1所示,该方法包括:
步骤S110、遍历乐库内的每一音频文件;此步骤是获得乐库内所有音频文件的集合,并逐个对音频文件进行处理;
步骤S120、在遍历过程中,每次输出一个待处理的音频文件;
步骤S130、提取待处理的音频文件的著录信息并保存至音频指纹数据库内;上述的著录信息例如可包括音频文件的ID、名称、演唱者、作词者、作曲者、专辑名称等等信息。
[0016]步骤S140、提取待处理的音频文件的音频指纹并保存于音频指纹数据库内;可以理解,在音频指纹数据库内,每个音频文件的著录信息与音频指纹是对应保存的,即音频指纹与著录信息可以互为索引进行匹配检索。
[0017]参阅图2,其为提取音频文件的音频指纹,即步骤S140的具体步骤流程示意图,其包括:
步骤S141、判断音频文件是否为WAV格式。当该音频文件为WAV格式,则转到步骤S143 ;当该音频文件不为WAV格式,则转到步骤S142。
[0018]步骤S142、将该音频文件转换为WAV格式;在WAV格式中,音频数据是以脉冲编码调制(Pulse-code modUlation,PCM)数据格式进行保存的,因此,上述转换过程实际上就是采用转码器将音频文件转换为PCM数据。
[0019]步骤S143、采用汉明窗(Hamming Window)对该音频文件进行分巾贞处理;此外,可以理解,并不限于仅采用汉明窗,例如,还可采用矩形窗等。
[0020]步骤S144、对每巾贞进行快速傅立叶变换(Fast Fourier Transform,FFT)得到每中贞的能量频谱。
[0021 ] 步骤S145、按照吠声标度(Bark Scale)将每帧分为若干份,可以理解,具体的份数取决于子指纹的位数。本实施例中,将其分为32份。
[0022]步骤S146、针对每帧计算出其子指纹,如上所述,本实施例中由于将每帧分为32份,其子指纹相应为32位的数据。
[0023]步骤S147、根据所有帧的子指纹计算该音频文件的音频指纹,例如,将所有子指纹按照帧顺序依次相连即为该音频文件的音频指纹。
[0024]经过上述步骤,即可完成音频文件音频指纹的提取,可以理解,对于同一音频文件,即使以不同的码率保存,即具有不同的音质,但其音频指纹是相同的。
[0025]在上述的构建音频指纹数据库方法中,除了在音频指纹数据库中保存著录信息外还对应保存音频文件的音频指纹,后续可用于识别不同的音频文件,从而可以避免由于著录信息错误导致对音频文件的误操作。
[0026]图3为第二实施例提供的音频文件更新方法的流程图,如图3所示,该方法包括:步骤S200、由服务器构建音频指纹数据库。其具体过程可进一步参见图1、图2及相关描述。[0027]步骤S210、从客户端提取待更新音频文件的音频指纹,其具体过程可进一步参见图2及相关描述。客户端可以是任意使用云端音乐存储服务的终端,例如电脑、平板电脑、手机等。
[0028]步骤S220、将该待更新音频文件的音频指纹上传至服务器;例如,可采用超文本传输协议将音频指纹发送至服务器中。客户端可通过网络与该服务器进行通讯。
[0029]步骤S230、服务器接收到客户端上传的待更新音频文件的音频指纹后,将该待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配,若匹配成功,返回匹配成功的音频文件给客户端,并转到步骤S240更新客户端中的音频文件。
[0030]步骤S240、下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新客户端中该待更新的音频文件。更新操作例如是采用服务器返回的音频文件替换掉本机当前的版本,或者另行保存服务器返回的音频文件。
[0031]此外,可以理解,除了接收服务器返回的音频文件外,还可向服务器请求文件名及元数据等其他信息,验证本机的文件名及元数据是否正确,当有误时可以根据服务器端的数据更新本机待更新音频文件的文件名及元数据等信息。
[0032]本实施例的音频文件更新方法中,是将音频文件的音频指纹发送至服务器,因此服务器可采用上传的音频指纹检索乐库中是否已经具有相同音频指纹的音频文件,可以避免由于文件名和元数据错误带来的误操作。
[0033]图4为第三实施例提供的音频文件更新方法的流程图。如图4所示,该方法包括:步骤S300、由服务器构建音频指纹数据库;其具体过程可进一步参见图1、图2及相关描述。
[0034]步骤S310、从客户端提取待更新音频文件的音频指纹和频谱高度hi ;提取音频指纹的具体过程可进一步参见图2及相关描述。计算频谱高度hi的过程与提取音频指纹类似,可再次参阅图2,其不同之处在于,进行快速傅立叶变换得到能量频谱后不是进行拆分获取子指纹,而是计算能量频谱的高度。
[0035]步骤S320、将该待更新音频文件的音频指纹和频谱高度hi上传至服务器;
步骤S330、服务器接收到客户端上传的待更新音频文件的音频指纹和频谱高度hi后,
将该待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配,若匹配成功,则转到步骤S340.步骤S340、提取匹配成功的音频文件的频谱高度h2。其具体过程可进一步参阅步骤S310。可以理解,为了统一比较的基准,步骤S340中的计算的频谱高度h2与步骤S310中计算的频谱高度hi是针对同一帧计算的(对于不同的音频文件,相同的时间点处视为同一帧)。
[0036]步骤S350,比较hi与h2,可以理解,当hi不等于h2时表明该音频文件与现有的音频文件具有不同的音质,频谱高度越高,音质越好,可以根据具体情形做出不同处理,本实施例中当hi大于或等于h2时,转至步骤S360,当hi小于h2时,转至步骤S370。
[0037]步骤S360、当hi大于或等于h2时,说明客户端待更新音频文件比服务器匹配成功的音频文件的音质好或者相同,则不需从服务器下载音频文件进行更新替换。
[0038]步骤S370、当hi小于h2时,说明服务器匹配成功的音频文件比客户端待更新的音频文件的音质好,则下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新客户端中该待更新的音频文件。此外,可以理解,可不进行替换,仍然可以在本机保留不同音质的音频文件以使用户具有更加丰富的选择。进一步地,还可将本机的高品质的音频文件上传至服务器,使服务器端具有更高音质的版本,从而可供其他用户进行更新。
[0039]此外,在本实施例中,是将待更新音频文件的频谱高度上传至服务器,由服务器端进行比较,然而,可以理解,本实施例并不限于这种方式,例如还可以是先向服务器请求匹配成功的音频文件的频谱高度,由客户端比较频谱高度,当匹配成功的音频文件的频谱高度大于待更新的音频文件的频谱高度时才向服务器请求下载匹配成功的音频文件。
[0040]本实施例的音频文件更新方法中,进一步参考待更新的音频文件的音质与服务器端的音频文件的音质,可以使本机保存的音频文件不会被低音质的音频文件覆盖,还可使本机内具有不同音质的版本音频文件。
[0041]图5为第四实施例提供的音频文件升级装置的示意图。如图6所示,其包括客户端510与服务器520。其中,客户端510为任意使用云端音乐存储服务的终端,例如电脑、平板电脑、手机等。服务器520提供云端音乐存储服务以及升级服务。
[0042]客户端510包括:音频指纹提取单元511、频谱高度提取单元512、上传单元513、及更新单元514。
[0043]其中,音频指纹提取单元511用于提取待更新音频文件的音频指纹;上传单元513用于将该音频指纹上传至服务器,由服务器将该待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配;更新单元514用于若服务器匹配成功,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件。
[0044]具体地,如图2所示,音频指纹提取单元511用于:判断待更新的音频文件是否为预定格式;当该待更新的音频文件非为预定格式时调用转码器将其转换为该预定格式;对该待更新的音频文件进行分帧处理;对每帧进行傅立叶变换得到能量频谱;根据能量频谱计算每帧的子指纹;以及根据所有帧的子指纹获得该音频文件的音频指纹。
[0045]频谱高度提取单元512用于提取待更新音频文件的频谱高度,上传单元513还可将待更新音频文件的频谱高度上传至服务器,由服务器比较匹配成功的音频文件的频谱高度与待更新音频文件的频谱高度。若待更新音频文件的频谱高度小于匹配成功的音频文件的频谱高度更新单元514下载匹配的音频文件用于更新待更新的音频文件。
[0046]服务器520包括音频指纹数据库构建模块521及更新模块522。音频指纹数据库构建模块521负责构建音频指纹数据库,其包括遍历单元501及提取单元503,遍历单元501用于遍历乐库内的每一音频文件,提取单元503用于提取每一音频文件的音频指纹及著录信息并保存于音频指纹数据库内,而其具体运作过程可进一步参阅图1、图2及相关描述。
[0047]更新模块522负责处理客户端的音频文件更新请求。具体地,其包括音频指纹匹配单元502、频谱高度提取单元504、频谱高度比较单元506及返回单元508。其中,音频指纹匹配单502用于在音频指纹数据库中检索用户上传的音频指纹,当匹配成功时输出匹配的音频文件;频谱高度提取单元504用于提取匹配成功的音频文件的频谱高度;频谱高度比较单元506用于比较匹配成功的音频文件的频谱高度与客户端510上传的待更新音频文件的频谱高度;而返回单元508用于根据频谱高度比较单元506的结果决定具体的操作,例如返回匹配成功的音频文件给客户端510,而具体的运作逻辑可进一步参阅前述各音频文件更新方法的描述。[0048]此外,客户端510还可包括频谱高度请求单元515,用于向服务器请求匹配的音频文件的频谱高度,更新单元514用于,若待更新音频文件的频谱高度小于匹配成功的音频文件的频谱高度,下载匹配成功的音频文件并利用下载的音频文件更新该待更新的音频文件;若待更新音频文件的频谱高度大于匹配成功的音频文件的频谱高度,将该待更新音频文件上传至服务器。
[0049]关于上述的音频文件升级装置的其他细节,可进一步参考前述各实施例的音频文件升级方法。
[0050]本实施例的音频文件升级装置中,除了在音频指纹数据库中保存著录信息外还对应保存音频文件的音频指纹,后续可用于识别不同的音频文件,从而可以避免由于著录信息错误导致对音频文件的误操作。
[0051]以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
【权利要求】
1.一种音频文件的更新方法,包括:提取待更新音频文件的音频指纹;该待更新音频文件的音频指纹上传至服务器,服务器将该待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配;及若匹配成功,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件。
2.如权利要求1所述的音频文件的更新方法,其特征在于,在提取待更新音频文件的音频指纹步骤之前还包括:由服务器构建音频指纹数据库。
3.如权利要求2所述的音频文件的更新方法,其特征在于,所述由服务器构建音频指纹数据库的步骤还包括:遍历乐库内的每一音频文件;提取每一音频文件的音频指纹及著录信息并保存于音频指纹数据库内。
4.如权利要求1所述的音频文件的更新方法,其特征在于,提取待更新音频文件的音频指纹步骤之后还包括:提取待更新音频文件的频谱高度并上传至服务器。
5.如权利要求4所述的音频文件的更新方法,其特征在于,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件的步骤还包括:提取匹配成功的音频文件的频谱高度;比较待更新音频文件的频谱高度与匹配成功的音频文件的频谱高度;当待更新音频文件的频谱高度小于匹配成功的音频文件的频谱高度时,则下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新客户端中该待更新的音频文件。
6.如权利要求1所述的音频文件的更新方法,其特征在于,提取待更新音频文件的音频指纹的步骤还包括:判断待更新的音频文件是否为预定格式;当该待更新的音频文件非为预定格式时调用转码器将其转换为该预定格式;对该待更新的音频文件进行分帧处理;对每帧进行傅立叶变换得到能量频谱;根据能量频谱计算每帧的子指纹;根据所有帧的子指纹获得该音频文件的音频指纹。
7.如权利要求1所述的音频文件的更新方法,其特征在于,在匹配成功后,从服务器下载匹配的音频文件之前还包括:向服务器请求匹配的音频文件的频谱高度;提取待更新的音频文件的频谱高度;若待更新音频文件的频谱高度小于匹配成功的音频文件的频谱高度,下载匹配成功的音频文件并利用下载的音频文件更新该待更新的音频文件;若待更新音频文件的频谱高度大于匹配成功的音频文件的频谱高度,将该待更新音频文件上传至服务器。
8.一种音频文件更新装置,包括:音频指纹提取单元,用于提取待更新音频文件的音频指纹;上传单元,用于该待更新音频文件的音频指纹上传至服务器,服务器将该待更新音频文件的音频指纹与音频指纹数据库中的音频指纹进行匹配;及更新单元,用于若服务器匹配成功,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的音频文件。
9.如权利要求8所述的音频文件更新装置,其特征在于,还包括音频指纹数据库构建模块,用于在该音频指纹提取单元提取待更新音频文件的音频指纹之前构建音频指纹数据库。
10.如权利要求9所述的音频文件更新装置,其特征在于,该音频指纹数据库构建模块还包括:遍历单元,用于遍历乐库内的每一音频文件;以及提取单元,用于提取每一音频文件的音频指纹及著录信息并保存于音频指纹数据库内。
11.如权利要求8所述的音频文件更新装置,其特征在于,其还包括频谱高度提取单元,用于提取待更新音频文件的音频指纹;该上传单元还用于将该频谱高度上传至该服务器。
12.如权利要求11所述的音频文件更新装置,其特征在于,该服务器还包括:频谱高度提取单元,用于提取匹配成功的音频文件的频谱高度;以及频说高度比较单元,用于比较待更新音频文件的频谱高度与匹配成功的音频文件的频谱高度;`该更新单元还用于,在待更新音频文件的频谱高度小于匹配成功的音频文件的频谱高度时,下载并接收服务器返回的音频文件并利用该服务器返回的音频文件更新该待更新的首频文件。
13.如权利要求8所述的音频文件更新装置,其特征在于,该音频指纹提取单元还用于:判断待更新的音频文件是否为预定格式;当该待更新的音频文件非为预定格式时调用转码器将其转换为该预定格式;对该待更新的音频文件进行分帧处理;对每帧进行傅立叶变换得到能量频谱;根据能量频谱计算每帧的子指纹;以及根据所有帧的子指纹获得该音频文件的音频指纹。
14.如权利要求8所述的音频文件更新装置,其特征在于,还包括:频谱高度请求单元,用于向服务器请求匹配的音频文件的频谱高度;频谱高度提取单元,用于提取该待更新音频文件的频说高度;该更新单元还用于,若待更新音频文件的频谱高度小于匹配成功的音频文件的频谱高度,下载匹配成功的音频文件并利用下载的音频文件更新该待更新的音频文件;若待更新音频文件的频谱高度大于匹配成功的音频文件的频谱高度,将该待更新音频文件上传至服务器。
【文档编号】G06F17/30GK103455513SQ201210178882
【公开日】2013年12月18日 申请日期:2012年6月1日 优先权日:2012年6月1日
【发明者】陈剑锋 申请人:腾讯科技(深圳)有限公司