1
4
一种方法是分析信号的频谱。我不确定是否可以确定确切的原始速率,但您可以明确区分真正的320 kbps MP3和转码的96->320 kbps。96kbps的MP3将在15kHz左右时有更高的频率。320 kbps应该在18-20 kHz或更高的频率下非零(这取决于编码器)。 |
2
2
比特率存储在 MPEG frame header . 除非用ID3之类的东西存储原始比特率,否则这不是一个简单的方法。 编辑 :更新了答案,看起来我误解了原始问题。 |
3
2
如果您通过将原始MP3转换为未压缩格式(如wav)进行转码,然后以较高的比特率重新编码为MP3,那么就不可能仅根据转换后的文件来确定原始文件的比特率。我想这个过程可能会产生一些非常微妙的音频产物,可以从统计上进行分析,但在我看来,这是一项非常艰巨的工作,不太可能成功。 我不确定是否有可能在不解码和重新编码的情况下提高MP3的速率,但即使它 是 可能的话,进程仍然不会在新文件中保留原始比特率。同样,这个过程可能会产生一些奇怪的、可测量的工件,它们可能暗示着原始比特率,但我对此表示怀疑。 更新: 现在我想到了它,也许可以通过某种方式检测到它,尽管我不知道如何通过编程实现它。人类的耳朵可以做出这样的区分(不管怎样,其中一些):我可以清楚地分辨出128K mp3和196K mp3之间的区别,所以区分96K和320K是小菜一碟。一个96K的MP3已经被升级了,它仍然拥有96K版本中的所有音频产物(不幸的是,还有新的)。 但是,我不知道如何用代码来确定这个问题。如果我必须这样做,我会训练鸽子去做(我不是开玩笑)。 |
4
1
您在光谱显示中看到的差异可能主要是由于量化误差造成的。如果在低比特率音频文件上最大化比特深度(分辨率),并在上转换(过采样)时保持该比特深度,则频谱显示应更接近匹配。编码器也可能使用一些抖动来避免量化错误导致的音频伪影。 如果位深已经以较低的比特率最大化了,那么添加的点将很明显,您将在波形中看到一些锯齿状的边缘。否则,如果有足够的位深度,您将无法确定哪些点是原始的,哪些是添加的。这尤其适用于高端上变频器,它将使用曲线投影新点,而不是简单地在现有点之间均匀绘制新点。 根据定义,采样率决定了可能的频率范围,所以这将是您确定原始比特率的最佳选择,正如igor建议的那样。 |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |