top of page
Search

音乐播放逻辑:Intro + loop 时间算法

  • Writer: Jaan Wang
    Jaan Wang
  • Sep 9, 2021
  • 2 min read
我今后会写一些科普向音乐的基础知识。

从一些能够帮助游戏制作人和,需要应用的人的角度,希望能帮到大家。


要计算时间。首先需要理解音乐当中的关于时间的几个术语:速度Tempo,拍号Time Signature,小节Bar/measure,拍子Beat。


速度:单位是BPM,beat per minute。意思是一分钟的节拍数。60BPM代表60拍一分钟,1拍一秒。


拍号:x/y。X代表多少拍一小节,Y代表一拍等于几分音符。比如2/2是指,2拍为一小节。一拍等于一个二分音符的长度。


小节:一个小节为X个Y分音符的长度。


那么关于时间算法就是:


当前速度下,在速度的度量单位和拍号相同时,每一拍的时长:60/速度 (秒)


比如文件名为: XXXX_XXXX_XXX_T34_150BPM_L24M_P4M


看到T34,代表3/4, 代表以4分音符为一拍,150BPM代表速度为四分音符=150。一拍的长度(四分音符)为60/150 = 0.4秒




再根据音频文件中标的”LXM“代表长度为X小节。来计算intro或loop的本体时长。


关于为什么需要这样计算,而不是直接看音频文件时间长度。

原因是:声音存在自然衰减和起振时间,pre-entry或post-exit。也就是说,可能存在一定存在的提前进入或小尾巴。这些的存在是为了声音更加自然和好听,而不是整个把音频在某个时间点切断。会导致不自然的声音衰减和起振。产生失真。


文件名显示L24M,代表有24小节。在 3/4拍的情况下。刚才算得一拍长度为0.4秒。

3拍为一小节

一小节长度为3x0.4=1.2秒

24小节长度为24x1.2=28.8秒

即音乐本体时长为28.8秒。


或许你会发现音频时常或许是35秒

造成这个原因就是我刚才提到的有pre-entry和post-exit。


这时看文件名PXM代表了pre-entry(post-exit不需要额外计算长度,原因是这个音频文件自动播放完就行了,会自动播放结尾)

看到这个文件名P4M,代表有4小节的pre-entry。也就是说,这个音频文件需要提前4小节播放。即需提前4x1.2=4.8秒播放。


关于这个音频的本体结束点为,pre-entry长度+本体长度。也就是说假设需要有另一个音频再这个音频结束时播放,那么另一个音频需要将本体的开始点位,即pre-entry结束的地方,对齐第一个音频的本体结束的地方。

比如

XXXX_XXXX_XXX_T34_150BPM_L24M_P4M

这个音频的结束点位为4.8+28.8=33.6秒。因为音频时常为35秒,也就是说有1.4秒的post-exit。但我们不用过多去在意它。


也就是说任何两个音频的链接,都是本体与本体的链接。如果有pre-entry,需要提前播放。提前量为pre-entry的时长。


XXXX_XXXX_XXX_T34_150BPM_L24M_P4M


假设这是一个loop。

那么循环一定是指本体与本体的循环。也就是第一遍本体的结束连接着第二遍本体的开始。

第一遍播放之后,第二遍播放的点位算法为:

Pre-entry长度+本体长度-第二遍pre-entry长度。因为是同一首循环。所以第一遍第二遍pre-entry长度一样抵消。

因此在第一遍播放至本体长度的时间时开始播放第二遍,就可以连接上。即28.8秒。(当然,开始播放第二首时,第一首要自然播放至音频结束)



假设第一首第二首不是一样的音乐。

那么分别计算即可。



Recent Posts

See All
用prophet 10来制作音色

好的音色不仅能达到正确的情绪,而且有丰富的细节和饱满的声音细节。声音紧实而具有可塑性。 用好一台旗舰级模拟合成器对我的写作非常有帮助。无论是从写流行音乐,还是影视配乐。它都可以胜任,而且不止于此。 我通常会把几个合成器串联,并在最后通过fillter...

 
 
 
关于音乐歌曲制作工作流程的优化

我从甲方那里拿到了歌曲制作的委托,那么,该怎么样有效率的进行创作呢。值得注意的是,一首歌的完成一般是由不同的人协作搞定的。所以任何一环都会影响到成品效果。 总要有一个掌握大方向的人 这个人必须对音乐有较强的包容度,并且对甲方的要求充分理解。在团队成员有创造性要求时进行合适的...

 
 
 

Commentaires


bottom of page