当前位置: 首页 > 面试题库 >

如何修改Java声音文件的音高?

齐思淼
2023-03-14
问题内容

我有一个声音文件,我想修改音高。该文件存储在MP3中。我已经搜索了互联网,但是未能找到任何可以修改音高的库或算法。

任何示例和/或文献将不胜感激


问题答案:

从您的问题中并不清楚,您是否只想更改播放速度(就像转盘上的音调衰减器一样),还是要更改音高而不影响播放速度。如果是后者,则需要使用时间拉伸/音高偏移算法。参见:http : //en.wikipedia.org/wiki/Audio_time-
scale/pitch_modification

无论如何,您首先必须将MP3解码为PCM音频。该线程可能会给您一些指针:

如何从MP3获取音频数据?

至于在Java中进行音高转换,这里有更多信息:

在不改变音调的情况下减慢音频文件的播放速度?



 类似资料:
  • 我在许多论坛和YouTube教程中搜索了一些简单的代码来播放声音文件(.mp3),但我找到的所有内容都不适合我。 我总是收到异常,它找不到文件或其他错误,但它总是以异常结束。 有什么我必须先配置的吗? -编辑- 我再次尝试以下代码来显示我得到的解释: 这是我的代码 添加JFXPanel后,我得到了异常:线程“main”中的异常MEDIA Exception:MEDIA _ UNAVAILABLE

  • 问题内容: 我希望能够在程序中播放声音文件。我应该去哪里看? 问题答案: 我写了下面的代码,效果很好。但我认为它仅适用于格式。

  • 我希望能够在我的程序中播放声音文件。我应该去哪里?

  • 录制完一个呼出的电话后,我试图播放录制的文件——以确保通话录音按预期工作(我使用“媒体播放器”进行),但没有声音。所以我试图访问手机上的实际文件(只需将手机连接到电脑上并访问它的文件)。当我播放录音时,它的长度是正确的,但同样没有声音。 我错过了什么? 这是我记录电话的方式: 这是结束通话记录的代码: 这是我播放音频文件的方式:

  • 想获取 mp3 或者 wav 文件的音调信息, 那个可以量化的音调 输入一段音频 输出量化的音调, 跟随着时间, 1 秒一个, 3,3,9,2,10,13.....

  • 问题内容: 如何使用Java获取声音文件的总时间? -更新 看起来这段代码确实起作用了:long audioFileLength = audioFile.length(); 我知道如何获取文件长度,但是我没有找到如何获取声音文件的帧频和帧大小…任何想法或链接吗? -更新 另一个工作代码(使用@mdma的提示): 问题答案: 给一个File你可以写