CN105702249B - 自动选择伴奏的方法和装置 - Google Patents
自动选择伴奏的方法和装置 Download PDFInfo
- Publication number
- CN105702249B CN105702249B CN201610065562.3A CN201610065562A CN105702249B CN 105702249 B CN105702249 B CN 105702249B CN 201610065562 A CN201610065562 A CN 201610065562A CN 105702249 B CN105702249 B CN 105702249B
- Authority
- CN
- China
- Prior art keywords
- audio file
- trifle
- note
- chord
- accompaniment
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000002123 temporal effect Effects 0.000 claims description 12
- 238000012217 deletion Methods 0.000 claims description 9
- 230000037430 deletion Effects 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 9
- 230000000052 comparative effect Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 241000288673 Chiroptera Species 0.000 description 6
- 230000000630 rising effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Classifications
-
- 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
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/08—Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
- G10L13/10—Prosody rules derived from text; Stress or intonation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/38—Chord
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/36—Accompaniment arrangements
- G10H1/38—Chord
- G10H1/383—Chord detection and/or recognition, e.g. for correction, or automatic bass generation
-
- 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/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/005—Musical accompaniment, i.e. complete instrumental rhythm synthesis added to a performed melody, e.g. as output by drum machines
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2210/00—Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
- G10H2210/101—Music Composition or musical creation; Tools or processes therefor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H2240/00—Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
- G10H2240/011—Files or data streams containing coded musical information, e.g. for transmission
- G10H2240/046—File format, i.e. specific or non-standard musical file format used in or adapted for electrophonic musical instruments, e.g. in wavetables
- G10H2240/056—MIDI or other note-oriented file format
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本发明公开了一种自动选择伴奏的方法和装置,该方法包括:根据采集到的用户哼唱的旋律生成预设格式的第一音频文件,其次根据第一音频文件确定用户哼唱的速度,然后将第一音频文件转换为MIDI格式的第二音频文件,并对第二音频文件进行去高音处理,得到MIDI格式的第三音频文件,然后确定第三音频文件的调号,并根据第三音频文件和速度确定第三音频文件的小节起点位置,从而根据第三音频文件、调号以及小节起点位置确定第三音频文件的和弦走向,进而根据第三音频文件、速度、调号、小节起点位置以及和弦走向选择伴奏。能够根据用户哼唱的旋律自动选择伴奏,简化了配伴奏操作,使非专业人士不需要学习乐理知识也能够为哼唱旋律配伴奏。
Description
技术领域
本发明涉及音频技术领域,具体地,涉及一种自动选择伴奏的方法和装置。
背景技术
在现有技术中,当人们在进行音乐创作时,特别是对于不具备音乐知识的非专业人士,可能无法直接写出乐谱,这种情况下通常会通过哼唱来表达自己想好的旋律,而对于专业人士也可能会通过哼唱来表达自己想好的旋。然而,为这段哼唱的旋律配伴奏,可能需要先写出这段哼唱旋旋律的乐谱,在为其选择合适的伴奏,这对与创作者而言不但操作繁琐,还需要具备大量的乐理知识储备,对于非专业人士而言需要付出大量的学习时间成本。
发明内容
本发明的目的是提供一种自动选择伴奏的方法和装置,用于解决现有技术中配伴奏操作繁琐,非专业人士需要付出大量的学习时间成本的问题。
为了实现上述目的,本发明提供一种自动选择伴奏的方法,所述方法包括:
根据采集到的用户哼唱的旋律生成预设格式的第一音频文件;
根据所述第一音频文件确定用户哼唱的速度;
将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件;
对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件;
确定所述第三音频文件的调号;
根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置;
根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向;
根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。
可选的,所述对所述第二音频文件进行去高音处理,得到第三音频文件包括:
识别所述第二音频文件中每个音符是否存在对应的泛音音符;
将存在对应的泛音音符的音符确定为需要处理的音符,并将每个所述需要处理的音符对应的泛音音符删除;
根据删除泛音音符后的所有音符生成所述第三音频文件。
可选的,所述确定所述第三音频文件的调号,包括:
确定在所述第三音频文件为第一调号的情况下,所述第三音频文件中的属于预先规定的调内音的所有音符,并获取属于所述调内音的所有音符的第一时间总和;
确定在所述第三音频文件为所述第一调号的情况下,所述第三音频文件中的属于预先规定的调外音的所有音符,并获取所述属于所述调外音的所有音符的第二时间总和;
将所述第一时间总和除以所述第二时间总和得到的商确定为所述第一调号的定调指数;其中,所述第一调号为所有调号中的任一调号;
在获取所有调号的定调指数后,在所述所有调号中选择定调指数最高的调号作为所述第三音频文件的调号。
可选的,所述根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置包括:
以所述第三音频文件为第一拍号执行以下步骤:
a.将所述第三音频文件的每个小节划分为N份,每份为1/N小节,并确定所述第三音频文件的第k个音符所位于的第j个小节的i/N小节处,其中第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置,其中0≤n≤N-1,j为正整数,i为非负整数,i≤N;
b.利用预先设置的节拍权重表,确定第k个音符位于的伴奏的第j个小节的i/N小节处时的节拍权重;其中,k为正整数,k的起始值为1;
c.根据所述第k个音符的时长,以及所述节拍权重确定所述第k个音符的音符指数;
d.将k的值加1后再次执行步骤a~c,直至得到所述第三音频文件所有音符的音符指数;
e.获取所述所有音符的音符指数相加的和,得到当所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置时的小节起点指数;
f.将n的值加1后再次执行步骤a~e,直至得到所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
以所述第三音频文件为第二拍号执行步骤a~f,得到所述第三音频文件为第二拍号时,所述第1个小节的起点位于所述第三音频文件的第k个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
在所述第三音频文件为所述第一拍号时执行步骤a~f得到的N个小节起点指数,以及所述第三音频文件为所述第二拍号时执行步骤a~f得到的N个小节起点指数中,确定小节起点指数的最大值;
将所述起点指数的最大值对应的起点确定为所述第1个小节的起点位置。
可选的,所述根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向包括:
根据所述第三音频文件、所述调号以及所述小节起点位置为所述第三音频文件提供多个待选和弦走向;
分别计算所述第三音频文件中的每个小节与每个待选和弦走向中对应和弦的和弦内音相匹配音符的总时长;
将所述第三音频文件中的每个小节与任一待选和弦的相匹配音符的总时长相加的和作为所述任一待选和弦的和弦走向指数;
在得到所述多个待选和弦走向中所有待选和弦的和弦走向指数后,将和弦走向指数最高的待选和弦走向确定为所述第三音频的和弦走向。
可选的,所述根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏包括:
根据所述调号确定伴奏的调号范围;
根据所述速度确定伴奏的速度范围;
将伴奏数据库中满足所述调号范围和所述速度范围的伴奏确定为所述第三音频文件的伴奏;
利用预设的换和弦算法,将所述第三音频文件的伴奏的和弦走向变换为所述第三音频文件的和弦走向。
为了实现上述目的,本发明还提供一种自动选择伴奏的装置,所述装置包括:
生成模块,用于根据采集到的用户哼唱的旋律生成预设格式的第一音频文件;
速度识别模块,用于根据所述第一音频文件确定用户哼唱的速度;
转换模块,用于将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件;
处理模块,用于对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件;
调号识别模块,用于确定所述第三音频文件的调号;
起点识别模块,用于根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置;
和弦走向识别模块,用于根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向;
伴奏选择模块,用于根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。
可选的,所述处理模块,包括:泛音识别子模块,删除子模块和生成子模块;
所述泛音识别子模块,用于识别所述第二音频文件中每个音符是否存在对应的泛音音符;
所述删除子模块,用于将存在对应的泛音音符的音符确定为需要处理的音符,并将每个所述需要处理的音符对应的泛音音符删除;
所述生成子模块,用于根据删除泛音音符后的所有音符生成所述第三音频文件。
可选的,所述调号识别模块,包括:时间统计子模块,指数计算子模块和调号确定子模块;
所述时间统计子模块,用于确定在所述第三音频文件为第一调号的情况下,所述第三音频文件中的属于预先规定的调内音的所有音符,并获取属于所述调内音的所有音符的第一时间总和;
所述时间统计子模块,还用于确定在所述第三音频文件为所述第一调号的情况下,所述第三音频文件中的属于预先规定的调外音的所有音符,并获取所述属于所述调外音的所有音符的第二时间总和;
所述指数计算子模块,用于将所述第一时间总和除以所述第二时间总和得到的商确定为所述第一调号的定调指数;其中,所述第一调号为所有调号中的任一调号;
所述调号确定子模块,用于在获取所有调号的定调指数后,在所述所有调号中选择定调指数最高的调号作为所述第三音频文件的调号。
可选的,所述起点识别模块,包括:指数计算子模块,指数比较子模块和起点确定子模块;
所述指数计算子模块,用于以所述第三音频文件为第一拍号执行以下步骤:
a.将所述第三音频文件的每个小节划分为N份,每份为1/N小节,并确定所述第三音频文件的第k个音符所位于的第j个小节的i/N小节处,其中第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置,其中0≤n≤N-1,j为正整数,i为非负整数,i≤N;
b.利用预先设置的节拍权重表,确定第k个音符位于的伴奏的第j个小节的i/N小节处时的节拍权重;其中,k为正整数,k的起始值为1;
c.根据所述第k个音符的时长,以及所述节拍权重确定所述第k个音符的音符指数;
d.将k的值加1后再次执行步骤a~c,直至得到所述第三音频文件所有音符的音符指数;
e.获取所述所有音符的音符指数相加的和,得到当所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置时的小节起点指数;
f.将n的值加1后再次执行步骤a~e,直至得到所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
所述指数计算子模块,还用于以所述第三音频文件为第二拍号执行步骤a~f,得到所述第三音频文件为第二拍号时,所述第1个小节的起点位于所述第三音频文件的第k个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
所述指数比较子模块,用于在所述第三音频文件为所述第一拍号时执行步骤a~f得到的N个小节起点指数,以及所述第三音频文件为所述第二拍号时执行步骤a~f得到的N个小节起点指数中,确定小节起点指数的最大值;
所述起点确定子模块,用于将所述起点指数的最大值对应的起点确定为所述第1个小节的起点位置。
可选的,所述和弦走向识别模块,包括:和旋筛选子模块,时间统计子模块,指数计算子模块和和弦确定子模块;
所述和旋筛选子模块,用于根据所述第三音频文件、所述调号以及所述小节起点位置为所述第三音频文件提供多个待选和弦走向;
所述时间统计子模块,用于分别计算所述第三音频文件中的每个小节与每个待选和弦走向中对应和弦的和弦内音相匹配音符的总时长;
所述指数计算子模块,用于将所述第三音频文件中的每个小节与任一待选和弦的相匹配音符的总时长相加的和作为所述任一待选和弦的和弦走向指数;
所述和弦确定子模块,用于在得到所述多个待选和弦走向中所有待选和弦的和弦走向指数后,将和弦走向指数最高的待选和弦走向确定为所述第三音频的和弦走向。
可选的,所述伴奏选择模块,包括:调号范围确定子模块,速度范围确定子模块,伴奏筛选子模块,和弦变换子模块;
所述调号范围确定子模块,用于根据所述调号确定伴奏的调号范围;
所述速度范围确定子模块,用于根据所述速度确定伴奏的速度范围;
所述伴奏筛选子模块,将伴奏数据库中满足所述调号范围和所述速度范围的伴奏确定为所述第三音频文件的伴奏;
所述和弦变换子模块,利用预设的换和弦算法,将所述第三音频文件的伴奏的和弦走向变换为所述第三音频文件的和弦走向。
综上所述,本发明实施例提供一种自动选择伴奏的方法和装置,该方法首先根据采集到的用户哼唱的旋律生成预设格式的第一音频文件,其次根据所述第一音频文件确定用户哼唱的速度,然后将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件,并对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件,然后确定所述第三音频文件的调号,并根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置,从而根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向,进而根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。能够解决现有技术中配伴奏操作繁琐,非专业人士需要付出大量的学习时间成本的问题,实现了根据用户哼唱的旋律自动选择伴奏,从而简化了配伴奏操作,非专业人士不需要学习乐理知识也能够为哼唱旋律配伴奏。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明各个实施例所涉及的一种实施环境的结构示意图;
图2是本发明实施例提供的一种自动选择伴奏的方法的流程示意图;
图3是本发明另一实施例提供的一种自动选择伴奏的方法的流程示意图;
图4是本发明实施例提供的一种自动选择伴奏的装置的结构框图;
图5是图4示出的实施例提供的一种处理模块的框图;
图6是图4示出的实施例提供的一种调号识别模块的框图;
图7是图4示出的实施例提供的一种起点识别模块的框图;
图8是图4示出的实施例提供的一种和弦走向识别模块的框图;
图9是图4示出的实施例提供的一种伴奏选择模块的框图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在介绍本发明提供的自动选择伴奏的方法之前,首先对本发明所涉及应用场景进行介绍,图1是本发明各个实施例所涉及的一种实施环境的结构示意图。参见图1,该实施环境可以包括:其中,终端100和服务器200,其中终端100可以是具有联网功能的电子设备,可以通过数据网络(例如3G、4G网络等)访问服务器200,或者可以通过无线局域网(例如Wi-Fi)来访问服务器200,服务器200可以作为数据库为该终端100提供海量的伴奏、歌曲等音乐资源以及与这些资源相关的其他必要信息。当然,上述的实施环境是示例性的,包括但不限于此,例如实施环境中也可以没有服务器200,此时伴奏、歌曲等音乐资源以及与这些资源相关的其他必要信息可以预先存储在终端100中。
其中,上述的终端100例如可以是智能手机、平板电脑、智能电视、智能手表、PDA(Personal Digital Assistant,个人数字助理)、便携计算机等移动终端,也可以是台式计算机等固定终端。服务器200可以为一台服务器,或者由若干台服务器组成的服务器集群,或者可以是一个云计算服务中心。
图2是本发明实施例提供的一种自动选择伴奏的方法的流程示意图,参见图2,本实施例以该自动选择伴奏的方法应用于终端来举例说明,该终端可以为图1所示实施环境中的终端,该方法可以包括以下步骤:
步骤201,根据采集到的用户哼唱的旋律生成预设格式的第一音频文件。
其中,所述预设格式可以是WAV(波形格式数据)格式。
步骤202,根据所述第一音频文件确定用户哼唱的速度。
其中,哼唱的速度可以指用户每分钟哼唱多少拍,故该速度可以表示为V,V的单位为拍/分钟。
步骤203,将所述第一音频文件转换为MIDI(Musical Instrument DigitalInterface,乐器数字接口)格式的第二音频文件。
MIDI是编曲界最广泛的音乐标准格式,可称为“计算机能理解的乐谱”。MIDI传输的不是声音信号,而是音符、控制参数等指令,例如演奏哪个音符、多大音量等。
步骤204,对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件。
步骤205,确定所述第三音频文件的调号。
其中,调号一共有12个,分别为C、#C、D、bE、E、F、#F、G、#G、A、bB、B,确定第三音频文件的调号实际上就是确定用户哼唱的旋律属于上述的哪一个调号。
步骤206,根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置。
确定所述第三音频文件的小节起点位置,是为了使配伴奏时方便调整伴奏的起点,使之与第三音频文件,即用户哼唱的第1个节拍(第1个小节的起点)重合。
步骤207,根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向。
其中,和弦走向,是指乐曲的和弦之间固定的连接关系,对于绝大多数的乐曲都有着其既定的和弦走向。
步骤208,根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。
综上所述,本发明实施例提供一种自动选择伴奏的方法,该方法首先根据采集到的用户哼唱的旋律生成预设格式的第一音频文件,其次根据所述第一音频文件确定用户哼唱的速度,然后将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件,并对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件,然后确定所述第三音频文件的调号,并根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置,从而根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向,进而根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。能够解决现有技术中配伴奏操作繁琐,非专业人士需要付出大量的学习时间成本的问题,实现了根据用户哼唱的旋律自动选择伴奏,从而简化了配伴奏操作,非专业人士不需要学习乐理知识也能够为哼唱旋律配伴奏。
图3是本发明另一实施例提供的一种自动选择伴奏的方法的流程示意图,参见图3,本实施例以该自动选择伴奏的方法应用于终端来举例说明,该终端可以为图1所示实施环境中的终端100,该方法可以包括以下步骤:
步骤301,采集用户哼唱的旋律。
步骤302,根据采集到的用户哼唱的旋律生成预设格式的第一音频文件。
其中,预设格式可以是WAV格式,WAV是声波文件格式,记录的是声音本身,属于无损音乐格式,具有出色的音质。
步骤303,根据所述第一音频文件确定用户哼唱的速度。
其中,哼唱的速度可以指用户每分钟哼唱多少拍,故该速度可以表示为V,V的单位为拍/分钟。示例地,可以利用预设的测速度算法测出第一音频文件的速度V。
步骤304,将所述第一音频文件转换为MIDI格式的第二音频文件。
步骤305,对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件。
其中,高音是指哼唱的旋律中的泛音,人声在唱一个音的时候通常也会伴随着高8*N度,这个音就是所述泛音,因此在MIDI格式的第二音频文件中,有些用户实际唱出的音符会存在对应的泛音音符。因此去高音处理的过程就可以包括:
首先,识别所述第二音频文件中每个音符是否存在对应的泛音音符。
其次,将存在对应的泛音音符的音符确定为需要处理的音符,并将每个所述需要处理的音符对应的泛音音符删除。
在第二音频文件中,以横轴为时间轴在同一时间点上,可能包括实际哼唱的音符和泛音音符,其中在同一时间电商泛音音符的音高于实际哼唱的音符,因此删除高音音符,剩下的音符就是用户哼唱的实际音符。
最后,将根据删除泛音音符后的所有音符生成所述第三音频文件。
步骤306,确定所述第三音频文件的调号。
示例地,可以通过以下方法确定调号:
首先,确定在所述第三音频文件为第一调号的情况下,所述第三音频文件中的属于预先规定的调内音的所有音符,并获取属于所述调内音的所有音符的第一时间总和。示例地,预先规定的调内音可以是1、2、3、5、6。
其中,这里的第一调号可以是C、#C、D、bE、E、F、#F、G、#G、A、bB、B中的任意一个。
其次,确定在所述第三音频文件为所述第一调号的情况下,所述第三音频文件中的属于预先规定的调外音的所有音符,并获取所述属于所述调外音的所有音符的第二时间总和。示例地,预先规定的调外音可以是#1、b3、#4、#5、b7。在本步骤中,1、2、3、4、5、6、7分别表示duo、ruai、mi、fa、sou、la、xi七个音,#表示升调,b表示降调。
再次,将所述第一时间总和除以所述第二时间总和得到的商确定为所述第一调号的定调指数。
在得到一个调号的定调指数之后,可以再对上述12个调号中的其他调号执行上述步骤,直至获取所有调号的定调指数。
最后,在获取所有调号的定调指数后,在所述所有调号中选择定调指数最高的调号作为所述第三音频文件的调号。
步骤307,根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置。
示例的,可以通过以下算法确定所述第三音频文件的小节起点位置:
以所述第三音频文件为第一拍号执行以下步骤:
a.将所述第三音频文件的每个小节划分为N份,每份为1/N小节,并确定所述第三音频文件的第k个音符所位于的第j个小节的i/N小节处,其中第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置,其中0≤n≤N-1,j为正整数,i为非负整数,i≤N;
b.利用预先设置的节拍权重表,确定第k个音符位于的伴奏的第j个小节的i/N小节处时的节拍权重;其中,k为正整数,k的起始值为1;
c.根据所述第k个音符的时长,以及所述节拍权重确定所述第k个音符的音符指数;
d.将k的值加1后再次执行步骤a~c,直至得到所述第三音频文件所有音符的音符指数;
e.获取所述所有音符的音符指数相加的和,得到当所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置时的小节起点指数;
f.将n的值加1后再次执行步骤a~e,直至得到所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
以所述第三音频文件为第二拍号执行步骤a~f,得到所述第三音频文件为第二拍号时,所述第1个小节的起点位于所述第三音频文件的第k个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
在所述第三音频文件为所述第一拍号时执行步骤a~f得到的N个小节起点指数,以及所述第三音频文件为所述第二拍号时执行步骤a~f得到的N个小节起点指数中,确定小节起点指数的最大值;
将所述起点指数的最大值对应的起点确定为所述的第1个小节的起点位置。
示例地,所述第一拍号可以为2/4拍,每个小节有两拍,第二拍号可以为4/4拍,每个小节有四拍。因此,拍号不同,每个小节的时长也就不同。由于速度V表示每分钟多少拍,因此一拍的时长P可以表示为P=60/V。假设第三音频文件为第一拍号时的小节时长为第一时长,第三音频文件为第二拍号时的小节时长为第二时长,则第一时长为P*2=120/V,第二时长为P*4=240/V。因此,不同的拍号下,偏移i/N小节的位置也就不同。另外上述的第一方向可以是沿时间轴正方向右移的方向,下面以N=32为例进行说明,可以包括:
首先,假设第三音频文件为2/4拍。
(1)将第三音频文件的第1个小节划分为32份,每份为1/32小节。由于2/4拍时,每个小节的时长为120/V,因此偏移量1/32小节的时间长度就等于120/32V=3/8V。
(2)假设第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处(向右偏移0/32小节),可以确定所述第三音频文件的第1个音符位于所述第1个小节的0/32小节处,从而利用表2所示的节拍权重表可以确定所述第1个音符的节拍权重。
表1
i | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
节拍权重 | 720 | 1 | 2 | 1 | 6 | 1 | 2 | 1 |
i | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
节拍权重 | 24 | 1 | 2 | 1 | 6 | 1 | 2 | 1 |
i | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
节拍权重 | 120 | 1 | 2 | 1 | 6 | 1 | 2 | 1 |
i | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
节拍权重 | 24 | 1 | 2 | 1 | 6 | 1 | 2 | 1 |
此时i=0,则可以确定节拍权重=720。
(3)根据所述第1个音符的时长,以及所述节拍权重720确定所述第1个音符的音符指数。同理,根据与(1)~(3)相同的方法,可以确定所述第三音频文件的第2~m个音符的音符指数,其中m等于第三音频文件中的音符总数,从而得到了所述第三音频文件所有音符的音符指数。
(4)获取所述所有音符的音符指数相加的和,就得到了第三音频文件为2/4拍时当第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处时的小节起点指数,记为小节起点指数0。
(5)通过与上述步骤(2)~(4)相同的方法,还可以依次确定第三音频文件为2/4拍时第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处右移1/32~32/32小节的位置时的小节起点指数。可以分别记为小节起点指数1~31。
其次,假设第三音频文件为4/4拍。
(6)将第三音频文件的第1个小节划分为32份,每份为1/32小节。由于4/4拍时,每个小节的时长为220/V,因此偏移量1/32小节的时间长度就等于220/32V=55/8V。
而后,通过与上述步骤(2)~(4)相同的方法,可以依次确定第三音频文件为4/4拍时第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处右移0/32~32/32小节的位置时的小节起点指数。可以分别记为小节起点指数32~63。
(7)在第三音频文件为2/4时计算得到的小节起点指数0~31,以及第三音频文件为4/4拍时计算得到的小节起点指数32~63中,确定小节起点指数的最大值。
(8)将所述起点指数的最大值对应的起点确定为第三音频文件的第一个小节的起点位置。
假设小节起点指数0~63中最大的是小节起点指数33,由于小节起点指数33是第三音频文件为4/4时,第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处右移1/32小节的位置时计算出的小节起点指数,因此可以确定第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处右移1/32小节的位置。
另外,如果出现第三音频文件为2/4时计算得到的小节起点指数0~31和第三音频文件为4/4时计算得到的小节起点指数32~63中存在相等的最大值时,例如小节起点指数2和小节起点指数62同为最大值,则此时可以根据速度来选择,如果V大于100拍/分钟,可以选择4/4时计算得到的小节起点指数中的最大值,如果V小于或等于100拍/分钟,则可以选择2/4时计算得到的小节起点指数中的最大值。假设V=60拍/分钟,则选择小节起点指数2,从而确定第三音频文件的第1个小节的起点位于所述第三音频文件的第1个音符处右移3/32小节的位置。
步骤308,根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向。
示例地,每首哼唱的旋律均有各自的和弦走向,因此首先,根据处理后的MIDI格式的第三音频文件,并依据步骤306中确定的调号,步骤307中确定的小节起点,通过预设的确定和弦走向算法,为该第三音频文件提供合适的和弦走向。
假设根据上述的方法确定了以下几个合适的和弦走向:
和弦走向C-Am-F-G(1645),和弦走向C-G-Am-F(1564),和弦走向F-G-Em-Am(4536),和弦走向Am-F-C-G(6415),和弦走向Am-F-G-C(6451),和弦走向C-G-Am-Am7-F-C-Dm7-G7(17654321),然后将上述的几个和弦走向作为待选和弦走向。
其次,分别计算所述第三音频文件中的每个小节与每个待选和弦走向中对应和弦的和弦内音相匹配音符的总时长。
示例地,假设第三音频文件中的第一小节各音符为:23321,第二小节各音符为:23321,第三小节各音符为:26616,第四小节各音符:25552。以上述的和弦走向C-Am-F-G(1645)为例,C和弦的和弦内音为135,第三音频文件的第一小节各音符中与C和弦的和弦内音匹配(即重合)的音符有331。Am和弦的和弦内音为613,第三音频文件的第二小节各音符中与Am和弦的和弦内音匹配的音符有331。F和弦的和弦内音为461,第三音频文件的第三小节各音符中与F和弦的和弦内音匹配的音符有6616。G和弦的和弦内音为572,第三音频文件的第四小节各音符中与G和弦的和弦内音匹配的音符有25552。
计算上述相匹配的音符总时长,得出和弦走向为C-Am-F-G(1645)的和弦走向指数。同理,可以计算出和弦走向C-G-Am-F(1564),和弦走向F-G-Em-Am(4536),和弦走向Am-F-C-G(6415),和弦走向Am-F-G-C(6451),和弦走向C-G-Am-Am7-F-C-Dm7-G7(17654321)的和弦走向指数。
最后,将和弦走向指数最高的待选和弦走向确定为所述第三音频的和弦走向。
步骤309,根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。
首先,根据步骤306确定的调号确定伴奏的调号范围。
调号一共有12个,C、#C、D、bE、E、F、#F、G、#G、A、bB、B,根据已确定的调号,可以确定伴奏的调号范围为已确定的调号的“正负3区间调号”。例如,已确定的调号为E调,E调的“正负3区间调号”指“#C、D、bE、E、F、#F、G”七个调号,即伴奏的调号范围为“#C、D、bE、E、F、#F、G”七个调号。
其次,根据步骤303确定的速度确定伴奏的速度范围。
示例地,可以确定伴奏的速度为已确定的速度的“正负10区间的速度”。例如,假设速度V=90(拍/分钟),则“正负10区间的速度”为“速度80到速度100”,因此确定伴奏的速度范围为“速度80到速度100”。
再次,将服务器的伴奏数据库中满足所述调号范围和所述速度范围的伴奏确定为所述第三音频文件的伴奏。
最后,利用预设的换和弦算法,将所述第三音频文件的伴奏的和弦走向变换为所述第三音频文件的和弦走向,从而就得到了适合第三音频文件也就是用户哼唱旋律的伴奏。其中,和弦走向,是指乐曲的和弦之间固定的连接关系,对于绝大多数的乐曲都这其既定的和弦走向。另外,需要说明的是为所述第三音频文件确定的伴奏也是MIDI格式的音频文件,该MIDI格式的伴奏可以用于与已存储的用户哼唱的声音合成导出为包含用户歌声并且配有伴奏的歌曲。
综上所述,本发明实施例提供一种自动选择伴奏的装置,该方法首先根据采集到的用户哼唱的旋律生成预设格式的第一音频文件,其次根据所述第一音频文件确定用户哼唱的速度,然后将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件,并对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件,然后确定所述第三音频文件的调号,并根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置,从而根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向,进而根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。能够解决现有技术中配伴奏操作繁琐,非专业人士需要付出大量的学习时间成本的问题,实现了根据用户哼唱的旋律自动选择伴奏,从而简化了配伴奏操作,非专业人士不需要学习乐理知识也能够为哼唱旋律配伴奏。
图4是本发明实施例提供的一种自动选择伴奏的装置400的结构框图,所述装置400可以用于执行图2或图3所示的方法,所述装置400可以应用于终端,所述装置400可以通过软件或者硬件或者二者结合的形式构成终端的部分或者全部,所述终端可以是图1所示的实施环境中的终端100,参见图4,所述装置包括:
生成模块410,用于根据采集到的用户哼唱的旋律生成预设格式的第一音频文件;
速度识别模块420,用于根据所述第一音频文件确定用户哼唱的速度;
转换模块430,用于将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件;
处理模块440,用于对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件;
调号识别模块450,用于确定所述第三音频文件的调号;
起点识别模块460,用于根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置;
和弦走向识别模块470,根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向;
伴奏选择模块480,用于根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。
可选的,图5是图4示出的实施例提供的一种处理模块的框图,参见图5,所述处理模块440,包括:泛音识别子模块441,删除子模块442和生成子模块443;
所述泛音识别子模块441,用于识别所述第二音频文件中每个音符是否存在对应的泛音音符;
所述删除子模块442,用于将存在对应的泛音音符的音符确定为需要处理的音符,并将每个所述需要处理的音符对应的泛音音符删除;
所述生成子模块443,用于根据删除泛音音符后的所有音符生成所述第三音频文件。
可选的,图6是图4示出的实施例提供的一种调号识别模块的框图,参见图6,所述调号识别模块450,包括:时间统计子模块451,指数计算子模块452和调号确定子模块453;
所述时间统计子模块451,用于确定在所述第三音频文件为第一调号的情况下,所述第三音频文件中的属于预先规定的调内音的所有音符,并获取属于所述调内音的所有音符的第一时间总和;
所述时间统计子模块451,用于还用于确定在所述第三音频文件为所述第一调号的情况下,所述第三音频文件中的属于预先规定的调外音的所有音符,并获取所述属于所述调外音的所有音符的第二时间总和;
所述指数计算子模块452,用于将所述第一时间总和除以所述第二时间总和得到的商确定为所述第一调号的定调指数;其中,所述第一调号为所有调号中的任一调号;
所述调号确定子模块453,用于在获取所有调号的定调指数后,在所述所有调号中选择定调指数最高的调号作为所述第三音频文件的调号。
可选的,图7是图4示出的实施例提供的一种起点识别模块的框图,参见图7,所述起点识别模块460,包括:指数计算子模块461,指数比较子模块462和起点确定子模块463;
所述指数计算子模块461,用于以所述第三音频文件为第一拍号执行以下步骤:
a.将所述第三音频文件的每个小节划分为N份,每份为1/N小节,并确定所述第三音频文件的第k个音符所位于的第j个小节的i/N小节处,其中第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置,其中0≤n≤N-1,j为正整数,i为非负整数,i≤N;
b.利用预先设置的节拍权重表,确定第k个音符位于的伴奏的第j个小节的i/N小节处时的节拍权重;其中,k为正整数,k的起始值为1;
c.根据所述第k个音符的时长,以及所述节拍权重确定所述第k个音符的音符指数;
d.将k的值加1后再次执行步骤a~c,直至得到所述第三音频文件所有音符的音符指数;
e.获取所述所有音符的音符指数相加的和,得到当所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置时的小节起点指数;
f.将n的值加1后再次执行步骤a~e,直至得到所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
所述指数计算子模块461,还用于以所述第三音频文件为第二拍号执行步骤a~f,得到所述第三音频文件为第二拍号时,所述第1个小节的起点位于所述第三音频文件的第k个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
所述指数比较子模块462,用于在所述第三音频文件为所述第一拍号时执行步骤a~f得到的N个小节起点指数,以及所述第三音频文件为所述第二拍号时执行步骤a~f得到的N个小节起点指数中,确定小节起点指数的最大值;
所述起点确定子模块463,用于将所述起点指数的最大值对应的起点确定为所述第1个小节的起点位置。
可选的,图8是图4示出的实施例提供的一种和弦走向识别模块的框图,参见图8,所述和弦走向识别模块470,包括:和旋筛选子模块471,时间统计子模块472,指数计算子模块473,和弦确定子模块474;
所述和旋筛选子模块471,用于根据所述第三音频文件、所述调号以及所述小节起点位置为所述第三音频文件提供多个待选和弦走向;
所述时间统计子模块472,用于分别计算所述第三音频文件中的每个小节与每个待选和弦走向中对应和弦的和弦内音相匹配音符的总时长;
所述指数计算子模块473,用于将所述第三音频文件中的每个小节与任一待选和弦的相匹配音符的总时长相加的和作为所述任一待选和弦的和弦走向指数;
所述和弦确定子模块474,用于在得到所述多个待选和弦走向中所有待选和弦的和弦走向指数后,将和弦走向指数最高的待选和弦走向确定为所述第三音频的和弦走向。
可选的,图9是图4示出的实施例提供的一种伴奏选择模块的框图,参见图9,所述伴奏选择模块480,包括:调号范围确定子模块481,速度范围确定子模块482,伴奏筛选子模块483,和弦变换子模块484;
所述调号范围确定子模块481,用于根据所述调号确定伴奏的调号范围;
所述速度范围确定子模块482,用于根据所述速度确定伴奏的速度范围;
所述伴奏筛选子模块483,将伴奏数据库中满足所述调号范围和所述速度范围的伴奏确定为所述第三音频文件的伴奏;
所述和弦变换子模块484,利用预设的换和弦算法,将所述第三音频文件的伴奏的和弦走向变换为所述第三音频文件的和弦走向。
本发明实施例提供一种自动选择伴奏的装置,通过首先根据采集到的用户哼唱的旋律生成预设格式的第一音频文件,其次根据所述第一音频文件确定用户哼唱的速度,然后将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件,并对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件,然后确定所述第三音频文件的调号,并根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置,从而根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向,进而根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏。能够解决现有技术中配伴奏操作繁琐,非专业人士需要付出大量的学习时间成本的问题,实现了根据用户哼唱的旋律自动选择伴奏,从而简化了配伴奏操作,非专业人士不需要学习乐理知识也能够为哼唱旋律配伴奏。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (10)
1.一种自动选择伴奏的方法,所述方法包括:
根据采集到的用户哼唱的旋律生成预设格式的第一音频文件;
其特征在于,所述方法还包括:
根据所述第一音频文件确定用户哼唱的速度;
将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件;
对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件;
确定所述第三音频文件的调号;
根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置;
根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向;
根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏;
所述确定所述第三音频文件的调号,包括:
确定在所述第三音频文件为第一调号的情况下,所述第三音频文件中的属于预先规定的调内音的所有音符,并获取属于所述调内音的所有音符的第一时间总和;
确定在所述第三音频文件为所述第一调号的情况下,所述第三音频文件中的属于预先规定的调外音的所有音符,并获取所述属于所述调外音的所有音符的第二时间总和;
将所述第一时间总和除以所述第二时间总和得到的商确定为所述第一调号的定调指数;其中,所述第一调号为所有调号中的任一调号;
在获取所有调号的定调指数后,在所述所有调号中选择定调指数最高的调号作为所述第三音频文件的调号。
2.根据权利要求1所述的方法,其特征在于,所述对所述第二音频文件进行去高音处理,得到第三音频文件包括:
识别所述第二音频文件中每个音符是否存在对应的泛音音符;
将存在对应的泛音音符的音符确定为需要处理的音符,并将每个所述需要处理的音符对应的泛音音符删除;
根据删除泛音音符后的所有音符生成所述第三音频文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置包括:
以所述第三音频文件为第一拍号执行以下步骤:
a.将所述第三音频文件的每个小节划分为N份,每份为1/N小节,并确定所述第三音频文件的第k个音符所位于的第j个小节的i/N小节处,其中第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置,其中0≤n≤N-1,j为正整数,i为非负整数,i≤N;
b.利用预先设置的节拍权重表,确定第k个音符位于的伴奏的第j个小节的i/N小节处时的节拍权重;其中,k为正整数,k的起始值为1;
c.根据所述第k个音符的时长,以及所述节拍权重确定所述第k个音符的音符指数;
d.将k的值加1后再次执行步骤a~c,直至得到所述第三音频文件所有音符的音符指数;
e.获取所述所有音符的音符指数相加的和,得到当所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置时的小节起点指数;
f.将n的值加1后再次执行步骤a~e,直至得到所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
以所述第三音频文件为第二拍号执行步骤a~f,得到所述第三音频文件为第二拍号时,所述第1个小节的起点位于所述第三音频文件的第k个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
在所述第三音频文件为所述第一拍号时执行步骤a~f得到的N个小节起点指数,以及所述第三音频文件为所述第二拍号时执行步骤a~f得到的N个小节起点指数中,确定小节起点指数的最大值;
将所述起点指数的最大值对应的起点确定为所述第1个小节的起点位置。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向包括:
根据所述第三音频文件、所述调号以及所述小节起点位置为所述第三音频文件提供多个待选和弦走向;
分别计算所述第三音频文件中的每个小节与每个待选和弦走向中对应和弦的和弦内音相匹配音符的总时长;
将所述第三音频文件中的每个小节与任一待选和弦的相匹配音符的总时长相加的和作为所述任一待选和弦的和弦走向指数;
在得到所述多个待选和弦走向中所有待选和弦的和弦走向指数后,将和弦走向指数最高的待选和弦走向确定为所述第三音频的和弦走向。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏包括:
根据所述调号确定伴奏的调号范围;
根据所述速度确定伴奏的速度范围;
将伴奏数据库中满足所述调号范围和所述速度范围的伴奏确定为所述第三音频文件的伴奏;
利用预设的换和弦算法,将所述第三音频文件的伴奏的和弦走向变换为所述第三音频文件的和弦走向。
6.一种自动选择伴奏的装置,所述装置包括:
生成模块,用于根据采集到的用户哼唱的旋律生成预设格式的第一音频文件;
其特征在于,所述装置还包括:
速度识别模块,用于根据所述第一音频文件确定用户哼唱的速度;
转换模块,用于将所述第一音频文件转换为乐器数字接口MIDI格式的第二音频文件;
处理模块,用于对所述第二音频文件进行去高音处理,得到MIDI格式的第三音频文件;
调号识别模块,用于确定所述第三音频文件的调号;
起点识别模块,用于根据所述第三音频文件和所述速度确定所述第三音频文件的小节起点位置;
和弦走向识别模块,用于根据所述第三音频文件、所述调号以及所述小节起点位置确定所述第三音频文件的和弦走向;
伴奏选择模块,用于根据所述第三音频文件、所述速度、所述调号、所述小节起点位置以及所述和弦走向选择伴奏;
所述调号识别模块,包括:时间统计子模块,指数计算子模块和调号确定子模块;
所述时间统计子模块,用于确定在所述第三音频文件为第一调号的情况下,所述第三音频文件中的属于预先规定的调内音的所有音符,并获取属于所述调内音的所有音符的第一时间总和;
所述时间统计子模块,还用于确定在所述第三音频文件为所述第一调号的情况下,所述第三音频文件中的属于预先规定的调外音的所有音符,并获取所述属于所述调外音的所有音符的第二时间总和;
所述指数计算子模块,用于将所述第一时间总和除以所述第二时间总和得到的商确定为所述第一调号的定调指数;其中,所述第一调号为所有调号中的任一调号;
所述调号确定子模块,用于在获取所有调号的定调指数后,在所述所有调号中选择定调指数最高的调号作为所述第三音频文件的调号。
7.根据权利要求6所述的装置,其特征在于,所述处理模块,包括:泛音识别子模块,删除子模块和生成子模块;
所述泛音识别子模块,用于识别所述第二音频文件中每个音符是否存在对应的泛音音符;
所述删除子模块,用于将存在对应的泛音音符的音符确定为需要处理的音符,并将每个所述需要处理的音符对应的泛音音符删除;
所述生成子模块,用于根据删除泛音音符后的所有音符生成所述第三音频文件。
8.根据权利要求6所述的装置,其特征在于,所述起点识别模块,包括:指数计算子模块,指数比较子模块和起点确定子模块;
所述指数计算子模块,用于以所述第三音频文件为第一拍号执行以下步骤:
a.将所述第三音频文件的每个小节划分为N份,每份为1/N小节,并确定所述第三音频文件的第k个音符所位于的第j个小节的i/N小节处,其中第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置,其中0≤n≤N-1,j为正整数,i为非负整数,i≤N;
b.利用预先设置的节拍权重表,确定第k个音符位于的伴奏的第j个小节的i/N小节处时的节拍权重;其中,k为正整数,k的起始值为1;
c.根据所述第k个音符的时长,以及所述节拍权重确定所述第k个音符的音符指数;
d.将k的值加1后再次执行步骤a~c,直至得到所述第三音频文件所有音符的音符指数;
e.获取所述所有音符的音符指数相加的和,得到当所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向偏移n/N小节的位置时的小节起点指数;
f.将n的值加1后再次执行步骤a~e,直至得到所述第1个小节的起点位于所述第三音频文件的第1个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
所述指数计算子模块,还用于以所述第三音频文件为第二拍号执行步骤a~f,得到所述第三音频文件为第二拍号时,所述第1个小节的起点位于所述第三音频文件的第k个音符处向第一方向分别偏移0~(N-1)/N小节的位置时的N个小节起点指数;
所述指数比较子模块,用于在所述第三音频文件为所述第一拍号时执行步骤a~f得到的N个小节起点指数,以及所述第三音频文件为所述第二拍号时执行步骤a~f得到的N个小节起点指数中,确定小节起点指数的最大值;
所述起点确定子模块,用于将所述起点指数的最大值对应的起点确定为所述第1个小节的起点位置。
9.根据权利要求6所述的装置,其特征在于,所述和弦走向识别模块,包括:和旋筛选子模块,时间统计子模块,指数计算子模块和和弦确定子模块;
所述和旋筛选子模块,用于根据所述第三音频文件、所述调号以及所述小节起点位置为所述第三音频文件提供多个待选和弦走向;
所述时间统计子模块,用于分别计算所述第三音频文件中的每个小节与每个待选和弦走向中对应和弦的和弦内音相匹配音符的总时长;
所述指数计算子模块,用于将所述第三音频文件中的每个小节与任一待选和弦的相匹配音符的总时长相加的和作为所述任一待选和弦的和弦走向指数;
所述和弦确定子模块,用于在得到所述多个待选和弦走向中所有待选和弦的和弦走向指数后,将和弦走向指数最高的待选和弦走向确定为所述第三音频的和弦走向。
10.根据权利要求6所述的装置,其特征在于,所述伴奏选择模块,包括:调号范围确定子模块,速度范围确定子模块,伴奏筛选子模块,和弦变换子模块;
所述调号范围确定子模块,用于根据所述调号确定伴奏的调号范围;
所述速度范围确定子模块,用于根据所述速度确定伴奏的速度范围;
所述伴奏筛选子模块,将伴奏数据库中满足所述调号范围和所述速度范围的伴奏确定为所述第三音频文件的伴奏;
所述和弦变换子模块,利用预设的换和弦算法,将所述第三音频文件的伴奏的和弦走向变换为所述第三音频文件的和弦走向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610065562.3A CN105702249B (zh) | 2016-01-29 | 2016-01-29 | 自动选择伴奏的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610065562.3A CN105702249B (zh) | 2016-01-29 | 2016-01-29 | 自动选择伴奏的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105702249A CN105702249A (zh) | 2016-06-22 |
CN105702249B true CN105702249B (zh) | 2019-12-03 |
Family
ID=56229901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610065562.3A Expired - Fee Related CN105702249B (zh) | 2016-01-29 | 2016-01-29 | 自动选择伴奏的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105702249B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110634465A (zh) * | 2018-06-25 | 2019-12-31 | 阿里巴巴集团控股有限公司 | 配乐的方法、移动终端、数据处理方法和配乐系统 |
CN109166566A (zh) * | 2018-08-27 | 2019-01-08 | 北京奥曼特奇科技有限公司 | 一种用于音乐智能伴奏的方法及系统 |
CN109584845B (zh) * | 2018-11-16 | 2023-11-03 | 平安科技(深圳)有限公司 | 自动配乐方法及系统、终端和计算机可读存储介质 |
CN112420002A (zh) * | 2019-08-21 | 2021-02-26 | 北京峰趣互联网信息服务有限公司 | 乐曲生成方法、装置、电子设备及计算机可读存储介质 |
CN112825244B (zh) * | 2019-11-21 | 2024-04-12 | 阿里巴巴集团控股有限公司 | 配乐音频生成方法和装置 |
CN111276115A (zh) * | 2020-01-14 | 2020-06-12 | 孙志鹏 | 云节拍 |
CN112382257B (zh) * | 2020-11-03 | 2023-11-28 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种音频处理方法、装置、设备及介质 |
CN114299902A (zh) * | 2021-12-31 | 2022-04-08 | 桂林智神信息技术股份有限公司 | 电子乐器及其控制方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5451814A (en) * | 1977-10-01 | 1979-04-24 | Kawai Musical Instr Mfg Co Ltd | Automatic accompaniment apparatus |
JPH09179559A (ja) * | 1995-12-22 | 1997-07-11 | Kawai Musical Instr Mfg Co Ltd | 自動伴奏装置及び自動伴奏方法 |
US7705231B2 (en) * | 2007-09-07 | 2010-04-27 | Microsoft Corporation | Automatic accompaniment for vocal melodies |
CN102053998A (zh) * | 2009-11-04 | 2011-05-11 | 周明全 | 一种利用声音方式检索歌曲的方法及系统装置 |
JP6040809B2 (ja) * | 2013-03-14 | 2016-12-07 | カシオ計算機株式会社 | コード選択装置、自動伴奏装置、自動伴奏方法および自動伴奏プログラム |
CN103440860A (zh) * | 2013-08-25 | 2013-12-11 | 德州学院 | 多功能自动伴奏演唱摄像系统 |
-
2016
- 2016-01-29 CN CN201610065562.3A patent/CN105702249B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105702249A (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105702249B (zh) | 自动选择伴奏的方法和装置 | |
US8069036B2 (en) | Method and apparatus for processing audio for playback | |
EP3047478B1 (en) | Combining audio samples by automatically adjusting sample characteristics | |
EP3047484B1 (en) | Recommending audio sample combinations | |
WO2018001039A1 (zh) | 一种音频数据的处理方法及装置 | |
CN105706161B (zh) | 基于音高分布的自动音频协调 | |
RU2729165C1 (ru) | Динамическая модификация звукового контента | |
US11322124B2 (en) | Chord identification method and chord identification apparatus | |
CN110969141A (zh) | 一种基于音频文件识别的曲谱生成方法、装置及终端设备 | |
KR20160056104A (ko) | 사용자 음색 분석 장치 및 음색 분석 방법 | |
CN109410972A (zh) | 生成音效参数的方法、装置及存储介质 | |
CN105575400A (zh) | 一种获取歌曲信息的方法、终端、服务器和系统 | |
JP7120468B2 (ja) | 音響解析方法、音響解析装置およびプログラム | |
Jeong et al. | Note intensity estimation of piano recordings by score-informed nmf | |
Lai et al. | Automated optimization of parameters for FM sound synthesis with genetic algorithms | |
CN106484833A (zh) | 一种音源筛选方法及电子设备 | |
CN112420002A (zh) | 乐曲生成方法、装置、电子设备及计算机可读存储介质 | |
CN114664277A (zh) | 音频评估方法及装置 | |
Mintz | Toward timbral synthesis: a new method for synthesizing sound based on timbre description schemes | |
Voitko et al. | Automated system of audio components analysis and synthesis | |
Chinen et al. | Genesynth: Noise band-based genetic algorithm analysis/synthesis framework | |
Valle et al. | Symbolic music similarity using neuronal periodicity and dynamic programming | |
CN113851098B (zh) | 一种旋律的风格转换方法、装置、终端设备及存储介质 | |
TW201946681A (zh) | 音樂遊戲客製化節拍譜面自動生成方法、非暫態電腦可讀取媒體、電腦程式產品及音樂遊戲系統 | |
CN108076232A (zh) | 基于移动终端的音乐演奏方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191203 Termination date: 20220129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |