gpt4 book ai didi

audio - 8 位音频采样到 16 位

转载 作者:行者123 更新时间:2023-12-04 15:16:34 24 4
gpt4 key购买 nike

这是我的“周末”爱好问题。

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

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

因为它们只有 8 位,所以本底噪声非常高。这是由于量化误差造成的。量化错误非常奇怪。它把所有频率都弄乱了一点。

我想利用这些周期并制作它们的“干净”16 位版本。 (是的,我知道人们喜欢脏版本,所以我会让用户在脏和干净之间插入他们喜欢的任何程度。)

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

请记住,这些是单周期波形,只是一遍又一遍地重复播放,因此这是一种特殊情况。 (当然,合成器会做各种事情来让声音变得有趣,包括包络、调制、滤波器交叉淡入淡出等)

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

我的评估函数试图获得最小的本底噪声。我应该能够用一个或多个 FFT 来判断。

详尽的测试可能需要很长时间,所以我可以先通过较低分辨率的测试。或者我只是随机推送随机选择的值(在将保持相同 8 位版本的已知值内)并进行评估并保留更干净的版本?或者我能做些什么更快?当搜索空间的其他地方可能有一些更好的最小值时,我是否有陷入局部最小值的危险?我在其他类似的情况下也遇到过这种情况。

我可以通过查看相邻值来做出任何初步猜测吗?

编辑:一些人指出,如果我取消新波形将采样到原始波形的要求,问题会更容易。确实如此。事实上,如果我只是在寻找更干净的声音,那么解决方案是微不足道的。

最佳答案

您可以将现有的 8 位样本放入新的 16 位样本的高位字节,然后将低位字节用于 linear interpolate每个原始 8 位样本之间有一些新的 16 位数据点。

这实际上将使用几个新样本在每个原始 8 位样本之间连接一条 16 位直线。这听起来比你现在拥有的要安静得多,这是两个原始样本之间突然的 8 位跳跃。

您也可以尝试申请一些 low-pass filtering .

关于audio - 8 位音频采样到 16 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1203427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com