将声音文件转换为特定比特率的 wav 并剪切文件的特定部分
我有一些声音文件(基本上是 mp3,但它可以是任何比特率)。我需要方法将输入文件的指定部分(不超过 40 秒)提取到 8 位单声道 wav 输出中。 我将不胜感激任何关于选择 java 库来做到这一点的帮助或建议。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 JavaLayer 将 mp3 解码为 wav。从 wav 中剪切 40 秒的剪辑应该不成问题。
您可以在这里找到有关将立体声混合到单声道的一些提示: http://www.jsresources.org/ example/SingleChannelStereoConverter.html
将 16 位音频转换为 8 位只是删除高 8 位:将 16 位 pcm 转换为 8 位
编辑:有关提取 40 秒部分的更多信息:
解码器的输出是 pcm 样本。如果你的输入是16位立体声44100Hz,那么每帧是16位*2通道= 4字节,每秒是44100 * 4字节。根据需要跳过尽可能多的输出字节,直到所需部分开始,然后转储 44100 * 4 * 40 字节 40 秒。您甚至可以混音为单声道,然后剪切为 8 位。
You can use JavaLayer to decode mp3 into wav. Cutting a 40-second clip from a wav shouldn't be a problem.
You can find some hints about mixing stereo to mono here: http://www.jsresources.org/examples/SingleChannelStereoConverter.html
Converting 16-bit audio to 8-bit is simply removing higher 8 bits: Convert 16 bit pcm to 8 bit
EDIT: More about extracting 40-second parts:
Output of the decoder are pcm samples. if your input is 16-bit stereo 44100Hz, then each frame is 16 bit*2 channels = 4 bytes, each second is 44100 * 4 bytes. Skip as many output bytes as you need until start of the desired part, then dump 44100 * 4 * 40 bytes for 40 your seconds. You can even do mixing to mono and then cutting to 8-bit as you go.
我已经看到了很多与您询问的相反意义上的转换链接,我的意思是您通常得到的是使用 java 将 WAV 转换为 MP3 的信息,但也许您可以尝试使用 Java Media Framework API (JMF) 获得一些想法
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html。
他们宣布了对 MP3
http://www.oracle.com/technetwork/java/javase/download-137625.html
,也许您可以找到将 MP3 转换为 WAV 的替代方法。
抱歉,我无法提供具体的帮助
Emecas
I have seen a lot of links for converting in opposite sense that you are asking about, I mean what you usually get is information to convert WAV to MP3 using java, but maybe you can get some idea trying The Java Media Framework API (JMF)
http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html.
They have announced new support to MP3
http://www.oracle.com/technetwork/java/javase/download-137625.html
, maybe you can find an alternative to convert MP3 to WAV.
sorry i can't help with something concrete
Emecas