一种基于文本编码的资源下载方法、系统、装置及介质与流程

文档序号:24346487发布日期:2021-03-19 12:30阅读:65来源:国知局
一种基于文本编码的资源下载方法、系统、装置及介质与流程

本发明属于计算机技术领域,尤其是一种基于文本编码的资源下载方法、系统、装置及介质。



背景技术:

音乐作为一种艺术形式和文化活动已经成为人们生活中不可或缺的元素。随着生活水平的提升,人们对音乐的喜好逐渐变得复杂化、多元化,从而在日常生活中不可避免的需要根据个人喜好进行歌曲选择或者点歌。

而现有技术点歌技术主要存在以下不足:

现有的语音点歌技术大多集中于点歌的整体流程上,只是提供了语音点歌的整体框架和实现方案,如并没有具体聚焦于歌曲中文文本下的具体的编码、转换问题以及在通过语言识别技术将指令识别至文本后续的资源链接如何获取、资源如何下载等具体问题的解决上。从而使得现有技术在具体应用过程中只知其全貌,而不知其具体实现和逻辑,因此准确性、可实现性和可操作性不佳。



技术实现要素:

有鉴于此,为至少部分解决上述技术问题之一,本发明实施例目的在于提供一种精确、便捷并且易于实现的基于文本编码的资源下载方法,同时本发明还提供能够对应实现该方法的系统、装置以及计算机可读存储介质。

第一方面,本发明实施例提供了一种基于文本编码的资源下载方法,其包括以下步骤:

获取点歌指令,从所述点歌指令中提取得到第一文本信息;根据所述第一文本信息的原始字符串编码得到第一字符串;

将所述第一字符串生成请求指令,根据所述请求指令获取音乐列表;

读取所述音乐列表,获取音乐的唯一标识,根据所述唯一标识生成音乐链接;

根据所述音乐链接获取音乐的数据文件。

在本发明的一些实施例中,所述资源下载方法还包括:

根据所述第一文本信息,提取本地资源库中音乐的数据文件,调用音乐播放器播放所述数据文件。

在本发明的一些实施例中,所述点歌指令包括语音指令;所述获取点歌指令,从所述点歌指令中提取得到第一文本信息这一步骤,其包括:

获取所述语音指令,将所述语音指令转换得到文本指令,根据所述文本指令提取得到所述第一文本信息。

在本发明的一些实施例中,所述将所述第一字符串生成请求指令,根据所述请求指令获取音乐列表这一步骤,其包括:

保存所述第一字符串,将所述第一字符串读入本地临时变量;

将所述本地临时变量生成第一url,根据所述第一url向开放平台发起请求;

根据所述请求结果获取包含所述音乐列表的返回值。

在本发明的一些实施例中,所述读取所述音乐列表,获取音乐的唯一标识,根据所述唯一标识生成音乐链接这一步骤,其包括:

从所述返回值中读取得到所述音乐列表;

解析所述音乐列表得到音乐的唯一标识,将所述音乐的唯一标识;将所述唯一标识填充入所述第一url生成第二url,所述第二url为音乐链接。

在本发明的一些实施例中,所述根据所述音乐链接获取音乐的数据文件这一步骤,其包括:

根据所述音乐链接解析得到所述音乐的下载链接地址,根据所述下载链接地址,获取所述音乐的数据文件。

在本发明的一些实施例中,所述返回值、所述唯一标识均为json的数据交换格式。

第二方面,本发明的技术方案还提供一种基于文本编码的资源下载系统,包括:

指令获取单元,用于获取点歌指令,从所述点歌指令中提取得到第一文本信息;根据所述第一文本信息的原始字符串编码得到第一字符串;

链接生成单元,用于将所述第一字符串生成请求指令,根据所述请求指令获取音乐列表;以及读取所述音乐列表,获取音乐的唯一标识,根据所述唯一标识生成音乐链接;

文件下载单元,根据所述音乐链接获取音乐的数据文件。

第三方面,本发明的技术方案还提供基于区块链的数据处理装置,其包括:

至少一个处理器;

至少一个存储器,用于存储至少一个程序;

当至少一个程序被至少一个处理器执行,使得至少一个处理器实现第一方面中的一种基于文本编码的资源下载方法。

第四方面,本发明的技术方案还提供了一种存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现如第一方面中的方法。

本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:

本发明所提供的一种基于文本编码的资源下载方法,方法通过编码转换、歌曲链接获取、歌曲文件请求等全流程自动化操作,解决了点歌过程中的编码转换问题和资源下载问题,使得结果反馈更为准确。方法实现了点歌的自动化、智能化,极大的提升了点歌的反应速度和用户体验,实现过程简单、借助硬件少,可操作性高,具有很好的可移植性和实用性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种基于文本编码的资源下载方法的步骤流程图;

图2为本发明一种基于文本编码的资源下载方法一个完整实施例的步骤流程图;

图3为本发明一种基于文本编码的资源下载装置结构示意图。

具体实施方式

下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

首先,针对本方案中所涉及相关领域进行解释:

url(uniformresourcelocator,url)统一资源定位系统,是因特网的万维网服务程序上用于指定信息位置的表示方法。

ascii码(americanstandardcodeforinformationinterchange)美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

josn(javascriptobjectnotation,js对象简谱),是一种轻量级的数据交换格式。

powershell:是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用netframework的强大功能。

本申请的技术方案提出一种简单快捷的实现将点歌相关的中文文本进行编码、转换,然后拼接至特定的请求链接中,总共经过三次资源请求和对资源返回值的解析,最终获得歌曲文件的流程。其中,三次资源请求和对资源返回值的解析,包括编码转换、url拼接,中间返回值的本地保存,中间返回值的信息提取,歌曲资源url的拼接,歌曲文件的本地保存等过程。

第一方面,如图1所示,本发明的技术方案提出了基于实施例系统的数据处理方法,其主要包括步骤s01-s04:

s01、获取点歌指令,从点歌指令中提取得到第一文本信息;根据第一文本信息的原始字符串编码得到第一字符串。

其中,第一文本信息为点歌指令中的有效信息内容,包括但不限于歌曲名称和歌手名称等;第一文本信息的原始字符串即为编码前信息内容的中英文字符串。获取点歌指令的方式包括但不限于通过交互界面获取或者通过语音交互方式。根据获得的点歌指令,通过文本内容识别得到第一文本信息;然后将原始字符串以对应的二进制数据以ascii编码表示并替换。在本实施例中,调用中文文本编码转换脚本程序为chineseencode.ps1,其具体的调用过程如下:

@echooff

powershell.exe-executionpolicyunrestricted.\chineseencode.ps1千年等一回

编码的过程如下:例如,输入一个中文字符串“你好”,以utf-8等编码方式为例,utf-8编码采用3个字节以十六进制数值表示每个字符,则“你好”分别为:0xe4,0xbd,x0a0和0xe5,0xa5,x0bd,则url编码表示为:“%e4%bd%a0%e5%a5%bd”。另外在编码过程中,以powershell编程为例,假设变量$chinesetxt=“北京”预存需要转换的原始字符串数据,调用该脚本可得到编码数据“%e5%8c%97%e4%ba%ac”。

在一些可行的实施例中,点歌指令包括语音指令;进而步骤s01还包括步骤s011:

s011、获取语音指令,将语音指令转换得到文本指令,根据文本指令提取得到第一文本信息。

具体地,通过外接设备接收用户发出的语音点歌信息,其中,外接设备可为移动设备自带的麦克风或外接的耳机麦克风。将接收到的语音信息转化为文本指令。具体可以使用现有的语音识别方法进行语音识别,例如,基于动态时间规整的算法、基于参数模型的隐马尔可夫法、基于非参数模型的矢量量化法、基于人工神经网络的算法等。再通过提取和转码得到第一字符串。

s02、将第一字符串生成请求指令,根据请求指令获取音乐列表。

具体地,将脚本编码得到的文本数据保存至本地,根据保存的文本数据发起请求,以获取文本格式的音乐列表的反馈。进一步地,实施例中,步骤s02可进一步细分得到步骤s021-s023:

s021、保存第一字符串,将第一字符串读入本地临时变量;

s022、将本地临时变量生成第一url,根据第一url向开放平台发起请求;

s023、根据请求结果获取包含音乐列表的返回值。

其中,第一url为开放音乐平台url。具体地,将脚本编码得到的文本数据保存至本地,然后将其读入本地临时变量,然后基于开放音乐平台url将临时变量填充进url中对应的字段中,接着向开放平台(例如:网易云、虾米等)发起请求,获取包含歌曲列表的返回值(文本格式)。在实施例中,其具体的实现过程(程序)如下:

echodownloadmedia:%sn%........

set

url=http://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s=%snencode%&type=1&offset=0&total=true&limit=1

curl%url%>re.json

s03、读取音乐列表,获取音乐的唯一标识,根据唯一标识生成音乐链接。

其中,音乐的唯一表示该音乐全局唯一id,根据保存在本地的音乐列表,读取列表中的所有音乐,并选取列表中排序第一的音乐,将该音乐的全局唯一id添加至开放音乐平台url中,作为音乐链接。

在一些可选的实施例中,返回值、步骤s03中的唯一标识均为json的数据交换格式。进一步地,步骤s03可细分为步骤s031-s032:

s031、从返回值中读取得到音乐列表;

s032、解析音乐列表得到音乐的唯一标识,将音乐的唯一标识;将唯一标识填充入第一url生成第二url,其中,第二url为音乐链接。

具体地,系统将返回值(文本格式)在本地保存为json格式。接下来从该json文件中读取歌曲列表。具体地,利用jq工具解析内容并获取第一条歌曲数据,获得其中的歌曲全局唯一id,然后将其歌曲唯一id保存至本地临时变量,将id在保存至本地为json格式。

在实施过程中,步骤s031-s032的代码表示为:

jq-win64.exe".result|.songs[0]|.id"re.json>id.txt

set/pid=<id.txt

s04、根据音乐链接获取音乐的数据文件。

具体地,对保存的歌曲链接进行解析,获得歌曲的下载链接地址,通过这个链接地址,直接可返回歌曲的mp3数据文件,最后对其发送请求,并将其文件保存在本地的资源库中。

实施例中步骤s04的代码表示为:

startiexplorehttp://music.163.com/song/media/outer/url?id=%id%

在一些可行的实施例中,资源下载方法还包括步骤:

s05、根据第一文本信息,提取本地资源库中音乐的数据文件,调用音乐播放器播放数据文件。

具体地,对于识别出的文本信息,首先判断本地资源库中是否存在同名文件,若存在,则直接调用音乐播放器播放本地mp3文件;若不存在,则进入步骤s02。

实施例中步骤s05的代码表示为:

除此之外,如图2所示,在一些可行的实施例中,对于中英文等混合音乐文本,英文部分保持原形字符,中文等非ascii码采用编码方式处理,以支持中英文信息共享传送。例如“onenightin北京”,url编码就是“onenightin%e5%8c%97%e4%ba%ac”。

由于pc机windows操作系统自带内建的powershell环境,可直接执行url解码,pc机上无需预先安装任何额外软件、客户端、驱动程序等,实现即插即用传中文。对于linux等其它操作系统,可以采用相应的系统脚本语言进行操作实现,原理和机制类似。

在另一种实施例中,用户对着设备麦克风说“射雕英雄传”,系统自动识别并转化为文本信息“射雕英雄传”,然后自动录入“powershell”命令,自动在目标计算机创建powershell命令和程序运行环境。然后,开始从步骤s02开始执行,其后续的步骤则包括:

a)将中文url编码存入powershell变量。

b)判断本地有无同名音乐文件,若无,则进入步骤c),若有,则进入步骤g)。

c)将url编码字符串填充进url中对应的字段,并对开放平台发起请求,获取包含歌曲列表的文本返回值。

d)将文本返回值数据存储写入目标json文件中。

e)接下来读取歌曲列表,利用jq工具解析内容并获取第一条歌曲数据,将其歌曲唯一id保存至本地,然后将歌曲id拼接进歌曲下载url,本例中为“id=”字段,然后将其保存至本地为json格式。

f)对保存的歌曲链接进行解析,获得歌曲的下载链接地址,通过这个链接地址,直接可返回歌曲的mp3数据文件,最后对其发送请求,并将其文件保存在本地的资源库中。

g)调用本地音乐播放器直接播放。

第二方面,本发明实施例还提供基于文本编码的资源下载系统,包括:

指令获取单元,用于获取点歌指令,从点歌指令中提取得到第一文本信息;根据第一文本信息的原始字符串编码得到第一字符串;

链接生成单元,用于将第一字符串生成请求指令,根据请求指令获取音乐列表;以及读取音乐列表,获取音乐的唯一标识,根据唯一标识生成音乐链接;

文件下载单元,根据音乐链接获取音乐的数据文件。

第三方面,如图3所示,本发明实施例还提供基于文本编码的资源下载装置,其包括至少一个处理器;至少一个存储器,用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器实现如第以方面中的一种基于文本编码的资源下载方法。

其中还涉及到硬件麦克风,即插即用,无需安装任何驱动程序或软件,自动化命令执行在windows操作系统的pc机上由自带powershell执行,在安卓等智能手机上由linux系统自带的shell执行,以上执行环境均为运行环境自带,无需额外安装软件。

本发明实施例还提供了一种存储介质,其中存储有程序,程序被处理器执行如第一方面中的方法。

从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:

1.本申请所提供的方法经过语音设别技术识别转换后的中文文本经过本发明中的中文文本编码转换技术、资源获取和下载技术,将网络资源自动保存至本地,后续可自动调用本地音乐播放器进行播放等一系列操作,最终实现中文语音点歌的全流程自动化、智能化。

2.本申请的技术方案实现了中文点歌的自动化、智能化,极大的提升了中文点歌的反应速度和用户体验,实现过程简单、借助硬件少,可操作性高,具有很好的可移植性和实用性。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

其中,功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1