VHDL 音频样本音量控制

VHDL audio sample volume control

我搜索了很多有关此问题的信息,但找不到任何有用的信息... 问题是,我在 FPGA 芯片上制作回声效果。我已经准备好了一切,比如用于延迟、输入、延迟输出的 BRAM,但我找不到如何改变返回输入的输出音量,将它们混合在一起并再次发送到 BRAM.. 因为当我只是简单地将输出连接到输入时,它会使 BRAM 的循环变为无限,但我需要将返回输入的输出音量更改为其音量的一半。 我读到它可以通过将样本向右移动来实现,但是它会在样本上产生很多噪音..

我正在使用 16 位样本

所以我想问一下如何控制样品量,其他我都准备好了..

所以我发现我的问题是什么。我正在向右移动样本向量,但我只是通过 "0" & sample(15 downto 1) 完成它但它已签名,所以我不得不复制 MSB 而不是简单地添加“ 0"..所以答案是

sample(15) & sample(15 downto 1)

这使样本体积为原始体积的一半.. 就像 sample * 0,5