音乐文件的波形调节系统 【技术领域】
本发明关于一种波形调节系统,特别指一种可以调节音乐文件(musicfile)完整波形的幅值的波形调节系统。
背景技术
在手持式装置(如移动电话、个人数字助理、数字相机)上,由于硬件设计成本的考虑,对于音乐及声音效果输出的音量范围通常十分有限。请参阅图1,图1是公知应用在手持式装置中的音乐合成器的示意图。公知音乐合成器10可为一个集成电路(Integrated Circuit,IC)、或由数个集成电路所组成的模块,其内包含一音乐文件数据库11、一音乐文件解码器12、一音符发生器14、一数字模拟转换器16以及一放大器18。公知在手持式装置中的音乐文件处理方法,是先由音乐文件解码器12分析一音乐文件13,之后将分析后的结果传送至音符发生器14。音符发生器14则根据该音乐文件分析后的结果,将音乐文件13转换为一脉码调制数据15。数字模拟转换器16则将脉码调制数据15转换为一模拟信号17,再经由一放大器18放大后推动一扬声器19以发出声音。音乐文件播放的音量控制,除了后级电路中的放大器18决定放大倍率外,音乐文件(如MIDI格式的文件)中每个音符(note)的幅值及整首乐曲中最大重叠的音符数目(称为复音数,polyphony),也决定了整首音乐文件最终播放出去的音量大小。换句话说,假使后级电路中地放大器18的放大倍率固定不变,则音符发生器14所输出的完整波形(也就是该音乐文件22中所有音符合成之后的波形)的幅值大小也会影响最终音量的大小。此处的后级电路是指数字模拟转换器16之后的电路,以图1为例,后级电路包含放大器18以及扬声器19。
请参阅图2,图2是公知音乐文件的波形图。一般的做法,在播放音乐文件(例如作为移动电话铃声)时,复音数比较少或幅值较小的音乐文件22,音符发生器14所输出的完整波形幅值相对会比复音数较多或幅值较大的音乐文件24的完整波形幅值小。由于音量较小,因此可能比较不适合作为警示铃声之用,也未充分利用数字模拟转换器16的动态范围。然而复音数较多或幅值较大的音乐文件24,音符发生器14所输出的完整波形的幅值输出可能变得过大、超过数字模拟转换器16的转换范围,因而产生失真的现象。
【发明内容】
本发明的一目的在于提供一种波形调节系统,用以调节音乐文件(musicfile)的完整波形的幅值,在后级电路的容许范围内、适当调节音乐文件完整波形的幅值输出,使不同音乐文件在播放时的音量均能控制在预设值附近,而不会有太大的个别差异。
本发明的波形调节系统包含一幅值提取模块,用以提取该音乐文件完整波形中的最大幅值;以及一调节模块,预存一预设值,用以将该预设值与该最大幅值输入一调节系数计算公式、以获得该完整波形相对应的一调节系数,并根据该调节系数以及相对应的一调节程序,调节该完整波形的幅值。该完整波形的幅值在缩放调节后,就可以将最适当的完整波形幅值输出给数字模拟转换器,使不同的音乐在拨放时的音量均能达成大小约略一致的目的。
本发明在针对不同的音乐文件,在播放前进行分析,评估并找出整首乐曲合成之后最大的幅值,并根据该值算出幅值可放大或降低的调节系数,以将整体输出的幅值放大或降低到合理的范围,达到无论任何形式的音乐文件,其输出的音量大小均约略一致的目的。
关于本发明的优点与精神可以通过以下的实施例及附图得到进一步的了解。
【附图说明】
图1是公知应用于手持式装置中的音乐合成器的示意图。
图2是公知音乐文件的波形图。
图3是本发明波形调节系统30的示意图。
图4是音符波形的示意图。
图5是音符波形累加方法示意图。
图6是波形调节示意图。
图7是本发明波形调节方法的流程图。
附图标号说明
30:波形调节系统 32:幅值提取模块
34:调节模块
Attack、Delay、Sustain、Release:包络参数
A:音乐文件所估得的最大幅值
B:音符发生器12可以输出的最大幅值
C:数字模拟转换器16的输入范围
【具体实施方式】
本发明为音乐合成器(Audio Synthesizer)中的一种波形调节系统,用以调节音乐文件(music file)的完整波形的幅值,在手持式装置中播放时可将不同的音乐文件播放时的音量均控制在一预设值附近。如此一来,通过后级电路就可以充分调节最终音量的大小,而不致产生音量过小、或是失真的现象。
请参阅图3,图3是本发明波形调节系统30的示意图。本发明的波形调节系统30可设置在图1的音乐文件解码器12中,其包含一幅值提取模块32以及一调节模块34。
请参阅图3,幅值提取模块32是用以提取每一音乐文件的完整波形中的最大幅值。每一音乐文件是包含了多个音符,每一个音符均带有一乐器的属性,而每一乐器均具有一相对应的音符波形。因此音乐文件传送到音乐文件解码器12后,本发明的幅值提取模块32在解码过程中可得到每个音符的起始时间、长度、幅值、及音色等属性。请参阅图4,图4是音符波形的示意图。依据一般业界人士的习惯,可将每一音符波形分成四个包络(envelop)参数,称之为ADSR,也就是如图4所示的Attack(增强)、Delay(衰减)、Sustain(维持)、Release(解除)等四个参数。幅值提取模块32在解码音乐文件而获得每一音符的ADSR参数后,再经过估算或查表,即可获得该音乐文件在某个时间点的幅值。
请参阅图5,图5是音符波形累加方法示意图。音乐文件的完整波形是由多个音符波形重复累加而产生,为了方便解释,接下来以两个音符波形42、44累加加以解释。在图5的例子中,横轴为时间轴,纵轴则表示幅值。为方便说明,图5中的纵轴是为包络幅值的绝对值,因此音符的波形幅值的表现方式与图2、图4略有不同。其中,音符波形42为以钢琴演奏的某一特定音符;音符波形44则为以吉他演奏的某一特定音符。由图5中可以看出,当两个音符波形42、44重叠时,最大的幅值可估计约在第二个音符44波形的Attack阶段的末端出现。因此,由图5可推导,当多个音符波形重叠时,只要在每个音符波形的Attack末端的时点计算该音符的幅值,并累加计算此时其他重叠音符的幅值,即可得到此时重叠幅值46的大小值。
因此,本发明的幅值提取模块32是在所有音符波形累加完毕后,分析整个音乐文件的完整波形后得到一最大幅值。在另一较佳具体实施例中,本发明亦可利用一波形表,其是用以储存所述各音符相对应的波形。本发明的幅值提取模块32可根据该波形表以查表方式查得各时间点累加的一幅值,并加以比较整个完整波形后而得该最大幅值。
如图3所示,幅值提取模块32在获得音乐文件的完整波形的最大幅值后,调节模块34可开始与图1中音符发生器14协同工作,进行一调节程序以调节整个完整波形的幅值大小。调节模块34是预存一预设值,此一预设值可由数字模拟转换器16可接受的最大幅值推算而得,基本上该预设值是不大于该数字模拟转换器16可接受的最大幅值。调节模块34将该预设值与该完整波形的最大幅值输入一调节系数计算公式、以获得该完整波形相对应的一调节系数,并与该音符发生器14协同工作,以根据该调节系数以及相对应的一调节程序,调节该完整波形的幅值大小。此处所指的协同工作,是指由调节模块将调节系数输入音符发生器14,由音符发生器14加以根据一调节程序调节该完整波形的幅值。在本实施例中,调节模块34是设置在音乐文件解码器12中,然而在本发明的范畴内,该调节模块34亦可集成于该音符发生器14中。
请参阅图6,图6是波形调节示意图,其中A为音乐文件所估得的最大幅值;C为图1中数字模拟转换器16的正常输入范围,例如:-32767至+32767;B为一预设值,在本实施例中是为数字模拟转换器16正常输入最大幅值范围的绝对值,也就是32767。在本发明一较佳具体实施例中,调节系数的计算公式为:
调节系数=B/A,
由此得知,调节模块34送往音符发生器14的解码数据中,所有音符波形的幅值均乘上此调节系数之后,便可使音符发生器14输出到数字模拟转换器16的最大幅值达到该调节模块预存的预设值。调节模块34针对每个送往音符发生器14的音符波形的幅值乘上所求得的调节系数即可达到每首乐曲音量大小一致的目的。因为同一音乐文件中,所有音符所放大或缩小的比例都一样,故不会破坏整首乐曲的原音,也可维持每个音符间的相对音量。
在本发明另一较佳具体实施例中,调节系数的计算公式为:
调节系数=B-A
由此得知,调节模块34送往音符发生器14的解码数据中,所有音符波形的幅值均加上此调节系数之后,便可使音符发生器14输出到数字模拟转换器16的最大幅值平移达到该调节模块预存的预设值。调节模块34针对每个送往音符发生器14的音符波形的幅值如上每一个音乐文件各别求得的调节系数,即可达到每首乐曲音量大小约略一致的目的。
请参阅图7,图7是本发明波形调节方法的流程图。综合以上所述,本发明的波形调节方法包含下列步骤:
步骤60:接收一音乐文件。
步骤62:估算该音乐文件中每一音符波形以获得一完整波形。
步骤64:提取该完整波形中的一最大幅值。
步骤66:将一预设值与该最大幅值输入一调节系数计算公式、以获得该完整波形相对应的一调节系数。
步骤68:根据该调节系数以及相对应的一调节程序,调节该完整波形。
由此得知,本发明在针对不同的音乐文件,在播放前先进行分析,评估并找出整首乐曲合成之后最大的幅值,并根据该值算出音量可放大或降低的调节系数,以将乐曲合成后的幅值放大或降低到合理的范围,达到无论任何的音乐文件,其输出的音量大小均约略一致的目的,可避免公知技术中,输出某些音乐文件音量过小、输出某些音乐文件时音量又过大造成破音的问题。
通过以上较佳具体实施例的详述,是希望能更加清楚描述本发明的特征与精神,而并非以上述所公开的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖在本发明中的各种改变及具有等效的配置。