星际争霸中的音频问题。(50分)

  • 主题发起人 主题发起人 xwings
  • 开始时间 开始时间
X

xwings

Unregistered / Unconfirmed
GUEST, unregistred user!
今天编程累了。顺便玩几把星际。当看到一对的机枪兵惨死死在我的潜伏成排的利刺之下候,还伴随着阵阵惨叫声。
心情不禁轻松了很多。
不过突然想起一个编程的问题。大家知道。语音其实就是一些时域的线形信号。
当播放多个音频的时候不可避免的存在混音叠加的问题。然而数字信号有个上限溢出。
所以线性叠加的时候要考虑溢出问题。简单的做法就是叠加过的信号如果大于设备上限,就乘上一个小于1的因子。
这又带来一个问题就是发生削波的现象。
例如星际里面一个机枪兵惨死的声音中最高值为100 如果设备输出上限是255 。那么当有12个枪兵同时被潜伏者刺死的时候,
声音信号的叠加就是1200 远远大于设备输出上限。 但是实际上我听到的还是很悦耳的声音 ;) ,还伴随着阵阵和声。不知道d
irectSound内部是如何处理的。有没有高手知道de ? 介绍一下啦。 星际厉害的也来看看。呵呵。
 
音频信号最后还原后都是PCM的信号,其采样结果数据和实际输入能量是非线性的呀。
所以不能够简单的相加。另外,实际上,就算直接相加,大部分时候也不会溢出的。
 
不考虑输入能量问题。采样过后的pcm信号好像就是线性的吧。
我做过pcm mix的。基本上直接相加的。看看外面的音频dsp处理资料,也都是线性相加。
 
原来,我只玩星际.水平一般:(
给你推荐[重返德军总部],绝对棒!
 
呵呵。我的星际也很烂的,只会潜伏者去轧枪兵。 ;)
 
是的 大部分是直接相加,但是我见过一块专业的Digigram PCX924音频卡,
就不是这么简单的。好象输出的声音真的要好一些,不会随着轨道的增多
音量迅速加大。老赵, 玩 OFP 闪点行动 的吗?
 
GGcat大侠:
不知道阿,我们这里没几个玩游戏的,还红警呢,所以,反恐精英也没人连线,只知道好,也没玩过。
重返德军总部 也只有我玩单机版,没人连线:)

 
我刚刚在找到一个文章,TI公司的用定点Dsp来处理音频mix的。
 
多人接受答案了。
 
后退
顶部