CN114238684A - 一种资源搜索方法及电子设备 - Google Patents
一种资源搜索方法及电子设备 Download PDFInfo
- Publication number
- CN114238684A CN114238684A CN202111536169.5A CN202111536169A CN114238684A CN 114238684 A CN114238684 A CN 114238684A CN 202111536169 A CN202111536169 A CN 202111536169A CN 114238684 A CN114238684 A CN 114238684A
- Authority
- CN
- China
- Prior art keywords
- rhythm
- resource
- tree
- information
- node
- 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 76
- 230000033764 rhythmic process Effects 0.000 claims abstract description 638
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 abstract description 5
- HAORKNGNJCEJBX-UHFFFAOYSA-N cyprodinil Chemical compound N=1C(C)=CC(C2CC2)=NC=1NC1=CC=CC=C1 HAORKNGNJCEJBX-UHFFFAOYSA-N 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 241001342895 Chorus Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/63—Querying
- G06F16/632—Query formulation
- G06F16/634—Query by example, e.g. query by humming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/68—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/683—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种资源搜索方法及电子设备,涉及计算机处理技术领域,以解决现有资源搜索方法在一些场景下不能良好满足用户需求的问题。该方法由终端执行,包括:获取第一节奏信息,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;获取与所述第一节奏信息匹配的目标资源。这样,通过获取用户输入的节奏信息或者主动提取当前播放资源中的节奏信息,来搜索与当前节奏信息匹配的目标资源,从而使得资源搜索功能更为丰富和便捷,且能够很好地满足用户在想要搜索一首不记得歌曲名称、不便于进行文字搜索或哼唱意愿较低等场景下的资源搜索需求。
Description
技术领域
本申请涉及计算机处理技术领域,尤其涉及一种资源搜索方法及电子设备。
背景技术
随着电子设备的流行及音视频等资源的获取便捷性,用户经常使用电子设备播放音乐、MV或歌唱类节目等。以歌曲搜索为例,目前,用户可使用的歌曲搜索方法通常包括文字搜歌、听歌识曲和哼唱识曲。然而,对于用户想要搜索一首不记得歌曲名称、处于不便于进行文字搜索或哼唱意愿较低的场景时,现有方法将不能满足用户的搜歌需求。
发明内容
本申请实施例提供一种资源搜索方法及电子设备,以解决现有资源搜索方法在一些场景下不能良好满足用户需求的问题。
第一方面,本申请实施例提供了一种资源搜索方法,由终端执行,所述方法包括:
获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
获取与所述第一节奏信息匹配的目标资源。
可选地,所述获取第一节奏信息,包括:
接收用户的点击输入;
获取所述点击输入的点击参数,其中,所述点击参数包括每次点击的持续时间和相邻两次点击的间隔时间;
将所述点击参数转换为所述第一节奏信息,其中,所述每次点击的持续时间对应所述词持续时间,所述相邻两次点击的间隔时间对应所述相邻词之间的停顿时间。
可选地,所述将所述点击参数转换为所述第一节奏信息,包括:
按照点击顺序将所述点击参数转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
可选地,所述获取与所述第一节奏信息匹配的目标资源,包括:
向网络设备发送所述第一节奏信息,以使所述网络设备搜索与所述第一节奏信息匹配的所述目标资源;
接收所述网络设备发送的所述目标资源。
第二方面,本申请实施例还提供一种资源搜索方法,由网络设备执行,所述方法包括:
接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
搜索与所述第一节奏信息匹配的目标资源;
向所述终端发送所述目标资源。
可选地,所述搜索与所述第一节奏信息匹配的目标资源,包括:
将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,将所述目标节奏子树对应的资源作为所述目标资源;
其中,所述节奏字典树包括资源库中各资源对应的节奏子树,所述各资源对应的节奏子树是通过提取所述各资源的第二节奏信息,并基于所述各资源的第二节奏信息和标识信息生成节奏链得到的,所述各资源的第二节奏信息包括所述各资源的目标部分的词持续时间和相邻词之间的停顿时间。
可选地,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,包括:
将所述第一节奏信息中的各数据与所述节奏字典树中各资源对应的节奏子树中的各数据进行匹配;
在所述第一节奏信息与第一节奏子树匹配的数据串长度大于或等于预设匹配值的情况下,确定所述第一节奏子树为所述目标节奏子树,所述第一节奏子树为所述节奏字典树中的任一节奏子树。
可选地,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配,包括:
将所述第一节奏信息与所述节奏字典树按如下规则进行匹配:
从所述节奏字典树中每个节奏子树的根节点开始,将所述第一节奏信息中的各个数据分别与所述节奏字典树中各节奏子树中的各个节点进行匹配,所述各节奏子树均包括多个节点;
若所述第一节奏信息中的第一个数据与所述节奏字典树中的第k个节奏子树的第i个节点匹配成功,则将所述第k个节奏子树的第i个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第i个节点之后的各节点分别进行匹配;k和i均为正整数;
若所述第一节奏信息中的第一个数据与所述第k个节奏子树的第i个节点匹配不成功,则将所述第一个数据分别与所述第k个节奏子树中于所述第i个节点之后的各节点进行匹配,直至所述第一个数据与所述第k个节奏子树的第j个节点匹配,将所述第k个节奏子树中的第j个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第j个节点之后的各节点分别进行匹配,j为大于i的整数;
若所述第一节奏信息中的第h个数据与所述第k个节奏子树的第g个节点匹配成功,则将所述第k个节奏子树的第g个节点在所述节奏字典树中的层数记录为匹配到达层数,h为大于1的整数,g为大于i或大于j的整数;
根据所述匹配到达层数与所述匹配开始层数,判断当前匹配成功的层数是否达到预设的最小匹配层数;若是,则确定所述第k个节奏子树对应的资源为所述目标资源,否则将所述第一节奏信息中于所述第h个数据之后的各数据与所述第k个节奏子树中于所述第g个节点之后的各节点分别进行匹配;
若所述第一节奏信息中的第p个数据与所述节奏字典树中的第q个节奏子树中的任一节点都匹配不成功,则确定所述第q个节奏子树对应的资源非所述目标资源,p和q均为正整数。
可选地,所述节奏字典树中的各节奏子树包括根节点、中间节点和叶子节点,所述根节点对应资源的目标部分的起始节奏,所述中间节点对应资源的目标部分的除所述起始节奏外的节奏,所述叶子节点对应资源的标识信息。
可选地,所述接收终端发送的第一节奏信息之后,所述搜索与所述第一节奏信息匹配的目标资源之前,所述方法还包括:
将所述第一节奏信息转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
第三方面,本申请实施例还提供一种电子设备,包括:收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的资源搜索方法中的步骤;或者实现如第二方面所述的资源搜索方法中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的资源搜索方法中的步骤;或者实现如第二方面所述的资源搜索方法中的步骤。
在本申请实施例中,资源搜索方法由终端执行,该方法包括:获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;获取与所述第一节奏信息匹配的目标资源。或者,资源搜索方法由网络设备执行,该方法包括:接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;搜索与所述第一节奏信息匹配的目标资源;向所述终端发送所述目标资源。这样,可以通过获取用户输入的节奏信息或者主动提取当前播放资源中的节奏信息,来搜索与当前节奏信息匹配的目标资源,从而使得资源搜索功能更为丰富和便捷,且能够很好地满足用户在想要搜索一首不记得歌曲名称、处于不便于进行文字搜索或哼唱意愿较低等场景下的资源搜索需求。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的终端侧的资源搜索方法的流程图;
图2是本申请实施例提供的网络设备侧的资源搜索方法的流程图;
图3a是本申请实施例提供的在终端侧输入节奏信息时的操作界面示意图之一;
图3b是本申请实施例提供的在终端侧输入节奏信息时的操作界面示意图之二;
图4是本申请实施例提供的资源搜索方法中用户、终端与云端的交互示意图;
图5是本申请实施例提供的节奏字典树的示意图;
图6是本申请实施例提供的资源搜索装置的结构图之一;
图7是本申请实施例提供的资源搜索装置的结构图之二;
图8是本申请实施例提供的电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1是本申请实施例提供的资源搜索方法的流程图,由终端执行,如图1所示,该方法包括以下步骤:
步骤101、获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间。
本申请实施例可应用于根据资源节奏信息搜索资源的场景,所述资源可以是音乐歌曲、伴奏、诗词表演、主持演讲等资源,且可以是音频类型的资源或视频类型的资源,如音乐MV、诗词表演视频等。
上述第一节奏信息可以是对应某资源的节奏信息,或者是对应某资源中的某一段的节奏信息,例如,可以是一首歌曲中某段落的音乐节奏,一首诗词的朗诵节奏等。
本申请实施例中,上述第一节奏信息的获取方式有两种,第一种方式可以是基于用户的输入,来获得表示用户期望识别搜索的资源的节奏信息,即可以由用户在终端设备上执行特定输入,使用输入参数来表示期望搜索的资源的节奏信息;这种方式适用于用户主动搜索资源的场景。第二种方式可以是从所述终端当前播放资源中提取该资源的节奏信息,例如,可以从终端当前播放的某首歌曲中,提取一段节奏信息,如提取副歌部分的节奏信息,也可以是基于用户的触发操作,如触发相似歌曲搜索的操作,开始提取当前播放资源的节奏信息;这种方式适用于自动推荐相似资源或基于用户需求搜索相似资源的场景。
所获取的所述第一节奏信息可以包括词持续时间和相邻词之间的停顿时间,具体地,一段资源节奏可以包括一段资源中每个词的持续时间,以及每相邻两个词之间的停顿时间,通过使用词持续时间和词之间的停顿时间,能够较准确地表示出资源的节奏信息。以音乐节奏为例,一段音乐的节奏信息可以包括一段音乐中每个音节(或歌词)的持续时间,和音节之间(或歌词之间)的停顿时间。
可选地,所述步骤101包括:
接收用户的点击输入;
获取所述点击输入的点击参数,其中,所述点击参数包括每次点击的持续时间和相邻两次点击的间隔时间;
将所述点击参数转换为所述第一节奏信息,其中,所述每次点击的持续时间对应所述词持续时间,所述相邻两次点击的间隔时间对应所述相邻词之间的停顿时间。
具体地,一种实施方式中,可以由用户在终端上通过点击操作来输入期望搜索的资源的节奏信息。
该实施方式中,用户在终端侧执行点击输入时,所述终端可以接收到用户的点击输入,其中该点击输入可以是在节奏输入界面下进行的特定输入。
例如,如图3a和图3b所示,终端上的某音乐播放APP可提供用于节奏输入的操作界面30,用户可在操作界面30上通过长按、短按等点击行为描述某歌曲片段。一种实施方式中,操作界面30上可显示交互动画,以让用户清晰区分当前是否处于手指点击状态,如图3a中的图标样式31示意用户手指抬起未按下(即未进行点击)的状态,图3b中的图标样式32示意用户手指按下(即进行点击)的状态。
所述终端还可以获取所述点击输入的点击参数,例如,可通过提供此操作界面的APP来搜集用户的点击信息,具体地,可以获取每次点击的持续时间,也即用户每次按压屏幕的时长,以及获取前后两次点击输入(即相邻两次点击)之间的间隔时间,具体可以是指上一次点击中用户手指抬离屏幕至当前点击中用户手指按下的间隔时长。也就是说,用户可以在终端屏幕上点击出资源的节奏信息,并可通过控制每次点击的时长和两次点击中间的停顿时长,来准确描述出资源的节奏。
其中,需说明的是,为了保证用户输入的节奏信息具备一定长度以保证识别成功率,可以要求所述点击输入的点击次数至少达到预设阈值,例如,可设定至少达到4次、5次或10次等,只有点击次数达到预设阈值时,才对收集的点击信息进行下一步处理。
所述终端还可将收集的点击参数转换为节奏信息,具体地,可将每次点击的持续时间转换为每个词的持续时间,将相邻两次点击的间隔时间转换为相邻两词之间的停顿时间,其中,对于歌曲的节奏信息,词持续时间可以是指一个音节或一个歌词的持续时间,相邻两词之间的停顿时间可以是指相邻两音节或相邻两歌词之间的停顿时间。
这样,可由用户通过节奏点击,来描述期望搜索的资源,终端则可基于用户输入的节奏信息,去识别和搜索对应的资源,进而实现节奏搜索资源,如节奏搜歌或节奏识曲的功能,给用户提供一种新的资源搜索选择。
可选地,所述将所述点击参数转换为所述第一节奏信息,包括:
按照点击顺序将所述点击参数转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
一种实施方式中,资源的节奏信息可以使用有序数据串来表示,且可以由终端将收集的点击参数按照点击顺序转换为对应的有序数据串,以表示用户输入的节奏信息。
以歌曲节奏为例,可将歌曲节奏信息使用一个有序数字串表达。例如,按照用户点击顺序,获取到用户的点击参数依次为首次点击3s,间隔0.5s后,第二次点击2s,无间隔第三次点击5.1s,……,这样,可按点击顺序,将该节奏信息使用有序数字串3|0.5|2|0|5.1|…,表示用户输入的歌曲节奏为第一个音节持续3s,停顿0.5s,第二个音节持续2s,停顿0s,第三个音节持续5.1s,……。
这样,可使用有序数据串将节奏信息进行简单的表达,不仅便于信息的传输,且有利于后续对节奏的分析和匹配。
步骤102、获取与所述第一节奏信息匹配的目标资源。
上述获取与所述第一节奏信息匹配的目标资源,可以是从本地资源库中搜索与所述第一节奏信息匹配的目标资源,也可以是从云端资源库中搜索与所述第一节奏信息匹配的目标资源,具体地,可以根据搜索的资源库中各资源的节奏信息,和所述第一节奏信息,通过节奏信息匹配的方式,确定匹配成功的所述目标资源,即可以对搜索的资源库中的各资源进行节奏信息的提取和存储,以便用于与待识别的第一节奏信息进行匹配。
可选地,所述步骤102包括:
向网络设备发送所述第一节奏信息,以使所述网络设备搜索与所述第一节奏信息匹配的所述目标资源;
接收所述网络设备发送的所述目标资源。
即一种实施方式中,可以由云端也即网络侧来对终端收集的节奏信息进行资源匹配,以找到用户期望搜索的目标资源。即所述网络设备可以是云端服务器,且具体可以是支持所述终端进行资源搜索的APP对应的云端服务器。
该实施方式中,所述终端可以将获取的所述第一节奏信息发送至云端,由所述云端基于所述第一节奏信息,从资源库如从某APP的云端曲库中搜索与所述第一节奏信息匹配的目标资源,所述匹配可以是包括所述第一节奏信息或与所述第一节奏信息类似,如某资源中存在一段节奏与所述第一节奏信息的相似度大于80%、90%或其他预设百分比,则认为该资源是匹配的目标资源。
所述云端在搜索到与所述第一节奏信息匹配的目标资源的情况下,可以将所述目标资源返回至所述终端,以便所述终端显示搜索结果即向用户显示或推荐所述目标资源;而当所述云端在未搜索到与所述第一节奏信息匹配的资源的情况下,可以向所述终端返回无匹配资源或未搜索到匹配资源的通知消息,所述终端则可输出相应提示消息,以告知用户当前未搜索到或不存在相关资源相关。
这样,可通过云端的交互,让云端基于终端采集的节奏信息,来搜索相匹配的目标资源并推荐,可保证资源搜索效率和准确率,并节省终端系统资源。
示例性地,如图4所示,一种应用场景下,可以由用户41、终端42和云端43三者的交互来实现基于节奏的资源搜索功能。
以节奏识曲场景为例,首先,用户41可在终端42上运行的音乐APP界面上通过长按、短按等点击输入描述歌曲片段;其次,终端42上运行的音乐APP可以收集用户的点击信息,当收集信息达到约定阈值,如点击次数达到一定次数,点击时长达到一定时长,或对应的时间节点数达到一定数量时,将收集的点击信息对应的歌曲节奏信息发送给云端43,其中需收集的信息有:每次点击的持续时间以及两次点击之间的间隔时间。
具体地,终端42在收集点击信息时,可以获取用户每次点击的持续时间,该持续时间对应歌曲某一个音节的持续时间,最多保留一位小数;另外,还可获取用户两次点击之间的间隔时间,该间隔时间对应歌曲音节之间的停顿时间,同样最多保留一位小数;
收集完成后,终端42可将歌曲节奏信息使用一个有序数字串表达,如将用户输入的歌曲节奏信息表示为3|0.5|2|0.7|5.5|…,代表用户输入的歌曲节奏中第一个音节持续3s,停顿0.5s,第二个音节持续2秒,停顿0.7s,第三个音节持续5.5s,……。
云端43可将收到的歌曲节奏信息,去匹配曲库中的歌曲,找到一首或几首节奏信息相同或相似的歌曲返回给终端42上的音乐APP。
本申请实施例提供了一种基于节奏的资源搜索方法,能够丰富资源搜索的使用场景,降低使用门槛,并提高用户使用意愿,让用户更便捷地表达心中所想,找到所需求的资源。
本申请实施例的资源搜索方法,由终端执行,该方法包括:获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;获取与所述第一节奏信息匹配的目标资源。这样,可以通过获取用户输入的节奏信息或者主动提取当前播放资源中的节奏信息,来搜索与当前节奏信息匹配的目标资源,从而使得资源搜索功能更为丰富和便捷,且能够很好地满足用户在想要搜索一首不记得歌曲名称、处于不便于进行文字搜索或哼唱意愿较低等场景下的资源搜索需求。
参见图2,图2是本申请实施例提供的另一资源搜索方法的流程图,由网络设备执行,如图2所示,该方法包括以下步骤:
步骤201、接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间。
步骤202、搜索与所述第一节奏信息匹配的目标资源。
步骤203、向所述终端发送所述目标资源。
本申请实施例中,网络设备即云端可以接收终端发送的第一节奏信息,并基于所述第一节奏信息,搜索与其匹配的目标资源,并向所述终端返回搜索到的所述目标资源。
关于该实施例的具体方式可以参见图1所示方法实施例中的相关介绍,为避免重复,此处不再赘述。
可选地,所述步骤202包括:
将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,将所述目标节奏子树对应的资源作为所述目标资源;
其中,所述节奏字典树包括资源库中各资源对应的节奏子树。
一种实施方式中,为了更好地进行资源匹配,所述云端可以对其资源库中的各资源分别创建节奏子树,并将所有节奏子树合并后得到节奏字典树,即所述节奏字典树可以是所述资源库中各资源对应的节奏子树的合集。
其中,各资源对应的节奏子树,可以基于各资源对应的节奏信息来生成,各资源对应的节奏信息同样可以采用与所述第一节奏信息类似的形式表示,即各资源对应的节奏信息也可以包括词持续时间和相邻词之间的停顿时间。具体地,可以将各资源对应的节奏信息中的每个持续时间作为一个节点,将每个停顿时间也作为一个节点,并按照节奏的先后顺序,将各个节点有序地串联起来,得到对应的节奏子树。
这样,资源匹配过程可以是,将所述第一节奏信息与预先创建的所述节奏字典树进行匹配,具体可以是将所述第一节奏信息中的时间点信息与所述节奏字典树中的时间点信息按序进行匹配,找出所述节奏字典树中与所述第一节奏信息的连续多个时间点信息匹配成功的目标节奏子树,最终可确定所述目标节奏子树对应的资源为搜索到的目标资源,其中,每个节奏子树可以有对应的资源标识,以通过资源标识来快速找到对应的具体资源。
这样,通过预先创建节奏字典树,可便于搜索资源过程中的快速匹配,以及保证匹配准确率。
可选地,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配之前,所述方法还包括:
提取所述资源库中各资源的第二节奏信息,其中,所述各资源的第二节奏信息包括所述各资源的目标部分的词持续时间和相邻词之间的停顿时间;
基于所述各资源的第二节奏信息和所述各资源的标识信息,确定所述各资源的节奏链表;
基于所述各资源的节奏链表,创建所述节奏字典树。
一种具体的节奏字典树创建方式中,所述云端可以对其资源库中的各资源分别提取节奏信息,且为了减少计算量和降低匹配复杂度,可以仅提取各资源中目标部分的节奏信息,例如,对于曲库中的各首歌曲,可以仅提取歌曲的前奏部分和/或副歌部分的节奏信息,也即所述目标部分可以包括前奏部分和副歌部分中的至少一种。并且所提取的各资源的第二节奏信息也包括各资源的目标部分的词持续时间和相邻词之间的停顿时间,即可以采用与所述第一节奏信息类似的方式来表示。
以提取歌曲节奏信息为例,可通过以下两种方法将曲库中歌曲提取出节奏信息:
方式一:通过歌曲的逐字歌词信息(包括歌曲中每个词的时间信息),提取出每一个歌词的持续时间(即音节持续时间)以及歌词之间的停顿时间(即音节之间的停顿时间);
方式二:将歌曲的音频信号通过分帧(framing)、加窗(windowing)和傅里叶变换后得到频谱图,最后通过音频指纹(Audio Fingerprinting)技术可提取出需要的节奏信息。
其中,需说明的是,由于傅里叶变换要求输入的信号是平稳的,但语音信号具有宏观不平稳而微观平稳的短时平稳性,因此需要把语音信号分为一些短段来处理,称为分帧;加窗即与一个窗函数相乘,使全局更加连续避免出现吉布斯效应;通过对这两步后的一帧语音信号做傅里叶变换的结果就是频谱。
在获得所述资源库中各资源的第二节奏信息后,可以基于所述各资源的第二节奏信息和标识信息,生成所述各资源的节奏链表,其中,所述标识信息可以包括资源的名称、标题、ID等,还可以包括其他附属信息等,例如,对于一首歌曲资源,其标识信息可以至少包括歌曲名称,还可以包括其他附属信息如歌手、专辑名称、年份、曲风等。所述各资源的节奏链表可以是由各资源的目标部分的节奏时间链和标识信息链接而成,如包括词持续时间节点、相邻词之间的停顿时间节点和标识节点。
最后,可以集合所述各资源的节奏链表,将所述各资源的节奏链表以字典树的形式表达出来,具体可按序将各资源的共同节点合并,不同节点以树的分支形式展开,从而创建出包括所述各资源的节奏子树的节奏字典树。
其中,对于歌曲资源,所述节奏字典树可以包括前奏字典树和副歌字典树两部分,以便支持用户通过输入前奏部分的节奏或副歌部分的节奏来搜索歌曲。
示例性地,所述云端可以提前处理曲库中歌曲,截取歌曲的前奏和副歌部分的节奏信息,并可使用链表表达,并在链表最后记录歌曲的ID,例如,某首歌曲的节奏信息可以表示为链表:1.5->0.5->5.5->1.0->歌曲ID;接着,将曲库中所有歌曲的前奏和副歌部分的节奏信息分别插入,即可构建对应的前奏字典树(r_prelude_trie)和副歌字典树(r_chorus_trie)。图5示意了一种节奏字典树的形态,其中,Root表示根节点。需说明的是,所述云端可以将创建的节奏字典树以序列化格式存储起来,在重启所述云端时,可以直接将存储的序列化文件反序列化出树,即转换成节奏字典树。
其中,前奏可以为歌曲前N秒,N可以自由设定;副歌可以为歌曲副歌开始位置后的M秒,M也可以自由设定,歌曲副歌开始位置可由人工打标签存储在歌曲信息中。
这样,通过该实施方式中,可以创建得到能够清晰表示云端资源库中各资源的节奏信息的节奏字典树,有利于后续基于获取的节奏信息在所述节奏字典树中查找匹配的资源。
可选地,所述节奏字典树中的各节奏子树包括根节点、中间节点和叶子节点,所述根节点对应资源的目标部分的起始节奏,所述中间节点对应资源的目标部分的除所述起始节奏外的节奏,所述叶子节点对应资源的标识信息。
即一种实施方式中,所创建的节奏字典树可以为包括根节点、中间节点和叶子节点的形式,其中,所述节奏字典树中的根节点表示资源的目标部分的起始节奏即第一个节奏,也即第一个时间节点,可以是所述资源的目标部分的第一个词的持续时间;所述节奏字典树中的叶子节点表示资源的标识信息,如为资源ID;所述节奏字典树中的中间节点则可以是指介于根节点与叶子节点之间的节点,表示资源的目标部分的位于起始节奏之后的节奏,如第二个节奏、第三个节奏至最后一个节奏都是中间节点,可以包括所述资源的目标部分的第一个词与第二个词之间的停顿时间、第二个词的持续时间、第二个词与第三个词之间的停顿时间、第三个词的持续时间、……最后一个词的持续时间。
通过这样结构的节奏字典树,可便于按照节奏先后顺序进行匹配,并可在匹配成功后,依照节奏链找到对应的资源标识。
可选地,所述步骤201之后,所述步骤202之前,所述方法还包括:
将所述第一节奏信息转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
即一种实施方式中,资源的节奏信息可以使用有序数据串来表示,且可以由云端将终端发送来的节奏信息按序转换为有序数据串,即所述终端可以无需对收集的点击信息进行转换处理,而转由云端进行处理。
类似地,以歌曲节奏为例,可将歌曲节奏信息使用一个有序数字串表达。例如,按照所述第一节奏信息中包括的各词持续时间和相邻词之间的停顿时间,将这些时间点信息使用有序数字串进行表达,例如,某歌曲的节奏信息为第一个音节持续3s,停顿0.5s,第二个音节持续2s,停顿0s,第三个音节持续5.1s,……,这样,通过转换为有序数字串,可得到3|0.5|2|0|5.1|…。
这样,通过使用有序数据串可将节奏信息进行简单清晰的表达,有利于后续对资源节奏进行匹配。
可选地,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,包括:
将所述第一节奏信息中的各数据与所述节奏字典树中各资源对应的节奏子树中的各数据进行匹配;
在所述第一节奏信息与第一节奏子树匹配的数据串长度大于或等于预设匹配值的情况下,确定所述第一节奏子树为所述目标节奏子树,所述第一节奏子树为所述节奏字典树中的任一节奏子树。
在将所述第一节奏信息与预先创建的所述节奏字典树进行匹配时,具体可以是将所述第一节奏信息中的各数据(即各时间点信息)与所述节奏字典树中各资源对应的节奏子树中的各数据(也可以是时间点信息)进行匹配,并且需要连续匹配,即只有在所述第一节奏信息中连续多个数据与某个节奏子树中的连续多个数据匹配的情况下,才能认定为两者相匹配。
一种实施方式中,可以将所述第一节奏信息中包括的时间点信息(即词持续时间和相邻词之间的停顿时间)以时间数据的形式转换成节奏链表的形式表示,同样地,所述节奏字典树中各资源对应的节奏子树也可以以节奏链表的形式表示,这样,在匹配时,可以将所述第一节奏信息对应的节奏链表分别与所述节奏字典树中各资源对应的节奏链表进行依序匹配。
在匹配至所述第一节奏信息与第一节奏子树匹配的数据串长度大于或等于预设匹配值b,即存在至少连续b个数据匹配的情况下,可以确定所述第一节奏子树为匹配成功的目标节奏子树,所述第一节奏子树可以是所述节奏字典树中的任一节奏子树,且所述节奏字典树中可以存在一个或多个匹配成功的目标节奏子树。其中,相匹配可以是指两个数据一致或误差在允许范围内;所述预设匹配值b可以是预设的用于保证匹配精度的值,具体可根据精度需求进行设定,b值越大,表示匹配精度要求越高,反之要求越低。
这样,在匹配中通过遍历所述节奏字典树中的每个节奏子树,并通过设定匹配要求,可以较好地保证匹配成功率和匹配精度。
可选地,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配,包括:
将所述第一节奏信息与所述节奏字典树按如下规则进行匹配:
从所述节奏字典树中每个节奏子树的根节点开始,将所述第一节奏信息中的各个数据分别与所述节奏字典树中各节奏子树中的各个节点进行匹配,所述各节奏子树均包括多个节点;
若所述第一节奏信息中的第一个数据与所述节奏字典树中的第k个节奏子树的第i个节点匹配成功,则将所述第k个节奏子树的第i个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第i个节点之后的各节点分别进行匹配;k和i均为正整数;
若所述第一节奏信息中的第一个数据与所述第k个节奏子树的第i个节点匹配不成功,则将所述第一个数据分别与所述第k个节奏子树中于所述第i个节点之后的各节点进行匹配,直至所述第一个数据与所述第k个节奏子树的第j个节点匹配,将所述第k个节奏子树中的第j个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第j个节点之后的各节点分别进行匹配,j为大于i的整数;
若所述第一节奏信息中的第h个数据与所述第k个节奏子树的第g个节点匹配成功,则将所述第k个节奏子树的第g个节点在所述节奏字典树中的层数记录为匹配到达层数,h为大于1的整数,g为大于i或大于j的整数;
根据所述匹配到达层数与所述匹配开始层数,判断当前匹配成功的层数是否达到预设的最小匹配层数;若是,则确定所述第k个节奏子树对应的资源为所述目标资源,否则将所述第一节奏信息中于所述第h个数据之后的各数据与所述第k个节奏子树中于所述第g个节点之后的各节点分别进行匹配;
若所述第一节奏信息中的第p个数据与所述节奏字典树中的第q个节奏子树中的任一节点都匹配不成功,则确定所述第q个节奏子树对应的资源非所述目标资源,p和q均为正整数。
一种实施方式中,可以预先设定匹配规则,以将所述第一节奏信息与所述节奏字典树按预先设定的匹配规则进行匹配。下面以歌曲匹配过程,来说明具体本实施方式中的匹配规则。
云端通过终端获取的节奏信息,生成节奏信息链表,并与节奏字典树,如与前奏字典树(r_prelude_trie)和副歌字典树(r_chorus_trie)依次进行先序遍历匹配,以确定匹配的歌曲。
将节奏字典树中从根节点到每个叶子节点的路径与输入的节奏信息链表之间进行匹配,其中,叶子节点为歌曲标识,不需要匹配,而是用于确定匹配成功的歌曲。节点匹配是指当前节奏信息链表的节点值和对应匹配节奏子树的节点值的差取绝对值后小于或等于节点误差a,节点误差a可以根据需求预设;反之,则判定节点不匹配。节奏信息链表的下一个节点指当前节点的后面一个节点;对应匹配节奏子树的下一个节点指当前节点的最左边子节点,若没有子节点则指下一棵节奏子树的第一个节点。先序遍历规则如下:
a)若为节奏信息链表的第一个数据,且与节奏字典树中的当前节点匹配,则记录当前节点的层数为匹配开始层数m,节奏信息链表和对应匹配节奏子树都取下一个节点继续匹配;
b)若为节奏信息链表的第一个数据,且与当前节点不匹配,则节奏信息链表保持当前节点不变,对应匹配节奏子树取下一个节点继续匹配,直到节奏信息链表第一个数据匹配后记录当前节点的层数为匹配开始层数m;若直到叶子节点位置也未匹配,则认为当前节奏子树不满足输入数据即第一节奏信息;
c)若非节奏信息链表的第一个数据,且与当前节点匹配,则判断当前已匹配成功的层数,也即当前节点层数减去匹配开始层数m后再加上1是否满足最小匹配层数b:
若不满足,则将节奏信息链表和对应匹配节奏子树都取下一个节点继续匹配当前子树;
若满足,则认为当前子树所对应的所有歌曲能够匹配输入数据,并可将所有叶子节点歌曲加入到搜索结果集中;
d)若非节奏信息链表的第一个数据,且与当前节点不匹配或已经到了叶子节点位置,则认为当前节奏子树不满足输入数据,并可开始匹配下一棵节奏子树(根据先序遍历规则)。
下面结合图5,以一个举例来说明节奏字典树的匹配过程:
假设输入的节奏链表是0.5->5.0->1.0,节点误差a=0.5,最小匹配层数b=3,对应匹配节奏字典树如图5,则有以下匹配过程:
树节点1值1.5,匹配链表节点值0.5,为节奏信息链表的第一个数据。节点虽然不匹配,也需要继续匹配其子节点;
树节点2值0,匹配链表节点值0.5,为节奏信息链表的第一个数据。由于误差为0.5,因此节点匹配,记录匹配开始层数m=2,继续匹配下一子节点;
树节点3和节点4,匹配链表节点值5.0。两个节点都不匹配,则跳过该子树,继续匹配下一颗子树;
树节点5值0.5,匹配链表节点值0.5,为节奏信息链表的第一个数据。节点匹配,记录匹配开始层数m=2,继续匹配下一子节点;
树节点6值5.5,匹配链表节点值5.0。节点匹配且当前层树3-m+1<b,不满足最小匹配层数,需继续匹配;
树节点7值1.0,匹配链表节点值1.0。节点匹配且当前层数4-m+1≥b,满足最小匹配层数,因此记录子树所有歌曲,即歌曲3和歌曲4;
树节点9值3.5,匹配链表节点值0.5,为节奏信息链表的第一个数据。节点不匹配,则认为当前子树不满足输入数据,继续匹配下一棵子树;
之后的节点匹配过程类似,不再详述。
这样,通过该先序遍历的匹配规则,可保证按照匹配规则准确快速地找出匹配的目标资源。
本申请实施例的资源搜索方法,由网络设备执行,该方法包括:接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;搜索与所述第一节奏信息匹配的目标资源;向所述终端发送所述目标资源。这样,可以通过获取用户输入的节奏信息或者主动提取当前播放资源中的节奏信息,来搜索与当前节奏信息匹配的目标资源,从而使得资源搜索功能更为丰富和便捷,且能够很好地满足用户在想要搜索一首不记得歌曲名称、处于不便于进行文字搜索或哼唱意愿较低等场景下的资源搜索需求。
本申请实施例还提供了一种资源搜索装置,设置在终端。参见图6,图6是本申请实施例提供的资源搜索装置的结构图。由于资源搜索装置解决问题的原理与本申请实施例中图1所示的资源搜索方法相似,因此该资源搜索装置的实施可以参见方法的实施,重复之处不再赘述。
如图6所示,资源搜索装置600包括:
第一获取模块601,用于获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
第二获取模块602,用于获取与所述第一节奏信息匹配的目标资源。
可选地,第一获取模块601包括:
第一接收单元,用于接收用户的点击输入;
获取单元,用于获取所述点击输入的点击参数,其中,所述点击参数包括每次点击的持续时间和相邻两次点击的间隔时间;
转换单元,用于将所述点击参数转换为所述第一节奏信息,其中,所述每次点击的持续时间对应所述词持续时间,所述相邻两次点击的间隔时间对应所述相邻词之间的停顿时间。
可选地,所述转换单元用于按照点击顺序将所述点击参数转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
可选地,第二获取模块602包括:
发送单元,用于向网络设备发送所述第一节奏信息,以使所述网络设备搜索与所述第一节奏信息匹配的所述目标资源;
第二接收单元,用于接收所述网络设备发送的所述目标资源。
本申请实施例提供的资源搜索装置600,可以执行图1所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例的终资源搜索装置600,获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;获取与所述第一节奏信息匹配的目标资源。这样,可以通过获取用户输入的节奏信息或者主动提取当前播放资源中的节奏信息,来搜索与当前节奏信息匹配的目标资源,从而使得资源搜索功能更为丰富和便捷,且能够很好地满足用户在想要搜索一首不记得歌曲名称、处于不便于进行文字搜索或哼唱意愿较低等场景下的资源搜索需求。
本申请实施例还提供了一种资源搜索装置,设置在网络设备。参见图7,图7是本申请实施例提供的资源搜索装置的结构图。由于资源搜索装置解决问题的原理与本申请实施例中图2所示的资源搜索方法相似,因此该资源搜索装置的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,资源搜索装置700包括:
接收模块701,用于接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
搜索模块702,用于搜索与所述第一节奏信息匹配的目标资源;
发送模块703,用于向所述终端发送所述目标资源。
可选地,搜索模块702用于将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,将所述目标节奏子树对应的资源作为所述目标资源;
其中,所述节奏字典树包括资源库中各资源对应的节奏子树。
可选地,资源搜索装置700还包括:
提取模块,用于提取所述资源库中各资源的第二节奏信息,其中,所述各资源的第二节奏信息包括所述各资源的目标部分的词持续时间和相邻词之间的停顿时间;
确定模块,用于基于所述各资源的第二节奏信息和所述各资源的标识信息,确定所述各资源的节奏链表;
创建模块,用于基于所述各资源的节奏链表,创建所述节奏字典树。
可选地,搜索模块702包括:
匹配单元,用于将所述第一节奏信息中的各数据与所述节奏字典树中各资源对应的节奏子树中的各数据进行匹配;
确定单元,用于在所述第一节奏信息与第一节奏子树匹配的数据串长度大于或等于预设匹配值的情况下,确定所述第一节奏子树为所述目标节奏子树,所述第一节奏子树为所述节奏字典树中的任一节奏子树。
可选地,搜索模块702用于将所述第一节奏信息与所述节奏字典树按如下规则进行匹配:
从所述节奏字典树中每个节奏子树的根节点开始,将所述第一节奏信息中的各个数据分别与所述节奏字典树中各节奏子树中的各个节点进行匹配,所述各节奏子树均包括多个节点;
若所述第一节奏信息中的第一个数据与所述节奏字典树中的第k个节奏子树的第i个节点匹配成功,则将所述第k个节奏子树的第i个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第i个节点之后的各节点分别进行匹配;k和i均为正整数;
若所述第一节奏信息中的第一个数据与所述第k个节奏子树的第i个节点匹配不成功,则将所述第一个数据分别与所述第k个节奏子树中于所述第i个节点之后的各节点进行匹配,直至所述第一个数据与所述第k个节奏子树的第j个节点匹配,将所述第k个节奏子树中的第j个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第j个节点之后的各节点分别进行匹配,j为大于i的整数;
若所述第一节奏信息中的第h个数据与所述第k个节奏子树的第g个节点匹配成功,则将所述第k个节奏子树的第g个节点在所述节奏字典树中的层数记录为匹配到达层数,h为大于1的整数,g为大于i或大于j的整数;
根据所述匹配到达层数与所述匹配开始层数,判断当前匹配成功的层数是否达到预设的最小匹配层数;若是,则确定所述第k个节奏子树对应的资源为所述目标资源,否则将所述第一节奏信息中于所述第h个数据之后的各数据与所述第k个节奏子树中于所述第g个节点之后的各节点分别进行匹配;
若所述第一节奏信息中的第p个数据与所述节奏字典树中的第q个节奏子树中的任一节点都匹配不成功,则确定所述第q个节奏子树对应的资源非所述目标资源,p和q均为正整数。
可选地,所述节奏字典树中的各节奏子树包括根节点、中间节点和叶子节点,所述根节点对应资源的目标部分的起始节奏,所述中间节点对应资源的目标部分的除所述起始节奏外的节奏,所述叶子节点对应资源的标识信息。
可选地,资源搜索装置700还包括:
转换模块,用于将所述第一节奏信息转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
本申请实施例提供的资源搜索装置700,可以执行图2所示方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例的终资源搜索装置700,接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;搜索与所述第一节奏信息匹配的目标资源;向所述终端发送所述目标资源。这样,可以通过获取用户输入的节奏信息或者主动提取当前播放资源中的节奏信息,来搜索与当前节奏信息匹配的目标资源,从而使得资源搜索功能更为丰富和便捷,且能够很好地满足用户在想要搜索一首不记得歌曲名称、处于不便于进行文字搜索或哼唱意愿较低等场景下的资源搜索需求。
本申请实施例还提供了一种电子设备。由于电子设备解决问题的原理与本申请实施例中资源搜索方法相似,因此该电子设备的实施可以参见方法的实施,重复之处不再赘述。一种实施方式中,本申请实施例的电子设备可以为终端,如图8所示,该电子设备包括:
处理器800,用于读取存储器820中的程序,执行下列过程:
获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
获取与所述第一节奏信息匹配的目标资源。
收发机810,用于在处理器800的控制下接收和发送数据。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器800代表的一个或多个处理器和存储器820代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机810可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器800负责管理总线架构和通常的处理,存储器820可以存储处理器800在执行操作时所使用的数据。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
接收用户的点击输入;
获取所述点击输入的点击参数,其中,所述点击参数包括每次点击的持续时间和相邻两次点击的间隔时间;
将所述点击参数转换为所述第一节奏信息,其中,所述每次点击的持续时间对应所述词持续时间,所述相邻两次点击的间隔时间对应所述相邻词之间的停顿时间。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
按照点击顺序将所述点击参数转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
通过收发机810向网络设备发送所述第一节奏信息,以使所述网络设备搜索与所述第一节奏信息匹配的所述目标资源;
通过收发机810接收所述网络设备发送的所述目标资源。
另一种实施方式中,本申请实施例的电子设备可以为网络设备,处理器800用于读取存储器820中的程序,执行如下步骤:
通过收发机810接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
搜索与所述第一节奏信息匹配的目标资源;
通过收发机810向所述终端发送所述目标资源。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,将所述目标节奏子树对应的资源作为所述目标资源;
其中,所述节奏字典树包括资源库中各资源对应的节奏子树。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
提取所述资源库中各资源的第二节奏信息,其中,所述各资源的第二节奏信息包括所述各资源的目标部分的词持续时间和相邻词之间的停顿时间;
基于所述各资源的第二节奏信息和所述各资源的标识信息,确定所述各资源的节奏链表;
基于所述各资源的节奏链表,创建所述节奏字典树。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
将所述第一节奏信息中的各数据与所述节奏字典树中各资源对应的节奏子树中的各数据进行匹配;
在所述第一节奏信息与第一节奏子树匹配的数据串长度大于或等于预设匹配值的情况下,确定所述第一节奏子树为所述目标节奏子树,所述第一节奏子树为所述节奏字典树中的任一节奏子树。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
将所述第一节奏信息与所述节奏字典树按如下规则进行匹配:
从所述节奏字典树中每个节奏子树的根节点开始,将所述第一节奏信息中的各个数据分别与所述节奏字典树中各节奏子树中的各个节点进行匹配,所述各节奏子树均包括多个节点;
若所述第一节奏信息中的第一个数据与所述节奏字典树中的第k个节奏子树的第i个节点匹配成功,则将所述第k个节奏子树的第i个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第i个节点之后的各节点分别进行匹配;k和i均为正整数;
若所述第一节奏信息中的第一个数据与所述第k个节奏子树的第i个节点匹配不成功,则将所述第一个数据分别与所述第k个节奏子树中于所述第i个节点之后的各节点进行匹配,直至所述第一个数据与所述第k个节奏子树的第j个节点匹配,将所述第k个节奏子树中的第j个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第j个节点之后的各节点分别进行匹配,j为大于i的整数;
若所述第一节奏信息中的第h个数据与所述第k个节奏子树的第g个节点匹配成功,则将所述第k个节奏子树的第g个节点在所述节奏字典树中的层数记录为匹配到达层数,h为大于1的整数,g为大于i或大于j的整数;
根据所述匹配到达层数与所述匹配开始层数,判断当前匹配成功的层数是否达到预设的最小匹配层数;若是,则确定所述第k个节奏子树对应的资源为所述目标资源,否则将所述第一节奏信息中于所述第h个数据之后的各数据与所述第k个节奏子树中于所述第g个节点之后的各节点分别进行匹配;
若所述第一节奏信息中的第p个数据与所述节奏字典树中的第q个节奏子树中的任一节点都匹配不成功,则确定所述第q个节奏子树对应的资源非所述目标资源,p和q均为正整数。
可选地,所述节奏字典树中的各节奏子树包括根节点、中间节点和叶子节点,所述根节点对应资源的目标部分的起始节奏,所述中间节点对应资源的目标部分的除所述起始节奏外的节奏,所述叶子节点对应资源的标识信息。
可选地,处理器800还用于读取存储器820中的程序,执行如下步骤:
将所述第一节奏信息转换为有序数据串,所述有序数据串中的各数据依次交替表示词持续时间和相邻词之间的停顿时间。
本申请实施例提供的电子设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
此外,本申请实施例的计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行实现前述图1或图2所示方法实施例中的各个步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种资源搜索方法,其特征在于,由终端执行,所述方法包括:
获取第一节奏信息,其中,所述第一节奏信息是根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
获取与所述第一节奏信息匹配的目标资源。
2.根据权利要求1所述的方法,其特征在于,所述获取第一节奏信息,包括:
接收用户的点击输入;
获取所述点击输入的点击参数,其中,所述点击参数包括每次点击的持续时间和相邻两次点击的间隔时间;
将所述点击参数转换为所述第一节奏信息,其中,所述每次点击的持续时间对应所述词持续时间,所述相邻两次点击的间隔时间对应所述相邻词之间的停顿时间。
3.根据权利要求1或2所述的方法,其特征在于,所述获取与所述第一节奏信息匹配的目标资源,包括:
向网络设备发送所述第一节奏信息,以使所述网络设备搜索与所述第一节奏信息匹配的所述目标资源;
接收所述网络设备发送的所述目标资源。
4.一种资源搜索方法,其特征在于,由网络设备执行,所述方法包括:
接收终端发送的第一节奏信息,其中,所述第一节奏信息是所述终端根据用户的输入确定的,或者是从所述终端当前播放资源中提取的,所述第一节奏信息包括资源中的词持续时间和相邻词之间的停顿时间;
搜索与所述第一节奏信息匹配的目标资源;
向所述终端发送所述目标资源。
5.根据权利要求4所述的方法,其特征在于,所述搜索与所述第一节奏信息匹配的目标资源,包括:
将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,将所述目标节奏子树对应的资源作为所述目标资源;
其中,所述节奏字典树包括资源库中各资源对应的节奏子树,所述各资源对应的节奏子树是通过提取所述各资源的第二节奏信息,并基于所述各资源的第二节奏信息和标识信息生成节奏链得到的,所述各资源的第二节奏信息包括所述各资源的目标部分的词持续时间和相邻词之间的停顿时间。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配,确定所述节奏字典树中与所述第一节奏信息匹配的目标节奏子树,包括:
将所述第一节奏信息中的各数据与所述节奏字典树中各资源对应的节奏子树中的各数据进行匹配;
在所述第一节奏信息与第一节奏子树匹配的数据串长度大于或等于预设匹配值的情况下,确定所述第一节奏子树为所述目标节奏子树,所述第一节奏子树为所述节奏字典树中的任一节奏子树。
7.根据权利要求5所述的方法,其特征在于,所述将所述第一节奏信息与预先创建的节奏字典树进行匹配,包括:
将所述第一节奏信息与所述节奏字典树按如下规则进行匹配:
从所述节奏字典树中每个节奏子树的根节点开始,将所述第一节奏信息中的各个数据分别与所述节奏字典树中各节奏子树中的各个节点进行匹配,所述各节奏子树均包括多个节点;
若所述第一节奏信息中的第一个数据与所述节奏字典树中的第k个节奏子树的第i个节点匹配成功,则将所述第k个节奏子树的第i个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第i个节点之后的各节点分别进行匹配;k和i均为正整数;
若所述第一节奏信息中的第一个数据与所述第k个节奏子树的第i个节点匹配不成功,则将所述第一个数据分别与所述第k个节奏子树中于所述第i个节点之后的各节点进行匹配,直至所述第一个数据与所述第k个节奏子树的第j个节点匹配,将所述第k个节奏子树中的第j个节点在所述节奏字典树中的层数记录为匹配开始层数,并将所述第一节奏信息中于所述第一个数据之后的各数据与所述第k个节奏子树中于所述第j个节点之后的各节点分别进行匹配,j为大于i的整数;
若所述第一节奏信息中的第h个数据与所述第k个节奏子树的第g个节点匹配成功,则将所述第k个节奏子树的第g个节点在所述节奏字典树中的层数记录为匹配到达层数,h为大于1的整数,g为大于i或大于j的整数;
根据所述匹配到达层数与所述匹配开始层数,判断当前匹配成功的层数是否达到预设的最小匹配层数;若是,则确定所述第k个节奏子树对应的资源为所述目标资源,否则将所述第一节奏信息中于所述第h个数据之后的各数据与所述第k个节奏子树中于所述第g个节点之后的各节点分别进行匹配;
若所述第一节奏信息中的第p个数据与所述节奏字典树中的第q个节奏子树中的任一节点都匹配不成功,则确定所述第q个节奏子树对应的资源非所述目标资源,p和q均为正整数。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述节奏字典树中的各节奏子树包括根节点、中间节点和叶子节点,所述根节点对应资源的目标部分的起始节奏,所述中间节点对应资源的目标部分的除所述起始节奏外的节奏,所述叶子节点对应资源的标识信息。
9.一种电子设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至3中任一项所述的资源搜索方法中的步骤;或者实现如权利要求4至8中任一项所述的资源搜索方法中的步骤。
10.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述的资源搜索方法中的步骤;或者实现如权利要求4至8中任一项所述的资源搜索方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111536169.5A CN114238684A (zh) | 2021-12-15 | 2021-12-15 | 一种资源搜索方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111536169.5A CN114238684A (zh) | 2021-12-15 | 2021-12-15 | 一种资源搜索方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238684A true CN114238684A (zh) | 2022-03-25 |
Family
ID=80756509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111536169.5A Pending CN114238684A (zh) | 2021-12-15 | 2021-12-15 | 一种资源搜索方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238684A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220310051A1 (en) * | 2019-12-20 | 2022-09-29 | Netease (Hangzhou) Network Co.,Ltd. | Rhythm Point Detection Method and Apparatus and Electronic Device |
-
2021
- 2021-12-15 CN CN202111536169.5A patent/CN114238684A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220310051A1 (en) * | 2019-12-20 | 2022-09-29 | Netease (Hangzhou) Network Co.,Ltd. | Rhythm Point Detection Method and Apparatus and Electronic Device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6576557B2 (ja) | 歌曲確定方法及び装置、記憶媒体 | |
EP3843083A1 (en) | Method, system, and computer-readable medium for creating song mashups | |
CN107832434A (zh) | 基于语音交互生成多媒体播放列表的方法和装置 | |
CN111541938B (zh) | 视频生成方法、装置及电子设备 | |
US10580394B2 (en) | Method, client and computer storage medium for processing information | |
CN104598502A (zh) | 获取播放视频中背景音乐信息的方法、装置及系统 | |
CN111046225B (zh) | 音频资源处理方法、装置、设备及存储介质 | |
CN108766451B (zh) | 一种音频文件处理方法、装置和存储介质 | |
CN105488135A (zh) | 直播内容分类方法及装置 | |
CN105161116A (zh) | 多媒体文件高潮片段的确定方法及装置 | |
CN105718486B (zh) | 在线哼唱检索方法及系统 | |
CN112489676A (zh) | 模型训练方法、装置、设备及存储介质 | |
CN110148393B (zh) | 音乐生成方法、装置和系统以及数据处理方法 | |
CN113658594A (zh) | 歌词识别方法、装置、设备、存储介质及产品 | |
JP2019091416A5 (zh) | ||
CN114238684A (zh) | 一种资源搜索方法及电子设备 | |
CN111723235A (zh) | 音乐内容识别方法、装置及设备 | |
CN111462775B (zh) | 音频相似度确定方法、装置、服务器及介质 | |
CN113158642A (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN111128254B (zh) | 音频播放方法、电子设备及存储介质 | |
CN105575400A (zh) | 一种获取歌曲信息的方法、终端、服务器和系统 | |
CN115329125A (zh) | 一种歌曲串烧拼接方法和装置 | |
CN111508454B (zh) | 乐谱的处理方法、装置、电子设备及存储介质 | |
CN111259181A (zh) | 用于展示信息、提供信息的方法和设备 | |
CN117390217B (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 |