草庐IT

java - 使用 InputStream 通过网络寻找流式音频的有效方法

我正在使用jlGui播放音频文件的BasicPlayer(它基于Javasound)。该文件位于Samba共享中,我正在使用Jcifs访问它。它给了我一个InputStream。NtlmPasswordAuthenticationauth=newNtlmPasswordAuthentication(...);SmbFilef=newSmbFile(...);SmbFileInputStreamaudioIn=newSmbFileInputStream(f);intbufSize=8096;//shouldIusef.length()here?audioBIS=newBufferedIn

java - 使用 FFT 计算频率时的错误值

我得到错误的频率,我不明白为什么我得到错误的值。因为我已经按照指令计算,然后是stackoverflow。我用过FFThttp://introcs.cs.princeton.edu/java/97data/FFT.java.html和复杂的http://introcs.cs.princeton.edu/java/97data/Complex.java.htmlaudioRec.startRecording();audioRec.read(bufferByte,0,bufferSize);for(inti=0;i我正在获取21000、18976、40222、30283等值...请帮我..

java - WaveData LWJGL3

我试图根据本教程(http://wiki.lwjgl.org/index.php?title=OpenAL_Tutorial_1_-_Single_Static_Source)在LWJGL3中加载声音,但我发现一个问题,即WaveData类很可能不存在于旧版本的LWJGL2.X中。因为我什至无法编译代码。有没有其他方法可以使用openAL在lwjgl中加载声音...在LWJGL2中,我曾经使用过paulscode声音系统(http://www.paulscode.com/forum/index.php?topic=4.0),但我不确定它现在是否适用于较新版本的LWJGL3。感谢您的回答

java - 比较两个不同的音频文件不起作用

我想比较两个音频文件,例如mp3和wav。我用musicg通过指纹比较。Waverecord1=newWave(music1.toString());Waverecord2=newWave(music2.toString());FingerprintSimilaritySimilarity=record1.getFingerprintSimilarity(record2);System.out.println(Similarity.getSimilarity());musicg只能在wav上工作,所以我使用JAVE将mp3转换为wavFiletemp=newFile("temp.wav

java - 音频格式转换

我在转换WAV文件的音频格式时遇到问题。我正在用我的麦克风录音,录音格式如下:PCM_SIGNED44100.0Hz,16位,单声道,2字节/帧我想把上面的格式转换成,ULAW8000.0Hz,8位,单声道,1字节/帧我正在使用下面的代码,InputStreamis=request.getInputStream();AudioInputStreamais=AudioSystem.getAudioInputStream(is);AudioFormatoldFormat=ais.getFormat();AudioFormatnewFormat=newAudioFormat(AudioFor

Java ogg 到 wav 转换

我有以下代码片段:Filefile=newFile(sourceFile);AudioInputStreamin=AudioSystem.getAudioInputStream(file);AudioInputStreamdin=null;AudioFormatbaseFormat=in.getFormat();AudioFormatdecodedFormat=newAudioFormat(AudioFormat.Encoding.PCM_SIGNED,baseFormat.getSampleRate(),16,baseFormat.getChannels(),baseFormat.g

java - 如何使用 Java 将 wav 文件拆分成更小的 block ?

我有一个非常大的WAV文件,大约有100MB。我想用Java来读取这个wav文件,并将它分成更小的block,每2秒的音频。在Java中可以做到这一点吗?你能给我推荐一个我可以用来实现它的API吗?提前致谢,斯内哈尔 最佳答案 您可以使用AudioInputStream及其AudioFileFormat成员(其中包含一个AudioFormat实例)知道要写什么(格式,采样率),你可以使用AudioSystem写出来。根据格式的采样率,您可以找出2秒内有多少字节的音频,然后循环从AudioInputStream读取那么多字节,将它们写

java - 在Java中获取音频文件的波形

我想知道如何从音频文件中获取诸如振幅之类的音乐信息?假设我们有一个原始音频文件,我想从文件中提取数据,从而生成一条曲线,例如http://www1.icsi.berkeley.edu/Speech/mr/nearfar.html.一旦我得到这条曲线,我将进行FFT等。我一直在尝试在JavaSound中寻找解决方案,但到目前为止我只知道我可以使用AudioInputStream将数据倒入byte[]。但是我如何将byte[]转换为包含有关声音的实际信息的double[]?在这种情况下,double[]中的值表示振幅。谁能提供一个解决方案来解决Java中的这个问题?

Java - 下采样wav音频文件

您好,我需要将wav音频文件的采样率从44.1kHz降低到8kHz。我必须使用字节数组手动完成所有工作……这是出于学术目的。我目前正在使用2个类,Sink和Source,来弹出和压入字节数组。一切顺利,直到我到达需要使用线性插值对数据block进行下采样的部分。由于我正在从44100赫兹下采样到8000赫兹,我该如何插入一个包含大约128000000字节的字节数组?现在我根据i%2==0、i%2==1和i%80==0弹出5、6或7个字节,并将这5、6或7个字节的平均值推送到新文件中.结果确实是一个比原来小的音频文件,但它不能在windowsmediaplayer上播放(说是读取文件时出

java - 傻瓜式 TarsosDSP 音高分析

我正在研究一个分析声音文件音高的程序。我遇到了一个非常好的API,称为“TarsosDSP”,它提供了各种音高分析。但是我在设置它时遇到了很多麻烦。有人可以告诉我一些关于如何使用这个API(特别是PitchProcessor类)的快速指示吗?一些代码片段将不胜感激,因为我在声音分析方面真的很陌生。谢谢编辑:我在http://husk.eecs.berkeley.edu/courses/cs160-sp14/index.php/Sound_Programming找到了一些文档其中有一些示例代码展示了如何设置PitchProcessor,......intbufferReadResult=