CN103729141A - 实现输入法键盘音乐发声的方法及系统 - Google Patents
实现输入法键盘音乐发声的方法及系统 Download PDFInfo
- Publication number
- CN103729141A CN103729141A CN201310731781.7A CN201310731781A CN103729141A CN 103729141 A CN103729141 A CN 103729141A CN 201310731781 A CN201310731781 A CN 201310731781A CN 103729141 A CN103729141 A CN 103729141A
- Authority
- CN
- China
- Prior art keywords
- note
- button
- control message
- operation information
- user
- 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
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
本发明公开了一种实现输入法键盘音乐发声的方法及系统,该方法包括:(1)在设备的输入法界面实时捕捉按键的操作信息;(2)在捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;(3)将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。利用本发明,可以在用户进行文本输入时方便快捷地实现完整乐曲的播放。
Description
技术领域
本发明涉及键盘发声技术领域,具体涉及一种实现输入法键盘音乐发声的方法及系统。
背景技术
MIDI(Music Instrument Digital Interface,电子乐器的数字化接口)是一个工业标准的电子通信协议,用来定义电子乐器与计算机之间的沟通语言,使得利用MIDI电子乐器所输出的MIDI文件得以在计算机平台上充分兼容并顺利播放。
虽然MIDI文件所定义的各个电子乐器的音色是允许编辑调整的,不过往往对于MIDI文件的编辑调整都发生在MIDI文件生成前的阶段,即编曲阶段,需要具有丰富的电子乐器知识及音乐素养的编曲人士通过高阶专业的MIDI编曲软件来实现的。
发明内容
本发明实施例提供一种实现输入法键盘音乐发声的方法及系统,可以在用户进行文本输入时方便快捷地实现完整乐曲的播放。
为此,本发明实施例提供如下技术方案:
一种实现输入法键盘音乐发声的方法,包括:
(1)在设备的输入法界面实时捕捉按键的操作信息;
(2)在捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;
(3)将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。
优选地,所述方法还包括:
在进入输入法界面后对用户预置或下载的乐谱文件进行解析,得到音符符号序列;或者
在输入法界面首次捕捉到按键的操作信息后,对用户预置或下载的乐谱文件进行解析,得到音符符号序列。
优选地,所述乐谱文件为MusicXML格式的乐谱文件;
所述对所述乐谱文件进行解析,得到音符符号序列包括::
解析MusicXML格式的乐谱文件的<divisions>标签,得到乐曲节拍;
解析MusicXML格式的乐谱文件的<note>标签,得到各音符及其拍长;
根据解析得到的音符及其拍长,生成音符符号序列。
优选地,所述音符符号序列中每个音符符号的音乐旋律的持续时间对应一个按键从按下到释放的持续时间或者音符乐拍对应的时长;
所述在捕捉到按键的操作信息后,将所述音符符号序列转换为MIDI流通道第一控制消息包括:
在捕捉到按键按下的操作信息后,产生开始发声的MIDI流通道第一控制消息;
如果按键按下到按键释放的持续时间小于音符乐拍对应的时长,则在捕捉到按键释放的操作信息后,产生停止发声的MIDI流通道第一控制消息;
如果按键按下到按键释放的持续时间大于或等于音符乐拍对应的时长,则在按键按下持续音符乐拍对应的时长的时间后,产生停止发声的MIDI流通道第一控制消息。
优选地,所述方法还包括:
向用户提供发声模式选择项,所述发声模式选择项包括::音符模式和乐曲模式;
如果用户选择的是乐曲模式,则在捕捉到按键的操作信息后,执行所述步骤(2)至(3);
如果用户选择的是音符模式,则在捕捉到按键的操作信息后,根据被操作的按键及键盘按键与音符符号的映射关系生成MIDI流通道第二控制消息;
将所述第二控制消息传送给所述设备的声卡驱动程序,以使所述设备发声。
优选地,所述方法还包括:在用户进行模式选择并且选择的是音符模式后,加载配置文件,所述配置文件包括:键盘按键与音符符号的映射关系。
优选地,所述方法还包括:
根据用户预先设置的乐器音色,生成音色控制消息;
将所述音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
一种实现输入法键盘音乐发声的系统,包括:
操作信息捕捉模块,用于在设备的输入法界面实时捕捉按键的操作信息;
第一消息生成模块,用于在所述操作信息捕捉模块捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;
控制模块,用于将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。
优选地,所述系统还包括:
解析模块,用于在进入输入法界面后对用户预置或下载的乐谱文件进行解析,得到音符符号序列;或者在输入法界面首次捕捉到按键的操作信息后,对用户预置或下载的乐谱文件进行解析,得到音符符号序列。
优选地,所述乐谱文件为MusicXML格式的乐谱文件;
所述解析模块包括:
节拍解析单元,用于解析MusicXML格式的乐谱文件的<divisions>标签,得到乐曲节拍;
音符解析单元,用于解析MusicXML格式的乐谱文件的<note>标签,得到各音符及其拍长;
音符符号序列生成单元,用于根据解析得到的音符及其拍长,生成音符符号序列。
优选地,所述音符符号序列中每个音符符号的音乐旋律的持续时间对应一个按键从按下到释放的持续时间或者音符乐拍对应的时长;
所述第一消息生成模块,用于在捕捉到按键按下的操作信息后,产生开始发声的MIDI流通道第一控制消息;并且在按键按下到按键释放的持续时间小于音符乐拍对应的时长时,在捕捉到按键释放的操作信息后,,产生停止发声的MIDI流通道第一控制消息;在按键按下到按键释放的持续时间大于或等于音符乐拍对应的时长时,在按键按下持续音符乐拍对应的时长的时间后,产生停止发声的MIDI流通道第一控制消息。
优选地,所述系统还包括:
发声模式选择模块,用于向用户提供发声模式选择项,所述发声模式选择项包括:音符模式和乐曲模式;并在用户选择的是乐曲模式时,通知所述第一消息生成模块在所述操作信息捕捉模块捕捉到按键的操作信息后,生成MIDI流通道第一控制消息;在用户选择的是音符模式时,通知第二消息生成模块在所述操作信息捕捉模块捕捉到按键的操作信息后,生成MIDI流通道第二控制消息;
所述第二消息生成模块,用于在所述操作信息捕捉模块捕捉到按键的操作信息后,根据被操作的按键及键盘按键与音符符号的映射关系生成MIDI流通道第二控制消息;
所述控制模块,还用于将所述第二控制消息传送给所述设备的声卡驱动程序,以使所述设备发声。
优选地,所述系统还包括:
加载模块,用于在用户进行模式选择并且选择的是音符模式后,加载配置文件,所述配置文件包括:键盘按键与音符符号的映射关系。
优选地,所述系统还包括:
音色控制消息生成模块,用于根据用户预先设置的乐器音色,生成音色控制消息;
所述控制模块,还用于将所述音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
本发明实施例提供的实现输入法键盘音乐发声的方法及系统,在设备的输入法界面实时捕捉按键的操作信息,在捕捉到按键的操作信息后将用户预置或下载的乐谱文件通过MIDI流通道控制信号进行实时动态的音乐播放,从而实现了用户在输入文本信息时的音乐播放,而且不需要生成MIDI文件,避免了用户自己编写MIDI音乐文件的麻烦,使用更加便捷。而且,,还可以根据用户的喜好,根据用户敲入的字符序列使设备发出相应的乐曲声音,增加了文本信息录入的娱乐性,从而提高了用户体验。
进一步地,还可以为用户提供不同的MIDI音色,即用户可以自由选择不同的乐器的声音,从而使音乐播放更加丰富。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,,还可以根据这些附图获得其他的附图。
图1是本发明实施例实现输入法键盘音乐发声的方法的一种流程图;
图2是本发明实施例实现输入法键盘音乐发声的方法的另一种流程图;
图3是本发明实施例实现输入法键盘音乐发声的系统的一种结构示意图;
图4是本发明实施例实现输入法键盘音乐发声的系统的另一种结构示意图;
图5是本发明实施例实现输入法键盘音乐发声的系统的另一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
如图1所示,是本发明实施例实现输入法键盘音乐发声的方法的一种流程图,包括以下步骤:
步骤101,在设备的输入法界面实时捕捉按键的操作信息;
步骤102,在捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;;
步骤103,将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。
需要说明的是,上述音符符号序列可以是在进入输入法界面后对用户预置或下载的乐谱文件进行解析得到的,或者是在输入法界面首次捕捉到按键的操作信息后,对用户预置或下载的乐谱文件进行解析得到的,对此本发明实施例不做限定。
在实际应用中,可以设置乐谱文件库,在设备启动或者在输入法应用启动后,加载该乐谱文件库。当然,也可以由用户从网上下载自己喜欢的乐谱文件,并将其添加到该乐谱文件库中。用户可以从该乐谱文件库中选择自己喜欢的乐谱文件,以便在文字输入时播放相应的音乐。
上述乐谱文件可以是MusicXML(Music Extensible Markup Language音乐扩展标记语言)格式的乐谱文件,这种文件采用一种开放的基于MusicXML音乐符号格式来存放歌曲的基本信息。MusicXML技术将整体乐曲元素和属性信息表示为一份XML文档。当然,也可以是其它格式的乐谱文件,对此本发明实施例不做限定。
下面以MusicXML格式的乐谱文件为例,说明本发明实施例中对乐谱文件解析得到的音符符号序列的详细过程,具体过程如下:
(1)解析MusicXML乐谱文件的<divisions>标签,得到乐曲节拍;
(2)解析MusicXML乐谱文件的<note>标签,得到具体的每一音符信息,<note>标签的解析过程具体如下:
a)对于每一音符信息,需要具体解析<note>标签下的<step>、<alter>和<octave>子标签,通过拼凑得到形如B#4(<step><alter><octave>)的实际音符,其中<step>为基本的七个音名,<alter>表示表示升高或降低的音级,<octave>表示所属音组;通过解析<duration>子标签,得到音符的拍长。如果<note>标签存在<rest>子标签,表示次音符为休止符,则只需要解析<duration>子标签,得到休止符的拍长。
b)判断<note>标签下是否有<chord>子标签,如果有,则表示次音符为上一个音符的和弦音,此时需要将所有的和弦音组合起来。
c)判断<note>标签是否结束,如果</note>标签存在,则表示音符信息解析结束,将之前解析到的音符进行组合并添加至音符符号序列。然后返回步骤a)进行下一个音符的解析。
由此可见,音符符号序列中包含了各音符的相关信息。
在上述步骤102中,在捕捉到按键按下的操作信息后,会产生开始发声的MIDI流通道第一控制消息,该消息传送给设备的声卡驱动程序后,所述设备开始发声,发出的声音对应所述音符符号序列中相应的音符。
由于不同的用户在进行文本输入时敲击键盘的速度会有所不同,会使得按键按下到按键释放的持续时间与音符乐拍对应的时长不相同,,因此,在本发明实施例中,可以根据按键按下到按键释放的持续时间与音符乐拍对应的时长来控制相应音符对应的发声持续时间。具体地,如果按键按下到按键释放的持续时间小于音符乐拍对应的时长,则在捕捉到按键释放的操作信息后,产生停止发声的MIDI流通道第一控制消息。如果按键按下到按键释放的持续时间大于或等于音符乐拍对应的时长,则在按键按下持续音符乐拍对应的时长的时间后,产生停止发声的MIDI流通道第一控制消息,在捕捉到按键释放的操作信息后,则无需再产生停止发声的MIDI流通道第一控制消息。相应地,该消息传送给设备的声卡驱动程序后,所述设备停止发声。
需要说明的是,不同音符乐拍对应的时长可以根据BPM(Beat Per Minute每分钟节拍数)和每个音符的乐符类型、以及乐谱的拍号的分母综合计算得到;比如bpm=40,音符A4对应的乐符为8分音符,乐谱的拍号为2/4(表示以四分音符为一拍,一小节有2拍),因此音符A4对应的时长为(60s/40*4/8)=0.75s。
例如:按键对应的音符符号为A4,用户在进行文本输入时,按下按键会先发送“开始发声”的MIDI流通道第一控制消息,该控制消息为:0x9039,其中0x90表示改变MIDI流通道开始发声的控制命令,0x39表示MIDI音符代码表中A4对应的十六进制的编码值;按键释放时发送“停止发声”的MIDI流通道第一控制消息,该控制消息为:0x8039,其中0x80表示改变MIDI流通道停止发声的控制命令,0x39表示MIDI音符代码表中A4对应的十六进制的编码值。
需要说明的是,在上述第一控制消息中可以包含音符符号序列中相应的音符信息。这样,在用户进行连续文本输入时,通过上述第一控制消息可以使设备产生对应所述音符符号序列的音乐旋律,而对应音符符号序列中每个音符乐拍的时长也可以通过上述方法计算得到,从而可以根据按键按下到按键释放的持续时间与音符乐拍对应的时长,方便有效地控制相应音符对应的发声持续时间。对应音符符号序列中各音符的乐拍时长同样可以组成一个序列,并保存在一个文件中。
另外,为了满足不同用户对音乐的不同喜好需求,在本发明方法的另一实施例中,还可以向用户提供乐器音色选择或设置功能,以使用户可以自由选择或设置不同的乐器的声音。具体地,可以预先建立乐器音色数据库,将各种不同的.syx格式的音色文件加载到乐器音色数据库中供用户选择或设置,并且向用户提供相应的音色设置界面,具体地,可以在设备启动后进入该设置界面,也可以在输入法应用启动后进入该设置界面,对此本发明实施例不做限定。相应地,在该实施例中,可以根据用户预先设置的乐器音色,生成音色控制消息,并将该音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
选择不同的乐器音色后会生成一条MIDI改变音色的控制消息,例如“0xC0XX”,其中0xC0表示改变MIDI流通道音色的控制命令,0xXX表示对应的MIDI乐器音色对应于通用MIDI标准的索引值的十六进制编码。
需要说明的是,上述音色控制消息与前面提到的MIDI流通道第一控制消息是相互独立的,而且,所述音色控制消息可以是在用户设置乐器音色后生成,并在生成后立即传送给所述设备的声卡驱动程序,也可以在输入法界面用户进行按键输入时传送给所述设备的声卡驱动程序。当然,用户在进行按键输入的过程中也可以通过上述功能改变设备发声的音色,对此本发明实施例不做限定。
可见,本发明实施例提供的实现输入法键盘音乐发声的方法,在设备的输入法界面实时捕捉按键的操作信息,在捕捉到按键的操作信息后将用户预置或下载的乐谱文件通过MIDI流通道控制信号进行实时动态的音乐播放,从而实现了用户在输入文本信息时的音乐播放,而且不需要生成MIDI文件,避免了用户自己编写MIDI音乐文件的麻烦,使用更加便捷。而且,,还可以根据用户的喜好,使设备发出相应的乐曲声音,增加了文本信息录入的娱乐性,从而提高了用户体验。进一步地,还可以为用户提供不同的MIDI音色,即用户可以自由选择不同的乐器的声音,从而使音乐播放更加丰富。
如图2所示,是本发明实施例实现输入法键盘音乐发声的方法的另一种流程图,包括以下步骤:
步骤201,在设备的输入法界面实时捕捉按键的操作信息;
步骤202,在捕捉到按键的操作信息后,根据当前的发声模式确定需要启动的操作;如果当前的发声模式是乐曲模式,则执行步骤203;如果当前的发声模式是音符模式,则执行步骤205;
步骤203,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;
步骤204,将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律;
步骤205,根据被操作的按键及键盘按键与音符符号的映射关系生成MIDI流通道第二控制消息;
步骤206,将所述第二控制消息传送给所述设备的声卡驱动程序,以使所述设备发声。
在具体应用中,可以向用户提供发声模式选择功能,比如,可以通过设置界面提供相应的发声模式选项,所述发声模式选项可以包括::音符模式和乐曲模式。具体地,可以在设备启动后进入该设置界面,也可以在输入法应用启动后进入该设置界面,对此本发明实施例不做限定。
同样地,在音符模式下,也可以通过前面所述的音色控制消息控制设备发声的音色。另外,在音符模式下,还可以将所述设备发声形成的音乐记录下来,作为用户自己创作的音乐片段,比如可以将其用作铃声等。
需要说明的是,上述键盘按键与音符符号的映射关系可以由系统预先设置,当然也可以由用户来设置,比如,可以使按键上的数字标号与按键所代表的音符的简谱标记相同,即按键“1”代表简谱音符“1”,按键“2”代表简谱音符“2”,并依此类推。当然,也可以不按上述对应关系,对此本发明实施例不做限定。所述音符符号中可以包括各音符对应的主频及其一个或多个谐波等信息。
在具体应用中,可以将该映射关系放到配置文件中,在用户进行模式选择并且选择的是音符模式后,加载该配置文件。
另外,需要说明的是,由于用户的喜好不同,在上述发声模式选项中还可以包括静音模式,如果用户选择了静音模式,则应用程序不会执行步骤203至步骤204、以及步骤205至步骤206的操作,所述设备也不会发出相应的乐声。
另外,需要说明的是,在音符模式下,同样也可以根据用户预先设置的乐器音色,生成音色控制消息,并将该音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。而且,所述音色控制消息与上述MIDI流通道第二控制消息也是相互独立的,而且,所述音色控制消息可以是在用户设置乐器音色后生成,并在生成后立即传送给所述设备的声卡驱动程序,也可以在输入法界面用户进行按键输入时传送给所述设备的声卡驱动程序。当然,用户在进行按键输入的过程中也可以通过上述功能改变设备发声的音色,对此本发明实施例不做限定。
可见,本发明实施例实现输入法键盘音乐发声的方法,不仅可以在用户进行文本输入时,将已有的乐谱文件中的音符信息转换为MIDI通道的控制消息传递给设备声卡驱动程序进行乐曲声音信号输出,而且还可以将用户输入的按键信息对应为相应的音符信息,进而转换为MIDI通道的控制消息传递给设备声卡驱动程序进行声音信号输出。
本发明实施例的方法可以应用于多种具有声卡的设备上,比如,手机、iPAD等设备。
相应地,本发明实施例还提供一种实现输入法键盘音乐发声的系统,如图3所示,是该系统的一种结构示意图。
在该实施例中,所述系统包括:
操作信息捕捉模块301,用于在设备的输入法界面实时捕捉按键的操作信息;
第一消息生成模块302,用于在所述操作信息捕捉模块301捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;
控制模块303,用于将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。
在本发明实施例中,对用户预置或下载的乐谱文件进行解析的过程可以是在进入输入法界面后或者是在输入法界面首次捕捉到按键的操作信息后进行的。相应地,如图3所示,在本发明实施例中,所述系统还可进一步包括:解析模块304,用于对用户预置或下载的乐谱文件进行解析,得到音符符号序列。
在实际应用中,所述乐谱文件可以是MusicXML格式的乐谱文件,当然也可以是其它格式的乐谱文件,对此本发明实施例不做限定。
以MusicXML格式的乐谱文件为例,相应地,所述解析模块304的一种具体实现方式包括:节拍解析单元、音符解析单元、以及音符符号序列生成单元,其中:
节拍解析单元,用于解析MusicXML格式的乐谱文件的<divisions>标签,得到乐曲节拍;
音符解析单元,用于解析MusicXML格式的乐谱文件的<note>标签,得到各音符及其拍长,<note>标签的具体解析过程可参照前面本发明方法实施例中的描述,在此不再赘述;
音符符号序列生成单元,用于根据解析得到的音符及其拍长,生成音符符号序列。
当然,对应不同格式的乐谱文件,相应的解析模块304的具体结构可以不同,对此本发明实施例不做限定。
由于不同的用户在进行文本输入时敲击键盘的速度会有所不同,会使得按键按下到按键释放的持续时间与音符乐拍对应的时长不相同,,因此,在本发明实施例中,可以根据按键按下到按键释放的持续时间与音符乐拍对应的时长来控制相应音符对应的发声持续时间。具体地,上述第一消息生成模块302在捕捉到按键按下的操作信息后,产生开始发声的MIDI流通道第一控制消息;并且在按键按下到按键释放的持续时间小于音符乐拍对应的时长时,在捕捉到按键释放的操作信息后,产生停止发声的MIDI流通道第一控制消息;在按键按下到按键释放的持续时间大于或等于音符乐拍对应的时长时,,在按键按下持续音符乐拍对应的时长的时间后,产生停止发声的MIDI流通道第一控制消息。可见,在本发明实施例中,所述音符符号序列中每个音符符号的音乐旋律的持续时间对应一个按键从按下到释放的持续时间或者音符乐拍对应的时长。
另外,为了满足不同用户对音乐的不同喜好需求,在本发明系统的另一实施例中,还可以向用户提供乐器音色选择或设置功能,以使用户可以自由选择或设置不同的乐器的声音。具体地,可以预先建立乐器音色数据库,将各种不同的.syx格式的音色文件加载到乐器音色数据库中供用户选择或设置。并且向用户提供相应的音色设置界面,具体地,可以在设备启动后进入该设置界面,也可以在输入法应用启动后进入该设置界面,对此本发明实施例不做限定。
相应地,如图4所示,在所述系统中还设置有:音色控制消息生成模块401,用于根据用户预先设置的乐器音色,生成音色控制消息。
在该实施例中,控制模块303还用于将所述音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
需要说明的是,上述音色控制消息与前面提到的MIDI流通道第一控制消息是相互独立的,而且,所述音色控制消息可以是在用户设置乐器音色后生成,并在生成后立即传送给所述设备的声卡驱动程序,也可以在输入法界面用户进行按键输入时传送给所述设备的声卡驱动程序。当然,用户在进行按键输入的过程中也可以通过上述功能改变设备发声的音色,对此本发明实施例不做限定。
可见,本发明实施例提供的实现输入法键盘音乐发声的系统,在设备的输入法界面实时捕捉按键的操作信息,在捕捉到按键的操作信息后将用户预置或下载的乐谱文件通过MIDI流通道控制信号进行实时动态的音乐播放,从而实现了用户在输入文本信息时的音乐播放,而且不需要生成MIDI文件,避免了用户自己编写MIDI音乐文件的麻烦,使用更加便捷。而且,,还可以根据用户的喜好,使设备发出相应的乐曲声音,增加了文本信息录入的娱乐性,从而提高了用户体验。进一步地,还可以为用户提供不同的MIDI音色,即用户可以自由选择不同的乐器的声音,从而使音乐播放更加丰富。
如图5所示,是本发明实施例实现输入法键盘音乐发声的系统的另一种结构示意图。
与图3所示实施例不同的是,在该实施例中,所述系统还进一步包括:发声模式选择模块501和第二消息生成模块502。其中:
发声模式选择模块501用于向用户提供发声模式选择项,,所述发声模式选择项包括:音符模式和乐曲模式;并在用户选择的是乐曲模式时,通知所述第一消息生成模块302在所述操作信息捕捉模块301捕捉到按键的操作信息后,生成MIDI流通道第一控制消息;在用户选择的是音符模式时,通知第二消息生成模块502在所述操作信息捕捉模块301捕捉到按键的操作信息后,生成MIDI流通道第二控制消息。
第二消息生成模块502用于在所述操作信息捕捉模块301捕捉到按键的操作信息后,根据被操作的按键及键盘按键与音符符号的映射关系生成MIDI流通道第二控制消息。
相应地,在该实施例中,控制模块303还用于将所述第二控制消息传送给所述设备的声卡驱动程序,以使所述设备发声。
上述键盘按键与音符符号的映射关系可以由系统预先设置,当然也可以由用户来设置,比如,可以使按键上的数字标号与按键所代表的音符的简谱标记相同,即按键“1”代表简谱音符“1”,按键“2”代表简谱音符“2”,并依此类推。当然,也可以不按上述对应关系,对此本发明实施例不做限定。所述音符符号中可以包括各音符对应的主频及其一个或多个谐波等信息。
在具体应用中,可以将该映射关系放到配置文件中,相应地,在所述系统中设置加载模块(未图示),在用户进行模式选择并且选择的是音符模式后,加载该配置文件。当然,也可以在系统启动时加载该配置文件,对此本发明实施例不做限定。
另外,需要说明的是,图4中所示的音色控制消息生成模块401同样也可以应用于图5的示例中,也就是说,不论在乐曲模式还是音符模式情况下,都可以通过音色控制消息生成模块401根据用户预先设置的乐器音色,生成音色控制消息,并由控制模块303将所述音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
可见,本发明实施例实现输入法键盘音乐发声的系统,不仅可以在用户进行文本输入时,将已有的乐谱文件中的音符信息转换为MIDI通道的控制消息传递给设备声卡驱动程序进行乐曲声音信号输出,而且还可以将用户输入的按键信息对应为相应的音符信息,进而转换为MIDI通道的控制消息传递给设备声卡驱动程序进行声音信号输出。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块、单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种实现输入法键盘音乐发声的方法,其特征在于,,包括:
(1)在设备的输入法界面实时捕捉按键的操作信息;
(2)在捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;
(3)将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在进入输入法界面后对用户预置或下载的乐谱文件进行解析,得到音符符号序列;或者
在输入法界面首次捕捉到按键的操作信息后,对用户预置或下载的乐谱文件进行解析,得到音符符号序列。
3.根据权利要求2所述的方法,其特征在于,所述乐谱文件为MusicXML格式的乐谱文件;
所述对所述乐谱文件进行解析,得到音符符号序列包括::
解析MusicXML格式的乐谱文件的<divisions>标签,得到乐曲节拍;
解析MusicXML格式的乐谱文件的<note>标签,得到各音符及其拍长;
根据解析得到的音符及其拍长,生成音符符号序列。
4.根据权利要求1所述的方法,其特征在于,所述音符符号序列中每个音符符号的音乐旋律的持续时间对应一个按键从按下到释放的持续时间或者音符乐拍对应的时长;
所述在捕捉到按键的操作信息后,将所述音符符号序列转换为MIDI流通道第一控制消息包括:
在捕捉到按键按下的操作信息后,产生开始发声的MIDI流通道第一控制消息;
如果按键按下到按键释放的持续时间小于音符乐拍对应的时长,则在捕捉到按键释放的操作信息后,产生停止发声的MIDI流通道第一控制消息;
如果按键按下到按键释放的持续时间大于或等于音符乐拍对应的时长,则在按键按下持续音符乐拍对应的时长的时间后,产生停止发声的MIDI流通道第一控制消息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向用户提供发声模式选择项,所述发声模式选择项包括::音符模式和乐曲模式;
如果用户选择的是乐曲模式,则在捕捉到按键的操作信息后,执行所述步骤(2)至(3);
如果用户选择的是音符模式,则在捕捉到按键的操作信息后,根据被操作的按键及键盘按键与音符符号的映射关系生成MIDI流通道第二控制消息;
将所述第二控制消息传送给所述设备的声卡驱动程序,以使所述设备发声。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在用户进行模式选择并且选择的是音符模式后,加载配置文件,所述配置文件包括:键盘按键与音符符号的映射关系。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
根据用户预先设置的乐器音色,生成音色控制消息;
将所述音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
8.一种实现输入法键盘音乐发声的系统,其特征在于,,包括:
操作信息捕捉模块,用于在设备的输入法界面实时捕捉按键的操作信息;
第一消息生成模块,用于在所述操作信息捕捉模块捕捉到按键的操作信息后,将对用户预置或下载的乐谱文件解析得到的音符符号序列转换为MIDI流通道第一控制消息;
控制模块,用于将所述第一控制消息传送给所述设备的声卡驱动程序,以使所述设备产生对应所述音符符号序列的音乐旋律。
9.根据权利要求8所述的系统,其特征在于,所述系统还包括:
解析模块,用于在进入输入法界面后对用户预置或下载的乐谱文件进行解析,得到音符符号序列;或者在输入法界面首次捕捉到按键的操作信息后,对用户预置或下载的乐谱文件进行解析,得到音符符号序列。
10.根据权利要求9所述的系统,其特征在于,所述乐谱文件为MusicXML格式的乐谱文件;
所述解析模块包括:
节拍解析单元,用于解析MusicXML格式的乐谱文件的<divisions>标签,得到乐曲节拍;
音符解析单元,用于解析MusicXML格式的乐谱文件的<note>标签,得到各音符及其拍长;
音符符号序列生成单元,用于根据解析得到的音符及其拍长,生成音符符号序列。
11.根据权利要求8所述的系统,其特征在于,所述音符符号序列中每个音符符号的音乐旋律的持续时间对应一个按键从按下到释放的持续时间或者音符乐拍对应的时长;
所述第一消息生成模块,用于在捕捉到按键按下的操作信息后,产生开始发声的MIDI流通道第一控制消息;并且在按键按下到按键释放的持续时间小于音符乐拍对应的时长时,在捕捉到按键释放的操作信息后,,产生停止发声的MIDI流通道第一控制消息;在按键按下到按键释放的持续时间大于或等于音符乐拍对应的时长时,在按键按下持续音符乐拍对应的时长的时间后,产生停止发声的MIDI流通道第一控制消息。
12.根据权利要求8所述的系统,其特征在于,所述系统还包括:
发声模式选择模块,用于向用户提供发声模式选择项,所述发声模式选择项包括:音符模式和乐曲模式;并在用户选择的是乐曲模式时,通知所述第一消息生成模块在所述操作信息捕捉模块捕捉到按键的操作信息后,生成MIDI流通道第一控制消息;在用户选择的是音符模式时,通知第二消息生成模块在所述操作信息捕捉模块捕捉到按键的操作信息后,生成MIDI流通道第二控制消息;
所述第二消息生成模块,用于在所述操作信息捕捉模块捕捉到按键的操作信息后,根据被操作的按键及键盘按键与音符符号的映射关系生成MIDI流通道第二控制消息;
所述控制模块,还用于将所述第二控制消息传送给所述设备的声卡驱动程序,以使所述设备发声。
13.根据权利要求12所述的系统,其特征在于,所述系统还包括:
加载模块,用于在用户进行模式选择并且选择的是音符模式后,加载配置文件,所述配置文件包括:键盘按键与音符符号的映射关系。
14.根据权利要求8至13任一项所述的系统,其特征在于,所述系统还包括:
音色控制消息生成模块,用于根据用户预先设置的乐器音色,生成音色控制消息;
所述控制模块,还用于将所述音色控制消息传送给所述设备的声卡驱动程序,以控制所述设备发声的音色。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310731781.7A CN103729141A (zh) | 2013-12-26 | 2013-12-26 | 实现输入法键盘音乐发声的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310731781.7A CN103729141A (zh) | 2013-12-26 | 2013-12-26 | 实现输入法键盘音乐发声的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103729141A true CN103729141A (zh) | 2014-04-16 |
Family
ID=50453232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310731781.7A Pending CN103729141A (zh) | 2013-12-26 | 2013-12-26 | 实现输入法键盘音乐发声的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103729141A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216612A (zh) * | 2014-08-04 | 2014-12-17 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104298435A (zh) * | 2014-10-10 | 2015-01-21 | 百度在线网络技术(北京)有限公司 | 输入界面的处理方法和装置 |
CN105205047A (zh) * | 2015-09-30 | 2015-12-30 | 北京金山安全软件有限公司 | 乐器乐谱文件的播放方法、转换方法、装置及电子设备 |
CN106098045A (zh) * | 2016-06-08 | 2016-11-09 | 北京小米移动软件有限公司 | 乐曲制作方法及装置 |
CN106548767A (zh) * | 2016-11-04 | 2017-03-29 | 广东小天才科技有限公司 | 一种演奏控制方法、装置及演奏乐器 |
CN108074552A (zh) * | 2016-11-18 | 2018-05-25 | 北京酷我科技有限公司 | 一种钢琴的电子曲谱转换方法及系统 |
CN110473507A (zh) * | 2019-09-02 | 2019-11-19 | 玖月音乐科技(北京)有限公司 | 一种双排键智能走谱方法及系统 |
WO2023124472A1 (zh) * | 2021-12-31 | 2023-07-06 | 腾讯音乐娱乐科技(深圳)有限公司 | Midi音乐文件的生成方法、存储介质和终端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321966A (zh) * | 2000-07-24 | 2001-11-14 | 深圳市中兴通讯股份有限公司 | 在手机上实现乐曲弹奏的方法及可实现乐曲弹奏的手机 |
US20060011044A1 (en) * | 2004-07-15 | 2006-01-19 | Creative Technology Ltd. | Method of composing music on a handheld device |
CN1862656A (zh) * | 2005-05-13 | 2006-11-15 | 杭州波导软件有限公司 | 一种将乐谱转换成音乐输出的方法及其装置 |
CN101902530A (zh) * | 2010-07-28 | 2010-12-01 | 青岛海信移动通信技术股份有限公司 | 一种移动终端及其输出音乐的方法 |
CN102541408A (zh) * | 2010-12-26 | 2012-07-04 | 上海量明科技发展有限公司 | 利用字符输入界面调出配套音乐的方法及系统 |
-
2013
- 2013-12-26 CN CN201310731781.7A patent/CN103729141A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1321966A (zh) * | 2000-07-24 | 2001-11-14 | 深圳市中兴通讯股份有限公司 | 在手机上实现乐曲弹奏的方法及可实现乐曲弹奏的手机 |
US20060011044A1 (en) * | 2004-07-15 | 2006-01-19 | Creative Technology Ltd. | Method of composing music on a handheld device |
CN1862656A (zh) * | 2005-05-13 | 2006-11-15 | 杭州波导软件有限公司 | 一种将乐谱转换成音乐输出的方法及其装置 |
CN101902530A (zh) * | 2010-07-28 | 2010-12-01 | 青岛海信移动通信技术股份有限公司 | 一种移动终端及其输出音乐的方法 |
CN102541408A (zh) * | 2010-12-26 | 2012-07-04 | 上海量明科技发展有限公司 | 利用字符输入界面调出配套音乐的方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216612A (zh) * | 2014-08-04 | 2014-12-17 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN104298435A (zh) * | 2014-10-10 | 2015-01-21 | 百度在线网络技术(北京)有限公司 | 输入界面的处理方法和装置 |
CN105205047A (zh) * | 2015-09-30 | 2015-12-30 | 北京金山安全软件有限公司 | 乐器乐谱文件的播放方法、转换方法、装置及电子设备 |
WO2017054588A1 (zh) * | 2015-09-30 | 2017-04-06 | 北京金山安全软件有限公司 | 乐器乐谱文件的播放方法、转换方法、装置及电子设备 |
CN106098045A (zh) * | 2016-06-08 | 2016-11-09 | 北京小米移动软件有限公司 | 乐曲制作方法及装置 |
CN106548767A (zh) * | 2016-11-04 | 2017-03-29 | 广东小天才科技有限公司 | 一种演奏控制方法、装置及演奏乐器 |
CN108074552A (zh) * | 2016-11-18 | 2018-05-25 | 北京酷我科技有限公司 | 一种钢琴的电子曲谱转换方法及系统 |
CN110473507A (zh) * | 2019-09-02 | 2019-11-19 | 玖月音乐科技(北京)有限公司 | 一种双排键智能走谱方法及系统 |
CN110473507B (zh) * | 2019-09-02 | 2020-08-25 | 玖月音乐科技(北京)有限公司 | 一种双排键智能走谱方法及系统 |
WO2023124472A1 (zh) * | 2021-12-31 | 2023-07-06 | 腾讯音乐娱乐科技(深圳)有限公司 | Midi音乐文件的生成方法、存储介质和终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103729141A (zh) | 实现输入法键盘音乐发声的方法及系统 | |
JP6344578B2 (ja) | 電子楽器を演奏する方法 | |
CN1205827C (zh) | 具有音乐合成能力的便携式通信终端装置 | |
KR100658869B1 (ko) | 음악생성장치 및 그 운용방법 | |
CN101552000B (zh) | 音乐相似性处理方法 | |
CN101702316A (zh) | 一种将midi音乐转化为颜色信息的方法和系统 | |
JP5974436B2 (ja) | 楽曲生成装置 | |
JP6452229B2 (ja) | カラオケ効果音設定システム | |
JP6457326B2 (ja) | 歌唱音声の伝送遅延に対応したカラオケシステム | |
CN101930732B (zh) | 基于用户输入语音的乐曲生成方法及装置、智能终端 | |
CN101673540A (zh) | 一种实现移动终端演奏音乐的方法和装置 | |
JP6492933B2 (ja) | 制御装置、合成歌唱音生成装置およびプログラム | |
JP2007219139A (ja) | 旋律生成方式 | |
JP2012189901A (ja) | 電子楽器 | |
JP6587459B2 (ja) | カラオケイントロにおける曲紹介システム | |
CN101551999B (zh) | 一种自动翻页装置 | |
JP2013231881A (ja) | カラオケ採点システム | |
CN101552002B (zh) | 一种媒体播放装置及媒体操作方法 | |
JP3974069B2 (ja) | 合唱曲や重唱曲を処理するカラオケ演奏方法およびカラオケシステム | |
CN201397671Y (zh) | 媒体播放设备 | |
CN101552003B (zh) | 一种媒体信息处理方法 | |
JP2014066740A (ja) | カラオケ装置 | |
JP2016050974A (ja) | カラオケ採点システム | |
JP6144593B2 (ja) | 歌唱採点システム | |
JP6415136B2 (ja) | カラオケ歌唱採点システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666 Applicant after: Iflytek Co., Ltd. Address before: Wangjiang Road high tech Development Zone Hefei city Anhui province 230088 No. 666 Applicant before: Anhui USTC iFLYTEK Co., Ltd. |
|
COR | Change of bibliographic data | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140416 |