如果给定指定的deciBel级别,如何在R中创建波形声音?

时间:2011-12-02 12:38:47

标签: r audio waveform decibel

我感谢图书馆sound,我们能够制作一个正弦波:

s1 <- Sine(650, 1, 44100, 16, 2)

绘制波形我们得到如下图像:

plot(s1[1:100])

waveform

波形在区间[-1,+ 1]中移动。如果我发挥它,它与deciBel对应的是什么?

如何使用指定的deciBel级别(即波形声音,频率650Hz,持续时间1秒,采样率44100,16位,2个通道,55dB)生成波形声音(具有相同参数)?

提前致谢!

1 个答案:

答案 0 :(得分:0)

所以我想你想改变幅度吧?没有简单的方法可以按照你想要的方式改变sound的振幅,因为它是非常基本的包。尝试tuneRseewave个软件包以获得更高级的选项和控制(例如seewave中的afilter可能是一个很好的解决方案,但不幸的是我无法在R中运行它2.14 - 不兼容)。

您可以通过简单的方式使用normalize来更改音量,但它不适用于sound包中的“默认”幅度。例如,如果你产生这个正弦波

 s1 <- .6*Sine(650, 1, 44100, 16, 2)  

您可以通过

对其进行标准化
 s2 <- normalize(s1) 

你可以听到(并在情节上看到)s2更响亮。