CN112667845A - 一种歌曲推荐方法、装置、电子设备及可读存储介质 - Google Patents
一种歌曲推荐方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN112667845A CN112667845A CN202011539915.1A CN202011539915A CN112667845A CN 112667845 A CN112667845 A CN 112667845A CN 202011539915 A CN202011539915 A CN 202011539915A CN 112667845 A CN112667845 A CN 112667845A
- Authority
- CN
- China
- Prior art keywords
- song
- training
- distributor
- code
- orchestrator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004364 calculation method Methods 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims description 228
- 230000011218 segmentation Effects 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 25
- 230000002441 reversible effect Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 19
- 238000001228 spectrum Methods 0.000 claims description 17
- 230000008859 change Effects 0.000 claims description 14
- 230000009467 reduction Effects 0.000 claims description 14
- 230000006835 compression Effects 0.000 claims description 11
- 238000007906 compression Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 abstract description 3
- 230000003595 spectral effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 6
- 238000012935 Averaging Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910001385 heavy metal Inorganic materials 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种歌曲推荐方法、装置、设备及计算机可读存储介质,该方法包括:获取历史歌曲,并将历史歌曲输入配器编码模型,得到历史歌曲对应的第一配器编码;将第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,其中,每个第二配器编码各对应于一首候选歌曲;将配器相似度大于预设相似度的候选歌曲推荐给用户;该方法不需要具体的标签作为是否进行推荐的判断依据,扩大了歌曲推荐的范围,即将没有对应标签的候选歌曲纳入了推荐筛选的范围,同时,基于配器编码的相似程度进行推荐判断,可以提高歌曲推荐的准确性。
Description
技术领域
本申请涉及音频处理技术领域,特别涉及一种歌曲推荐方法、电子设备及计算机可读存储介质。
背景技术
歌曲推荐算法用于分析用户的喜好,并为其推荐符合其算法的音乐,提高用户的使用体验。相关技术通常采用用户播放历史中各个音乐的流派等标签分析用户的喜好,并基于用户的喜好将具有相同标签的歌曲推荐给用户。然而,由于标签的粒度较粗,不够准确;且标签覆盖不全,并不是所有的音乐均具有标签,因此基于相关技术基于标签进行推荐的方式准确率较低。
发明内容
有鉴于此,本申请的目的在于提供一种歌曲推荐方法、电子设备及计算机可读存储介质,提高了歌曲推荐的准确性。
为解决上述技术问题,第一方面,本申请提供了一种歌曲推荐方法,包括:
获取历史歌曲,并将所述历史歌曲输入配器编码模型,得到所述历史歌曲对应的第一配器编码;
将所述第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,其中,每个所述第二配器编码各对应于一首候选歌曲;
将所述配器相似度大于预设相似度的候选歌曲推荐给用户。
在一种实施方式中,所述配器编码模型的生成过程,包括:
获取训练频谱特征,并利用初始编码模型对所述训练频谱特征进行特征压缩编码,得到第一训练编码;
利用初始还原模型对所述第一训练编码进行编码还原,得到第二训练编码;
计算所述训练频谱特征和所述第二训练编码之间的损失值,并根据所述损失值调整所述初始编码模型和所述初始还原模型,得到编码模型和还原模型;
将所述编码模型确定为所述配器编码模型。
在一种实施方式中,所述配器编码模型的生成过程,包括:
获取多个不同流派的初始训练歌曲段,并对各个所述初始训练歌曲段进行分段处理,得到多个训练歌曲段;
获取同一流派中的任意两个所述训练歌曲段组成正向训练数据;
获取任意两个不同流派分别对应的所述训练歌曲段组成反向训练数据;
利用所述正向训练数据和所述反向训练数据构成所述训练集,并利用所述训练集对初始编码模型进行训练,得到所述配器编码模型。
在一种实施方式中,所述相似度计算模型的生成过程,包括:
获取多个第一训练配器编码和多个第二训练配器编码;所述第一训练配器编码对应于第一用户,所述第二训练配器编码对应于第二用户,所述第一用户和所述第二用户对应的历史歌曲配器编码不同;
利用任意两个第一训练配器编码和任意两个第二训练配器编码组成正向相似度训练数据;
利用任意一个第一训练配器编码和任意一个第二训练配器编码组成反向相似度训练数据;
利用所述正向相似度训练数据和所述反向相似度训练数据对初始计算模型进行训练,得到所述相似度计算模型。
在一种实施方式中,所述将所述历史歌曲输入配器编码模型,得到所述历史歌曲对应的第一配器编码,包括:
对所述历史歌曲进行分段处理,得到多个历史歌曲段;
将各个所述历史歌曲段输入所述配器编码模型,得到对应的多个第一配器编码;
相应的,所述将所述第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,包括:
将全部所述第一配器编码和多个所述第二配器编码输入所述相似度计算模型,得到各个所述第一配器编码和各个所述第二配器编码之间的配器子相似度;
利用各个所述第一配器编码与目标配器编码之间的所述配器子相似度进行平均运算,得到所述第一配器编码与所述目标配器编码之间的所述配器相似度;所述目标配器编码为多个所述第二配器编码中的任意一个。
在一种实施方式中,所述利用各个所述第一配器编码与目标配器编码之间的所述配器子相似度进行平均运算,得到所述第一配器编码与所述目标配器编码之间的所述配器相似度,包括:
获取各个所述历史歌曲段对应的历史播放次数,利用所述历史播放次数和所述历史歌曲对应的总播放次数进行相除运算,得到各个所述历史歌曲段对应的权重值;
利用所述权重值和所述配器子相似度进行加权平均运算,得到所述配器相似度。
在一种实施方式中,所述对历史歌曲进行分段处理,得到多个历史歌曲段,包括:
获取所述历史歌曲对应的歌词时间戳信息;
基于所述歌词时间戳信息对所述历史歌曲进行分段处理,得到多个所述历史歌曲段。
在一种实施方式中,所述对历史歌曲进行分段处理,得到多个历史歌曲段,包括:
利用乐器识别模型对所述历史歌曲进行分段乐器识别,得到多个乐器识别结果;
若相邻的两个乐器识别结果不相同,则将乐器识别结果变化位置确定为分段位置;
基于所述分段位置对所述历史歌曲进行分段,得到所述历史歌曲段。
第二方面,本申请还提供了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的歌曲推荐方法。
第三方面,本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的歌曲推荐方法。
本申请提供的歌曲推荐方法,获取历史歌曲,并将历史歌曲输入配器编码模型,得到历史歌曲对应的第一配器编码;将第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,其中,每个第二配器编码各对应于一首候选歌曲;将配器相似度大于预设相似度的候选歌曲推荐给用户。
可见,该方法获取历史歌曲的第一配器编码,历史歌曲为用户已经听过的歌曲,可以作为歌曲推荐的基准。第一配器编码可以反应历史歌曲的配乐情况,不同的乐器具有不同的特色,各类乐器均具有其独特的特点使得其在曲风表现上起到基本固定的作用,因此采用不同配器的音乐通常属于不同的类别。在进行歌曲推荐时,可以获取多个候选歌曲对应的第二配器编码,并将第一配器编码和第二配器编码输入相似度计算模型,得到历史歌曲分别与各个候选歌曲之间的配器相似度。配器相似度用于表示候选歌曲和历史歌曲之间乐器使用和配合的相似程度,可以表征候选歌曲和历史歌曲之间的相似性。在配器相似度大于预设相似度时,则可以确定候选歌曲与历史歌曲的类别相同,因此将配器相似度大于预设相似度的候选歌曲推荐给用户。该方法不需要具体的标签作为是否进行推荐的判断依据,扩大了歌曲推荐的范围,即将没有对应标签的候选歌曲纳入了推荐筛选的范围,同时,基于配器编码的相似程度进行推荐判断,可以提高了歌曲推荐的准确性,解决了标签粒度过粗和标签覆盖不全而造成的歌曲推荐不准确问题。
此外,本申请还提供了一种电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种歌曲推荐方法所适用的硬件组成框架示意图;
图2为本申请实施例提供的另一种歌曲推荐方法所适用的硬件组成框架示意图;
图3为本申请实施例提供的一种歌曲推荐方法的一种流程示意图;
图4为本申请实施例提供的一种具体的歌曲推荐方法流程示意图;
图5为本申请实施例提供的一种配器编码器的训练流程示意图;
图6为本申请实施例提供的一种歌曲推荐装置的一种结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
歌曲推荐算法通常根据用户的历史播放记录确定用户的音乐偏好,用户的音乐偏好通常利用音乐标签等进行体现,例如为流行、民谣等。这样就导致只有具有音乐标签的歌曲才能够参与歌曲推荐,而大量的新歌或老歌不具有对应的音乐标签,需要添加标签,该部分工作需要较多的专业知识,工作量极大。标签的添加可能存在错误,且便签本身为粗粒度的分类方式,即便是采用了细化的标签,例如将民谣分为独立民谣和校园民谣,其中仍包括了大量的音乐,导致分类不够精细。上述多种原因导致相关技术的推荐准确性较差,即无法准确地推荐用户想要的音乐。为了解决上述问题,本申请提供的歌曲推荐算法利用第一配器编码和第二配器编码计算配器相似度,并利用配器相似度表征历史歌曲和候选歌曲之间的相似度。配器编码也可以称为乐器特征,用于表示音乐的乐器搭配等情况。可以理解的是,用户的音乐偏好通常集中于某些曲风,而不同乐器的具有不同的特色,各类乐器均具有其独特的特点使得其在对曲风的表现上起到基本固定的作用,例如钢琴曲、重金属音乐等。通过推荐足够相似的候选歌曲,即通过推荐配器相似度大于预设相似度的候选歌曲,可以准确地进行歌曲推荐,且不需要设置音乐标签,扩大了适用范围,改善了歌曲推荐的准确性。
为了便于理解,先对本申请实施例提供的歌曲推荐方法对应的方案所使用的硬件组成框架进行介绍。请参考图1,图1为本申请实施例提供的一种歌曲推荐方法所适用的硬件组成框架示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制电子设备100的整体操作,以完成歌曲推荐方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-Only Memory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。在本实施例中,存储器102中至少存储有用于实现以下功能的程序和/或数据:
获取历史歌曲,并将历史歌曲输入配器编码模型,得到历史歌曲对应的第一配器编码;
将第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,其中,每个第二配器编码各对应于一首候选歌曲;
将配器相似度大于预设相似度的候选歌曲推荐给用户。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行歌曲推荐方法。
当然,图1所示的电子设备100的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备100可以包括比图1所示的更多或更少的部件,或者组合某些部件。
其中,图1中的电子设备100可以为终端(如手机、平板电脑等移动终端,或PC机等固定终端)或者服务器。在一种具体的实施方式中,电子设备100可以利用通信组件105通过网络接收其它设备或终端发送的历史歌曲;在另一种具体的实施方式中,电子设备100可以利用多媒体组件103获取输入的历史歌曲;在另一种具体的实施方式中,电子设备100可以从存储器102中获取输入的历史歌曲。
可以理解的是,本申请实施例中并不对电子设备的数量进行限定,其可以是多个电子设备共同协作完成歌曲推荐方法。在一种可能的实施方式中,请参考图2,图2为本申请实施例提供的另一种歌曲推荐方法所适用的硬件组成框架示意图。由图2可知,该硬件组成框架可以包括:第一电子设备11和第二电子设备12,二者之间通过网络13连接。
在本申请实施例中,第一电子设备11与第二电子设备12的硬件结构可以参考图1中电子设备100。即可以理解为本实施例中具有两个电子设备100,两者进行数据交互,实现歌曲推荐的功能。进一步,本申请实施例中并不对网络13的形式进行限定,即,网络13可以是无线网络(如WIFI、蓝牙等),也可以是有线网络。
其中,第一电子设备11和第二电子设备12可以是同一种电子设备,如第一电子设备11和第二电子设备12均为服务器;也可以是不同类型的电子设备,例如,第一电子设备11可以是终端或智能电子设备,第二电子设备12可以是服务器。在一种可能的实施方式中,可以利用计算能力强的服务器作为第二电子设备12来提高数据处理效率及可靠性,进而提高歌曲推荐的处理效率。同时利用成本低,应用范围广的终端或智能电子设备作为第一电子设备11,用于实现第二电子设备12与用户之间的交互。该交互过程可以为:终端用于确定历史歌曲,并将历史歌曲或历史歌曲对应的信息发送给服务器,服务器基于历史歌曲或历史歌曲对应的信息获取第一配器编码,并进一步筛选得到等待推荐的候选歌曲,并将候选歌曲或候选歌曲对应的信息发送给终端,通过终端完成对候选歌曲的推荐。
基于上述说明,请参考图3,图3为本申请实施例提供的一种歌曲推荐方法的一种流程示意图。该实施例中的方法包括:
S101:获取历史歌曲,并将历史歌曲输入配器编码模型,得到历史歌曲对应的第一配器编码。
历史歌曲为基准音乐,即可以表示用户偏好的音乐。历史歌曲的数量可以为一个或多个,但是需要说明的是,每个历史歌曲都具有对应的第一配器编码,各个历史歌曲的第一配器编码不同。本实施例并不限定历史歌曲的具体获取方式,例如在一种具体的实施方式中,可以获取历史歌曲指定信息,并根据其确定历史歌曲。历史歌曲指定信息可以被提前设置好,例如可以由用户预设并存储,例如指定最新播放的歌曲为历史歌曲,历史歌曲指定信息与用户身份信息一一对应,在需要获取历史歌曲指定信息时,可以获取用户身份信息,根据用户身份信息获取历史歌曲指定信息。用户身份信息的具体内容不做限定,例如可以为用户ID,或者可以为用户名称,或者可以为用户画像。历史歌曲指定信息也可以实时生成,例如可以检测用户输入的指令,根据该指令生成对应的历史歌曲指定信息,指令可以为文字、语音、手势等形式,例如指定历史播放次数最大的歌曲作为历史歌曲,或者可以指定最新播放的十首歌曲作为历史歌曲。
本实施例并不限定历史歌曲的具体形式,其可以为一首完整的音乐,或者可以为歌曲片段,例如歌曲中的高潮部分对应的片段,或者歌曲中开始部分对应的片段。获取历史歌曲的操作的触发条件不做限定,例如在检测到个性化推荐指令时确定需要获取历史歌曲,或者可以在检测到歌曲榜单生成指令时确定需要获取历史歌曲,或者可以在检测到搜索指令时确定需要获取历史歌曲。上述三种指令(即个性化推荐指令、歌曲榜单生成指令、搜索指令)可以由其他设备或终端发送,或者可以在本地生成,例如可以检测用户的手势操作,并根据手势操作生成对应的指令,或者当电子设备为服务器时,可以获取终端发送的指令。
第一配器编码与历史歌曲相对应,其利用配器编码模型生成。配器编码模型用于对历史歌曲进行配器方面的编码处理,模型的具体类型可以根据需要进行选择,在一种实施方式中,可以利用已有的乐器识别模型对历史歌曲进行处理,并将其中分类层的输入特征确定为配器编码。乐器识别模型为已有的模型,可以直接采用,但是其对单一乐器的识别能力较强,对多种乐器组合的识别能力较弱。因此为了提高配器编码的准确性,在另一种实施方式中,可以将训练数据是否具有相同的配器编码作为标签组建训练集,并利用该训练集进行训练,得到对应的分类模型,并将该分类模型中分类层的输入特征作为配器编码。第一配器编码的具体类型不做限定,例如其可以基于频谱特征生成,因此类型为频谱特征类型,其格式也可以根据需要进行设定,例如可以为定长向量。
S102:将第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度。
需要说明的是,每个所述第二配器编码各对应于一首候选歌曲。候选歌曲为非历史歌曲,其可以为任意参与歌曲推荐的音乐,其具体数量通常为多个,即同时检测多个候选歌曲是否可以被推荐。可以理解的是,一首候选歌曲可以为一首完整的歌曲,也可以为一首歌曲的部分片段。在一种实施方式中,候选歌曲可以为任意一个非历史歌曲,在另一种实施方式中,可以设置候选标签,候选歌曲可以为任意一个具有候选标记的非历史歌曲,候选标记可以用于指示是否参与歌曲推荐,例如在最初时,所有的音乐均具有候选标记,当一首音乐被用户收藏,则去除该音乐对应的候选标记;或者当一首音乐被用户播放过,则去除该音乐对应的候选标记。各个候选音乐均具有对应的第二配器编码,第二配器编码同样利用配器编码模型得到。第二配器编码被存储于候选歌曲库中,在进行歌曲推荐时可以直接调用。需要说明的是,第二配器编码的格式和实际含义与第一配器编码相同,即必须采用相同的配器编码模型提取第一配器编码和第二配器编码。
在得到第一配器编码和第二配器编码后,可以将其如数相似度计算模型,得到第一配器特征分别与各个第二配器特征之间的配器相似度。由于第一配器编码和第二配器编码分别表征了历史歌曲和候选歌曲的配器情况,因此配器相似度同样也为历史歌曲和候选歌曲在配器情况上的相似程度。配器相似度的具体计算方式不做限定,例如在一种实施方式中,相似度计算模型可以采用已有的算法构建,例如其可以计算第一配器编码和第二配器编码之间的向量距离,并利用该向量距离得到配器相似度,可以对向量距离进行处理得到配器相似度或直接将其确定为配器相似度。或者在另一种实施方式中,可以利用训练好的相似度计算模型对第一配器编码和第二配器编码进行处理,得到对应的配器相似度,即该模型的输入为两个配器编码,输出为对应的配器相似度。
S103:将配器相似度大于预设相似度的候选歌曲推荐给用户。
在得到配器相似度后将其与预设相似度进行比较,并基于二者之间的大小关系判断是否对候选歌曲进行推荐。若配器相似度大于预设相似度,则说明候选歌曲与历史歌曲在配器情况上很相似,配器情况可以表现音乐风格,而用户偏爱的音乐风格一般固定,因此候选歌曲为用户偏爱的风格,可以对该候选歌曲进行推荐。本实施例并不限定推荐候选歌曲的具体推荐方式,例如可以直接输出候选歌曲的音频,或者可以输出候选歌曲对应的候选歌曲信息,可以包括音乐名称、作者等。输出的具体方式可以为可视化输出,或者可以为音频播放输出。
应用本申请实施例提供的歌曲推荐方法,获取历史歌曲的第一配器编码,历史歌曲为用户已经听过的歌曲,可以作为歌曲推荐的基准。第一配器编码可以反应历史歌曲的配乐情况,不同的乐器具有不同的特色,各类乐器均具有其独特的特点使得其在曲风表现上起到基本固定的作用,因此采用不同配器的音乐通常属于不同的类别。在进行歌曲推荐时,可以获取多个候选歌曲对应的第二配器编码,并将第一配器编码和第二配器编码输入相似度计算模型,得到历史歌曲分别与各个候选歌曲之间的配器相似度。配器相似度用于表示候选歌曲和历史歌曲之间乐器使用和配合的相似程度,可以表征候选歌曲和历史歌曲之间的相似性。在配器相似度大于预设相似度时,则可以确定候选歌曲与历史歌曲的类别相同,因此将配器相似度大于预设相似度的候选歌曲推荐给用户。该方法不需要具体的标签作为是否进行推荐的判断依据,扩大了歌曲推荐的范围,即将没有对应标签的候选歌曲纳入了推荐筛选的范围,同时,基于配器编码的相似程度进行推荐判断,可以提高了歌曲推荐的准确性,解决了标签粒度过粗和标签覆盖不全而造成的歌曲推荐不准确问题。
在一种具体的实施方式中,本申请实施例提供了一种具体的歌曲推荐过程。请参考图4,图4为本申请实施例提供的一种具体的歌曲推荐方法流程示意图,在本实施例中,候选歌曲即为待判定歌曲。考虑到在同一首歌曲内不同时间对应的乐器或乐器组合以及乐器的搭配方式可能会发生变化,因此可以利用片段切分器分别对用户历史歌曲(即历史歌曲)和待判定歌曲进行切分,得到用户历史歌曲对应的第一歌曲片段和待判定歌曲对应的第二歌曲片段,并利用训练好的配器编码器(即配器编码模型)生成对应的第一配器编码和第二配器编码。需要说明的是,第一配器编码和第二配器编码的生成时机可以不同,即可以预先生成各个候选音乐对应的第二配器编码并存储在候选歌曲库中。在得到第一配器编码后,从候选歌曲库中提取第二配器编码,利用度量模型计算相似度,即配器相似度,并基于该配器相似度决定是否推荐待判定歌曲。度量模型用于度量两个配器编码的相似程度,输出为两个配器编码的相似度。度量模型的具体架构不做限定,例如可以采用基本的三层神经网络结构。
具体的,在一种实施方式中,配器编码模型的生成过程可以包括:
步骤11:获取训练频谱特征,并利用初始编码模型对训练频谱特征进行特征压缩编码,得到第一训练编码。
由于歌曲的配器情况可以在频谱特征上体现,不同的配器情况对应的频谱特征不同,因此本实施例中可以将训练频谱特征作为训练数据,利用初始编码模型对其进行特征压缩编码,得到对应的第一训练编码。特征压缩编码的过程就是配器编码提取的过程。本实施例并不限定特征压缩编码的具体过程,例如当训练频谱特征具有10000个数据时,经过特征压缩编码后得到的第一训练编码可以具有100个数据。
步骤12:利用初始还原模型对第一训练编码进行编码还原,得到第二训练编码。
初始还原模型用于对第一训练编码进行还原,得到第二训练编码,以便判断在特征压缩编码过程中是否造成了较多的信息损失。编码还原的过程与特征压缩编码相对应,具体方式不做限定。第二训练编码的形式可以与训练频谱特征相同,例如当训练频谱特征具有10000个数据时,第二训练编码同样可以具有10000个数据。
步骤13:计算训练频谱特征和第二训练编码之间的损失值,并根据损失值调整初始编码模型和初始还原模型,得到编码模型和还原模型。
通过计算训练频谱特征和第二训练编码之间的损失值,可以确定在特征压缩编码的过程和编码还原的过程中造成了多大的信息损失。基于该损失值可以对初始编码模型和初始还原模型进行参数调整。经过多次迭代训练,当损失值较小时,例如小于损失值阈值时,可以得到编码模型和还原模型。
步骤14:将编码模型确定为配器编码模型。
在训练完毕后,可以确定编码模型进行特征压缩编码时不会造成较大的信息损失,可以编码得到准确的配器编码,因此可以将其确定为配器编码模型,利用其生成第一配器编码和第二配器编码。
该配器编码模型的训练方式不需要构建具有正向数据和反向数据的训练集,提高了配器编码模型的生成速度。
在另一种实施方式中,配器编码模型的生成过程可以包括:
步骤21:获取多个不同流派的初始训练歌曲段,并对各个初始训练歌曲段进行分段处理,得到多个训练歌曲段。
需要说明的是,本实施例中的流派即为歌曲流派,不同的歌曲流派具有不同的曲风,不同曲风通常需要采用不同的配器情况进行表征,因此可以认为不同流派的初始训练歌曲段之间的配器编码不同。初始训练歌曲段为长度较短的歌曲片段,而不是较长的整首歌曲,因此在同一初始训练歌曲段内配器情况发生变化的概率很低。进一步在初始训练歌曲段内进行分段处理,将其分为多个训练歌曲段,则可以认为这多个训练歌曲段之间的配器情况相同。本实施例并不限定初始训练歌曲段和训练歌曲段的具体长度,例如可以分别为10秒和5秒,或者可以分别为15秒和3秒。
步骤22:获取同一流派中的任意两个训练歌曲段组成正向训练数据。
由于同一流派中的训练歌曲段均为初始训练歌曲段的一部分,因此可以认为其配器情况均相同,故而从中任意选择两个训练歌曲段,并为其设置正向标签,即可组成一组正向训练数据。
步骤23:获取任意两个不同流派分别对应的训练歌曲段组成反向训练数据。
相应的,可以从任意两个流派中分别取出一个训练歌曲段,并为其设置反向标签,得到反向训练数据。
步骤24:利用正向训练数据和反向训练数据构成训练集,并利用训练集对初始编码模型进行训练,得到配器编码模型。
在得到正向训练数据和反向训练数据后,可以利用其构成训练集。并利用训练集进行训练得到配器编码模型。
该配编码模型的训练方式可以得到准确有效的训练集,利用该训练集得到的配器编码模型具有较高的编码准确性。
进一步的,还可以利用正向训练数据和反向训练数据构成初始训练集,并利用已有的乐器识别模型等模型对初始训练集进行清洗,排除错误数据,得到训练集,以便进一步提高配器编码器的编码准确率。
请参考图5,图5为本申请实施例提供的一种配器编码器的训练流程示意图。在训练时,从训练集中获取一组训练数据,其中包括第一片段和第二片段,将其输入配器编码器(即配器编码模型),配器编码器提取对应的第一频谱特征和第二频谱特征,并利用其得到对应的第一编码和第二编码。在得到第一编码和第二编码后,将其输入分类器,判断二者是否相似。并根据分类结果,即是相同片段或是不同片段,对配器编码器进行调整,完成本次训练,通过多次迭代,完成对整个配器编码器的训练。
可以理解的是,除了上述的训练方式,还可以采用其他训练方式生成配器编码模型。在另一种实施方式中,训练集中的训练数据具有乐器标签,利用分类层和初始配器编码模型进行训练时,利用初始配器编码模型对训练数据进行编码,并将得到的训练编码输入分类层进行分类,并根据分类结果对初始配器编码模型进行参数调整,在训练完毕后得到对应的配器编码模型。在这种情况下,配器编码模型与分类器组合即为乐器识别模型。在另一种实施方式中,还可以基于MIDI(Musical Instrument Digital Interface,乐器数字接口)数据,针对各种乐器组合,利用合成器(Synthesizer)合成多个音乐片段,并利用音乐片段构建训练集,进而利用训练集对配器编码模型进行训练,训练集中的标签可以为具体的乐器组合,或者可以为乐器组合的编号等。在这种情况下,配器编码模型与分类器组合即为乐器组合识别模型。
基于上述实施例,在计算配器相似度之前,需要对相似度计算模型进行训练。相似度计算模型的生成过程可以包括:
步骤31:获取多个第一训练配器编码和多个第二训练配器编码。
第一训练配器编码对应于第一用户,第二训练配器编码对应于第二用户。本实施例中,第一用户和第二用户偏爱的歌曲配器不同,体现为第一用户和第二用户对应的历史歌曲配器编码不同。第一训练配器编码可以包括第一用户的部分或全部历史歌曲配器编码,相应的,第二训练配器编码可以包括第二用户的部分或全部历史歌曲配器编码,因此第一训练配器编码和第二训练配器编码不同。
步骤32:利用任意两个第一训练配器编码或任意两个第二训练配器编码组成正向相似度训练数据。
由于各个用户的听歌习惯通常固定不变,可以认为各个第一训练配器编码之间,以及各个第二训练配器编码之间均相似,因此可以选择任意两个第一训练配器编码组成一组正向相似度训练数据,或者选择任意两个第二训练配器编码组成一组正向相似度训练数据。
步骤33:利用任意一个第一训练配器编码和任意一个第二训练配器编码组成反向相似度训练数据。
由于第一用户和第二用户偏爱的歌曲配器不同,因此可以确定第一训练配器编码和第二训练配器编码不相似,因此可以利用任意一个第一训练配器编码,和任意一个第二训练配器编码组成一组反向相似度训练数据。
步骤34:利用正向相似度训练数据和反向相似度训练数据对初始计算模型进行训练,得到相似度计算模型。
在得到正向相似度训练数据和反响相似度训练数据后,利用其对初始计算模型进行训练,经过多次迭代训练后,即可得到相似度计算模型。基于第一训练配器编码和第二训练配器编码构建训练数据,并利用训练数据对初始计算模型进行训练得到相似度计算模型,可以使得相似度计算模型能够准确计算配器相似度。
进一步的,基于上述实施例,为了进一步提高推荐准确性。将历史歌曲输入配器编码模型,得到历史歌曲对应的第一配器编码的步骤可以包括:
步骤41:对历史歌曲进行分段处理,得到多个历史歌曲段。
在本实施例中,历史歌曲可以为整首音乐,或者可以为较长的歌曲段,例如时长大于预设时长的歌曲段。本实施例并不限定分段处理的具体方式,例如可以按照预设时间间隔进行切分。
步骤42:将各个历史歌曲段输入配器编码模型,得到对应的多个第一配器编码。
在本实施例中,历史歌曲可以为整首音乐,或者可以为较长的歌曲段。由于历史歌曲的长度较长,由于进行配器编码必然会造成信息损失,历史歌曲越长,信息损失的越多,得到的第一配器编码的准确性就越差。因此,为了保证推荐准确性,可以对历史歌曲进行分段,得到多个历史歌曲段,并得到各个历史歌曲段对应的第一配器特征。第一配器特征仅对较短的历史歌曲段进行配器编码,信息损失较少,因此可以得到准确地第一配器编码,以便在后续准确地判断是否推荐候选歌曲。
相应的,将第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度的步骤可以包括:
步骤43:将全部第一配器编码和多个第二配器编码输入相似度计算模型,得到各个第一配器编码和各个第二配器编码之间的配器子相似度;
在本实施例中,第一配器编码的数量为多个,候选歌曲的数量为多个,因此第二配器编码也为多个。将全部的第一配器编码和多个第二配器编码输入相似度计算模型后,相似度计算模型会计算各个第一配器编码和各个第二配器编码之间的配器子相似度。例如当第一配器特征为三个,分别为A1、A2、A3,第二配器特征为两个,分别为B1、B2时,则配器子相似度的数量为3*2=6个,分别为A1和B1、A2和B1、A3和B1、A1和B2、A2和B2、A3和B2之间的子相似度。
步骤44:利用各个第一配器编码与目标配器编码之间的配器子相似度进行平均运算,得到第一配器编码与目标配器编码之间的配器相似度。
需要说明的是,目标配器编码为多个第二配器编码中的任意一个,即任何一个第二配器编码均可以作为目标配器编码。在得到配器子相似度后,将各个第一配器编码与一个指定的第二配器编码(即目标配器编码)之间的配器子相似度进行平均运算,即可得到历史歌曲与该目标配器编码对应的候选歌曲之间的配器相似度。需要说明的是,本实施例中的平均运算并不是平均值计算,起到将各个配器子相似度的值平均化的效果即可,例如可以为加权平均运算。
具体的,在一种具体的实施方式中,用户可能对历史歌曲中的某些片段的配器更加偏爱,因此为了进一步提高推荐准确性,利用各个第一配器编码与目标配器编码之间的配器子相似度进行平均运算,得到第一配器编码与目标配器编码之间的配器相似度的过程可以包括:
步骤51:获取各个历史歌曲段对应的历史播放次数,利用历史播放次数和历史歌曲对应的总播放次数进行相除运算,得到各个历史歌曲段对应的权重值。
可以理解的是,若用户对历史歌曲中的某些片段的配器更加偏爱,则这些片段的播放次数必然大于其他片段的播放次数。在本实施例中,在对历史歌曲切分为多个历史歌曲段后,可以统计该历史歌曲段对应的历史播放次数,相应的,还可以获取历史歌曲对应的总播放次数,通过二者相除,可以确定各个历史歌曲段在历史歌曲播放次数中所占的比例,得到的权重值越大,说明用户越偏爱该权重值对应的历史歌曲段中的配器。
步骤52:利用权重值和配器子相似度进行加权平均运算,得到配器相似度。
在得到权重值后,将其作为各个配器子相似度的权重进行加权平均运算,得到对应的配器相似度。该方式得到的配器相似度更加准确,可以进行更加准确的歌曲推荐。
进一步,在一种实施方式中,为了降低各个历史歌曲段内配器情况发生变化的可能性,使得得到的第一配器特征更加准确,避免因配器情况发生变化造成第一配器特征的准确率下降的问题,可以基于歌词时间戳信息对历史歌曲进行分段处理。对历史歌曲进行分段处理,得到多个历史歌曲段的步骤可以包括:
步骤61:获取历史歌曲对应的歌词时间戳信息。
歌词时间戳信息用于记录歌词的开始和结束时间,具体可以为每一句歌词的开始和结束时间,或者可以为歌词中的每个字的开始和结束时间。歌词时间戳信息的具体内容不做限定,例如可以为LRC歌词,LRC是英文lyric(歌词)的缩写,被用做歌词文件的扩展名。
步骤62:基于歌词时间戳信息对历史歌曲进行分段处理,得到多个历史歌曲段。
当音乐具有歌词时,在一句歌词内对应部分配器情况基本不可能发生变化,因此基于歌词时间戳信息对历史歌曲进行分段处理,可以进一步降低历史歌曲段内配器情况发生变化的可能性,进一步保证了推荐准确性。具体的,可以按照每一句或每相邻两句歌词的开始和结束时间对历史歌曲进行切分,将切分得到的全部音乐段都作为历史歌曲段,或者可以将切分后歌词部分对应的音乐段确定为历史歌曲段,将不具有歌词的部分舍弃。
进一步,在另一种实施方式中,对历史歌曲进行分段处理,得到多个历史歌曲段的步骤可以包括:
按照预设长度对历史歌曲进行分段处理,得到多个历史歌曲段。
若音乐为无歌词的器乐,或者为不具有歌词时间戳信息的声乐,则可以按照预设长度对历史歌曲进行分段,得到多个历史歌曲段。预设长度为时间长度,其具体大小可以根据需要进行设置,既要保证时长足够,可以充分有效地反映配器编码,还要降低配器发生变化的可能性,例如可以设置为10秒,在一种实施方式中,可以基于音乐节奏确定预设长度的具体大小。基于预设长度对历史歌曲进行规律地分段处理,可以在没有歌词时间戳信息的前提下尽可能避免历史歌曲段内发生配器的变化,保证了推荐准确性。
再进一步的,在另一种实施方式中,对历史歌曲进行分段处理,得到多个历史歌曲段的步骤可以包括:
步骤71:利用乐器识别模型对历史歌曲进行分段乐器识别,得到多个乐器识别结果。
乐器识别模型可以识别音乐中所采用的乐器,在配器情况发生变化时,采用的乐器大概率会发生变化,例如有新增乐器或有乐器退出演奏。因此可以利用乐器识别模型对历史歌曲进行分段识别,需要说明的是,在进行乐器识别时的分段方式为规律的、细粒度的。因此在识别时,可以将历史歌曲划分为多个规律分段,并对各个规律分段进行乐器识别,得到对应的乐器识别结果。
步骤72:若相邻的两个乐器识别结果不相同,则将乐器识别结果变化位置确定为分段位置。
乐器识别结果变化位置即为两个相邻的规律分段的中间位置。将得到的乐器识别结果按照其对应的规律分段在历史歌曲中的时间顺序进行排序,并判断相邻的两个乐器识别结果是否相同,若相同,则可以确定乐器没有发生变化,即配器情况没有发生变化。若不相同,则可以确定乐器发生了变化,两个规律分段中的配器情况不同,而变化的时间点即为两个规律分段的衔接点,因此可以将乐器识别结果变化位置确定为分段位置以便在此进行分段,即将两个配器情况不同的规律分段之间的中间位置确定为分段位置,使两个规律分段分别属于两个不同的历史歌曲段。
步骤73:基于分段位置对历史歌曲进行分段,得到历史歌曲段。
在确定全部分段位置后基于其对历史歌曲进行分段,得到历史歌曲段。利用该方式同样可以在不依赖歌词时间戳信息的情况下对历史歌曲进行较为准确的分段。
下面对本申请实施例提供的音乐推荐装置进行介绍,下文描述的音乐推荐装置与上文描述的音乐推荐方法可相互对应参照。
请参考图6,图6为本申请实施例提供的一种歌曲推荐装置的一种结构示意图,包括:
获取模块110,用于获取历史歌曲,并将所述历史歌曲输入配器编码模型,得到所述历史歌曲对应的第一配器编码;
输入模块120,用于将所述第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,其中,每个所述第二配器编码各对应于一首候选歌曲;
推荐模块130,用于将所述配器相似度大于预设相似度的候选歌曲推荐给用户。
可选地,包括:
编码模块,用于获取训练频谱特征,并利用初始编码模型对所述训练频谱特征进行特征压缩编码,得到第一训练编码;
还原模块,用于利用初始还原模型对所述第一训练编码进行编码还原,得到第二训练编码;
损失值计算模块,用于计算所述训练频谱特征和所述第二训练编码之间的损失值,并根据所述损失值调整所述初始编码模型和所述初始还原模型,得到编码模型和还原模型;
确定模块,用于将所述编码模型确定为所述配器编码模型。
可选地,包括:
分段处理模块,用于获取多个不同流派的初始训练歌曲段,并对各个所述初始训练歌曲段进行分段处理,得到多个训练歌曲段;
第一训练数据构建模块,用于获取同一流派中的任意两个所述训练歌曲段组成正向训练数据;
第二训练数据构建模块,用于获取任意两个不同流派分别对应的所述训练歌曲段组成反向训练数据;
训练模块,用于利用所述正向训练数据和所述反向训练数据构成所述训练集,并利用所述训练集对初始编码模型进行训练,得到所述配器编码模型。
可选地,包括:
训练配器编码获取模块,用于获取多个第一训练配器编码和多个第二训练配器编码;所述第一训练配器编码对应于第一用户,所述第二训练配器编码对应于第二用户,所述第一用户和所述第二用户对应的历史歌曲配器编码不同;
第三训练数据构建模块,用于利用任意两个第一训练配器编码或任意两个第二训练配器编码组成正向相似度训练数据;
第四训练数据构建模块,用于利用任意一个第一训练配器编码和任意一个第二训练配器编码组成反向相似度训练数据;
相似度计算模型生成模块,用于利用所述正向相似度训练数据和所述反向相似度训练数据对初始计算模型进行训练,得到所述相似度计算模型。
可选地,获取模块110,包括:
分段单元,用于对所述历史歌曲进行分段处理,得到多个历史歌曲段;
编码单元,用于将各个所述历史歌曲段输入所述配器编码模型,得到对应的多个第一配器编码;
相应的,输入模块120,包括:
配器子相似度计算单元,用于将全部所述第一配器编码和多个所述第二配器编码输入所述相似度计算模型,得到各个所述第一配器编码和各个所述第二配器编码之间的配器子相似度;
平均运算单元,用于利用各个所述第一配器编码与目标配器编码之间的所述配器子相似度进行平均运算,得到所述第一配器编码与所述目标配器编码之间的所述配器相似度;所述目标配器编码为多个所述第二配器编码中的任意一个。
可选地,平均运算单元,包括:
权重获取单元,用于获取各个所述历史歌曲段对应的历史播放次数,利用所述历史播放次数和所述历史歌曲对应的总播放次数进行相除运算,得到各个所述历史歌曲段对应的权重值;
加权平均单元,用于利用所述权重值和所述配器子相似度进行加权平均运算,得到所述配器相似度。
可选地,分段单元,包括:
歌词时间戳信息获取子单元,用于获取所述历史歌曲对应的歌词时间戳信息;
第一分段子单元,用于基于所述歌词时间戳信息对所述历史歌曲进行分段处理,得到多个所述历史歌曲段。
可选地,分段单元,包括:
乐器识别子单元,用于利用乐器识别模型对所述历史歌曲进行分段乐器识别,得到多个乐器识别结果;
分段位置确定子单元,用于若相邻的两个乐器识别结果不相同,则将乐器识别结果变化位置确定为分段位置;
第二分段子单元,用于基于所述分段位置对所述历史歌曲进行分段,得到所述历史歌曲段。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的歌曲推荐方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的歌曲推荐方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种歌曲推荐方法,其特征在于,包括:
获取历史歌曲,并将所述历史歌曲输入配器编码模型,得到所述历史歌曲对应的第一配器编码;
将所述第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,其中,每个所述第二配器编码各对应于一首候选歌曲;
将所述配器相似度大于预设相似度的候选歌曲推荐给用户。
2.根据权利要求1所述的歌曲推荐方法,其特征在于,所述配器编码模型的生成过程,包括:
获取训练频谱特征,并利用初始编码模型对所述训练频谱特征进行特征压缩编码,得到第一训练编码;
利用初始还原模型对所述第一训练编码进行编码还原,得到第二训练编码;
计算所述训练频谱特征和所述第二训练编码之间的损失值,并根据所述损失值调整所述初始编码模型和所述初始还原模型,得到编码模型和还原模型;
将所述编码模型确定为所述配器编码模型。
3.根据权利要求1所述的歌曲推荐方法,其特征在于,所述配器编码模型的生成过程,包括:
获取多个不同流派的初始训练歌曲段,并对各个所述初始训练歌曲段进行分段处理,得到多个训练歌曲段;
获取同一流派中的任意两个所述训练歌曲段组成正向训练数据;
获取任意两个不同流派分别对应的所述训练歌曲段组成反向训练数据;
利用所述正向训练数据和所述反向训练数据构成所述训练集,并利用所述训练集对初始编码模型进行训练,得到所述配器编码模型。
4.根据权利要求1所述的歌曲推荐方法,其特征在于,所述相似度计算模型的生成过程,包括:
获取多个第一训练配器编码和多个第二训练配器编码;所述第一训练配器编码对应于第一用户,所述第二训练配器编码对应于第二用户,所述第一用户和所述第二用户对应的历史歌曲配器编码不同;
利用任意两个第一训练配器编码和任意两个第二训练配器编码组成正向相似度训练数据;
利用任意一个第一训练配器编码和任意一个第二训练配器编码组成反向相似度训练数据;
利用所述正向相似度训练数据和所述反向相似度训练数据对初始计算模型进行训练,得到所述相似度计算模型。
5.根据权利要求1所述的歌曲推荐方法,其特征在于,所述将所述历史歌曲输入配器编码模型,得到所述历史歌曲对应的第一配器编码,包括:
对所述历史歌曲进行分段处理,得到多个历史歌曲段;
将各个所述历史歌曲段输入所述配器编码模型,得到对应的多个第一配器编码;
相应的,所述将所述第一配器编码和候选歌曲库中的多个第二配器编码输入相似度计算模型,得到配器相似度,包括:
将全部所述第一配器编码和多个所述第二配器编码输入所述相似度计算模型,得到各个所述第一配器编码和各个所述第二配器编码之间的配器子相似度;
利用各个所述第一配器编码与目标配器编码之间的所述配器子相似度进行平均运算,得到所述第一配器编码与所述目标配器编码之间的所述配器相似度;所述目标配器编码为多个所述第二配器编码中的任意一个。
6.根据权利要求5所述的歌曲推荐方法,其特征在于,所述利用各个所述第一配器编码与目标配器编码之间的所述配器子相似度进行平均运算,得到所述第一配器编码与所述目标配器编码之间的所述配器相似度,包括:
获取各个所述历史歌曲段对应的历史播放次数,利用所述历史播放次数和所述历史歌曲对应的总播放次数进行相除运算,得到各个所述历史歌曲段对应的权重值;
利用所述权重值和所述配器子相似度进行加权平均运算,得到所述配器相似度。
7.根据权利要求5所述的歌曲推荐方法,其特征在于,所述对所述历史歌曲进行分段处理,得到多个历史歌曲段,包括:
获取所述历史歌曲对应的歌词时间戳信息;
基于所述歌词时间戳信息对所述历史歌曲进行分段处理,得到多个所述历史歌曲段。
8.根据权利要求5所述的歌曲推荐方法,其特征在于,所述对所述历史歌曲进行分段处理,得到多个历史歌曲段,包括:
利用乐器识别模型对所述历史歌曲进行分段乐器识别,得到多个乐器识别结果;
若相邻的两个乐器识别结果不相同,则将乐器识别结果变化位置确定为分段位置;
基于所述分段位置对所述历史歌曲进行分段,得到所述历史歌曲段。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至8任一项所述的歌曲推荐方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的歌曲推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011539915.1A CN112667845A (zh) | 2020-12-23 | 2020-12-23 | 一种歌曲推荐方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011539915.1A CN112667845A (zh) | 2020-12-23 | 2020-12-23 | 一种歌曲推荐方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112667845A true CN112667845A (zh) | 2021-04-16 |
Family
ID=75408789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011539915.1A Pending CN112667845A (zh) | 2020-12-23 | 2020-12-23 | 一种歌曲推荐方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667845A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255840A (zh) * | 2016-12-28 | 2018-07-06 | 北京酷我科技有限公司 | 一种歌曲的推荐方法和系统 |
KR20190140780A (ko) * | 2018-06-12 | 2019-12-20 | 광운대학교 산학협력단 | 음악 장르 분류 장치 및 방법 |
CN110675893A (zh) * | 2019-09-19 | 2020-01-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲识别方法、装置、存储介质及电子设备 |
-
2020
- 2020-12-23 CN CN202011539915.1A patent/CN112667845A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255840A (zh) * | 2016-12-28 | 2018-07-06 | 北京酷我科技有限公司 | 一种歌曲的推荐方法和系统 |
KR20190140780A (ko) * | 2018-06-12 | 2019-12-20 | 광운대학교 산학협력단 | 음악 장르 분류 장치 및 방법 |
CN110675893A (zh) * | 2019-09-19 | 2020-01-10 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种歌曲识别方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657934B1 (en) | Enhancements for musical composition applications | |
CN104395953A (zh) | 来自音乐音频信号的拍子、和弦和强拍的评估 | |
CN109920449B (zh) | 节拍分析方法、音频处理方法及装置、设备、介质 | |
CN101452696B (zh) | 信号处理装置、信号处理方法和程序 | |
EP2816550A1 (en) | Audio signal analysis | |
Gulati et al. | Automatic tonic identification in Indian art music: approaches and evaluation | |
CN108268530B (zh) | 一种歌词的配乐生成方法和相关装置 | |
WO2015114216A2 (en) | Audio signal analysis | |
CN109741724B (zh) | 制作歌曲的方法、装置及智能音响 | |
CN106997769B (zh) | 颤音识别方法及装置 | |
CN109190879B (zh) | 一种训练改编水平评价模型、评价改编水平的方法及装置 | |
WO2023207472A1 (zh) | 一种音频合成方法、电子设备及可读存储介质 | |
WO2016102738A1 (en) | Similarity determination and selection of music | |
CN112669811A (zh) | 一种歌曲处理方法、装置、电子设备及可读存储介质 | |
CN106775567B (zh) | 一种音效匹配方法及系统 | |
Foster et al. | Sequential complexity as a descriptor for musical similarity | |
CN111863030A (zh) | 音频检测方法及装置 | |
KR101807754B1 (ko) | 자작곡 생성 서버 및 그 방법 | |
CN112667845A (zh) | 一种歌曲推荐方法、装置、电子设备及可读存储介质 | |
CN115375806A (zh) | 舞蹈动作预测模型训练方法、舞蹈合成方法、设备和产品 | |
CN114817582A (zh) | 资源信息的推送方法和电子装置 | |
CN114038481A (zh) | 一种歌词时间戳生成方法、装置、设备及介质 | |
CN114969427A (zh) | 歌单生成方法、装置、电子设备及存储介质 | |
CN113032616A (zh) | 音频推荐的方法、装置、计算机设备和存储介质 | |
CN110111813B (zh) | 节奏检测的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |