一种音频合成系统、方法及其电子设备和云服务器与流程

文档序号:11136012阅读:306来源:国知局
一种音频合成系统、方法及其电子设备和云服务器与制造工艺

本发明涉及一种音频文件的处理方法,特别是涉及一种将演奏事件文件转换为音频文件的音频合成系统、方法及其电子设备和云服务器。



背景技术:

目前,应用于移动终端(手机、PAD等等)的演奏类和演唱类的分享软件已经越来越为大众所熟知,例如唱吧等程序。其通过在电子设备合成音频文件,并将音频文件利用朋友圈或QQ等交互类软件实现音频文件的分享。

通常情况下,类似与“唱吧”的软件是通过安装在客户端的APP(Application,应用)进行用户演唱的录制,并将录制的演唱结果与背景音乐合成,最终将客户端合成后生成的音频文件上传至服务器。采用此种软件,音频文件合成速度慢,耗时较长。其中音频文件的合成速度与硬件运算性能息息相关。由于移动终端的硬件载体的CPU和内存配置有限,音频文件在合成过程中,内存占用率非常高,甚至于导致移动终端的APP程序崩溃。因此,移动终端的配置大大影响了音频文件合成的时间和稳定性。并且,将音频文件其上传至服务器时耗时会比较长。音频文件的体积较大,一般都以MByte级别计算,再加上网络线路传输的不稳定性,因此,在分享前,需经过音频合成和网络上传两个环节,现有技术下,需要等待较长的时间,影响分享的体验。

此外,还存在一些多功能的乐器,其具备一种内录功能,其支持在乐器发声的同时,直接将音频文件上传至服务器。由于该种乐器在演奏的同时生成音频文件,其节省了合成音频文件的时间,但是同样地,再将音频文件上传至服务器时,同样会出现网络上传时间过长的问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种音频合成系统、方法及其电子设备和云服务器,用于解决现有技术中音频文件合成、上传分享时,耗时过长且不稳定的问题。

为实现上述目的及其他相关目的,本发明提供一种音频合成系统,所述音频合成系统包括:电子设备和云服务器;其中,所述电子设备,用于选择演奏信息,并依据演奏信息实时获取演奏事件,并将演奏信息和实时获取的演奏事件向云服务器上传;其中,演奏信息包括演奏曲目信息和音色信息;演奏事件包括在演奏曲目信息下演奏音符和演奏时间的关系;所述云服务器与所述电子设备通过网络连接,用于实时接收演奏信息和演奏事件,并将演奏事件和对应的音色样本实时合成为音频流;其中,音色样本是与演奏事件和音色信息相关。

于本发明的一实施例中,所述电子设备还用于将获取的多个演奏事件组合保存为演奏事件文件,并将演奏事件文件发送至所述云服务器;所述云服务器还用于接收演奏事件文件,依据演奏信息和演奏事件文件将与之对应的音色样本合成为音频文件。

于本发明的一实施例中,演奏事件为MIDI消息;演奏事件文件为MIDI文件。

于本发明的一实施例中,所述云服务器内预存曲谱信息库和音色采样库;且所述曲谱信息库中保存有:演奏曲目信息和演奏曲谱;所述音色采样库中保存有:音色信息和音色样本。

于本发明的一实施例中,所述云服务器实时接收演奏事件和演奏信息;依据演奏事件和音色信息,在所述音色采样库中提取对应的音色样本,并将提取的音色样本实时合成为音频流。

于本发明的一实施例中,所述云服务器接收演奏信息和演奏事件文件;解析演奏事件文件;依据解析的演奏事件文件和音色信息,在所述音色采样库中提取对应的音色样本,并将提取的音色样本对应合成并压缩解码为音频文件。

于本发明的一实施例中,所述云服务器的所述曲谱信息库中还保存有背景音乐,所述背景音乐与所述演奏曲目信息相关。

于本发明的一实施例中,所述云服务器实时接收演奏事件和演奏信息;提取对应的背景音乐;同步演奏事件和背景音乐;依据演奏事件和音色信息,在所述音色采样库中提取对应的音色样本,并将提取的音色样本和背景音乐实时合成为音频流。

于本发明的一实施例中,所述云服务器接收演奏事件文件和演奏信息;提取对应的背景音乐;解析演奏事件文件,并与背景音乐进行同步;依据解析的所述演奏事件文件和所述音色信息,在所述音色采样库中提取对应的音色样本,并将提取的背景音乐和音色样本对应合成并压缩解码为音频文件。

本发明还公开了一种音频合成方法,应用于与电子设备通过网络连接的云服务器;所述音频合成方法包括:接收来自所述电子设备的演奏信息;其中,演奏信息包括演奏曲目信息和音色信息;实时接收演奏事件或演奏事件文件,其中,演奏事件文件由演奏事件组成,演奏事件包括在演奏曲目信息下演奏音符和演奏时间的关系;在音色采样库中提取对应的音色样本;依据演奏事件将提取的音色样本实时合成为音频流;或依据演奏事件文件将提取的音色样本合成并压缩解码为音频文件。

于本发明的一实施例中,所述依据演奏事件将提取的音色样本实时合成为音频流;或依据演奏事件文件将提取的音色样本合成并压缩解码为音频文件的步骤还包括:演奏音量处理以及防止破音处理。

于本发明的一实施例中,所述实时接收演奏事件或演奏事件文件的步骤中,当接收的为演奏事件文件时,要对演奏事件文件进行解析。

于本发明的一实施例中,所述在音色采样库中提取对应的音色样本的步骤还包括:依据演奏信息提取对应的背景音乐。

于本发明的一实施例中,所述依据演奏事件将提取的音色样本实时合成为音频流;或依据演奏事件文件将提取的音色样本合成并压缩解码为音频文件的步骤包括:将演奏事件或演奏事件文件与背景音乐同步:相对于背景音乐的绝对时间点,获得演奏事件或演奏事件文件的演奏特征值;依据演奏事件将提取的音色样本和背景音乐实时合成为音频流;或依据演奏事件文件将提取的音色样本和背景音乐合成并压缩解码为音频文件。

于本发明的一实施例中,所述背景音乐为MP3格式,那么音频文件的合成压缩解码包括:将背景音乐按照MP3帧进行分割;对于每一个MP3帧,依据该MP3帧对应的演奏特征值和音色信息提取音色样本;合成提取的音色样本和背景音乐的该MP3帧;将背景音乐的所有MP3帧和对应的音色样本全部合成后,并压缩解码获得所述音频文件。

于本发明的一实施例中,所述依据演奏事件将提取的音色样本和背景音乐实时合成为音频流;或依据演奏事件文件将提取的音色样本和背景音乐合成并压缩解码为音频文件的步骤还包括:相对音量调节、演奏音量处理以及防止破音处理。

于本发明的一实施例中,所述演奏事件为MIDI消息;所述演奏事件文件为MIDI文件。

于本发明的一实施例中,所述音频合成方法还包括:向所述电子设备实时发送合成的音频流或音频文件。

本发明还公开了一种云服务器,其与电子设备通过网络连接,所述云服务器包括:传输模块,用于实现与所述电子设备之间的数据传输;其中,所述数据传输包括:接收所述电子设备上传的演奏信息,实时接收所述电子设备上传的演奏事件或演奏事件文件,以及向所述电子设备发送演奏曲谱和音频流/音频文件;其中,演奏信息包括演奏曲目信息和音色信息;演奏事件文件由演奏事件组成,演奏事件包括在演奏曲目信息下演奏音符和演奏时间的关系;存储模块,用于保存曲谱信息库、音色采样库;提取模块,用于所述存储模块中提取演奏曲谱和音色样本;合成模块,用于依据演奏事件将提取的音色样本实时合成为音频流;或依据演奏事件文件将提取的音色样本合成并压缩解码为音频文件。

于本发明的一实施例中,所述传输模块还包括解析子模块,用于对接收的演奏事件文件进行解析。

于本发明的一实施例中,所述提取模块还包括依据演奏信息从所述存储模块中提取背景音乐;所述合成模块用于依据演奏事件将提取的音色样本和背景音乐实时合成为音频流;或依据演奏事件文件将提取的音色样本和背景合成并压缩解码为音频文件。

本发明还公开了一种音频合成方法,应用于与云服务器通过网络连接的电子设备;所述音频合成方法包括:选择演奏信息;其中,演奏信息包括演奏曲目信息和音色信息;依据演奏信息实时获取演奏事件;其中,演奏事件包括在演奏曲目信息下演奏音符和演奏时间的关系;将演奏事件与演奏信息实时上传至所述云服务器。

于本发明的一实施例中,所述音频合成方法还包括:从所述云服务器下载演奏曲谱;其中,演奏曲谱是依据演奏曲目信息从所述云服务器的曲谱信息库中下载获得的。

于本发明的一实施例中,所述音频合成方法还包括:将实时获取的多个演奏事件组合形成演奏事件文件;将演奏事件文件和演奏信息上传至所述云服务器。

本发明还公开了一种电子设备,与云服务器通过网络连接,所述电子设备包括:选择模块,用于选择待演奏的演奏信息,其中,演奏信息包括演奏曲目信息及音色信息;获取模块,依据演奏信息实时获取演奏事件;其中,演奏事件包括在演奏曲目信息下演奏音符和演奏时间的关系;传输模块,用于实现与所述云服务器之间的数据传输;其中,所述数据传输包括:从所述云服务器下载演奏曲目信息对应的演奏曲谱,以及向所述云服务器上传演奏信息和演奏事件。

于本发明的一实施例中,所述电子设备还包括:组合模块,用于将获取的多个演奏事件组成演奏事件文件;所述传输模块还用于向所述云服务器上传演奏事件文件。

如上所述,本发明的一种音频合成系统、方法及其电子设备和云服务器,电子设备直接将实时演奏的MIDI消息(演奏事件)上传至云服务器,或将多个MIDI消息保存为MIDI文件(演奏事件文件),并将MIDI文件利用网络上传至云服务器,利用云服务器实时将MIDI消息合成为音频流,或将MIDI文件进行解析、合成以及压缩解码生成最终的音频文件。本发明的一种音频合成系统、方法及其电子设备和云服务器具有以下有益技术效果:

1)本发明的电子设备直接将MIDI消息实时上传至云服务器;且云服务器根据接收的MIDI消息将其实时合成为音频流,从而实现了电子设备的演奏事件的实时分享;

2)本发明的电子设备还可将由MIDI消息组成的MIDI文件上传至云服务器,相较于直接上传音频信息大大节省了网络上传时间;

3)对于MIDI消息或MIDI文件的合成处理是在云服务器进行的,降低了对作为发送单元的移动终端(电子设备)的系统资源要求,提升了稳定性;并且,由于云服务器的配置一般都比较高,处理能力较强,对于MIDI消息或MIDI文件的合成处理的速度也相对较快,缩短了音频转换时间;而且,云服务器的资源也可以被电子设备充分利用;

4)本发明的云服务器中提供音色采样库和效果库,使得音色合成更具个性化和多样化;

5)本发明的云服务器在音频合成时,通过背景音乐与演奏的音量合理设置以及生成单独乐器音轨的方式,达到突出演奏乐器音轨,并防止音色失真的目的;

6)本发明的云服务器还可记录和保存用户演奏的数据文件,增加了游戏和娱乐元素,也可以用于乐器教学,其应用范围更加广泛。

附图说明

图1显示为本发明实施例公开的一种音频合成系统的结构示意图。

图2显示为本发明实施例公开的一种应用于云服务器的音频合成方法的流程示意图。

图3显示为本发明另一实施例公开的一种应用于云服务器的音频合成方法的流程示意图。

图4显示为本发明实施例公开的一种云服务器的原理示意图。

图5显示为本发明实施例公开的一种应用于电子设备的音频合成方法的流程示意图。

图6显示为本发明实施例公开的一种电子设备的原理示意图。

元件标号说明

100 音频合成系统

110 电子设备

120 云服务器

410 传输模块

411 解析子模块

420 存储模块

430 提取模块

440 合成模块

441 相对音量调节子模块

442 演奏音量处理子模块

443 削波子模块

610 选择模块

620 获取模块

630 组合模块

640 传输模块

S21~S25,S31~S34, 步骤

S51~S54

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

请参阅附图。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明的一种音频合成系统、方法及其电子设备和云服务器,通过将演奏事件实时上传至云服务器,或者将演奏事件合成保存为演奏事件文件,将演奏事件文件上传至云服务器,相较于直接上传音频信息,大大减少了网络上传的耗时,从而达到减少用户等待时间,达到实时分享的体验提升。并且,本发明的根据演奏事件实时合成音频流,或根据演奏事件文件合成音频文件均是在云服务器侧进行的,大大降低了电子设备的系统资源,提升了电子设备的系统稳定性,并且,还大大加快了音频的合成速度。

实施例1

本实施例公开了一种音频合成系统100,如图1所示,包括:电子设备110和云服务器120。

电子设备110用于选择演奏信息,并依据演奏信息实时获取演奏事件,并将演奏信息和实时获取的演奏事件向云服务器120发送。

进一步地,电子设备110还用于选择演奏信息,并依据演奏信息获取由演奏事件组成的演奏事件文件,以及向云服务器120发送演奏信息和演奏事件文件。

其中,演奏信息包括但不限于用户待演奏的演奏曲目信息和音色信息。其中,演奏曲目信息用于唯一地标识演奏曲目,例如,演奏曲目的名称。音色信息用于描述用户希望用哪种声音来演奏。例如,使用的电子乐器是打击乐器的话,那么音色信息描述的是用户希望用的鼓组风格名称,例如:第一套摇滚鼓组,第二套流行鼓组等等。

对于演奏信息的选择,电子设备110可以通过相应的选择界面而选择获得。进一步地,用户待演奏的演奏曲谱是保存在云服务器120的曲谱信息库中,在用户演奏以前,可以通过电子设备110从云服务器120中依据选择演奏信息下载对应的演奏曲谱。

对于不同的演奏信息(演奏曲目信息),演奏事件由演奏特征值组成,其中,演奏特征值包括但不限于演奏音符、演奏力度和音符时长,通过演奏事件能够获取演奏音符与演奏时间之间的关系。

而演奏事件文件是由演奏事件所组成。电子设备110将多个演奏事件进行组合保存从而得到演奏事件文件。

优选地,演奏事件采用MIDI消息,演奏事件文件采用MIDI文件。当然,本发明的演奏事件并不仅限于MIDI消息这一种形式,只要是能够明确地标识出演奏音符和演奏时间之间关系的演奏事件或者演奏指令,均在本发明的保护范围内。为了说明方便,在后面的实施例中均用MIDI消息表示演奏事件,MIDI文件表示演奏事件文件。

MIDI(Musical Instrument Digital Interface,乐器数字接口)是一个工业标准的电子通信协议,MIDI传输诸如音符、控制参数等非声音信号的指令,用于指示MIDI设备的操作以及控制MIDI设备之间的交互。

MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间等信息。通常情况下,标准的MIDI文件基本上是由两部分组成:头块和音轨块,头块用量描述整个MIDI文件的基本信息;音轨块则包含一系列的由MIDI消息构成的MIDI数据流。MIDI为国际技术规范(The Complete MIDI 1.0Detailed Specification),由“MIDI设备制造者协会”发布。MIDI消息以及MIDI文件的使用方式在手册中均有记载,因此在本实施例中不再赘述。只要能够将MIDI消息保存为MIDI文件的方式均在本发明的保护范围内。

在本实施例中,电子设备110可以采用如下方式来获取演奏事件或演奏事件文件:

其一,电子设备110是一智能终端,其通过安装在其上的APP,依据演奏曲谱,直接实时获取相应的演奏事件;或将获取的多个演奏事件组合保存为演奏事件文件。

其中,智能终端包括存储器、存储器控制器、一个或多个处理器(CPU)、接口电路、RF(射频)电路、音频电路、扬声器、麦克风、输入/输出(I/O)子系统、触摸显示屏、其他输出或控制设备,以及外部端口。这些组件通过一条或多条通信总线或信号线进行通信。设备可以是任何便携式电子设备,包括但不限于笔记本电脑、平板电脑、智能手机、多媒体播放器、个人数字助理(PDA)等等,还可能包括其中两项或多项的组合。应当理解,本实施例中列举的设备只是智能终端的一个实例,该设备的组件可以比图示中给出的具有更多或更少的组件,或具有不同的组件配置。图中所示的各种组件可以用硬件、软件或软硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。

对于安装在智能终端上的APP,目前已经有很多,例如:IOS平台下的APP:BAND4U-TREE-PIANO-Drums-Guitar-All in one,在此就不再一一赘述。

其二,电子设备110通过电子乐器和智能终端配合实现:电子乐器是支持演奏事件输出的多功能乐器,其可通过感应器将演奏信号识别成演奏事件并予以输出;智能终端与电子乐器相关联,用于选择演奏信息,实时接收电子乐器输出的演奏事件;或者,将接收的多个演奏事件组合保存为演奏事件文件。

智能终端与电子乐器相关联,具体是指智能终端与电子乐器相互连接,能够实现对电子乐器输出的信号的读取识别。其中,智能终端既可与电子乐器通过有线的方式进行连接,也可通过无线的方式进行连接。

进一步地,与电子乐器相关联的智能终端甚至于可以实现对接收的乐器输出的演奏事件进行对应的输出(通过显示屏图像化的显示或者以音频的形式予以播放),更甚者,还可以实现对演奏事件对应的演奏音符的对错进行评判。

其三,电子设备直接采用电子乐器:电子乐器直接与云服务器120通过网络连接。通过电子乐器可直接选择演奏信息,将演奏的演奏事件直接发送至云服务器120,或者将多个演奏事件组合保存为演奏事件文件,并将演奏事件文件发送至云服务器120。

在后面两种获取演奏事件的方式中,优选地,电子乐器采用支持MIDI OUT的多功能乐器,可通过感应器将演奏信号识别成MIDI消息并予以输出。通常情况下,电子乐器均具有MIDI OUT接口。并且,在电子乐器与云服务器120网络相连时,其还支持MIDI文件的合成。

云服务器120与电子设备110通过网络连接,用于合成音频流或音频文件。云服务器120内预先保存有曲谱信息库、音色采样库和效果库。曲谱信息库中保存的内容包括但不限于:演奏曲目信息、演奏曲谱和背景音乐等等,且演奏曲目信息、演奏曲谱和背景音乐是相互对应的。音色采样库保存的内容包括但不限于:音色信息以及其对应的音色样本,且音色信息和音色样本也是相互匹配的。并且,曲谱信息库中保存的背景音乐和音色采样库中保存的音色样本均为MP3格式的文件。

当云服务器120接收到的是MIDI消息,那么云服务器120实时将MIDI消息进行混音处理,合成音频流:云服务器120实时接收演奏信息和MIDI消息;然后依据演奏信息中的音色信息和MIDI消息,从音色采样库中提取对应的音色样本;最后,依据MIDI消息将提取的音色样本实时合成为音频流。

当云服务器120接收到的是MIDI文件,那么云服务器120将MIDI文件进行解析和混音处理,合成压缩编码生成音频文件:云服务器120接收演奏信息和由MIDI消息组成的MIDI文件;然后解析MIDI文件;依据演奏信息中的音色信息和解析的MIDI文件,从音色采样库中提取对应的音色样本;最后,依据解析的MIDI文件将提取的音色样本合成压缩编码为音频文件。

进一步地,云服务器120除了可以将MIDI消息或MIDI文件进行音色样本合成之外,还可以将MIDI消息或MIDI文件进行音色样本和背景音乐的合成。

云服务器120实时接收演奏信息和MIDI消息;依据演奏信息,从曲谱信息库中提取对应的背景音乐,并将背景音乐与MIDI消息同步;然后从音色采样库中提取对应的音色样本;最后,依据MIDI消息将提取的音色样本和背景音乐实时合成为音频流。

云服务器120接收演奏信息和MIDI文件;依据演奏信息从曲谱信息库中提取对应的背景音乐;解析MIDI文件,并将解析的MIDI文件与背景音乐同步;然后依据演奏信息和解析的MIDI文件,从音色采样库中提取对应的音色样本;最后,依据解析的MIDI文件将提取的音色样本和背景音乐合成压缩编码为音频文件。

在本实施例中,对于MIDI文件的音频合成,其背景音乐和音色样本的合成、压缩编码可以是同步完成的,也可以是将背景音乐和音色样本进行合成,再进行压缩编码而获得音频文件。由于云服务器120在对背景音乐和音色样本的合成过程中,均是按照MP3帧解析为WAV格式数据进行合成,因此,其合成的结果也为WAV格式。但是,也因为同样的原因,WAV格式的文件相对也比较大,非常不利于网络的播放和传输。因此,在本实施例中,云服务器120还会对合成的结果进行音频格式的转换,即进行音频压缩解码处理,生成音频文件。在本实施例中,云服务器120将WAV格式的合成结果进行压缩解码,生成了MP3格式的音频文件。具体的云服务器120通过压缩解码将WAV格式的合成结果转换成MP3格式的音频文件是比较成熟的技术,使用相应的开源工具和许可证即可实现。

进一步地,为了保证合成后的音频流或音频文件的播放效果,云服务器120在进行音色样本的合成过程、或者音色样本和背景音乐的合成过程中,还会进行以下处理:相对音量调节、演奏音量处理以及防止破音处理。

并且,云服务器120在将MIDI文件与背景音乐合成的同时,还会生成一份仅包含用户演奏、不包含背景伴奏的音频文件。

此外,云服务器120合成的音频流或音频文件可供与之相连的电子设备(并不仅限于电子设备110,还可以是其他与云服务器120网络连接的电子设备)进行实时下载和收听。且当电子设备110实时上传MIDI消息,云服务器120实时合成音频流时,与云服务器120网络相连的电子设备可以实时查看和收听音频合成结果。

实施例2

本实施例公开了一种应用于云服务器的音频合成方法,云服务器与电子设备通过网络连接。如图2所示,音频合成方法包括:

步骤S21,接收演奏信息;

演奏信息包括但不限于:演奏曲目信息和音色信息。其中,演奏曲目信息用于唯一地标识演奏曲目,例如,演奏曲目的名称。音色信息用于描述用户希望用哪种声音来演奏。例如,使用的电子乐器是打击乐器的话,那么音色信息描述的是用户希望用的鼓组风格名称,例如:第一套摇滚鼓组,第二套流行鼓组等等。

并且,演奏信息是用户通过电子设备进行选择输入的。

步骤S22,接收MIDI文件;

其中,MIDI文件是MIDI消息合成保存而获得的。MIDI文件通常是以.mid为结尾的指令文件,这些指令可以包括某个音符的开始时间、结束时间、音符特征信息等信息,用于指示MIDI设备的操作以及控制MIDI设备之间的交互。

步骤S23,解析所述MIDI文件:

解析获得MIDI文件,MIDI文件中包括但不限于演奏特征值和演奏时间点等等。其中,演奏特征值包括但不限于演奏力度、演奏音符、音符时长等等。

步骤S24,依据解析的所述MIDI文件,提取对应的音色样本:

演奏特征值是可以用于标识音色样本的。依据音色信息,演奏特征值是与音色样本相对应的。因此,根据演奏特征值和音色信息可以在音色采样库中获取对应的音色样本。

步骤S25,将提取的音色样本合成并压缩解码为音频文件。

进一步地,本实施例的音频合成方法还可将背景音乐合成至音频文件中,具体地:

在步骤S21中,还包括:依据所述演奏信息提取对应的背景音乐:

根据演奏信息中的演奏曲目信息,在曲谱信息库中选择对应的背景音乐。

在步骤S23中,除了解析MIDI文件外,还需将解析的MIDI文件的结果与背景音乐进行同步:

解析MIDI文件,获得每个时间点上所对应的演奏特征值,计算出该时间点对应的背景音乐的绝对时间点。

在步骤S25中,将提取的背景音乐和音色样本对应合成压缩解码为音频文件:

当背景音乐为MP3格式时,将背景音乐按照MP3帧进行分割;

针对背景音乐的每一个MP3帧,将对应的演奏特征值所对应的音色样本与背景音乐进行合成,且一个MP3帧的合成结果作为音频文件的一部分予以保存。当背景音乐的所有MP3帧与对应的音色样本都合成后,合成的结果进行压缩解码就形成音频文件。

关于音频的压缩解码,是目前已经比较成熟的技术,在此就不再赘述。只要是可对音频文件进行压缩解码的方法,均在本发明的保护范围内。

以下以由电声架子鼓输出的MIDI消息保存获得的MIDI文件为例,来进一步说明MIDI文件的解析以及背景音乐和音色样本的合成。

由于MIDI文件是相对于电声架子鼓的,因此MIDI文件就描述了不同的时间点下,对应的通过敲击所触发的鼓盘,以及敲击该鼓盘所用的力度。

解析该MIDI文件,获得演奏时间点、敲击的鼓盘、敲击的力度等。依据背景音乐,可以获得相对于MP3格式的背景音乐的绝对时间点和演奏特征值,该演奏特征值为对应敲击的鼓盘和敲击力度。

然后依据解析的MIDI文件,提取对应的音色样本,并按照背景音乐的MP3帧的先后顺序,同步解码背景音乐音轨和电声架子鼓的鼓音轨,并将背景音乐和对应的音色样本进行合成:

对于背景音乐的当前的MP3帧,由解析的MIDI文件可以获知,背景音乐的当前MP3帧所对应的绝对时间点处是否有鼓盘被敲击;且在有鼓盘被敲击的情况下,是一个还是多个鼓盘被同时敲击了:

在没有鼓盘发声的情况下,则直接解析该时间点对应的背景音乐的当前的MP3帧,解析后获得的数据为WAV格式,将WAV格式的数据予以保存或将WAV格式数据进行压缩编码予以保存;

在一个鼓盘被敲击的情况下,那么在选择的音色信息为鼓组风格“摇滚风格1”时,被敲击的军鼓必然唯一地对应一个MP3格式的音色样本;同步解析该时间点对应的背景音乐的MP3帧和音色样本的第一帧,解析后的数据均为WAV格式;将解析背景音乐和音色样本获得的数据进行加运算,并将加运算的结果予以保存或将加运算的结果进行压缩编码予以保存;

在同时有多个鼓盘被敲击的情况下,那么在选择的音色信息为鼓组风格“摇滚风格1”时,分别获取被敲击的军鼓和镲片所对应的MP3格式的音色样本;同步解析该时间点对应的背景音乐的MP3帧和获取的多个音色样本的第一帧,解析后的数据均为WAV格式;将解析背景音乐和多个音色样本获得的数据进行加运算,并将加运算的结果予以保存或将加运算的结果进行压缩编码予以保存;

再针对背景音乐的下一帧MP3帧按照上面的步骤进行背景音乐和音色样本的合成;直至背景音乐及其与之相对应的MIDI文件所对应的音色样本都被合成。最终合成的结果形成完整的音频文件。

此外,为了保证合成的效果,在背景音乐和音色样本的合成过程中,还会进行相对音量调节、演奏音量处理以及防止破音处理等等。其中,

相对音量调节是指根据背景音乐的音量强度自动调节背景音乐音量和音色样本音量的配比。从而实现背景音乐音量和音色样本的音量可以按照比例进行增减。在本实施例中,其调节的方法是在每一个MP3帧的数据合成前,对解析的背景音乐和音色样本的数据分别进行线性运算。比较常见的是将解析的背景音乐和音色样本的数据分别乘以对应的比例参数。

演奏音量处理是指依据演奏者的演奏力度来调节音色样本的播放音量。对于电声架子鼓而言,敲击力度会影响最终的音色样本的播放音量。在本实施例中,对于敲击力度的处理算法是:根据MIDI文件中记录的敲击力度值:0-127,对当前帧所对应的音色样本的数据进行相应的线性计算。

防止破音处理是对合成后的每一帧的数据进行是否超过阈值的处理,如果超过阈值,那么直接播放就会出现破音。在这种情况下对超过阈值的该帧数据进行削波处理,从而有效避免了破音的出现。

此外,云服务器在合成包含背景音乐的音频文件的同时,还同时会生成一个仅包含用户演奏、不包含背景音乐的音频文件。并且,在生成了这几个音频文件之后,会自动生成一个ID反馈给发送单元;用户分享该ID号,会自动链接至合成的音频文件的URL(Uniform Resource Locator,统一资源定位符),从而实现用户演奏结果的分享。并且,同时提供了包含背景伴奏的音频文件、以及和不包含背景音乐的音频文件,提升了分享内容的多样性,使得分享页面既可以播放多乐器一起演奏的效果,也可以单独听演奏者演奏乐器的那条音轨。

进一步地,云服务器还会将生成音频文件发送至与之相连的电子设备,从而使得用户可以通过电子设备查询音频合成的效果。

上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

实施例3

本实施例公开了一种应用于云服务器的音频合成方法,云服务器与电子设备通过网络连接。如图3所示,音频合成方法包括:

步骤S31,接收演奏信息;

演奏信息包括但不限于:演奏曲目信息和音色信息。其中,演奏曲目信息用于唯一地标识演奏曲目,例如,演奏曲目的名称。音色信息用于描述用户希望用哪种声音来演奏。例如,使用的电子乐器是打击乐器的话,那么音色信息描述的是用户希望用的鼓组风格名称,例如:第一套摇滚鼓组,第二套流行鼓组等等。

并且,演奏信息是用户通过电子设备进行选择输入的。

步骤S32,实时接收MIDI消息;

其中,MIDI消息由演奏特征值组成,其中,演奏特征值包括但不限于演奏音符、演奏力度和音符时长,通过MIDI消息能够获取演奏音符与演奏时间之间的关系。

步骤S33,依据MIDI消息,在音色采样库提取对应的音色样本:

演奏特征值是可以用于标识音色样本的。依据音色信息,演奏特征值是与音色样本相对应的。因此,根据演奏特征值和音色信息可以在音色采样库中获取对应的音色样本。

步骤S34,依据MIDI消息,将提取的音色样本实时合成为音频流。

进一步地,本实施例的音频合成方法还可将背景音乐合成至音频流中,具体地:

在步骤S31中,还包括:依据所述演奏信息提取对应的背景音乐:

根据演奏信息中的演奏曲目信息,在曲谱信息库中选择对应的背景音乐。

在步骤S32中,在接收了MIDI消息后,还需将MIDI消息与背景音乐进行同步:

MIDI消息其实是某一个时间点上所对应的演奏特征值,计算出该时间点对应的背景音乐的绝对时间点。

在步骤S33中,将提取的背景音乐和音色样本对应合成为音频流:

当背景音乐为MP3格式时,将背景音乐按照MP3帧进行分割;

针对背景音乐的每一个MP3帧,将演奏特征值与所对应的音色样本和背景音乐进行合成,且一个MP3帧的合成结果作为一个音频流。

依据MIDI消息,将提取的背景音乐和音色样本的合成过程与实施例2所公开的过程相同,在此就不再赘述。

并且,与MIDI文件的音频合成方法相同,在背景音乐和音色样本的合成过程中,还会进行相对音量调节、演奏音量处理以及防止破音处理等等。相对音量调节、演奏音量处理以及防止破音处理的过程也与实施例2所公开的过程相同。

进一步地,云服务器还会将合成的音频流提供给与之相连的电子设备进行在线查询或试听,从而使得用户实时收听音频合成结果。

上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

实施例4

本实施例公开了一种用于合成音频文件的云服务器,且云服务器120与电子设备120通过网络连接。如图4所示,云服务器120包括:

传输模块410,用于实现与电子设备110之间的数据传输;其中,数据传输包括:接收电子设备110上传的演奏信息,实时接收电子设备110上传的MIDI消息或MIDI文件,以及向电子设备110发送演奏曲谱和音频流/音频文件;其中,所述演奏信息包括演奏曲目信息和音色信息;

传输模块410中还包括解析子模块411,用于解析MIDI文件。

存储模块420,用于保存曲谱信息库、音色采样库和效果库;其中,曲谱信息库中保存的内容包括但不限于:演奏曲目信息、演奏曲谱和背景音乐等等。音色采样库保存的内容包括但不限于:音色信息以及其对应的音色样本。

提取模块430,用于从所述存储模块中提取演奏曲谱和音色样本;根据演奏曲目信息,从曲谱信息库中提取演奏曲谱;根据音色信息和MIDI消息,或者音色信息和解析的MIDI文件,提取对应的音色样本。

合成模块440,用于依据MIDI消息将提取音色样本实时合成为音频流,或依据解析的MIDI文件将提取的音色样本合成并压缩解码为音频文件。

进一步地,提取模块430还用于根据演奏曲目信息,从曲谱信息库中提取背景音乐;

合成模块440还用于将背景音乐与MIDI消息同步,再依据MIDI消息将提取音色样本和背景音乐实时合成为音频流;或者,将背景音乐与解析的MIDI文件同步,再依据解析的MIDI文件将提取的音色样本和背景音乐合成并压缩解码为音频文件。

其中,合成模块440还包括:

相对音量调节子模块441,用于按比例调节背影音乐和音色样本的音量;

演奏音量处理子模块442,用于依据MIDI消息或解析的MIDI文件中的演奏力度调节音色样本的演奏音量;

削波子模块443,用于对出现破音的数据进行削波处理。

需要说明的是,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,但这并不表明本实施例中不存在其它的模块。

不难发现,本实施例为与第二实施例或者第三实施例相对应的系统实施例,本实施例可与第二实施例或者第三实施例互相配合实施。第二实施例或者第三实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第二实施例或者第三实施例中。

实施例5

本实施例公开了一种音频合成方法,其应用于与云服务器通过网络连接的电子设备。

如图5所示,本实施例的音频合成方法包括:

步骤S51,选择演奏信息;其中,演奏信息包括演奏曲目信息和音色信息。

步骤S52,依据演奏信息实时获取MIDI消息;组成的MIDI文件:

其中,MIDI消息由演奏特征值组成,其中,演奏特征值包括但不限于演奏音符、演奏力度和音符时长,通过MIDI消息能够获取演奏音符与演奏时间之间的关系。

并且,在本实施例中并不限定电子设备获取MIDI消息的方式(参见实施例1)。

步骤S53,将MIDI消息与演奏信息实时上传至云服务器,从而使云服务器实现依据MIDI消息的音频流的实时合成。

步骤S54,从云服务器中下载音频流和/或演奏曲谱。其中,音频流是云服务器依据MIDI消息进行音频合成而获得的,演奏曲谱是依据演奏曲目信息从云服务器的曲谱信息库中下载获得的。

此外,步骤S52中还包括:将获取的多个MIDI消息组合保存为MIDI文件。将MIDI消息保存为MIDI文件的技术是现有技术,在此不再赘述。

与之相对应的,步骤S53还包括,将MIDI文件上传至云服务器。云服务器会依据MIDI文件进行音频文件的合成。

那么,在步骤S54中,从云服务器中下载的数据还包括音频文件。

上面方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包含相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

实施例6

本实施例公开了一种电子设备110,电子设备110与云服务器120通过网络连接。

如图6所示,电子设备110包括:

选择模块610,用于选择待演奏的演奏信息,其中,演奏信息包括但不限于演奏曲目信息及音色信息。

获取模块620,依据所述演奏信息实时获取MIDI消息;获取由MIDI消息所组成的MIDI文件。

组合模块630,用于将获取的多个MIDI消息组合保存为MIDI文件。

传输模块640,用于实现与所述云服务器之间的数据传输;其中,所述数据传输包括:从所述云服务器下载所述演奏曲目信息对应的演奏曲谱、音频文件或音频流,以及向所述云服务器实时上传演奏信息、MIDI消息/MIDI文件;其中,音频流是云服务器依据MIDI消息进行实时音频合成而获得;音频文件时云服务器依据MIDI文件进行音频合成而获得的。

此外,该电子设备还可配合进行乐器的辅助性学习:

电子设备将合成的音频文件与标准的演奏曲谱进行比对,可以轻松判断出演奏的准确性。进一步地,还可以将判断演奏准确性的相关数据,例如:演奏总分、最大连击数、演奏正确音符的数据以及演奏错误音符的数量等等上传至云服务器,用于分享。

需要说明的是,为了突出本发明的创新部分,本实施例中并没有将与解决本发明所提出的技术问题关系不太密切的模块引入,但这并不表明本实施例中不存在其它的模块。

不难发现,本实施例为与第五实施例相对应的系统实施例,本实施例可与第五实施例互相配合实施。第五实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在第五实施例中。

综上所述,本发明的一种音频合成系统、方法及其电子设备和云服务器,电子设备直接将实时演奏的MIDI消息(演奏事件)上传至云服务器,或将多个MIDI消息保存为MIDI文件(演奏事件文件),并将MIDI文件利用网络上传至云服务器,利用云服务器实时将MIDI消息合成为音频流,或将MIDI文件进行解析、合成以及压缩解码生成最终的音频文件。本发明直接将MIDI消息实时上传至云服务器;且云服务器根据接收的MIDI消息将其实时合成为音频流,从而实现了电子设备的演奏事件的实时分享;本发明的电子设备还可将由MIDI消息组成的MIDI文件上传至云服务器,相较于直接上传音频信息大大节省了网络上传时间;对于MIDI消息或MIDI文件的合成处理是在云服务器进行的,降低了对作为发送单元的移动终端(电子设备)的系统资源要求,提升了稳定性;并且,由于云服务器的配置一般都比较高,处理能力较强,对于MIDI消息或MIDI文件的合成处理的速度也相对较快,缩短了音频转换时间;而且,云服务器的资源也可以被电子设备充分利用;本发明的云服务器中提供音色采样库和效果库,使得音色合成更具个性化和多样化;本发明的云服务器在音频合成时,通过背景音乐与演奏的音量合理设置以及生成单独乐器音轨的方式,达到突出演奏乐器音轨,并防止音色失真的目的;本发明的云服务器还可记录和保存用户演奏的数据文件,增加了游戏和娱乐元素,也可以用于乐器教学,其应用范围更加广泛。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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