Jipes 是一个开源的 Java 类库用于高效的计算音频特效,可获取音频文件的元数据信息。
示例代码:
SignalPipeline<AudioBuffer, Float> pipeline = new SignalPipeline<AudioBuffer, Float>( new Mono(), zeroCrossingRateProcessor ); SignalPump<AudioBuffer> stereoPump = new SignalPump<AudioBuffer>(new AudioSignalSource(new File("stereo.wav"))); stereoPump.add(pipeline); Map<Object, Object> results = stereoPump.pump(); Float zeroCrossingRate = (Float)results.get(id);
问题内容: 之前,我问过有关使用FFT和Complex class获取频率wav音频的 问题, 在那里,我需要从AudioRecord输入->从麦克风计算FFT值,以某种方式设法获得FFT值… 现在,我需要从之前保存的* .wav音频文件中计算FFT值,然后将音频保存到项目中“ res”文件夹中的“ raw”文件夹中 我仍然使用相同的FFT类:http : //www.cs.princeton.e
我正在从两个不同的线程接收视频H264编码数据和音频G.711 PCM编码数据,以mux/写入多媒体容器。 writer函数签名如下所示: 提前感谢! 编辑:在我的视频流中,没有B帧。所以,我认为这里PTS和DTS可以保持不变。
我想用java为麦克风创建一个音频电平表,以检查输入的声音有多大。它应该看起来像操作系统。我不是在问gui。它只是计算由生成的ByTestStream中的音频级别 所以我已经有一些正在运行的东西,但它甚至没有接近我的操作系统(窗口)的水平计它卡在中间。我的值在0到100之间,这很好,但是在中间的音量中,无论输入多大声,它都卡在60左右。 我现在是这样计算的: 是否有更好/更精确的方法来计算音频级别
我正在尝试mux H264编码数据和G711 PCM数据到多媒体容器。我从编码数据创建,最初视频/音频帧的PTS和DTS值等效于。所以我使用当前时间信息计算了DTS。我的密码- 我添加了这样的流- 编辑: 根据Ronald S.Bultje的建议,我所理解的是: 应该设置为现在音频和视频流现在都在同一时间基本单位中。 另外,如果我想使用视频流时基作为和音频流时基作为,正确的代码应该是什么样子? 编
问题内容: 我目前正在尝试使用Android实现一些代码,以检测何时通过手机的麦克风播放了多个特定音频频率范围。我已经使用AudioRecord该类设置了该类: 然后读取音频: 执行FFT是我遇到的困难,因为我在这方面的经验很少。我一直在尝试使用此类: Java和Complex类中的FFT一起使用 然后,我发送以下值: 这很容易让我误解了此类的工作原理,但是返回的值到处都是跳跃的,即使在沉默中也不