具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
在本发明的描述中,需要理解的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1为本发明实施例的基于曲库的音乐文件的匹配方法的流程图。如图1所示,根据本发明实施例的基于曲库的音乐文件的匹配方法,包括以下步骤:
步骤S101,获得曲库中的多个音乐文件,其中,每个音乐文件包括歌曲名。
具体地,曲库中存放着很多音乐文件,并且每个音乐文件都包括相对应的歌曲名。通过获取曲库中的多个音乐文件,进而得到相应音乐文件对应的歌曲名。
步骤S102,分别根据每个音乐文件的歌曲名确定对应的音乐文件的多个索引信息,其中,多个索引信息分别针对歌曲名中的不同字段。
具体地,多个索引信息为音乐文件的歌曲名的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息。例如,曲库中歌曲信息为“原来的我-王杰”、“回乡的我-王建杰”和“原来的你-古巨基”时,对应的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息分别为如下表。
歌曲名 |
头部索引信息 |
尾部索引信息 |
头部和尾部结合的索引信息 |
原来的我 |
原来的 |
来的我 |
原来我 |
回乡的我 |
回乡的 |
乡的我 |
回乡我 |
原来的你 |
原来的 |
来的你 |
原来你 |
步骤S103,根据多个索引信息建立曲库中多个音乐文件的索引字典。
具体地,根据上述所曲库中音乐文件所生成的索引信息建立索引字典。例如,根据曲库中歌曲信息为“原来的我-王杰”、“回乡的我-王建杰”和“原来的你-古巨基”的索引信息,所建立的索引字典为如下表。
索引信息 |
歌曲名 |
原来的 |
原来的我、原来的你 |
回乡的 |
回乡的我 |
来的你 |
原来的你 |
乡的我 |
回乡的我 |
原来你 |
原来的你 |
步骤S104,接收新上传的音乐文件,其中,新上传的音乐文件包括歌曲名。
具体地,新上传的音乐文件包括相对应的歌曲名,通过获取新上传音乐文件,进而得到相应音乐文件对应的歌曲名。
步骤S105,根据新上传的音乐文件的歌曲名生成新上传的音乐文件的多个新索引信息,其中,多个新索引信息分别针对新上传的音乐文件的歌曲名中的不同字段。
具体地,根据新上传音乐文件的歌曲名生成的多个索引信息为音乐文件的歌曲名的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息。例如,新上传到的音乐文件的歌曲信息为“原来的我-王杰”,则对应的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息分别为“原来的”、“来的我”和“原来我”。
步骤S106,根据新上传的音乐文件的多个新索引信息与索引字典进行匹配。
具体地,根据新上传音乐文件的索引信息与索引字典中进行匹配。例如,歌曲信息为“原来的我-王杰”的新上传的音乐文件,其对应的索引信息为“原来的”、“来的我”和“原来我”,并与步骤S103中所形成的曲库中多个音乐文件的索引字典进行匹配,如果匹配则得到相对应的索引列表。例如,索引信息为“原来的”所对应的索引列表为“原来的我、原来的你”。
步骤S107,判断新上传的音乐文件是否存在于曲库中。
具体地,将新上传音乐文件的歌曲信息与匹配得到的索引列表中曲库中音乐文件的歌曲信息进行比较,进而判断新上传的音乐文件是否存在于曲库中。
步骤S108,当新上传音乐文件存在与曲库中时,则新上传的音乐文件丢弃不存放到曲库中。
如果新上传音乐文件不存在与曲库中时,将新上传的音乐文件存放到曲库中,并且更新曲库音乐文件的索引字典。
根据本发明实施例的基于曲库的音乐文件的匹配方法,通过建立曲库中音乐文件的索引字典和新上传的音乐文件的索引,并在索引字典中匹配对应索引,因此提高了匹配的效率。
图2为根据本发明另一个实施例的基于曲库的音乐文件的匹配方法的流程图。如图2所示,根据本发明实施例的基于曲库的音乐文件的匹配方法,包括下述步骤:
步骤S201,获得曲库中的多个音乐文件,其中,每个音乐文件包括歌曲名和歌曲附属信息,且歌曲附属信息为歌手或者专辑中的至少一种。
步骤S202,分别根据每个音乐文件的歌曲名确定对应的音乐文件的多个索引信息,其中,多个索引信息分别针对歌曲名中的不同字段。
步骤S203,根据多个索引信息建立曲库中多个音乐文件的索引字典,其中,索引字典中还包括歌曲附属信息。
具体地,根据曲库中音乐文件所生成的索引信息建立索引字典。例如,根据曲库中歌曲信息为“原来的我-王杰”、“回乡的我-王建杰”和“原来的你-古巨基”的索引信息,所建立的索引字典为如下表所述。
索引信息 |
歌曲名 |
歌曲附属信息 |
原来的 |
原来的我、原来的你 |
王杰、古巨基 |
回乡的 |
回乡的我 |
王建杰 |
来的你 |
原来的你 |
古巨基 |
乡的我 |
回乡的我 |
王建杰 |
原来你 |
原来的你 |
古巨基 |
步骤S204,接收新上传的音乐文件,其中,新上传的音乐文件包括歌曲名和歌曲附属信息。
步骤S205,根据新上传的音乐文件的歌曲名生成新上传的音乐文件的多个新索引信息,其中,多个新索引信息分别针对新上传的音乐文件的歌曲名中的不同字段。
步骤S206,根据新上传的音乐文件的多个新索引信息与索引字典进行匹配。
具体地,首先根据音乐文件歌曲名和音乐文件歌曲附属信息确定相似度确定对象的组合,其中,组合方式为“歌曲名+歌手”、“歌曲名+专辑”和“歌曲名+歌手+专辑”中的一种。然后,确定新上传音乐文件的歌曲名和歌曲附属信息与曲库中对应的歌曲名和歌曲附属信息的相似度,其中,歌曲附属信息的相似度为歌手的相似度或专辑的相似度中的至少一种。最后,分别确定组合为“歌曲名+歌手”、“歌曲名+专辑”或“歌曲名+歌手+专辑”的音乐文件的第一相似度、第二相似度或第三相似度,其中,第一相似度是按照歌曲名权重、歌手权重分别和对应的相似度相乘并相加得到的相似度,第二相似度是按照歌曲名权重和专辑权重分别和对应的相似度相乘并相加得到相似度,第三相似度是按照歌曲名权重、歌手权重和专辑权重分别和对应的相似度相乘并相加得到的相似度。
步骤S207,判断新上传的音乐文件是否存在于曲库中。
步骤S208,当新上传的音乐文件存在与曲库中时,则新上传的音乐文件丢弃不存放到曲库中。
如果新上传音乐文件不存在与曲库中时,将新上传的音乐文件存放到曲库中,并且更新曲库音乐文件的索引字典。
根据本发明实施例的基于曲库的音乐文件的匹配方法,通过为音乐文件添加歌曲附属信息,避免了相同歌曲名无法进一步识别的情况,因此提高了匹配的准确性。
图3为根据本发明又一个实施例的基于曲库的音乐文件的匹配方法的流程图。如图3所示,根据本发明实施例的基于曲库的音乐文件的匹配方法,包括下述步骤:
步骤301,获得曲库中的多个音乐文件,其中,每个音乐文件包括歌曲名和歌曲附属信息,且歌曲附属信息为歌手或者专辑中的至少一种。
步骤S302,对曲库中多个音乐文件进行预处理。具体地,
首先,将曲库中音乐文件信息的全角转换成半角,并且音乐文件信息为繁体中文时将繁体转换为简体。然后,删除音乐文件信息中的多余空格,并将特殊符号进行删除或相应转换处理。之后,将音乐文件信息中阿拉伯数字转换为汉字。最后,对音乐文件信息中歌手别名进行语义分析,并将歌手的别名转换为译名。
步骤S303,分别根据每个音乐文件的歌曲名确定对应的音乐文件的多个索引信息,其中,多个索引信息分别针对歌曲名中的不同字段。
步骤S304,根据多个索引信息建立曲库中多个音乐文件的索引字典,其中,索引字典中还包括歌曲附属信息。
步骤S305,接收新上传的音乐文件,其中,新上传的音乐文件包括歌曲名和歌曲附属信息。
步骤S306,对新上传的音乐文件进行预处理。具体地,
首先,将新上传音乐文件信息的全角转换成半角,并且音乐文件信息为繁体中文时将繁体转换为简体。然后,删除音乐文件信息中的多余空格,并将特殊符号进行删除或相应转换处理。之后,将音乐文件信息中阿拉伯数字转换为汉字。最后,对音乐文件信息中歌手别名进行语义分析,并将歌手的别名转换为译名。
步骤S307,根据新上传的音乐文件的歌曲名生成新上传的音乐文件的多个新索引信息,其中,多个新索引信息分别针对新上传的音乐文件的歌曲名中的不同字段。
步骤S308,根据新上传的音乐文件的多个新索引信息与索引字典进行匹配。
步骤S309,判断新上传的音乐文件是否存在于曲库中。
步骤S310,当新上传音乐文件存在与曲库中时,则新上传的音乐文件丢弃不存放到曲库中。
如果新上传音乐文件不存在与曲库中时,将新上传的音乐文件存放到曲库中,并且更新曲库音乐文件的索引字典。
根据本发明实施例的基于曲库的音乐文件的匹配方法,通过对音乐文件进行预处理,避免了音乐文件信息不统一造成的漏匹配的现象,提高了匹配的准确性。
图4为根据本发明再一个实施例的基于曲库的音乐文件的匹配方法的流程图。如图4所示,根据本发明实施例的基于曲库的音乐文件的匹配方法,包括下述步骤:
步骤401,获得曲库中的多个音乐文件,其中,每个音乐文件包括歌曲名和歌曲附属信息,且歌曲附属信息为歌手或者专辑中的至少一种。
步骤S402,对曲库中多个音乐文件进行预处理。
步骤S403,对曲库中多个音乐文件的歌曲名的文字类型及长度进行判断并进行处理。具体地,
首先,分析音乐文件中歌曲名是否为中文。如果歌曲名为中文,则进一步判断歌曲名的字符串长度是否大于第一索引信息字节长度,其中,第一索引信息字节长度为6字节。如果小于第一索引信息字节长度,则不为音乐文件建立索引信息。
如果歌曲名为非中文,则进一步判断歌曲名的字符串长度是否大于第二索引信息字节长度,其中,第二索引信息字节长度为8字节。如果小于第二索引信息字节长度,则不为音乐文件建立索引信息。
步骤S404,分别根据每个音乐文件的歌曲名确定对应的音乐文件的多个索引信息,其中,多个索引信息分别针对歌曲名中的不同字段。
步骤S405,根据多个索引信息建立曲库中多个音乐文件的索引字典,其中,索引字典中还包括歌曲附属信息。
步骤S406,接收新上传的音乐文件,其中,新上传的音乐文件包括歌曲名和歌曲附属信息。
步骤S407,对新上传的音乐文件进行预处理。
步骤S408,对新上传的音乐文件的歌曲名的文字类型及长度进行判断并进行处理。具体地,
首先,分析音乐文件中歌曲名是否为中文。如果歌曲名为中文,则进一步判断歌曲名的字符串长度是否大于第一索引信息字节长度,其中,第一索引信息字节长度为6字节。如果小于第一索引信息字节长度,则不为音乐文件建立索引信息。
如果歌曲名为非中文,则进一步判断歌曲名的字符串长度是否大于第二索引信息字节长度,其中,第二索引信息字节长度为8字节。如果小于第二索引信息字节长度,则不为音乐文件建立索引信息。
步骤S409,根据新上传的音乐文件的歌曲名生成新上传的音乐文件的多个新索引信息,其中,多个新索引信息分别针对新上传的音乐文件的歌曲名中的不同字段。
步骤S410,根据新上传的音乐文件的多个新索引信息与索引字典进行匹配。
步骤S411,判断新上传的音乐文件是否存在于曲库中。
步骤S412,当新上传音乐文件存在与曲库中时,则新上传的音乐文件丢弃不存放到曲库中。
如果新上传音乐文件不存在与曲库中时,将新上传的音乐文件存放到曲库中,并且更新曲库音乐文件的索引字典。
根据本发明实施例的基于曲库的音乐文件的匹配方法,通过对索引信息的长度进行限定,避免了索引信息过短或过长造成的匹配数据过多或遗漏的情况,提高了匹配的准确性。
下面结合说明书附图详细描述根据本发明实施例的基于曲库的音乐文件的匹配系统。
图5为根据本发明一个实施例的基于曲库的音乐文件的匹配系统的结构框图。如图5所示,根据本发明实施例的基于曲库的音乐文件的匹配系统包括:第一获取模块100、确定模块200、索引字典模块300、接收模块400、索引生成模块500和第一匹配判断模块600。
具体地,第一获取模块100用于获得曲库中的多个音乐文件,其中,每个音乐文件包括歌曲名。
确定模块200用于分别根据每个音乐文件的歌曲名确定对应的音乐文件的多个索引信息,其中,多个索引信息分别针对歌曲名中的不同字段,并且多个索引信息为音乐文件的歌曲名的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息。例如,曲库中歌曲信息为“原来的我-王杰”、“回乡的我-王建杰”和“原来的你-古巨基”时,对应的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息分别为如下表。
歌曲名 |
头部索引信息 |
尾部索引信息 |
头部和尾部结合的索引信息 |
原来的我 |
原来的 |
来的我 |
原来我 |
回乡的我 |
回乡的 |
乡的我 |
回乡我 |
原来的你 |
原来的 |
来的你 |
原来你 |
索引字典模块300用于根据多个索引信息建立曲库中多个音乐文件的索引字典。例如,根据曲库中歌曲信息为“原来的我-王杰”、“回乡的我-王建杰”和“原来的你-古巨基”的索引信息,所建立的索引字典为如下表。
索引信息 |
歌曲名 |
原来的 |
原来的我、原来的你 |
回乡的 |
回乡的我 |
来的你 |
原来的你 |
乡的我 |
回乡的我 |
原来你 |
原来的你 |
接收模块400用于接收新上传的音乐文件,其中,新上传的音乐文件包括歌曲名。
索引生成模块500用于根据新上传的音乐文件的歌曲名生成新上传的音乐文件的多个新索引信息,其中,多个新索引信息分别针对新上传的音乐文件的歌曲名中的不同字段。
在本发明的另一个实施例中,根据新上传音乐文件的歌曲名生成的多个索引信息为音乐文件的歌曲名的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息。例如,新上传到的音乐文件的歌曲信息为“原来的我-王杰”,则对应的头部索引信息、尾部索引信息、部分头部索引信息和部分尾部索引信息联合组成的索引信息分别为“原来的”、“来的我”和“原来我”。
第一匹配判断模块600用于根据新上传的音乐文件的多个新索引信息与索引字典进行匹配,以判断新上传的音乐文件是否已存在于曲库之中。在本发明的另一个实施例中,根据新上传音乐文件的索引信息与索引字典中进行匹配。例如,歌曲信息为“原来的我-王杰”的新上传的音乐文件,其对应的索引信息为“原来的”、“来的我”和“原来我”,并与索引字典模块300中所形成的曲库中多个音乐文件的索引字典进行匹配,如果匹配则得到相对应的索引列表。例如,索引信息为“原来的”所对应的索引列表为“原来的我、原来的你”。
根据本发明实施例的基于曲库的音乐文件的匹配系统,通过建立曲库中音乐文件的索引字典和新上传的音乐文件的索引,并在索引字典中匹配对应索引,因此提高了匹配的效率。
图6为根据本发明另一个实施例的基于曲库的音乐文件的匹配系统的结构框图。如图6所示,根据本发明实施例的基于曲库的音乐文件的匹配系统还包括第二获取模块700和第二匹配判断模块800。
第二获取模块700用于获得曲库中的多个音乐文件和新上传的音乐文件的歌曲附属信息。在本发明的另一个实施例中,根据曲库中音乐文件所生成的索引信息建立索引字典。例如,根据曲库中歌曲信息为“原来的我-王杰”、“回乡的我-王建杰”和“原来的你-古巨基”的索引信息,所建立的索引字典为如下表所述。
索引信息 |
歌曲名 |
歌曲附属信息 |
原来的 |
原来的我、原来的你 |
王杰、古巨基 |
回乡的 |
回乡的我 |
王建杰 |
来的你 |
原来的你 |
古巨基 |
乡的我 |
回乡的我 |
王建杰 |
原来你 |
原来的你 |
古巨基 |
第二匹配判断模块800用于判断新上传音乐文件的歌曲附属信息与对应的音乐文件的歌曲附属信息是否匹配,以判断新上传的音乐文件是否已存在于曲库之中。
在本发明的另一个实施例中,第二匹配判断模块800首先根据音乐文件歌曲名和音乐文件歌曲附属信息确定相似度确定对象的组合,其中,组合方式为“歌曲名+歌手”、“歌曲名+专辑”或“歌曲名+歌手+专辑”中的一种。然后,确定新上传音乐文件的歌曲名和歌曲附属信息与曲库中对应的歌曲名和歌曲附属信息的相似度,其中,歌曲附属信息的相似度为歌手的相似度或专辑的相似度中的至少一种。之后,分别确定组合为“歌曲名+歌手”、“歌曲名+专辑”或“歌曲名+歌手+专辑”的音乐文件的第一相似度、第二相似度或第三相似度,其中,第一相似度是按照歌曲名权重、歌手权重分别和对应的相似度相乘并相加得到的相似度,第二相似度是按照歌曲名权重和专辑权重分别和对应的相似度相乘并相加得到相似度,第三相似度是按照歌曲名权重、歌手权重和专辑权重分别和对应的相似度相乘并相加得到的相似度。最后,根据第一相似度、第二相似度或第三相似度的数值,判断新上传的音乐文件是否已存在于曲库之中。
根据本发明实施例的基于曲库的音乐文件的匹配系统,通过为音乐文件添加歌曲附属信息,避免了相同歌曲名无法进一步识别的情况,因此提高了匹配的准确性。
图7为根据本发明又一个实施例的基于曲库的音乐文件的匹配系统的结构框图。如图7所示,根据本发明实施例的基于曲库的音乐文件的匹配系统还包括预处理模块900。
预处理模块900用于对多个音乐文件和新上传的音乐文件进行预处理。
在本发明的一个实施例中,预处理模块900具体包括:第一转换单元、处理单元、第二转换单元和第三转换单元。具体地,第一转换单元,用于将音乐文件信息的全角转换成半角,并且音乐文件信息为繁体中文时将繁体转换为简体。处理单元,用于删除音乐文件信息中的多余空格,并将特殊符号进行处理。第二转换单元,用于将音乐文件信息中阿拉伯数字转换为汉字。第三转换单元,用于对音乐文件信息中歌手别名进行语义分析并将歌手的别名转换为译名。
根据本发明实施例的基于曲库的音乐文件的匹配系统,通过对音乐文件进行预处理,避免了音乐文件信息不统一造成的漏匹配的现象,提高了匹配的准确性。
图8为根据本发明再一个实施例的基于曲库的音乐文件的匹配系统的结构框图。如图8所示,根据本发明实施例的基于曲库的音乐文件的匹配系统还包括第一处理模块1000和第二处理模块1100。
第一处理模块1000用于当音乐文件中歌曲名为中文时对其进行处理。
第二处理模块1100用于当音乐文件中歌曲名不是中文时对其进行处理。
在本发明的一个实施例中,第一处理模块1000具体包括:判断单元,用于判断歌曲名的字符串长度是否大于第一索引信息字节长度,其中,第一索引信息字节长度为6字节。处理单元,用于当歌曲名的字符串长度小于第一索引信息字节长度时,则不为音乐文件建立索引信息。
在本发明的一个实施例中,第二处理模块1100具体包括:判断单元,用于判断歌曲名的字符串长度是否大于第二索引信息字节长度,其中,第二索引信息字节长度为8字节。处理单元,用于当歌曲名的字符串长度小于第一索引信息字节长度时,则不为音乐文件建立索引信息。
根据本发明实施例的基于曲库的音乐文件的匹配系统,通过对索引信息的长度进行限定,避免了索引信息过短或过长造成的匹配数据过多或遗漏的情况,提高了匹配的准确性。
应当理解,本发明的系统实施例中的各个模块和单元的具体操作过程可与方法实施例中的描述相同,此处不再详细描述。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。