一种基于个体发声能力的音乐推荐方法

文档序号:6377234阅读:267来源:国知局
专利名称:一种基于个体发声能力的音乐推荐方法
技术领域
本发明涉及声音诊断领域的声学分析、统计领域多元线性回归以及机器学习领域的排序学习技术,尤其涉及一种基于排序学习的音乐推荐方法。
背景技术
声音诊断领域的声学分析是通过对声音质量方面抽取声学特征,从而客观的对声音质量进行诊断、评价以及研究。声音诊断领域的声学特征往往是利用信号处理领域中的方法抽取人声底层的特征,然后通过分析实验建立的一系列能够反映人声粗糙度、撕哑度、气息度、无力度、紧张度、抖动、噪音等等方面的特征。目前,声音诊断的声学分析的结果已经被广泛用于各类医疗仪器中并且作为声音疾病诊断的重要依据。 在声音诊断领域的发声区域分析方面,发声范围档案(Vocal Range Profile)是一种可用的简单的定量的记录发声能力的方法。一个用户的发声范围档案,清楚地记录了用户在不同频率下能够发出的最大和最小声音,他们被投影在一张频率和声压级为坐标轴的图上。发声范围档案对于不同的性别,不同年龄,不同人种以及不同歌唱能力的人有非常明显的区别,它被广泛应用于医疗以及发声训练当中。排序学习是一种机器学习技术,它用来为指定的排序任务训练排序函数。排序学习广泛的应用于许多领域,例如信息检索,自然语言处理,数据挖掘等。在推荐领域,排序是至关重要的一步,排序学习针对特定的查询对象,推荐内容以及推荐任务学习特定的排序函数,尤其在文档排序推荐领域进行了广泛的研究与实践。在文档排序中,在每个文档与查询词之间定义了上百维的特征,用训练集中的查询和文档可以训练出有效的排序函数,对于新的查询词能够提供良好的排序结果。Messa Di Voce是一种传统发声练习训练中使用的技巧,它是在保证音高不变的情况下使用渐强和减弱技巧,它要求演唱者演唱某个音符时保持音高不变,从一个很轻的响度渐渐地平滑的唱到很响,然后再唱轻,是一种演唱中比较有难度的一种技巧。

发明内容
本发明的目的在于针对现有技术的不足,提供一种基于个体发声能力的音乐推荐方法。本发明解决其技术问题采用的技术方案如下一种基于个体发声能力的音乐推荐方法,该方法的步骤如下
(1)通过一种简单的发声引导方法收集的音频文件能够包含用户所有能够发声的频率和响度,通过对音频文件切分处理得到该用户不同频率和响度下的发声片段;
(2)对歌曲歌谱信息进行统计处理建立歌曲轮廓。每首歌曲的轮廓包含歌曲中所有音符的音高以及每个音高所对应的演唱响度的统计信息;
(3)对于每个步骤I)中的用户以及步骤2)中的歌曲,通过歌曲相对用户演唱适合程度的分类标准,得到每个测试者的歌曲训练集;(4)基于高维声学特征,使用用户发声音频片段质量评估模型对切分好的用户发声片段进行质量评估。该评估模型训练阶段包含发声片段人工质量评价、特征抽取和线性回归三个过程,而模型使用只需经过特征抽取即可预测用户发声音频片段质量;
(5)对于新的测试者,通过步骤I)的录音和步骤4)的质量评估模型计算发声质量后,首先对其的发声能力进行二维区域映射,然后通过个体发声区域划分算法,对其个体发声区域进行划分,以此建立个体发声轮廓;
(6)通过基于歌曲轮廓的歌曲剪枝算法,进行特征抽取前剪枝,这样能有效的提高歌曲推荐速度;
(7)利用步骤2)中歌曲轮廓与步骤5)中个体发声轮廓,在两者之间定义一系列合理有效的排序学习的特征,并对歌曲轮廓与个体发声轮廓组合一一进行特征抽取; (8)利用步骤7)中的特征,使用学习好的排序函数对测试者进行音乐推荐。本发明具有的有益效果是通过简单的录音引导测试收集测试者数据,通过发声区域映射、质量评估和划分建立个体发声轮廓,与歌曲轮廓定义的一系列特征使用学习好的排序函数进行音乐推荐,此音乐推荐方法可以推荐既对自身有难度又在自身演唱能力范围内的歌曲,推荐过程高效准确。


图I是本发明实施步骤流程图。图2是个体发声轮廓建立处理示意图。图3是个体发声轮廓实例示意图。
具体实施例方式现结合具体实施和示例对本发明的技术方案作进一步说明。如图I,本发明具体实施过程和工作原理如下
步骤I:通过一种简单的发声引导方法收集用户所有能够发声的频率和响度的音频文件,通过对音频文件切分处理得到该用户不同频率和响度下的声音采样。指导用户使用简化的Messa Di Voce,即测试者可以自行选择几个不同频率进行发声,同时不需严格保证发声频率不变,此处选择演唱的音需包含用户最高以及最低的能够发声的频率;对于每个发声音频文件进行时间片切分,如200毫秒为一个片段,使用声学分析软件Praat计算片段的频率和响度,得到该用户不同频率和响度下的声音采样;
步骤2 :对歌曲歌谱信息进行统计处理建立歌曲轮廓。使用midi作为歌曲电子乐谱,其中能够记录歌曲完整的音高与响度信息,midi歌曲创作时音符的按键力度代表此音符所需演唱的响度信息。对每首midi的音符进行数量、时间以及占整首歌曲音符数量、时间的百分比方面的统计,在力度方面的统计方法与音高相同,统计结果作为歌曲轮廓;
步骤3 :对于每个步骤I中的用户以及步骤2中的歌曲,通过歌曲相对用户演唱适合程度的分类标准,产生每个测试者的歌曲训练集。让每个参与发声音频录制的测试者自行挑选演唱歌曲库中部分歌曲,由声乐领域专家根据歌曲适合其演唱程度进行分类,分类标准如下
I)最适合唱,歌曲中最高音或最低音部分存在比较多部分落在测试者演唱有挑战的高音区或者低音区,但没有测试者无法发声的音(得真假声切换唱或者表达的很差);歌曲存在需要自己很响演唱的部分,但可以较轻松的唱到这个响度,或者歌曲存在需要自己很轻演唱的部分,但可以较轻松的唱到这个响度;
2)比较适合唱,歌曲中大多数音对测试者比较容易唱,有挑战的音存在但不多;歌曲需要测试者使用很大或很小力度的音存在但比较少;
3)—般适合唱,歌曲中最高音或最低音部分基本是测试者比较容易演唱的音,有挑战的音基本没有;歌曲的力度对测试者而言比较轻松;
4)不太适合唱,歌曲中最高音或最低音部分有比较少的音是测试者无法唱(需真假声切换唱或落在自己很难表达的高音或低音上),同时存在很多音是对测试者有挑战的;歌曲响度方面个别部分很难唱到这么响,或没法唱这么轻;
5)不适合唱,歌曲中最高音或最低音部分有许多没法唱;歌曲很响或很轻的部分无法到达要求力度
步骤4 :基于高维声学特征,使用用户发声音频片段质量评估模型对切分好的用户发声片段进行质量评估。该步骤中,用户发声音频片段质量评估模型可以采用公知的多元线性回归模型,评估的模型训练首先需要对训练集内用户发声音频文件中不同发声质量的时间段进行5个等级的人工质量评分(I-最差,5-最好)。此处需要请几位声乐方面有经验的老师使用Praat的textgrid功能进行评分,并对评分结果取平均值。发声质量评分主要依据声乐老师经验,通过实践,总结出以下评分依据
I分没法用来唱无声或很不稳,音色很差,
2分极少量出现在演出中可以接受响亮度一般,音色不太好,稳定性一般 3分音色响亮度稳定性等一般,用于演唱一般接受 4分音色响亮度稳定性等用于演唱完全可以接受 5分各方面发挥自如,效果很好
在评估好用户发声音频文件后,按照如下步骤训练发声质量评估模型
1)以200毫秒为单位使用Praat切分所有音频文件,同时可以得到每个切分的发声片段人工打分的值;
2)对于每个发声片段,对其提取声学领域公认的与声音质量有关的17个特征,依次为频率变化的方差,周期变化的方差,局部频率抖动方面四个特征(jitter_loc,jitter,loc_abs, jitter_rap, jitter_ppq5),口向度抖动方面五个特征(shimmer_loc, shimmer_loc_dB, shimmer_apq3, shimmer_apq5, shimmer_apqll),噪音方面三个特征(mean_autocor, mean_nhr, mean_hnr),演唱功率比(Singing Power Ratio),频谱分析的倾斜度(tilt)与坡度(slope) ο3)使用多元线性回归模型,每个200毫秒的发声片段的17维特征以及人工质量评分作为训练数据,得到用户发声音频采样质量评估模型;
模型的使用需要对测试者录音数据进行上述的切分与声学特征提取,然后通过用户发声音频片段质量评估模型得到发声质量预测值。步骤5 :利用步骤4)抽取的特征以及质量评估模型,首先对每个个体的发声能力进行二维区域映射,然后通过个体发声区域划分算法,对个体发声区域进行划分,最后建立个体发声轮廓。整个个体发声轮廓的建立主要分为发声质量二维区域映射以及二维发声区域自动划分两个步骤。发声质量二维区域映射对于测试者的的音频文件,在步骤4)切分以及质量预测的结果下,对各个发声片段进行平均音高与响度的分析,并投影到以音高为横坐标(最小单位是半音),响度为纵坐标(最小单位是2dB)的二维图中,对于在相同半音与响度区间的片段的发声质量预测值计算其平均值;
使用区域划分算法对此二维区域进行划分,划分算法步骤如下
1)没有声音片段投影的区域作为区域0,表示测试者无法发声的区域;
2)对于有声音片段投影的区域通过设置发声质量阈值(O.21),把发声区域分成两部分,外圈部分称为区域1,表示用户发声困难区域;
3)把内圈部分通过设置边界响度区间(5dB)以及边界音高区间(4个半音)分 成区域3(内圈的边界区域)和区域4(内部区域)
这样的划分方式在定义特征时能充分体现测试者的发声能力,对于不同测试者具有良好的区分,可以作为发声能力方面的指纹。图2展示了个体发声轮廓的建立的整个流程,图3是个人发声轮廓的处理结果的展示图,其中颜色越深表示发声质量越好,区域I与区域3、区域3与区域2都通过黑色的点来表示区域边界。步骤6 :对于海量歌曲数据库设计了特征定义前的歌曲剪枝策略,从而加速歌曲推荐速度。对于某个测试者的个体发声轮廓,每个歌曲轮廓中落在个体发声轮廓的O区域的音符统计数量超过一个设定的阈值即被剪枝。这样保证对于测试者不能唱的歌曲在特征抽取前就被去除,加快了推荐速度同时提高了推荐的准确性。步骤7:结合了歌曲轮廓和个体发声轮廓定义了 168个排序学习的特征。特征定义根据歌曲的不同音高响度的音符落在单个区域或多个区域组合中的时间、数量,以及他们与其他多个区域组合中音符的时间、数量的比例关系;另外,通过把歌曲轮廓类比成文档,把个体发声轮廓类比成查询,音符就是词,特征定义可以分为几类
1)纯粹音符时间、数量在各个划分区域的分布和各区域的比例;
2)考虑TF-IDF的音符时间、数量在各个划分区域的分布和各区域的比例;
3)歌曲轮廓发声质量评估值加权的音符时间、数量在各个划分区域的分布和各区域的比例;
4)音符TF-IDF与发声质量评估值共同加权的音符时间、数量在各个划分区域的分布和各区域的比例;
步骤8 :利用步骤7中的特征,使用学习好的排序函数对测试者进行音乐推荐。排序函数训练步骤如下
1)对于所有构建测试集的测试者,利用步骤3的歌曲分类和使用步骤6中的特征抽取方法进行特征抽取;
2)选择Listnet作为排序学习算法,使用一维神经网络模型,用于排序函数的训练。2)对于I)中的数据放入Listnet模型中,使用梯度下降迭代4000次得到排序函数的参数。对于新的测试者,利用步骤7中抽取的特征,放入此排序函数,即可得到某首歌曲相对于此用户适合演唱程度的值,分值越高歌曲越适合唱,而且所推荐的歌曲既是在演唱 能力范围内又不会过于简单。
权利要求
1.一种基于个体发声能力的音乐推荐方法,其特征在于,该方法的步骤如下 (1)通过一种简单的发声引导方法收集的音频文件能够包含用户所有能够发声的频率和响度,通过对音频文件切分处理得到该用户不同频率和响度下的发声片段; (2)对歌曲歌谱信息进行统计处理建立歌曲轮廓;每首歌曲的轮廓包含歌曲中所有音符的音高以及每个音高所对应的演唱响度的统计信息; (3)对于每个步骤I中的用户以及步骤2中的歌曲,通过歌曲相对用户演唱适合程度的分类标准,得到每个测试者的歌曲训练集; (4)基于高维声学特征,使用用户发声音频片段质量评估模型对切分好的用户发声片段进行质量评估;该评估模型训练阶段包含发声片段人工质量评价、特征抽取和线性回归三个过程,而模型使用只需经过特征抽取即可预测用户发声音频片段质量; (5)对于新的测试者,通过步骤I的录音和步骤4的质量评估模型计算发声质量后,首先对其的发声能力进行二维区域映射,然后通过个体发声区域划分算法,对其个体发声区域进行划分,以此建立个体发声轮廓; (6)通过基于歌曲轮廓的歌曲剪枝算法,进行特征抽取前剪枝,这样能有效的提高歌曲推荐速度; (7)利用步骤2中歌曲轮廓与步骤5中个体发声轮廓,在两者之间定义一系列合理有效的排序学习的特征,并对歌曲轮廓与个体发声轮廓组合一一进行特征抽取; (8)利用步骤7中的特征,使用学习好的排序函数对测试者进行音乐推荐。
全文摘要
本发明公开了一种基于个体发声能力的音乐推荐方法,该发明首先设计了一种特定的用户发声引导方法以及歌曲轮廓建立方法,同时提出基于高维声学特征的用户发声音频片段质量评估模型,并建立了个体发声轮廓。在此基础上,通过特征抽取与排序学习,训练得到基于个体发声能力的音乐推荐模型。本发明的方法推荐的歌曲既在测试者能力范围内又不会过于简单,同时通过歌曲剪枝策略加速推荐过程。
文档编号G06F17/30GK102880693SQ20121034972
公开日2013年1月16日 申请日期2012年9月20日 优先权日2012年9月20日
发明者陈刚, 胡天磊, 毛旷, 寿黎但, 陈珂 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1