8位音频采样到16位

Nos*_*dna 6 audio signal-processing quantization 8-bit

这是我的"周末"爱好问题.

我从经典合成器的ROM中得到了一些广受欢迎的单周期波形.

这些是8位样本(256个可能的值).

因为它们只有8位,所以本底噪声非常高.这是由于量化误差造成的.量化误差非常奇怪.它稍微扰乱了所有频率.

我想采取这些循环并制作"干净"的16位版本.(是的,我知道人们喜欢脏版本,所以我会让用户在脏和干净之间插入他们喜欢的程度.)

这听起来不可能,因为我永远失去了低8位,对吧?但这已经在我的脑海中停留了一段时间,我很确定我能做到.

请记住,这些是单周期波形,只是反复重复播放,所以这是一个特例.(当然,合成器会做各种事情来使声音变得有趣,包括信封,调制,滤波器交叉渐变等)

对于每个单独的字节样本,我真正知道的是它是16位版本中的256个值之一.(想象一下反向过程,其中16位值被截断或舍入为8位.)

我的评估功能是试图获得最低噪声基底.我应该能够用一个或多个FFT来判断.

彻底的测试可能需要永远,所以我可以采取较低分辨率的第一次通过.或者我只是随机推送随机选择的值(在保持相同8位版本的已知值内)并进行评估并保持更清洁的版本?还是我能做得更快?当搜索空间中的其他地方可能有更好的最小值时,我是否有陷入局部最小值的危险?我已经在其他类似的情况下发生了这种情况.

我可以做出任何初步的猜测,也许是通过查看邻近值?


编辑:有几个人指出,如果我删除新波形将采样到原始波形的要求,问题会更容易.确实如此.事实上,如果我只是寻找更清晰的声音,解决方案是微不足道的.

MaH*_*uJa 1

根据您问题中的方法,我建议研究爬山算法等。

http://en.wikipedia.org/wiki/Hill_climbing 有更多信息,边箱有指向其他可能更合适的算法的链接。

人工智能就像炼金术——我们从未达到最终目标,但一路上诞生了很多好东西。