java - 加性高斯白噪声 Java(dB)

标签 java matlab audio gaussian noise

我正在尝试将 AWGN 添加到我的音频文件中。我将 wav 文件转换为字节数组。我正在尝试向该阵列添加 10dB AWGN。在matlab中,有imnoise将AWGN添加到图像中。 java中有什么库吗?提前致谢。

最佳答案

如果您确实需要 additive Gaussian white noise输出类似于Matlab的imnoise函数,这是您需要用 Java 实现的代码范围:

B = A+MU+STD*randn(size(A))

其中 A 是您的输入数据,B 是相同大小的输出,MU 是噪声的平均值,STD 是标准差。独立同分布 (IID) 高斯白噪声被添加到 A 的每个分量中。此计算需要以浮点形式完成(Matlab 的许多图像处理例程都是如此)。

randn函数产生正态随机变量。您可以使用java.util.Random.nextGaussian()来生产这些。如果您需要额外的速度,请尝试 Mersenne Twister algorithm 的 Java 实现.

关于java - 加性高斯白噪声 Java(dB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17156538/

相关文章:

java - JLabel可以添加到JTextArea吗?

android - 替代MediaPlayer播放音频文件

Java Date Parse 从一种格式到另一种格式

Java表达式编译错误

arrays - 计算离散卷积的 "product"的有效方法

xml - 如何通过单个XPath表达式选择某些子项的所有属性?

database - 将 Matlab float 组插入 postgresql float[] 列

ios - 使其他音频安静的音效 iOS AVAudio

audio - 在关闭声音的情况下嵌入 YouTube

java - 读取一个巨大的 json 对象数组文件