Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 声音API与外部程序-质量_Java_Audio - Fatal编程技术网

Java 声音API与外部程序-质量

Java 声音API与外部程序-质量,java,audio,Java,Audio,因此,我使用 首先,我们拥有原始的mp3,然后将其转换为.wav,以接受Javas audioAudioFormat。然后我使用AudioSystem.getAudioInputStream(AudioFormat targetFormat,AudioInputStream sourceStream)对我的.wav文件进行下采样 在这里,您可以在Audacity中看到原始mp3文件: 通过在其上使用并应用Javas Sound API对其进行转换后,下采样轨迹如下所示: 但是,通过使用另一个

因此,我使用

首先,我们拥有原始的
mp3
,然后将其转换为
.wav
,以接受Javas audio
AudioFormat
。然后我使用
AudioSystem.getAudioInputStream(AudioFormat targetFormat,AudioInputStream sourceStream)
对我的.wav文件进行下采样

在这里,您可以在Audacity中看到原始mp3文件:

通过在其上使用并应用Javas Sound API对其进行转换后,下采样轨迹如下所示:

但是,通过使用另一个程序,它看起来是这样的:

您可以看到,波的
振幅
高于使用
Java
进行下采样的版本i。 因此,它听起来更响亮,更像原始的.mp3文件,与原始文件相比,我自己的文件听起来非常安静

现在我的问题是:
我怎样才能达到这个效果?最好是使用更高的放大器,还是像dBPoweramp采样的图片中所示的那样,它们只是被削减了。为什么会有任何不同呢?

我不完全确定你在这里所说的质量是什么意思,但毫不奇怪,下采样信号的性质将与原始信号不同,因为它将被过滤以去除在新采样频率下会违反标准的频率

因此,我们预计下采样信号的增益将低于原始信号的增益。从这个角度来看,JLayer产生的信号看起来比dbPoweramp产生的信号更可信

第二张图的增益似乎高于原始图,因此我怀疑应用了补偿增益,可能还有动态范围压缩和砖墙限制(该信号的周期似乎在极限处有峰值)。或者更糟的是,它只是被剪掉了

这让我们回到了质量的定义:它是主观的。由于各种原因,许多商业音乐被大量压缩,砖墙音乐作为制作过程的一部分受到限制。其中之一就是艺术效果。您似乎从dbPoweramp获得了更多的信息,这很可能符合您的口味和内容

这可能不是一个干净的转换。在系统性能的任何客观测量中(例如),质量都会较低

如果您所追求的是客观质量,那么将mp3呈现为较低的采样,而不是解码到PCM,然后再进行下采样,可以获得更好的性能


最后提醒一句:Audacity正在对信号进行一些处理,以便呈现时间精度图。我怀疑它显示的是x轴上每个点的最大振幅

谢谢你的回答。我的大部分问题现在都得到了回答。但我无法将mp3直接渲染到wav并在途中对其进行下采样,因为它不是由java提供的:(我只能实现
WAV、AIFF或AU
转换。下采样通常会影响质量,这就是关键:为了增加数据大小,您会提供一点质量。这是直接从定义中得出的。您应该先阅读我的问题。我想我已经阅读了您的问题,它与标题无关,我只是回答了。)标题。对于你的问题:这确实是不想要的效果。听起来似乎更好,但事实并非如此。这解释了为什么:我更新了标题,感谢维基百科的文章!